package progress

  1. Overview
  2. Docs
type 'a reporter := 'a -> unit
type ('a, 'b) t

The type of vertical sequences of progress bars. The parameter 'a stores a list of the reporting functions associated with each bar, terminating with 'b. For example:

(* Single progress bar, taking a [float] value. *)
(float reporter -> 'b, 'b) t

(* A two-bar layout, where the top bar takes [int64]s and the bottom one
   takes [string * float] pairs. *)
(int64 reporter -> (string * float) reporter -> 'b, 'b) t

These reporting functions are supplied when beginning the rendering process.

val line : 'a Line.t -> ('a reporter -> 'b, 'b) t

Construct a multiple-line layout from a single progress bar line.

val lines : 'a Line.t list -> ('a reporter list -> 'b, 'b) t

Construct a multiple-line layout from a sequence of lines that all have the same type of reported values.

val (++) : ('a, 'b) t -> ('b, 'c) t -> ('a, 'c) t

Stack progress bars vertically. a ++ b is a set with a stacked on top of b. The two sections have separate reporting functions, passed consecutively to the with_reporters continuation when rendering.

val blank : ('a, 'a) t

A blank line, for adding spacing between progress lines.