Requesting endorsements for YAP review
I mailed the list several months ago about YAP, an expression template library written against C++14 and later standards. The sources can be found here: https://github.com/tzlaine/yap and online docs here: https://tzlaine.github.io/yap I'd like to put this in the review queue, and so I'm looking for endorsements for this. At the time of my initial emails, there was some interest, but not much. Expression templates are a niche technology, so this makes sense. I'm trying to make ETs less expert friendly, so that they leave their experts-only niche. I feel this library does a fairly good job of that. If you do too, please endorse! Thanks, Zach
On Dec 3, 2017, at 11:36 AM, Zach Laine via Boost
wrote: I mailed the list several months ago about YAP, an expression template library written against C++14 and later standards. The sources can be found here:
https://github.com/tzlaine/yap
and online docs here:
I'd like to put this in the review queue, and so I'm looking for endorsements for this. At the time of my initial emails, there was some interest, but not much. Expression templates are a niche technology, so this makes sense. I'm trying to make ETs less expert friendly, so that they leave their experts-only niche. I feel this library does a fairly good job of that.
If you do too, please endorse!
I strongly support the idea of reviewing Yap at sometime in the near future. Cheers, Brook
-----Original Message----- From: Boost [mailto:boost-bounces@lists.boost.org] On Behalf Of Zach Laine via Boost Sent: 03 December 2017 18:37 To: boost@lists.boost.org Cc: Zach Laine Subject: [boost] Requesting endorsements for YAP review
I mailed the list several months ago about YAP, an expression template library written against C++14 and later standards. The sources can be found here:
https://github.com/tzlaine/yap
and online docs here:
I'd like to put this in the review queue, and so I'm looking for endorsements for this. At the time of my initial emails, there was some interest, but not much. Expression templates are a niche technology, so this makes sense. I'm trying to make ETs less expert friendly, so that they leave their experts-only niche. I feel this library does a fairly good job of that.
If you do too, please endorse!
On the strength of the docs alone, I endorse this as worthy of more-expert-than-I expert review. Paul --- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
On Dec 3, 2017, at 1:36 PM, Zach Laine via Boost
wrote: I mailed the list several months ago about YAP, an expression template library written against C++14 and later standards. The sources can be found here:
https://github.com/tzlaine/yap
and online docs here:
I'd like to put this in the review queue, and so I'm looking for endorsements for this. At the time of my initial emails, there was some interest, but not much. Expression templates are a niche technology, so this makes sense. I'm trying to make ETs less expert friendly, so that they leave their experts-only niche. I feel this library does a fairly good job of that.
If you do too, please endorse!
I would endorse it as well. I agree with the others that the documentation looks good. I don’t consider myself expert enough to render an opinion on the library itself, but I would like to see it get a look from the community. One suggestion: if you think it’s appropriate, you might add some details that compare YAP with Boost.Proto since they cover largely the same territory. Are there things that you can do with YAP, or do more easily or with less code, than you can with Proto? Can you show any metrics on performance improvements (e.g. compile time for like examples)? Are there any significant differences in philosophy? Jason
On Wed, Dec 6, 2017 at 9:43 AM, Jason Roehm via Boost wrote: I would endorse it as well. I agree with the others that the documentation
looks good. I don’t consider myself expert enough to render an opinion on
the library itself, but I would like to see it get a look from the
community. One suggestion: if you think it’s appropriate, you might add some details
that compare YAP with Boost.Proto since they cover largely the same
territory. Are there things that you can do with YAP, or do more easily or
with less code, than you can with Proto? I don't know if I want to add this to the docs or not; I've been thinking
about doing so. But I'll do so here now. YAP can do everything that Proto
does, plus a whole lot more. It usually does so with far less code.
Almost all of Proto's examples are reproduced as YAP examples. The ones
that are not were skipped because they showed how to do something with
Proto that is so easy to do in YAP that it makes a weird example. If you
compare these common examples across Proto and YAP I hope you'll find that
they're strictly easier with YAP. For example:
http://www.boost.org/doc/libs/master/doc/html/proto/users_guide.html#boost_p...
https://tzlaine.github.io/yap/doc/html/boost_yap__proposed_/manual/examples/... Can you show any metrics on performance improvements (e.g. compile time
for like examples)? I don't have metrics on this, but YAP is *way* faster to compile than
Proto. I have not found long compile times with YAP that I felt needed
addressing. At one point I added a compile stress test that included and
expression of thousands of terminals, and it took ~15 seconds to compile.
After that, I stopped worrying about compile times.
Are there any significant differences in philosophy? Yes, but only because YAP does some things that Proto cannot, since Proto
is 98 code. In Proto, transforms are evaluated implicitly, and expressions
are evaluated eagerly. In YAP, you can use that same evaluation model, but
the recommended model is to do explicit transforms and lazy evaluation.
This aspect is covered quite extensively in the docs already.
Zach
participants (4)
-
Brook Milligan
-
Jason Roehm
-
Paul A. Bristow
-
Zach Laine