(mac ret (var val . body) (w/uniq gval `(withs (,gval ,val ,var ,gval) ,@body ,gval)))
arc> (ret a '(1 2 3 4) (prn (keep even a))) (2 4) (1 2 3 4)
arc> (ret (a b) '(foo bar) (prn (upcase a) b)) FOObar (foo bar)
The ret
macro was introduced by Sean Kenney in kwizwiz.arc, line 22. This version supports list destructuring.
Same as Arc.