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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
(** RG 475-476 (docs/research/LT.txt, grep "dicitur symbolum") -- whether the
Creed is said at Mass. The first rubric in this phase governing a PART OF
MASS rather than occurrence/precedence, hence its own module: see the
.ml's own header for the rubric quoted in full and every branch's
citation. *)
open Colitur_kernel
(** RG 475(e)'s "festis nataliciis Apostolorum et Evangelistarum, necnon in
festis Cathedrae S. Petri et S. Barnabae Ap." -- see the .ml's own
citation for how each entry was derived from and verified against
data/ef/sanctoral.sexp, and for what was deliberately excluded. Exposed
so the test suite can assert completeness against the shipped data the
same way {!Precedence_ef.vigil_feast_table} already lets it. *)
val creed_apostle_slugs : string list
(** Whether the Creed is said, post-Gospel/homily, at the Mass this day
resolves to.
[temporal] is read for exactly one fact -- RG 475(a)'s own "in qualibet
dominica, ETSI EIUS OFFICIUM ALICUI FESTO LOCUM CEDAT" ("on any Sunday,
EVEN WHEN a feast displaces its own Office"): a Sunday impeded by a
Feast of the Lord (RG 16(a)) still says the Creed, so this reads the
TEMPORAL cycle's own weekday, never [observed]'s. Every other clause
reads [observed] -- the celebration whose Mass is actually said -- and
[date], read once against the rite's own (Gregorian) Easter for the two
Easter-relative window questions (RG 475(d)'s three octaves, RG 23's
Ash-Wednesday-and-Holy-Week feriae). [creed] never reads
{!Liturgical_day.t.commemorations}: RG 476(e), "ratione alicuius
commemorationis in Missa occurrentis" [never say the Creed merely
because of a commemoration], holds by construction rather than by a
checked branch. RG 476(f) ("in Missis defunctorum") reads
[observed]'s [colour]: see the .ml's own header for why [Colour.Black]
is a sound proxy for "this Mass is a Requiem" on the shipped data, and
what would have to be re-checked if that ever stops being true. *)
val creed :
temporal:(Vocab_ef.season, Vocab_ef.rank) Temporal.t ->
observed:Vocab_ef.rank Celebration.t ->
date:Date.t ->
bool
(** Whether the Te Deum was said at Matins (Breviary 1961 Codex Rubricarum
nn. 237-238) -- NOT the Divine Office arriving in scope, but a single
Breviary fact {!gloria}'s own RG 431(a) defers a Mass question to. See
the .ml's own header for the rubric quoted in full, every branch's own
citation, and this source's own stated weakness (a single, not yet
scan-verified, web transcription -- docs/research/breviary/PROVENANCE.md).
Same three parameters as {!creed}, for the same reasons: [temporal] for
the day's own weekday/season, [observed] for the celebration whose
Office is actually kept, [date] for the Easter-relative window
questions. *)
val te_deum :
temporal:(Vocab_ef.season, Vocab_ef.rank) Temporal.t ->
observed:Vocab_ef.rank Celebration.t ->
date:Date.t ->
bool
(** Whether the Gloria in excelsis is said at this day's Mass (RG 431-432).
431(a)/432(a) defer to {!te_deum}; 431(c) (Holy Thursday, the Easter
Vigil Mass) and 432(b)/(d) (violet vestments; a Requiem) are
independent overrides, checked ahead of the Te Deum-derived answer --
see the .ml's own header for the full account, including which of
431/432's own clauses this engine has no votive-Mass-class dimension to
implement and are therefore marked not-applicable rather than silently
skipped. *)
val gloria :
temporal:(Vocab_ef.season, Vocab_ef.rank) Temporal.t ->
observed:Vocab_ef.rank Celebration.t ->
date:Date.t ->
bool
|