Ok, Lad this is my solution, (without refinements handling and without get and lit arguments and without optimizations)
Do not read if you want to try by yourself. . . . . . . . . . . . . . . . . . . anti: func [[catch] :f /local body][ body: copy [] parse first :f [ some [ [end | refinement!] break | set x word! (insert insert/only tail body 'get/any to lit-word! x) | (make error! "get and lit arguments not handled") ] ] throw-on-error [make function! first :f head insert insert tail reduce [:not] :f body] ] --- Ciao Romano -- To unsubscribe from this list, just send an email to [EMAIL PROTECTED] with unsubscribe as the subject.