purescript-0.6.9.5: PureScript Programming Language Compiler

Safe HaskellNone
LanguageHaskell98

Language.PureScript.TypeChecker.Kinds

Description

This module implements the kind checker

Synopsis

Documentation

kindOf :: ModuleName -> Type -> Check Kind Source

Infer the kind of a single type

kindOfWithScopedVars :: Type -> Check (Kind, [(String, Kind)]) Source

Infer the kind of a single type, returning the kinds of any scoped type variables

kindsOf :: Bool -> ModuleName -> ProperName -> [(String, Maybe Kind)] -> [Type] -> Check Kind Source

Infer the kind of a type constructor with a collection of arguments and a collection of associated data constructors

kindsOfAll :: ModuleName -> [(ProperName, [(String, Maybe Kind)], Type)] -> [(ProperName, [(String, Maybe Kind)], [Type])] -> Check ([Kind], [Kind]) Source

Simultaneously infer the kinds of several mutually recursive type constructors