2015-02-13 15:05 GMT-02:00 pfultz2
I think Eric Niebler's meta library is good start for a modern MPL library, and it doesn't try to unify MPL and Fusion.
Also, you can find it here:
I see that there seems to be a tendency nowadays for metaprogramming libraries to inhabit that gray zone between compile and runtime computations, specially since the advent of generalized constexpr functions. It seems to me though that embracing constexpr functions within metaprogramming libraries rather cripples a pure metaprogramming breed on at least two instances: 1 - rather hackish syntax; 2 - intrinsic dependency on bleeding edge compilers and language standards. Take hana for example. It is an undeniably impressive piece of work for what's been designed, but that, in fact, is constexpr computations, which happen to depend on and thus provide type computations mechanisms. Hence it suffers of the two shortcomings I mentioned. MPL on the other hand, being a [almost] pure metaprogramming library manages to avoid these shortcomings. Compatible even to C++98, no wonder so many other boost libraries depend on it. MPL is however over 10 years of age and could definitely use some polishing, but I see no reason backwards compatibility should be dropped, like it has for the three examples you guys mentioned. Anyways, I don't have the necessary background to make such assertions, but I believe MPL still has a lot of room to expand within its niche and it baffles me that there has long been no group activelly improving it. Perhaps I'm just too stuborn and should better move on to hana. Well, I'd definitely appreciate some thoughts. Kind regards, *Bruno C. O. Dutra*