Example: Simply Typed Lambda Calculus
The support code generated for this example is based on the following signature:
Const: Int → Expr
Add: Expr × Expr → Expr
Id: String → Expr
Lambda: String × Type × Expr → Expr
Call: Expr × Expr → Expr
IntT: Type
ArrowT: Type × Type → Type
The following table illustrates the mapping between names used in the paper and names in the source files of this example:
Paper | This Example |
---|---|
mix |
Compose |
ExprAssemble |
Expr.AttributeGrammar |
ExprCompose |
Expr.Signature.DepProduct |
PreExprSig |
Expr.Signature |
ExprSig |
Expr.Syn.Complete |
InhSig |
Expr.Inh.Complete |
CtxExprSig |
Expr.Syn |
CtxInhSig |
Expr.Inh |