charleyb123 . wrote:
Very nice. Very clean and impressive post.
Thank you. The speed at which you were able to read all of it is certainly impressive in its own right.
I particularly liked these two assertions:
(a) mp_size to compute type-list length is a truly generic primitive which is, "...so nice that [you'd] argue that all our metaprogramming primitives ought to have this property."
(b) "Lack-of-higher-order-metaprogramming", suggesting that in C++11 and beyond, we largely should not need metafunctions such as compose, bind, or a lambda library.
The only problem with (b) is that you can't define a template alias inside a function, which I myself found more than a bit annoying. Lambda functions a-la Hana have a distinct advantage here - they can be defined inside functions. Still. :-)