FP
FP concepts实际应用
https://www.zhihu.com/question/490747995
- 闭包和高阶函数:数不胜数
- 受限的副作用:如 monad 启发的 async function(容器固定,全程promise)
- 代数数据类型(algebraic data types):如 Rust 中的 Result、Option 等
- 惰性求值:如 Python3 的 map 等
- 参数化多态(Parametric polymorphism):如 Go 2 中的泛型;不同类型具有相同的行为
- 特设多态(Ad-hoc polymorphism):trait;不同的类型表现出不同的行为
- 元编程:如 Rust 的过程宏
- 模式匹配
- typeclass:非继承组合
类型可定义,尽量受限使结果可预知
ad-hoc 与 Parametric https://zhuanlan.zhihu.com/p/104248345 代数数据类型 https://www.zhihu.com/question/24460419