clojure-type-selection-flowchart icon indicating copy to clipboard operation
clojure-type-selection-flowchart copied to clipboard

Flowchart for choosing the right Clojure type definition form

I designed the http://cemerick.com/2011/07/05/flowchart-for-choosing-the-right-clojure-type-definition-form/[original] Clojure type selection flowchart earlier in 2011:

image::https://github.com/cemerick/clojure-type-selection-flowchart/raw/master/choosingtypeforms.png[]

Since then, it has been translated to:

  • https://github.com/cemerick/clojure-type-selection-flowchart/raw/master/translations/dutch.png[Dutch] (https://github.com/Borkdude[Michiel Borkent])
  • https://github.com/cemerick/clojure-type-selection-flowchart/raw/master/translations/japanese.png[Japanese] (https://twitter.com/#!/omasanori[OGINO Masanori])
  • https://github.com/cemerick/clojure-type-selection-flowchart/raw/master/translations/portuguese.png[Portuguese] (http://codemountain.wordpress.com/2011/08/22/flowchart-de-apoio-a-escolha-tipos-em-clojure[Paulo Suzart])
  • https://github.com/cemerick/clojure-type-selection-flowchart/raw/master/translations/german.png[German] (http://blog.licenser.net[Heinz N. Gies])
  • https://github.com/cemerick/clojure-type-selection-flowchart/raw/master/translations/spanish.png[Spanish] (http://www.andresvalenciano.com/[Andrés Valenciano])
  • https://raw.github.com/cemerick/clojure-type-selection-flowchart/master/translations/chinese.png[Chinese] (http://xumingming.sinaapp.com/[James Xu])

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 http://www.omnigroup.com/products/omnigraffle/[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 http://www.omnigroup.com/products/omnigraffle/[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.

=== Publication

This flowchart is featured in an appendix in http://clojurebook.com[Clojure Programming] from O'Reilly, by myself, Christophe Grand, and Brian Carper.

image::http://www.clojurebook.com/cover.png[]

http://cemerick.com/2011/07/05/flowchart-for-choosing-the-right-clojure-type-definition-form[Original Clojure type selection flowchart] © 2011 Chas Emerick http://cemerick.com[[email protected]]