Hacker News new | ask | show | jobs
by mpfundstein 3483 days ago
a data class / object is a monad if it confirms to the 3 monadic laws [1]: Left identity, Right identity and Associativity.

To do this, it must implement two functions. 1. chain (also called 'flatMap', '>>=' in haskell). 2. unit (sometimes called 'of', for instance in js).

Nothing more is needed to understand and implement a monad in any language.

[1] https://wiki.haskell.org/Monad_laws