Open GoogleCodeExporter opened 9 years ago
similarly here
{{{
tryMergeLabels :: Label a -> Label b -> Maybe (Label {mergeTags a b})
tryMergeLabels a b = case labelEq a b of
Just eq -> Just a -- (Just undefined) works!!
Nothing -> Nothing
}}}
The unification cannot see inside and infer (Label a == Label b) from (a == b):
While type checking in the scope of:
(Just eq)
We need to prove:
Equal _c {mergeTags _c _d}
From the truths:
And the rules:S,Z,S,Z,
But, The equations: (_c={mergeTags _c _d}) => have no solution
This is ignoring the fact that _c == _d as witnessed by eq.
Original comment by ggr...@gmail.com
on 5 Mar 2010 at 1:05
Original issue reported on code.google.com by
ggr...@gmail.com
on 5 Mar 2010 at 12:55