Referential transparency means a function’s return value depends only on its parameters and nothing else. An expression can therefore be replaced by that value without changing program behavior. This property supports predictable composition and is associated with laziness, immutable values, and infinite sequences. section 2.1.2
Parameter-only behavior
A function that multiplies its argument by the current time or a random number is not referentially transparent: repeated evaluation can produce different results even with the same apparent input. Clojure’s function syntax can express both concise lambdas and explicit fn forms. section 2.1.2








