Thu May 14 09:13:51 CEST 2009
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