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

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

Base.TypeSubst

Description

This module implements substitutions on types.

Synopsis

Documentation

class ExpandAliasType a where Source #

Methods

expandAliasType :: [Type] -> a -> a Source #

Instances
ExpandAliasType PredType Source # 
Instance details

Defined in Base.TypeSubst

ExpandAliasType Pred Source # 
Instance details

Defined in Base.TypeSubst

Methods

expandAliasType :: [Type] -> Pred -> Pred Source #

ExpandAliasType Type Source # 
Instance details

Defined in Base.TypeSubst

Methods

expandAliasType :: [Type] -> Type -> Type Source #

ExpandAliasType a => ExpandAliasType [a] Source # 
Instance details

Defined in Base.TypeSubst

Methods

expandAliasType :: [Type] -> [a] -> [a] Source #

(Ord a, ExpandAliasType a) => ExpandAliasType (Set a) Source # 
Instance details

Defined in Base.TypeSubst

Methods

expandAliasType :: [Type] -> Set a -> Set a Source #

class SubstType a where Source #

Methods

subst :: TypeSubst -> a -> a Source #

Instances
SubstType TypeScheme Source # 
Instance details

Defined in Base.TypeSubst

SubstType PredType Source # 
Instance details

Defined in Base.TypeSubst

SubstType Pred Source # 
Instance details

Defined in Base.TypeSubst

Methods

subst :: TypeSubst -> Pred -> Pred Source #

SubstType Type Source # 
Instance details

Defined in Base.TypeSubst

Methods

subst :: TypeSubst -> Type -> Type Source #

SubstType ValueInfo Source # 
Instance details

Defined in Base.TypeSubst

SubstType a => SubstType [a] Source # 
Instance details

Defined in Base.TypeSubst

Methods

subst :: TypeSubst -> [a] -> [a] Source #

(Ord a, SubstType a) => SubstType (Set a) Source # 
Instance details

Defined in Base.TypeSubst

Methods

subst :: TypeSubst -> Set a -> Set a Source #

SubstType a => SubstType (TopEnv a) Source # 
Instance details

Defined in Base.TypeSubst

Methods

subst :: TypeSubst -> TopEnv a -> TopEnv a Source #

idSubst :: Subst a b Source #

Identity substitution

singleSubst :: Ord v => v -> e -> Subst v e Source #

Create a substitution for a single replacement

bindSubst :: Ord v => v -> e -> Subst v e -> Subst v e Source #

Extend a substitution with a single replacement

compose :: Ord v => Subst v e -> Subst v e -> Subst v e Source #

Compose two substitutions