Boost logo

Boost :

Subject: Re: [boost] [review] Formal review period for VMD library begins today, Aug 21, and ends Sat, Aug 30
From: Edward Diener (eldiener_at_[hidden])
Date: 2014-08-22 09:21:04


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_data/master/doc/html/index.html
>>>
>>> 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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk