内容简介
本书是关于ML程序设计的经典教材,详细介绍如何使用 ML语言进行程序设计,并讲解函数式程序设计的基本原理。
书中含有大量例子,涵盖了排序、矩阵运算、多项式运算等方面。大型的例子包括一个一般性的自顶向下语法分析器、一个一演算归约程序和一个定理证明机。书中也讲述了关于数组、队列、优生队列等高效的函数式实现,并且有一章专门讨论函数式程序的形式论证。本书的代码均可以从作者网站(http://www.cl.cam.ac.uk/users/lcp/)得到。
本书详细讲解如何使用ML语言进行程序设计,并介绍函数式程序设计的基本原理。书中特别讲述了为ML的修订版所设计的新标准库的主要特性,并且给出大量例子,涵盖排序、矩阵运算、多项式运算等方面。大型的例子包括一个一般性的自顶向下语法分析器、一个l-演算归约程序和一个定理证明机。书中也讲述了关于数组、队列、优先队列等高效的函数式实现,并且有一章专门讨论函数式程序的形式论证。
本书可作为高等院校计算机专业相关课程的教材,也适合广大程序设计人员参考。
编辑推荐
本书是关于ML程序设计的经典教材,详细介绍如何使用 ML语言进行程序设计,并讲解函数式程序设计的基本原理。
书中含有大量例子,涵盖了排序、矩阵运算、多项式运算等方面。大型的例子包括一个一般性的自顶向下语法分析器、一个一演算归约程序和一个定理证明机。书中也讲述了关于数组、队列、优生队列等高效的函数式实现,并且有一章专门讨论函数式程序的形式论证。本书的代码均可以从作者网站(http://www.cl.cam.ac.uk/users/lcp/)得到。
本书详细讲解如何使用ML语言进行程序设计,并介绍函数式程序设计的基本原理。书中特别讲述了为ML的修订版所设计的新标准库的主要特性,并且给出大量例子,涵盖排序、矩阵运算、多项式运算等方面。大型的例子包括一个一般性的自顶向下语法分析器、一个l-演算归约程序和一个定理证明机。书中也讲述了关于数组、队列、优先队列等高效的函数式实现,并且有一章专门讨论函数式程序的形式论证。
本书可作为高等院校计算机专业相关课程的教材,也适合广大程序设计人员参考。
目录
第1章 Standard ML
函数式程序设计
Standard ML概述
第2章 名字、函数和类型
本章提要
值的声明
数、字符串和真值
序偶、元组和记录
表达式的求值
书写递归函数
局部声明
模块系统初步
多态类型检测
要点小结
第3章 表
本章提要
表的简介
基本的表函数
表的应用
多态函数中的相等测试
排序:案例研究
多项式算术
要点小结
第4章 树和具体数据
本章提要
数据类型声明
异常
树
基于树的数据结构
重言式检测器
要点小结
第5章 函数和无数据
本章提要
作为值的函数
通用算子
序列,或无穷表
搜索策略和无穷表
要点小结
第6章 函数式程序的论证
本章提要
一些数学证明的原理
结构归纳法
一般性归纳原理
描述和验证
要点小结
第7章 抽象类型和函子
本章提要
队列的三种表示方法
签名和抽象
函子
利用模块建立大型系统
模块参考指南
要点小结
第8章 ML中的命令式程序设计
本章提要
引用类型
数据结构中的引
输入和输出
要点小结
第9章 书写l-演算的解释器
本章提要
函数式语法分析器 ..