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