From: Emily Winch (emily_at_[hidden])
Date: 2002-07-30 13:47:55
Andrei Alexandrescu wrote:
> "Aleksey Gurtovoy" <agurtovoy_at_[hidden]> wrote in message
>>BTW, I am kind of tired of repeating the same arguments over and over. If
>>you don't agree with them, it's your right. The separation of algorithms
>>from the sequence implementations is one of these things in MPL design
>>that are not going to change, period. I think it has been argumented well
>>enough over the time; if you feel that this is a corner issue, feel free to vote
>>the library down.
> My intent was to become convinced, not to vote the library down.
Well, if convincing is what you want, I'll give it a go...
In [normal runtime] C++ it has been established that different kinds of
containers are useful for different things, and that algorithms that
work with a container abstraction rather than a container are a Good Thing.
In functional languages they have a very different way of looking at
things than in C++, which I'm not going to expound upon lest people
notice how much I don't know what I'm talking about :)
In metaprogramming we can see that we need a bit of C++ and a bit of
functional-type stuff, but there is no consensus on how much of each for
which tasks: we don't yet know how best to think in meta. (Well I don't).
Thus, the best possible thing to have at the moment is a framework that
allows us to do both of these things. We can write meta-looking-like-C++
and meta-looking-like-lisp, and we don't have to bang our heads against
compiler bugs quite as much to do so. We can _find out_ what works best,
and if in the end people discover that a simple typelist and partial
specialisation everywhere is "better", then good! then we will know! The
fact that not everyone is agreeing with you, however, is evidence that
further investigation is required.
To me the MPL is a platform for trying things out, and in that role
support for multiple paradigms can only be a good thing.
Oh, and by the way, I vote "Yes Please".
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk