aboutsummaryrefslogtreecommitdiff
path: root/lib/rites/rite_of/precedence_of.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rites/rite_of/precedence_of.ml')
-rw-r--r--lib/rites/rite_of/precedence_of.ml32
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/rites/rite_of/precedence_of.ml b/lib/rites/rite_of/precedence_of.ml
index cb15d68..5ceaa11 100644
--- a/lib/rites/rite_of/precedence_of.ml
+++ b/lib/rites/rite_of/precedence_of.ml
@@ -168,3 +168,35 @@ let band (ctx : Vocab_of.season Precedence.context)
arithmetic. *)
130
else unclassified
+
+(* Normae n. 60: "Attamen sollemnitas, quae impeditur a die liturgico, qui
+ praecedentia gaudeat, ad proximiorem diem transferatur... Reliquae
+ celebrationes eo anno omittuntur." An impeded SOLEMNITY is transferred;
+ every other losing celebration is simply omitted for that year.
+
+ [Commemorate] IS NEVER RETURNED, AND THAT IS THE RULE, NOT A GAP. The OF
+ has no commemoration of a losing celebration in the EF's sense at all --
+ contrast RG 108-111, which the EF module implements at length. An optional
+ memorial (Tabula III.12) is an ELECTION the celebrant may make, not a
+ commemoration attached to another day's office, and must not be modelled as
+ one: doing so would put a celebration in Liturgical_day.commemorations that
+ no rubric ever puts there. Design 2026-08-24 ยง3 ("What will not survive
+ contact") predicted exactly this; this function is where the prediction is
+ kept.
+
+ [Repose] is likewise never returned. It is EF vocabulary that the EF module
+ itself emits from nothing.
+
+ [winner] is deliberately unread. n. 60 keys the loser's fate on the LOSER's
+ own grade alone -- unlike the EF's RG 92-95, where the winner's class
+ decides whether a commemoration survives. Kept in the signature because
+ Precedence.rules.disposition requires it, and a future proper-calendar rule
+ might read it. *)
+let disposition ~(winner : Vocab_of.rank Precedence.candidate)
+ ~(loser : Vocab_of.rank Precedence.candidate) : Precedence.disposition =
+ ignore winner;
+ match loser.cel.rank with
+ | Vocab_of.Sollemnitas -> Precedence.Transfer
+ | Vocab_of.Festum | Vocab_of.Memoria_obligatoria | Vocab_of.Memoria_ad_libitum
+ | Vocab_of.Feria ->
+ Precedence.Omit