您的位置:首页 > 编程语言

函数式编程

2015-10-18 20:32 369 查看

first class element

一般而言,程序设计语言总会对计算元素的可能使用方式强加上某些限制。带有最少限制的元素被称为具有第一级的状态。第一级元素具有某些“权利或者特权”包括:

可以用变量命名;

可以提供过程作为参数;

可以由过程作为结果返回;

可以包含在数据结构中。

Lazy evaluation

Guava中的Iterables#filter

所谓函数式编程,就是是函数是一等公民。

Ps:个人感觉「第一级」翻译成「第一等公民」更为恰当。)

尾递归

长期以来,尾递归一直被看作一种编译技巧。尾递归的坚实语义基础有Carl Hewitt(1977)提供,他利用“消息传递”模型解释尾递归。

Map&Reduce

有了一个尾递归的实现,我们就可以利用常规的过程调用机制表述迭代,这也会使各种复杂的专用迭代结构编程不过是一些语法糖衣了。

参考资料:

函数式编程

《计算机程序的构造与解释》

懒惰的力量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数式编程