Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Munich Clojure Workshop - 09 - Macros

Munich Clojure Workshop - 09 - Macros

Copyright © 2012-2014 Clojure Workshop Team: Maximilian Karasz, Jan Stępień, Marek Kubica, Oleksandr Petrov

Commercial use of complete work or parts of work is not allowed to anyone except for Clojure Workshop Team at whole or in parts.

Licensed under Creative Commons Attribution-NonCommercial 3.0: http://creativecommons.org/licenses/by-nc/3.0/

When using complete work or parts of work, explicit attribution is required.

Clojure Workshops

October 11, 2013
Tweet

More Decks by Clojure Workshops

Other Decks in Technology

Transcript

  1. In almost any language worth using, large portions of the

    language’s functionality is implemented with the language itself. Friday, October 11, 13
  2. Clojure code is bootstrapped by several forms such as fn*,

    if, let*, new, dot and so on... Friday, October 11, 13
  3. (call inc 1) '(inc 1) (call + 1 2 3)

    '(+ 1 2 3) Friday, October 11, 13
  4. Forces evaluation Places form one-to-one (for the list of (println

    'one) places both elements in as a list) Friday, October 11, 13
  5. Avoid shadowing Auto-generate (unique) symbols on the fly Reuse the

    name without setting your hair on fire Friday, October 11, 13