登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』魔力Haskell

書城自編碼: 2892695
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 韩冬
國際書號(ISBN): 9787115432834
出版社: 人民邮电出版社
出版日期: 2016-09-01
版次: 1 印次: 1
頁數/字數: 354/
書度/開本: 16开 釘裝: 平装

售價:NT$ 593

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
俄国女皇:叶卡捷琳娜二世传(精装插图版)
《 俄国女皇:叶卡捷琳娜二世传(精装插图版) 》

售價:NT$ 381.0
真想让我爱的人读读这本书
《 真想让我爱的人读读这本书 》

售價:NT$ 269.0
解套基本逻辑与六大战法
《 解套基本逻辑与六大战法 》

售價:NT$ 274.0
超级制造
《 超级制造 》

售價:NT$ 671.0
明朝270年:明朝的外交博弈和权力游戏
《 明朝270年:明朝的外交博弈和权力游戏 》

售價:NT$ 325.0
禅之道(畅销全球60余年的一代经典,揭示禅对现代人的解脱意义)
《 禅之道(畅销全球60余年的一代经典,揭示禅对现代人的解脱意义) 》

售價:NT$ 386.0
改变历史的意大利豪门 : 传奇家族美第奇
《 改变历史的意大利豪门 : 传奇家族美第奇 》

售價:NT$ 420.0
Procreate插画手绘从新手到高手
《 Procreate插画手绘从新手到高手 》

售價:NT$ 493.0

建議一齊購買:

+

NT$ 1138
《 奔跑吧 Linux内核 》
+

NT$ 396
《 编程风格:好代码的逻辑 》
+

NT$ 569
《 数学与泛型编程:高效编程的奥秘 》
+

NT$ 684
《 JavaScript框架设计 第2版 》
+

NT$ 1210
《 深度学习 》
+

NT$ 929
《 深入理解并行编程 》
編輯推薦:
贴近Haskell前沿,兼顾理论和实践的*参考书
揭秘单子变换、模板编程和泛型编程等特性
解答异常处理、网络编程、数据库操作等方面的常见问题
內容簡介:
本书是一本由浅入深的Haskell教程。书中首先介绍Haskell的基础语法和函数式编程的基本概念,以及GHC、GHCi、Cabal等工具的用法;接着按照函子应用函子单子的顺序介绍Haskell中核心的三大类型类,并以列表单子、Reader单子和State单子为例详细分析单子类型类的来龙去脉;后介绍Foldable和Traversable类型类、单子变换、GHC的语言扩展和程序标注,以及网络编程、数据库、并发并行、序列化反序列化与泛型编程、异常处理等内容。
關於作者:
韩冬,北京理工大学07级毕业生,毕业后从事嵌入式开发,后投身互联网行业,曾任职百度、美团网高级前端工程师,现在在滴滴出行平台架构组从事架构开发工作。在工作中实践函数式编程,经验丰富。
目錄
第一部分 基础知识
第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 ShowRead69
第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
第二部分 重要的类型和类型类
第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 sequencesequence_173
17.4.2 mapMmapM_174
17.4.3 replicateMreplicateM_175
17.4.4 forever176
17.4.5 filterM176
17.4.6 foldMfoldM_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
第三部分 高级类型类和项目实践
第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 waiwarp276
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 使用模板编程自动生成ToJSONFromJSON实例334
32.1.2 使用泛型提供的ToJSONFromJSON335
32.2 泛型336
第33章 Haskell中的异常处理342
33.1 使用EitherMaybe表示异常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
內容試閱
虽然平时主要的工作都是用命令式语言完成的,但这并没有影响我成为一名Haskell的忠实粉丝,或者说函数式编程的粉丝。函数式编程作为另一类重要的编程模型,无论是在解决问题的大方向上,还是针对具体问题的具体思路上,对程序员都非常有帮助。即使在使用命令式编程语言的过程中,这些帮助也很有意义。如果你不会函数式编程,你可能终究无法成为一个更好的程序员(这和你是否需要用函数式编程工作没有关系),比如map-reduce框架的灵感就来自函数式编程语言,Erlang的分布式编程模型也利用了很多诸如不可变数据、高阶函数等函数式编程的特性。

在函数式编程中,我最喜欢的语言就是Haskell。Haskell从语言设计到对实际编程问题的建模,都带有那种让人心旷神怡的美。Haskell出身于学术界,包含了很多计算机语言方面前沿的、实验性的想法,是各种语言特性的试验田,学习Haskell是对程序员的内涵和品位的一个很好的提升。

但是学习Haskell其实很不易,常常导致对Haskell感兴趣的人无从下手,我个人也读过很多图书和教程,但是没有哪本是上手门槛特别低的。对于程序员来说,能对照着理论快速实践的图书比较容易学习,韩冬同学的《魔力Haskell》就是这样一本读起来轻松愉快、很有亲和力的图书,书中提供了大量实践来配合理论,学习起来没有太大压力。不像其他Haskell图书,这里不会用高不可攀的名字吓坏你,循序渐进,不知不觉的你就成了Haskeller。希望作为读者的各位也可以在学习编程知识的过程中,体会Haskell的美。

另外,出于种种原因,你可能之前学过Haskell但是未必能直接应用到工作里,这本书给出了作者本人的大量编程实践,希望它能起到抛砖引玉的作用,让你在工作中充分享受函数式编程的乐趣!


李令辉
前滴滴出行首席架构师,现美洽网总裁兼CTO

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.