On 8/2/17 4:22 AM, Bjorn Reese via Boost-users wrote:
It was discussed if C++11 (and later) makes it too easy to write our own metaprogramming utilities, and thus not needing a metaprogramming library. This was not directed at Mp11 in particular. Some of the arguments in favor of a metaprogramming library were better performance and portability.
I would like to add another advantage of a metaprogramming library, namely that it gives us a common vocabulary.
There is one point I forgot to mention in my review which I would like to mention now. I see the library as a "thin" implementation replacement for boost.mpl. This is totally approrpriate and useful. But there is one thing that MPL does which is not done by mp11. MPL is much more than a library. It's an exhaustive tutorial on template meta-programming for beginners. It works in conjunction with Abrahams and Gurtovoy's very helpful book. For each meta-function it includes a small example illustrating how it is to be used. For this reason, MPL has probably been the single most important factor in getting TMP into the mainstream. I would very much like to see mpl11 continue to perform this very, very important function. Specifically I would like to the documentation contain a page for each meta-function which includes: name description implementation - almost all the functions have very simple (once you see them) implementations - often just one line. example of use I was pleased with the power and simplicity of the library, I forgot to include the above suggestion. Hope it's not too late. Robert Ramey