Sat Feb 3 15:54:08 GMT 2007
the next step is rewrite macros. this should be done in two steps. in
order to make a single 'intelligent' macro, different patterns need to
be combined into one fucntion, and one function needs to have
information about different patterns. a sort of 'transpose'.
- make a list of rewrite patterns
- compile it into code
rewrite macros are easier understood as operating on output forth
i don't know. ok.. time to be stupid then. state the previous
solution, then abstract it.
previous solution was explicit
(dup drop) -> ()
drop is a function that discards anything that comes before it and
produces a value (without other side effects: it's important to write
macros so that the last operation is a mutation)
so drop needs to be intelligent.
ok. it's easy enough to implement this in exactly the same way as in
CAT/BADNOP. however, there should be a more highlevel construct that
eliminates the explicit if-then things.