3 ms·
In a lazy language like Haskell, you often define pure functions whose result is an effectful monadic action. In a strict language, it makes more sense to quali
by catnaroek 10y ago
In a lazy language like Haskell, you often define pure functions whose result is an effectful monadic action. In a strict language, it makes more sense to qualify functions themselves as being pure or effectful. So you end up working with Kleisli arrows, which are still related to monads.
Also, the way Haskell handles composing effects (monad transformers), while precise, sometimes leaves a lot to be desired in terms of usability. That's why other approaches to managing effectful computations are being explored, like algebraic effects.