views:

591

answers:

4

Do you know of any good open source projects written in Clojure? (or just ANY at all :))

I'm learning the language and wold like some code to read as I go.

Thanks, Alex

+22  A: 

Well, one of the fantastic things about Clojure is that there's already an abundance of great libraries out there -- and new ones are being written and made available all the time. (Note that the majority of the code you're likely to find out there -- minus the blogosphere which is full of all sorts of examples, of course -- is library code.)

Here's a collection of links for a good start:

  1. Clojure itself, as well as clojure-contrib. That's a lot of high quality Clojure code. Note that while clojure.core makes for a good read, its initial portion is basically bootstrapping the language; read towards the end for things which look like what you might actually see people write in Clojure apps.
  2. Compojure, the Clojure Web framework one hears the most about. (There are others, e.g. the RoR-like Conjure, Webjure etc.) You might want to look at the 0.3.2 sources (last stable version IIRC) for a start.
  3. Ring, which is "a Clojure web applications library inspired by Python's WSGI and Ruby's Rack" (quoting the GitHub description). Compojure used to be compatible with this and is currently in the process of dropping functionality already included in Ring from its own codebase.
  4. Enlive, "a selector-based (à la CSS) templating and transformation system for Clojure" (the GitHub description again); good stuff and it's a pleasure to read the code. Here's a good tutorial if you want to see it in action first.
  5. Incanter -- moving away from the Clojure Web stack, "Incanter is a Clojure-based, R-like platform for statistical computing and graphics" (quoting the project homepage). By all accounts, this is fantastic stuff. Apparently incanter.chrono (Incanter's module for dealing with time) is a great library in its own right.

You might also want to read some news / blog posts / code snippets etc. To that end, have a look at disclojure and Planet Clojure. For the ultimate Clojure blogpost of the "complete, correct, performant programme with annotations" variety see Widefinder 2 with Clojure by Alex Osborne. For remarkably cool short programmes in Clojure (which still manage to accomplish an interesting task) see all of Nurullah Akkaya's blog. There's plenty of others also worth mentioning, but I guess disclojure and Planet Clojure make it easy enough to notice the content and you've asked about open source projects and not blogs anyway.

Michał Marczyk
+1 Damn that's a nice list! Thanks.
JUST MY correct OPINION
+1  A: 

Help me out on Cryptovide. I need help on the GUI especially! Its a program for splitting up uber-important-files like encryption keys into parts that can be stored in many places with out risk if some of the locations are hacked or lost. < /shameless-plug >

Arthur Ulfeldt
+1  A: 

On github fleetdb is pretty popular as an opensource schema-free database. Als you could watch the popular repo's on github about clojure.

Alfred
+3  A: 

Clojure is already the 19th most popular language on GitHub, you can find plenty of projects there:

http://github.com/languages/Clojure

Just browse around a bit, I'm sure you can find something interesting :-)

Here's a list of projects I'm following that haven't been mentioned yet:

Michael Kohl