vrac

2025-03-26T20:40:53.744799Z

Some progress on the DSL:

(-> '(let [[a & rest :as x] 1
           b 2]
       (-> a
           (+ b 3)
           prn))
    (macro-expand-and-resolve-dsl macro/macros #{}))

=>
(clojure.core/let [x 1
                   a (clojure.core/nth x 0)
                   rest (clojure.core/drop 1 x)
                   b 2]
 (clojure.core/prn (clojure.core/+ a b 3)))