package irmin

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

Node provides functions to describe the graph-like structured values.

The node blocks form a labeled directed acyclic graph, labeled by steps: a list of steps defines a unique path from one node to an other.

Each node can point to user-defined contents values.

module type S = sig ... end
module Make (K : Type.S) (P : sig ... end) (M : Metadata.S) : S with type hash = K.t and type step = P.step and type metadata = M.t

Make provides a simple node implementation, parameterized by the contents and notes keys K, paths P and metadata M.

module V1 (S : S) : sig ... end

v1 serialisation

module type STORE = sig ... end

STORE specifies the signature for node stores.

module Store (C : Contents.STORE) (P : Path.S) (M : Metadata.S) (S : sig ... end) : STORE with type 'a t = 'a C.t * 'a S.t and type key = S.key and type value = S.value and module Path = P and module Metadata = M and type Key.t = S.Key.t and module Val = S.Val

Store creates node stores.

module type GRAPH = sig ... end

Graph specifies the signature for node graphs. A node graph is a deterministic DAG, labeled by steps.

module Graph (S : STORE) : GRAPH with type 'a t = 'a S.t and type contents = S.Contents.key and type metadata = S.Val.metadata and type node = S.key and type path = S.Path.t and type step = S.Path.step