3

一部のマクロで関数を使用するgensymと、テストが難しくなります。

したがって、一部のマクロの展開は次のようになります。

'(let [G__10458 (js-obj)] 
   (aset G__10458 "a" (fn [] (? G__10458.val))) 
   (aset G__10458 "val" 3) G__10458)

私が望むのは、このタイプのパターンに一致することをテストすることです:

'(let [%1 (js-obj)] 
   (aset %1 "a" (fn [] (? %1.val))) 
   (aset %1 "val" 3) %1)

clojure.core.matchこれを行うライブラリまたは別のパターンマッチングライブラリに何かがありますか?

4

2 に答える 2