Re:The problem of effects in Rust (2020)
by sullyj3 on Saturday August 28, 2021 @12:56AM
(#28335744)
I mean, monads famously don't compose - you have to write a bunch of monad transformers.
[ Parent
| on HN ]
Re:The problem of effects in Rust (2020)
by sfvisser on Saturday August 28, 2021 @03:01AM
(#28336177)
True, but not a huge real world issue in nearly all the relevant cases.
I can very easily have a fallible, asynchronous, multi-value, stateful, database connected computation that returns a Bool and use it in let’s say ‘filterM’.
Most transformers are already written for me.
Edit: switching between no effect and some effect is the tricky part though.
Re:The problem of effects in Rust (2020)
by sullyj3 on Saturday August 28, 2021 @08:06AM
(#28337416)
I find in practice that even though I don't have to write the transformers myself, `lift`ing and `unlift`ing things is a pain in the ass. Once you try a proper algebraic effect system, it's hard to feel like transformers are an adequate solution.
Re:The problem of effects in Rust (2020)
by thinkharderdev on Saturday August 28, 2021 @06:57AM
(#28337125)
Most of the relevant plumbing is generic though. Check out ZIO or cats-effect in Scala which I think both provide highly composable effect systems.