Why functional Python matters

Tj tj_scarlet at yahoo.com
Wed Apr 16 08:50:11 EDT 2003


Alexander Schmolck <a.schmolck at gmx.net> wrote in message news:<yfs7k9vcu2p.fsf at black132.ex.ac.uk>...
> I think your life might be much happier if you just went to
> http://www.drscheme.org/, dowloaded Dr Scheme and used *that* for
> webdevelopment. 

I don't know what it is, but while I learn a lot from those lispish
languages, I never use them in practice.  So much community
fragmentation, and Dr. Scheme seems to want you to differ from the
standard.  I find it more effective to work around Python's functional
inexactness.

I can't really live without lambda since it's a keyword.  But
map/filter/reduce can be done without since I can just express them as
libs.  In fact, "reduce" is one of those terrible lisp names (for
fold-left) that explain nothing.  Lambda could also stand renaming;
Pythonistas probably think it's an arrogant name.  (Or exotic?  I
can't tell.)

The main advantage of functional constructs is that they're a readable
way to get things done in less lines.  Less lines is more important
because Python is a whitespace language, and for that you want your
functions to be concise.  Otherwise you can start to lose your way. 
As far as readability, I think it's more readable than all those for-
and while-loops.  Not having to name simple functions is more
readable.  The only thing is that people used to C programming find it
disorienting to deal with lists as a central thing rather than some
annoyance to package up a bunch of elements.

In my code, I'm almost always handling lists of things.  It's like, if
what I'm doing is useful for one thing, it's probably useful for a
lot.

Tj




More information about the Python-list mailing list