コモナドとは? わかりやすく解説

コモナド

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/16 04:57 UTC 版)

モナド (プログラミング)」の記事における「コモナド」の解説

コモナドはモナド圏論的な双対である。型構築子 W T2つ演算 extractextend を持つ。extract の型は W T → T であり、extend の型は (W T → T' ) → W TW T' であり、以下のコモナド則を満たすとする。 extend extract = id {\displaystyle {\text{extend}}\,\,{\text{extract}}={\text{id}}} extract ∘ ( extend f ) = f {\displaystyle {\text{extract}}\circ ({\text{extend}}\,f)=f} ( extend f ) ∘ ( extend g ) = extend ( f ∘ ( extend g ) ) {\displaystyle ({\text{extend}}\,f)\circ ({\text{extend}}\,g)={\text{extend}}\,(f\circ ({\text{extend}}\,g))} 他の方法として、fmapextractduplicate使った定義もできる。fmapextract により W は余基点付き函手となる。duplicate がコモナドを特徴付けるduplicate の型は W T → W (W T) であり、次の規則満たすextractduplicate = id {\displaystyle {\text{extract}}\circ {\text{duplicate}}={\text{id}}} fmap extractduplicate = id {\displaystyle {\text{fmap}}\,{\text{extract}}\circ {\text{duplicate}}={\text{id}}} duplicateduplicate = fmap duplicateduplicate {\displaystyle {\text{duplicate}}\circ {\text{duplicate}}={\text{fmap}}\,{\text{duplicate}}\circ {\text{duplicate}}} ふたつの定式化の関係は fmap : ( A → B ) → W AW B = fextend ( f ∘ extract ) {\displaystyle {\text{fmap}}:(A\rightarrow B)\rightarrow \mathrm {W} \,A\rightarrow \mathrm {W} \,B=f\mapsto {\text{extend}}\,(f\circ {\text{extract}})} duplicate : W AW W A = extend id {\displaystyle {\text{duplicate}}:\mathrm {W} \,A\rightarrow \mathrm {W} \,\mathrm {W} \,A={\text{extend}}\,{\text{id}}} extend : ( W A → B ) → W AW B = f ↦ ( fmap f ) ∘ duplicate {\displaystyle {\text{extend}}:(\mathrm {W} \,A\rightarrow B)\rightarrow \mathrm {W} \,A\rightarrow \mathrm {W} \,B=f\mapsto ({\text{fmap}}\,f)\circ {\text{duplicate}}} で与えられるモナド副作用表現すると言われているのに対して、コモナド W は一種の「文脈」を表している。extract文脈から値を取り出す関数である。extend は型 W A → B を持つ「文脈依存関数」を合成してパイプライン作る

※この「コモナド」の解説は、「モナド (プログラミング)」の解説の一部です。
「コモナド」を含む「モナド (プログラミング)」の記事については、「モナド (プログラミング)」の概要を参照ください。

ウィキペディア小見出し辞書の「コモナド」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「コモナド」の関連用語

コモナドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



コモナドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのモナド (プログラミング) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS