Thu May 14 09:13:51 CEST 2009

only macros?

Two questions for today:

    * can QW be replaced entirely by MW?
    * how to massage a composition of macros before evaluating them.

At first sight there doesn't seem to be a problem with making all
literal values lazy macros that produce a single literal value.  The
only restriction is that these macros are not allowed to produce code
that alters the run-time parameter stack.

Maybe I should fix the implementation of the eager evaluator, since it
is easy to understand, and consider a preprocessing step that aims at
providing a reordering the composition?

Also, I'm still annoyed by this:

      [qw a] [qw b]    + -> [qw (a b +)]
      [addlw a] [qw b] + -> [addlw (a b +)]

The latter should really be

      [mw (a +)] [qw b] + -> [mw (a + b +)]

The direction to go in seems obvious: I'm not going to get anywhere
without processing of macro compositions.  This means that each macro
should carry with it a description of its I->O behaviour.

The problem is that I don't really have a substrate for thought