Module Support.Format_state

Format combinators using the Format module, but using a state having a Format.formatter state.

This is used to faciliate pretty-printing using a custom definition of state. In particular, pretty-printing of the external syntax requires keeping track of constant declarations and notation pragmas while a Beluga signature is being pretty-printed.

module type S = sig ... end

Abstract definition of a formatter.

module Make (State : sig ... end) : S with type state = State.state

Functor constructing a concrete instance of a formatter.