Module Canonical.CreateSource
Create.create defs exp constructs a canonical-shape. The defs give context for sub-expressions of the form: apply n exps; n being a reference to the n'th definition in defs.
Definition are required for records and variants, but may also occurs for any cyclic expression: in this case being constructed using define.
Within a definition body, var i refers to the i'th formal type-var, and corresponds to the i'the argument of an application args.
Source
val basetype :
Bin_shape.Uuid.t ->
Bin_shape.Canonical.Exp.t list ->
Bin_shape.Canonical.Exp.tSource
val poly_variant :
Bin_shape.Location.t ->
(string * Bin_shape.Canonical.Exp.t option) list ->
Bin_shape.Canonical.Exp.tSource
val apply :
Bin_shape.Canonical.Def.t ->
Bin_shape.Canonical.Exp.t list ->
Bin_shape.Canonical.Exp.t