图书介绍

魔力Haskell 程序设计计算机IT前滴滴出行首席架构师【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

魔力Haskell 程序设计计算机IT前滴滴出行首席架构师
  • 韩冬著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115432834
  • 出版时间:2016
  • 标注页数:354页
  • 文件大小:48MB
  • 文件页数:365页
  • 主题词:函数-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

魔力Haskell 程序设计计算机IT前滴滴出行首席架构师PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 基础知识3

第1章 基本语法和GHCi3

1.1 注释3

1.2 表达式3

1.3 声明4

1.3.1 类型声明和绑定声明4

1.3.2 模块声明和导入声明5

1.4 函数6

1.5 GHCi8

1.6 初级函数10

第2章 data和模式匹配13

2.1 数据声明data13

2.2 模式匹配14

2.2.1 无处不在的模式匹配15

2.2.2 @pattern16

2.3 各式各样的数据类型16

2.3.1 多构造函数16

2.3.2 完备性检查17

2.3.3 无参数构造函数18

2.3.4 data与类型变量18

2.3.5 记录语法20

2.4 排版规则22

第3章 列表、递归和盒子比喻23

3.1 列表23

3.1.1 等差数列24

3.1.2 匹配列表24

3.2 递归操作26

3.3 盒子比喻30

第4章 元组、类型推断和高阶函数34

4.1 元组34

4.2 类型推断35

4.3 高阶函数37

4.3.1 拉链和zipWith39

4.3.2 柯里化41

第5章 常用的高阶函数和函数的补充语法43

5.1 应用函数$和&43

5.2 匿名函数44

5.3 组合函数45

5.4 函数的补充语法46

5.4.1 where46

5.4.2 guard47

5.4.3 MultiWayIf49

5.4.4 where与let49

5.5 Point free49

5.6 黑魔法词汇表51

第6章 常用的列表操作:映射、过滤、折叠和扫描53

6.1 映射53

6.2 过滤54

6.3 折叠55

6.4 扫描57

6.5 方向是相对的60

第7章 类型类62

7.1 实例声明62

7.2 类声明65

7.3 类型类的实现66

7.3.1 层级和约束67

7.3.2 推导类型类68

7.3.3 Show/Read69

第8章 数字相关的类型类71

8.1 顺序类71

8.2 data和类型约束72

8.3 枚举类73

8.4 边界类75

8.5 数字类76

第9章 type、newtype和惰性求值80

9.1 类型别名type80

9.2 新类型声明newtype81

9.3 惰性求值84

9.3.1 标记语义、常态和弱常态87

9.3.2 seq和deepseq90

第10章 模块语法以及cabal、Haddock工具94

10.1 模块语法94

10.2 使用cabal96

10.2.1 使用cabal安装依赖96

10.2.2 项目的cabal配置98

10.3 Haddock101

第二部分 重要的类型和类型类107

第11章 函子107

11.1 容器抽象107

11.2 范畴110

11.3 Identity和Const115

11.4 IO函子117

第12章 透镜组118

12.1 getter和setter118

12.2 透镜组120

12.3 view、set和over函数122

12.3.1 over函数122

12.3.2 set函数124

12.3.3 view函数125

12.4 函数库128

第13章 应用函子129

13.1 函子的局限129

13.2 什么是函子133

13.2.1 Reader应用函子134

13.2.2 自然升格135

13.3 IO应用函子138

第14章 单位半群和一些有趣的应用函子139

14.1 单位半群139

14.1.1 Endo单位半群141

14.1.2 自由单位半群142

14.1.3 逆144

14.2 当单位半群遇上应用函子145

14.2.1 Const a的应用函子实例145

14.2.2 选择应用函子146

14.2.3 拉链应用函子147

第15章 解析器149

15.1 参数解析149

15.2 optparse-applicative151

15.3 选择解析153

第16章 单子158

16.1 应用函子的局限158

16.2 什么是单子159

16.2.1 粘合函数161

16.2.2 do语法糖163

16.3 IO单子165

第17章 八皇后问题和列表单子168

17.1 列表单子与数组归纳168

17.2 八皇后问题169

17.3 MonadPlus171

17.4 结构控制函数173

17.4.1 sequence/sequence_173

17.4.2 mapM/mapM_174

17.4.3 replicateM/replicateM_175

17.4.4 forever176

17.4.5 filterM176

17.4.6 foldM/foldM_177

第18章 Reader单子179

18.1 (->)a的单子实例声明179

18.2 模板渲染180

18.3 Reader新类型185

第19章 State单子187

19.1 什么是State单子187

19.2 随机数192

19.3 简易计算器195

第20章 IO和它的伙伴们197

20.1 IO单子的本质197

20.2 基本IO操作199

20.3 IO中的变量202

20 4 forkIO203

20.5 ST单子204

20.6 后门函数206

第三部分 高级类型类和项目实践211

第21章 语言扩展和程序标注211

21.1 语言扩展211

21.2 严格求值数据项214

21.3 惰性模式214

21.4 程序标注215

21.5 编译选项217

21.6 运行分析218

第22章 Foldable和Traversable221

22.1 Foldable221

22.2 折叠与单位半群224

22.3 Traversable226

22.4 推导规则230

22.5 Data.Coerce231

第23章 列表、数组和散列表233

23.1 列表233

23.2 数组236

23.3 散列表242

第24章 单子变换245

24.1 Kleisli范畴245

24.2 ReaderT246

24.3 Identity和IdentityT248

24.4 StateT250

24.5 RandT253

第25章 单子变换的升格操作256

25.1 MonadIO258

25.2 MonadState和MonadReader258

25.3 类型家族260

25.4 Lazy StateT和Strict StateT262

25.5 Writer单子263

第26章 高效字符串处理266

26.1 bytestring函数库266

26.1.1 Lazy ByteString267

26.1.2 ByteString Builder268

26.2 text和utf8-string函数库272

26.3 mono-traversable函数库274

第27章 网络编程276

27.1 wai/warp276

27.2 wai-extra279

27.3 HTTP的单子抽象280

27.4 WebSocket编程281

27.5 Socket编程283

第28章 Haskell与数据库286

28.1 persistent286

28.2 esqueleto292

第29章 模板编程296

29.1 什么是模板296

29.2 Q单子299

29.3 拼接301

29.4 reify303

第30章 并发和并行编程306

30.1 运行时工作原理306

30.2 并行编程308

30.3 并发编程310

30.3.1 MVar311

30.3.2 STM314

30.3.3 aysnc316

第31章 高级类型编程317

31.1 Typeable和Dynamic317

31.2 存在类型320

31.3 类型家族、数据家族和GADT321

31.3.1 类型家族321

31.3.2 数据家族324

31.3.3 GADT325

31.4 数据类别DataKinds327

第32章 序列化/反序列化与泛型编程331

32.1 aeson函数库331

32.1.1 使用模板编程自动生成ToJSON/FromJSON实例334

32.1.2 使用泛型提供的ToJSON/FromJSON335

32.2 泛型336

第33章 Haskell中的异常处理342

33.1 使用Either/Maybe表示异常342

33.2 运行时异常343

33.2.1 异步异常346

33.2.2 资源的清理和释放348

33.3 纯函数中的异常处理349

33.4 异常和单子变换350

33.4.1 exceptions350

33.4.2 monad-control351

33.5 常见的异常处理问题353

热门推荐