On 8/22/2014 8:20 AM, Niall Douglas wrote:
On 21 Aug 2014 at 21:24, Edward Diener wrote:
http://htmlpreview.github.io/?https://github.com/eldiener/variadic_macro_dat...
Firstly that viewer kept failing for me, so I gave up quite quickly.
What failure do you get ? Maybe I can reproduce it.
It doesn't work at all for me on Chrome.
With IE it somewhat works, but from time to time the github website says it is overloaded and please try again later. This is irritating. It could be that European users get different servers to US users.
I use Firefox and am in the US and it seems to work for me.
OTOH if you choose to clone the library in your modularboost/libs/vmd the top-level index.html link should work perfectly.
That involves more work than I wish to do right now. Right now I merely wish to find out if I could contribute a meaningful review.
The library is on Github and I am following the modular-boost format so I do not know what else I can do to make it easy for others to use and review the library. I do not think that asking reviewers to clone a library and follow instructions in a readme file in order to use it, is asking an awful lot of reviewers.
However from what I read I ask this: why is this library useful?
The introduction explains in general the functionality in the library that would make it useful. Did you read the introduction ?
Yes. I get what it does. Not why would anyone need this.
It is a library for writing C++ macros, like Boost PP. If you do not see any use for Boost PP then naturally you would not see any use for the VMD library.
What problems does it solve?
Does a library have to solve specific problems to be used by others ? The usefulness of a library is that you can do things with it that would be much harder to hand-craft without it.
The answer is no, but to enter Boost yes. It's very hard for me or I suspect anyone to vote on this if I have no idea what it's useful for. Otherwise someone could submit a randomly generated library and claim it should enter Boost, and we couldn't refuse.
I can't make you see any use for the library other than writing the documentation to explain how it is used and what it offers for macro creation.
I may have not made too much of an issue in the documentation, although I did devote a section to it toward the end of the documentation ( see 'Input as dynamic types' ), but the general "problem" it solves is being able to write macros where, within the constraints of the types which the library can parse, you can take different paths as far as output generaation depending on the type of any particular macro input. You can therefore design macros to be more flexible than you might ordinarily have.
I get this is all very clever. And if this library were being proposed for a suite of C libraries, I'd be all over this like no tomorrow.
I don't get how this is useful, or wise for C++ however. If you can show me something it can do which is a pain point for many which cannot be achieved using C++ 14, you get my vote. Otherwise I don't see the use case given the much superior alternatives.
I do not know what the superior alternatives of C++ 14 are which you see. I can only guess that you do not feel that the creation of macros as part of the interface to a library should ever be necessary. But for a number of Boost libraries they still are, and for future libraries they still will be until C++ has built-in support for things which the macro prerprocessor can still do.