Haskell 速查
共 26 条 Haskell 基础语法、类型与工具链,涵盖基础语法、类型与数据、模式匹配与高阶函数、函子与单子、工具链。 支持搜索与分类筛选,点击即可复制。
基础语法
纯函数式语言。
| 命令 | 说明 |
|---|---|
| 函数定义(无括号调用:double 3) | |
| 类型签名(推荐写在定义上方) | |
| let 绑定 | |
| 条件表达式 | |
| case 表达式 |
类型与数据
静态类型,编译期推断。
| 命令 | 说明 |
|---|---|
| 代数数据类型(ADT) | |
| 类型别名 | |
| 零开销包装类型 | |
| 自动派生常用类型类 | |
| 内置可选值与错误类型 | |
| 定义类型类(接口) |
模式匹配与高阶
函数式核心工具。
| 命令 | 说明 |
|---|---|
| 模式匹配 + 递归 | |
| 守卫(guard) | |
| map 与 filter | |
| 折叠 | |
| 函数组合与 apply 运算符 | |
| 惰性列表操作 |
函子与单子
IO 与容器抽象。
| 命令 | 说明 |
|---|---|
| IO 动作(程序入口) | |
| 从 IO 取出值(do 语法) | |
| 绑定运算符 >>= | |
| Functor / Applicative | |
| 列表单子(笛卡尔组合) |
工具链
编译与交互。
| 命令 | 说明 |
|---|---|
| 交互式解释器(:l 加载文件,:t 查看类型,:q 退出) | |
| 编译为可执行文件 | |
| Cabal 项目管理 | |
| Stack 项目管理 |
使用说明
Haskell 速查:基础语法、类型与数据、模式匹配与高阶函数、函子与单子、工具链;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基础语法、类型与数据、模式匹配与高阶、函子与单子、工具链。
- 点「命令」列复制到源文件或 ghci。
- ghci 里用 :t 看类型、:l 加载文件、:q 退出。
- 函数式思维:尽量用 map/filter/fold 替代循环。
常见问题
- 类型签名是必须的吗?
- 不是必须,编译器可推断;但写上签名更清晰,也是良好实践。
- cabal 和 stack 怎么选?
- 两者都是项目管理工具,cabal 更贴近官方生态,stack 提供更固定的版本快照;任选其一即可。
- 需要联网吗?
- 不需要,本地可用。