ajmorgan
6/10/2014 - 6:08 AM

map values into an s expr, use postwalk-replace

map values into an s expr, use postwalk-replace

(fn [f]
  (fn fvals [v]
    ((fn evl [f1]
       (let [f2 (clojure.walk/postwalk-replace v f1)]
         (cond
           (seq? f2) (apply ({'+ + '- - '* * '/ /} (first f2)) (map evl (rest f2)))
           :else f2))) f)))