*print-suppress-namespaces* is a dynamic printing variable that controls whether fully qualified symbols retain their namespace prefixes. It defaults to false, so namespaces normally appear. section 23.20
Suppressing symbol namespaces
(require '[clojure.pprint :as pprint]) (pprint/pprint '{num/val 1 num/name "one"}) ;; {num/val 1, num/name "one"} (binding [pprint/*print-suppress-namespaces* true] (pprint/pprint '{num/val 1 num/name "one"})) ;; {val 1, name "one"} (binding [pprint/*print-suppress-namespaces* true] (pprint {:num/val 1 :num/name "one"})) ;; {:num/val 1, :num/name "one"}
The setting affects symbols, not keyword namespace qualifiers. A local binding is useful when readable output matters without changing the process-wide default. section 23.20
Readable macroexpansion
Syntax-quoting automatically namespaces symbols, which can make macroexpanded forms noisy. Bind the variable alongside code dispatch to display the expansion without those automatic qualifications. section 23.20
