What are the adjoint functor pairs corresponding to common monads in Haskell?

后端 未结 3 1581
半阙折子戏
半阙折子戏 2021-01-30 09:14

In category theory, a monad can be constructed from two adjoint functors. In particular, if C and D are categories and F : C --> D and G : D -->

3条回答
  •  臣服心动
    2021-01-30 09:49

    As you observe, every pair of adjoint functors gives rise to a monad. The converse holds too: every monad arises in that way. In fact, it does so in two canonical ways. One is the Kleisli construction Petr describes; the other is the Eilenberg-Moore construction. Indeed, Kleisli is the initial such way and E-M the terminal one, in a suitable category of pairs of adjoint functors. They were discovered independently in 1965. If you want the details, I highly recommend the Catsters videos.

提交回复
热议问题