Hacker News new | past | comments | ask | show | jobs | submit login
Lisp web frameworks: which one should I use?
18 points by jsmcgd on Aug 21, 2007 | hide | past | favorite | 19 comments
I'm about to start development of a 'web 2.0' site. I've learnt some lisp and now I need to get to grips with a web framework. Any recommendations? Scalability is obviously important. Cheers.



I build a fairly sophisticated project last year on top of TBNL (now Hunchentoot) and some other libraries (CL-WHO and CLSQL being the main ones). I don't think this set of libraries quite counts as a framework in the Rails/Pylons tradition - it's more like web.py[0]. It's worth noting that reddit used the same tool set before they rewrote it in Python. I can recommend it without hesitation, if you're looking for tools that stay out of your way.

[0]I have a strong suspicion that web.py was influenced by TBNL.


We use ucw for http://paragent.com (click on "DEMO" to see our app in action live). We actually use the older _dev branch of ucw, as we started over a year ago before the _ajax branch had really settled down. In fact, we've ended up removing much of the AJAX from the site for design reasons, and gone to a simpler page model with the latest site update. ucw has been pretty reliable. OTOH, we don't get hammered on the front end that much, so we may not be really stressing it. Most of our heavy-lifting is all on the back-end connections to the agents, where we have to maintain thousands of ssl connections. We have been very happy with our decision to go with Lisp.


which lisp are you using?


We are using a slightly modified version of sbcl. Because of the large number of persistent connections we have to handle, we can run into issues with FD numbers and the default serve-event implementation. We have swapped in our own epoll-based serve-event to get around this. Otherwise, sbcl has worked very well for us.

Most of the sbcl hackers hang out in #lisp on irc.freenode.net, so the level of help available around the clock is amazing. There have been a couple times when we were pulling our hair out, got into the #lisp channel, and had a solution in a matter of minutes. Highly recommended, and a very smart group of people.


I've been using UCW with my own framework (lisp-on-lines) built on top. If you are going to be doing a lot of 'ajax', the UCW Ajax branch has already done most of the work for you.

That said, the learning curve is steep and there is no documentation beyond the examples + source code.


could you post URLs of your running applications in UCW ?


nevermind, someone else posted http://paragent.com


You've got many choices.

This thread on c.l.l. discusses most of them: http://groups.google.com/group/comp.lang.lisp/browse_thread/...


Has anyone tried out the new weblocks?

http://www.defmacro.org/ramblings/weblocks-demo.html

It sounds promising.


Well, I wrote Weblocks.

It's already very nice (using Lisp turned out to be really great) but some fairly commonly requested features are not yet in. Give it a try, send some questions to the support group, and see if it's right for you.



I suggest using Hunchentoot (TBNL successor) + cl-who + postmodern. It provides the classic way of web programming just like pure java servlets.

Yesterday i've wrote simple app, just for fun http://nablaone.net/dino-demo/. What can I say, lisp rulez :-).

REPL -> instant gratification -> flow -> happiness :-)


Cheers guys. When I googled it before, Weblocks popped up. Does anyone have any experience with this?


Pylons

<ducking>


.... and they call Lisp programmers "Smug Weenies"?

That said, there are two options if the OP _really_ wanted to use Pylons in Common Lisp.

One could attempt to run Pylons under cl-python[1], which is "a fairly complete implementation of Python written in Common Lisp". Cl-python is currently Allegro-only, and likely will not run Pylons without modification.

Alternately, there is Python-on-lisp, which is a FFI to an embedded python interpreter AFAICT. While it will likely be trivial to get Pylons running this way, the interface between the languages seems very low-level, and there does not seem to be any source translation from a sexp syntax to python.

I don't think either way is a good option honestly. If the OP wanted a python framework, they probably would have asked for one, and you could hold your head high rather than ducking ;).


Up-modded for good knowledge of Python-Lisp interfaces, surely something very cool.


That wasn't a smug weenie thing. It was funny. I was going to suggest web.py just for giggles.


What makes it funny exactly? To use an analogy (a poor one, like all), if this were a medical advice board, and someone had said 'I've got aids and i'm looking for a good retroviral" and the reply was "Chemo! <ducking>"..... I don't find that funny at all... just smug cancer weenies.


if by Lisp you mean Scheme, perhaps http://magic.xmog.com suits you. It's lacking documentation, but it's promising at least.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: