Module Beluga_html.Synext_html_pp_state

HTML printing state for the concrete syntax.

The generation of HTML pages corresponding to concrete Beluga signatures requires keeping track of HTML IDs for constant declarations (to be referred to by anchors), and keeping track of user-defined notations of constants for printing applications. This means that module bindings have to be kept track of, and pragmas have to be applied during printing.

module type HTML_PRINTING_STATE = sig ... end

Abstract definition for the HTML printing state.

module Html_printing_state : sig ... end

Concrete implementation of HTML_PRINTING_STATE backed by a (mostly) immutable data structure. The instance of Format.formatter is mutable, and concurrent writes to it will lead to unexpected results.