For Common Lisp, the web server of choice would probably be Hunchentoot[1]. If you're using it directly, that would be similar to some of the more lightweight frameworks from other languages (Sinatra, Flask etc.). If you're looking for a bigger framework, Weblocks[2] could be of interest. Haven't worked with it myself, though. It does use Parenscript[3], which is a pretty neat way of writing JavaScript without dropping down to C syntax.<p>Common Lisp has pretty good support regarding books, libraries and developer mindshare in the Lisp community (which generally is quite fractured, albeit not on a Forth level). They can be pretty harsh at times, though.<p>Personally, I'd recommend going with some simple examples. Getting to grips with the language, the environment (probably Emacs+Slime) <i>and</i> a somewhat novel web framework at once can be pretty daunting. So taking baby steps on the result level, i.e. making stuff that could've been done with CGIs, won't heap yet another helping of novelties on your plate.<p>[1]: <a href="http://weitz.de/hunchentoot/" rel="nofollow">http://weitz.de/hunchentoot/</a><p>[2]: <a href="http://common-lisp.net/project/cl-weblocks/" rel="nofollow">http://common-lisp.net/project/cl-weblocks/</a><p>[3]: <a href="http://common-lisp.net/project/parenscript/" rel="nofollow">http://common-lisp.net/project/parenscript/</a>
Well, Clojure has Compojure & Ring (like Sinatra & Rack on Ruby). Pretty well made, but without batteries, and the documentation sucks massively (I've resorted to reading the source). Also, pretty much everything is still in beta and APIs change frequently.<p>For CL, Scheme, Arc, ..., I have no idea.
I visited pg's arcforum today <a href="http://arclanguage.org/item?id=12563" rel="nofollow">http://arclanguage.org/item?id=12563</a> and got this info by "fallintothis":<p><i><a href="http://github.com/nex3/arc/blob/master/help/arc.arc" rel="nofollow">http://github.com/nex3/arc/blob/master/help/arc.arc</a> is from Anarki, a community-maintained branch of "vanilla" Arc. They wrote such a help function, but there are also other extensions and differences that are reflected in said help.<p>If you're new to Lisp, <a href="http://ycombinator.com/arc/tut.txt" rel="nofollow">http://ycombinator.com/arc/tut.txt</a> isn't a bad start. But there are countless Lisp tutorials out there.<p>As for online documentation: <a href="http://files.arcfn.com/doc/" rel="nofollow">http://files.arcfn.com/doc/</a> + <a href="http://www.arcfn.com/2009/06/whats-new-in-arc3.html" rel="nofollow">http://www.arcfn.com/2009/06/whats-new-in-arc3.html</a>; see also <a href="http://arclanguage.org/item?id=12228" rel="nofollow">http://arclanguage.org/item?id=12228</a>, wherein I technically have another suggestion for learning Arc without the web ;).</i><p>[ Haven't dug in very far yet but Arc tutorial appears to be web development oriented, and you could look at the HN source code ]
See the Racket docs for getting a simple web app set up: <a href="http://docs.racket-lang.org/more/" rel="nofollow">http://docs.racket-lang.org/more/</a>
Check out <a href="http://postabon.posterous.com/a-simple-lisp-webapp-for-beginners" rel="nofollow">http://postabon.posterous.com/a-simple-lisp-webapp-for-begin...</a>
Very interested to see what the experts have to say about this. I gave it a shot a few weeks ago, but I could barely get to hello world. As a Ruby/Python programmer, I seem to be spoiled by having <i>de facto</i> interpreters (MRI and CPython, respectively) with rich standard libraries, all of which are doused with a great quantity of Google juice.<p>I was startled to find that "C lisp"--that is, the lisp interpeter written in C, which you get when doing <i>sudo aptitude install clisp</i> on the latest Ubuntu distribution--is actually <i>not</i> the "standard" lisp interpreter. I still have no idea which is, if any.<p>Still, it seemed like a few of the web frameworks out there should have worked anyway, so I tried to soldier on for a while. Unfortunately, it was in vain: my dependency-fu simply wasn't strong enough. I also couldn't find a lisp equivalent to rack and wsgi, which is something of a non-starter imho.<p>I'm sure I am making some foolish assumptions, facilitated by the vast chasm that represents my experience with lisp and its ilk. I also have only managed to devote a few hours to it so far, so please, no one take this post as gospel--I'm just sharing what little I have found in case someone else finds it useful.
For Scheme, I find that fcgi[1] does the trick: not only is it supported by Apache, lighttpd, etc., but you get state-preservation between requests; which is touted, for instance, as one of the benefits of continuation-based servers[2].<p>I've shied away from Scheme-based servers[3] hosted behind e.g. forward-proxies, because it seems to violate Occam's razor; but that's a personal bias.<p>[1]: <a href="http://wiki.call-cc.org/eggref/4/fastcgi" rel="nofollow">http://wiki.call-cc.org/eggref/4/fastcgi</a><p>[2]: <a href="http://en.wikipedia.org/wiki/Continuation#Continuations_in_Web_development" rel="nofollow">http://en.wikipedia.org/wiki/Continuation#Continuations_in_W...</a><p>[3]: <a href="http://wiki.call-cc.org/eggref/4/spiffy" rel="nofollow">http://wiki.call-cc.org/eggref/4/spiffy</a>
If I am using SBCL, then Hunchentoot. If I am using Franz, then I would use Portable AllegroServe and WebActions, both of which are installed and ready to use.
For Common Lisp, Hunchentoot is pretty sweet.<p>You can use RESTAS framework <a href="http://restas.lisper.ru/en/" rel="nofollow">http://restas.lisper.ru/en/</a><p>Example:<p><a href="http://restas.lisper.ru/en/tutorial/hello-world.html" rel="nofollow">http://restas.lisper.ru/en/tutorial/hello-world.html</a><p>It's extremely well documented too.
I think this depends a lot on what you're looking for. I love lisp, but I wouldn't bet a startup on it. Ruby/Rails is simply too complete to use something else.<p>Bliss could come from a combination of the two, however.