3 ms·
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 f
by mpfundstein 10y 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 https://wiki.haskell.org/Monad_laws