目录
第1章 引论
1.1 函数式程序设计语言
1.1.1 APL语言
1.1.2 FP语言
1.1.3 ML语言
1.1.4 Lisp语言
1.1.5 SASL,KRC和Miranda语言
1.1.6 Haskel1语言
1.1.7 其它的函数语言
1.2 函数语言的基本特征和实现论题
1.2.1 函数语言的基本特征
1.2.2 程序的执行效率
1.2.3 主要实现论题
1.3 函数语言的图重写实现技术
1.4 本章小结
第2章 函数式程序设计语言
2.1 函数语言的特点
2.1.1 变量名和值
2.1.2 执行顺序
2.1.3 循环和递归
2.1.4 数据结构
2.1.5 函数作为值
2.2 ML语言简介
2.2.1 ML的特点
2.2.2 类型
2.2.3 几点说明
2.3 SML标准类型
2.3.1 基本类型
2.3.2 表类型
2.3.3 元组类型
2.3.4 函数的类型和表达式
2.4 sML标准函数
2.4.1 标准布尔型函数
2.4.2 标准算术运算函数和运算符的重载
2.4.3 标准字符串函数
2.4.4 标准表函数
2.4.5 字符、字符串和表
2.4.6 比较运算符
2.5 SML函数定义
2.5.1 函数
2.5.2 约束变量的类型
2.5.3 定义
2.5.4 条件表达式
2.5.5 递归和函数定义
2.5.6 访问元组约束变量中的元素
2.5.7 模式匹配
2.5.8 局部定义
2.6 SML类型
2.6.1 类型表达式和类型缩写(abbreviatedtypes)
2.6.2 类型变量和多态性
2.6.3 定义新类型
2.6.4 抽象数据类型
2.6.5 树
2.7 本章小结
第3章 λ演算
3.1 λ演算的基本概念和定义
3.2 λ演算的归约
3.3 递归定义
3.4 纯λ演算中的算术
3.5 本章小结
第4章 函数语言的归约计算方法
4.1 归约计算的语义
4.2 正规序归约的语用
4.2.1 串归约(stringreduction)
4.2.2 标准环境归约(standardenvironmentreduction)
4.2.3 图归约(graphreducti0n)
4.2.4 全惰性图归约(fulllazygraphreduction)
4.2.5 惰性图归约(1azygraphreduction)
4.2.6 图归约的特点
4.3 组合子图归约(c0mbinator-basedgraphreduction)
4.3.1 基本思想
4.3.2 组合子及其性质
4.3.3 超组合子性质
4.4 本章小结
第5章 函数语言的图重写计算模型
5.1 计算对象的描述形式
5.2 计算的操作方式
5.3 计算的控制方式
5.3.1 并行性开发策略
5.3.2 并行计算的控制管理方法
5.3.3 并行计算任务的粒度(granularity)
5.4 本章小结
第6章 编译中间语言
6.1 中间语言的基本概念
6.2 CIL程序的基本描述形式
6.3 CIL程序例子
6.4 CIL程序执行算法
6.5 CIL语言对函数式程序的支持
6.5.1 TermL模式结构的转换
6.5.2 非平坦TermL的转换
6.5.3 标记TermR
6.6 本章小结
第7章 多态类型及类型检查
7.1 多态类型
7.2 程序的表示
7.3 类型推导与类型合一
7.4 类型变量与环境
7.5 类型推导算法
7.5.1 类型推导算法中用到的函数
7.5.2 类型推导算法
7.6 本章小结
第8章 自由变量的消除与优化组合子
8.1 λ-提升
8.1.1 λ-提升方法
8.1.2 λ-提升方法的评价
8.2 最大自由表达式(mfe)抽取
8.2.1 mfe抽取算法
8.2.2 最大自由表达式抽取方法的分析
8.3 函数部分作用共享分析
8.3.1 部分作用的共享及其表示
8.3.2 共享分析方法
8.4 优化组合子生成方法
8.5 本章小结
第9章 惰性模式匹配及其编译方法
9.1 模式与模式匹配
9.2 最小扩展模式与模式匹配树
9.2.1 模式匹配谓词及其性质
9.2.2 惰性模式匹配算法的存在性与最小扩展模式
9.2.3 MEPⅡ的生成和匹配树的构造
9.3 模式的平坦化和参量一致化变换
9.3.1 两个简单的转换方法及其效率
9.3.2 重写规则的生成方法
9.4 本章小结
第10章 惰性函数语言程序严格性分析方法
10.1 抽象解释和严格性分析方法
10.1.1 基于抽象解释的严格性分析方法
10.1.2 严格性分析与函数程序的并行性开发
10.1.3 惰性计算方式和结构数据的计算
10.2 投影分析分析方法
10.2.1 投影和计算的描述
10.2.2 基于投影分析的严格性分析方法
10.2.3 举例
10.3 并行性开发方法的优化
10.3.1 算子
10.3.2 并行性开发方法
10.4 本章小结
第11章 编译时粒度分析及估算方法
11.1 现状与问题
11.2 K0zen语义与分布函数
11.3 分布函数与程序粒度的关系
11.4 程序粒度分析的系统化方法
11.5 细粒度任务的收拢(coalescing)原理
11.6 任务颗粒的分类及合并
11.7 引入启发因素的编译时粒度分析算法HCGA
11.8 实验及与相关工作的比较
11.9 本章小结
第12章 存储管理及垃圾单元回收
12.1 概述
12.2 Ash0ke的改进引用计数法
12.2.1 Ashoke算法
12.2.2 Ashoke算法的正确性证明
12.2.3 并行环境中的Ash0ke算法实现
12.3 基于引用计数的垃圾回收技术
12.3.1 经典的引用计数法
12.3.2 ARVIND/THOMAS的带权引用计数法
12.3.3 垃圾单元回收的惰性方法
12.3.4 带权的垃圾单元惰性回收方法
12.4 FL/TBD/TBC/CRC与CM分立的垃圾回收开销分析
12.5 FL/TBD/TBC/CRC与CM混合的垃圾回收开销分析
12.6 并行系统中的垃圾单元回收
12.7 本章小结
第13章 多相并行图重写执行模型HPGREM
13.1 并行执行模型的研究现状
13.2 HPGREM的形式化描述
13.2.1 基本定义
13.2.2 形式化描述
13.3 存储管理及执行环境组织
13.4 并行性开发策略
13.4.1 并行性开发
13.4.2 任务分布的Lazy-Eager原理
13.4.3 基于LEDT原理的任务分布算法
13.5 并行执行模型HPGREM的多相性质
13.6 本章小结
第14章 并行抽象机PAM/TGR及体系结构
14.1 概述
14.2 存储器组织及数据表示
14.2.1 存储器组织
14.2.2 图结点及数据表示
14.3 并行抽象机PAM/TGR的指令系统
14.3.1 并行抽象机指令集
14.3.2 抽象机的寻址方式
14.3.3 并行抽象机PAM/TGR的优化编译器
14.4 并行抽象机的指令执行算法
14.4.1 环境生成指令(push)执行算法
14.4.2 环境拷贝指令(copy)执行算法
14.4.3 重写指令(grew)执行算法
14.4.4 重写任务的管理指令(take,mask,sndt,recy)执行算法
14.4.5 调用基元操作与存储管理指令(call,flsh)执行算法
14.5 并行抽象机PAM/TGR的体系结构
14.6 并行抽象机PAM/TGR的性能评价
14.6.1 基于Benchmark的PAM/TGR性能测试
14.6.2 与相关系统的性能比较
14.7 本章小结
参考文献
· · · · · · (
收起)