Higher: Favourite Haskell type classes for Rust (2023)
a year ago
- #Type System
- #Rust
- #Functional Programming
- 受PureScript和Scala的Cats启发,在Rust中引入函子层次特性
- 由于Rust类型系统的限制(特别是在特质实现中的约束条件)导致的实现挑战
- 使用泛型关联类型(GATs)来近似高阶类型,但存在已知局限性
- 由于实现中的边界条件比特质定义更严格,导致难以对HashSet等类型实现函子
- Bind特质实现中的复杂性及需要显式类型标注的问题
- 讨论GATs相比高阶类型的局限性及其对抽象可用性的影响
- 该crate更多是探索Rust类型系统能力的实验,而非实用工具
- 呼吁语言改进(如约束种类)以更好支持函数式编程抽象