aboutsummaryrefslogtreecommitdiff
path: root/lib/rites/rite_ef/rubrics_ef.mli
blob: 618af6580d6856b913539bb2bedb23d23171dbfa (plain) (blame)
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