Like a sequence A, B, C where if A errors you don’t continue to B or C but if A is ok then you just continue doing B and so on. In the end you end up with the result or errors. Am I wrong to assume this?
The Either monad (also known as Result) provides Go-like error handling, but automated. You only check manually for errors after the last call, the monad handles the process.
But this is just one example of a monad, there are many more.
Whenever I try and get a proper explanation of a monad from the internet I get these miserable opaque examples which make me go “sorry I asked!” But I think a monad is basically just single type that when unwrapped gives you the result of a calculation and some metadata about the calculation.
I think it’s more like Rust’s Result or Option types then go’s tuples but I’d say they both basically count.
Isn’t it just like error handled code in Golang?
Like a sequence A, B, C where if A errors you don’t continue to B or C but if A is ok then you just continue doing B and so on. In the end you end up with the result or errors. Am I wrong to assume this?
The Either monad (also known as Result) provides Go-like error handling, but automated. You only check manually for errors after the last call, the monad handles the process.
But this is just one example of a monad, there are many more.
Whenever I try and get a proper explanation of a monad from the internet I get these miserable opaque examples which make me go “sorry I asked!” But I think a monad is basically just single type that when unwrapped gives you the result of a calculation and some metadata about the calculation.
I think it’s more like Rust’s Result or Option types then go’s tuples but I’d say they both basically count.