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

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

更新モノイドとモノイダルスタンピング・モナド

Aが勝手な集合のとき、a, b∈A に対して、a・b = b として右自明演算が定義できる(左でも同様)。これは半群になるが単位元はない。単位元eを人為的に添加して A+{e} とすると、これはモノイド。右自明モノイドと呼ぶ。A→A である写像の全体End(A)に右自明モノイドを埋め込むことができる(定数写像と恒等写像)。

Aの右自明モノイドA+{e}に対するモノイダルスタンピング・モナドを考えると、大域変数への代入(値の破壊的更新)という副作用を持つ関数を記述できる。

整数の集合を、整数の加法群が作用する等質空間と考えて、同じくモノイダルスタンピング・モナドを作ると、カウンタの増減を副作用とする関数を記述できる。

スタックを作用付きの集合(余代数)だと思って、モノイダルスタンピング・モナド(余代数スタンピングだろうが)を作ると、入出力(読み書き)可能なファイルに対する作用を記述できる。

副作用の多くは、作用モノイドに対するモノイダルスタンピング・モナドで実現できる。代数スタンピング、余代数スタンピングまで考えるとかなり守備範囲は広い。