Let's see what gives us macroexpand-1:
user=> (clojure.pprint/pprint (macroexpand-1 '(def-middleware plus-two [x] (+ 2 x))))
(defn
~fn-name
[f]
$
(fn ~args$ (f (clojure.core/unquote-splicing body))))
, ! -, , , "` ( quasiquote/syntax-quote), " ". , , , , clojure gensym . , ( [f#], not [f]$), . args. :
user=> (defmacro def-middleware [fn-name args & body] `(defn ~fn-name [f
user=> (clojure.pprint/pprint (macroexpand-1 '(def-middleware plus-two [x] (+ 2 x))))
(clojure.core/defn
plus-two
[f__594__auto__]
(clojure.core/fn [x] (f__594__auto__ (+ 2 x))))
nil
user=>