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