2.5 第二章小结
在这一章,我们简要地讨论了有关函数编程的内容,包括 lambda 演算的数学基础;学习了函数编程语言的核心要素,如不可变性,递归,函数当成值使用。我们简要介绍了影响函数语言的设计,并且几乎在所有函数语言中都有一定程度体现的思想。这些思想包括,使语言可扩展,用声明式风格写程序,避免可变状态。虽然我们讨论的所有语言,主体都是“函数式”,但它们之间仍有重要差异,因为每种语言对这些基本概念的组合上略有不同,有些语言是非常简单和可扩展,而另外一些在程序的执行上提供了更多的保障。
在下一章,我们将学习一些函数概念如何实际在F# 表现,同样的概念,在 C# 中如何表达,因此,可以把我们熟悉的 C# 代码,与对等的函数式 F# 代码放在一起比较;特别要介绍函数式数据结构,元组(tuple),F# 中基本的不可变数据结构,以及 C# 中对等的结构;还将介绍数据的集合(在函数语言中称为“列表”),如何用递归方式进行处理。我们已经看过,一个递归函数能够用于不同目的,把函数作为参数值,这样,可以用这种技术可以写出通用的列表处理代码。