
Hartmut Kaiser wrote:
Hi all,
this is just a gentle reminder for all intending to write a Proto review to finish it really soon.
... <snip>
Regards Hartmut Review manager
I unfortunately don't have time right now to write the carefully crafted and detailed review that the library deserves. However, **I am strongly in favor of including the library in boost.** Short review: I have spent about 15 hours with the library and documentation spread out over the past month or so. I make no claim to being an expert in the field, but I have fiddled with expression templates for a couple of years because I find the potential of them very seductive. I have compiled a few of the examples and considered how to move some of my work into using proto. I am very happy with the basic structure and implementation of the library. Studying it helped clarify some things about how to use expression templates that were still muddy for me, and good abstractions usually accomplish that. Because the library is so large and the potential for it so vast, it is not perfect in implementation or documentation, but I have nothing to point out that hasn't already been in other reviews as things to fix. The biggest thing I would like to see is in the realm of documentation. What I would like isn't really appropriate for the library documentation, so I'll add my voice to those who think proto and the techniques it embodies are worthy of a book. Ideally, Eric will be a part of writing this book, but I think it will be a massive undertaking to do it well so I suggest whomever decides to tackle it looks for appropriate co-authors. The book plus library should start with toy examples and build up to a mental framework for how to design DSL's and how to use proto to implement them. There are some other books (such as Dave and Aleksey's MPL book or C. and E.'s Generative Programming) that look at parts of this, but a concrete tool such as proto can be used to structure the discussion and make it more accessible to a larger body of programmers. Without a reference off this sort, I am afraid that 90% of the programming projects that could greatly benefit from this library won't ever use it, and I think the library and the developers who don't yet know what they're missing deserve better. Sorry once again that I'm too pressed for time to write a better review. Thanks to Eric for the library and the other reviewers for minding the details I don't have time to mind right now. John Phillips