《Haskell函数式编程入门》PDF电子书免费下载

作者:  张淞

出版社: 人民邮电出版社

ISBN: 7115338019

~~滚到底部有网盘下载链接~~

内容简介

目录

第1章 Haskell简介
1.1 Haskell的由来
1.2 Haskell编译器的安装以及 编写环境
1.3 GHCi的使用
1.3.1 GHCi中的命令
1.3.2 在GHCi中调用函数
1.4 .hs和.lhs文件、注释与库函数
1.5 第一个Haskell程序HelloWorld!
本章小结
第2章 类型系统和函数
2.1 Haskell的类型与数据
2.1.1 Haskell常用数据类型
2.1.2 函数类型
2.1.3 类型的别名
2.1.4 类型的重要性
2.2 Haskell中的类型类
2.2.1 相等类型类:Eq
2.2.2 有序类型类:Ord
2.2.3 枚举类型类:Emum
2.2.4 有界类型类:Bounded
2.2.5 数字类型类:Num
2.2.6 可显示类型类:Show
2.2.7 小结
2.3 Haskell中的函数
2.3.1 Haskell中的值
2.3.2 函数思想入门
2.3.3 函数的基本定义格式
2.3.4 λ表达式
2.3.5 参数的绑定
2.4 Haskell中的表达式
2.4.1 条件表达式
2.4.2 情况分析表达式
2.4.3 守卫表达式
2.4.4 模式匹配
2.4.5 运算符与函数
2.4.6 运算符与自定义运算符
本章小结
第3章 基于布尔值的函数
3.1 关键字module与import简介
3.2 简易布尔值的函数
3.3 与非门和或非门
本章小结
第4章 库函数及其应用
4.1 预加载库函数
4.1.1 常用函数
4.1.2 基于列表的函数
4.1.3 定义历法公式
4.1.4 字符串处理的函数
4.2 字符与位函数库简介
4.2.1 Data.Char
4.2.2 Data.Bits
本章小结
第5章 递归函数
5.1 递归函数的概念
5.2 简单递归函数
5.3 扩展递归与尾递归
5.4 互调递归
5.5 麦卡锡的91函数
5.6 斐波那契数列
5.7 十进制数字转成罗马数字
5.8 二分法查找
5.9 汉诺塔
5.10 排序算法
5.10.1 插入排序
5.10.2 冒泡排序
5.10.3 选择排序
5.10.4 快速排序
5.10.5 归并排序
小结
5.11 递归基本条件与程序终止
5.12 递归与不动点
5.13 无基本条件递归和惰性求值
本章小结
第6章 列表内包
6.1 列表生成器
6.2 素数相关趣题
6.3 凯撒加密
6.3.1 加密
6.3.2 解密
6.4 排列与组合问题
6.4.1 排列问题
6.4.2 错位排列问题
6.4.3 组合问题
6.5 八皇后问题
6.6 计算矩阵乘法
6.7 最短路径算法与矩阵乘法
本章小结
第7章 高阶函数与复合函数
7.1 简单高阶函数
7.2 折叠函数foldr与foldl
7.3 mapAccumL与mapAccumR函数
7.4 复合函数
本章小结
第8章 定义数据类型
8.1 数据类型的定义
8.1.1 枚举类型
8.1.2 构造类型
8.1.3 参数化类型
8.1.4 递归类型
8.1.5 杂合定义类型
8.2 类型的同构
8.3 使用newtype定义类型
8.4 数学归纳法的有效性
8.5 树
8.6 卡特兰数问题
8.7 霍夫曼编码
8.8 解24点
8.9 zipper
8.10 一般化的代数数据类型
8.11 类型的kind
8.11.1 类型的kind
8.11.2 空类型的声明
本章小结
第9章 定义类型类
9.1 定义类型类
9.2 Haskell中常见类型类
9.2.1 常用类型类
9.2.2 Functor
9.2.3 Applicative
9.2.4 Alternative
9.2.5 简易字符识别器
9.2.6 Read类型类
9.2.7 单位半群(Monoid)
9.2.8 Foldable与Monoid类型类
9.2.9 小结
9.3 类型类中的类型依赖
9.4 类型类中的关联类型
9.5 定长列表
9.6 运行时重载
9.7 Existential类型
本章小结
第10章 Monad初步
10.1 Monad简介
10.2 从Identity Monad开始
10.3 Maybe Monad
10.4 Monad定律
10.5 列表Monad
10.6 Monad相关运算符
10.7 MonadPlus
10.8 Functor、Applicative与Monad的关系
本章小结
第11章 系统编程及输入/输出
11.1 不纯函数与副作用
11.2 IO Monad
11.3 输入/输出处理
11.3.1 Control.Monad中的函数
11.3.2 系统环境变量与命令行参数
11.3.3 数据的读写
11.3.4 格式化输出printf函数
11.3.5 printf函数的简易实现
11.4 星际译王词典
11.4.1 二分法查找
11.4.2 散列表的使用
11.5 简易异常处理
11.6 Haskell中的时间
本章小结
……
第12章 记录器Monad、读取器Monad、状态Monad
第13章 Monad转换器
第14章 QuickCheck简介
第15章 惰性求值简介
第16章 并行与并发编程
参考文献
后记

下载价格:免费
立即下载
登入/注册
知识就是力量
没有账号? 忘记密码?