Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A Monad is just a theoretic abstraction, not a useable one. Only specific Monad instances (IO,Maybe,List,etc) can be "useable", hence "useful". There is no generic "bind" for example, it has to be implemented specifically for every Monad.

While Monads are pretty useful in pure languages, they are often over-engineering in imperative languages.

What I consider the actual point that the OO world is currently learning from the FP world is abstracting over computation. OO can abstract data and state, but computation is rarely modeled as an object. Monads are simply a pattern you can observe often, when computation is abstracted.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: