注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计其他编程语言/工具实用编程语言理论基础(原书第2版)

实用编程语言理论基础(原书第2版)

实用编程语言理论基础(原书第2版)

定 价:¥139.00

作 者: [美]罗伯特·哈珀(Robert Harper)
出版社: 机械工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787111697404 出版时间: 2022-04-01 包装: 平装-胶订
开本: 16开 页数: 400 字数:  

内容简介

  本书提出了一种基于类型系统和结构操作语义的编程语言理论。第2版经过全面修订,几乎每章都包含习题,并新增一章讨论类型细化。本书涉及的概念广泛,包括:基本数据类型,多态和抽象类型,动态定型,动态分派,子类型和类型细化,符号和动态分类,并行和成本语义,并发和分布。书中对不同编程语言的特性做了分析、证明和比较,所提供的方法可直接应用于语言的实现、程序推理逻辑的研发以及语言特性的形式化验证,具有较高的实用性。本书不仅可以作为高等学校计算机相关专业的编程语言理论课程教材,也可供相关领域的科研人员和技术人员参考阅读。

作者简介

  :作者简介:罗伯特·哈珀(Robert Harper)卡内基·梅隆大学计算机科学系教授,他的主要研究兴趣是类型论在编程语言的设计与实现中的应用,以及其元理论的机械化。Harper是Allen Newell卓越研究奖章和Herbert A. Simon卓越教学奖的获得者,并且是ACM会士。:译者简介:张昱博士,中国科学技术大学计算机科学与技术学院、网络空间安全学院副教授。研究兴趣包括程序设计语言、操作系统和并行计算等,特别是面向人工智能和量子计算等新领域的编程系统、软件分析、异构计算与系统优化等。胡明哲中国科学技术大学网络空间安全学院博士研究生。主要研究方向为多语言软件的程序分析。

图书目录

译者序
第2版前言
第1版前言
部分 判断和规则
第1章 抽象语法 2
1.1 抽象语法树 2
1.2 抽象绑定树 4
1.3 注记 8
习题 8
第2章 归纳定义 10
2.1 判断 10
2.2 推理规则 10
2.3 推导 11
2.4 规则归纳 13
2.5 迭代归纳定义和联立归纳定义 14
2.6 用规则定义函数 15
2.7 注记 15
习题 16
第3章 假言判断与一般性判断 17
3.1 假言判断 17
3.1.1 可导性 17
3.1.2 可纳性 18
3.2 假言归纳定义 20
3.3 一般性判断 21
3.4 泛型归纳定义 22
3.5 注记 23
习题 23
第二部分 静态语义和动态语义
第4章 静态语义 28
4.1 语法 28
4.2 类型系统 29
4.3 结构性质 30
4.4 注记 31
习题 31
第5章 动态语义 33
5.1 转换系统 33
5.2 结构化动态语义 34
5.3 上下文动态语义 36
5.4 等式动态语义 37
5.5 注记 39
习题 39
第6章 类型安全 40
6.1 保持性 40
6.2 进展性 41
6.3 运行时错误 42
6.4 注记 43
习题 43
第7章 求值动态语义 44
7.1 求值动态语义 44
7.2 结构化动态语义和求值动态语义
的关系 45
7.3 重温类型安全 45
7.4 成本动态语义 46
7.5 注记 47
习题 47
第三部分 全函数
第8章 函数定义和值 50
8.1 一阶函数 50
8.2 高阶函数 51
8.3 求值动态语义和定义等同 53
8.4 动态作用域 54
8.5 注记 55
习题 55
第9章 高阶递归的系统T 56
9.1 静态语义 56
9.2 动态语义 57
9.3 可定义性 58
9.4 不可定义性 59
9.5 注记 61
习题 61
第四部分 有限数据类型
第10章 积类型 64
10.1 空积与二元积 64
10.2 有限积 65
10.3 原始互递归 66
10.4 注记 67
习题 67
第11章 和类型 69
11.1 空和与二元和 69
11.2 有限和 70
11.3 和类型的应用 71
11.3.1 void和unit 71
11.3.2 布尔类型 72
11.3.3 枚举 72
11.3.4 选择 73
11.4 注记 74
习题 74
第五部分 类型和命题
第12章 构造逻辑 78
12.1 构造语义 78
12.2 构造逻辑 79
12.2.1 可证性 79
12.2.2 证明项 81
12.3 证明的动态语义 82
12.4 命题即类型 83
12.5 注记 83
习题 83
第13章 经典逻辑 85
13.1 经典逻辑 85
13.1.1 可证性和可反驳性 86
13.1.2 证明和反驳 87
13.2 推导消去形式 89
13.3 证明的动态语义 90
13.4 排中律 91
13.5 双重否定翻译 92
13.6 注记 93
习题 94
第六部分 无限数据类型
第14章 泛型编程 96
14.1 引言 96
14.2 多项式类型算子 96
14.3 正类型算子 98
14.4 注记 99
习题 99
第15章 归纳类型与余归纳类型 101
15.1 示例 101
15.2 静态语义 104
15.2.1 类型 104
15.2.2 表达式 105
15.3 动态语义 105
15.4 求解类型等式 106
15.5 注记 107
习题 107
第七部分 变量类型
第16章 多态类型的系统F 110
16.1 多态抽象 110
16.2 多态的可定义性 113
16.2.1 积与和 113
16.2.2 自然数 114
16.3 参数化概述 115
16.4 注记 116
习题 116
第17章 抽象类型 117
17.1 存在类型 117
17.1.1 静态语义 118
17.1.2 动态语义 118
17.1.3 安全性 118
17.2 数据抽象 119
17.3 存在类型的可定义性 120
17.4 表示独立性 120
17.5 注记 122
习题 122
第18章 高阶种类 123
18.1 构造器和种类 123
18.2 构造器等同 125
18.3 表达式和类型 126
18.4 注记 126
习题 127
第八部分 部分性和递归类型
第19章 递归函数的系统PCF 130
19.1 静态语义 131
19.2 动态语义 132
19.3 可定义性 133
19.4 有限数据结构和无限数据结构 135
19.5 完全性与部分性 135
19.6 注记 136
习题 136
第20章 递归类型的系统FPC 138
20.1 求解类型等式 138
20.2 归纳类型和余归纳类型 139
20.3 自指/自引用 141
20.4 状态的起源 142
20.5 注记 143
习题 143
第九部分 动态类型
第21章 无类型的λ演算 146
21.1 λ演算 146
21.2 可定义性 147
21.3 Scott定理 149
21.4 无类型意味着单类型 150
21.5 注记 151
习题 151
第22章 动态定型 153
22.1 动态类型化PCF 153
22.2 变体和扩展 156
22.3 动态定型的批判 158
22.4

本目录推荐