1open Base
2open Core
3
4type t
5
6val create : unit -> t
7val record : ?day:Date.t -> t -> mood:Val.t -> t
8val today : t -> Date.t * Val.t option
9val this_week : t -> (Date.t * Val.t option) list
10val this_month : t -> (Date.t * Val.t option) list
11val this_year : t -> (Date.t * Val.t option) list
12val of_list : (Date.t * Val.t) list -> t
13val to_list : t -> (Date.t * Val.t) list
14val all : t -> (Date.t * Val.t) list
15val load : string -> t
16val store : t -> location:string -> unit
17val pp : t -> string
18val render : t -> string
19val random : unit -> t