On Thu, Feb 15, 2018 at 12:21 PM, a.hagen-zanker--- via Boost < boost@lists.boost.org> 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