On 2012-05-15 10:49:20 -0400, Matthias Felleisen wrote:
>        (parameterize ([p 1])
>          (λ (zzz) ;; <=================   INCLUDING THE parameterize r while 
> not including parameterize p is an arbitrary choice

I only included `r` because it is the only parameterization in the
source code up to the delimiter, which is relevant for Kiselyov et al's
argument. Otherwise it's arbitrary.

>            (reset ;; <--- you accidentally left this one off, though that has 
> no consequences

Whoops. This explains my confusion WRT unstable/mark-param.

> The explanation for Racket resolves a different issue in a way that
> Oleg didn't foresee, namely, it interprets parameterize in
> continuation-global way. From an implementation perspective as well as
> a threaded perspective, this may make even more sense than Oleg and
> Co's semantics because you may wish to migrate continuations from one
> thread to another (or VM to another) and you may just expect to find
> all parameters there.

That's interesting because it's the same argument they made for the
non-global choice. A specific example was that if you had a `hostname`
parameter, you would expect your migrated thread to adopt the new host's
hostname if no local (i.e., within the delimiter) parameterization
existed. Since Racket can support either option, I suppose it's not an
issue though.

Cheers,
Asumu
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to