• Caveman@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    2 days ago

    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?

    • YTG123@sopuli.xyz
      link
      fedilink
      arrow-up
      2
      ·
      1 day ago

      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.

    • Solemarc@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      1 day ago

      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.