On Thu, Nov 12, 2009 at 2:50 AM, Eugene Kirpichov <ekirpic...@gmail.com> wrote: > But that's not an issue of semantics of forall, just of which part of > the rather broad and universal semantics is captured by which language > extensions.
The forall for existential type quantification is wierd. > data Top = forall a. Any a -- existential > data Bottom = All (forall a. a) -- rank 2 I think it makes much more sense in GADT syntax: > data Top where > Any :: forall a. a -> Top > data Bottom where > All :: (forall a. a) -> Bottom where it's clear the forall is scoping the type of the constructor. -- ryan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe