Type substitutions on type-annotated AnnotatedFlatCurry
Author: Bjoern Peemoeller
Version: September 2014
| showAFCSubst
                  ::  FM Int TypeExpr -> String | 
| emptyAFCSubst
                  ::  FM Int TypeExprThe empty substitution | 
| lookupAFCSubst
                  ::  FM Int TypeExpr -> Int -> Maybe TypeExprSearches the substitution for a mapping from the given variable index to a term. | 
| substFunc
                  ::  FM Int TypeExpr -> AFuncDecl TypeExpr -> AFuncDecl TypeExprApplies a substitution to a function. | 
| substRule
                  ::  FM Int TypeExpr -> ARule TypeExpr -> ARule TypeExprApplies a substitution to a type expression. | 
| substExpr
                  ::  FM Int TypeExpr -> AExpr TypeExpr -> AExpr TypeExprApplies a substitution to a type expression. | 
| substSnd
                  ::  FM Int TypeExpr -> (a,TypeExpr) -> (a,TypeExpr) | 
| substBranch
                  ::  FM Int TypeExpr -> ABranchExpr TypeExpr -> ABranchExpr TypeExprApplies a substitution to a branch expression. | 
| substPattern
                  ::  FM Int TypeExpr -> APattern TypeExpr -> APattern TypeExprApplies a substitution to a pattern. | 
| subst
                  ::  FM Int TypeExpr -> TypeExpr -> TypeExprLooks 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. 
 
 
 |