Subject: Re: Lisp backend protocol
From: rpw3@rpw3.org (Rob Warnock)
Date: Mon, 03 Apr 2006 19:26:55 -0500
Newsgroups: comp.lang.lisp
Message-ID: <caCdnajVJbXSIKzZRVn-vQ@speakeasy.net>
jayessay  <nospam@foo.com> wrote:
+---------------
| Frank Buss <fb@frank-buss.de> writes:
| > Stefan Scholl wrote:
| > > Only GNU/CLISP and CMUCL have support for FastCGI.
| > 
| > I think every Lisp implementation which can open a server socket can
| > implement support for FastCGI.
| 
| Exactly.  I've used it with ACL.  I don't know if mod_lisp differs
| much from it in spirit, but it is something that is familiar
| (no barrier) to most everyone in the web arena...
+---------------

Excuse me, but the FastCGI protocol is *WAY* more complex than
the "mod_lisp" protocol, so much so that it *was* a "barrier"
to me when I was writing my first Lisp-based persistent web
application server. A large part of that complexity is the
packed-binary FastCGI "records" you have to parse and generate,
with a maximum data length of 65535 bytes per record, which
means that long requests/responses have to be broken up into
multiple records [which adds sub-request state management!].

By contrast, the plaintext, line-oriented nature of the "mod_lisp"
protocol is a "no-brainer" for anyone who has ever written a CGI
script. You can even test it by manually typing [well, probably
cut&pasting] into a socket with a "mod_lisp" server on the other
end and watching what comes out. Really.


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607