package forester

  1. Overview
  2. Docs
A tool for tending mathematical forests

Install

Dune Dependency

Authors

Maintainers

Sources

4.2.0.tar.gz
md5=7543fe7acbdfeb2056dc0b774965239f
sha512=2317bf84588692bbbd40e5fa944faab4889474e4a058e336bd1165f6dd8e55e8979affab098248c87354acdc3b6e6927305553ff5ab6b002b6739719814ec080

doc/src/forester.core/Reporter.ml.html

Source file Reporter.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
module Message =
struct
  type t =
    | Tree_not_found
    | Duplicate_tree
    | Parse_error
    | Type_error
    | Resolution_error
    | Expansion_error
    | Duplicate_attribute
    | Frontmatter_in_body
    | Unhandled_case
    | Transclusion_loop
    | Internal_error
    | Configuration_error
    | Initialization_warning
    | Routing_error
    | Profiling
  [@@deriving show]

  let default_severity : t -> Asai.Diagnostic.severity =
    function
    | Duplicate_tree -> Error
    | Tree_not_found -> Error
    | Parse_error -> Error
    | Type_error -> Error
    | Resolution_error -> Error
    | Expansion_error -> Error
    | Duplicate_attribute -> Error
    | Frontmatter_in_body -> Error
    | Unhandled_case -> Bug
    | Transclusion_loop -> Error
    | Internal_error -> Bug
    | Configuration_error -> Error
    | Initialization_warning -> Warning
    | Routing_error -> Error
    | Profiling -> Info

  let short_code : t -> string =
    show
end

include Asai.Reporter.Make (Message)

let profile msg body =
  let before = Unix.gettimeofday () in
  let result = body () in
  let after = Unix.gettimeofday () in
  emitf Profiling "[%fs] %s" (after -. before) msg;
  result
OCaml

Innovation. Community. Security.