Adapted from Johannes Friestad's excellent quick ref.
| Bitwise Operations | bit-and bit-or bit-xor bit-flip bit-not bit-clear bit-set bit-shift-left bit-shift-right bit-test |
| Create | str print-str println-str pr-str prn-str with-out-str |
| Create | re-pattern re-matcher |
| Normal | if if-not if-let when when-not when-let when-first cond condp case do eval loop recur trampoline while |
| Function Based | repeatedly iterate |
| Clojure Types | type extends? satisfies? |
| General | deref get-validator set-validator! |
| Atoms | atom swap! reset! compare-and-set! |
| Refs | ref sync dosync ref-set alter commute ensure io! ref-history-count ref-max-history ref-min-history |
| Agents | agent send send-off await await-for agent-error restart-agent shutdown-agents *agent* error-handler set-error-handler! error-mode set-error-mode! release-pending-sends |
| Thread Local Values | bound-fn bound-fn* get-thread-bindings push-thread-bindings pop-thread-bindings thread-bound? |
| Inspect and Modify | get-method methods prefer-method prefers remove-method remove-all-methods |
| Create | defmacro macroexpand macroexpand-1 gensym |
| Arrays | make-array object-array boolean-array byte-array char-array short-array int-array long-array float-array double-array aclone to-array to-array-2d into-array |
| Capabilities | sequential? associative? sorted? counted? reversible? |
| Create | seq sequence repeat replicate range repeatedly iterate lazy-seq lazy-cat cycle interleave interpose tree-seq xml-seq enumeration-seq iterator-seq file-seq line-seq resultset-seq |
| Use (General) | first second last rest next ffirst nfirst fnext nnext nth nthnext rand-nth butlast take take-last take-nth take-while drop drop-last drop-while keep keep-indexed |
| Use ('Modification') | conj concat distinct group-by partition partition-all partition-by split-at split-with filter remove replace shuffle |
| Create | transient persistent! |
| Use ('Modification') | conj concat distinct group-by partition partition-all partition-by split-at split-with filter remove replace shuffle |
| Inspect | var find-var var-get var? bound? resolve ns-resolve special-symbol? |
| General | meta with-meta vary-meta reset-meta! alter-meta! |
| General | use require import refer-clojure refer |