「對於程式設計師來說,對照著理論快速實踐的圖書更容易學習,《Haskell的魔力》就是這樣一本讀起來輕鬆愉快、很有親和力的圖書,書中提供了大量實踐來配合理論講解,學習起來沒有太大壓力。」
—李令輝,前滴滴出行首席架構師,現美洽網總裁兼CTO
「不要被書的名字欺騙,“魔力”在這本書裡就是實實在在的引導,是為了一步一步降低學習Haskell的難度。讀完它,你將領略到Haskell魔力下的程式設計之美。」
—陸泰寧,百度傑出前端工程師
‧揭秘單子變換、範本程式設計和泛型程式設計等特性
‧解答異常處理、網路程式設計、資料庫操作等方面的常見問題
Haskell是一套純函數式程式語言,從語言設計到對實際程式設計問題的建模,都帶有那種讓人心曠神怡的美。Haskell出身於學術界,包含了很多電腦語言方面尖端的、實驗性的想法,是各種語言特性的試驗田,學習Haskell是對程式設計師的內涵和品味的一個很好的提升。
本書分為三部分:基礎知識、重要的型別(Type)和型別類別(Type Class)、高階型別類別和專案實作,是一門由淺入深的Haskell學習教材。
第一部分主要介紹Haskell的基礎語法和函數式程式設計的基本概念,以及GHC、GHCi、cabal等工具的用法。
第二部分按照函子→應用函子→單子的順序介紹Haskell中核心的三大型別類別,並以串列單子、Reader單子和State單子為例詳細分析單子型別類別的來龍去脈。
第三部分主要介紹最新加入Haskell的Foldable和Traversable型別類別、單子變換、GHC的語言擴展和程式標注,以及在網路程式設計、資料庫、並行和平行等方面的一些實例,希望能給讀者帶去很多有用的參考。
目錄
Part 01 基礎知識
01 基本語法和 GHCi
02 data 和模式比對
03 串列、遞迴和盒子比喻
04 元組、型別推斷和高階函數
05 常用的高階函數和函數的補充語法
06 常用的串列操作:映射、 過濾、折疊和掃描
07 型別類別
08 數字相關的型別類別
09 type、newtype 和惰性求值
10 模組語法以及 cabal、Haddock 工具
Part 02 重要的型別與型別類別
11 函子
12 透鏡組
13 應用函子
14 單位半群和一些有趣的應用函子
15 解析器
16 單子
17 八皇后問題和串列單子
18 Reader 單子
19 State 單子
20 IO 和它的夥伴們
Part 03 高階型別類別和專案實作
21 語言擴充和程式標注
22 Foldable 和 Traversable
23 串列、陣列和散列
24 單子變換
25 單子變換的升格操作
26 高效率的字串處理
27 網路程式設計
28 Haskell 與資料庫
29 範本程式設計
30 並行和平行程式設計
31 高階型別程式設計
32 序列化/反序列化與泛型程式設計
33 Haskell 中的異常處理
Part 01 基礎知識
01 基本語法和 GHCi
02 data 和模式比對
03 串列、遞迴和盒子比喻
04 元組、型別推斷和高階函數
05 常用的高階函數和函數的補充語法
06 常用的串列操作:映射、 過濾、折疊和掃描
07 型別類別
08 數字相關的型別類別
09 type、newtype 和惰性求值
10 模組語法以及 cabal、Haddock 工具
Part 02 重要的型別與型別類別
11 函子
12 透鏡組
13 應用函子
14 單位半群和一些有趣的應用函子
15 解析器
16 單子
17 八皇后問題和串列單子
18 Reader 單子
19 State 單子
20 IO 和它的夥伴們
Part 03 高階...