当前位置:首页 > 工业技术
真实世界的OCaml  中文版
真实世界的OCaml  中文版

真实世界的OCaml 中文版PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:(美)闵期撕,(美)麦哈瓦佩迪,(美)希基著
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2015
  • ISBN:9787512376373
  • 页数:456 页
图书介绍:本书将带你快速认识一个工业强度级的编程语言——OCaml,这是为实现表达性、安全性和高速度而设计的一种语言。通过书中提供的丰富的例子,你会很快了解OCaml是怎样脱颖而出,并用来编写快速、简洁和可读的系统代码的。本书的主要内容有:学习OCaml语言的基础知识,如高阶函数、代数数据类型和模块。研究OCaml的高级特性,如仿函数、首类模块和对象。充分利用Core,这是面向OCaml的一个全面的通用标准库。设计有效而且可重用的库,保证OCaml大多数方法的抽象性和模块性。解决各种实际的编程问题,从命令行解析到异步网络编程都涵盖在内。利用GNU gdb等工具分析性能测试和交互式调试技术。
《真实世界的OCaml 中文版》目录
标签:中文版 世界

前言 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

相关图书
作者其它书籍
返回顶部