haskell ghc type-inference higher-rank-types

haskell - ¿Hay alguna ventaja de usar Rank2Types a favor de RankNTypes?



ghc type-inference (2)

En principio, la verificación de tipo es decidible para los tipos de rango 2. Pero eso nunca se incluyó en GHC (demasiado complicado, no se combina bien con otras características del sistema de tipos). Entonces no Rank2Types está en desuso (está bien, no te da una advertencia, pero lo es) así que usa RankNTypes.

Hasta donde yo sé, existe un algoritmo de verificación de tipo decidible (solo) para los tipos de rango 2. ¿GHC usa de alguna manera este hecho, y tiene alguna implicación práctica?

¿Existe también una noción de tipos principales para los tipos de rango 2 y un algoritmo de inferencia de tipo? Si es así, ¿GHC lo usa?

¿Hay otras ventajas de los tipos de rango 2 sobre los tipos de rango?


Rank2Types es un sinónimo de RankNTypes . Entonces, en este momento no hay ventajas de rango 2 sobre rango-n.