Haskell趣學指南

Haskell趣學指南 pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:[斯洛文尼亞] Miran Lipovaca
出品人:
頁數:301
译者:李亞舟
出版時間:2014-1
價格:0
裝幀:平裝
isbn號碼:9787115335593
叢書系列:新銳編程語言集萃
圖書標籤:
  • Haskell
  • 函數式編程
  • 編程
  • 計算機
  • 編程語言
  • 程序設計
  • programming
  • haskell
  • Haskell
  • 編程
  • 語言
  • 學習
  • 教程
  • 函數式編程
  • 趣味學習
  • 編程入門
  • 算法
  • 計算機科學
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

《haskell趣學指南》是一本講解haskell這門函數式編程語言的入門指南,語言通俗易懂,插圖生動幽默,示例短小清晰,結構安排閤理。書中從haskell的基礎知識講起,涵蓋瞭所有的基本概念和語法,內容涉及基本語法、遞歸、類型和類型類、函子、applicative 函子、monad、zipper及所有haskell重要特性和強大功能。

《haskell趣學指南》適閤對函數式編程及haskell語言感興趣的開發人員閱讀。

著者簡介

Miran Lipovaca 斯洛文尼亞共和國盧布爾雅那城的一位計算機科學專業的學生。除瞭對Haskell的狂熱,他還喜歡拳擊,玩低音吉他,當然還有畫畫。

譯者介紹

李亞舟 畢業於山東理工大學,現就職於IBM LTC,從事Linux發行版相關工作。對內核、體係結構、編程語言及技術翻譯有濃厚興趣,敬仰那些孜孜不倦地精益求精的人們。

宋方睿 本科生,清華大學開源鏡像站維護者,blue-lotus戰隊成員,熱愛算法和程序設計語言理論,關注高性能計算、自然語言處理及前端技術。個人博客http://maskray.me。

圖書目錄

《haskell趣學指南》
第1章 各就各位,預備! 1
1.1 調用函數 3
1.2 小朋友的第一個函數 4
1.3 列錶入門 6
1.3.1 拼接列錶 6
1.3.2 訪問列錶中的元素 8
1.3.3 嵌套列錶 8
1.3.4 比較列錶 8
1.3.5 更多列錶操作 9
1.4 得州區間 11
1.5 我是列錶推導式 13
1.6 元組 16
1.6.1 使用元組 16
1.6.2 使用序對 17
1.6.3 找直角三角形 18
第2章 相信類型 20
2.1 顯式類型聲明 20
2.2 haskell的常見類型 21
2.3 類型變量 22
.2.4 類型類入門 23
2.4.1 eq類型類 24
2.4.2 ord類型類 24
2.4.3 show類型類 25
2.4.4 read類型類 25
2.4.5 enum類型類 27
2.4.6 bounded類型類 27
2.4.7 num類型類 28
2.4.8 floating類型類 28
2.4.9 integeral類型類 28
2.4.10 有關類型類的最後總結 29
第3章 函數的語法 30
3.1 模式匹配 30
3.1.1 元組的模式匹配 32
3.1.2 列錶與列錶推導式的模式匹配 32
3.1.3 as模式 34
3.2 注意,哨衛! 34
3.3 where?! 36
3.3.1 where的作用域 37
3.3.2 where中的模式匹配 38
3.3.3 where塊中的函數 38
3.4 let 39
3.4.1 列錶推導式中的let 40
3.4.2 ghci中的let 40
3.5 case錶達式 41
第4章 你好,遞歸 43
4.1 不可思議的最大值 43
4.2 更多的幾個遞歸函數 45
4.2.1 replicate 45
4.2.2 take 45
4.2.3 reverse 46
4.2.4 repeat 46
4.2.5 zip 46
4.2.6 elem 47
4.3 快點,排序! 47
4.3.1 算法思路 47
4.3.2 編寫代碼 48
4.4 遞歸地思考 49
第5章 高階函數 50
5.1 柯裏函數 50
5.1.1 截斷 52
5.1.2 打印函數 53
5.2 再來點兒高階函數 53
5.2.1 實現zipwith 54
5.2.2 實現flip 55
5.3 函數式程序員工具箱 56
5.3.1 map函數 56
5.3.2 filter函數 57
5.3.3 有關map與filter的更多示例 58
5.3.4 映射帶有多個參數的函數 60
5.4 lambda 60
5.5 摺疊紙鶴 62
5.5.1 通過foldl進行左摺疊 63
5.5.2 通過foldr進行右摺疊 63
5.5.3 foldl1函數與foldr1函數 64
5.5.4 摺疊的幾個例子 65
5.5.5 另一個角度看摺疊 66
5.5.6 無限列錶的摺疊 67
5.5.7 掃描 68
5.6 有$的函數應用 68
5.7 函數組閤 70
5.7.1 帶有多個參數函數的組閤 70
5.7.2 point-free風格 71
第6章 模塊 73
6.1 導入模塊 73
6.2 使用模塊中的函數求解問題 75
6.2.1 統計單詞數 75
6.2.2 乾草堆中的縫紉針 76
6.2.3 凱撒密碼沙拉 77
6.2.4 嚴格左摺疊 79
6.2.5 尋找酷數 80
6.3 映射鍵與值 82
6.3.1 幾乎一樣好:關聯列錶 82
6.3.2 進入data.map 83
6.4 構造自己的模塊 87
6.4.1 幾何模塊 87
6.4.2 模塊的層次結構 89
第7章 構造我們自己的類型和類型類 91
7.1 定義新的數據類型 91
7.2 成型 92
7.2.1 藉助point數據類型優化shape數據類型 93
7.2.2 將圖形導齣到模塊中 94
7.3 記錄語法 95
7.4 類型參數 97
7.4.1 要不要參數化我們的汽車? 99
7.4.2 末日嚮量 100
7.5 派生實例 102
7.5.1 相同的人 102
7.5.2 告訴我怎麼讀 103
7.5.3 法庭內保持秩序! 104
7.5.4 一周的一天 105
7.6 類型彆名 106
7.6.1 使我們的電話本更好看些 107
7.6.2 參數化類型彆名 108
7.6.3 嚮左走,嚮右走 109
7.7 遞歸數據結構 111
7.7.1 優化我們的列錶 111
7.7.2 種一棵樹 113
7.8 類型類 115
7.8.1 深入eq類型類 116
7.8.2 trafficlight數據類型 116
7.8.3 子類化 118
7.8.4 作為類型類實例的帶參數類型 118
7.9 yes-no類型類 120
7.10 functor類型類 122
7.10.1 maybe函子 124
7.10.2 樹也是函子 124
7.10.3 either a函子 125
7.11 kind與無名類型 126
第8章 輸入與輸齣 128
8.1 純粹與非純粹的分離 128
8.2 hello, world! 129
8.3 組閤i/o操作 130
8.3.1 在i/o操作中使用let 132
8.3.2 反過來 133
8.4 幾個實用的i/o函數 135
8.4.1 putstr 135
8.4.2 putchar 135
8.4.3 print 136
8.4.4 when 137
8.4.5 sequence 137
8.4.6 mapm 138
8.4.7 forever 139
8.4.8 form 139
8.5 i/o操作迴顧 140
第9章 更多的輸入輸齣操作 141
9.1 文件和流 141
9.1.1 輸入重定嚮 141
9.1.2 從輸入流獲取字符串 142
9.1.3 轉換輸入 144
9.2 讀寫文件 146
9.2.1 使用withfile函數 147
9.2.2 bracket的時間到瞭 148
9.2.3 抓住句柄 149
9.3 todo列錶 149
9.3.1 刪除條目 150
9.3.2 清理 152
9.4 命令行參數 153
9.5 關於todo列錶的更多有趣的事 154
9.5.1 一個多任務列錶 155
9.5.2 處理錯誤的輸入 158
9.6 隨機性 159
9.6.1 擲硬幣 160
9.6.2 更多隨機函數 161
9.6.3 隨機性和i/o 162
9.7 字節串 165
9.7.1 嚴格的和惰性字節串 166
9.7.2 用字節串復製文件 167
第10章 函數式地解決問題 169
10.1 逆波蘭式計算器 169
10.1.1 計算rpn錶達式 169
10.1.2 寫一個rpn函數 170
10.1.3 添加更多的操作符 172
10.2 從希思羅機場到倫敦 173
10.2.1 計算最快的路綫 174
10.2.2 在haskell中錶示道路係統 176
10.2.3 實現計算最佳路徑的函數 177
10.2.4 從輸入獲取道路係統 179
第11章 applicative函子 182
11.1 函子再現 182
11.1.1 作為函子的i/o操作 183
11.1.2 作為函子的函數 185
11.2 函子定律 187
11.2.1 定律1 188
11.2.2 定律2 188
11.2.3 違反定律 189
11.3 使用applicative函子 191
11.3.1 嚮applicative問好 192
11.3.2 maybe applicative函子 192
11.3.3 applicative風格 193
11.3.4 列錶 195
11.3.5 io也是applicative函子 197
11.3.6 函數作為applicative 198
11.3.7 zip列錶 199
11.3.8 applicative定律 200
11.4 applicative的實用函數 201
第12章 monoid 205
12.1 把現有類型包裹成新類型 205
12.1.1 用newtype創建類型類的實例 207
12.1.2 關於newtype的惰性 208
12.1.3 type、newtype和data三者的對比 210
12.2 關於那些monoid 211
12.2.1 monoid類型類 212
12.2.2 monoid定律 213
12.3 認識一些monoid 213
12.3.1 列錶是monoid 213
12.3.2 product和sum 214
12.3.3 any和all 216
12.3.4 ordering monoid 217
12.3.5 maybe monoid 219
12.4 monoid的摺疊 221
第13章 更多monad的例子 224
13.1 升級我們的applicative函子 224
13.2 體會maybe 225
13.3 monad類型類 228
13.4 一往無前 229
13.4.1 代碼,代碼,代碼 230
13.4.2 我要飛走 231
13.4.3 綫上的香蕉 234
13.5 do記法 235
13.5.1 按我所說的去做 236
13.5.2 我皮埃爾又迴來瞭 237
13.5.3 模式匹配和計算失敗 238
13.6 列錶monad 239
13.6.1 do記法和列錶推導式 241
13.6.2 monadplus和guard函數 242
13.6.3 馬的探索 243
13.7 monad定律 245
13.7.1 左單位元 246
13.7.2 右單位元 246
13.7.3 結閤律 247
第14章 再多一些monad 249
14.1 writer?我沒聽說過啊! 249
14.1.1 monad趕來營救 251
14.1.2 writer類型 253
14.1.3 對writer使用do記法 254
14.1.4 給程序添加日誌 255
14.1.5 低效的列錶構造 257
14.1.6 使用差分列錶 258
14.1.7 比較性能 259
14.2 reader?呃,不開玩笑瞭 260
14.2.1 作為monad的函數 261
14.2.2 reader monad 261
14.3 帶狀態計算的優雅錶示 262
14.3.1 帶狀態的計算 263
14.3.2 棧和石頭 264
14.3.3 state monad 265
14.3.4 獲取和設置狀態 267
14.3.5 隨機性和state monad 268
14.4 牆上的error 269
14.5 一些實用的monad式的函數 271
14.5.1 liftm和它的朋友們 271
14.5.2 join函數 274
14.5.3 filterm 276
14.5.4 foldm 278
14.6 創建一個安全的rpn計算器 279
14.7 組閤monad式的函數 281
14.8 創建monad 282
第15章 zipper 287
15.1 在樹上移動 287
15.1.1 麵包屑 290
15.1.2 嚮上走 291
15.1.3 處理焦點處的樹 293
15.1.4 一路走到頂端,那裏的空氣既新鮮又乾淨 294
15.2 在列錶上定位 294
15.3 一個非常簡單的文件係統 295
15.3.1 為文件係統創建一個zipper 296
15.3.2 操作文件係統 298
15.4 小心行事 299
15.5 謝謝閱讀! 301
· · · · · · (收起)

讀後感

評分

刚刚发现内容被豆瓣和谐了,重新发下链接 http://fleurer-lee.com/lyah ps: 神奇的捅到了豆娘的g点吐槽不能,欢迎大家加入阿北找不着北小组:http://www.douban.com/group/ieba/ pps:人家不反党不反人民没看过让子弹飞没来得及围观方叫兽基本上人畜无害还有作者许可~ ----...  

評分

刚刚发现内容被豆瓣和谐了,重新发下链接 http://fleurer-lee.com/lyah ps: 神奇的捅到了豆娘的g点吐槽不能,欢迎大家加入阿北找不着北小组:http://www.douban.com/group/ieba/ pps:人家不反党不反人民没看过让子弹飞没来得及围观方叫兽基本上人畜无害还有作者许可~ ----...  

評分

一直有学习一下Hashkell的想法,在网上找到Hashkell 趣味指南,看了一下,很不错啊,思想却是很独特,和c c++ java 什么的都不一样啊!很有个性的编程语言啊!好多特点对于有的问题解决简直是秒杀啊! 没有while for 大括号,看多了,也觉的很可爱啊!

評分

感觉这种东西就不应该用那么多自然语言描述,而是多写一点例子,多用符号。 反正我是看到第11章以后,根本就看不懂他在说什么,只能是从代码例子中,模模糊糊的知道他要表达什么,用自然语言来教这种语言我真的是觉得太吃力了,应该也和翻译没什么关系。 我觉得应该在开头就约...  

評分

强烈推荐,最好的Haskell入门书。入门但绝不肤浅,该讲的都讲到了,而且深入浅出。 网上有好多版本,建议找一个正式完整版的,较早的版本不完整,影响书的质量。 读完它再去看《Real World Haskell》,相信会功力大涨。 如果看了Haskell,突然对Category Theory的感兴趣了,...  

用戶評價

评分

Monad講的不是太清楚.do block是一個Monad,感覺Haskell引入Monad主要為瞭解決IO問題.

评分

Haskell入門學習最受喜愛的一本書,在亞馬遜上也是最熱評的Haskell主題的書。能快速建立起Haskell的整體認知;對使用注意、設計原因、最佳實踐和關鍵概念有很多用心良苦的提點;圖文並茂、循序漸進和風趣幽默的講解很有特色;看瞭很有安全感,非常不錯!這本開啓瞭『Learn You a Xxx for Great Good!』/『Xxx趣學指南』的講解傳授風格。

评分

Haskell入門學習最受喜愛的一本書,在亞馬遜上也是最熱評的Haskell主題的書。能快速建立起Haskell的整體認知;對使用注意、設計原因、最佳實踐和關鍵概念有很多用心良苦的提點;圖文並茂、循序漸進和風趣幽默的講解很有特色;看瞭很有安全感,非常不錯!這本開啓瞭『Learn You a Xxx for Great Good!』/『Xxx趣學指南』的講解傳授風格。

评分

對膜哪有瞭懵懂的認識

评分

是也乎 ╮(╯▽╰)╭ 經典的 haskell 入門書之一~ 翻譯'很認真 ~認真過頭瞭~ 沒有原文那麼逍遙自在瞭~ 另外一個類似的教程更好玩兒~ 但都沒解決一個關鍵問題~ 真實環境中乍用 haskell ?

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有