| An inconvenience of afn is that the initial arguments are far away from the parameter list, and I don't know of a neat way to indent them: ((afn (a b)
(self (blah a)
(yadda b))) 1 2)
I wanted a kind of cross between afn and with: (afnwith (a 1 b 2)
(self (blah a)
(yadda b)))
Here it is: (mac afnwith (withses . body)
(let w (pair withses)
`((afn ,(map car w) ,@body) ,@(map cadr w))))
It doesn't reduce token count but it does kill a pair of parens, and it's imho a lot more readable.[edit:formatting] |