As far as I know, a decidable type checking algorithm exists (only) for rank-2 types. Does GHC use somehow this fact, and does it have any practical implications?
Is there also a notion of principal types for rank-2 types, and a type inference algorithm? If yes, does GHC use it?
Are there any other advantages of rank-2 types over rank-n types?
In principle type checking is decidable for rank 2 types. But, that was never going to be included in GHC (overly complicated, doesn't mix well with other features of the type system). So no. Rank2Types is deprecated (okay, it doesn't give you a warning, but it is) so use RankNTypes.
Rank2Types
is a synonym for RankNTypes
. So right now there are no advantages of rank-2 over rank-n.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With