Osc*_*Ryz 24 lisp programming-languages functional-programming
我在书中读到:"编程的主人",与Guido Van Rossum的访谈说:
Python与Lisp共享的基本属性(也不是函数式语言!)是函数是一流的对象 ......
那么,Lisp 不是一种函数式编程语言?
圭多错了吗?之后怎么样了?
mik*_*era 23
几乎我所知道的每一个Lisp都可以用来编写一个函数式的程序(毕竟你真正需要的只是一流的函数!)
但是,Lisps更像是多语言工具包:你可以进行函数式编程,OOP,逻辑编程,定义你自己的DSL用于一些糟糕的新范例等.
可能最接近函数式编程风格的Lisp是Clojure(它具有惰性评估,不鼓励OOP,始终使用不可变数据结构,限制不受控制的突变(通过STM),在核心库中具有相当多的纯/高阶函数等等.)
有些语言允许并鼓励函数式编程范例.Python和Lisp都属于这些.Lisp尤其是第一个应用从lambda演算得到的理论概念的人.在20世纪50年代后期,当几乎只有FORTRAN和Lisp存在时,Lisp被强调为功能性的,其中FORTRAN具有完全静态的内存管理,永远不会被认为是功能性的.
但是,Python和Lisp都不会强制执行纯函数,允许使用可变变量,状态和命令式构造.风格的混合在实践中总是很方便,所以在非常成功的工具中你可能找不到很多纯概念的例子.
在纯功能语言中,Haskell,Clean和Miranda是列举的例子,但我不能对它们说些什么.
| 归档时间: |
|
| 查看次数: |
13706 次 |
| 最近记录: |