aboutsummaryrefslogtreecommitdiff
path: root/lib/kernel/celebration.mli
blob: a3c2960b255b91bc15d408f06e4cdedf2a999fab (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
(** Whether this celebration can be the observed day at all. The 1960 reform
    reduced many feasts to a bare commemoration; they retain a rank (RG 111
    orders admitted commemorations by dignity) but can never be observed. NOT
    a fifth rank: RG 8 fixes the classes at four. *)
type status = Feast | Commemoration_only [@@deriving sexp]

(** A celebration. Parameterised by the rite's rank type only. *)
type 'r t = {
  slug : Slug.t;
  names : Names.t;
  rank : 'r;
  status : status;
  colour : Colour.t;
  subject : Subject.t;
  citations : Citation.t list;
  layer : string;
}
[@@deriving sexp]

(** [status] defaults to [Feast], [subject] to [Subject.Temporal], [names] to
    empty, [citations] to []. *)
val make :
  slug:Slug.t -> ?names:Names.t -> rank:'r -> ?status:status -> colour:Colour.t ->
  ?subject:Subject.t -> ?citations:Citation.t list -> layer:string -> unit -> 'r t