Boost logo

Boost :

Subject: Re: [boost] [Hana] Formal review
From: Joel de Guzman (djowel_at_[hidden])
Date: 2015-06-18 19:27:44


On 6/19/15 3:07 AM, Louis Dionne wrote:
> Joel de Guzman <djowel <at> gmail.com> writes:
>
>>
>> [...]
>>
>> A very minimal subset is all that I need, no more. C++14 is rich enough
>> to do TMP easily unlike before when MPL and Fusion were invented. Perhaps
>> you don't even need a TMP library anymore! As a matter of fact, Thomas
>> Heller and I are working on a phoenix-lite experiment with zero TMP
>> library dependencies (only uses std, nothing more). Compile times?
>> Blink of an eye!
>
> Joel, I'd be curious to see this phoenix-lite experiment. In particular, I'd
> be curious to give a shot at it with Hana when I get some time. It might be
> one of those examples that really do not benefit from a TMP library, but so
> far the code always shrinks in size when you use Hana instead of something
> else (or nothing). If you're using std::tuple, the compile-times should also
> go down by at least a bit.

It's not just about compile time, no. What's more important to me is
the conceptual overhead of using another library to do simple things.
TMP in what were once TMP heavy libraries used to take a significant
amount of code in c++03. Not anymore. Then of course another factor is
minimizing dependencies. The less dependencies the better. Zero is ideal.

There are other issues, such as debuggability of TMP code using the
lambda trick, if you are still using that for CT efficiency, but I
guess I need to dive deeper to give a real review. Not being able
to debug TMP code is a showstopper for me.

Regards,

-- 
Joel de Guzman
http://www.ciere.com
http://boost-spirit.com
http://www.cycfi.com/

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