
21 Aug
2001
21 Aug
'01
3:27 p.m.
On Tue, Aug 21, 2001 at 09:22:31AM -0700, Simon Peyton-Jones wrote:
So it's not ambiguous; but my other comment was right. In your example:
| > applyId (Exist x) = Exist (Id x)
the LHS pattern discharges the constraint (Silly a1 t), but the RHS introduces the constraint (Silly a2 t), and there's no connection between t1 and t2. Why should there be? You could give a type signature
applyId :: Exist a -> Exist a
and that would force them to be the same
Great, thank you very much! --Dylan