|
Boost : |
From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-03-08 07:40:17
----- Original Message -----
From: "vesa_karvonen" <vesa_karvonen_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Friday, March 08, 2002 1:10 AM
Subject: [boost] Re: boost::bind and the preprocessor
> --- 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,...
Sorry...
> Do you now know how to use BOOST_PP_LIST_FOR_EACH[_I]?
I figured it out eventually.
> If so, how
> would you document it? What was the source of difficulty? How would
> you eliminate the difficulty?
Answered all at once:
1. Make sure there's a prominent link which describes the purpose of the
R parameter. I ended up scouring through the other doc pages to figure
that one out
2. Add an example to the page. Every single macro should come with a
small example.
3. All examples should include not only the source text but the
resulting expansion
4. Provide more cross-references for definitions of terms. What's a
Tuple? What's a List? Each time you mention tuple or list in the
documentation, it would help to have a link to click.
> > Even getting started with elementary examples took me a very long
> > time.
>
> Was it difficult to find the examples?
It was difficult to translate the examples into something I could use.
> 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?
Yes, the examples I could find were also difficult to understand because
they didn't show the intended results along with the source.
> > 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.
Believe me, I'm plenty motivated, but if the barrier to entry is too
high I'll find other ways.
-Dave
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk