Arc Forumnew | comments | leaders | submitlogin
1 point by sjs 6166 days ago | link | parent

I would just use this first form below. A macro you may be able to adapt for your purposes follows.

  (let a2 (+ a c)
    (if (> a2 b) (= a a2)))

  (mac =if (var expr test)
    (w/uniq result
      `(let ,result ,expr
         (if (,test ,result) (= ,var ,result))
         ,var)))

  (=if a (+ a c) [> _ b])