Special operators supported in continuations

3 views
Skip to first unread message

Nico de Jager

unread,
Aug 30, 2009, 12:44:56 PM8/30/09
to [Core-serveR]
Hi!

What Common Lisp special operators are not supported by Core Server's
implementation of continuation passing style?

The (outdated?) documentation of Arnesi states that the following
special operators are not (currently) implemented: load-time-value,
locally, multiple-value-call and multiple-value-prog1. The special
operators the and unwind-protect are allowed _only_ if their bodies do
not attempt to use call/cc. The following special operators are not
allowed and are not implementable (not without the same restrictions
we place on the and unwind-protect at least): catch, throw, eval-when,
progv.(http://common-lisp.net/project/bese/docs/arnesi/html/
Automatically_Converting_a_Subset_of_Common_Lisp_to_CPS.html)

Does the above statement also hold for Core Server's version of Arnesi
or has it been extended?

Regards.
Nico

evri...@core.gen.tr

unread,
Aug 31, 2009, 3:55:16 AM8/31/09
to core-...@googlegroups.com
On Sun, 30 Aug 2009 09:44:56 -0700 (PDT), Nico de Jager
<nic...@gmail.com>
wrote:

Hi Nico,

Right, they suffer similar kinds of problems, maybe (outdated?) after
checking the documentation you've pointed. I remember another approach
here: http://labs.core.gen.tr/repos/core-server/src/lisp/cps.lisp, yet
still in development. Our main focus was
http://labs.core.gen.tr/repos/core-server/src/javascript/cps.lisp. I hope
we can employ more powerful control flow now.

What dou you think?

Evrim.


Reply all
Reply to author
Forward
0 new messages