Boost logo

Boost :

Subject: Re: [boost] [mpl] multiset
From: Bruno Dutra (brunocodutra_at_[hidden])
Date: 2015-02-19 08:59:21


2015-02-13 15:05 GMT-02:00 pfultz2 <pfultz2_at_[hidden]>:

> > 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:
>
> https://github.com/ericniebler/meta
>

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*


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk