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

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

ソートと演算記号の分類

Bidoit、Hennicker、Kurz等が、指標に現れるソートや演算(operation)の記号を分類している。彼らは、天下りコンストラクター記号Consとオブザーバー(観測子)記号Obsを与える。Cons∩Obs = 空 だと思うが、明示的な記述はなんか見あたらない。

とりあえずまとめると:

原語 訳語(試訳) 説明
constrained sort 制約ソート コンストラクタの値となっている
loose sort 非制約ソート constrainedでない
state/hidden sort 状態/隠蔽ソート オブザーバーの(主)定義域となっている
observable sort 観測量ソート stateでない

原語もあんまり適切じゃない気がするが、訳語も変な感じだ。ed付き形容詞は毎度悩むし。

それはそうと、観測量ソートはオブザーバーの値としては定義されていない。オブザーバーは状態ソートを値としてもよい。これは自然かもしれない。観測量ソートを値とするオブザーバーは直接オブザーバー、そうでないものは間接オブザーバーと呼んでいる。

「多くのケースでは、状態ソートは制約ソートである」と言っているが、非制約の状態ソートも認める。観測量ソートは、制約でも非制約でもあまり影響はないような感じである。だいたいの雰囲気は:

- 制約 非制約
状態 生成可能なオブジェクト 生成できないオブジェクト
観測量 定数を持つ値 定数が存在しない値