日本語 · English(未訳)

ADR-28: 日付・幅リテラルの字句を確定する

判断: 日付リテラルは ISO 8601 のサブセット YYYY-MM-DDYYYY-MM-DDThh:mm(:ss(.fff)?)? とし、 TZ 指定子を持たない——基底への錨は在圏 premise の tz: が打つ(I6)。幅リテラルは 数値+単位 の 並びで、d=市民日(規約幅)、h/m/s=経過時間とし、市民時と経過時間の混合は静的エラー1d12h は不可、24h39m35.244s は可)。値式に整数除算 div・リストリテラル […]・添字 l[i] (0 起点)・所属述語 in を加える。識別子・列挙ラベルの字句は Unicode 文字を許す(漢字ラベル可)。 値束縛の置き場は premise ブロック内とファイル top-level の二箇所(top-level は糖衣定義と同じく在圏 premise で遅延解決)。

背景: 日付リテラルは anchor: 2000-01-03(cycle の位相)以来、例のあらゆる場所で使われながら一度も 定義されていなかった(spec §5.4 も「未確定」と明記)。テーブルリテラル(ADR-26)の導入で使用箇所が 一挙に増え、字句の未定義が RC の穴として顕在化した。幅リテラルも同様で、1d(市民日)と 86400s (経過時間)の規約の区別は ADR-11/12 で確定済みなのに、字句そのものは未規定だった。div・リスト・ 添字は stdlib/gregorian.mdGregorian 定義自体が既に依存している(yearOf(m) = 紀元年 + m div 12monthLengths(...)[monthOf(m)])——標準ライブラリが使う語彙が目録に無い状態の解消は RC の前提。漢字 ラベルは干支(甲・子…)の検証(40-examples 02)で浮上した(綻び F14)。in は選日の対応表(F20)。

却下した案:

帰結:

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