Flowchart for choosing the right Clojure type definition form
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


I designed the original Clojure type selection flowchart earlier in 2011:


Since then, it has been translated to:

I wanted to make it easier for others to produce translations of the flowchart, since it seems to be very helpful to people, especially as they are learning Clojure. Thus, I created this repo and added the original OmniGraffle file. I hope that, if you know a language well that does not yet have a translation of the flowchart, you’ll take a few minutes to produce one.

Editing the OmniGraffle file is a piece of cake, and Omni Group offers 14-day trials of the software that you can use to make the necessary changes.

(The .graffle file is actually just XML, so it’s plausible that you’d be able to perform the translation without using OmniGraffle. I’ll happily perform the export to .png in this case.)

Providing a translation

  1. Clone this repo.

  2. Copy choosingtypeforms.graffle to translations/<YOUR LANGUAGE>.graffle

  3. Make the necessary changes, adding an translator attribution to the lower-right of the page and a URL for yourself if you like.

  4. Export the result as PNG to translations/<YOUR LANGUAGE>.png

  5. Send me a pull request.


This flowchart is featured in an appendix in Clojure Programming from O’Reilly, by myself, Christophe Grand, and Brian Carper.