类型和程序设计语言.[美]Benjamin C.Pierce(带详细书签).pdf

上传者: kxjrzyk | 上传时间: 2021-08-03 12:18:33 | 文件大小: 36.13MB | 文件类型: PDF
类型理论在程序设计语言的发展中起着举足轻重的作用,成熟的类型系统可以帮助完善程序设计本身,帮助运行系统检查程序中的语义错误。 要理解类型系统在程序设计语言中发挥的作用,本书将是首选读物。本书内容覆盖基本操作语义及其相关证明技巧、无类型lambda演算、简单类型系统、全称多态和存在多态、类型重构、子类型化、囿界量词、递归类型、类型算子等内容。本书既注重内容的广度,也注重内容的深度,实用性强。在引入语言的语法对象时先举例,然后给出形式定义及基本证明,在对理论的进一步研究后给出了类型检查算法,并对每种算法都给出了OCaml程序的具体实现。本书对类型理论中的概念都有详细的阐述,为读者提供了一个进一步理论学习的基础。本书内容广泛,读者可以根据自己的需要有选择地深入阅读。 本书适合从事程序设计的研究人员和开发人员,以及程序设计语言和类型理论的研究人员阅读。可作为计算机专业高年级学生、研究生的学习教材。 第1章 引论 1 1.1 计算机科学中的类型 1 1.2 类型系统的优点 3 1.3 类型系统和语言设计 6 1.4 历史概要 6 1.5 相关阅读 7 第2章 数学基础 9 2.1 集合、关系和函数 9 2.2 有序集合 10 2.3 序列 11 2.4 归纳 11 2.5 背景知识阅读 12 第一部分 无类型系统 13 第3章 无类型算术表达式 14 3.1 导论 14 3.2 语法 15 3.3 对项的归纳 17 3.4 语义形式 20 3.5 求值 21 3.6 注释 27 第4章 算术表达式的一个ML实现 28 4.1 语法 28 4.2 求值 29 4.3 其余部分 31 第5章 无类型lambda演算 32 5.1 基础 32 5.2 lambda演算中的程序设计 36 5.3 形式性 43 5.4 注释 46 第6章 项的无名称表示 48 6.1 项和上下文 48 6.2 移位和代换 50 6.3 求值 51 第7章 lambda演算的一个ML实现 53 7.1 项和上下文 53 7.2 移位和代换 54 7.3 求值 55 7.4 注释 56 第二部分 简单类型 57 第8章 类型算术表达式 58 8.1 类型 58 8.2 类型关系 59 8.3 安全性=进展+保持 61 第9章 简单类型的lambda演算 64 9.1 函数类型 64 9.2 类型关系 65 9.3 类型的性质 67 9.4 Curry-Howard对应 70 9.5 抹除和类型性 71 9.6 Curry形式和Church形式 72 9.7 注释 72 第10章 简单类型的ML实现 73 10.1 上下文 73 10.3 类型检查 74 10.2 项和类型 74 第11章 简单扩展 76 11.1 基本类型 76 11.2 单位类型 77 11.3 导出形式:序列和通配符 77 11.4 归属 79 11.5 let绑定 80 11.6 序对 81 11.7 元组 83 11.8 记录 84 11.9 和 86 11.10 变式 88 11.11 一般递归 93 11.12 列表 95 第12章 规范化 97 12.1 简单类型的规范化 97 12.2 注释 99 第13章 引用 100 13.1 引言 100 13.2 类型化 104 13.3 求值 104 13.4 存储类型 106 13.5 安全性 108 13.6 注释 111 第14章 异常 112 14.1 提升异常 112 14.2 处理异常 113 14.3 带值的异常 114 第三部分 子类型化 119 第15章 子类型 120 15.1 包含 120 15.2 子类型关系 121 15.3 子类型化和类型化的性质 125 15.4 Top类型和Bottom类型 128 15.5 子类型化及其他特征 129 15.6 子类型化的强制语义 134 15.7 交叉类型和联合类型 138 15.8 注释 139 第16章 子类型的元理论 140 16.1 算法子类型化 141 16.2 算法类型化 143 16.3 合类型和交类型 146 16.4 算法类型化和Bottom类型 148 第17章 子类型化的ML语言实现 149 17.1 语法 149 17.2 子类型化 149 17.3 类型化 150 第18章 实例分析:命令式对象 152 18.1 什么是面向对象编程 152 18.2 对象 153 18.3 对象生成器 154 18.4 子类型化 155 18.5 聚集实例变量 155 18.6 简单类 15

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明