“即便我已经使用Erlang多年,在编程的时候仍然需要参考《Erlang编程指南》。不同层次的Erlang程序员都会发现本书是有价值的学习和参考资料。”
——Steve Vinoski,《IEEE Internet Computing》专栏作家
《Erlang编程指南》是对Erlang语言的深入介绍。Erlang是任何必须并发、容错和快速响应的环境的理想编程语言。随着多核处理器及其针对并发的新的可扩展方式的发展,Erlang得到了广泛的使用。通过本书,你将学会如何使用Erlang编写复杂的并发程序,不管你是否有编程背景和经验
本书由国际知名的Erlang社区领导者根据他们的培训材料编写而成。本书的重点集中在解释Erlang的语法和语义,并且介绍了其模式匹配、规范列表、递归、调试、网络和并发性等内容。
《Erlang编程指南》可以帮助你:
• 理解Erlang的强大功能及其包含的特殊功能。
• 学习并发背后的概念以及Erlang处理并发的方式。
• 编写高效的Erlang程序并保持代码整洁和良好的可读性。
• 探究Erlang如何满足分布式系统的要求。
• 轻松添加简单的图形用户界面。
• 学习Erlang的跟踪机制以调试并发和分布式系统。
• 使用内置的Mnesia数据库和其他表存储功能。
《Erlang编程指南》每章末尾都提供了练习题,并且由简单的示例贯穿全书。
序 1
前言 3
第1章 引言 9
为什么我应该使用Erlang 9
Erlang语言的历史及发展 11
Erlang的特性 12
Erlang和多核 17
案例研究 18
应该如何使用Erlang 21
第2章 Erlang基础 22
整数 22
Erlang终端 23
浮点数 23
基元 25
布尔类型 27
元组 28
列表 29
项元比较 34
变量 36
复杂数据结构 38
模式匹配 40
函数 44
模块 46
练习 50
第3章 Erlang顺序编程 52
条件评估 52
保护元 57
内置函数 60
递归 66
运行时错误 75
处理错误 77
模块库 84
调试器 87
练习 90
第4章 并发编程 95
创建进程 96
消息传递 98
接收消息 100
注册进程 107
超时 110
性能基准测试 111
进程架构 112
尾递归和内存泄漏 113
面向并发程序设计的个案研究 115
竞争条件、死锁和饥饿进程 116
进程管理器 118
练习 119
第5章 进程设计模式 121
客户端/服务器模型 122
进程模式实例 128
有限状态机 130
事件管理器和句柄 134
练习 141
第6章 进程错误处理机制 143
进程链接和退出信号 143
健壮性系统 152
练习 158
第7章 记录和宏 161
记录 162
宏 168
练习 172
第8章 软件升级 175
升级模块 175
幕后 178
升级过程 184
.erlang文件 188
练习 188
第9章 更多数据类型和高级别构造 190
实践中的函数式编程 190
Funs和高阶函数 191
列表解析 198
二进制类型和序列化 202
引用 211
练习 212
第10章 ETS和Dets表 214
ETS表 214
Dets表 228
移动用户数据库实例 231
练习 242
第11章 Erlang中的分布式编程 244
Erlang中的分布式系统 244
Erlang中的分布式计算:基础 246
epmd进程 259
练习 260
第12章 OTP行为包 261
OTP行为包介绍 261
通用服务器 264
监控进程 274
应用 278
版本发行的处理 284
其他行为包和更多阅读资源 287
练习 288
第13章 Mnesia介绍 290
何时使用Mnesia 290
配置Mnesia 292
事务处理 296
分区网络 301
扩展阅读 302
练习 303
第14章 图形用户界面编程wxErlang 305
wxWidgets 305
wxErlang:wxWidgets绑定到Erlang 306
第一个实例:MicroBlog 309
MiniBlog实例 313
获取和运行wxErlang 316
练习 317
第15章 套接字编程 319
用户数据报协议 319
传输控制协议 323
inet模块 328
扩展阅读 329
练习 330
第16章 Erlang与其他编程语言接口 332
交互运作概况 332
与Java交互运作 334
C节点 339
Unix终端的Erlang调用:erl_call 343
端口程序 343
通信支持库 347
内联驱动程序和FFI 349
练习 350
第17章 跟踪内置函数,dbg跟踪器以及匹配规则 351
引言 351
跟踪内置函数 352
用trace_pattern内置函数跟踪调用 358
dbg跟踪器 362
匹配规则:fun语法 370
匹配规则:螺母和螺栓 379
扩展阅读 387
练习 388
第18章 类型和文档 390
Erlang中的类型 390
TypEr: 成功类型和类型推断 394
使用EDoc生成文档 397
练习 405
第19章 EUnit和测试驱动开发 406
测试驱动开发 406
EUnit 407
EUnit的基础架构 411
测试基于状态的系统 413
在Erlang中测试并发程序 414
练习 415
第20章 风格和效率 417
应用和模块 417
进程和并发 422
格式约定 425
编码策略 431
效率 433
最后 437
附录 使用Erlang 439
《海蒂的花园》内容简介:任何时候花园都不会尽如人意,无论付出多少努力;任何时候花园里都能找到美好,无论历经多少挫折。在连餐
世界科技界领袖级人物、掌上电脑PDA发明人杰夫•霍金斯经典力著全新升级版。详细揭示未来主流大趋势,比大数据更能决定我们生活的是
《CSS(使用指南)(影印版)》主要内容:层叠样式表(CSS)能让你内心的设计思想迸发出来并得以实现。不过,将CSS与网站底层的HTML页
《提高转化率!:网页A/B测试与多变量测试实战指南》由麦克法兰所著,优化测试是显著促进网站转化率及提升收益最保险的方法。通过针
《去趟民国》内容简介:本书以笔记体的方式,记述了民国时期形形色色的个人生活,包括衣食住行、交游、爱好、性格、恩怨等诸多方面
量化投资-以MATLAB为工具 本书特色 作为中国量化投资学会“量化投资与对冲基金丛书——技术系列”的重要组成部分,《量化投资:以MATLAB为工具》的作者李洋...
《刑辩私塾》内容简介:本书旨在通过对个案的办理过程的复盘、思考和总结,传授具体的刑事辩护理念、思维和技术。本书更多的是启发
抄袭检测研究 本书特色 《抄袭检测研究》以文本的抄袭检测为研究对象,探索了抄袭检测的语料库构建、Web环境下的抄袭源检索和高模糊抄袭检测的文本对齐的问题、数据、...
《免疫力是最好的医生》内容简介:为什么常年慢性病等基础性疾病人群容易感染疫病等各种疾病,因为免疫力差。好好调理呼吸道疾病、
《全球价值链、中国经济增长与碳排放》内容简介:本书将全球价值链研究的前沿成果与环境经济学、国际贸易理论的学术洞见整合在一起
《聂卫平围棋习题精解·手筋专项训练(从3段到5段)》内容简介:本书是我国围棋职业运动员聂卫平同聂卫平围棋道场的明星教师团队联
本书是《俄罗斯航空发动机制造史》丛书的上册,主要讲述第24号工厂的早期发展阶段(1912—1945年)。第一次世界大战后,在这个坚
计算机免疫系统及其应用 本书特色 本书是作者对人工免疫系统研究的工作总结,主要介绍了人工免疫系统中的否定选择算法、危险理论、免疫克隆算法在网络异常检测、网络安全...
KaiHwang(黄铠)拥有加州大学伯克利分校博士学位。现为美国南加州大学电子工程与计算机科学终身教授,并先后担任清华大学计算机
《二手房装修改造常犯的110个错误》内容简介:每个做过二手房装修改造的人都有这样的经历,完成装修后,发现由于当初不了解关于装修
这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识、掌握TCP/IP的基本技能。书中讲解了网络基础知识、TC
本书详细介绍了层叠样式表单的基本要素,包括CSS的基本概念、CSS属性、格式化模型以及CSS单位等。此外,对于CSS的延伸扩展部分也
《催眠术教程(第2版)》内容简介:本书别开生面,采用教科书编写体例,由表及里,由浅至深,撩去催眠术的神秘面纱,帮助心理学从业
要在当今不断变化、不可预知的市场中获得成功,企业需要重新全面地考虑、架构自己的战略。抛弃从内而外的研发新产品,企业需要开
《卓越法律人才教育培养的探索与实践》内容简介:本书主要围绕卓越法律人才教育培养撰写论文的主题,阐述卓越法律人才教育培养的总