
On Sat, Nov 19, 2011 at 5:37 AM, Joel de Guzman <joel@boost-consulting.com> wrote:
On 11/19/2011 12:54 PM, Gregory Crosswhite wrote:
On Nov 19, 2011, at 2:23 PM, Joel de Guzman wrote:
Why can't we C++ programmers just accept the fact that we don't have *true* local functions like those in Pascal and Modula? [...] Again, I share Thomas' sentiment. It's not worth the additional complexity and arcane syntax.
Please forgive me, but it is very difficult to believe that you are seriously making these kinds of criticisms given that you are one of the authors of Boost.Phoenix which itself uses an incredibly complex and arcane syntax to attempt to give C++ features that it doesn't "truly" have.
Phoenix is doing something that needs to be done and cannot be done any other way. It is not the same with locals where there are other ways to do the same thing and the only advantage I can see is a bit of extra PP-based sugar. We can live without local functions, but we
Well, we can but we don't have to live without local functions, we can use Boost.Local (I think I'm starting to repeat myself... I should stop that :) ).
cannot live without FP as a means for programming with anonymous functions, lazy evaluation, partial function application, etc.
See the big difference?
This is a bit off topic... but how do lambdas and other C++11 features change this landscape for FP? (They obviously provide anonymous functions and closures... how about the rest?) Thanks. --Lorenzo