/Clojure-Resources

Compilation of useful links and resources for learning Clojure and ClojureScript

Apache License 2.0Apache-2.0

Clojure-Resources

This is a compilation of links and resources for learning about Clojure, ClojureScript, Om and more broadly, LISP. It is still in very early stages. Please feel free to add resources by issuing a pull request (preferred) or by getting in touch. For now it is mostly a dump of my bookmarks, but I intend to go through them one by one and write a quick note about each one (or delete those that I don't find useful after all). Totally unordered at this point.

Clojure

Clojure libraries

Learn the language

ClojureScript

Structuring an application

  • Organizing Your Project: a Librarian's Tale: useful chapter from the Clojure for the Brave and True book about code organization and namespaces. It's a little long but it still covers the topic well enough.
  • stuartsierra/component on GitHub: okay, so this one had been on my list for a while. Started watching Stuart's video a few times. Now I finally got around to using it. And all I can say is you really have to take a closer look at this. It makes structuring a larger application so much more straightforward. And the earlier you do, the more pain you save later. Rewriting an existing application is doable, but somewhat painful.
  • danielsz/system on GitHub: set of readymade components on top of the component library above.
  • palletops/leaven on GitHub: lightweight component model for both Clojure and ClojureScript.
  • palletops/bakery on GitHub: A library of components for leaven, the component library above.
  • MichaelDrogalis/onyx on GitHub: Distributed, fault tolerant data processing for Clojure. It does sound like an interesting and very ambitious concept for building distributed applications. On my list of things to maybe try at some point.

Web development / Om

core.async

Transducers

Tooling

Distributed computing

Data analysis

  • Incanter: Clojure-based, R-like statistical computing and graphics environment for the JVM

Blog posts

Videos

Slides

Podcasts

Comparisons with other languages

LISP