electrod

Formal analysis for the Electrod formal pivot language
IN THIS PACKAGE
Module Libelectrod . Fmtc . Dump

Stdlib types

val signal : int t

signal formats an OCaml signal number as a C POSIX constant or "SIG(%d)" the signal number is unknown.

val uchar : Uchar.t t

uchar formats an OCaml Uchar.t value using only US-ASCII encoded characters according to the Unicode notational convention for code points.

val string : string t

string is pf ppf "%S".

val pair : 'a t -> 'b t -> ('a * 'b) t

pair pp_fst pp_snd formats an OCaml pair using pp_fst and pp_snd for the first and second projection.

val option : 'a t -> 'a option t

option pp_v formats an OCaml option using pp_v for the Some case. No parentheses are added.

val result : ok:'a t -> error:'b t -> ( 'a, 'b ) result t

result ~ok ~error formats an OCaml result using ok for the Ok case value and error for the Error case value. No parentheses are added.

val list : 'a t -> 'a list t

list pp_v formats an OCaml list using pp_v for the list elements.

val array : 'a t -> 'a array t

array pp_v formats an OCaml array using pp_v for the array elements.

val seq : 'a t -> 'a Seq.t t

seq pp_v formats an OCaml sequence using pp_v for the sequence elements.

val hashtbl : 'a t -> 'b t -> ( 'a, 'b ) Hashtbl.t t

hashtbl pp_k pp_v formats an unspecified representation of the bindings of a hash table using pp_k for the keys and pp_v for the values. If the hash table has multiple bindings for a given key, all bindings are formatted, with the most recent binding first.

val queue : 'a t -> 'a Queue.t t

queue pp_v formats an unspecified representation of an OCaml queue using pp_v to format its elements, in least recently added order.

val stack : 'a t -> 'a Stack.t t

stack pp_v formats an unspecified representation of an OCaml stack using pp_v to format its elements in top to bottom order.

Records

val field : ?label:string t -> string -> ( 'b -> 'a ) -> 'a t -> 'b t

field ~label l prj pp_v pretty prints a named field using label (defaults to styled `Yellow string) for the label, and using prj pp_v for the field value.

val record : 'a t list -> 'a t

record fields pretty-prints a value using the concatenation of fields, separated by ";@,", framed in a vertical box and surrounded by braces.

Sequencing

These are akin to iter and iter_bindings but delimit the sequences with parens.

val iter : ( ( 'a -> unit ) -> 'b -> unit ) -> 'b t -> 'a t -> 'b t

iter iter pp_name pp_elt formats an unspecified representation of the iterations of iter over a value using pp_elt. The iteration is named by pp_name.

val iter_bindings : ( ( 'a -> 'b -> unit ) -> 'c -> unit ) -> 'c t -> 'a t -> 'b t -> 'c t

iter_bindings ~sep iter pp_name pp_k pp_v formats an unspecified representation of the iterations of iter over a value using pp_k and pp_v. The iteration is named by pp_name.