このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

モナド法則の3番目を確認する(被リンク用)

fとgの関数合成(結合)を、g・f(順序に注意)とナカグロ記号を使いましたが、このナカグロに対応する高階関数compを書いておきましょう。


function comp(g, f) {
return function (x) {return g(f(x));}
}

さて、モナド法則の3番目は、

  • ext((ext(con2))・con1) = ext(con2)・ext(con1)

ナカグロ「・」をcompに置き換えて、変数lhsとrhs(left hand side、right hand sideのつもり)にセットしておきます。templ-test.jsの環境を使うことにして:


js> var lhs = ext(comp(ext(confun2), confun1))
js> var rhs = comp(ext(confun2), ext(confun1))
js>

具体例で lhs = rhs を確認。


js> lhs(message)
Hello, Tonkichi.
It's a Good News, ...

  • -

Hanako

js> rhs(message)
Hello, Tonkichi.
It's a Good News, ...

  • -

Hanako

js>