
What can I learn from your criticism? What is it based on other than the fact that you don't like macros? By what standard shall we decide that use is "overuse?"
I'm not shur that you can learn much from that criticism. Other than that I like to examine the libraries source code to help me learn about how it works. If the library is full of macros, or complicated templates for that matter, I often will just give up, and rely soley on the documentation.
Well, let's be clear. We've been "warm" in the sense that we're willing to use macros when they are the best solution to a problem.
I'm shur thats the case.
One could say that for any programming paradigm that isn't "in the mainstream," which is an entirely relative judgement. Certainly Boost's "dependence on and overuse of templates" is often cited by those unfamiliar with certain programming styles as presenting exactly the same danger. At Oracle, they use C and ban C++ for the same reasons.
Good points. Boost should or could be considered a centralized repository where promising experimental libraries can get additional scrutiny for evenutal standarization.
Well, please study it in depth before leveling such a charge publicly based on your suspicions.
I qualified my statement by saying that I "suspected" that it was the case, not that it necessarily was a factual statment.
The macro generates all the boilerplate of forwarding functions, handles the "forwarding problem" for the user, evaluates defaults in exactly the lazy way one would like without requiring lambdas or other function objects, avoids exposing ArgumentPacks, ...
I think that those are pretty creative uses of internal macros and I have no problems with those uses. I just hope that I'm never tasked with their maintenance.

on Wed Aug 22 2007, "Tom Brinkman" <reportbase-AT-gmail.com> wrote:
What can I learn from your criticism? What is it based on other than the fact that you don't like macros? By what standard shall we decide that use is "overuse?"
I'm not shur that you can learn much from that criticism. Other than that I like to examine the libraries source code to help me learn about how it works. If the library is full of macros, or complicated templates for that matter, I often will just give up, and rely soley on the documentation.
Gosh, I wish you'd start with the documentation. I put a lot of effort into it so my users will understand how to use the library.
The macro generates all the boilerplate of forwarding functions, handles the "forwarding problem" for the user, evaluates defaults in exactly the lazy way one would like without requiring lambdas or other function objects, avoids exposing ArgumentPacks, ...
I think that those are pretty creative uses of internal macros and I have no problems with those uses. I just hope that I'm never tasked with their maintenance.
Don't worry, I won't ask you to maintain them. But my point was that they are *external* macros. They're invoked directly by the library user. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com The Astoria Seminar ==> http://www.astoriaseminar.com

on Wed Aug 22 2007, David Abrahams <dave-AT-boost-consulting.com> wrote:
Don't worry, I won't ask you to maintain them. But my point was that they are *external* macros. They're invoked directly by the library user.
And even more to the point, I want to discourage any "no votes... sole based on... dislike of macros." Please fairly evaluate the benefits of the proposed interface against the extremely unlikely possibility that someone will ask you to maintain the library. Frankly I'd be worried about accepting anyone else's work, macros or not, if I thought I'd end up maintaining it. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com The Astoria Seminar ==> http://www.astoriaseminar.com
participants (2)
-
David Abrahams
-
Tom Brinkman