blob: b5577310f73c520076dc7d7e2d796031280fc441 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
(** The invariant harness -- validation layer 2. Checks run over a *liturgical*
year, not a civil year: a season that straddles January would otherwise look
as though it recurs. *)
type failure = { year : int; date : string; check : string; detail : string }
val failure_to_string : failure -> string
(** [run vocab ~year_start ~temporal ~year] returns every invariant violation in
the liturgical year opening in civil year [year]. An empty list means the
year is clean. *)
val run :
('s, 'r) Vocab.t ->
year_start:(int -> Date.t) ->
temporal:(Date.t -> ('s, 'r) Temporal.t) ->
year:int ->
failure list
|