Wed Apr 16 09:54:05 EDT 2008


the reset/shift approach has the semantics of breakpoints. let's just
call it that, and make the abstraction complete.

the players:
  * (make-breakpoint tag mix [more #t])
  * (with-breakpoint tag fn state0 value0) -> state,value
  * (mix state value) -> state,value

this seems to work well. my only worry is composition: what happens if
there is more than one tag involved? the way to look at this might be
from the outside: a tagged shift only makes sense if it's captured by
a tagged reset, so combinations of tags would be properly dynamicly
nested. in that case, i see no problem.