rank-2 vs. arbitrary rank types
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