Tue Mar 18 12:17:33 EDT 2008

sidestepping the problem

what if i sidestep the whole issue, and define base to have a void
state? that way, the skeleton can be kept, but arbitrary data can be
threaded through code. all control code just passes on the state,
without being able to modify it.

how is this really different from an 'environment' value to be passed

if you look at how 'invisible state data' is used, it is quite related
to lexical variables. for example in (lambda (x) <exp>), the 'x' might
be used very deep inside <exp>, so for all the nesting inbetween, this
'x' is not used. the equivalent of a deeply nested expression in an
rpn language is a long composition.

let's give it a try..

seems to be the right thing to do. next problem = to abstract control.