[Haskell-cafe] A curios monad

David Menendez dave at zednenem.com
Sat Dec 13 16:01:35 EST 2008

On Thu, Dec 11, 2008 at 1:48 PM, Andrew Coppin
<andrewcoppin at btinternet.com> wrote:
> BTW, does anybody know how rank-N types are different from existential
> types?

You mean the Haskell extensions?

ExistentialQuantification lets you define types such as,

    data SomeNum = forall a. Num a => SomeNum a

RankNTypes lets you nest foralls arbitrarily deep in type signatures,

    callCC :: ((forall b. a -> m b) -> m a) -> m a   -- this is rank-3

RankNTypes implies ExistentialQuantification (among others).

Dave Menendez <dave at zednenem.com>

More information about the Haskell-Cafe mailing list