[Bese-devel] trees, threads, and places oh my!

Marco Baringer mb at bese.it
Sun May 2 09:55:04 UTC 2004


[hoping the weird subject won't ge this email ticked as spam by
anyone :)]

I'm currently working on adding seaside's "component threads" to
UCW. you can follow the action on the ucw--component-trees--0.2
branch.

The fundamental change required was to tell every component that it
lived in a particular "place" (see the PLACE class and teh new file
src/rerl/place.lisp for the gory details). Then we had to teach the
call/answer mechanism to deal with keeping the right object in the
right place. This then required passing an explicit FROM component to
call and answer (before the was implicitly the current frame's
component).

Anyway it's basically working in the above mentioned branch, but the
code is still very low level (ie you have to eplicitly specify
everything each time), i'm currently working on refactoring things and
searching for the right macros to make using this api comfortable. if
you want to wait i should merge it into ucw--dev--0.2 in the next few
days.

in the mean time over in arnesi land i've added three new macros:
defun/cc, defmethod/cc and (just for completness, it's not really
neccessary) defgeneric/cc. If you define a method or function with
these macros they will be able, always using call/cc, to capture
continutions which span function calls, this functionality is used in
the new component api, so update you'll need to update arnesi to
follow this branch.

nb: the tarballs get the latest versions of the dev branch, so this
change won't show up there until i merge things back in.

as always, comments would be appreciated.
-- 
-Marco
Ring the bells that still can ring.
Forget your 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