generated at
モナド

圏論のモナドについて
プログラミングとの対応の初出はComputational lambda-calculus and monads
つまりモナドは(ある種)の自己関手
でありモナドは(ある種)のモノイド対象
である
モナドとKleisli Tripleは概念的に同じもの


モナドの定義のアプローチはいくつかある
随伴関手から構成するもの
モノイド対象から導く
図が似る
『圏論の歩き方』 p.80とか『圏論の道案内』 pp.239-242
素の定義(?)
wikiに載ってるやつ
このページに書いている




定義 ref
\mathscr{A}上のモナドとは、3つ組(T,\eta,\mu)
自己関手T:\mathscr{A}\to\mathscr{A}
自然変換\eta:\mathrm{id}\Rightarrow T
自然変換\mu: T\circ T\Rightarrow T
であり、以下の2つの条件を満たす
\mu\circ T\mu=\mu\circ\mu T
つまり、下図を可換にする
\mu\circ T\eta=\mu\circ\eta T=\mathrm{id}_T
つまり下図を可換にする
補足
T\circ TのことをT^2のように表記している


実際に見ていくときは、例えば下図のようにポイントフリーを具体化して考えると良いmrsekut
言っていることは、上の図と同じで、「任意の対象Aに対して、この図が可換になる」のように言い直せばいい



関手と自然変換の関係をいつものような図で描いておく








参考