• sloppy_diffuser@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      I don’t use this library, but one I wrote myself with maybes, eithers, validators, and various other monads in production code.

      While not pythonic, I don’t think its a gimmick. I allow my junior engineers to write imperative and we will pair program to convert it to use monad structures like the ones in this library. We tend to find a lot of bugs and reduce the lines of code.

      While we could probably clean up their imperative code to remove bugs and duplicated logic, but I find using monad chains makes it easier to find abstractions.

      Data validation and error handling probably net the most return on investment in my experience. Simply return a left at some unit of code and handle it at the end of the chain.