hara.lang.rewrite.hoist

create-rewriter

(create-rewriter {:keys [fn-tags symbol-prefix symbol-fn bulk-do*? block-form? lambda-compatible? skip-form?], :or {fn-tags #{(quote fn)}, symbol-prefix "lifted_lambda__", block-form? (fn [form grammar] (and (collection/form? form) (= :block (get-in grammar [:reserved (first form) :type])))), lambda-compatible? (fn [form grammar] (fnrw/lambda-compatible? form (fn* [p1__36519#] (block-form? p1__36519# grammar)))), bulk-do*? (fn [form mopts] (and (:bulk (meta form)) (not (get-in mopts [:emit :body :transform])))), skip-form? (constantly false)}})