日本語 · English(未訳)

ADR-08: 窓をパーティション型と区間列型の二種に分ける

判断: 窓を、軸を余さず分割する「パーティション型」と、マーカーで切る「区間列型」の 二種の別演算子に分ける。同一の window に押し込めない。保証する性質(網羅か否か)で型を割る。

背景: 月のように軸を完全分割する窓と違い、「決算期ストリームで区切る」ようなマーカー型は、 マーカー間に要素ゼロの窓ができたり、最初のマーカー前・最後のマーカー後にどの窓にも属さない日が 残ったりする。月分割では起きなかった病理。これを曖昧に統一すると空窓と漏れの扱いが定まらない。

却下した案: 窓を一種類に統一する案。網羅性の有無を型で区別できず、自前暦の検証も書けないため却下。

帰結: パーティション型窓は「軸の網羅・無重複」が機械的に検査可能になる(不変条件 I5)。 自前暦の整合性検証者の不在(暗黙のテストオラクルが無い問題)を、この検査が部分的に補う。