Lawrence D’Oliveiro wrote:
On Wednesday, September 28, 2016 at 3:35:58 AM UTC+13, Peter Otten wrote:
is Python actually a "functional language"?
Yes <https://groups.google.com/d/msg/comp.lang.python/P1Edc4eJNkY/D5KBo7skAgAJ>.
No, not according to what the term "functional language"
usually means.
Languages described as "functional" usually incorporate
all or most of the following characteristics:
* No side effects (new variable bindings may be created, but
existing ones cannot be changed; no mutable data structures).
* Lazy evaluation by default.
* Syntactic support for currying.
* Syntactic support for case-analysis-style definition of
functions, by matching the arguments against a series of
patterns.
* A standard library geared towards a programming style
that makes heavy use of higher-order functions.
Python has none of these features. It's possible to use a
subset of Python in a functional way, but it goes against the
grain, and without all the above support from the ecosystem
it's clumsier than it would be in a real functional language.
Some parts of Python, such as list comprehensions, have a
functional flavour, but Python is predominantly an imperative
language.
--
Greg
--
https://mail.python.org/mailman/listinfo/python-list