----- Original Message -----
From: "Bruno Dutra"
2015-03-06 15:13 GMT-03:00, Robert Ramey
: My proposal is a response to suggestions that we might address the mpl maintenance problem by eliminating support for older compilers and standards. In my opinion, the suggestion has merit in that writing mpl using C++11 features would result in something much easier to maintain and understand. Of course this would not be compatible with C++03 compilers.
The only way to have it both ways is to leave the current MPL as it is and add a separately maintained "MPL Lite" or "MPL.core" or whatever which would be C++11+ only. For those who are concerned about the maintainability issue with the current MPL - and actually would be interested in doing something about it - I believe that this would be a good way forward.
Of course the original MPL would be around as long as anyone needs it.
This is my attempt to suggest something which pleases everyone.
No doubt support to defective compilers essentially renders MPL unmaintainable. The only thing of which I'm not so convinced yet, is the notion that keeping compatibility with C++98/03 would be that harmful to maintainability. I still believe it could be managed and, to me, that would be the perfect balance between compatibility and maintainability, hopefully attracting maintainers to MPL(2) once again.
2c: I would be against another metaprogramming library _unless_ it was based on thoroughly modern C++. It is long past time for Boost to start pushing compilers again at a fundamental compiler implementation level. Regards, Paul Mensonides