[plt-scheme] inheriting dynamic extent
On Apr 4, 2005, at 12:44 PM, Joe Marshall wrote:
>
>> On Apr 1, 2005, at 9:17 PM, Doug Orleans wrote:
>>> Is there some way to allow procedures to "inherit" dynamic extent?
>
>
> Matthias Felleisen <matthias at ccs.neu.edu> writes:
>
>> I believe you want to "close" your value with the current state:
>>
>> {(let ((x 1))
>> (fluid-let ((x 2))
>> (close (lambda () x)))}
>>
>> In my mind, (close e) = (let ((a a) ...) e) for all a in fv(e)
>
>
> You have rediscovered dynamic closures (as previous seen on the Lisp
> machine).
No it's not. It's a closure -- Matthias
>
>> Would this give you what you really want? -- Matthias
>
> That's a different question. In certain contexts, dynamic closures
> are the tool you want.
>