|Version 1 (modified by ross@…, 9 years ago) (diff)|
Rank 2 Types
Functions may have polymorphic arguments, described by explicit type signatures, e.g.
runST :: (forall s. ST s a) -> a
A special case of RankNTypes.
- may be seen as syntactic sugar for PolymorphicComponents
- simple type inference
- enables runST and similar devices
- used in cheap deforestation
- can be awkward in comparison with RankNTypes