Boost logo

Boost :

From: Gary Powell (powellg_at_[hidden])
Date: 2001-12-11 15:57:46


>>
 I'd be glad to enhance typelists. What I want to stay away from are
gratuitous changes. "You know, what used to be 'length' is now 'size'. I
don't know exactly why."
<<
Ok it looked to me like Mark Rodgers gave the reasons... do you have a
counter reason?

>>
> 3) Implementation doesn't matter. Ok, it does, in the sense of whether or
> not I as a customer can use it on my compiler, and whether it generates
the
> most efficient code, but in the grand scheme of typelists, interface is
what
> is critical. Define the interface, that's what the standard does. Then we
> can choose the mpl or the loki implementation. The right one will become
> obvious after we've used it a while.

I agree again... *but*. The implementation of typical typelist algorithms is
where the typelist user goes to find inspiration for their own algorithms.
Look at the *simplest* mpl algorithm that does something on a typelist.

And don't even get me started about error messages...
<<
And here again I agree with you. But for typelist to be accepted by boost,
what is critical is the for interface to be correct, first, implementation
second.

Don't get me wrong, I want typelists. I like simple interfaces in general,
and I like simple implementations as long as they do the job.

>>
My belief is that with dilligence, publicistic effort, and time, simple
"dot" typelists (Loki-like) will make it in the mainstream C++ user
community, and maybe will trigger development of language support. They are
hard to grasp but powerful enough to justify their learning curve. In my
humble opinion, the implementation style and paradigms pioneered by mpl,
while intellectually interesting, will never make it in the mainstream.
Actually I think it will never make it outside an inner circle of gurus. The
long discussion we've had here has only strengthened this impression.

That is quite a strong statement, so I feel compelled to add two things. One
is that that statement might just as well be wrong. Second, the main reason
for which I have strong opinions is that I spend time and effort to form
them.

Andrei
<<
That's fine. But that doesn't mean I'm going to discourage development of
mpl. Some ideas are worth exploring just for their own sake. Sometimes
something else falls out of that exploration that is so worth having that
the complexity is second nature. Other times, some very smart person sees
the core idea, has a better implementation/or idea and that's what gets
used. But in order to walk, its ok to crawl. The example I like is that in
order to see that a Lambda library and binders were necessary we had to
stumble around with mem_fun and their ilk. Feynman diagrams are another cool
example of smart people seeing the simple in the complex.

  Yours,
  -gary-


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