[Haskell-cafe] arbitrary rank polymorphism and ghc language pragmas
rick at rickmurphy.org
Thu Jul 5 17:18:00 CEST 2012
I've been working through some details in these papers ,  and
noticed a language pragma configuration that I hope you can confirm.
When using explicit foralls in a data constructor, it appears that GHC
7.4.2 requires Rank2Types in the Language pragma for what the papers
consider rank 1 types.
Here's an example:
data T = TC (forall a b. a -> b -> a)
Am I correct, or is there another extension? The ExplicitForAll does not
appear to support rank 1 types in data constructors.
1. Practical Type Inference for Arbitrary-Rank Types.
2. A Direct Algorithm for Type Inference in the Rank 2 Fragment of the
Second-Order Lambda Calculus.
More information about the Haskell-Cafe