标签: haskell monads
用于说明伴随仿函数如何产生monad的常见示例是State。这是一个很好的例子的原因之一是两个伴随函子(->) r和(,) r都是Hask上的endofunctors。其他规范的monad涉及进出Hask的伴随函子(例如[]和Maybe),这使得那些了解Haskell但在类别理论背景较少的人更难理解。
State
(->) r
(,) r
[]
Maybe
还有其他常见的monad通过Hask上的伴随endofunctors出现吗? (显然Identity monad是一个这样的案例,但不是一个非常有趣的案例。)
Identity