aboutsummaryrefslogtreecommitdiff
path: root/lib/kernel/calendar.ml
Commit message (Collapse)AuthorAgeFilesLines
* kernel(calendar): the year is the primitive, the day is derivedLukasz Kasprzak2026-08-111-0/+93
Transfers make per-date resolution impossible to do correctly: resolving 25 March can push a feast onto 26 March, and RG 97-98 has coinciding I-class feasts transfer in table order, which needs global knowledge. So year computes a whole liturgical year in one pass and day indexes into it. Pure, no cache, no mutable state. This commit resolves each day but does not yet place deferred transfers; they are recorded with a reason. Task 6 adds the placement pass.