• sloppy_diffuser
    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.