Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Conflicting information.
Conflicts occur when two conflicting values are provided for a property. When conflict happens the knowledge dependent computation diverges and evaluation stops with the value of type conflict
(unless it is intercepted).
The conflict value, essentially serves as the upper bound to all user provided domains, thus closing the poset structure and turning it into a real domain. Although there could be many values of type conflict
it is better to think of them as one value top
, equipped with diagnostic information.
type t = conflict = ..
val to_string : conflict -> string
to_string err
is the textual representation of the conflict err
val pp : Format.formatter -> conflict -> unit
prints the conflict
val sexp_of_t : t -> Core_kernel.Sexp.t
the s-expression denoting the conflict.
val register_printer : (t -> string option) -> unit
registers a printer for user specified extension of the conflict type.
The function shall return Some s
for the variant added by the user and None
for all other variants.