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

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

コパスタ余会ネタ 2

注意:distributorは用語的に問題があって、distributivityとか言うほうが望ましいだろう。が、-er, -or って語尾はコンピュータ/ソフトウェア屋さんは好きだから、distributor使う。

まず普通の足し算に関して:

  • associator自然同型 (A+B)+C ⇒ A+(B+C)
  • 左unitor自然同型 0+A ⇒ A
  • 右unitor自然同型 A+0 ⇒ A

掛け算も同様。それで、

  • 左distributor自然同型 A×(B+C) ⇒ A×B + A×C
  • 右distributor自然同型 (B+C)×A ⇒ B×A + C×A

対称性の用語が山ほどあって、

  • symmetry, symmetric braiding, flip, twist, swap, cross, crossing, interchange, exchange, ...

足し算も掛け算も対称だが、足し算のほうが印象としては対称性が強い。

左右を強く区別する足し算を環和(+)で表して、

  • associator自然同型 (A+B)(+)C ⇔ A(+)(B+C)
  • 左unitor自然同型 0(+)A ⇔ A
  • 右unitor自然同型 A(+)0 ⇔ A

unitorに関しては、A ⇒ 0(+)A という埋め込みしか意味ないかも。

A(+)B ⇔ B(+)A というフリップはあるけど、これはすごいね。えぐいね。

普通の和+と環和(+)が混じった和を混合和として、環積(×)は次を基本に定義:

  • (A(+)B)(×)C = A(+)(B(×)C)

dissociative法則だな(dis-sociative)。

それはそうとして:

  • 嫌われ者ユニオン型は再認識すべきだ。
  • 例外で本質的なのはキャッチャー(フィルター)のみ。
  • 例外ハンドラーは通常コードであり、なんら特殊なことはない。
  • キャッチャーは、tryスコープを引数にする関手とみなせる。
  • ハンドラや後続コードをひっつけて関手作っても、まー、それは別に自由。
  • キャッチャーは、和と環和を持つ圏のassoaciatorだとも言える。
  • 環和は対称性を持たない! 入れ子にできるが、解釈はやや面倒。
  • やや面倒だが、現象の説明には使える。
  • ok-error方式、monitor-throw 構文、catch-return 構文、とassociator
  • まさに正常、ちょっと異常っぽい、異常入っている、普通に異常
  • 普通に例外、どうしようもなく例外、とんでもなく例外、想像を絶する例外