如何打造“函数式”编程语言

 我来答
匿名用户
2016-05-22
展开全部
严格的函数式语言是没有变量的赋值行为,讲究的是引用透明性,也就是说一个表达式返回一个值,那么它永远返回一个值,不会变。

函数式语言常常和递归联系起来,这是因为一般的循环结构,除非 while(1) 这种死循环,都是和表达式的变动关联起来的,比如说 while(n) 就是要不断修改 n 的值直到 n == 0,在函数式语言中是必须避免的。

递归通过调用函数的参数不同,来达到数据的变动却不破坏引用透明性。并且如果加入尾递归优化,那么递归的性能和循环是等价的。

函数式语言另外一个特点,也是一个语言能自称函数式的关键所在是,函数是“一等公民”,这是说能像操作数据一样在函数中动态生成新的函数,可以将函数赋值给变量,可以把函数放到数据结构里,可以把函数作为参数和返回值。

达到这一个特性的语言都可以宽泛的称作函数式编程语言,并不和过程式和面向对象冲突。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式