curry-frontend-1.0.1: 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 # 

Methods

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

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

Show Kind Source # 

Methods

showsPrec :: Int -> Kind -> ShowS #

show :: Kind -> String #

showList :: [Kind] -> ShowS #

SubstKind Kind Source # 

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.