aboutsummaryrefslogtreecommitdiffstats
path: root/lib/conventions.ml
blob: 001944798aeaf52d3b35693d7a9ceab5c20c07af (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module Hash = struct
  type t = Interop.Sha256.t
  let hash_text text = Interop.Sha256.compute_hash (Bytes.of_string text)
  let compare = String.compare
end

module Name = struct
  type t = string
end

module Cardinality = struct
  type t = Finite of int | ConstrainedFinite | AlephZero | Continuum
end

module AbstractValue = struct
  type t = Obj.t
  let hash (elem: t) = Interop.Sha256.compute_hash @@ Marshal.to_bytes elem []
end