I'm intrigued that Python has some functional constructions in the language.

namekuseijin namekuseijin at gmail.com
Fri May 8 22:19:21 EDT 2009


On May 8, 10:13 pm, Carl Banks <pavlovevide... at gmail.com> wrote:
> On May 8, 5:47 pm, namekuseijin <namekusei... at gmail.com> wrote:
>
> > My point is that when all you do is call functions, syntax is
> > irrelevant.  You call functions pretty much in the same way regardless
> > of language:  functionname, optionalOpenPar, parameters,
> > optionalClosePar.
>
> then...
>
> > Functional programming is all about defining functions and applying
> > functions.  Core ML, Haskell and Scheme are all like that,
>
> Yet all three use a different syntax to call functions, none of them
> the "pretty much the same way" you listed above.

It's still functionName arguments AFAIK.  Some using parentheses
around the arguments, some around all, some not using parentheses at
all.

> Haskell and Python have syntax for list operations, that matters.
>
> Haskell nexts using indentation, the others nest using tokens(**),
> that matters.

In Haskell, Lisp and other functional programming languages, any extra
syntax gets converted into the core lambda constructs.  In Lisp
languages, that syntax is merely user-defined macros, but in Haskell
it's builtin the compiler for convenience.

> I can go on, but you get the idea.  Point is: functional programmint
> isn't "nothing but calling functions".

Oh yes, functional programming is all about function definition and
function calling.  You have a point about higher order functions, but
that's really only useful as far as your lambda expressions are useful
-- that is, conveniently defining anonymous functions on-the-fly and
immediately applying them.



More information about the Python-list mailing list