rank-2 vs. arbitrary rank types

Malcolm Wallace Malcolm.Wallace at cs.york.ac.uk
Mon Feb 5 07:32:26 EST 2007

"Iavor Diatchki" <iavor.diatchki at gmail.com> wrote:

> I don't think that the rank-N system is any more expressive then the
> rank-2 one.  The reason is that by placing a polymorphic value in a
> datatype we can decrese its rank.  In this way we can reduce a program
> of any rank to just rank-2.

The same position could be used to argue against higher-order types.
All higher-order programs can be reduced to first-order programs by
firstification (encoding functional arguments as data values, which are
then interpreted).  Yet most functional programmers agree that being
able to write higher-order definitions directly is more convenient.


More information about the Haskell-prime mailing list