2 ms·
> Then we choose to use `IO` (i.e. a monad) to implement that solution. Yes, we are in agreement, however i am arguing that haskell had to use monads here othe
by xfer 8y ago
> Then we choose to use `IO` (i.e. a monad) to implement that solution.
Yes, we are in agreement, however i am arguing that haskell had to use monads here otherwise it would be very difficult to use.
> As long as we teach monads as if they have anything to do with IO we're confusing people.
Sure, but the introduction of monads in haskell came out of a real necessity is my point. Category theory is powerful tool for abstraction and useful in any language.
> But monads don't control order of evaluation. They've got nothing to do with order of evaluation.
Right, but they can hide the trick and make it all seem transparent, which imho is very important point to keep in mind.