On Sep 8, 2009 2:41am, Rutger ter Borg <rutger@terborg.net> wrote:
>
> What would be nice is to be able to work with expression trees. In this case
> I'm referring to Proto's semantic actions, or expression transformation.
> E.g., rewrite an expression to make use of BLAS calls (or, some other
> "backend"). Pattern matching on the expression, rewrite, and transparently
> an other expression is used. All in compile time.

It definitely would be nice. I have found that as soon as you start down the path of generic and functional programming in C++, you start wishing you could mix/match this stuff. For example, lambdas binding to specific locations in vectors, auto-differentiation of vectors/matrices, etc. While I am not a good enough programmer to understand the details (and hope I never do...), it sure smells like having a consistent expression template library would make this stuff fit together seamlessly.

That said, I fear that if we worry too much about the long-term goal, we won't make the necessary patches to make ublas a good enough solution to hold us over.

If the GLAS guys are watching this list, I would love to hear their thoughts on the longterm vision and when they think we might be in a position to evolve boost's matrix library to the next level. Based on my experiences, it sure seems to me that GLAS is the right approach, but it is a hell of a lot of work.

-Jesse