Haskell趣学指南是一本非常有趣的书,虽然现在非常忙,但我希望在接下来的一段时间里能集中学习完这本书,这个项目也算是对github的一次练习,包含每个章节的笔记和练习
这本书虽然有免费的在线版,但是我希望通过这种复述的笨办法来学习haskell,到了年底看看这个懒毛病会不会复发。
在学习完一章之后进行向主分支的merge
编辑器(vscode)和编译器(glasgow haskell compiler GHC)
最简单的方法是下载Haskell Platform,包含很多有用的库
在终端中使用ghci
来进入交互模式
学习流程:
在一个文件中定义了几个函数,通过:l myfuctions
将函数装载进GHCi(需要保证脚本位于启动GHCi的同一目录下)
在修改了这个脚本内容之后,可以再次通过:l myfunctions
或等价的:r
来重新装载脚本
- 拼接列表
- 访问列表中的元素
- 嵌套列表
- 比较列表
- 更多列表操作
- 使用元组
- 使用序对
- 找直角三角形
- Eq类型类
- Ord类型类
- Show类型类
- Read类型类
- Enum类型类
- Bounded类型类
- Num类型类
- Floating类型类
- Integeral类型类
- 有关类型类的最后总结
- 元组的模式匹配
- 列表与列表推导式的模式匹配
- As模式
- where的作用域
- where中的模式匹配
- where块中的函数
- 列表推导式中的let
- GHCi中的let
- replicate
- take
- reverse
- repeat
- zip
- elem
- 算法思路
- 编写代码
- 截断
- 打印函数
- 实现
zipWith
- 实现
flip
map
函数filter
函数- 有关
map
与filter
的更多示例 - 映射带有多个参数的函数
- 通过
foldl
进行左折叠 - 通过
foldr
进行右折叠 foldll
函数与foldrl
函数- 折叠的几个例子
- 另一个角度看折叠
- 无限列表的折叠
- 扫描
- 带有多个参数函数的组合
Point-Free
风格