> On Oct 8, 2015, at 11:08 AM, Alex Knauth <alexan...@knauth.org> wrote: > > You don't think > (define-simple-macro (-> var:id expr:expr ...+) > (let* ([var expr] ...) var)) > > Is better?
No, actually I, I don’t. Threading macros are a convenience, just like anonymous functions. I’d rather keep them simple and easy to use than add another term that needs to be provided 100% of the time that I’ll only take advantage of 5% of the time. As for compile-time infinite loops: I can’t imagine how that could possibly occur, but if you can demonstrate such a problem, that sounds like a bug. As for simpler to keep in your head: [citation needed]. The original threading macro is a simple macro that unwinds nested function application. Implementation aside, I find that the most intuitive way to visualize it—introducing binding makes that more complicated, not less. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.