目录 1
目录 1
绪言 1
第一章 LISP——函数型语言 7
§1.前缀表达式 7
§2.函数定义 8
§3.条件表达式 9
§4.递归定义的函数 11
§5.尾递归 13
习题 15
第二章 S表达式 16
§1.S表达式的概念 16
§2.表 18
§3.S表达式的基本函数 21
§4.S表达式的递归函数 23
§5.尾递归的应用 26
习题 29
第三章 LISP1的严格定义 34
§1.LISP1 34
§2.LISP1的自解释 37
§3.EXPR表达式 40
§4.环境的叠加 42
习题 47
第四章 LISP1的扩充 49
§1.LISP系统中的一些概念 49
§2.多种条件控制 50
§3.LET表达式 55
§4.形参表达式 58
习题 62
§1.模拟图灵机 65
第五章 表结构的利用和递归定义 65
§2.长整数加法 69
§3.几种递归方式和可控制的约束机制 75
§4.重复计算的消除 80
习题 84
第六章 函数型自变量和高级函数 86
§1.函数型自变量 86
§2.自由变量的约束 91
§3.函数的施用 95
§4.高级函数 98
习题 106
§1.长整数乘法 109
第七章 高级函数的程序设计 109
§2.矩阵运算 112
§3.搜索 117
习题 127
第八章 高级函数的应用——基于规则和事实的演绎 129
§1.不带变量的演绎 129
§2.使用变量的正向演绎 132
§3.使用变量的逆向演绎 139
习题 148
§1.求值函数 151
第九章 程序与数据的转换 151
§2.FEXPR型函数 156
§3.MACRO型函数 160
习题 166
第十章 宏展开的应用 168
§1.反引号的使用 168
§2.记录的实现 175
§3.形参表达式约束机制的实现 183
习题 190
第十一章 非函数程序设计 193
§1.非函数程序的主要成分 193
§2.赋值的应用 201
§3.性质表的应用 207
习题 214
第十二章 数据类型和输入输出 218
§1.数据类型 218
§2.基本输入输出函数 220
§3.递归图形的生成 227
§4.读宏符号 233
§5.排误工具 239
习题 246
§1.存储结构 249
第十三章 存储结构及编译系统 249
§2.修改存储结构的函数 257
§3.编译系统 266
习题 268
第十四章 不同的程序设计风格 271
§1.用模式传递参数 271
§2.DP和PLET功能的实现 276
§3.逻辑程序设计 282
§4.LG的实现 286
§5.泛函程序设计 295
§6.SFP的实现 303
习题 313