Maps | {"key1" "val1", "key2" 123} |
Lists | (1 2 3 "four") |
Vectors | [1 2 3 4 "a" "b" "c" 1 2] |
Scalars | a-symbol, "a string", :a_keyword, 123, nil, true, false |
Calling | (<function> <args*>) |
Defining named functions | (def! <name> (fn* [<args*>] <action>)) |
Anonymous function | (fn* [<args*>] <action>) |
Conditionals | if cond or |
Multiple Actions (side-effects) | (do <action*>...) |
Defining things | def! defmacro! let* |
Quoting | ' ` ~ ~@ |
Examining macros | macroexpand |
Math | + - * / |
Comparison/Boolean | = < > <= >= not |
Predicates | nil? true? false? symbol? keyword? string? list? vector? map? sequential? |
Data processing | map apply |
Data create | list vector hash-map |
Data inspection | first rest get keys vals count get nth contains? empty? |
Data manipulation | conj cons concat assoc dissoc |
Lists and Vectors | first rest nth seq |
Hash Maps | get keys vals contains? |
Strings | str pr-str seq |
Atoms | atom atom? deref[@] reset! swap! |
Meta | meta with-meta[^] |
Output | println prn |
Evaluate JavaScript | (js-eval "JS string to eval") |
Method call/access | (. js-fn arg...) |