On 21/12/2009 19:53, Walter Bright wrote:
Don wrote:
The problem is, I'm not sure that it's feasible in general. At least,
it's not obvious how to do it.

C++0x Concepts tried to do it in a limited form, and it got so
complicated nobody could figure out how it was supposed to work and it
capsized and sank.

I don't think it's possible in the more general sense.

The C++0x Concepts tried to add two more levels to the type system:
template <typename T> ...
The T parameter would belong to a Concept "type", and they also added Concept maps whice are like concept Interfaces. Add to the mix backward compatibility (as always is the case in C++) and of course you'll get a huge complicated mess of special cases that no-one can comprehend.

But that doesn't mean the idea itself isn't valid. Perhaps a different language with different goals in mind can provide a much simpler non convoluted implementation and semantics for the same idea? You've shown in the past that you're willing to break backward compatibility in the name of progress and experiment with new ideas. You can make decisions that the C++ committee will never approve.

Doesn't that mean that this is at least worth a shot?

Reply via email to