From: gavino
Subject: Robert Morris paper on events for robust software
Date: 
Message-ID: <1190416169.239359.206100@22g2000hsm.googlegroups.com>
Is there any lisp webserver done with event style?
I noticed that lighttpd is 'event' ish and it appear to have good
performance.

http://72.14.209.104/search?q=cache:KoyduXUebzIJ:pdos.csail.mit.edu/~rtm/papers/dabek:event.pdf+event+driven+programming&hl=en&ct=clnk&cd=4&gl=us&client=opera

From: Matthew D. Swank
Subject: Re: Robert Morris paper on events for robust software
Date: 
Message-ID: <pan.2007.09.22.02.50.03.334568@gmail.com>
On Fri, 21 Sep 2007 16:09:29 -0700, gavino wrote:

> http://72.14.209.104/search?q=cache:KoyduXUebzIJ:pdos.csail.mit.edu/~rtm/papers/dabek:event.pdf+event+driven+programming&hl=en&ct=clnk&cd=4&gl=us&client=opera

I have only passing familiarity with serve-event in sbcl, but in
reading the paper the the only exceptional content (with respect to lisp)
is callback coloring for use with multiple OS threads.  Coloring
assignment doesn't seem too hard.  However, is it possible to use
serve-event in a multi-threaded context?

Matt
-- 
"You do not really understand something unless you
 can explain it to your grandmother." -- Albert Einstein.
From: Jeff
Subject: Re: Robert Morris paper on events for robust software
Date: 
Message-ID: <1190468121.334428.13670@w3g2000hsg.googlegroups.com>
newLISP can can serialize its entire state into a string or save
directly to a file, which can be connected back to the user on the
next page load using a session cookie.  You could also use one of the
growing number of servers that support continuations (in web
development, basically the same thing- preserving the stack between
page loads using sessions).

http://cocoon.apache.org/
From: Juho Snellman
Subject: Re: Robert Morris paper on events for robust software
Date: 
Message-ID: <slrnffabbf.qq5.jsnell@sbz-30.cs.Helsinki.FI>
Matthew D. Swank <··················@gmail.com> wrote:
> On Fri, 21 Sep 2007 16:09:29 -0700, gavino wrote:
>
>> http://72.14.209.104/search?q=cache:KoyduXUebzIJ:pdos.csail.mit.edu/~rtm/papers/dabek:event.pdf+event+driven+programming&hl=en&ct=clnk&cd=4&gl=us&client=opera
>
> I have only passing familiarity with serve-event in sbcl, but in
> reading the paper the the only exceptional content (with respect to lisp)
> is callback coloring for use with multiple OS threads.  Coloring
> assignment doesn't seem too hard.  However, is it possible to use
> serve-event in a multi-threaded context?

I'm not completely sure of what you mean by that. In sbcl each thread
basically runs its own serve-event loop with its own set of handler
functions. Does that answer your question?

-- 
Juho Snellman
From: Matthew D. Swank
Subject: Re: Robert Morris paper on events for robust software
Date: 
Message-ID: <pan.2007.09.22.16.27.16.93896@gmail.com>
On Sat, 22 Sep 2007 14:57:51 +0000, Juho Snellman wrote:

> Matthew D. Swank <··················@gmail.com> wrote:
>> On Fri, 21 Sep 2007 16:09:29 -0700, gavino wrote:
>>
>>> http://72.14.209.104/search?q=cache:KoyduXUebzIJ:pdos.csail.mit.edu/~rtm/papers/dabek:event.pdf+event+driven+programming&hl=en&ct=clnk&cd=4&gl=us&client=opera
>>
>> I have only passing familiarity with serve-event in sbcl, but in
>> reading the paper the the only exceptional content (with respect to lisp)
>> is callback coloring for use with multiple OS threads.  Coloring
>> assignment doesn't seem too hard.  However, is it possible to use
>> serve-event in a multi-threaded context?
> 
> I'm not completely sure of what you mean by that. In sbcl each thread
> basically runs its own serve-event loop with its own set of handler
> functions. Does that answer your question?

Sort of.  Libasync-mp  has a single queue for pending callbacks.  It then
calls them, making sure that two callbacks of the same color are not run
concurrently.  The programmer doesn't explicitly worry about 
scheduling threads.  I suppose in serve-event the same thing can happen
more explicitly with the color simply being the result of thread the
handler is created in.  

Is there any semantic difference to having thread-local call-back
scheduling to the single-queue, color coding libasync-mp does?   


Matt
-- 
"You do not really understand something unless you
 can explain it to your grandmother." -- Albert Einstein.