[closer-devel] Adding dynamic-wind to ContextL

Tobias C. Rittweiler tcr at freebits.de
Sat Dec 27 23:55:53 UTC 2008


Pascal Costanza <pc at p-cos.net> writes:

> (dynamic-wind
>    (let ((*current-context* (cons something *current-context*)))
>      (proceed
>        some code)))
>
> The code that is captured by dynamic-wind will just be executed as  
> normal, but whenever a dynamic environment is reestablished that  
> captures this dynamic-wind, the code here is re-executed up until the  
> proceed form, which is then replaced with the continuation of  
> reestablishing that dynamic environment. Proceed is like a progn,  
> except that it marks the variable part of a dynamic-wind.

I haven't fully wrapped my head around all this, but if it makes sense
to nest DYNAMIC-WIND, I think DYNAMIC-WIND + PROCEED should be lexically
tagged like BLOCK + RETURN-FROM are.

  -T.





More information about the closer-devel mailing list