Medium-size Clojure sample application?
Is there a medium-sized Clojure sample application that could be used as a "best-practices" example, and a good way to see what such an application would look like in terms of code and code organization? A web application would be particularly interesting to me, but most important is that the program do something commonly useful (blog, bug-tracking, CMS, for example), and not something mathematical that I've never ever had to implement in the real world (solving the N-queens problem, simulating Life, generate Fibonacci sequences, and such usual fare of function programming languages).
Thanks!
Solution 1:
I recommend cow-blog by Brian Carper. According to the author it was written with your purpose in mind.
Solution 2:
If you browse the clojure-contrib source code you can see how libraries are implemented in clojure.
You can also checkout "ClojureScript" under the same source tree.
Allows code written in a very small subset of Clojure to be automatically translated to JavaScript.
The ClojureScript translator is a full Clojure app.
I'd also recomend checking out the Stewart Halloway's Port of Practical Common Lisp samples to Clojure if you haven't already.
Solution 3:
Take a look at Compojure. It's a web framework written in Clojure, so it allows you to write and run (on an embedded Jetty) useful web apps in Clojure, and also serves as a good example of a sizable chunk of real-world Clojure code.
It's under active development and has a helpful Google Group.
Solution 4:
Check out the ants demo that is written by the author of Clojure, Rich Hickey:
http://clojure.googlegroups.com/web/ants.clj
Here's some nice instructions for getting it setup along with an emacs development environment:
http://riddell.us/clojure
Also check out Rich's presentation that goes along with this code:
http://blip.tv/file/812787