Subject: Re: [boost] Yap's formal review is starting now!
From: Zach Laine (whatwasthataddress_at_[hidden])
Date: 2018-02-15 20:46:13


On Thu, Feb 15, 2018 at 12:21 PM, a.hagen-zanker--- via Boost <
boost_at_[hidden]> wrote:

>
>
> >> Don't use examples without explaining what they are an example of.
> >>
>
> > Could you give an example? No snark, I just don't know exactly what
> you're referring to here.
>
> https://tzlaine.github.io/yap/doc/html/boost_yap__proposed_/
> manual/tutorial/operators.html
>
> "Let's see an expression template type with some operators:"
>
> OK I see it, but I don't understand what you want me to be looking at.
> There is only one operator (with some caveat) and two macros that could
> well be operators.
>
> But to be honest, I just looked and didn't find many more cases.
>
> I think you can chalk this up to the general request for the tutorial:
> slow down and introduce more.

Right. That was my take-away from your review. I'm working on that, and
I'm even using std::sqrt() in particular in the intro example explaining
expression templates.

> >> *Section Dependencies
> >> Why depend on Hana, my impression of Hana and the associated review /
> >> discussion is that this library is made for demonstration of next
> >> generation C++ rather than actual use.
> >>
>
> > Because it makes everything having to do with tuple use and manipulation
> easy. This is why we make and use libraries, right? So we don't each have
> to reinvent the wheel?
>
> That could be right. However, to me it seems that you chose quite an
> esoteric template class for the public interface.

The alternative would be to have the user write std::tuple instead of
boost::hana::tuple. That seems like a pretty modest ask, considering that
std::tuple has no associated algorithms. As Paul Fultz pointed out
previously though, Hana can operate on users' std::tuples.

So the question comes down to how much compile time (std::tuple is a *lot*
slower to compile than hana::tuple) and implementation cost do I want to
give up to get MSVC support. My answer is "not much". Others may differ.
Patches are most welcome. I don't mean that in a "go away" sense -- I'm
really am willing to maintain an MSVC code path. I'm just not willing to
write one from scratch.

Zach