hara.common.emit-assign
assign-options
added in 4.1
(assign-options value grammar)gets assignment options either from value metadata or from a reserved macro entry
assign-value
added in 4.1
(assign-value symbol value grammar mopts)prepares an assignment override payload for a value
emit-def-assign
added in 3.0
(emit-def-assign _ {:keys [raw], :as props} [_ & args] grammar mopts)emits a declare expression
emit-def-assign-inline
added in 4.0
(emit-def-assign-inline sym [link & input] grammar {:keys [lang book snapshot], :as mopts})assigns an inline form directly
test-assign-emit
added in 4.0
(test-assign-emit form grammar mopts)emit assign forms
(assign/test-assign-loop (list ’var ’a := (with-meta () {:assign/fn (fn sym (list sym :as 1 2 3))})) +grammar+ {}) => “(a :as 1 2 3)”
(assign/test-assign-loop (list ’var ’a := (with-meta ’(sym :as 1 2 3) {:assign/template ’sym})) +grammar+ {}) => “(a :as 1 2 3)”
(assign/test-assign-loop (list ’var ’a := (with-meta ’(x.core/identity-fn 1) {:assign/inline ’x.core/identity-fn})) +grammar+ {:lang :x :snapshot +snap+}) => “(do* (var a := 1))”
(assign/test-assign-loop (list ’var ’a := (with-meta ’(x.core/complex-fn 1) {:assign/inline ’x.core/complex-fn})) +grammar+ {:lang :x :snapshot +snap+}) => “(do* (var a := 1) (:= a (+ a 1)))”