blob: e44c2c6f495e91b98c2f569c6766d905acc10ef1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
(* Everything a rite supplies, bundled. Passing these as loose arguments let a
caller pair one rite's vocab with another's temporal; bundling makes that
unrepresentable through the normal path. *)
type ('s, 'r) t = {
id : string;
vocab : ('s, 'r) Vocab.t;
year_start : int -> Date.t;
temporal : Date.t -> ('s, 'r) Temporal.t;
anchors : int -> (string * Date.t) list;
easter : int -> Date.t;
fixed_key : Date.t -> (int * int) option;
rules : ('s, 'r) Precedence.rules;
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) ->
Mass_formulary.t option * Citation.t list;
creed : temporal:('s, 'r) Temporal.t -> observed:'r Celebration.t -> date:Date.t -> bool;
gloria : temporal:('s, 'r) Temporal.t -> observed:'r Celebration.t -> date:Date.t -> bool;
preface : temporal:('s, 'r) Temporal.t -> observed:'r Celebration.t -> date:Date.t -> Preface.t option;
}
|