1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
(** The EF (1962) rite module: this library's top-level module (its filename
matches the library's own name "rite_ef", so dune uses it as the
library's entry point directly rather than generating one -- see the
.ml's own comment). Re-exports every sibling module this library
defines, so [Rite_ef.Vocab_ef], [Rite_ef.Temporal_ef] and
[Rite_ef.Precedence_ef] keep resolving exactly as they did before this
module existed. *)
module Vocab_ef = Vocab_ef
module Temporal_ef = Temporal_ef
module Precedence_ef = Precedence_ef
(** The EF rite, bundled (design spec's [RITE] signature, realised as a
{!Colitur_kernel.Rite.t} value rather than a functor -- see rite.mli):
- [id], [vocab], [year_start], [temporal], [anchors]: {!Temporal_ef}
unchanged (RG 71-77 seasons, RG 91's named movable days).
- [rules]: {!Precedence_ef}'s three RG 91/92-95/108-111 functions,
wrapped as one {!Colitur_kernel.Precedence.rules} record.
- [season_runs]: {!Vocab_ef.seasons} itself -- the EF liturgical year
visits each of its eight seasons exactly once, in that same order
(Advent-anchored, matching [year_start]), so the expected
run-length-compressed sequence {!Colitur_kernel.Rite.t.season_runs}
wants IS the vocabulary's own canonical list, not a separate one.
- [transfer_target]: {!Precedence_ef.transfer_target}, RG 96 (see that
value's own documentation for the termination and forward-progress
argument {!Colitur_kernel.Rite.t.transfer_target}'s contract requires).
Deliberately carries no [sanctoral]/[lectionary] fields the way the
original design-doc sketch of [RITE] does: {!Colitur_kernel.Rite.t} (the
type actually shipped, Plan 2) keeps the sanctoral {!Colitur_kernel.Layer.t}
a separate argument to {!Colitur_kernel.Calendar.year}/[day] rather than
embedding it here, so a caller can load data/ef/sanctoral.sexp (plus
data/ef/adjustments.sexp's overlay) however suits it -- bin/main.ml's
[load_ef_layer] is the one this module ships with. *)
val context : (Vocab_ef.season, Vocab_ef.rank) Colitur_kernel.Rite.t
|