diff options
author | Rich Hickey <richhickey@gmail.com> | 2010-02-09 17:31:33 -0500 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2010-02-09 17:31:33 -0500 |
commit | 060b311c380312caef727dfbf4ff736e0b2a2857 (patch) | |
tree | 0a13137be1c22853cce29e8c6380352f3be259e6 | |
parent | 742619e583400400e69cd46ab9e9536c10afb738 (diff) |
got rid of reflection in keyword
-rw-r--r-- | src/clj/clojure/core.clj | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj index f41c0765..3a315e63 100644 --- a/src/clj/clojure/core.clj +++ b/src/clj/clojure/core.clj @@ -423,13 +423,6 @@ ([name] (if (symbol? name) name (clojure.lang.Symbol/intern name))) ([ns name] (clojure.lang.Symbol/intern ns name))) -(defn keyword - "Returns a Keyword with the given namespace and name. Do not use : - in the keyword strings, it will be added automatically." - {:tag clojure.lang.Keyword} - ([name] (if (keyword? name) name (clojure.lang.Keyword/intern name))) - ([ns name] (clojure.lang.Keyword/intern ns name))) - (defn gensym "Returns a new symbol with a unique name. If a prefix string is supplied, the name is prefix# where # is some unique number. If @@ -451,6 +444,15 @@ "cond requires an even number of forms"))) (cons 'clojure.core/cond (next (next clauses)))))) +(defn keyword + "Returns a Keyword with the given namespace and name. Do not use : + in the keyword strings, it will be added automatically." + {:tag clojure.lang.Keyword} + ([name] (cond (keyword? name) name + (symbol? name) (clojure.lang.Keyword/intern #^clojure.lang.Symbol name) + (string? name) (clojure.lang.Keyword/intern #^String name))) + ([ns name] (clojure.lang.Keyword/intern ns name))) + (defn spread {:private true} [arglist] |