[Haskell-cafe] arbitrary rank polymorphism and ghc language pragmas
rickmurphy
rick at rickmurphy.org
Thu Jul 5 17:18:00 CEST 2012
Hi All:
I've been working through some details in these papers [1], [2] 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.
--
Rick
More information about the Haskell-Cafe
mailing list