![https://ubiteku.oinker.me/2016/01/20/%E9%96%A2%E6%95%B0%E5%9E%8B%E3%81%A4%E3%81%BE%E3%81%BF%E9%A3%9F%E3%81%84-%E3%83%A2%E3%83%8A%E3%83%89%E3%81%8C%E9%9B%A3%E3%81%97%E3%81%84%E3%81%A8%E6%80%9D%E3%82%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B/](https://cdn-ak-scissors.b.st-hatena.com/image/square/7f244bdd555c8f4912dbb295d81140a50a3b5be7/height=288;version=1;width=512/https%3A%2F%2Fubiteku.files.wordpress.com%2F2016%2F01%2Fmonad.png)
発端 モナドの正体が分かると、 次はモナドを実装してみたくなるものです。 という訳で試しに Python でモナドを実装してみましょう。 別にどんな言語でも構わないのですが、 クロージャや部分適用が簡単に使えない言語では本質的でないところで苦労する羽目になるので、 今回は Python を使うことにしました。 なお、今回作成した Python によるモナドの実装は GitHub で公開中です。 方針 モナドの具体例で一番簡単なものは Maybe でしょう。 まずは Maybe を Python のクラスとして実装して、 そこから一般的なところを括りだして Monad クラスを作ることにしましょう。 モナドの構成要素は以下の3つです: 普通の値をモナドにラップするための型 m普通の値を m にラップするための関数 returnモナドでラップされた普通の値を取り出して処理を行う演算子 >>=
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く