記述語リファレンス
Kairos の記述語(演算子・窓生成語・リテラル)を 1 語 1 ファイルで解説する。規範は言語仕様
../spec/(本書は解説層——stdlib/ が Gregorian を担うのと同じ役割分担)。
用語の索引は ../spec/50-glossary.md。
実行例の規約(doctest)
本書のコード例のうち ``kairos ` フェンスのものは、リファレンス実装(../impl/)で
実行検証されている(impl/test/doctest.test.ts)。同じ規約が ../stdlib/ の
解説ページにも及ぶ。
- ブロック内の
# eval: FROM..TO行が評価範囲([FROM, TO))。任意後置tz: Zone(例# eval: 2026-03-06..2026-03-10 tz: America/New_York)で実行・表示の tz を上書きできる (省略時 Asia/Tokyo)——多 TZ 例の期待値を premise の壁時計で書くため。tz:は例の premise の tz に一致させる(@JP=Asia/Tokyo のブロックには付けない。不一致でも検査はされず、評価範囲の 端点と表示だけが実行 tz 側になる)。 #=>行が期待値(最後の本体式の結果。空白区切り・複数行可)。行が無ければ「点ゼロ(空列)」の 主張(#~>の既定と対称——空テーブル〈ADR-45〉級の例は#=>を書かないことで空を照合する。#=>単独行は期待値として読まれないので書かない)。どちらも Kairos の行コメントなので ソースとしてそのまま妥当。真夜中ちょうどの点は日付のみで印字される(day 粒度の点と同表記)。 秒未満の端数は表示では切り捨てられる(…T00:39:35.244の点は…T00:39:35と印字。点の同一性は ms 精度で保たれる——表示の丸めであって値の丸めではない)。#~>行が註釈・警告の期待値(最後の本体式の区間註釈=CLI の⚠行と同じ正準一行形範囲外 FROM..TO(源 covering …[, asof …])、警告=警告:前置。出現順に照合)。# resolve: 束縛名 = dates 日付… covering: … asof: …行がexternalの解決子 固定材(データが文書内に書かれ検証は自己完結。第一段は dates wire のみ)。 行が無ければ「註釈ゼロ・警告ゼロ」の主張——範囲外出自の退化(ADR-37「退化するが観測可能」)は 実行例にも明示され、黙って通らない(地平線降格で年タイポ級の誤りが警告止まりになっても doctest が 日付列しか照合せず素通りする盲点の封止)。被覆サマリは常時表示の監視面のため照合対象外。@JPを使うブロックには標準前提が自動で前置される: カレンダー実体premise TSE { …; nonWorking = satSun | holidays2026 }(2026 年の実際の休日=振替 5/6・国民の休日 9/22 を含む 18 日)とpremise JP { calendar-system: Gregorian; calendar: TSE; tz: "Asia/Tokyo"; wkst: Mon }、および束縛holidays2026・satSun。bizDayはcalendar: TSEからの標準導出 (ADR-35——doctest 全体が実体経由の導出の実行検証を兼ねる)。- ` ```text ` フェンスは説明用(実行しない)。
索引
| 分類 | 語 | 一行 |
|---|---|---|
| 生成子 | everyDay |
在圏暦法の全 day を流す |
| 生成子 | everyInstant |
連続基底の全点(strideBy と併用) |
| 窓 | within |
パーティション型窓(窓名で束ねる) |
| 窓 | segmentBy |
区間列型窓(マーカーで切る) |
| 選択子 | first / nth / last |
窓内の第 N・先頭・末尾 |
| 点変換 | roll |
無効点を有効点へ寄せる |
| 点変換 | shift |
単位 n 個ぶん動かす |
| 点変換 | snapTo |
属する窓の先頭点へ写す(floor) |
| 点変換 | rebase |
日付ラベル保存の再錨(クロス tz の同日付) |
| フィルタ | filter |
述語で間引く(premise 述語/値式述語) |
| ストライド | stride |
入力の点を「n ごと」(境界無視・連続) |
| ストライド | strideBy |
幅で刻む「w ごと」 |
| 結合子 | \| & \ |
和・積・差とカスケード |
| 射影 | ordinalIn |
枠窓内で単位窓が第何番目か(1 起点) |
| 射影 | epochOrdinal |
紀元からの通し序数(0 起点) |
| 射影 | coincides |
窓所属の述語(d の窓に S の点が在るか) |
| 窓生成語 | grid |
連続軸の一様分割(暦の原子) |
| 窓生成語 | span |
単位列の可変集約(ボトムアップ) |
| 窓生成語 | split |
親窓の可変分割(従属窓) |
| 窓生成語 | cycle |
並列反復ラベル(窓でなくラベル) |
| 派生 | with |
既存 premise の公開語を上書き |
| 派生 | rephase |
窓の切れ目を単位でずらす糖衣(再位相・旧仮称 shiftBoundary) |
| リテラル | テーブルリテラル | 時点列のストリーム定数(covering:/labels:) |
| 供給 | external |
外部供給宣言(実行時に解決されるテーブルリテラル。ADR-46) |
| カレンダー実体 | nonWorking |
実体の予約公開語と bizDay 標準導出(ADR-35) |
| カレンダー実体 | isOpen |
営業時間の供給規約 sessionOpens/sessionCloses と標準導出 bizOpen/bizClose/isOpen(ADR-41) |