Closed arrdem closed 9 years ago
Consider
(let [x 3] {:a 1 :b x})
As presently implemented, this will read into something along the lines of
(let [x 3] (read-eval (->map [[(keyword "a") 1] [(keyword "b") x]])))
Which is incorrect because the binding x isn't evaluated during read-eval expansion. This read-eval implementaiton is generally incorrect for cases involving captured local expressions and needs to be reworked as a result.
x
ox.lang.parser> (parse-string "(let [x 3] {:a 1 :b x})") => (let (vector (x 3)) (hash-map (((keyword "a") 1) ((keyword "b") x))))
Consider
As presently implemented, this will read into something along the lines of
Which is incorrect because the binding
x
isn't evaluated during read-eval expansion. This read-eval implementaiton is generally incorrect for cases involving captured local expressions and needs to be reworked as a result.