Arbitrary-rank polymorphism with RankNTypes
Introduction#
GHC’s type system supports arbitrary-rank explicit universal quantification in types through the use of the Rank2Types
and RankNTypes
language extensions.
Syntax#
- Arbitrary rank quantification is enabled with either the
Rank2Types
orRankNTypes
language extension. - With this extension enabled, the
forall
keyword can be used to add higher-rank quantification.
RankNTypes
StackOverflow forces me to have one example. If this topic is approved, we should move this example here.