Ok, I get it now, thanks Larry.

I do still think that you can do what I suggest, but I realize that it's
not as easy as handing around a single pad, you would actually need to
maintain either a list of pads (outside of the built-in pad stack,
probably inside of C<$0>) or a list of C<$0>s, each with their own pad.
If you do that, there's something really NIFTY that falls out of it:
premature (possibly temporary) exit from a rule results in the
restoration of all hypotheticals to their pre-rule state (because the
pads in which they live are no longer active (and possibly gone)).

Should you resume such a rule (e.g. because you had gone off to handle a
signal or exception), the hypotheticals all pick up their states again
and proceed. This kind of atomic hypothetical-updating / reversion could
be very valuable (and fast!), since exposing the state of hypotheticals
at the moment of a signal or exception doesn't really make a lot of
sense, and could cause some programs to fail in surprising ways.

Thanks for entertaining this brain-detour of mine. I return you to your
regularly scheduled language design without further ado.

> Sorry to inhabit your 1% unsureness, but that's precisely where I am.

Never doubted it ;-)

-- 
â 781-324-3772
â [EMAIL PROTECTED]
â http://www.ajs.com/~ajs

Reply via email to