日本語 · English

epochOrdinal — 紀元からの通し序数

分類: 射影(値式・本体層 core) / シグネチャ: epochOrdinal(u, d) : 点 -> 数値 / 名は確定(RC2・spec §5.4)

意味

d が属する u 窓の、紀元からの通し序数0 起点)を返す。ordinalIn の 枠を紀元にした版で、窓ごとにリセットされない一本の座標。premise 層の窓生成語 span が受け取る 「生成中の窓の序数 n」と同じ座標である(monthOf(m) = m mod 12 が m=0=紀元月で成立する)。

紀元は言語既定で 1970-01-01T00:00(在圏 tz)。別基準の暦法は原始的定義のメンバー epoch: で 上書きできる(利用側の前文には置けない。ADR-31)。

隔月・偶数序数の月(1970-01 起点なので 1 月・3 月…が偶数)の初日:

# eval: 2026-01-01..2026-04-01
@JP
everyDay |> filter(d => epochOrdinal(month, d) mod 2 == 0) |> within(month) |> first
#=> 2026-01-01 2026-03-01

「12 で割った剰余」は暦月の位置——1 月だけを選ぶ:

# eval: 2026-01-01..2027-01-01
@JP
everyDay |> filter(d => epochOrdinal(month, d) mod 12 == 0) |> within(month) |> first
#=> 2026-01-01

落とし穴

関連

ordinalInspan(同じ序数座標の供給元)・紀元 epoch:(ADR-31)・ADR-27/30。