
12 Nov
2009
12 Nov
'09
2:48 p.m.
On Thu, Nov 12, 2009 at 2:50 AM, Eugene Kirpichov
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