

Lucerne: A Common Lisp web framework - eudox
http://eudoxia.me/lucerne/

======
allendoerfer
I quite enjoyed learning Scheme at university. Coming from OOP, I loved when
it just clicked and you began to look for opportunities to use higher order
functions. I never actually used Lisp, so I might try that one with a small
project.

For what type of web project could Common Lisp be a good fit? It should
probably have something to do with huge lists of data that have to be
processed, so that you can map, filter and fold them. The data should be
relatively simple to obtain, too, so that the missing libraries are not that
huge of a problem.

~~~
chaoky
Good Common Lisp doesn't use lists. A Lisp app does nothing like processing
lists; in fact, Common Lisp only uses list-processing for processing source-
code (aka macros). It is much more like a faster, more functional Ruby or
Python in that it uses classes, looping, but encouraging good functional
abstractions. Real-world Common Lisp looks nothing like scheme.

~~~
allendoerfer
So what would be a good example use case in your mind?

~~~
martinflack
CL is a powerful general purpose language in which you can accomplish much the
same things as other programming languages. Where it will really shine is when
you benefit from extending the language or environment to suit a domain and
then you solve problems of that domain.

Try this as an explanation (and keep reading the book):
[http://www.gigamonkeys.com/book/introduction-why-
lisp.html](http://www.gigamonkeys.com/book/introduction-why-lisp.html)

------
nemoniac
I must confess I'm conflicted about this. While it's encouraging that Lisp is
being used to build a web framework, this is not a Lispy approach. It's more
like Python written in Lisp. In particular the use of Python decorators in
Lisp grates.

A more Lisp-native approach could be to use higher order functions in Lisp as
well as to use macros instead of adapting Django templates.

------
someguy1233
Seems to be a slight issue with your site on mobiles, somehow your button is
overflowing onto a new line:
[https://imgrush.com/Qryn4-uvcegH.png](https://imgrush.com/Qryn4-uvcegH.png)

(resolution is 1080x1920, using Firefox on my Android 4.4.4 OnePlus One)

------
tantalor
Name is uncomfortably close to "Lucene"

~~~
techwizrd
Agreed. It would also be nice to see a simple snippet of source on the front
page similar to Flask[0] or Iron[1]. Perhaps something above or to the right
of the "

0: [http://flask.pocoo.org/](http://flask.pocoo.org/)

1: [http://ironframework.io/](http://ironframework.io/)

~~~
skeuomorf
Well, there's kinda an example in the docs [0]. Kinda related: this appears to
be built on the Clack webserver and its homepage lists code snippets of
Lucerne alternatives that are built on top of Clack as well [1].

[0] [http://eudoxia.me/lucerne/docs/example--a-twitter-
clone.html](http://eudoxia.me/lucerne/docs/example--a-twitter-clone.html)

[1] [http://clacklisp.org/](http://clacklisp.org/)

~~~
techwizrd
I read through the Twitter-clone example in the docs after I posted my
comment. The Twitter-clone is a little bit longer than a quick snippet. I just
wanted something that showed a route pointing to an index function returning a
hello world and a line of code starting the server.

Also, it is definitely Flask inspired. I might have to do a more in depth
comparison of the two.

