defonce

macrosince v0.0-2156 clojure.core/defonceEdit
(defonce x init)

Source docstring:
defs name to have the root value of init iff the named var has no root value,
else init is unevaluated
Source code @ clojurescript:src/main/clojure/cljs/core.cljc
(core/defmacro defonce
  [x init]
  `(when-not (exists? ~x)
     (def ~x ~init)))