Code: Select all
(defmacro defstruct-x (name &rest rest)
`(defstruct
,(intern
(concatenate 'string "FOO-"
(symbol-name name))) ,@rest))
(defstruct-x person (name "John" :type string))
(make-foo-person :name "James")