summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/boot.clj7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/boot.clj b/src/boot.clj
index 6fd4678b..2495a766 100644
--- a/src/boot.clj
+++ b/src/boot.clj
@@ -901,9 +901,12 @@
(macroexpand ex)
ex)))
-(defmacro defstruct [name & keys]
- `(def ~name (. clojure.lang.PersistentStructMap (createSlotMap (list ~@keys)))))
+(defn create-struct [& keys]
+ (. clojure.lang.PersistentStructMap (createSlotMap keys)))
+(defmacro defstruct [name & keys]
+ `(def ~name (create-struct ~@keys)))
+
(defn struct [s & inits]
(. clojure.lang.PersistentStructMap (create s inits)))