
"David B. Held" <dheld@codelogicconsulting.com> writes:
[...] This is not nesserary good thing. I would prefer to be able to use imperetive style in metaprogramming.
Really? You would want mutable types? So suppose I define a class type, and then you use it in one place, and I redefine it later, and you use it again? Does the fact that the ODR is broken bother you?
Careful, Dave. In general, metaprogramming doesn't need to use types as its underlying computation mechanism. Java and Python have immutable strings but imperative code; likewise it's possible to design a language with immutable types but imperative metacode. In fact, I predict that if support for concepts is built into C++ we will eventually run out of rope even for the things we do today with TMP and we will *need* a new approach. I sure hope that approach can look more like regular C++ programming than TMP does. -- Dave Abrahams Boost Consulting www.boost-consulting.com