Arc Forumnew | comments | leaders | submitlogin
1 point by evanrmurphy 5324 days ago | link | parent

Hi guynoir. (Garrison Keillor fan? :) Maybe you're looking for rfn, which is defined as follows in arc.arc:

  (mac rfn (name parms . body)
    `(let ,name nil
       (assign ,name (fn ,parms ,@body))))
Here's a trivial example:

  ; prints 1..10, each on its own line

  ((rfn foo (x)
    (prn x)
    (if (>= x 10)
         nil
        (foo (+ x 1))))
  1)
Hope this helps.