common lisp マクロ入門

lispを少しずつ勉強しています。
マクロを書いてみました。

(defmacro list3 (a b c)
  `'(a b c))

(defmacro let1 ((var val) &body body)
  `(let ((,var ,val))
     ,@body
     ))

(defmacro -unless (bool &body body)
  `(if (not ,bool)
     (progn
       ,@body)
     nil))

(print (macroexpand-1 '(list3 :a :b :c)))
(print (macroexpand-1 '(let1 (c 2) (print c))))
(print (macroexpand-1 '(-unless (= 1 1) (print "HI"))))

フロントエンドというかhtml, cssが嫌いなので
lispのマクロで苦にならないようなものを作りたいです。

なんかちょっと楽しいぞ( ̄ー ̄)