[plt-scheme] Continuations

From: Akhilesh Mritunjai (mritun.lists at gmail.com)
Date: Tue Nov 21 14:51:42 EST 2006

Hi Noel

I'm glad the misunderstanding has been cleared.

On 21/11/06, Noel Welsh <noelwelsh at yahoo.com> wrote:
> There are a few systems I know (SISC, Gambit-C)
> that support serialisable continuations.  I don't know how
> performant they are.  This does show that the
> implementations techniques are relatively well understood,
> though probably still fiddly to implement.

Yep, SISC infact has been on my watchlist for quite some time.
Marvellous engineering. It will be interesting to see what it leads to
in coming times. However, I do think they got it easy :-) Using Java
serialization it should be possible to persist not just a continuation
or two, but rather the whole runtime. There are teething problems with
using stack-on-heap... but now that Dr Krishnamurthy's paper is out I
can only wonder about future possibilities.

> > The world hasn't moved anywhere[1]!
> I disagree.  Two points:
>  - AJAX apps benefit from a very different model to CGI
> style apps

... or to put it more generally - interactive applications. I fail to
see how putting more logic and interactivity at the client side has
shown weakness of existing models in stronger ways.

>  - The opportunity to make a framework successful doesn't
> come around that often.  Right now is a good opportunity,
> due to AJAX

Today it's AJAX, tomorrow it will be another client side technology. I
guess you're aware of Flex & Apollo from Adobe, XAML from Microsoft
and F3 from SUN. Client end technologies will continue to evolve.
Server side is a different story.

> I think they will solve a number of the problems (but not
> bookmarkability, though you can solve this in other ways),

The problem solves itself if we assume continuations are perpetual.

That also means that may be persisted continuations need to be made
"continu-able" across runtime invocations... and that probably leads
us to a servlet model where servlets are instantiated in a fixed known
initial environment... Oh and that means no need for smart
load-balancers. Webserver farm can grow horizontally without even
needing session affinity or hacks like that.

> Finally, the main thing I see lacking in existing web
> frameworks is a component system.   Ideally we'd compose
> pages out of well tested components.  If you're interested
> in this area I suggest also reading about functional
> component-based systems, or which I know of two main
> directions: FRP (here you have Haskell implementations and
> Flapjax nee FrTime, with quite different properties, so
> look at both), and CSP (Erlang etc.)

I shall take a look at them. Thanks for the pointers

- Akhilesh

Posted on the users mailing list.