日本語 · English

since — cutting a point set to “at or after p”

Translated from the canonical Japanese page reference/since.md. The source_sha above records the source revision; a consistency check flags this page when the Japanese original changes.

Category: sugar (stdlib; a Gregorian public word = transform) / Signature: since(p) : Stream -> Stream (p is a dated date-time literal) / Name final (ADR-55, 2026-10-19, spec §5.4) / The 1.1 additive extension

Meaning

Keeps the input points at or after p (p inclusive). The expansion is one filter stage (sugar = spec §4.8):

since(p) = s => s |> filter(t => t >= p)

Paired with before (strictly before p) it cuts the half-open [since, before) — the same boundary convention as the evaluation range [from, to), windows and isOpen. p resolves to an instant in the in-scope premise’s tz: (ADR-33) — since(2026-10-26) is the first instant of 10/26 in that tz.

The ordering between points t >= p was defined in 1.1 (spec §4.9 “Types in equality and ordering”). It is the total order of instants on chronos and has no unit — unlike the epochOrdinal(hour, …) comparison, which cut at the “floor of the hour” (pass 14:30 and 14:00 gets in), since(…T14:30) starts at 15:00.

Examples

Day granularity — business days from 10/13 on (10/12 is Sports Day):

# eval: 2026-10-01..2026-10-20
@JP
bizDay |> since(2026-10-13)
#=> 2026-10-13 2026-10-14 2026-10-15 2026-10-16 2026-10-19

Timed — the hourly stream from 14:30 up to but not including 18:00. An off-grid anchor does not fall to the floor (it starts at 15:00):

# eval: 2026-10-26..2026-10-27
@JP
hourly = everyInstant |> strideBy(1h, from: 2026-01-01)
hourly |> since(2026-10-26T14:30) |> before(2026-10-26T18:00)
#=> 2026-10-26T15:00 2026-10-26T16:00 2026-10-26T17:00

“Business hours left until the deadline” is hourly |> filter(t => isOpen(t)) |> since(now) |> before(deadline) (design/40-examples/11 §(n); stdlib §2).

Pitfalls

before (the pair; strictly before p) · filter (the expansion) · at (attaching a time) · epochOrdinal (the 1.0 form = floor comparison of ordinals) · takeLast (until: is point-inclusive) · spec §4.8 / §4.9 · ADR-55.