Type substitutions on type-annotated AnnotatedFlatCurry
Author: Bjoern Peemoeller
Version: September 2014
showAFCSubst
:: FM Int TypeExpr -> String
|
emptyAFCSubst
:: FM Int TypeExpr
The empty substitution |
lookupAFCSubst
:: FM Int TypeExpr -> Int -> Maybe TypeExpr
Searches the substitution for a mapping from the given variable index to a term. |
substFunc
:: FM Int TypeExpr -> AFuncDecl TypeExpr -> AFuncDecl TypeExpr
Applies a substitution to a function. |
substRule
:: FM Int TypeExpr -> ARule TypeExpr -> ARule TypeExpr
Applies a substitution to a type expression. |
substExpr
:: FM Int TypeExpr -> AExpr TypeExpr -> AExpr TypeExpr
Applies a substitution to a type expression. |
substSnd
:: FM Int TypeExpr -> (a,TypeExpr) -> (a,TypeExpr)
|
substBranch
:: FM Int TypeExpr -> ABranchExpr TypeExpr -> ABranchExpr TypeExpr
Applies a substitution to a branch expression. |
substPattern
:: FM Int TypeExpr -> APattern TypeExpr -> APattern TypeExpr
Applies a substitution to a pattern. |
subst
:: FM Int TypeExpr -> TypeExpr -> TypeExpr
Looks up a type in a substitution and converts the resulting Term to a TypeExpr. |
The (abstract) data type for substitutions on TypeExpr.
Type synonym: AFCSubst = FM TVarIndex TypeExpr
|
The empty substitution |
Searches the substitution for a mapping from the given variable index to a term.
|
Applies a substitution to a function.
|
Applies a substitution to a type expression.
|
Applies a substitution to a type expression.
|
Applies a substitution to a branch expression.
|
Applies a substitution to a pattern.
|
Looks up a type in a substitution and converts the resulting Term to a TypeExpr. Returns a given default value if the lookup fails.
|