uuagc-bootstrap

Safe Haskell | Safe-Infered

Code

# Documentation

data CaseAlt

Constructors

CaseAlt Lhs Expr |

type CaseAlts = [CaseAlt]

data Chunk

Constructors

Chunk String Decl Decls Decls Decls Decls Decls Decls [String] |

type Chunks = [Chunk]

data DataAlt

Constructors

DataAlt String Types |
Record String NamedTypes |

type DataAlts = [DataAlt]

data Decl

Constructors

Bind Lhs Expr |
BindLet Lhs Expr |
Comment String |
Data String [String] DataAlts Bool [String] |
Decl Lhs Expr (Set String) (Set String) |
EvalDecl String Lhs Expr |
NewType String [String] String Type |
PragmaDecl String |
Resume Bool String Lhs Expr |
TSig String Type |
Type String [String] Type |

type Decls = [Decl]

data Expr

Constructors

App String Exprs |
Case Expr CaseAlts |
Do Decls Expr |
InvokeExpr String Expr Exprs |
Lambda Exprs Expr |
Let Decls Expr |
LineExpr Expr |
PragmaExpr Bool Bool String Expr |
ResultExpr String Expr |
ResumeExpr String Expr Lhs Expr |
SemFun String Exprs Expr |
SimpleExpr String |
TextExpr [String] |
Trace String Expr |
TupleExpr Exprs |
TypedExpr Expr Type |
UnboxedTupleExpr Exprs |

type Exprs = [Expr]

data Lhs

Constructors

Fun String Exprs |
Pattern3 Pattern |
Pattern3SM Pattern |
TupleLhs [String] |
UnboxedTupleLhs [String] |
Unwrap String Lhs |

data NamedType

Constructors

Named Bool String Type |

type NamedTypes = [NamedType]

data Program

Constructors

Program Chunks Bool |

data Type

Constructors

Arr Type Type |
CtxApp [(String, [String])] Type |
List Type |
NontermType String [String] Bool |
QuantApp String Type |
SimpleType String |
TEither Type Type |
TIntMap Type |
TMap Type Type |
TMaybe Type |
TupleType Types |
TypeApp Type Types |
UnboxedTupleType Types |

Instances

Show Type |

type Types = [Type]

mkTupleExpr :: Bool -> Bool -> Exprs -> Expr

mkTupleType :: Bool -> Bool -> Types -> Type

mkTupleLhs :: Bool -> Bool -> [String] -> Lhs