Thu Dec 13 16:05:24 CET 2007
eForth / tail recursion + concatenative VM
why is not optimizing so difficult? i see factors of ten everywhere..
the vm-core.f i have is nice, but i'm still quite stuck at trying to
solve multiple problems at the same time: * interoperability between
STC and DTC: both primitives and brood. * tail recursion
it needs to be simplified a lot.. in the same way that PF needs to be
simplified to get to a proper VM architecture: it's the same problem.
i can do with primitives what i want, but all CONTROL FLOW needs to be
based on 2 simple instructions: _run and _?run - the duals _execute
and _?execute are only for primitives.
so what's the definition of _run, such that it can be turned into a
conditional run is not the same as conditional branch.. this
points to an inconsistency: things that JUMP are incompatible with
the exit bit.
another problem is that 'immediate' won't work: no compile time
execution: a simplified forth. can i have a macro mode? before i can
implement these i really need to take a look at putting back
incremental extension in the language, this time without implementing
it using mutation.. (it starts to look like this cutting of the
reflective wire was a really bad idea..)