diff options
Diffstat (limited to 'lib/rites/rite_of/vocab_of.mli')
| -rw-r--r-- | lib/rites/rite_of/vocab_of.mli | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/lib/rites/rite_of/vocab_of.mli b/lib/rites/rite_of/vocab_of.mli new file mode 100644 index 0000000..dd23cfa --- /dev/null +++ b/lib/rites/rite_of/vocab_of.mli @@ -0,0 +1,58 @@ +(** OF (post-1970) season and rank vocabulary. *) + +type season = + | Advent + | Christmas + | Lent + | Easter + | Ordinary_time +[@@deriving sexp] + +(** Normae universales de anno liturgico et de calendario (Missale Romanum + editio typica tertia, 2002), Titulus I ("De diebus liturgicis"), and the + Institutio Generalis Missalis Romani (IGMR) n. 346's own colour-rule + prose, both cite the four graded celebrations by these exact names: a + Sunday-or-weekday MYSTERY of the Lord that ranks above everything else + ([Sollemnitas]), a lesser but still universally-binding celebration + ([Festum]), a saint's day the calendar obliges everyone to keep + ([Memoria_obligatoria]), and one a community may keep or not + ([Memoria_ad_libitum]). + + A FIFTH constructor, [Feria], is added beyond those four -- not a fifth + grade on the same scale, but a different kind of thing: an ordinary + weekday carries none of the four (Normae Titulus I.IV n. 16 calls these + days "feriae", never a "celebratio" of any grade), yet + {!Colitur_kernel.Celebration.t} requires a [rank] on every day the way + {!Colitur_kernel.Vocab_ef}'s own catch-all [Class4] does for EF. Ferias + are graded for PRECEDENCE (privileged Lenten/Advent ferias outrank an + ordinary one, per the Tabula dierum liturgicorum's own entries 2, 9 and + 13) but that grading is a {!Colitur_kernel.Precedence.rules.band} table + lookup (Phase 2), not a distinct [rank] value -- unlike EF, where + [Class2]/[Class3]/[Class4] carry a privileged feria's own grade directly. + See vocab_of.ml's own top-of-file comment for the primary-source + citations and the design decision this rests on. *) +type rank = + | Sollemnitas + | Festum + | Memoria_obligatoria + | Memoria_ad_libitum + | Feria +[@@deriving sexp] + +val seasons : season list +val ranks : rank list +val season_to_string : season -> string +val season_of_string : string -> season option + +(** The word used when building a slug: lowercase, hyphenated, e.g. + ["ordinary-time"] for [Ordinary_time]. Unlike {!Colitur_kernel.Vocab_ef + .season_slug_word}, this is not adopted from any external lectionary -- + OF has no bootstrapped-from-lectio slug legacy to preserve -- so it is + simply {!season_to_string}'s own hyphenated image; kept as a separate + function anyway so a future divergence (a real lectionary source using + different words) does not require renaming every call site. *) +val season_slug_word : season -> string + +val rank_to_string : rank -> string +val rank_of_string : string -> rank option +val vocab : (season, rank) Colitur_kernel.Vocab.t |
