|
Boost : |
Subject: Re: [boost] [GSoC, MPL11] Community probe
From: Roland Bock (rbock_at_[hidden])
Date: 2014-04-23 03:17:34
On 2014-04-22 23:33, Vicente J. Botet Escriba wrote:
> Le 22/04/14 16:09, Louis Dionne a écrit :
>> Dear Boost,
>>
>> As a follow-up to [1], I am probing the community to help clarify what
>> are your needs/expectations with respect to a new TMP library. Your
>> involvement is important as it will help direct my work on an eventual
>> successor to the MPL (in consultation with my mentor, Joel Falcou).
>>
>> I expect this to be the first of a series of probes to the community.
>> This
>> one focuses on backward compatibility with the MPL.
>>
>> COMMUNITY PROBE
>> ---------------
>> Please comment on how you would like to see the following points
>> addressed
>> by a new TMP library:
>>
>> (1) Backward compatibility with the MPL. Should it be a swap-in
>> replacement? Is it enough to have an easy way to interoperate
>> between both libraries (think Fusion/MPL interoperation)?.
>>
>> (2) Learning curve for users coming from the MPL. How important
>> is it
>> for you to be able to reuse your knowledge of the MPL (not
>> of TMP,
>> but of the MPL itself)?.
>>
>> Please get involved by posting constructive material.
>>
> Hi,
>
> I'm not concerned with MPL-backward compatibility or the learning
> curve for users coming from MPL. You have an opportunity to build a
> new TMP library, the work will be long and hard, but adding more
> constraints than needed wouldn't help. TMP should be a basic library
> and other inter-operable libraries must be build on top of it.
>
> Of course, the new TMP should perform better and be easier to learn
> than MPL. This must be possible as C++14 provides more features and so
> you will be able to choose the ones that go towards this goal.
>
> What I would like is something that can be proposed to the C++
> standard. A little bit more of TMP in the standard would be much
> better than much more in Boost but outside the C++ standard.
I agree completely. I recently developed my own type set since I could
not use MPL (no full variadicity) or the standard library (no type set).
And even though it was kind of fun to implement, I would have preferred
to use something from the standard (or from something aiming to become
the standard).
That being said, I think you should aim for TMP14. Personally I would
very much consider C++14 plus Concepts Lite, because you are building a
library for the future, not for the past.
Best regards,
Roland
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk