Boost logo

Boost :

Subject: Re: [boost] [Hana] Formal review
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2015-06-18 01:43:39


Le 18/06/15 02:38, Joel de Guzman a écrit :
> On 6/18/15 3:55 AM, David Sankel wrote:
>>> You are strongly encouraged to also provide additional information:
>>> >- What is your evaluation of the library's:
>>> > * Design
>>> >
>> The core technique of combining value and type expressions is solid and
>> makes metaprogramming easier and, as a bonus, improves compilation
>> speeds.
>>
>> My one question, as I read though the implementation, is "can the core
>> benefits of this library be achived with a simpler 'light' version of
>> this
>> implementation?". While I appreciate the attempt to encode a
>> Haskell-style
>> typeclass hierarchy, I feel like that is not the core competency of hana
>> and should be a separate library and discussion. As it is, this is a 32k
>> header mega library. I'd prefer several small, highly-targeted,
>> highly-composable libraries.
>
> I still need to find time to make a formal review, but allow me to concur
> with this sentiment. Hana is a nice library, well implemented and
> executed.
> I'd vote yes for its acceptance into boost. But will I use it? That's a
> negative.
Why? the interface? the compile-time performances? is it because Hana is
too generic?
> I share the same opinion as Peter Dimov, and Eric Niebler that
> C++11 makes it very (extremely!) easy to do TMP. I'd prefer to use a very
> small TMP library like Peter's or Eric's with a very small (close to
> zero)
> conceptual overhead, or none at all. My current inclination is to use
> Eric's
> Tiny Metaprogramming Library. In my opinion, less is more in modern post
> c++11 TMP.
>
I like Eric's and Peter's meta-propamming approaches. They are close to
what we have been done on meta-programming since years, and the use of
C++11 (C++14) makes them shorter and more elegant. As I already said in
other threads (GSoC) I want a C++11 meta-programming library like Meta
in Boost.

I would be also interested in having a comparaison of the compile times
performances of Meta and Hana.

Vicente


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