From: Powell, Gary (powellg_at_[hidden])
Date: 2004-03-01 19:12:44
I looked at FC++ a long time ago when I first started working on Lambda, (known as ET then), and I thought that the FC++ approach was cool but not what I needed. I guess that's still my opinion. Of course I'm really really biased as an author of Lambda.
While the documentation of FC does appear to need work from all the comments from those who are using it, I think that FC should become part of boost conditional to the improvements recommended.
To tell the truth, I haven't been able to make time to run the examples and it bugs me that others weren't able to. I know that when I first looked at FC++ it all worked using gcc 2.93.
And I think that there is room in boost for a couple of these Expression Template languages. I think FC++ fills a different need than Lambda does and whether or not current compilers generate more efficient code, than hand coding it, isn't really the issue for me. Boost acceptance hasn't been a guarantee of code speed but one of quality of implementation, i.e. bug free and portable. When I first started work on Lambda, it was extremely difficult to get better code than hand coding on most compilers.
I did read the docs, and they do make sense to me, but then I've messed with expression templates for a long time. I did look at the code and its not as clean as it once was but then when we boostifed Lambda it lost some of its cleanness too.
The biggest benefit to these language/libraries, is they highlight, via a prototype, what are the problems with the core language. They allow us to play with some whatif's that otherwise would take modifications to gcc.
I think its pretty clear that some sort of anonymous functions are needed in C0X++. But until they are designed and voted on and implemented, we are left with FC++ and BLL++ and FACT!.
It's also clear that Variable length template arguments are needed to reduce the code bloat. And that a reference saving "typeof" is essential.
So if the above ramble is in-coherent. I vote accept FC++, with the caveat that monads are out until the docs are finished and that the rest of the docs improved up.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk