Mon Jul 21 12:38:23 CEST 2008
Higher order macros
It seems pretty clear now that higher order macros should be built on
top of the Forth control primitives.
* Forth code is not structured on the syntactic level: all control
structures are a consequence of semantics of control macros. Now,
this is a powerful mechanism in itself, but it really is more
concrete/lowlevel than quoted code fragments: I don't see a simple
way to extract structured data from this.
* Otoh, all functionality to implement higher order macros is defined
in the Forth control language.
So, to add control structures to Coma (anything that involves
branching), it is better to build those on top of control.ss and
shield that namespace using the module system.
Because higher order Coma has loop bodies in a clean rep, it can
perform more optimizations.
- Forth Control depends on pure core Coma
- Coma Control depends on Forth Control.