

Functional Programming in Python - michaelkscott
http://www.freenetpages.co.uk/hp/alan.gauld/tutfctnl.htm

======
leephillips
One obstacle to functional programming in Python is that the libraries tend to
work against you. So many functions mutate values rather than returning a
result with no side effects. For example, random.shuffle() shuffles an array
in place rather than returning a new array.

