(Bcc'ing original To: list and moving this discussion to the proto list. Please join us there if you're not already a member.)
On 8/19/2010 4:41 AM, Thomas Heller wrote: > Hi, > > Just discovered this one: > http://www.ibm.com/developerworks/aix/library/au-learningfc/index.html?ca=dgr-lnxw07FCPPdth-AIX > > (http://tinyurl.com/2czmcbd) > > Interesting read, claims FC++ be the best functional programming > implementation. > Isn't Phoenix supposed to be the successor of FC++? No, Phoenix is supposed to be the successor of Boost.Lambda. > Does phoenix need such a list data structure? It might possibly benefit from one. But let's be clear: Phoenix is intended to be a C++-in-C++ DSEL that just happens to have some functional programming goodies. FC++ is a FP/Lisp/Haskell DSEL that makes no effort to be like C++ at all. For instance, this is a FC++ lambda: lambda(X)[ plus[multiplies[3,X],1] ] This is fine if you're used to functional programming but wouldn't sit well with most C++ programmers. The Phoenix equivalent is: 3 * arg1 + 1 I don't think there's any question which the majority of C++ programmers would prefer. That doesn't mean would couldn't borrow ideas from FC++ or the functional crowd in general. In fact, the entire FC++ API could probably be offered as a separate library built on top of Phoenix. (BTW, FC++ was reviewed for inclusion in Boost and rejected, not because it was bad, but because the authors (IMO) did a poor job of explaining the benefits of functional programming as a paradigm to the Boost community as a whole.) -- Eric Niebler BoostPro Computing http://www.boostpro.com _______________________________________________ proto mailing list [email protected] http://lists.boost.org/mailman/listinfo.cgi/proto
