Haskell 技能图谱
优质
小牛编辑
133浏览
2023-12-01
Haskell语言编程基础
- 类型 (type)
- 函数 (function)
- 类型类 (type class)
- Prelude中的类型与函数的使用
Haskell语言初级部分
- 递归 (recursion)
- 列表内包 (list comprehension)
- 高阶函数 (higher order function)
- 定义类型 (define types)
- 定义类型类 (define type class)
Haskell语言中级部分
- 使用Monad
- 使用IO Monad
- 使用State, Writer, Reader Monad
- 使用Monad转换器 (monad transformer)
- 使用更多的Monad
- 使用Monad, 再使用Monad ...
- MonadIO, MonadBase ...
- 使用Monad与Monad转换器管理代码
Haskell进阶部分
类型系统
- 类型系统 (type system)
- 类型推断 (type inference)
- Kind推断 (kind inference)
- 多态Kind (kind polymorphism)
- 可类型化 (typeable)
- 单一同态限定 (monomorphism restriction)
- 类型家族 (type family)
通用编程
- 代数数据类型通用编程 (algebric data type generic)
- 摒弃模板化代码 (Scrap you boilerplate (SYB))
元编程
- 模板元编程 (meta template programming)
- 准引用 (quasi quotes)
在工程中使用Haskell
并行、并发还有异步
- 确定性并发
- 微线程
- Semarphore
- 软件事务内存 (software transactional memory)
- 通信顺序式进程 (communicating sequential process)
- 分布式编程 (distributed programming)
外部函数接口
数据库
前端
网络库
测试
正确性测试
- 单元测试 (unit test)
- 随机测试 (QuickCheck)
- 穷举测试
- 反例搜寻测试
- 完全性测试
- SMT精化类型
性能测试
- criterion库
- threadscope的使用
Haskell理论部分
- Arrow
- 函数反应式编程
- Haskell的依赖类型
- 编程语言原理
- 范畴论 (category theory)