[Seaside] Using closures to create continuations

Matthew Sinclair-Day msd at msdservices.com
Fri Mar 25 17:08:04 CET 2005


> Java and C# 2.0 supports closures.
> Is it possible to make seaside-like framework 
> using only closures? 
> What if instead of #call: will be used #call:onAnswer:
> with a closure as second argument?
> Is there any pitfalls?

I am writing a Java framework that borrows a number of Seaside concepts,
though it is not a port of Seaside. It supports closures to manage a
call/answer sequence, and so far there have not been any pitfalls,
though there can be the ugliness of writing Java anonymous inner
classes.

There is a Java framework called "Lakeshore" which is a port of Seaside
to Java and which might provide clues on how to handle closures and
continuations. I have not used it or know much about it:

<http://lakeshore.sourceforge.net/>

As for continuations, at Apache in one of the sandbox repositories there
is some effort to hack the JVM to manage continuations at that level. It
may be interesting work, but frankly the code looks ugly and like
something I would want to avoid. Embedding Scheme into Java would be
another way to add continuations. But that's the problem with Java: the
language becomes a tool to specify API's to program the machine. Even
reflection in Java is only barely tolerable because it's bolted on as
some API instead of being expressed directly in the language.

-Matt


More information about the Seaside mailing list