真实世界的OCaml 中文版PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:(美)闵期撕,(美)麦哈瓦佩迪,(美)希基著
- 出 版 社:北京:中国电力出版社
- 出版年份:2015
- ISBN:9787512376373
- 页数:456 页
前言 1
第一部分 语言概念 11
第1章 导览旅行 11
1.1 OCaml作为计算器 11
1.2 函数和类型推断 13
1.3 元组、列表、选项和模式匹配 17
1.4 记录和变体 25
1.5 命令式编程 27
1.6 一个完整的程序 32
1.7 下一章的内容 33
第2章 变量和函数 34
2.1 变量 34
2.2 函数 38
第3章 列表和模式 55
3.1 列表基础 55
3.2 使用模式从列表抽取数据 56
3.3 模式匹配的局限性(和好处) 58
3.4 有效地使用List模块 61
3.5 尾递归 67
3.6 更简洁更快速的模式 69
第4章 文件、模块和程序 73
4.1 单文件程序 73
4.2 多文件程序和模块 76
4.3 签名和抽象类型 77
4.4 签名中的具体类型 80
4.5 嵌套模块 81
4.6 打开模块 82
4.7 包含模块 84
4.8 模块的常见错误 86
4.9 基于模块的设计 88
第5章 记录 91
5.1 模式和完备性 93
5.2 字段双关 95
5.3 重用字段名 96
5.4 功能更新 99
5.5 可变字段 101
5.6 首类字段 102
第6章 变体 106
6.1 Catch-All情况和重构 108
6.2 结合记录和变体 110
6.3 变体和递归数据结构 114
6.4 多态变体 117
第7章 错误处理 125
7.1 错误感知返回类型 125
7.2 异常 130
7.3 选择错误处理策略 139
第8章 命令式编程 141
8.1 示例:命令式字典 141
8.2 基本可变数据 145
8.3 for和while循环 148
8.4 示例:双向链表 149
8.5 懒惰和其他良性影响 153
8.6 输入和输出 160
8.7 计算顺序 166
8.8 副作用和弱多态 168
8.9 小结 173
第9章 仿函数 175
9.1 一个简单例子 176
9.2 一个更大的例子:间隔计算 177
9.3 扩展模块 189
第10章 首类模块 193
10.1 使用首类模块 193
10.2 示例:队列处理框架 199
10.3 如果没有首类模块 208
第11章 对象 210
11.1 OCaml对象 211
11.2 对象多态 212
11.3 不可变对象 214
11.4 如何使用对象 215
11.5 子类型化 216
第12章 类 225
12.1 OCaml类 225
12.2 类参数和多态 226
12.3 对象类型作为接口 228
12.4 继承 231
12.5 类类型 232
12.6 开放递归 233
12.7 私有方法 235
12.8 二值化方法 236
12.9 虚类和方法 239
12.10 初始化方法 242
12.11 多重继承 243
第二部分 工具和技术 251
第13章 映射和散列表 251
13.1 映射 252
13.2 散列表 261
13.3 映射和散列表之间的选择 264
第14章 命令行解析 268
14.1 基本命令行解析 269
14.2 参数类型 272
14.3 为命令行增加标签标志 277
14.4 组合子命令 278
14.5 对解析的高级控制 281
14.6 使用bash实现命令行自动完成 286
14.7 其他命令行解析器 288
第15章 处理JSON数据 289
15.1 JSON基础 289
15.2 用Yojson解析JSON 290
15.3 从JSON结构选择值 292
15.4 构造JSON值 296
15.5 使用非标准JSON扩展 298
15.6 JSON自动映射到OCaml类型 299
第16章 用OCamllex和Menhir完成解析 306
16.1 词法分析和解析 307
16.2 定义解析器 309
16.3 定义词法分析器 312
16.4 集成 316
第17章 利用S-表达式实现数据串行化 319
17.1 基本用法 320
17.2 Sexp格式 323
17.3 保持不变式 324
17.4 得到合适的错误消息 327
17.5 S-表达式转换指令 329
第18章 利用Async实现并发编程 334
18.1 Async基础 335
18.2 示例:回显服务器 340
18.3 示例:用DuckDuckGo搜索定义 345
18.4 异常处理 349
18.5 超时、撤销和选择 356
18.6 处理系统线程 358
第三部分 运行时系统 365
第19章 外部函数接口 365
19.1 示例:终端界面 366
19.2 基本标量C类型 370
19.3 指针和数组 371
19.4 结构和联合 374
19.5 向C传递函数 380
19.6 关于C绑定 383
第20章 值的内存表示 385
20.1 OCaml块和值 386
20.2 块和值 387
20.3 元组、记录和数组 389
20.4 变体和列表 390
20.5 多态变体 392
20.6 字符串值 392
20.7 定制堆块 393
第21章 了解垃圾回收器 395
21.1 标记和清扫垃圾回收 395
21.2 世代垃圾回收 396
21.3 快速次堆 396
21.4 长生存期的主堆 398
21.5 为值关联最终化函数 405
第22章 编译器前端:解析和类型检查 407
22.1 工具链概览 407
22.2 解析源代码 410
22.3 预处理源代码 414
22.4 静态类型检查 419
22.5 类型化语法树 431
第23章 编译器后端:字节码和原生代码 435
23.1 无类型Lambda形式 435
23.2 生成可移植的字节码 439
23.3 编译快速原生代码 444
23.4 文件扩展名小结 453
- 《TED说话的力量 世界优秀演讲者的口才秘诀》(坦桑)阿卡什·P.卡里亚著 2019
- 《小手画出大世界 恐龙世界》登亚编绘 2008
- 《近代世界史文献丛编 19》王强主编 2017
- 《课堂上听不到的历史传奇 世界政治军事名人 初中版》顾跃忠等编著 2015
- 《365奇趣英语乐园 世界民间故事》爱思得图书国际企业 2018
- 《近代世界史文献丛编 36》王强主编 2017
- 《近代世界史文献丛编 11》王强主编 2017
- 《近代世界史文献丛编 18》王强主编 2017
- 《乐队伴奏长笛世界名曲集 4》芭芭拉·哈斯勒-哈瑟 2017
- 《世界名著阅读经典 欧也妮·葛朗台 高老头 全译本 12-16岁》(法)巴尔扎克著 2017
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018