Example: Type Reconstruction

The support code generated for this example is based on the following signature:

VarExpr: String → Expr
AbsExpr: String × Expr → Expr
AppExpr: Expr × Expr → Expr
NumExpr: Int → Expr
SuccExpr: Expr → Expr
PredExpr: Expr → Expr
IsZeroExpr: Expr → Expr
BoolExpr: Boolean → Expr
IfExpr: Expr × Expr × Expr → Expr

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