summaryrefslogtreecommitdiff
path: root/lib/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kernel')
-rw-r--r--lib/kernel/calendar.ml4
-rw-r--r--lib/kernel/rite.ml6
-rw-r--r--lib/kernel/rite.mli14
3 files changed, 23 insertions, 1 deletions
diff --git a/lib/kernel/calendar.ml b/lib/kernel/calendar.ml
index cffdf69..724641d 100644
--- a/lib/kernel/calendar.ml
+++ b/lib/kernel/calendar.ml
@@ -435,7 +435,9 @@ let build_day (rite : ('s, 'r) Rite.t) (idx : 'r Layer.by_date)
transferred_in;
transferred_out;
omitted;
- citations = [];
+ citations =
+ rite.Rite.readings ~observed:resolution.Precedence.observed.Precedence.cel ~temporal ~date
+ ~temporal_at:rite.Rite.temporal;
}
let year (rite : ('s, 'r) Rite.t) (layer : 'r Layer.t) (y : int) :
diff --git a/lib/kernel/rite.ml b/lib/kernel/rite.ml
index 89fceb6..91326a6 100644
--- a/lib/kernel/rite.ml
+++ b/lib/kernel/rite.ml
@@ -11,4 +11,10 @@ type ('s, 'r) t = {
season_runs : 's list;
transfer_target :
'r Precedence.candidate -> Date.t -> (Date.t -> 'r Celebration.t) -> Date.t;
+ readings :
+ observed:'r Celebration.t ->
+ temporal:('s, 'r) Temporal.t ->
+ date:Date.t ->
+ temporal_at:(Date.t -> ('s, 'r) Temporal.t) ->
+ Citation.t list;
}
diff --git a/lib/kernel/rite.mli b/lib/kernel/rite.mli
index ffe9471..a41e034 100644
--- a/lib/kernel/rite.mli
+++ b/lib/kernel/rite.mli
@@ -59,4 +59,18 @@ type ('s, 'r) t = {
[transfer_target] for a concrete termination argument (a
structural step bound, not an appeal to the real calendar's own
structure). *)
+ readings :
+ observed:'r Celebration.t ->
+ temporal:('s, 'r) Temporal.t ->
+ date:Date.t ->
+ temporal_at:(Date.t -> ('s, 'r) Temporal.t) ->
+ Citation.t list;
+ (** The day's Epistle and Gospel citations, or []. Rite-supplied for the
+ same reason [transfer_target] is: what a day with no proper of its
+ own falls back to is a rubric of a particular rite, not a universal.
+
+ [temporal_at] is a callback so the rite can reach another date's
+ temporal identity (the preceding Sunday's, for the ferial rule)
+ without re-implementing the temporal cycle -- the same shape
+ [transfer_target]'s own [occupant] callback established. *)
}