I highly recommend writing all existentials using GADT syntax. It is *far* more intuitive.
David
Hi folks,I know how to write existentially quantified data constructors for single-parameter type classes, but I'm having trouble doing it for multi-parameter type classes. Is it not possible, or am I just using the wrong syntax?I have this class:class Collidable a b wherecollideWith :: a -> b -> StringAnd I tried to define an existentially quantified data constructor thusly:data Collision = forall a. (forall b. Collidable a b => Collision {collider1 :: a, collider2 :: b})I get a parse error. So then I tried:data Collision = forall a. forall b. Collidable a b => Collision {collider1 :: a, collider2 :: b}I get a different parse error. Is there any way to make this work?Thanks,Lyle
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe