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

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

Catyスクリプトでモノイド圏の基本

リダイレクト記号を使ってみる。


command codiag :: @1 T | @2 T -> T {
when {
1 => pass,
2 => pass
}
};

command diag :: T -> @1 T | @2 T {
pass >in;
randomint 1 2 >tag;
%in | tagged %tag
};

command assoc :: @1 (@1 A | @2 B) | @2 C -> @1 A | @2 (@1 B | @2 C) {
when {
1 => when {
1 => /*@1 @1*/ @1 pass,
2 => /*@1 @2*/ @2 @1 pass,
},
2 => @2 @1 pass
}
};

command assoc-inv :: @1 A | @2 (@1 B | @2 C) -> @1 (@1 A | @2 B) | @2 C {
when {
1 => @1 @1 pass,
2 => when {
1 => /*@2 @1*/ @1 @1 pass,
2 => /*@2 @2*/ @2 pass,
}
}
};