3 ms·
Algebraic effects always struck me as an overrided fad. I would much rather they first spend time and something old and proven like higher kinded types.
by Ericson2314 3y ago
Algebraic effects always struck me as an overrided fad. I would much rather they first spend time and something old and proven like higher kinded types.
- zozbot234 3y agoRust has GAT which have the same power as higher-kinded types. However the patterns you might expect in a language like Haskell are harder to implement due to unforeseen interactions with Rust's lower-level features (such as no obligatory GC) - the standard approaches don't lead to a zero overhead abstraction in Rust. That's one of the reasons why this kind of work is needed.
- chowells 3y agoWell, no. GAT might let you fake Monad, but it doesn't let you fake Traversable. And honestly, Traversable is just as useful.
- Ericson2314 3y agoI'm glad this got thoroughly downvoted. That some of the things people do in Haskell with HKTs don't work as well in Rust is poor evidence that there are no good uses for HKTs in Rust. Indeed, there are uses that would in Rust that don't exist in Haskell, like parameterizing something with a pointer type constructor (Type -> Type).