Tue Oct 7 10:13:43 CEST 2008

macros at the console

- type system: allow compile-time annotations that know this
- lazy stack read
- full stack transfer

The latter seems best really, since it is also useful for debugging.
Maybe best implemented as an extra opcode?  Dump stack..  This
requires the monitor to know its data stack location.

OK: full stack transfer works: target provides just stack size, host
performs moves + copy.

NEXT: remove '+' from simulated words, but try to add it as a
simulated macro.

OK. got it to work.. it is a bit slow though, due to moving of all data.

Removed other simulation mechanism.

Possible optimization: perform multiple macros in sequence, instead of
moving data up and down.

Fixme: add real interpretation of QW, CW and JW.  This does require
some optimizations to be disabled.  However, the comp/ postproc seems
to be not used anyway.  FIXME: make this all a bit more explicit.

There's another problem: with interactive usage, not all identifiers
are available at compile time.  This is not problematic, except for
prefix words: those need to be available at the place where 'target:'
is evaluated.

Actually, it is problematic.. Currently invokation of commands doesnt
work any more..

  * replace the current simulation with an explicit QW/CW interpreter
  * clearly define the semantics of macro-eval

first one ok: see 'interpret-cw/qw in live/tethered.ss
the other one i need to check properly..