From 2baaa9a441aaeb22f6fcab096c74d9bfd82f3188 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Tue, 11 Aug 2026 13:47:39 +0200 Subject: rite(ef): Sunday slugs, week numbering and the resumed-Sunday tail Week origins are Sundays, so week numbers are constant Sunday-to-Saturday; the origin is season-specific, which is why Validate must not assume a run starts at 1. When Easter is early the surplus Sundays after Pentecost resume the Sundays after Epiphany that Septuagesima cut short, and the last Sunday before Advent always keeps the 24th (Last) Mass. --- lib/rites/rite_ef/temporal_ef.mli | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lib/rites/rite_ef/temporal_ef.mli') diff --git a/lib/rites/rite_ef/temporal_ef.mli b/lib/rites/rite_ef/temporal_ef.mli index 0a9656a..46187c9 100644 --- a/lib/rites/rite_ef/temporal_ef.mli +++ b/lib/rites/rite_ef/temporal_ef.mli @@ -18,3 +18,15 @@ val christ_the_king : int -> Date.t the Octave of the Nativity. Returns (season, slug, colour, rank, week). *) val named : Date.t -> (Vocab_ef.season * string * Colour.t * Vocab_ef.rank * int option) option + +(** The Sunday on which week 1 of a season begins, in civil year [y]. [None] for + [Christmastide], which has no numbered weeks. *) +val week_origin : Vocab_ef.season -> int -> Date.t option + +(** Week within the season. Sunday-aligned, so it is constant Sunday-to-Saturday. + The origin is season-specific: time after Pentecost counts from Pentecost, + time after Epiphany from the first Sunday after Epiphany. *) +val week : Date.t -> int option + +(** The lectionary key for a Sunday, or [None] if [d] is not a Sunday. *) +val sunday_slug : Date.t -> string option -- cgit v1.3