Поскольку нельзя применить макрос к списку, например,
;; does not work
(apply -> [expr1 expr2 expr3])
Как создать такое выражение:
(-> expr1
expr2
expr3)
Где
expr1
генерируется (generate-expr1 f g h)
expr2
генерируется (generate-expr2 f g h)
expr3
генерируется (generate-expr3 f g h)
Context
Я пытаюсь создать встроенный DSL, например,
["increment" "increment" "increment"]
, который затем преобразуется в код, например,
(fn [n] (-> n inc inc inc))