[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