Safe Haskell | None |
---|
This module implements the kind checker
- kindOf :: ModuleName -> Type -> Check Kind
- kindsOf :: ModuleName -> ProperName -> [String] -> [Type] -> Check Kind
- kindsOfAll :: ModuleName -> [(ProperName, [String], Type)] -> [(ProperName, [String], [Type])] -> Check ([Kind], [Kind])
Documentation
kindsOf :: ModuleName -> ProperName -> [String] -> [Type] -> Check KindSource
Infer the kind of a type constructor with a collection of arguments and a collection of associated data constructors
kindsOfAll :: ModuleName -> [(ProperName, [String], Type)] -> [(ProperName, [String], [Type])] -> Check ([Kind], [Kind])Source
Simultaneously infer the kinds of several mutually recursive type constructors