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

Carl Banks pavlovevidence at gmail.com
Sat May 9 06:52:22 CEST 2009


On May 8, 7:19 pm, namekuseijin <namekusei... at gmail.com> wrote:
> 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.

Some using commas, some not, some grouping arguments by arity, some
not, some allowing keyword argument, some not, etc.  Point is, even
the thing you claim hardly varies between languages does vary a
significant bit, but it's not nearly as much as other syntactic
differences in functional languages.


> > 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.

So?  The user still uses that syntax, so how can you claim it doesn't
matter?


> In Lisp
> languages, that syntax is merely user-defined macros, but in Haskell
> it's builtin the compiler for convenience.

I don't even know what you're saying here


> > 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.

Fine.

Functional programming isn't "nothing but calling functions USING
FUNCTION-CALL SYNTAX".


> 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.

I made no such point.  You may be confusing me with Paul, and I can't
imagine what higher-order functions have to do with whether syntax is
important or not.


Carl Banks



More information about the Python-list mailing list