Boost logo

Boost :

Subject: Re: [boost] [GSoC] A C++11 enabled TMP library (accepted)
From: Jonathan Wakely (jwakely.boost_at_[hidden])
Date: 2014-04-22 10:08:24

On 22 April 2014 14:42, Louis Dionne <ldionne.2_at_[hidden]> wrote:
> Edward Diener <eldiener <at>> writes:
> [...]
>> Please consider making the your library as close as possible usage-wise
>> to the current TMP library so as to make the transition for all the
>> other libraries which use TMP as easy as possible.
> Some of the core features of the (current) new library require diverging
> from the MPL in the following ways:
> - No more iterators. They do not bring anything performance-wise and they
> make the implementation of sequences considerably more complicated.
> - Laziness. This is a key point to improve expressiveness and could
> also improve performance in some use cases. I'm still investigating
> on that matter though.
> - No more implicit lambda expressions. These interact poorly, leading to
> counterintuitive behavior as in [1]. Usage of aliases could make the
> problem even worse.
> There is more, but that is what comes to mind right now. Note that I did
> reimplement a (rather large) subset of the MPL in a backward compatible
> fashion before I came to these conclusions.
> What is definitely possible is to make MPL data types (vector, int_, etc..)
> compatible with the new library. It should also be possible to make data types
> from the new library compatible with the old algorithms. That way, you could
> modernize some metafunctions without having to rewrite the whole metaprogram.
> I would like to know what other people think about this; I'm making a
> community probe.

I like your proposed plan, the divergences seem reasonable.

Boost list run by bdawes at, gregod at, cpdaniel at, john at