
John Phillips wrote:
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.**
Thanks. <snip>
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.
Whoa. :-)
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.
I actually agree with this sentiment -- most people who could profit from Proto won't know about it, or would be put off by its size and apparant complexity. But even so, I don't think we're talking about a lot of people here -- the market for about book about DSEL's in C++ is probably pretty small. Am I wrong to think that? It might make more sense (and be more fun) to write a series of articles or start a blog that explores DSEL design using Proto.
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.
Thanks for your feedback. -- Eric Niebler Boost Consulting www.boost-consulting.com