On Mon, May 22, 2017 at 1:43 PM, Peter Dimov via Boost < boost@lists.boost.org> wrote:
[...] mp11 is a simple C++11 metaprogramming library, [...] https://rawgit.com/pdimov/mp11/master/doc/html/mp11.html
From reading the Boost ML, it seems that one of the major difference between the "competing" modern meta-programming libraries is around SFINAE [1], yet I found a single mention in the doc for a subtle use of mp_defer. For non-experts like me, it might be useful to highlight more of the design rational for going with "simpler and eager-by-default" design (if I got that right) while still allowing SFINAE via mp_defer, versus other SFINAE-first approaches?
I just remembered from past long threads on this subject that it wasn't quite clear cut, and would appreciate maybe a few sentences to summarize the problem and explain which approach mp11 took and why? For non-expert preferably. Unless I missed it in the doc. And perhaps also contrast proposed mp11 with Boost.Hana, and even classical Boost.MPL? Thanks, --DD [1] http://en.cppreference.com/w/cpp/language/sfinae