irmin-pack

Irmin backend which stores values in a pack file
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library irmin-pack

Concrete trees

type kinded_key =
| Contents of contents_key
| Contents_x of metadata * contents_key
| Node of node_key

The type for pointer kinds.

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

The type of entries.

val entry_t : entry Irmin.Type.t
type 'a pointer = {
index : int;
pointer : hash;
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 = {
depth : int;
length : int;
pointers : 'a pointer list;
}

The type for trees.

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

The type for concrete trees.

val t : t Irmin.Type.t
type len := [
| `Eq of int
| `Ge of int
]
type error = [
| `Invalid_hash of hash * hash * t
| `Invalid_depth of int * int * t
| `Invalid_length of len * int * t
| `Duplicated_entries of t
| `Duplicated_pointers of t
| `Unsorted_entries of t
| `Unsorted_pointers of t
| `Blinded_root
| `Too_large_values of t
| `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.