Live data from Hacker News

Ask HN: Modern approach to web application development with Common Lisp

news.ycombinator.com

1–10 of 26 posts

Ask HN: Modern approach to web application development with Common Lisp

#1
Recently, we have started developing web application with Django. Everything is wonderful, but Python is not Lisp and I feel uncomfortable with Python. In the sense that with Python & Django I am restricted. I can't build eDSL to describe application workflows, eDSL for DB access, etc.

I want to try rewrite it from scratch in Common Lisp. What web technologies stack to use?

SproutCore + Hunchentoot + MongoDB is it right choice?

Re: Ask HN: Modern approach to web application development with Common Lisp

#2
Personally, I'd leverage on PostgreSQL rather than MongoDB, because I think relational databases are still the best fit for the majority of modern web applications.

Unless, of course, you have a really simple schema so that you want to use the DB as a mere persistence layer. Or you know from the beginning that you'll have to scale really huge. But then, you'd need a highly customized framework anyway, which would somewhat defeat the purpose of writing a general purpose framework in the spirit of Django.

Also, PostgreSQL is allows to be extended from inside, thus working much in the spirit of Lisp. It can be extended with plain C code, but has also language support for pgSQL, Perl, Python and Tcl:

http://www.postgresql.org/docs/current/static/server-program...

Unfortunately, language support for Lisp languages is missing yet, but this might be only a matter of time (and would be really great).

Re: Ask HN: Modern approach to web application development with Common Lisp

#3
With any luck, mahmud will be here to talk about real-world CL web development. He's been using CL for web stuff in his startup for a couple years, I think.

Another approach for people who are just trying to get something done rather than write a framework to consider is to use CL to do the interesting bits and something else for the web frontend. I've built a couple webapps in CL that would simply have been easier in Rails.

Re: Ask HN: Modern approach to web application development with Common Lisp

#6
Back in the day (around the turn of the century) I worked for a startup building a web application using Common Lisp. We used a framework called IMHO, which was developed in-house by a couple of the lead developers. IMHO seems to have been deprecated, per http://www.cliki.net/IMHO and the source code is nowhere to be found. I am still in touch with the authors, so maybe I can encourage them to make it more available.

Using Lisp for a web dev platform was pretty nice. I was a support engineer in those days and I always found it useful to be able to pull up a console and inspect the actual running sessions to debug problems in production.

Re: Ask HN: Modern approach to web application development with Common Lisp

#9
post #2

Personally, I'd leverage on PostgreSQL rather than MongoDB, because I think relational databases are still the best fit for the majority of modern web applications. Unless, of course, you have a really simple schema so that you want to use the DB as a mere persistence layer. Or you know from the beginning that you'll have to scale really huge. But then, you'd need a highly customized framework anyway, which would som…

Following the above, if you're looking for an object store you'd find interesting cl-prevalence which is entirely written in CL.

About web frameworks others have mentioned AllegroServe, which looks quite good with the logic and view separation in templates and actions, similar to Django. Other people prefer to code the HTML inline with cl-who i.e.

If you're developing an application in the web you may find worth a continuation based framework like weblocks or UCW. Cliki contains a fair amount of libraries categorized. Here you have the database libraries: http://www.cliki.net/database

Re: Ask HN: Modern approach to web application development with Common Lisp

#10
post #3

With any luck, mahmud will be here to talk about real-world CL web development. He's been using CL for web stuff in his startup for a couple years, I think. Another approach for people who are just trying to get something done rather than write a framework to consider is to use CL to do the interesting bits and something else for the web frontend. I've built a couple webapps in CL that would simply have been easier i…

Mahmud's traveling and offline for a few weeks (http://twitter.com/#!/BigThingist/status/1947382564519936), but he's answered variants of this question before - try searching the HN archives.
Post reply on HN