[Bese-devel] new cps interprater based ucw ready
Marco Baringer
mb at bese.it
Sat Jul 23 12:07:20 UTC 2005
hi,
i've gotten to the point where the new interpter is able to run
ucw's examples and admin app. you'lle need to grab the patches to
ucw from here:
http://common-lisp.net/project/ucw/repos/ucw_new_cps_integration
and the interpreter from here:
http://common-lisp.net/project/bese/repos/arnesi_cps
i'd be very very happy if people would test this code out and make
sure it handles all the weird corner cases which come up. if you had
code which didn't work using the old cps transformer try using that
code as well, it should work now.
why should you care about this new interpreter?
1) you can now define action and defun/cc's in any order. you alse
redefine things as you please and it will do the Right Thing(TM).
2) multiple-values are supported.
3) no more exponential code growth.
4) error messages report the actual, original, source code where the
error occured.
5) as long as you don't attempt to change the values of bindings
outside of the lexical scope of the with-call/cc form the
continuations are now serializable. writing code to actually do the
serialization (and then store entire session objects in a memcache)
is on the TODO list (assuming nothing really really bad happens
with this new code).
6) this paves the way to defining a special library of cl's high order
functions which will allow things like:
(remove-if (lambda (object)
(call 'yes-or-n-p :object object))
*objects*)
happy hacking.
--
-Marco
Ring the bells that still can ring.
Forget the perfect offering.
There is a crack in everything.
That's how the light gets in.
-Leonard Cohen
More information about the bese-devel
mailing list