Development is the process of replacing a mode indication by its actual declarer. For example, given the following mode declaration:
mode tree_node = struct (int payload, ref tree_node left, right);
In the example below, which denotes a variable declaration, the
occurrence of the mode indication tree_node
is developed
into the full structure mode definition:
tree_node top = (0, nil);
Which is then equivalent to:
struct (int payload, ref tree_node left, right) top = (0, nil);
The term “development” is not to be confused with “elaboration”. The first applies to modes, the second to phrases and clauses. The first happens at compile-time, the second at run-time. It doesn’t make sense to elaborate a mode, nor to develop a formula for example.