Some operations to construct type-annotated FlatCurry programs.
Author: Michael Hanus
Version: May 2021
baseType
:: (String,String) -> TypeExpr
A base FlatCurry type. |
(~>)
:: TypeExpr -> TypeExpr -> TypeExpr
A function type. |
unitType
:: TypeExpr
Type ()
as a FlatCurry type.
|
charType
:: TypeExpr
Type Char
as a FlatCurry type.
|
boolType
:: TypeExpr
Type Bool
as a FlatCurry type.
|
listType
:: TypeExpr -> TypeExpr
Constructs a list type from an element type. |
stringType
:: TypeExpr
Type String
as a FlatCurry type.
|
tupleType
:: [TypeExpr] -> TypeExpr
Constructs a tuple type from list of component types. |
tupleCons
:: Int -> (String,String)
Generates an n -ary tuple constructor (only meaningful for n>1 ).
|
tupleExpr
:: [AExpr TypeExpr] -> AExpr TypeExpr
Constructs a tuple expression. |
string2TAFCY
:: String -> AExpr TypeExpr
|
A base FlatCurry type.
|
A function type.
|
Type
|
Type
|
Type
|
Constructs a list type from an element type.
|
Type
|
Generates an |
|