package irmin-pack

  1. Overview
  2. Docs
On This Page
  1. Concrete trees
Legend:
Library
Module
Module type
Parameter
Class
Class type

Concrete trees

type kind =
  1. | Contents
  2. | Contents_x of metadata
  3. | Node

The type for pointer kinds.

val kind_t : kind Irmin.Type.t
type entry = {
  1. name : step;
  2. kind : kind;
  3. hash : hash;
}

The type for entries.

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

The type for pointers.

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. | Value of entry list

The type for concrete trees.

val t : t Irmin.Type.t
type error = [
  1. | `Invalid_hash of hash * hash * t
  2. | `Invalid_depth of int * int * t
  3. | `Invalid_length of int * int * t
  4. | `Duplicated_entries of t
  5. | `Duplicated_pointers of t
  6. | `Unsorted_entries of t
  7. | `Unsorted_pointers of t
  8. | `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.