I am using Counterclockwise to run a REPL, but I noticed this on Leiningen too.

I can call def to define a var twice. For example,

=> (def a 1)
#'fractal.core/a
=> a
1
=> (def a 2)
#'fractal.core/a
=> a
2

Clojure is a Functional Programming language and in FP objects are supposed to be immutable. If I can do this in what sense a is immutable?

Thanks for any comments.

Edit
Report