|
Boost : |
From: Andrei Alexandrescu (andrewalex_at_[hidden])
Date: 2001-12-10 19:39:56
> 1) Don't be afraid of changing the Loki interface. First off you can write
> 2nd Ed. books and make more money, but all joking aside, once people
really
> start using something, it often become obvious what should have been done.
> And in this case other than implementation details, I haven't seen a
> conveniencing argument that either mpl or loki have the interface of
choice.
I agree. 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."
> 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...
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk