curry-frontend-1.0.4: Compile the functional logic language Curry to several intermediate formats

Copyright(c) 2016 Finn Teegen
LicenseBSD-3-clause
Maintainerbjp@informatik.uni-kiel.de
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Base.Kinds

Description

This module modules provides the definitions for the internal representation of kinds in the compiler.

Synopsis

Documentation

data Kind Source #

Instances
Eq Kind Source # 
Instance details

Defined in Base.Kinds

Methods

(==) :: Kind -> Kind -> Bool #

(/=) :: Kind -> Kind -> Bool #

Show Kind Source # 
Instance details

Defined in Base.Kinds

Methods

showsPrec :: Int -> Kind -> ShowS #

show :: Kind -> String #

showList :: [Kind] -> ShowS #

Pretty Kind Source # 
Instance details

Defined in Base.PrettyKinds

Methods

pPrint :: Kind -> Doc #

pPrintPrec :: Int -> Kind -> Doc #

pPrintList :: [Kind] -> Doc #

SubstKind Kind Source # 
Instance details

Defined in Base.KindSubst

Methods

subst :: KindSubst -> Kind -> Kind Source #

kindArity :: Kind -> Int Source #

The function kindArity computes the arity n of a kind.

kindVars :: Kind -> [Int] Source #

The function kindVars returns a list of all kind variables occurring in a kind.

defaultKind :: Kind -> Kind Source #

The function defaultKind instantiates all kind variables occurring in a kind to *.

simpleKind :: Int -> Kind Source #

The function simpleKind returns the kind of a type constructor with arity n whose arguments all have kind *.

isSimpleKind :: Kind -> Bool Source #

The function isSimpleKind returns whether a kind is simple or not.