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

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

コンポネント概念とコンパクト閉圏

実務作業の8割くらいは雑用、でへこむ。が2割くらいエッセンシャルな部分がある。

janusコンポネント概念は、具体的なプログラミング言語を固定して考えると割と具体的。なんだが、複数言語による分散アプリケーションとかを考えると、実装との距離が広がり、抽象的な感じがしてくる。

しかしその分、適用範囲が広がる。今まであまり意識しなかったのだが、プロセス、媒体(メディア)、バッファ/キュー(チャネル)などもコンポネントの特殊なケースとして記述できる。

プロセスはスレッドを持ったコンポネントだが、スレッドはメッセージ(またはメソッド)のソースとシンクという力学的な概念で記述できる。メッセージソースまたはメッセージシンクがスレッドにあたる。ソースとシンクはある主の双対だから、プロセスも双対的定式化を持つと思われる。

それと、コンポネントの圏がコンパクト閉圏なのはほぼ確信していたが、そのコンパクト閉圏がトレース付き圏(traced symmetric monoidal cat)からInt構成で作られたものかそうでないかがわからなかった。分散アプリケーションを考えると、Int構成じゃない圏の例が出てくるような気がする、たぶん。