Functors
Any object that provides a method with following signature is a functor
map :: (a -> b) -> m a -> m b
m is a container, map opens up the container and converts type a to b.
Monads
Any object that provides a method with following signature is a monad
(flatMap) :: m a -> (a -> m b) -> m b
m is a container, flatMap opens up the container converts a to mb and if in the process multiple mb's are created then it flattens them to return a single mb.
Top comments (0)