|
Boost : |
From: Edward Diener (eddielee_at_[hidden])
Date: 2003-10-14 15:16:52
Paul Mensonides wrote:
>> From: boost-bounces_at_[hidden]
>> [mailto:boost-bounces_at_[hidden]] On Behalf Of Gregory Colvin
>
>>> The library is effectively a programming language.
>>
>> Right. And I would find it easier to understand if I could study its
>> BNF grammar.
>
> (I'm not sure if this is supposed to be sarcastic or not.)
>
> It would be a large grammar. The library acts like a programming
> language, but it isn't technically a programming language--which gives
> it a lot more inconsistencies and special cases than a proper
> language. (After all, it is built atop Cpp which drastically limits
> its
> abilities.) However, I suppose it is possible to produce a grammar.
A good overview of the various macros broken into understandable groups
would be most welcome to those who might want to use the functionality in
their own programming. Maybe an explanation of the "grammar" is also in
order so that one might understand the ideas and solutions which the
preprocessor macros solve, as you explain the various areas of
functionality. I know you have a good deal of the latter in your current
doc, so perhaps adding some more of the former would balance the
information.
I realize that the preprocessor library exists largely for Boost programmers
to use in their own template programming constructs, but since it is
distributed to end-users also, it needs good explanations which end-users
can grasp fairly easily also.
I have made this point before, and I know it is work for you, but if the
preprocessor library is worthy to be distributed to the masses as I am sure
it is, it needs explanations which even non-metaprogramming programmers can
understand. I think your level of explanation is pitched pretty high, for
the experts, and you need to consider an alternate mode of explanation for
everybody else.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk