Question about submission process

Is it kosher to submit a library for review, and continue to work on documentation and tests? Or should the library be "final" before it can be put in the queue? I'd like to get my expression template library (Proto) in the queue, and considering how deep the queue is at the moment, I think I'll have plenty of time to finish the docs before the review happens. -- Eric Niebler Boost Consulting www.boost-consulting.com

be put in the queue? I'd like to get my expression template library (Proto) in the queue, and considering how deep the queue is at the moment, I think I'll have plenty of time to finish the docs before the review happens.
Is this something similar to Daixtrose? If so, I'd be very interested in trying it out - I have a number of classes that I've been wanting to add expression templates to but have not been able to find the time. It sounds like it is in at least beta shape - where does it live now? Matthias

Matthias Schabel wrote:
be put in the queue? I'd like to get my expression template library (Proto) in the queue, and considering how deep the queue is at the moment, I think I'll have plenty of time to finish the docs before the review happens.
Is this something similar to Daixtrose? If so, I'd be very interested in trying it out - I have a number of classes that I've been wanting to add expression templates to but have not been able to find the time. It sounds like it is in at least beta shape - where does it live now?
Proto aims to be more that an ET framework. It's a domain-specific embedded language framework. In addition to ET building and evaluation capabilities (which is what Daixtrose does, IIUC), Proto provides facilities for building DSEL grammars. You can use the grammars to control operator overloading and, more importantly, for building tree transforms. Think of Proto as the compile-time equivalent of Spirit, where Proto's tree transforms are like Spirit's semantic actions. Proto is more than in beta shape. The code is done, and is being heavily used by Xpressive, and by Spirit2 and Karma (in development). The docs, which need work, are available here: http://boost-sandbox.sourceforge.net/libs/proto/doc/html/. The code is in boost cvs HEAD at $BOOST_ROOT/boost/xpressive/proto. I will be talking about Proto at BoostCon. Have you signed up yet? <nudge> http://www.boostcon.com -- Eric Niebler Boost Consulting www.boost-consulting.com

-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Eric Niebler Sent: Monday, April 02, 2007 9:50 AM To: Boost mailing list Subject: [boost] Question about submission process
Is it kosher to submit a library for review, and continue to work on documentation and tests? Or should the library be "final" before it can be put in the queue? I'd like to get my expression template library (Proto) in the queue, ...
Expression templates sound very interesting. Could you give a quick summary or a link perhaps? Eric.

on Mon Apr 02 2007, "Eric Lemings" <lemings-AT-roguewave.com> wrote:
Expression templates sound very interesting. Could you give a quick summary or a link perhaps?
This is the canonical source: http://osl.iu.edu/~tveldhui/papers/Expression-Templates/exprtmpl.html -- Dave Abrahams Boost Consulting www.boost-consulting.com Don't Miss BoostCon 2007! ==> http://www.boostcon.com

David Abrahams wrote:
on Mon Apr 02 2007, "Eric Lemings" <lemings-AT-roguewave.com> wrote:
Expression templates sound very interesting. Could you give a quick summary or a link perhaps?
This is the canonical source:
http://osl.iu.edu/~tveldhui/papers/Expression-Templates/exprtmpl.html
Hmm, isnt that just boost::lambda? I haven't used boost::lambda much yet, and i am not really proficient in functional programmign either, but could not the example form the page above: int main() { DExpr<DExprIdentity> x; // Placeholder evaluate(x/(1.0+x), 0.0, 10.0); return 0; } be written in boost:lambda as follows ? int main() { evaluate(_1/(1.0+_1), 0.0, 10.0); return 0; } If yes, what exactly can expression templates do that boost lambda cannot ? Michael Lacher

on Thu Apr 05 2007, Michael Lacher <michael.lacher-AT-hlw.co.at> wrote:
David Abrahams wrote:
on Mon Apr 02 2007, "Eric Lemings" <lemings-AT-roguewave.com> wrote:
Expression templates sound very interesting. Could you give a quick summary or a link perhaps?
This is the canonical source:
http://osl.iu.edu/~tveldhui/papers/Expression-Templates/exprtmpl.html
Hmm, isnt that just boost::lambda?
Umm, no. Boost.Lambda is just _that_ :) Todd's work is the original and everything else followed.
I haven't used boost::lambda much yet, and i am not really proficient in functional programmign either, but could not the example form the page above:
int main() { DExpr<DExprIdentity> x; // Placeholder evaluate(x/(1.0+x), 0.0, 10.0); return 0; }
be written in boost:lambda as follows ?
int main() { evaluate(_1/(1.0+_1), 0.0, 10.0); return 0; }
If yes, what exactly can expression templates do that boost lambda cannot ?
Anything you like :) Read the section on optimizing vector expressions, for example. Then see http://www.oonumerics.org/blitz/ Boost.Lambda is just one example of the use of expression templates: in a library for generating anonymous function objects. Boost.Spirit is an example of the use of expression templates in a library for generating parsers. Boost.Xpressive is an example of the use of expression templates in a library for building regular expression matchers. Boost.Proto is a library that abstracts out a great deal of the hard work the authors of those other libraries have to do. It is a library for building libraries that rely on expression templates. HTH, -- Dave Abrahams Boost Consulting www.boost-consulting.com Don't Miss BoostCon 2007! ==> http://www.boostcon.com

David Abrahams wrote: [snip]
Boost.Proto is a library that abstracts out a great deal of the hard work the authors of those other libraries have to do. It is a library for building libraries that rely on expression templates.
I think i understand now, thanks for clearing that up :) Michael

David Abrahams wrote:
Boost.Lambda is just one example of the use of expression templates: in a library for generating anonymous function objects. Boost.Spirit is an example of the use of expression templates in a library for generating parsers. Boost.Xpressive is an example of the use of expression templates in a library for building regular expression matchers.
Boost.Proto is a library that abstracts out a great deal of the hard work the authors of those other libraries have to do. It is a library for building libraries that rely on expression templates.
What Dave said. And you might think the target audience of a library like Proto is vanishingly small, but there's a chicken-and-egg problem here. Writing an expression template library today is so hard that few have gone that route. Proto aims to change that. -- Eric Niebler Boost Consulting www.boost-consulting.com

Hello Eric, Monday, April 2, 2007, 7:50:02 PM, you wrote:
Is it kosher to submit a library for review, and continue to work on documentation and tests? Or should the library be "final" before it can be put in the queue? I'd like to get my expression template library (Proto) in the queue, and considering how deep the queue is at the moment, I think I'll have plenty of time to finish the docs before the review happens.
Sounds promising. I'm not a review wizard, but, IMHO, a pre-review announcement with a few examples of usage and a brief description would be nice. And while you finish tests and docs people may try the library out and express their opinion of it. -- Best regards, Andrey mailto:andysem@mail.ru

Eric Niebler skrev:
Is it kosher to submit a library for review, and continue to work on documentation and tests? Or should the library be "final" before it can be put in the queue? I'd like to get my expression template library (Proto) in the queue, and considering how deep the queue is at the moment, I think I'll have plenty of time to finish the docs before the review happens.
I think that has been done many times before, so I think it would be ok to put it into the queue. -Thorsten

on Mon Apr 02 2007, Eric Niebler <eric-AT-boost-consulting.com> wrote:
Is it kosher to submit a library for review, and continue to work on documentation and tests? Or should the library be "final" before it can be put in the queue? I'd like to get my expression template library (Proto) in the queue, and considering how deep the queue is at the moment, I think I'll have plenty of time to finish the docs before the review happens.
Yes, it's kosher. -- Dave Abrahams Boost Consulting www.boost-consulting.com Don't Miss BoostCon 2007! ==> http://www.boostcon.com
participants (7)
-
Andrey Semashev
-
David Abrahams
-
Eric Lemings
-
Eric Niebler
-
Matthias Schabel
-
Michael Lacher
-
Thorsten Ottosen