On Thu, Jul 31, 2008 at 05:25:53AM -0500, John M. Dlugosz wrote:
> In S04, "Note that temporizations that are undone upon scope exit must be 
> prepared to be redone if a continuation within that scope is taken."
> What will create a continuation there and how do you take it?
> That is, how will this ever happen?

At this point I'm not sure that "temp" variables are even going to make
it into the final design.  Context vars are much more well-behaved with
respect to continuations and multithreading since they're always rooted
in some lexical scope that is ancestral in your dynamic scope, and hence
automatically managed by closure/continuation mechanisms.  Alternately,
"temp" may end up being a syntax for cloning an outer context var.  Not
sure how "let" would work in that scenario, unless a KEEP copies the
final value outward.  I guess that'd work.

As for temporizing the results of code execution, that probably will
have to wait on a coherent transactional memory model, which may or may
not be deferred till after 6.0.0, but my bets are on "may" at this
point.  :)


Reply via email to