注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語(yǔ)言/工具Haskell趣學(xué)指南

Haskell趣學(xué)指南

Haskell趣學(xué)指南

定 價(jià):¥69.00

作 者: (斯洛文)利波瓦卡 著,李亞舟,宋方睿 篤
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 計(jì)算機(jī)與互聯(lián)網(wǎng) 軟件工程及軟件方法學(xué)

ISBN: 9787115335593 出版時(shí)間: 2014-01-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 301 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《新銳編程語(yǔ)言集萃:Haskell趣學(xué)指南》是一本講解Haskell這門函數(shù)式編程語(yǔ)言的入門指南,語(yǔ)言通俗易懂,插圖生動(dòng)幽默,示例短小清晰,結(jié)構(gòu)安排合理。書中從Haskell的基礎(chǔ)知識(shí)講起,涵蓋了所有的基本概念和語(yǔ)法,內(nèi)容涉及基本語(yǔ)法、遞歸、類型和類型類、函子、applicative函子、monad、zipper及所有Haskell重要特性和強(qiáng)大功能?!缎落J編程語(yǔ)言集萃:Haskell趣學(xué)指南》適合對(duì)函數(shù)式編程及Haskell語(yǔ)言感興趣的開發(fā)人員閱讀。

作者簡(jiǎn)介

暫缺《Haskell趣學(xué)指南》作者簡(jiǎn)介

圖書目錄

第1章 各就各位,預(yù)備!
1.1 調(diào)用函數(shù)
1.2 小朋友的第一個(gè)函數(shù)
1.3 列表入門
1.3.1 拼接列表
1.3.2 訪問(wèn)列表中的元素
1.3.3 嵌套列表
1.3.4 比較列表
1.3.5 更多列表操作
1.4 得州區(qū)間
1.5 我是列表推導(dǎo)式
1.6 元組
1.6.1 使用元組
1.6.2 使用序?qū)?br />1.6.3 找直角三角形
第2章 相信類型
2.1 顯式類型聲明
2.2 Haskell的常見類型
2.3 類型變量
2.4 類型類入門
2.4.1 Eq類型類
2.4.2 Ord類型類
2.4.3 Show類型類
2.4.4 Read類型類
2.4.5 Enum類型類
2.4.6 Bounded類型類
2.4.7 Num類型類
2.4.8 Floating類型類
2.4.9 Integeral類型類
2.4.10 有關(guān)類型類的最后總結(jié)
第3章 函數(shù)的語(yǔ)法
3.1 模式匹配
3.1.1 元組的模式匹配
3.1.2 列表與列表推導(dǎo)式的模式匹配
3.1.3 As模式
3.2 注意,哨衛(wèi)!
3.3 where?!
3.3.1 where的作用域
3.3.2 where中的模式匹配
3.3.3 where塊中的函數(shù)
3.4 let
3.4.1 列表推導(dǎo)式中的let
3.4.2 GHCi中的let
3.5 case表達(dá)式
第4章 你好,遞歸
4.1 不可思議的最大值
4.2 更多的幾個(gè)遞歸函數(shù)
4.2.1 replicate
4.2.2 take
4.2.3 reverse
4.2.4 repeat
4.2.5 zip
4.2.6 elem
4.3 快點(diǎn),排序!
4.3.1 算法思路
4.3.2 編寫代碼
4.4 遞歸地思考
第5章 高階函數(shù)
5.1 柯里函數(shù)
5.1.1 截?cái)?br />5.1.2 打印函數(shù)
5.2 再來(lái)點(diǎn)兒高階函數(shù)
5.2.1 實(shí)現(xiàn)zipWith
5.2.2 實(shí)現(xiàn)flip
5.3 函數(shù)式程序員工具箱
5.3.1 map函數(shù)
5.3.2 filter函數(shù)
5.3.3 有關(guān)map與filter的更多示例
5.3.4 映射帶有多個(gè)參數(shù)的函數(shù)
5.4 lambda
5.5 折疊紙鶴
5.5.1 通過(guò)foldl進(jìn)行左折疊
5.5.2 通過(guò)foldr進(jìn)行右折疊
5.5.3 foldl1函數(shù)與foldr1函數(shù)
5.5.4 折疊的幾個(gè)例子
5.5.5 另一個(gè)角度看折疊
5.5.6 無(wú)限列表的折疊
5.5.7 掃描
5.6 有$的函數(shù)應(yīng)用
5.7 函數(shù)組合
5.7.1 帶有多個(gè)參數(shù)函數(shù)的組合
5.7.2 Point-Free風(fēng)格
第6章 模塊
6.1 導(dǎo)入模塊
6.2 使用模塊中的函數(shù)求解問(wèn)題
6.2.1 統(tǒng)計(jì)單詞數(shù)
6.2.2 干草堆中的縫紉針
6.2.3 凱撒密碼沙拉
6.2.4 嚴(yán)格左折疊
6.2.5 尋找酷數(shù)
6.3 映射鍵與值
6.3.1 幾乎一樣好:關(guān)聯(lián)列表
6.3.2 進(jìn)入Data.Map
6.4 構(gòu)造自己的模塊
6.4.1 幾何模塊
6.4.2 模塊的層次結(jié)構(gòu)
第7章 構(gòu)造我們自己的類型和類型類
7.1 定義新的數(shù)據(jù)類型
7.2 成型
7.2.1 借助Point數(shù)據(jù)類型優(yōu)化Shape數(shù)據(jù)類型
7.2.2 將圖形導(dǎo)出到模塊中
7.3 記錄語(yǔ)法
7.4 類型參數(shù)
7.4.1 要不要參數(shù)化我們的汽車?
7.4.2 末日向量
7.5 派生實(shí)例
7.5.1 相同的人
7.5.2 告訴我怎么讀
7.5.3 法庭內(nèi)保持秩序!
7.5.4 一周的一天
7.6 類型別名
7.6.1 使我們的電話本更好看些
7.6.2 參數(shù)化類型別名
7.6.3 向左走,向右走
7.7 遞歸數(shù)據(jù)結(jié)構(gòu)
7.7.1 優(yōu)化我們的列表
7.7.2 種一棵樹
7.8 類型類
7.8.1 深入Eq類型類
7.8.2 TrafficLight數(shù)據(jù)類型
7.8.3 子類化
7.8.4 作為類型類實(shí)例的帶參數(shù)類型
7.9 Yes-No類型類
7.10 Functor類型類
7.10.1 Maybe函子
7.10.2 樹也是函子
7.10.3 Either a函子
7.11 kind與無(wú)名類型
第8章 輸入與輸出
8.1 純粹與非純粹的分離
8.2 Hello, World!
8.3 組合I/O操作
8.3.1 在I/O操作中使用let
8.3.2 反過(guò)來(lái)
8.4 幾個(gè)實(shí)用的I/O函數(shù)
8.4.1 putStr
8.4.2 putChar
8.4.3 print
8.4.4 when
8.4.5 sequence
8.4.6 mapM
8.4.7 forever
8.4.8 forM
8.5 I/O操作回顧
第9章 更多的輸入輸出操作
9.1 文件和流
9.1.1 輸入重定向
9.1.2 從輸入流獲取字符串
9.1.3 轉(zhuǎn)換輸入
9.2 讀寫文件
9.2.1 使用withFile函數(shù)
9.2.2 bracket的時(shí)間到了
9.2.3 抓住句柄
9.3 TODO列表
9.3.1 刪除條目
9.3.2 清理
9.4 命令行參數(shù)
9.5 關(guān)于TODO列表的更多有趣的事
9.5.1 一個(gè)多任務(wù)列表
9.5.2 處理錯(cuò)誤的輸入
9.6 隨機(jī)性
9.6.1 擲硬幣
9.6.2 更多隨機(jī)函數(shù)
9.6.3 隨機(jī)性和I/O
9.7 字節(jié)串
9.7.1 嚴(yán)格的和惰性字節(jié)串
9.7.2 用字節(jié)串復(fù)制文件
第10章 函數(shù)式地解決問(wèn)題
10.1 逆波蘭式計(jì)算器
10.1.1 計(jì)算RPN表達(dá)式
10.1.2 寫一個(gè)RPN函數(shù)
10.1.3 添加更多的操作符
10.2 從希思羅機(jī)場(chǎng)到倫敦
10.2.1 計(jì)算最快的路線
10.2.2 在Haskell中表示道路系統(tǒng)
10.2.3 實(shí)現(xiàn)計(jì)算最佳路徑的函數(shù)
10.2.4 從輸入獲取道路系統(tǒng)
第11章 applicative函子
11.1 函子再現(xiàn)
11.1.1 作為函子的I/O操作
11.1.2 作為函子的函數(shù)
11.2 函子定律
11.2.1 定律1
11.2.2 定律2
11.2.3 違反定律
11.3 使用applicative函子
11.3.1 向applicative問(wèn)好
11.3.2 Maybe applicative函子
11.3.3 applicative風(fēng)格
11.3.4 列表
11.3.5 IO也是applicative函子
11.3.6 函數(shù)作為applicative
11.3.7 zip列表
11.3.8 applicative定律
11.4 applicative的實(shí)用函數(shù)
第12章 Monoid
12.1 把現(xiàn)有類型包裹成新類型
12.1.1 用newtype創(chuàng)建類型類的實(shí)例
12.1.2 關(guān)于newtype的惰性
12.1.3 type、newtype和data三者的對(duì)比
12.2 關(guān)于那些monoid
12.2.1 Monoid類型類
12.2.2 monoid定律
12.3 認(rèn)識(shí)一些monoid
12.3.1 列表是monoid
12.3.2 Product和Sum
12.3.3 Any和All
12.3.4 Ordering monoid
12.3.5 Maybe monoid
12.4 monoid的折疊
第13章 更多monad的例子
13.1 升級(jí)我們的applicative函子
13.2 體會(huì)Maybe
13.3 Monad類型類
13.4 一往無(wú)前
13.4.1 代碼,代碼,代碼
13.4.2 我要飛走
13.4.3 線上的香蕉
13.5 do記法
13.5.1 按我所說(shuō)的去做
13.5.2 我皮埃爾又回來(lái)了
13.5.3 模式匹配和計(jì)算失敗
13.6 列表monad
13.6.1 do記法和列表推導(dǎo)式
13.6.2 MonadPlus和guard函數(shù)
13.6.3 馬的探索
13.7 monad定律
13.7.1 左單位元
13.7.2 右單位元
13.7.3 結(jié)合律
第14章 再多一些monad
14.1 Writer?我沒聽說(shuō)過(guò)啊!
14.1.1 monad趕來(lái)營(yíng)救
14.1.2 Writer類型
14.1.3 對(duì)Writer使用do記法
14.1.4 給程序添加日志
14.1.5 低效的列表構(gòu)造
14.1.6 使用差分列表
14.1.7 比較性能
14.2 Reader?呃,不開玩笑了
14.2.1 作為monad的函數(shù)
14.2.2 Reader monad
14.3 帶狀態(tài)計(jì)算的優(yōu)雅表示
14.3.1 帶狀態(tài)的計(jì)算
14.3.2 棧和石頭
14.3.3 State monad
14.3.4 獲取和設(shè)置狀態(tài)
14.3.5 隨機(jī)性和State monad
14.4 墻上的Error
14.5 一些實(shí)用的monad式的函數(shù)
14.5.1 liftM和它的朋友們
14.5.2 join函數(shù)
14.5.3 filterM
14.5.4 foldM
14.6 創(chuàng)建一個(gè)安全的RPN計(jì)算器
14.7 組合monad式的函數(shù)
14.8 創(chuàng)建monad
第15章 zipper
15.1 在樹上移動(dòng)
15.1.1 面包屑
15.1.2 向上走
15.1.3 處理焦點(diǎn)處的樹
15.1.4 一路走到頂端,那里的空氣既新鮮又干凈
15.2 在列表上定位
15.3 一個(gè)非常簡(jiǎn)單的文件系統(tǒng)
15.3.1 為文件系統(tǒng)創(chuàng)建一個(gè)zipper
15.3.2 操作文件系統(tǒng)
15.4 小心行事
15.5 謝謝閱讀!

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)