This module implements a transformation on FlatCurry programs
which adds Typed
expressions to variables/function/constructor calls.
Author: Michael Hanus
Version: March 2024
Constructors:
TransInfo
:: AddTypeOpts -> [(String,ModInfo)] -> String -> Int -> [(Int,TypeExpr)] -> TSubst -> TransInfo
Fields:
tiOpts
:: AddTypeOpts
modInfos
:: [(String,ModInfo)]
currExp
:: String
freshTVar
:: Int
varTypes
:: [(Int,TypeExpr)]
currSubst
:: TSubst
Constructors:
AddTypeOpts
:: Bool -> Bool -> Bool -> Bool -> AddTypeOpts
Fields:
optAddVarType
:: Bool
optAddLitType
:: Bool
optAddCombType
:: Bool
optAddPolyType
:: Bool
Type synonym: TransState a = State TransInfo a
Type synonym: TSubst = [(Int,TypeExpr)]
|
|
|
|
|
|
|
|
|
|
|
|
|
Splits a possibly functional type into types of arguments and result w.r.t. a given arity. |
|
|
|
|
|
|
|
|