Saturday, February 2, 2008

Arc Is A Continuation Server

Arc bills itself as a revolutionary Lisp, but it isn't one. Responding to criticisms like this, Paul Graham posted an argument for Arc's awesomeness recently. Although that argument invokes a lot of discussion of language features, its only concrete example leverages the power of a server which can maintain closures across multiple page loads.

If you've been reading this blog for a while, that power is a familiar concept.

Arc looks like Seaside with parentheses.

And that's for a very good reason - Avi Bryant has said that Paul Graham's comments on using continuations and closures in Web apps inspired some of Seaside's design.

The cool thing about Arc is that people can now ask questions like "which continuation server's the best?"

Update: Turns out people could already ask that question. Arc is just one new possible answer. Matt S Trout and Brennan Falkner clued me in to a Perl continuation server and three Lisp ones (one Scheme, two CL). Come to think of it, Jifty also has continuations, but may or may not be a continuation server. (Jifty docs are pretty weird to figure out.)