
I really wonder what would be a reasonable semantics of concept recursion.
The idea seems reasonable at first blush. We are used to such things from the start of maths and computer science. A problem seems to be that we are trying to be meta-meta when meta- alone suffices. I am reminded of when Buddha was asked about meta-existance (life after death). He said that we should be more concerned about the here and now, and less concerned about what may or may not come after. The same seems to be true in this and many other similar cases. Yes, compiler errors are terrible in C++ with deeply nested meta-code. We all know about it, and C++0x was going to 'fix' it with concepts. Alas, that was not to be. So we are stuck with template and typename and invalid use thereof rather than solving any real problems. Why not just move to D? I realise this is a C++ list, but even so this is also a list of intelligent people. Among many others, I have been bi-curious about D for some years but have yet to make the leap to make a project with it. But why not? I realise this is outlandish to post to boost. I am just openly wondering: why don't we all just move to D? AFIACT it links with all existing (non-templated) C++ libraries. Alex has put is own stake down some time ago. We all admire him. C++ has let us down, and even then we know that it will be years before boost can use even a modicum of C++0x let alone C++1x features. Or, we could get them and more now by just moving to D and be done with it. I don't have any action items to add here. I don't know what it would take to move to C++ to D. But I for one am open to the idea. Regards, Christian.