From: Allison Randal <[EMAIL PROTECTED]>
   Date: Sun, 20 Jul 2008 23:27:44 -0700

   . . . That patch demonstrates the exact behaviour that is no 
   longer supported under the new spec and implementation. Tell me more 
   about how you're using the old pushaction, and I'll suggest alternatives 
   for implementing that functionality.

   Allison

I am using pushaction to implement UNWIND-PROTECT [1] and dynamic
(a.k.a. "special") variable binding [2].  These features are both
illustrated by the "Actions" page of my YAPC talk [3].  The diagrams on
this page show how the current implementation works in gory detail.  I
mention this example because it is a reasonable approximation to a
real-world case that illustrates why one would want continuations to
invoke actions transparently.  (Indeed, this is why I made the feature
work the way it does in r14668.  ;-)

   In fact, you can check out the whole talk from the Subversion
repository [4] and run "make test" (after appropriate makefile editing).
The test-action case does indeed fail in pdd25cx; I tried it before and
thought it was working, but I must have tested it wrong.

   Just to be painfully clear, these are critical Common Lisp features,
without which Kea-CL is not worth pursuing.

                                        -- Bob

[1]  http://www.lispworks.com/documentation/HyperSpec/Body/s_unwind.htm

[2]  http://www.lispworks.com/documentation/HyperSpec/Body/d_specia.htm

[3]  http://rgrjr.dyndns.org/perl/acsip/actions.html

[4]  https://rgrjr.dyndns.org/svn/web-site/trunk/perl/acsip/

Reply via email to