A Domain creates an association between expressions and a so-called generator, which is a function that maps an expression in the default domain to an equivalent expression in this Domain. It also associates an expression with a grammar, to which all expressions within this Domain must conform.
The grammar to which every expression in this Domain must conform.
A Unary Polymorphic Function that accepts expressions in the default domain and emits expressions in this Domain.
The type of the result of applying
the specified expression type. The result is required to
model Expr. The domain type
is required to be the same type as this Domain.
The result of applying