blob: 3c331c3126337f9a963a456fe34be0d6f01524fe (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
(** The single stable result schema (parent spec §2). *)
type ('s, 'r) t = {
date : Date.t;
rite : string;
temporal : ('s, 'r) Temporal.t;
(** embedded, not flattened: it is already a coherent unit with its own
invariants, and re-listing season/week/weekday here would create two
places for them to disagree *)
observed : 'r Celebration.t;
commemorations : ('r Celebration.t * Precedence.privilege) list;
transferred_in : 'r Celebration.t option;
(** arrived here from an impeded day *)
transferred_out : Date.t option;
(** this day's celebration went there *)
citations : Citation.t list; (** always empty until Plan 4 *)
}
[@@deriving sexp]
|