(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.