|
Proto : |
Subject: Re: [proto] [phoenix3] FC++ still gets much attention
From: Eric Niebler (eric_at_[hidden])
Date: 2010-08-19 12:07:12
(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 list run by eric at boostpro.com