我是一名函数式程序员,并尝试以函数式方式使用 Rust。
我读了
然而,令人失望的是看到代码只是在 OOP 范式中实现 Object&Method。
Monad 和 Functor 可以用纯函数的方式定义,而根本上需要的是高阶泛型类型函数(人们更喜欢称之为 HKT 或其他什么)。
我也读过这里
但这是6年前的事了。
无论哪种方式,如果没有高阶泛型类型函数,就不可能以标准函数方式组合 Functor 或 Monad。
我也很惊讶我无法以简单的 lambda 表达式形式正确定义简单的恒等函数。
let identity = <T>|a:T| a;
Run Code Online (Sandbox Code Playgroud)
现在已经2022年了,有什么解决办法吗?