, ? :
(defrecord Chess-Piece [name color])
, , defrecord , "name" . .
% gensym (p1__910), , , , .
, , - , (defrecord some-symbol [color]) ( , ), some-symbol - , . , - :
(defmacro defpieces [names]
(let [defs (map
names)]
`(do ~@defs)))
:
(map #(defrecord % [color])
["Rook" "Pawn" "Queen" "King" "Knight" "Bishop"])
():
(map (fn* [p1__910#] (defrecord p1__910# [color])
["Rook" "Pawn" "Queen" "King" "Knight" "Bishop"])
defrecord , ( , ) , :
(deftype* p1__910
, macroexpand:
(macroexpand '(defrecord p1__910