An Introduction to Functional Programming Through Lambda Calculu...
标题《通过λ演算介绍函数式编程》指出,本书旨在通过介绍λ演算这一简洁的计算形式系统,提供对函数式编程概念的温和引导。λ演算由Alonzo Church发明,是理论计算机科学领域的一个核心概念。书中以纯λ演算为基础,逐步引入了函数定义、布尔值、整数、递归、类型、字符、列表和字符串等语法层,构建起一个较为高级的函数式表达形式。本书不仅涵盖了算术、线性和二叉树处理等数据结构操作,还讨论了各种替代的求值策略,如懒惰求值和并发计算。 描述中提到,本书的材料经过了作者在赫里奥特-瓦特大学第三学年的计算机科学本科生以及知识基础系统MSc研究生中的教学实践。尽管如此,本书并不企图将函数式编程呈现为计算的一种完整范式,因此书中没有包含关于函数式语言形式语义、转换和实现技术的材料。这些主题在其他书籍中已经有了很好的覆盖。例如,对于COBOL编程的学习,我们不会期待在教材中找到关于COBOL的指称语义或如何编写COBOL编译器的章节。同样,尽管一些主题可能值得更深入的探讨,但本书中对它们进行了省略或简略处理。 本书的内容结构为顺序呈现,每一章都建立在前一章的基础之上。在章节内部,作者大量使用了实例来说明概念,并在每一章的末尾提出了基于那一章思想和技巧的练习题,书末还提供了示例答案。本书面向已经学习过像Pascal、FORTRAN或C这样的命令式编程语言,并且有过使用数组和子程序编程经验的读者。无需任何数学前提,也没有对函数式编程经验的要求。 在书中,作者首先介绍λ演算的基本概念和计算模型,然后逐步添加更多的语法元素,以达到构建功能性编程语言的目的。这种从基础到高级的概念递进,有助于读者循序渐进地理解函数式编程的原理和实践。在这个过程中,读者将学习到如何定义和使用函数,如何处理布尔和整数运算,以及如何实现递归等基本函数式编程技术。在掌握了这些基本技术之后,本书还将讨论数据结构的函数式处理,包括线性列表和二叉树等,并介绍替代的求值策略,如延迟求值和并行计算等概念。 本书的另一个重点是将书中介绍的理论知识应用到具体的编程实践中。作者选择了Standard ML和COMMON LISP这两种函数式编程语言进行教学,让读者能够在实践中巩固和深化理论知识。通过对Standard ML和COMMON LISP的编程实践,读者可以更好地理解函数式编程在实际中的应用。 本书还涉及了编程范式的比较和分析,比如命令式编程与函数式编程的区别。通过对比分析,帮助读者更好地理解函数式编程的特点,以及它在解决实际问题时的潜在优势和局限性。这种比较视角有助于读者在未来面对不同类型的编程问题时,能够根据问题的性质选择最合适的编程范式和工具。 整体而言,《通过λ演算介绍函数式编程》不仅为初学者提供了一个学习函数式编程的平台,而且还帮助他们在理解了基本概念后,能够通过实践来深化和扩展知识。虽然书中并未覆盖函数式编程的每一个方面,但所提供的材料足够让读者建立起坚实的基础,并在更高级的学习和研究中继续探索函数式编程的其他方面。
- accfcx2018-07-15Good boo and you dian gui ji fen
- 粉丝: 0
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助