[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>
<http://www.eyrie.org/~zednenem/>


More information about the Haskell-Cafe mailing list