mempty  <>  x    =    x
    x  <>  mempty    =    x
    (x <> y) <> z    =    x <> (y <> z)
                      
    fmap id = id
    fmap (g . f) = (fmap g) . (fmap f)

    pure f <*> x = fmap f x = f <$> x
      
    ma >=> return = ma
    retrun >=> ma = ma
    (ma >=> mb) >=> mc = ma >=> (mb >=> mc)
    

  • Category Theory
  • haskell
  • ocaml
  • erlang
  • maybe-программирование
  • either-программирование
  • error-программирование
  • functor-программирование
  • arrow-программирование
  • легкая прогулка