Niklas,
What you really want or mean when you use
the classic syntax with existential quantification is
data Foo = Foo (exists a . (Show a) => a)
Having that would make a lot more sense, and would fit well together
with the intuition of the classic syntax.
How would you then define
data Foo :: * where
Foo :: forall a. a -> a -> Foo
in which the scope of existentially quantified type variable spans
more than one field?
Cheers,
Stefan
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime