Module Val.Concrete

Concrete trees

type kinded_key =
  1. | Contents of contents_key
  2. | Contents_x of metadata * contents_key
  3. | Node of node_key

The type for pointer kinds.

val kinded_key_t : kinded_key Irmin.Type.t
type entry = {
  1. name : step;
  2. key : kinded_key;
}

The type of entries.

val entry_t : entry Irmin.Type.t
type 'a pointer = {
  1. index : int;
  2. pointer : hash;
  3. tree : 'a;
}

The type for internal pointers between concrete trees.

val pointer_t : 'a Irmin.Type.t -> 'a pointer Irmin.Type.t
type 'a tree = {
  1. depth : int;
  2. length : int;
  3. pointers : 'a pointer list;
}

The type for trees.

val tree_t : 'a Irmin.Type.t -> 'a tree Irmin.Type.t
type t =
  1. | Tree of t tree
  2. | Values of entry list
  3. | Blinded

The type for concrete trees.

val t : t Irmin.Type.t
type len := [
  1. | `Eq of int
  2. | `Ge of int
]
type error = [
  1. | `Invalid_hash of hash * hash * t
  2. | `Invalid_depth of int * int * t
  3. | `Invalid_length of len * int * t
  4. | `Duplicated_entries of t
  5. | `Duplicated_pointers of t
  6. | `Unsorted_entries of t
  7. | `Unsorted_pointers of t
  8. | `Blinded_root
  9. | `Too_large_values of t
  10. | `Empty
]

The type for errors.

val error_t : error Irmin.Type.t
val pp_error : error Fmt.t

pp_error is the pretty-printer for errors.