日本語 · English(未訳)

ADR-34: label: 付与式の束縛規則——ラムダは窓の先頭点を受ける

判断: label: 付与式(窓生成時にラベルを与える named-arg。名と大枠は ADR-30 (5) で確定済み)の 束縛規則を次のとおり確定する。

  1. ラムダは「窓の先頭点」(代表点)を受けるlabel: を取るのは窓を生む形——premise 層の 窓生成語 spansplitgrid(後置 named-arg)と本体層の segmentBy(括弧内 named-arg)——で、 cycle は自前のラベル列を持つため取らない(明示エラー)。label: (p => 式)p は各窓の 先頭点であり、意味論は一行の定義的等式で尽きる:

    名前(d)  ≡  付与式(d の属する窓の先頭点)
    

    束縛名がそのまま射影名(ADR-30)・読み書きとも「点 → 値」で型が閉じる。snapTo(w) が同じ 「点 → 属する窓の先頭点」写像のストリーム版である(F41 の整理)ことと噛み合う。

  2. 評価は射影時・遅延。窓生成時に全窓分を評価しない(I7 のオンライン性・被覆域の端で不要な エラーを踏まない)。付与式内の裸名は premise 相対・遅延解決(ADR-17)——派生が yearNo を 上書きすればラベルも追従する。「同じ窓の全点が同じラベル」の一貫性は、引数が代表点に正規化される ことから構造的に立つ。
  3. ラベル値の型域は値型(数値・列挙名・文字列・リスト要素)。年度ラベルは数値でよい。
  4. 点±幅の値式算術(p + 3d 等)は導入しない。導入動機だった「ISO 週の木曜→年」(ADR-30・ spec §4.9 の例示)は F57 の等価変形で label: 自体が不要と実証済み。導入すると p - 1d隣接窓参照の禁止(I7・ADR-27 却下案)への抜け道が開き、幅規約(ADR-12/28)と tz 依存算術 (ADR-33)を値式層へ持ち込む三重のコストを払う。これに伴い spec §4.9・ADR-30 の「別の点の窓参照は 可」は「代表点に対する任意の窓・射影の参照」に精密化する(全動機が代表点で書けることは実証済み ——年度ラベル・旧暦月名は stdlib(fiscal §5・kyureki §7)、節気名は 40-examples/04 と impl のテスト。 意味論の縮小ではなく明文化。ADR-30 に改訂節を追記)。
  5. 窓序数の入手は補助束縛経由。並行リスト(旧暦の monthNos)は無ラベルの補助窓束縛を先に立て、 label: (p => monthNames[epochOrdinal(lunarMonthW, p)]) と読む。あわせて F60 を確定する: epochOrdinal は、窓列が紀元を含むなら従来どおり紀元窓 = 0(以前は負)、紀元まで届かない データ由来窓では「存在する最初の窓 = 0」(ADR-31 改訂 2)。 字面が重ければ 2 引数形 (p, n) => を将来の追加拡張として足せる(1 引数の意味は不変)。
  6. 自己参照は禁止。付与式が定義中の束縛名自身(または相互)のラベル射影を呼ぶ形は明示エラー (隣接窓参照禁止の裏面。序数計算 epochOrdinal(自窓, p) はラベルに依存しないため対象外)。

代表用例(すべて確定語彙のみ・追加機構ゼロ):

# 年度ラベル(開始暦年)——読み側の値関数 fiscalYearNo と観測一致
year = month span (_ => 12) phase: 3 label: (p => yearNo(p))

# 旧暦月名——並行リスト(データ側=F37 の現実解)を序数で引く
lunarMonthW = day |> segmentBy(lunarStart, edges: drop, empties: error)
kyuMonth    = day |> segmentBy(lunarStart, edges: drop, empties: error,
                               label: (p => monthNames[epochOrdinal(lunarMonthW, p)]))

背景: RC2 は label: の名と大枠(本体層の式・別点窓参照可・隣接窓不可)だけを確定し、束縛規則は 未確定のまま stdlib 拡充で仮字面が 2 か所(fiscal・kyureki)に増えた。候補 A(先頭点)・B(窓値)・ C(生成序数)・D(複数引数)を三大用例(年度ラベル・旧暦月名・節気名)+ISO 週番号で書き下ろして 比較した結果、生きている動機は A が全部書け、意味論が定義的等式一つに収まり、型も機構も増えない。

却下した案:

帰結:

改訂(2026-07-09・ADR-42)