package forester

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file Base.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
50
51
52
53
type addr =
  | User_addr of string
  (** The address of a tree that can be referenced from user text. *)

  | Machine_addr of int
  (** The address of an anonymous tree.*)
[@@deriving repr]

let pp_addr fmt =
  function
  | User_addr str -> Format.pp_print_string fmt str
  | Machine_addr ix -> Format.fprintf fmt "#%i" ix

module Addr =
struct
  type t = addr
  let compare = compare
  let hash = Hashtbl.hash
  let equal = (=)

  let to_user_addr =
    function
    | User_addr addr -> Some addr
    | _ -> None
end

module Addr_map = Map.Make (Addr)
module Addr_set = Set.Make (Addr)
module String_map = Map.Make (String)

type delim = Braces | Squares | Parens
[@@deriving show]

type binding_strategy = Lazy | Strict
[@@deriving show]

type 'a binding = binding_strategy * 'a
[@@deriving show]

let delim_to_strings =
  function
  | Braces -> "{", "}"
  | Squares -> "[", "]"
  | Parens -> "(", ")"

type math_mode = Inline | Display
[@@deriving show]

type visibility = Private | Public
[@@deriving show]

type xml_resolved_qname = {prefix : string; uname : string; xmlns : string option}
[@@deriving show]
OCaml

Innovation. Community. Security.