3 ms·
Very interesting, thanks for the clarification. What is the difference between algebraic effects and rocs approach?
by tkz1312 2y ago
Very interesting, thanks for the clarification. What is the difference between algebraic effects and rocs approach?
- rtfeldman 2y agoIn Haskell terms, Roc's `Task ok err` is essentially an `IO (Either err ok)` - the only difference between how Roc does it and how Haskell does it is that `Task` bakes in error handling whereas `IO` doesn't. (Plus the syntax sugar being different, of course.) So the biggest difference is that algebraic effects are a separate language feature, whereas Task (like IO in Haskell) is a plain old type in the standard library that happens to represent effeects. Incidentally, the Task.await function in Roc is based on Elm's Task.andThen - we just tried out a different name and argument order for it: https://package.elm-lang.org/packages/elm/core/latest/Task#andThen https://package.elm-lang.org/packages/elm/core/latest/Task#a...