purescript-0.12.0: PureScript Programming Language Compiler

Safe HaskellNone
LanguageHaskell2010

Language.PureScript.TypeChecker.Kinds

Description

This module implements the kind checker

Synopsis

Documentation

kindOf :: (MonadError MultipleErrors m, MonadState CheckState m) => Type -> m Kind Source #

Infer the kind of a single type

kindOfWithScopedVars :: (MonadError MultipleErrors m, MonadState CheckState m) => Type -> m (Kind, [(Text, Kind)]) Source #

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

kindsOf :: (MonadError MultipleErrors m, MonadState CheckState m) => Bool -> ModuleName -> ProperName TypeName -> [(Text, Maybe Kind)] -> [Type] -> m Kind Source #

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

kindsOfAll :: (MonadError MultipleErrors m, MonadState CheckState m) => ModuleName -> [(ProperName TypeName, [(Text, Maybe Kind)], Type)] -> [(ProperName TypeName, [(Text, Maybe Kind)], [Type])] -> m ([Kind], [Kind]) Source #

Simultaneously infer the kinds of several mutually recursive type constructors