图书介绍
Scala函数式编程【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)Paul Chiusano,(美)Runar Bjarnason著 著
- 出版社: 2016
- ISBN:9787121283307
- 出版时间:22
- 标注页数:245页
- 文件大小:35MB
- 文件页数:269页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Scala函数式编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 函数式编程介绍1
1 什么是函数式编程2
1.1 函数式编程的好处:一个简单的例子3
1.1.1 一段带有副作用的程序3
1.1.2 函数式的解法:去除副作用5
1.2 (纯)函数究竟是什么7
1.3 引用透明、纯粹度以及替代模型8
1.4 小结10
2 在Scala中使用函数式编程11
2.1 Scala语言介绍:一个例子11
2.2 运行程序14
2.3 模块、对象和命名空间15
2.4 高阶函数:把函数传给函数15
2.4.1 迂回做法:使用循环方式16
2.4.2 第一个高阶函数17
2.5 多态函数:基于类型的抽象18
2.5.1 一个多态函数的例子19
2.5.2 对高阶函数传入匿名函数20
2.6 通过类型来实现多态21
2.7 小结23
3 函数式数据结构24
3.1 定义函数式数据结构24
3.2 模式匹配26
3.3 函数式数据结构中的数据共享29
3.3.1 数据共享的效率30
3.3.2 改进高阶函数的类型推导31
3.4 基于list的递归并泛化为高阶函数32
3.4.1 更多与列表相关的函数35
3.4.2 用简单组件组合list函数时的效率损失36
3.5 树37
3.6 小结39
4 不是用异常来处理错误40
4.1 异常的优点与劣势40
4.2 异常的其他选择42
4.3 Option数据类型43
4.3.1 Option的使用模式44
4.3.2 Option的组合、提升及对面向异常的API的包装47
4.4 Either数据类型50
4.5 小结52
5 严格求值和惰性求值54
5.1 严格和非严格函数55
5.2 一个扩展例子:惰性列表57
5.2.1 对Stream保持记忆,避免重复运算58
5.2.2 用于检测Stream的helper函数59
5.3 把函数的描述与求值分离59
5.4 无限流与共递归62
5.5 小结65
6 纯函数式状态66
6.1 以副作用方式生成随机数66
6.2 纯函数式随机数生成器67
6.3 用纯函数式实现带状态的API69
6.4 状态行为的更好的API71
6.4.1 组合状态行为71
6.4.2 嵌套状态行为72
6.5 更通用的状态行为数据类型74
6.6 纯函数式命令编程74
6.7 小结76
第二部分 功能设计和组合子库77
7 纯函数式的并行计算78
7.1 选择数据类型和函数79
7.1.1 一种用于并行计算的数据类型80
7.1.2 组合并行计算82
7.1.3 显性分流83
7.2 确定表现形式85
7.3 完善API86
7.4 API与代数89
7.4.1 映射法则90
7.4.2 分流法则91
7.4.3 打破法则:一个微妙的bug92
7.4.4 用Actor实现一个完全无阻塞的Par94
7.5 完善组合子为更通用的形式98
7.6 小结100
8 基于性质的测试101
8.1 基于性质测试概览101
8.2 选择数据类型和函数103
8.2.1 API的初始代码片段103
8.2.2 性质的含义与API104
8.2.3 生成器的意义和API106
8.2.4 生成值决定生成器107
8.2.5 精炼Prop的数据类型108
8.3 最小化测试用例109
8.4 使用库并改进其易用性111
8.4.1 一些简单的例子111
8.4.2 为并行计算编写测试套件112
8.5 测试高阶函数及展望未来116
8.6 生成器法则117
8.7 小结118
9 语法分析器组合子119
9.1 代数设计,走起120
9.2 一种可能的代数124
9.2.1 切片和非空重复125
9.3 处理上下文的相关性127
9.4 写一个JSON分析器128
9.4.1 JSON格式129
9.4.2 JSON分析器130
9.5 错误提示130
9.5.1 一种可行的设计131
9.5.2 错误嵌套132
9.5.3 控制分支和回溯轨迹133
9.6 实现代数134
9.6.1 一种可能的实现135
9.6.2 串化分析器136
9.6.3 标记分析器137
9.6.4 故障转移和回溯138
9.6.5 上下文相关的分析138
9.7 小结140
第三部分 函数设计的通用结构141
10 Monoid142
10.1 什么是monoid142
10.2 使用monoid折叠列表144
10.3 结合律和并行化145
10.4 例子:并行解析147
10.5 可折叠数据结构148
10.6 组合monoid149
10.6.1 组装更加复杂的monoid150
10.6.2 使用组合的monoid融合多个遍历151
10.7 小结151
11 Monad152
11.1 函子:对map函数的泛化152
11.1.1 函子法则153
11.2 Monad:对flatMap和unit函数的泛化154
11.3 Monadic组合子157
11.4 单子定律158
11.4.1 结合法则158
11.4.2 为指定的monad证明结合法则159
11.4.3 单位元法则160
11.5 什么是monad161
11.5.1 identity monad162
11.5.2 状态monad和partial type application163
11.6 小结166
12 可应用和可遍历函子167
12.1 泛化单子167
12.2 Applicative trait168
12.3 单子与可应用函子的区别170
12.3.1 对比Option applicative与Option monad170
12.3.2 对比Parser applicative与Parser monad171
12.4 可应用函子的优势172
12.4.1 不是所有的可应用函子都是Monad173
12.5 可应用法则175
12.5.1 Left and rightidentity175
12.5.2 结合律176
12.5.3 Naturalityofproduct176
12.6 可遍历函子178
12.7 使用Traverse179
12.7.1 从monoid到可应用函子180
12.7.2 带状态的遍历181
12.7.3 组合可遍历结构182
12.7.4 遍历融合183
12.7.5 嵌套遍历184
12.7.6 Monad组合184
12.8 小结185
第四部分 作用与I/O187
13 外部作用和I/O188
13.1 分解作用188
13.2 一个简单的IO类型189
13.2.1 处理输入效果190
13.2.2 简单IO类型的优缺点194
13.3 避免栈溢出194
13.3.1 将一个控制流转化为数据构造子195
13.3.2 Trampolining:栈溢出的通用解决方法197
13.4 一个更微妙的IO类型198
13.4.1 合理的monad199
13.4.2 一个支持控制台I/O的monad200
13.4.3 纯解释器202
13.5 非阻塞和异步I/O204
13.6 一个通用的IO类型206
13.6.1 最终的main程序206
13.7 为什么IO类型不足以支撑流式I/O207
13.8 小结209
14 本地影响和可变状态210
14.1 纯函数式的可变状态210
14.2 一种限制副作用范围的数据类型212
14.2.1 受限可变性的语言表达212
14.2.2 一种可变引用的代数表达214
14.2.3 执行修改状态的行为215
14.2.4 可变数组217
14.2.5 一个纯函数的in-place快排实现218
14.3 纯粹是相对于上下文的219
14.3.1 副作用是什么?221
14.4 小结222
15 流式处理与增量I/O223
15.1 命令式I/O的问题示例223
15.2 一个简单的流转换器225
15.2.1 创建Process227
15.2.2 组合和追加处理229
15.2.3 处理文件231
15.3 可扩展的处理类型232
15.3.1 来源234
15.3.2 保证资源安全235
15.3.3 单一输入过程237
15.3.4 多个输入流239
15.3.5 去向241
15.3.6 Effectful通道242
15.3.7 动态资源分配243
15.4 应用场景244
15.5 小结245
热门推荐
- 2211416.html
- 247763.html
- 1607490.html
- 2514525.html
- 2881224.html
- 372195.html
- 1826153.html
- 1627962.html
- 1056545.html
- 3216305.html
- http://www.ickdjs.cc/book_1213487.html
- http://www.ickdjs.cc/book_3424090.html
- http://www.ickdjs.cc/book_598083.html
- http://www.ickdjs.cc/book_1267624.html
- http://www.ickdjs.cc/book_1210945.html
- http://www.ickdjs.cc/book_2555206.html
- http://www.ickdjs.cc/book_1187578.html
- http://www.ickdjs.cc/book_3300464.html
- http://www.ickdjs.cc/book_1929230.html
- http://www.ickdjs.cc/book_1074103.html