ClojureDocs is a community-powered documentation and examples repository for the Clojure programming language.

Top Contributors
Recently Updated
MicahElliott added a see-also from clojure.core/dissoc to clojure.core/remove 6 days ago.
MicahElliott added a see-also from clojure.core/remove to clojure.core/dissoc 6 days ago.
kumarshantanu authored a note for clojure.core/quote 7 days ago.
MicahElliott added a see-also from clojure.core/when-first to clojure.core/when 12 days ago.
MicahElliott added a see-also from clojure.core/when to clojure.core/when-some 12 days ago.
MicahElliott added a see-also from clojure.core/when-some to clojure.core/when 12 days ago.
On Clojure

Clojure is a concise, powerful, and performant general-purpose programming language that runs on the JVM, CLR, Node.js, and modern mobile and desktop web browsers.

New to Clojure and not sure where to start? Here are a few good resources to get you off on the right foot:

There's no denying that Clojure is just so *different* from what most of us are used to (what is up with all those parentheses?!), so it's no surprise that it takes a bit to get your head around it. Stick with it, and you won't be disappointed.

But don't take our word for it, here's what XKCD has to say:

Seems like more than a few these days. Happy coding!

;; Let's define some data using list / map
;; literals:

(def scenes [{:subject  "Frankie"
              :action   "say"
              :object   "relax"}

             {:subject  "Lucy"
              :action   "❤s"
              :object   "Clojure"}

             {:subject  "Rich"
              :action   "tries"
              :object   "a new conditioner"}])

;; Define a function
(defn people-in-scenes [scenes]
  (->> scenes
       (map :subject)
       (interpose ", ")
       (reduce str)))

;; Who's in our scenes?

(println "People:" (people-in-scenes scenes))

;;=> People: Frankie, Lucy, Rich
Clojure in Production
Contribute to ClojureDocs

We need your help to make ClojureDocs a great community resource. Here are a couple of ways you can contribute.

  • Give Feedback

    Please open a ticket if you have an idea of how we can improve ClojureDocs.

  • Add an Example

    Sharing your knowledge with fellow Clojurists is easy:

    First, take a look at the examples style guide, and then add an example for your favorite var (or pick one from the list).

    In addition to examples, you also have the ability to add 'see also' references between vars.