(defmacro! defmacro (fn* [name args & body] `(defmacro! ~name (fn* ~args (do ~@body))))) (defmacro defn [name args & body] `(def! ~name (fn* ~args (do ~@body)))) (defmacro def [name & body] `(def! ~name ~@body)) ;; Local Variables: ;; eval: (emacs-lisp-mode) ;; End: