Module FlatCurry.Typed.Build

Some operations to construct type-annotated FlatCurry programs.

Author: Michael Hanus

Version: April 2019

Summary of exported operations:

baseType :: (String,String) -> TypeExpr   
A base FlatCurry type.
unitType :: TypeExpr   
charType :: TypeExpr   
boolType :: TypeExpr   
listType :: TypeExpr -> TypeExpr   
Constructs a list type from an element type.
stringType :: TypeExpr   
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.
string2TFCY :: String -> AExpr TypeExpr   

Exported operations:

baseType :: (String,String) -> TypeExpr   

A base FlatCurry type.

Further infos:
  • solution complete, i.e., able to compute all solutions

unitType :: TypeExpr   

Further infos:
  • solution complete, i.e., able to compute all solutions

charType :: TypeExpr   

Further infos:
  • solution complete, i.e., able to compute all solutions

boolType :: TypeExpr   

Further infos:
  • solution complete, i.e., able to compute all solutions

listType :: TypeExpr -> TypeExpr   

Constructs a list type from an element type.

Further infos:
  • solution complete, i.e., able to compute all solutions

stringType :: TypeExpr   

Further infos:
  • solution complete, i.e., able to compute all solutions

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.

string2TFCY :: String -> AExpr TypeExpr   

Further infos:
  • solution complete, i.e., able to compute all solutions