
There is!
data Collision = forall a b. Collidable a b => Collision {collider1 ::
a, collider2 :: b}
On Thu, Mar 19, 2015 at 10:11 PM, Lyle Kopnicky
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 where collideWith :: a -> b -> String
And 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