Invocations should involve a check on the variable type (e.g. you cannot pass a stigmergy variable to a process that requires an attribute).
This could be done simply by rewriting, but it would be better to implement actual data structures for parameters/parametric processes. This could also help in reducing the overall size of the encoding.
Right now, the possibility of reusing process definitions is quite limited. A minimal working example follows:
The behavior of
Foo
is clearly identical to that ofBar
, except that it involves a different attribute.Proposal
Introduce a new syntax for process definitions with formal parameters. Example:
Notes
Invocations should involve a check on the variable type (e.g. you cannot pass a stigmergy variable to a process that requires an attribute).
This could be done simply by rewriting, but it would be better to implement actual data structures for parameters/parametric processes. This could also help in reducing the overall size of the encoding.