Documentation and Resources
The Clojure website provides numerous reference articles on their Documentation page. There’s also has a great cheatsheet there (which includes a link at the bottom to enhanced cheatsheets with tooltips).
The clojure-doc.org site contains a number tutorials and other guides written and maintained by the Clojure community.
The Confluence wiki is an enterprise wiki + communication medium for core developers. It contains a number of useful and up-to-date pages.
A well-known (though now somewhat dated) tutorial is Clojure - Functional Programming for the JVM.
The Learn Clojure site contains a number of pointers to various docs, books, and other community resources.
I also found this curated reading list of useful articles.
Clojure (like Python) supports docstrings. These are strings embedded in the source code of functions for the purpose of documenting them. You can interactively access the docstring (at the repl) for any function like so:
To see a listing of what’s available in a given library, use:
You can also search the docstrings using
(find-doc #"search string"). Note that the string inside
#"" is a regex.
You can see the source code for any Clojure function right at the repl, for example:
When searching for documentation on a given library, consider reading the source. Look in ~/.m2/repository for the jars. To open one up, you might do this:
mkdir ~/temp/foo cp ~/.m2/repository/path/to/bar-1.0.0.jar ~/temp/foo cd ~/temp/foo jar xvf bar-1.0.0.jar
To generate docs from library source code, see Generating Docs from Libraries.
For example code, you can always read the source code files of Clojure itself (download and look in clojure-i.j.k/src/clj/clojure). You might also look at contrib and 3rd-party libraries (see available libraries).
- The Clojure section at http://pleac.sourceforge.net/
It will sometimes be useful to look up documentation on various Java standard classes. You could download and install the full Java API docs onto your own system (and will probably want to at some point), but for now you can access those docs at: http://docs.oracle.com/javase/7/docs/api/.
4clojure is a site that has you work through successively more difficult programming problems, solving them with Clojure.
There’s a Clojure youtube page containing various talks. See also:
A discussion between Rich Hickey and Brian Beckman.
My current favorite Clojure book is Clojure Programming. There are a number of others though (in no particular order):