Requesting endorsements for YAP review

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Requesting endorsements for YAP review

Boost - Dev mailing list
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

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Requesting endorsements for YAP review

Boost - Dev mailing list

> On Dec 3, 2017, at 11:36 AM, Zach Laine via Boost <[hidden email]> 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:
>
> 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!

I strongly support the idea of reviewing Yap at sometime in the near future.

Cheers,
Brook


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Requesting endorsements for YAP review

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
> -----Original Message-----
> From: Boost [mailto:[hidden email]] On Behalf Of Zach Laine via Boost
> Sent: 03 December 2017 18:37
> To: [hidden email]
> 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:
>
> 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!

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




_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Requesting endorsements for YAP review

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list

> On Dec 3, 2017, at 1:36 PM, Zach Laine via Boost <[hidden email]> 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:
>
> 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!

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

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Requesting endorsements for YAP review

Boost - Dev mailing list
On Wed, Dec 6, 2017 at 9:43 AM, Jason Roehm via Boost <[hidden email]
> 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_proto.users_guide.examples.tarray

https://tzlaine.github.io/yap/doc/html/boost_yap__proposed_/manual/examples/tarray.html


> 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

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost