On Feb 21, 2007, at 5:30 AM, Michael Sperber wrote:


Abdulaziz Ghuloum <[EMAIL PROTECTED]> writes:

[Lots of explanation]

Basically, in your model, you lose side effects when you exit the
dynamic context, while in Kent's model, side effects to parameters
are remembered and restored properly.

So the swapping compensates for the effect of side effects, and gets a
notion similar to "call/cc captures the contents of the storage
associated with the parameters."  Except it seems to break down in the
presence of threads, as Kent explained here:

http://lists.r6rs.org/pipermail/r6rs-discuss/2007-February/001536.html

I don't see how Kent "explained" that the model breaks down.  All I can
get is Kent making a distinction between  1. manipulating a value stored
in a parameter (using parameterize or by direct procedure application)
and   2. mutating the location where a parameter object (a procedure) is
stored (using set!).

Since a parameter in Chez is a first-class object, parameterize captures
the value of the object, not the location where the parameter is stored.
This is in contrast with fluid-let, which captures the location of the
dynamic variable and mutates it using set!.

Aziz,,,

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to