Haskell 程序設計基礎 (微課版)
喬海燕、周曉聰
- 出版商: 清華大學
- 出版日期: 2022-07-01
- 定價: $294
- 售價: 8.5 折 $250
- 語言: 簡體中文
- 頁數: 171
- ISBN: 730260827X
- ISBN-13: 9787302608271
-
相關分類:
Functional-programming
立即出貨
買這商品的人也買了...
-
$327Haskell 趣學指南 (Learn You a Haskell for Great Good!: A Beginner's Guide ) -
$301JavaScript 設計模式 -
Haskell 的魔力|函數式程式設計入門與應用$520$411 -
$454Kotlin 核心編程 -
Professional JavaScript for Web Developers, 4/e (Paperback)$1,800$1,710 -
$654全棧技能修煉:使用 Angular 和 SpringBoot 打造全棧應用 -
$505全棧開發實戰寶典 -
網頁應用程式設計|使用 Node 和 Express, 2/e (Web Development with Node and Express, 2/e)$580$458 -
$374Web 全棧項目開發入門與實戰 -
$469網站全棧開發指南:HTML + CSS + JavaScript + ASP.NET -
在 React 生態圈打滾的一年 feat.TypeScript(iT邦幫忙鐵人賽系列書)$550$429 -
$407高效全平臺全棧開發:Node.js + Express + MongoDB + Reac -
重新認識 Vue.js:008天絕對看不完的 Vue.js 3 指南$600$468 -
React + Node.js 開發實戰:從入門到項目上線$594$564 -
$414Vue.js + Node.js 全棧開發實戰 -
$473JavaScript 全棧開發 -
$301OpenCL 異構計算 : 入門 FPGA 和 TensorFlow 神經網絡 -
$454GIS 數學方法 (原書第2版) -
$594網站全棧開發指南:HTML + CSS + JavaScript + PHP -
演算法學習手冊|寫出更有效率的程式 (Learning Algorithms: A Programmer's Guide to Writing Better Code)$580$458 -
$352計算機視覺 — 基於 Python、Keras 和 TensorFlow 的深度學習方法 -
$658前端跨界開發指南:JavaScript 工具庫原理解析與實戰 -
Visual C# 從入門到精通, 10/e$1,134$1,077 -
C# 最強入門邁向頂尖高手之路王者歸來$980$774 -
碼農野蠻生長 — Java 源碼閱讀方法論$528$502
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書用Haskell 語言從函數式程序設計角度講解電腦程序設計。本書前半部分介紹程序設計的基本內容, 包括數據、類型、函數、遞歸函數、模塊、測試、多態和重載等;後半部分則突出了函數程序設計的特色內容, 包括高階函數、代數類型、惰性計算和單子等。 全書內容編排由淺入深,語言表達清晰準確,每章都提供了難度適中的練習,各章內容都配備講解視頻, 十分便於自學。 本書是為程序設計初學者編寫,可作為高等院校各專業學習程序設計的教材,也可供從事電腦軟件工作 的技術人員學習函數式程序設計參考。
目錄大綱
目 錄
第 1 章 電腦程序設計 1
1.1 命令式程序設計 1
1.1.1 程序設計的概念 1
1.1.2 命令式算法和偽代碼 2
1.1.3 命令式程序 3
1.2 函數程序設計 4
1.2.1 程序是函數 4
1.2.2 Haskell 函數程序 5
1.2.3 Haskell 函數語言的特點 5
1.3 Haskell 解釋器和編譯器 6
1.3.1 下載 Haskell 解釋器和編譯器 7
1.3.2 運行 Haskell 程序 8
1.3.3 解釋器常用命令 10
1.4 習題 10
第 2 章 函數程序設計基礎 12
2.1 程序與函數 12
2.1.1 數學函數 13
2.1.2 Haskell 函數 14
2.2 數據和類型 15
2.2.1 數據類型 15
2.2.2 數值類型 15
2.2.3 布爾類型 17
2.2.4 查看表達式的類型 18
2.2.5 字符和字符串 19
2.2.6 列表類型 19
2.2.7 多元組類型 21
2.2.8 多元組類型和列表類型的對比 22
2.2.9 函數類型 23
2.2.10 函數應用與類型推導規則 23
2.3 Haskell 函數定義 24
2.3.1 函數定義語法規則 24
2.3.2 函數定義舉例 26
2.4 遞歸函數 31
2.4.1 階乘函數 31
2.4.2 斐波那契數列 32
2.4.3 漢諾塔 33
2.5 模塊 35
2.5.1 模塊的定義 35
2.5.2 模塊的使用 35
2.5.3 查找庫函數 37
2.6 軟件調試與測試 38
2.6.1 軟件調試 38
2.6.2 軟件測試 40
2.6.3 程序的規格說明 40
2.6.4 QuickCheck 隨機測試工具 41
2.7 習題 43
第 3 章 列表程序設計 47
3.1 列表的構造 47
3.1.1 構造函數 47
3.1.2 列表概括 50
3.2 圖書借閱管理 52
3.2.1 借閱卡的數據及其類型 53
3.2.2 圖書查詢 53
3.2.3 借閱管理 54
3.3 超市購物清單 55
3.3.1 數據類型的設計 55
3.3.2 屏幕打印函數 56
3.3.3 打印清單函數 57
3.4 一個簡單圖形庫 58
3.4.1 圖形的類型 59
3.4.2 圖形的顯示 60
3.4.3 圖形上的運算 60
3.4.4 圖形模塊及其應用 64
3.5 習題 65
第 4 章 多態與重載 68
4.1 多態函數 68
4.1.1 單態與多態 68
4.1.2 多態函數舉例 70
4.2 重載 71
4.2.1 類族和重載 71
4.2.2 常用的已定義類族 73
4.2.3 重載函數舉例 76
4.3 習題 79
第 5 章 高階函數 81
5.1 函數也是數據 81
5.1.1 map 計算模式 81
5.1.2 λ 表達式 82
5.2 常用高階函數 84
5.2.1 折疊計算模式 foldr 84
5.2.2 過濾計算模式 filter 85
5.2.3 前綴處理函數 takeWhile 和 dropWhile 85
5.2.4 函數的復合 86
5.2.5 卡瑞化 88
5.2.6 部分應用 89
5.3 詞頻統計 89
5.3.1 問題分析及解決步驟 89
5.3.2 設計分步函數 90
5.3.3 步驟的復合 91
5.4 習題 92
第 6 章 代數類型 95
6.1 自定義類型 95
6.1.1 簡單有窮類型 95
6.1.2 定義新類型為類族的實例 96
6.1.3 無窮類型 98
6.2 數據類型的歸納定義 100
6.2.1 自定義自然數類型 100
6.2.2 一個表達式類型 101
6.3 帶類型參數的自定義類型 103
6.3.1 列表類型的定義 103
6.3.2 Maybe 類型 104
6.4 習題 106
第 7 章 IO 程序 111
7.1 IO 類型 111
7.1.1 IO 類型的基本操作 111
7.1.2 連續動作的表示和 do 語法 113
7.1.3 使用遞歸實現動作的重復性 115
7.2 模擬計算 116
7.2.1 隨機數與猜數遊戲 116
7.2.2 隨機事件的模擬 119
7.2.3 識別計算模式 121
7.2.4 用蒙特卡洛方法估算 π 的近似值 123
7.2.5 一個簡單猜拳遊戲 125
7.3 文件讀寫與數據處理 129
7.3.1 文件讀寫 129
7.3.2 數據處理 130
7.4 習題 133
第 8 章 惰性計算 134
8.1 惰性計算概述 134
8.1.1 惰性與嚴格 134
8.1.2 計算規則 135
8.1.3 局部定義 136
8.2 無窮數據結構 137
8.2.1 斐波那契數列 137
8.2.2 埃拉托色尼篩法 137
8.2.3 牛頓-拉森疊代法 138
8.3 習題 140
第 9 章 函子與單子 141
9.1 類型構造函數及其種 141
9.2 函子 142
9.2.1 Functor 類族 143
9.2.2 Functor 的實例 143
9.2.3 函子定律 144
9.3 Applicative 類族 146
9.3.1 Applicative 類族及其實例 146
9.3.2 Applicative 定律 148
9.4 單子 149
9.4.1 單子定義和實例 149
9.4.2 單子的 do 語法 150
9.4.3 單子定律 151
9.4.4 單子解釋器 152
9.5 單子語法分析器 153
9.5.1 算術表達式定義 154
9.5.2 語法分析器 154
9.5.3 基本語法分析器 155
9.5.4 算術表達式計算器 158
9.6 習題 159
附錄 A GHC 的安裝 161
A.1 使用 GHCup 工具安裝 161
A.2 其他安裝方法 161
附錄 B 部分 Prelude 函數 163
參考文獻 168
索引 169



