macrosince v0.0-927 clojure.core/delayEdit
(delay & body)

Source docstring:
Takes a body of expressions and yields a Delay object that will
invoke the body only the first time it is forced (with force or deref/@), and
will cache the result and return it on all subsequent force
Source code @ clojurescript:src/main/clojure/cljs/core.cljc
(core/defmacro delay
  [& body]
  `(new cljs.core/Delay (fn [] ~@body) nil))