Quinn Dunkan wrote:

Python has first class functions and lexical scoping, and encourages
higher-order functions, though to a much lesser degree than a real
functional language.

I was surprised to hear about first class functions and higher order functions. So I googled for a bit, and I found something neat:


---<snip>---
# Python implementation of Common Lisp's remove_if
def remove_if(predicate, lst):
    return [elem for elem in lst if not predicate(elem)]

print remove_if(lambda x:x % 2, [1,2,3,4,5,6,7,8])
---<snip>---

This is so cool. So there we have a higher order function, passing a funtion as an argument, and even lambda notation. Neat.


It is very natural to
write in a somewhat functional style, especially in regards to
sequence processing: higher order functions and listcomps provide the
processing and its built in generators and iterator protocol provide
some of the benefits of laziness.

Hhhmmm.. I guess the above is also an example of that.

[snip: lots of very interesting info I didn't know about]

Thank you for all the information. I learned a lot today. I had no idea that Python had these features.

Cheers,
Daniel.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to