【发布时间】:2019-06-04 19:58:10
【问题描述】:
Python 变量是鸭子类型的,可变的,它的函数可以写成有副作用。 (换句话说,它有很多非函数式编程特性。)
但是,它也具有一流的功能,但它不是一种函数式编程语言。因此,我想编程语言可以具有功能方面(或另一种语言范式的方面)一定是真的,即使它不属于该范式。究竟是什么让 Python 不是成为一种函数式编程语言?是对它是否具有单一特征的测试还是对多个事物的测试? (如果是前者,使 Python 无法运行的单一方面或使 Haskell 正常运行的单一方面是什么?)
【问题讨论】:
-
IMO 它不适用于递归,因为它没有尾调用消除。锻炼它你不能依赖它作为控制流的唯一手段,例如像 Scheme 那样。
标签: python functional-programming programming-languages first-class-functions