[Bese-devel] Re: LISP for web

Marco Baringer mb at bese.it
Sat Jun 11 09:44:50 UTC 2005


The following message is a courtesy copy of an article
that has been posted to comp.lang.lisp as well.

"Marco Baringer" <mb at bese.it> writes:

> "Peter Scott" <sketerpot at gmail.com> writes:
>
>> Could you give more details about this interpreter? What problems is it
>> supposed to solve, and how does it solve them? Since I've written a
>> significant real-world application with UCW and I plan to use it more
>> in the future, I'm intensely interested in any upcoming major
>> improvements to it.
>
> by controlling the execution of the code (instead of just rewriting it
> and passing it to the underlying lisp) we can:

(i really can't believe i forget to mention this)

there is one other thing which will become much easier if we take over
control of executing actions: serializing session state and, thanks to
this, ucw session mobility. atm everything in a session is easily
(fsvo easy) serializable except the anonymous closures which are
generated by the cps transformation and stored in the components. if
we stop using the lisp's functions object but create our own which
consits of: code [another set of clos objects] and the environement
[again a clos object] then sending the entire session over the wire
becomes doable.

currently if you need to run a ucw app on multiple machines your only
option is to tie a session to a particular machine and map all
subsequent requests to that machine. this kind of setup is easy to
create and works fine, but it has the major defect that if the machine
goes down it takes all of its sessions with it. i don't know what most
people think about this but the only client i have who would like to
run the site on multiple machines wants a hardware failure to be as
transparent as possible.

-- 
-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