Module Ortac_runtime_monolith
type location = {
start : Stdlib.Lexing.position;
stop : Stdlib.Lexing.position;
}
type term_kind =
| Check
| Pre
| Post
| XPost
type error =
| Violated_axiom
| Axiom_failure of {
exn : exn;
}
| Violated_invariant of {
term : string;
position : term_kind;
}
| Violated_condition of {
term : string;
term_kind : term_kind;
}
| Specification_failure of {
term : string;
term_kind : term_kind;
exn : exn;
}
| Unexpected_exception of {
allowed_exn : string list;
exn : exn;
}
| Uncaught_checks of {
term : string;
}
| Unexpected_checks of {
terms : string list;
}
type error_report = {
loc : location;
fun_name : string;
mutable errors : error list;
}
val pp_loc : Stdlib.Format.formatter -> location -> unit
val pp_error_report : Stdlib.Format.formatter -> error_report -> unit
exception Partial_function of exn * location
val string_of_integer : integer -> string
val print_record : string -> (string * PPrint.document) list -> PPrint.document
val print_variant :
string ->
string ->
int ->
PPrint.document list ->
PPrint.document
val print_tuple : PPrint.document list -> PPrint.document
val constructible_int : (int, int) Monolith.spec
val int : (int, int) Monolith.spec
val positive_int : (int, int) Monolith.spec
val array : ('r, 'c) Monolith.spec -> ('r array, 'c array) Monolith.spec