Sun May 18 19:57:01 CEST 2008
ok.. org-push and org-pop now work: they will compile a single chain
of words.. however it's not what it should be!
* it's still impossible to SET org permanently.
* multiple chains wil 'org-pop' by themselves..
why is this so difficult to get right? probably because i'm trying to
keep the effect local, while org is really a global effect on the state
of the assembler.
so... can org-pop somehow garantee there's only a single chunk
we'll get there eventually.. just need to find the right abstraction.
another problem: compiling a jump table will look like a bunch of
unreachable code.. (a jump table is a bit of a hack)
the jump table is easily solved by using a different word to separate
entries, which could enable some extra checking..
so, to look at this from the bright side: requiring a restricted
bondage-style structure for the compiler exposes a lot of corner cases
that exploit side-effects of low-level constructs. such side effects
need to be eliminated: the core needs semantic simplicity, where
semantics is close to machine semantics for data operations, but
closer to abstract semantics for control structures.