From: Gary Powell (powellg_at_[hidden])
Date: 2002-03-22 18:17:48
Also let me also acknowledge that Todd Veldhuizen wrote in 1995! about
overloading operators to pass in as anonymous functors. ET only saw that it
could be extended for the use of this for simple types, instead of just
vectors and matrixies. We the added the control structures and concatenation
",". Tuples on which LL & Phoenix is built upon were done in 1997 by
So the point is that this technology is not new. Only all the syntaxic
sugar is. (ok, I think the use of _1 as a untyped placeholder is new
technology, (Jaakko, '1999/2000 in bind ) but it required a compiler which
could do member templates, something I'm not sure that Todd had access to in
Mostly what has happened is that there is a critical mass of programmers
using STL, who have access to somewhat more capable compilers, who now see
what we saw back then; that the current state of affairs plus<>, compose()
just doesn't scale up well. Whether LL, FC++, FACT!, Phoenix scale well we
won't know until we spread it out among the community and let them try it.
They all appear to, but then STL looked good when we all first tried it too.
That's what boost is good for, its the cauldron of testing, BEFORE,
standardization. That's why we even bothered to port lambda to boost.
Anyway if you have never programmed with Expression templates its very
interesting work. I invite my fellows here to try it sometime. Who knows
what you'll think up.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk