| decimal | 7 |
| hexadecimal | 0xff |
| octal | 017 |
| binary | 2r1011 |
| base 36 | 36rCRAZY |
| BigInteger | 7N |
| Ratio | -22/7 |
| Double | 2.78 -1.2e-5 |
| BigDecimal: | 4.2M 5M |
| Arithmetic | + - * / quot rem mod inc dec max min +' -' *' inc' dec' |
| Compare | == < > <= >= compare |
| Bitwise | bit-and bit-or bit-xor bit-not bit-flip bit-set bit-shift-right bit-shift-left bit-and-not bit-clear bit-test (1.6) bit-unsigned-bit-shift-right (see BigInteger for integers larger than Long) |
| Cast | byte short int long float double bigdec bigint num rationalize biginteger |
| Test | zero? pos? neg? even? odd? number? rational? integer? ratio? decimal? float? |
| Random | rand rand-int |
| BigDecimal | with-precision |
| Unchecked | *unchecked-math* unchecked-add unchecked-dec unchecked-inc unchecked-multiply unchecked-negate unchecked-subtract |
| Define | (defprotocol Slicey (slice [at])) |
| Extends | (extend-type String Slicey (slice [at] ...)) |
| Extend null | (extend-type nil Slicey (slice [_] nil)) |
| Reify | (reify Slicey (slice [at] ...)) |
| Test | satisfies? extends? |
| Other | extend extend-protocol extenders |
| Define | ( defmulti my-mm dispatch-fn) |
| Method define | ( defmethod my-mm :dispatch-value [args] ...) |
| Dispatch | get-method methods |
| Remove | remove-method remove-all-methods |
| Prefer | prefer-method prefers |
| Relation | derive isa? parents ancestors descendants make-hierarchy |
| Create | defmacro definline |
| Debug | macroexpand-1 macroexpand clojure.walk/macroexpand-all |
| Branch | and or when when-not when-let when-first if-not if-let cond condp case (1.6) when-some if-some |
| Loop | for doseq dotimes while |
| Arrange | .. doto -> ->> (1.5) as-> cond-> cond->> some-> some->> |
| Scope | binding locking time with-in-str with-local-vars with-open with-out-str with-precision with-redefs with-redefs-fn |
| Lazy | lazy-cat lazy-seq delay |
| Doc. | assert comment clojure.repl/doc |
| Def variants | def defn defn- definline defmacro defmethod defmulti defonce defrecord |
| Interned vars | declare intern binding find-var var |
| Var objects | with-local-vars var-get var-set alter-var-root var? bound? thread-bound? |
| Var validators | set-validator! get-validator |
| Current | *ns* |
| Create/Switch | ns in-ns create-ns |
| Add | alias def import intern refer |
| Find | all-ns find-ns |
| Examine | ns-name ns-aliases ns-map ns-interns ns-publics ns-refers ns-imports |
| From symbol | resolve ns-resolve namespace the-ns |
| Remove | ns-unalias ns-unmap remove-ns |
| Load libs | (tutorial) require use import refer |
| List loaded | loaded-libs |
| Load misc | load load-file load-reader load-string |
| Create | ref |
| Examine | deref (@form → (deref form)) |
| Transaction | sync dosync io! |
| In transaction | ensure ref-set alter commute |
| Validators | set-validator! get-validator |
| History | ref-history-count ref-max-history ref-min-history |
| Create | agent |
| Examine | agent-error |
| Change state | send send-off restart-agent (1.5) send-via set-agent-send-executor! set-agent-send-off-executor! |
| Block waiting | await await-for |
| Ref validators | set-validator! get-validator |
| Watchers | add-watch remove-watch |
| Thread handling | shutdown-agents |
| Error | error-handler set-error-handler! error-mode set-error-mode! |
| Misc | *agent* release-pending-sends |
| General | . .. doto new bean comparator enumeration-seq import iterator-seq memfn set! class class? bases supers type (Classname/staticMethod arg1 arg2) Classname/staticField (. classInstance instanceField) (. classInstance (instanceMethod arg1 arg2)) (Classname.) |
| Cast | boolean byte short char int long float double bigdec bigint num cast biginteger |
| Exceptions | throw try catch finally clojure.repl/pst (1.4) ex-info ex-data |