macro | since v0.0-927 | imported clojure.core/declare | Edit |
(declare & names)
Uses def
to establish symbols of names
with no bindings.
Useful for making forward declarations.
a
;; WARNING: Use of undeclared Var
(declare a)
a
;;=> nil
defs the supplied var names with no bindings, useful for making forward declarations.
(defmacro declare
{:added "1.0"}
[& names] `(do ~@(map #(list 'def (vary-meta % assoc :declared true)) names)))