package mc2

  1. Overview
  2. Docs
A mcsat-based SMT solver in pure OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

v0.1.tar.gz
md5=92de696251ec76fbf3eba6ee917fd80f
sha512=e88ba0cfc23186570a52172a0bd7c56053273941eaf3cda0b80fb6752e05d1b75986b01a4e4d46d9711124318e57cba1cd92d302e81d34f9f1ae8b49f39114f0

doc/src/mc2.core/Error.ml.html

Source file Error.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

exception Error of string

let err_ksprintf ~f fmt =
  let buf = Buffer.create 32 in
  let out = Format.formatter_of_buffer buf in
  CCFormat.set_color_tag_handling out;
  Format.fprintf out "@[<2>@{<Red>error:@}@ ";
  Format.kfprintf
    (fun _ -> Format.fprintf out "@]@?"; f (Buffer.contents buf))
    out fmt

let err_sprintf fmt = err_ksprintf ~f:CCFun.id fmt
let errorf msg = err_ksprintf ~f:(fun e -> raise (Error e)) msg
let error msg = errorf "%s" msg

let () = Printexc.register_printer
    (function
      | Error msg -> Some msg
      | _ -> None)
OCaml

Innovation. Community. Security.