
On Sun, Aug 06, 2006 at 09:51:27PM -0700, Eric Niebler <eric@boost-consulting.com> wrote:
The library lacks a proper documentation, and requires some interface changes to simplify attribute update operations. Before working on that, I wanted to see if there is interest at all.
I used the framework to implement a matrix library with a signle frontend and multiple backends, that could be picked and combined on a by expression basis.
I'm interested. I'd like to see some examples; especially on how the "rule system" works. I am also interested to know how a domain can be adapted for use by 2 or more libraries: xpressive and spirit being main examples. IOTW, in the future, spirit and xpressive parts can be shared.
Joel, Hartmut Kaiser and I have spent a lot of time working out the details of an expression template system that would work for xpressive, Spirit-2 and Hartmut's Karma library. The discussions were public on spirit-devel. Search the archives for "Spirit-2 and Subversion", "Scanner Busines, R.I.P.", "Proto Compiler Visitors", "Fusion-ifying proto parse trees", and "segmented fusion - a-ha!"
In particular, this is the message where the strategy to unify all the ET libraries really crystallized:
http://permalink.gmane.org/gmane.comp.parsers.spirit.devel/2620
It would be great if you could share your thoughts on how you would approach these problems with your new ET library.
I did not yet manage to read all email, but from what I read, you seem to plan using segmented sequences to encode the complete expression tree. The framework instead stores the expression tree mainly in a fusion map. But I think it makes sense to support both encoding variantes. With segmented sequences attributes will not work, and probably not required.
To be honest, right now, for Spirit-2, I am inclined to use Eric's proto. It's been there for quite some time now and is quite mature. But, like your library, there are no docs yet (as far as I know). I'm not sure when Eric will have the time to get it outside xpressive as a standalone ET library, for review. At any rate, it would be interesting if you can form a collaboration with him. So, instead of having 2 separate ET entries, we can just have one that has the the best of both. Is that possible at all? Or is your library too different from Proto?
I too would be interested in hearing more about your ideas and helping to build a unified ET framework for boost.
unified .. thats the reason why I intended to call the library Boost.Unification :) Regards Andreas Pokorny