Compojure is an open source web framework for the Clojure programming language. It emphasizes a thin I/O layer and a functional approach to web development.
Compojure is still in active development. The current stable branch has been released as version 0.2.
Here's a small web application written in Compojure:
(use 'compojure)
(defroutes my-app
(GET "/"
(html [:h1 "Hello World"]))
(ANY "*"
(page-not-found)))
(run-server {:port 8080}
"/*" (servlet my-app))
To run Compojure, you'll need:
- The Clojure programming language
- The Clojure-Contrib library
- A Java servlet container like Jetty
- Apache Commons FileUpload, IO and Codec.
These dependencies can be downloaded automatically using:
ant deps
For information on how to get started and use Compojure, please see our Wiki.
There is also a rough draft of a Compojure Tutorial available to read.
The Compojure Group is the best place to ask questions about Compojure, suggest improvements or to report bugs.
Eric Lavigne has written a series of excellent tutorials on Compojure: