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

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

MLのモジュールシステム

MLのモジュールシステムは禁欲的で、必要最小限の機能だけだが、スッキリしていて好きだ。だが:

  • signatureにパラメータを付けられない。functorは当然にパラメータ(引数)を持つが、functorの値はstructureであってsignatureを値には取れない。
  • これは当然であって、signatureがモデル圏を(暗黙に)表し、functorがモデル間のあいだの関手を明示的に書いたものだから、functorがsignatureを値を取るのは変。
  • だが、CoqやHaskellのパラメータ付き型クラス(Haskellではパラメータ付きしかない)を表せない。工夫すれば何とかなるのかもしれないが。[追記]functorで工夫してみた→ http://d.hatena.ne.jp/m-hiyama/20160928/1475022255[/追記]