$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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 11:04:44
On 8/22/2014 10:39 AM, Bjorn Reese wrote:
> On 08/22/2014 03:21 PM, Edward Diener wrote:
>
>> 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.
>
> Why is it proposed as a separate library rather than extensions to
> Boost PP?
While I have worked enhancing Boost PP using variadic macros the Boost 
PP library is really Paul Mensonides library and I have done as little 
as possible to change its basic functionality other than working with 
Paul on it. I know how important Boost PP is to other Boost libraries as 
well as end-users so I know how careful one must be in order not to 
break any existing code.
The philosophy of VMD is different than Boost PP. Boost PP is more 
conservative, looking for stability and safety foremost. The VMD 
documentation clearly states that misuse of some of the macros can lead 
to preprocessing errors from the compiler, and there is a detail 
discussion about macro input constraints as well as fairly repeated 
explanations of why end-user input outside of the constraints imposed by 
a number of macros in the library will cause preprocessor errors. In 
other words the library is less conservative and places more of an onus 
on the macro programmer to enforce constraints in his documentation so 
that end-users who break those constraints are aware that preprocessing 
errors could occur. I view this as a worthwhile tradeoff for the extra 
functionality provided by the library ( the ability to parse specific 
types of preprocessor data and the ability to work with empty 
preprocessor data ).