Boost logo

Boost :

From: David B. Held (dheld_at_[hidden])
Date: 2002-04-10 14:20:50


From: "Emily Winch" <Emily.Winch_at_[hidden]>
> [...]

> This is really a plea for some solid constructive criticism of the MPL
> coming out of all this.

Maybe there is little constructive criticism of MPL, because the mere
mortals of template metaprogramming would rather talk about the
bicycle shed. To alleviate this problem, perhaps it would help if MPL
could be demonstrated in contexts where Loki::typelist has already
been used. This way, people can see A) that MPL is just as easy to
use, and provides more power on top of that, B) that MPL is not
necessarily as easy to use, but the additional power justifies the
difficulty,
or C) that Loki::typelist does indeed fill a niche for ease-of-use that
MPL does not offer.

I couldn't find a list of example usages such as one can find in MC++D,
but I admit that I didn't look very hard. If such examples haven't been
written, producing them would probably help people who look at
MC++D, say: "Wow, typelists are neat", but can't wade through an
implementation to judge whether one is really better than another. If
people could see Loki::typelists and MPL::typelists in use side-by-side,
at least the non-library writers among us can say: "Yes, I could definitely
learn to use MPL", or "It still looks Greek to me". And, if MPL
does have very powerful additional features which are not available in
Loki::typelist, then a few practical examples that mortal programmers
can relate to would help us see that they are something more than 0.01%
of C++ programmers in the world could realistically use.

I know this may sound one-sided, saying that MPL ought to produce
example usages; but the reality is that Loki has already done so, and
people can not only see the utility of those usages, but they can relate
to and understand them (to some extent). Since MPL is a new library,
many of us simply don't have any experience with it, and seeing the
work of someone who understands MPL applied to some practical
problems would help considerably in evaluating it's ease-of-use. The
bits of the documentation that I took a look at are really nice, and their
similarity to STL documentation is obviously helpful. However, I
needed to see examples of STL usage to learn it, and only after I had
become comfortable with it were the technical references of value to
me. I suspect many people feel this way.

I think MPL sounds like a neat idea, but frankly, I'm afraid I can't
get my head around it without some handholding. This isn't to say
that it's any worse off than Loki. I consider MC++D to be the
necessary "handholding" for Loki::typelists.

Dave


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