Below is the file 'status.ml' from this revision. You can also download the file.
class type reporter = object method push : string -> unit method pop : unit -> unit method progress_start : string -> int -> unit method progress : int -> unit method progress_end : unit -> unit end exception Uninitialized let make_reporter : (string -> reporter) ref = ref (fun _ -> raise Uninitialized) let new_reporter id = !make_reporter id