On Sun, Nov 15, 2009 at 01:14:34AM +0000, Lennart Augustsson wrote: > Of the two declarations > > data Fizzle a = Fizzle (b -> (a, b)) a > > data Fizzle a = forall b. Fizzle (b -> (a, b)) a > only the second one is allowed (with some suitable extension). > > Personally I think the first one should be allowed as well, with the > same meaning as the second one. > Some people thought it was to error prone not to have any indication > when an existential type is introduced, > so instead we are now stuck with a somewhat confusing keyword.
I think you are able to say data Fizzle a where Fizzle :: (b -> (a,b)) -> a -> Fizzle a Cheers, -- Felipe. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe