summaryrefslogtreecommitdiff
path: root/lib/rites/rite_ef/temporal_ef.mli
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 13:47:39 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 13:47:39 +0200
commit2baaa9a441aaeb22f6fcab096c74d9bfd82f3188 (patch)
tree9f80bdb9aa0cba61277d0d02a142794c0cd7fc05 /lib/rites/rite_ef/temporal_ef.mli
parent733202911762dd3527d8dfa8217de359c8e92a67 (diff)
downloadcolitur-2baaa9a441aaeb22f6fcab096c74d9bfd82f3188.tar.gz
colitur-2baaa9a441aaeb22f6fcab096c74d9bfd82f3188.zip
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.
Diffstat (limited to 'lib/rites/rite_ef/temporal_ef.mli')
-rw-r--r--lib/rites/rite_ef/temporal_ef.mli12
1 files changed, 12 insertions, 0 deletions
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