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.