the expressions I pass into Bob's functions only get executed once
Sure not in functional programming languages, where one can pass functions or data structures which store functions. The code passed gets executed an arbitrary number of times and in different contexts.
macros don't give you thousands of programmers to test your language you made out of macros
One does not need thousands of programmers. That's misguided. Macros can also be tested and used in any size of development context.
I'm not going to engage further with you if you continue to approach this as a religious zealot who will do anything to defend your precious macros, including:
1. Quoting me out of context (literally not even whole sentences) and ignoring anything I say that you don't have a convenient, shallow response to.
2. Assuming I have absolutely no knowledge of Lisp basics like higher-order functions. Yes, I'm aware of higher-order functions, and that's an exception which doesn't fundamentally change my point.
3. Posting irrelevant code snippets with no explanation.
It's quite possible for two people to have different experiences that lead them to have two different beliefs. My experience is that macros don't turn out to be a good tradeoff in the long run in most cases. I'm sure you have some experience that leads you to believe that macros are the second coming of Buddha or whatever, but that's not my experience. And given it's just a feature of a language which isn't that widely used, this isn't some life or death situation where either of our opinions are some sort of moral failing. The stakes are not that high and you can afford to be kind and thoughtful.
If you're willing to approach the discussion in that way I'll be happy to discuss this with you further. Otherwise this will be my last response to any of your posts.
Comments
Sure not in functional programming languages, where one can pass functions or data structures which store functions. The code passed gets executed an arbitrary number of times and in different contexts.
One does not need thousands of programmers. That's misguided. Macros can also be tested and used in any size of development context.
I'm not going to engage further with you if you continue to approach this as a religious zealot who will do anything to defend your precious macros, including:
1. Quoting me out of context (literally not even whole sentences) and ignoring anything I say that you don't have a convenient, shallow response to.
2. Assuming I have absolutely no knowledge of Lisp basics like higher-order functions. Yes, I'm aware of higher-order functions, and that's an exception which doesn't fundamentally change my point.
3. Posting irrelevant code snippets with no explanation.
It's quite possible for two people to have different experiences that lead them to have two different beliefs. My experience is that macros don't turn out to be a good tradeoff in the long run in most cases. I'm sure you have some experience that leads you to believe that macros are the second coming of Buddha or whatever, but that's not my experience. And given it's just a feature of a language which isn't that widely used, this isn't some life or death situation where either of our opinions are some sort of moral failing. The stakes are not that high and you can afford to be kind and thoughtful.
If you're willing to approach the discussion in that way I'll be happy to discuss this with you further. Otherwise this will be my last response to any of your posts.