diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj
index ab5c532..f55bf18 100644
(defmacro ns
[name & references]
(let [process-reference
(fn [[kname & args]]
- `(~(symbol "clojure.core" (clojure.core/name kname))
+ (when-let [clause-ns (namespace kname)]
+ (require (symbol clause-ns)))
+ `(~(symbol (or (namespace kname) "clojure.core")
+ (clojure.core/name kname))
~@(map #(list 'quote %) args)))
docstring (when (string? (first references)) (first references))
references (if docstring (next references) references)