why python annoys me

Lloyd Kvam lloyd at venix.com
Fri Apr 27 13:25:49 EDT 2001


A functional programming language requires that every function return the same result from the same inputs.

A "non-functional" function can make that clearer.  If a bank has a function add_to_balance that takes a deposit value as an argument and returns your new balance, that would be non-functional.
add_to_balance(3) returns 3
add_to_balance(3) returns 6
add_to_balance(3) returns 9

One of the benefits of a functional language is that it is easier to implement parallel processing.

http://cm.bell-labs.com/cm/cs/who/wadler/guide.html

goldaryn wrote:
> 
> James Logajan <JamesL at Lugoj.Com> summoned a gibbering mouther that screamed:
> >Alex Martelli wrote:
> >> [...] since Python does have list comprehensions, [...]
> >
> >Not being a computer scientist, I hope you can excuse a profoundly ignorant
> >question, but what are (or is?) "list comprehensions"? And another question
> >(probably harder to answer): is there someplace on the web or in print where
> >I can find a good definition of "functional programming"? I'm pretty sure it
> >doesn't mean classical procedural notation, more like mathematical or
> >logical notation, but I can't be sure.
> >
> >Many years back I did some application development using such a beast (at
> >least I think that is what it was trying to accomplish), but in the end one
> >had to rely on procedural elements to get information in and out and do some
> >other pedestrian things.
> >
> >Thanks!
> 
> Searching Google (www.google.com) with "immutable types functional
> programming" I got this URL. Should do the job.
> http://gnosis.cx/publish/programming/charming_python_13.txt
> 
> Basically, functional programming is not sequential processing of command
> using variables. You define methods. You're right, it is hard to define :)
> 
> I learnt SML at first year of university. If you're keen you might try that as
> an example language. Search Google.
> 
> g.

-- 
Lloyd Kvam
Venix Corp.
1 Court Street, Suite 378
Lebanon, NH 03766-1358

voice:	603-443-6155
fax:	801-459-9582



More information about the Python-list mailing list