Wed Jun 11 20:38:24 CEST 2008


so, maybe just hack it. whenever a name is a number, it's a permanent
org change. the obvious requirement is that it's an expression that
can be evaluated at compile time.

this is already used: if target name is a number, the current chain
will be assembled inside a code pointer push/pop.

in macro/instantiate.ss the function 'combine-if-org' is used to
combine multiple chains if the current store has an org specified, to
make sure it stays bundled.

so, what needs to be done is a simple marker in the assembly code that
sets the code pointer. that's all really.. why is this so difficult?
because it's a dirty operation, and there's no clean way to do it. it
probably needs some management at some point, i.e. to disallow it for
certain code contexts..

to summarize:

       * compiler uses state push/pop to control stack
       * on org change: all chains are combined
       * assambler recognizes org chains

       * some 'magic packet' in the chain stream.

permanent org needs to terminate the current chain, but doesn't need
to link up chains.

let's just make names (org <number>) and (org! <number>)