In Clojure we can bind a piece of the code/data to a var
(variable). To declare a global var we use a def
special form (similar to let
keyword in JS world).
(def my-list '(0 1 2))
We could also bind an expression to a var
. Function range
in our example returns numbers from 0 to 2 (0 1 2)
.
(def my-new-list (range 3))
We could also define a lexically scoped (local) bindings with a let
special form. We declare them in square brackets by providing name and value pairs. a
and b
are only accessible in let
scope wraped with parenthesis.
(let [a 1
b 2]
(+ a b)) -> 3
(+ a b) -> Syntax error