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> tropicsoft.com> 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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk