aboutsummaryrefslogtreecommitdiff
path: root/lib/kernel/layer.mli
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kernel/layer.mli')
-rw-r--r--lib/kernel/layer.mli13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/kernel/layer.mli b/lib/kernel/layer.mli
index ab6e56b..a71e113 100644
--- a/lib/kernel/layer.mli
+++ b/lib/kernel/layer.mli
@@ -36,8 +36,17 @@ type 'r index
val index : 'r t -> easter:(int -> Date.t) -> years:int list -> 'r index
(** Entries falling on [date], fixed and movable together, in the layer's
- canonical slug order. *)
-val on_date : 'r index -> Date.t -> 'r entry list
+ canonical slug order.
+
+ [fixed_key] answers "which (month, day) does the FIXED half look up for
+ this civil date", defaulting to the identity [Some (Date.month date,
+ Date.day date)] -- exactly today's behaviour, for a caller that supplies
+ nothing. A rite's own kalends-reckoning convention (see {!Rite.t}'s
+ [fixed_key] field) is threaded through here rather than applied to
+ [date] itself, so it touches ONLY the fixed table: the MOVABLE half
+ (keyed by rata die, via {!Date_spec.Easter_offset}/{!Date_spec.
+ Nth_weekday}) always uses [date] unchanged. *)
+val on_date : ?fixed_key:(Date.t -> (int * int) option) -> 'r index -> Date.t -> 'r entry list
(** Loads a layer from a sexp file. Parse and validation failures come back as
[Error], never as an exception. *)