I'm sorry if this is a FAQ, but I'm curious to know why Haskell (or at least, GHC and 
Hugs)
doesn't seem able to use contexts on variables at the front of data declarations.  For 
example the following
   data Eq x => Foo x = Foo x

   equal :: Foo x -> Foo x -> Bool
   equal (Foo x1) (Foo x2) = (x1==x2)
provokes an error when I try to compile it with both GHC and Hugs.

So if there is a reason, what is it?  If not, is it on the list of things to fix?

I can't say that it's a major inconvenience, it just means that when I use a
type like Foo I have to put totally pointless extra context declarations in.

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to