Sat Apr 12 14:00:25 EDT 2008

reset / shift

trying to do this:

  (abcZdef)  -> (ABCZDEF)

need to do this dynamically, without changing the small caps.. wrt to
state, the diagram should illustrate it:


so i try to use 'shift' to collect the remaining computation, and turn
it into a lifted function.

what i want is this:

(lambda (_) (f (e (d (Z (c (b (a _)))))))) ->

(lambda (_)
 (cons  (cons (lambda (x) (f (e (d x)))) z)
        (c (b (a _)))))

the problem is really termination (the 'null' of the list if you want)

ok.. i get something, but not what i expect..
time to go to a simpler version.

hmm.. very confusing stuff: i understand what happens if there's one
shift, but every next one gives results i don't understand. probably
best to try to write out some examples using the reduction rules.