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 (C : Contents.S0) (N : Contents.S0) (P : Path.S) (M : Metadata.S) : S with type contents = C.t and type node = N.t and type step = P.step and type metadata = M.t

Node provides a simple node implementation, parameterized by the contents C, node N, paths P and metadata M.

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 t = C.t * S.t and type key = S.key and type value = S.value and module Path = P and module Metadata = M and module Key = S.Key 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 t = 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