summaryrefslogtreecommitdiff
path: root/lib/rites/rite_ef/vocab_ef.mli
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 13:09:22 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 13:09:22 +0200
commitfffae3b3cb50b1cf7d5b65eb592bfa1de2ed0e1c (patch)
treec9515c212bf366b12a3c24482410b686ac48887c /lib/rites/rite_ef/vocab_ef.mli
parent03d414cb1847fa4bdf4b9d521d6d2c0a47766113 (diff)
downloadcolitur-fffae3b3cb50b1cf7d5b65eb592bfa1de2ed0e1c.tar.gz
colitur-fffae3b3cb50b1cf7d5b65eb592bfa1de2ed0e1c.zip
rite(ef): season and rank vocabulary per RG 71-77 and RG 8
Eight seasons in canonical liturgical-year order, each carrying its RG citation, and the four classes. season_slug_word is deliberately distinct from season_to_string: slugs are lectionary keys adopted verbatim from lectio, which calls Paschaltide 'easter' and Christmastide 'christmas'.
Diffstat (limited to 'lib/rites/rite_ef/vocab_ef.mli')
-rw-r--r--lib/rites/rite_ef/vocab_ef.mli28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/rites/rite_ef/vocab_ef.mli b/lib/rites/rite_ef/vocab_ef.mli
new file mode 100644
index 0000000..7607cc1
--- /dev/null
+++ b/lib/rites/rite_ef/vocab_ef.mli
@@ -0,0 +1,28 @@
+(** EF (1962) season and rank vocabulary. *)
+
+type season =
+ | Advent
+ | Christmastide
+ | Time_after_epiphany
+ | Septuagesima
+ | Lent
+ | Passiontide
+ | Paschaltide
+ | Time_after_pentecost
+[@@deriving sexp]
+
+type rank = Class1 | Class2 | Class3 | Class4 [@@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. Deliberately differs from
+ {!season_to_string} for [Christmastide] ("christmas") and [Paschaltide]
+ ("easter"), because slugs are lectionary keys adopted verbatim from lectio. *)
+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