Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
These are lock primitives that allow Clojure to
synchronize on the monitor associated with every Java object. You should
never need to use these special forms, as there’s a macro, locking, that ensures proper acquisition and
release of an object’s monitor. See Locking for details.
[18] Special forms are always given precedence when resolving
symbols in function position. For example, you can have a var or
local named def, but you will
not be able to refer to the value of that var or local in function
position—though you can refer to that value anywhere else.
[19] Paul Graham’s The Roots of Lisp (http://www.paulgraham.com/rootsoflisp.html) is a brief yet approachable precis of the fundamental operations of computation, as originally discovered and enumerated by John McCarthy. Though that characterization of computation was made more than 50 years ago, you can see it thriving in Clojure today.