On Thu, Aug 14, 2008 at 7:13 PM, nubis <[EMAIL PROTECTED]> wrote: > On Thu, 2008-08-14 at 10:01 -0400, Daniel Weinreb wrote: >> Nubis, James, >> >> James Fleming wrote: >> > Hi there, >> > >> > >> > > can anyone recommend me the 'simplest' (as in, >> > > will-later-find-myself-doing-ad-hoc-stuff-but-it-was-easy-to-grasp-at-first) >> > > web framework for common lisp? >> > > >> > >> > I can recommend Hunchentoot. I used to use Araneida, but it seems to >> > have fallen to the competition. >> > >> Hunchntoot is the best HTTP server in Common Lisp. By Edi Weitz, >> probably >> the best writer of free CL libraries. We use it at work. This >> decision is a >> no-brainer. >> > >> > Hunchentoot, then, with CL-WHO to produce the actual HTML. There's also >> > a gotcha with CL-WHO, incidentally, regarding when you should use >> > (format t ...) and when to use (format nil ...), but if the output isn't >> > appearing when you expect, that's the first thing to check. >> > >> I think the big question is what Nubis means by a "web framework" and >> what >> he expects such a thing to do. > > First of all, thanks all of you for your replies (to the scheme and > CLisp thread also) > > What I want is something that nicely integrates an ORM, an abstraction > to make requests be 'functions' that access a 'request' object and > return a response object containing headers + [generated html | JSON], I > don't need it to have a built in web server, as I rather deploy with > apache+mod_lisp, fastcgi or lighty.
Hi Nubis I'm the author and maintainer of cl-terrace, a little known common lisp web application framework I wrote over the last few months: http://groups.google.com/group/cl-terrace it's not "MVC" since it does no "model" stuff, it's what I would call a "VC" framework ;-) for the "view" stuff it uses Djula, a port of the Django temlating language. Djula is missing a few tags and many filters from Django because I haven't had time to implement them, but it also has several new features not found in the Django templating language: -easy internationalization thanks to the {% dictionary %} tag and the new {_foo_} internationalization variable syntax -a {% lisp %} tag and "lisp" filter for calling arbitrary lisp forms (note: they can be turned off) -the {% devel-dictionary %} and {% devel-value %} tags, which let you fake real data while styling your templates. This allows you to make a "mockup" of real website (see CL-TERRACE:!START-TERRACE-SERVER/VIEW-ONLY. this is IMHO the most powerful feature of cl-terrace) here's a link to the automatically generated djula documentation built from the darcs repo on 8/15/2008: http://cl-terrace.googlegroups.com/web/8-15-2008-djula-documentation.html?gda=YDRilFQAAACDhWaXax3oinIz4IoPbOgRyHji5v1AYlp9Wnyg1gzrbs_9s562bgzlFr1PdLETmYDuLIDVQrXlL_AnfStuo5uEVervUohE3YNENn3wMh1Pnc3OAWZC50hVl-fZ6-QcRqg for the "control" stuff it uses some abstractions over the url-as-file-in-the-filesystem metaphor basically a request comes in some magic juju happens and it is mapped to a file using the path of the request url. the lisp code in that file is executed to compute the result. the code in that file has the option of calling RENDER to render a djula template with the appropriate variables when computing the result (note: both the terrace files and the djula templates are compiled to fast lisp functions when the server is started) here's some documentation on the magic request dispatching juju: http://groups.google.com/group/cl-terrace/web/file-matching-rules both cl-terrace and djula are designed to be utf-8 "out of the box" cl-terrace uses hunchentoot as a web server my overwhelming design goal was "smarter, not more complicated" so hopefully it's easy to learn for a newcomer unfortunately there is no tutorial or example application of any kind yet, but everything _is_ documented. the high-level cl-terrace documentation is in this source file: http://common-lisp.net/cgi-bin/darcsweb/darcsweb.cgi?r=bpm-cl-terrace;a=headblob;f=/cl-terrace/core.lisp there is also a script for generating a new projects: http://groups.google.com/group/cl-terrace/web/cl-terrace-init%20 that should be helpful for anyone making their first cl-terrace project. there is a mailing list through the google group and I try to respond to posts as quickly as possible. if you would like, you can email me for a login and password of a real cl-terrace powered web app, nallen05-at-gmail.com good luck Nick _______________________________________________ Gardeners mailing list [email protected] http://www.lispniks.com/mailman/listinfo/gardeners
