ale*_*tor 14 math haskell category-abstractions
如果我发现某些东西是Monoid或者Monad,我会全部使用各种有趣的功能,比如foldMap,sequence甚至mapM.他们让我开心.
如果我发现某些东西是什么,我会得到什么Category?难道我得到什么乐趣,除了超载id和(.)?
bzn*_*bzn 11
除了重载id和(.)之外,我还能获得什么乐趣吗?
那么,你也应该(应该)获得与他们相关的法律:
"identity/left" forall p .
id . p = p
"identity/right" forall p .
p . id = p
"association" forall p q r .
(p . q) . r = p . (q . r)
Run Code Online (Sandbox Code Playgroud)
作为旁注:你没有得到那么多有趣的功能的原因是,mapM或者foldMap说,某些东西是一个类别,实际上对它的说法很少.我认为最有用的函数是定义的函数Control.Category,有时使代码更容易阅读:>>>和<<<