Boost logo

Boost :

From: vesa_karvonen (vesa_karvonen_at_[hidden])
Date: 2002-03-08 01:10:06

--- In boost_at_y..., "David Abrahams" <david.abrahams_at_r...> wrote:
> The PP library documentation is still really hard to use. For
> example, Just look at the docs for BOOST_PP_LIST_FOR_EACH_I.

Just for the record, I'm not trying to be argumentative.
Unfortunately a comment that says that something is "hard to use" or
thay "[...] took me a very long time" doesn't really give any clue of
how to make things better. Please be more specific. So,...

Do you now know how to use BOOST_PP_LIST_FOR_EACH[_I]? If so, how
would you document it? What was the source of difficulty? How would
you eliminate the difficulty?

> Even getting started with elementary examples took me a very long
> time.

Was it difficult to find the examples? Was it difficult to
compile/preprocess the examples? Was it difficult to understand the
examples? What was the source of difficulty? How would you eliminate
the difficulty?

> If you don't know anything about the library, how many other pages
> do you have to look at in order to be able to understand how to use
> it?

Interesting, but under specified, question. The problem is that the
ability to use any library (and I'm not talking about Boost.Any :)
depends largely on the experience of the person attempting to use the
library. A further problem with metaprogramming libraries is the
motivation to use the library. Metaprogramming is still not a widely
understood concept and people may have difficult time to understand
the motivation.

I think that an efficient way to get users started quickly is to
write a sequence of progressively difficult examples of using the
library. My time is limited, but I'll see what can be done.

> This makes code using the PP library hard to maintain.

Then something needs to be done to improve the situation. I'm all
ears for constructive criticism, suggestions and contributions for
improving the preprocessor library documentation.

Boost list run by bdawes at, gregod at, cpdaniel at, john at