日本語 · English

with — 派生的定義(公開語の上書き)

分類: 派生(premise 層 core) / シグネチャ: Base with { w = … } : premise -> premise / 名は確定(spec §5.4)

意味

既存 premise を土台に、指定した公開語だけ差し替え・追加して新しい premise を作る (premise → premise の閉包)。会計暦・組織固有の暦・ラベルの追加はすべてこれ。

名前解決は機構 A(ADR-17):

派生が動かすのは窓の切れ目だけで、暦日は不動(I1)。2026-03-01 は会計暦でも「3 月 1 日」のまま、 所属する年窓だけが 2025 年度(Apr2025–Mar2026)に変わる。

会計暦(4 月始まり)は一行——month に触れないので暦日・月末は不動:

# eval: 2025-01-01..2028-01-01
premise Fiscal = Gregorian with { year = month span (_ => 12) phase: 3 label: (p => yearNo(p)) }
premise FY { calendar-system: Fiscal; tz: "Asia/Tokyo"; wkst: Mon }
@FY
everyDay |> within(year) |> first
#=> 2025-04-01 2026-04-01 2027-04-01

quarter は継承定義(year split … by: month)が新しい year自動追従し、会計四半期になる:

# eval: 2026-01-01..2027-01-01
premise Fiscal = Gregorian with { year = month span (_ => 12) phase: 3 label: (p => yearNo(p)) }
premise FY { calendar-system: Fiscal; tz: "Asia/Tokyo"; wkst: Mon }
@FY
everyDay |> within(quarter) |> first
#=> 2026-01-01 2026-04-01 2026-07-01 2026-10-01

落とし穴

関連

rephase(with への糖衣)・spansplit・機構 A(ADR-17)・I1。