Boost logo

Boost :

Subject: Re: [boost] [Preprocessor] Adding variadic macros support
From: Edward Diener (eldiener_at_[hidden])
Date: 2010-11-24 16:09:43


On 11/24/2010 2:31 PM, Jeffrey Lee Hellrung, Jr. wrote:
> On 11/24/2010 6:14 AM, Edward Diener wrote:
>> On 11/24/2010 8:42 AM, Mathias Gaunard wrote:
>>> On 24/11/2010 13:55, Edward Diener wrote:
> [...]
>>>> Please see my variadic_macro_data library in the sandbox. I have
>>>> already
>>>> addressed the problem of uniting variadic macros with Boost PP there as
>>>> well as providing the support for tuples which you suggest in your
>>>> opening paragraph above.
>>>
>>> So why hasn't there even been talk to get this reviewed or integrated
>>> into Boost.PP?
>>
>> I have no idea. I do not think it is up to a library developer to
>> constantly endeavor to promote his work, other than to do as excellent a
>> development as he can. Dave Abrahams noticed it but no one else reacted
>> to my original announcement. I too would love to see this library added
>> to Boost but I do not think it can be added directly into Boost PP but
>> rather exist as a separate Boost library. Paul Mensonides, the creator
>> of Boost PP, in e-mails to me expressed the fact that he really did not
>> want to add anything else directly into Boost PP since it was a fragile
>> enough implementation given that it has to workaround bugs in many C++
>> implementations of the preprocessor, especially VC++. He also is working
>> now on his own preprocessor library which needs a far more compliant C++
>> preprocessor than most compilers currently have. So I believe it would
>> be best to add my library as a separate library to Boost.
>
> Are you referring to Chaos/Order [1]?

Yes, although I can never find any files for it. But as far as I
understood from Paul you could not use it with somewhat broken
preprocessors, like the one in VC++, so its usage must be limited to
highly compliant preprocessors like Boost's own Wave and perhaps a few
others.

I also ran into VC++ preprocessor problems with my variadic_macro_data
library and had to find workarounds for them, largely by using some of
Boost PP constructs as intermediary operations.

>
> [...]
>> Questions, comments, suggestions etc. are all welcome regarding my
>> library.
>
> I think macro composition and argument binding like that supported in
> Chaos/Order (forgive me, I'm not really sure what the difference is)
> would be great.

Please be specific. Remember that the focus of my library was strictly
to be able to use variadic macros easily along with Boost PP. I was not
trying to do much more than that because I wanted to merely support what
already exists in Boost PP with the addition of using variadic macros
easily with it. I do not mind trying for more but I want to stay within
the confines of what can be done with variadic macros to work with the
current Boost PP.

Also if Chaos/Order can do these things you may want it might be a good
bet that they can not be done with the many of the compilers which Boost
supports.

> I remember another individual posting a link to a
> preprocessor library in the past on the developer's mailing list that
> did something similar [2].
>
> [1] http://sourceforge.net/projects/chaos-pp/

On this site I see no files which can be accessed. Perhaps there is a
way to access these files via cvs but I do not see instructions for
doing so.

> [2] http://lists.boost.org/Archives/boost/2010/01/160619.php

I do not know who this is and surely, whoever it is, he needs to put his
work somewhere ( sandbox, vault ) where it can be found by others.

Thanks for your interest in my library.


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