Module Irmin_containers.Linked_log

The linked list implementation of log. Due to the linked property, two versions of the log share their common predecessor. As it is a linked data structure, a content addressable store is required. Along with that, a method to obtain timestamps, a hash for the content addressable store and the type of values stored must also be provided.

module type S = sig ... end

Signature of Linked_log

module Make (Backend : sig ... end) (C : sig ... end) (T : Time.S) (K : Irmin.Hash.S) (V : Irmin.Type.S) () : S with type value = V.t and type Store.branch = string and type Store.key = string list and type Store.step = string

Make returns a mergeable linked log using the backend and other parameters as specified by the user.

module FS (C : sig ... end) (V : Irmin.Type.S) () : S with type value = V.t and type Store.branch = string and type Store.key = string list and type Store.step = string

Linked log instantiated using the FS backend provided by Irmin_unix, timestamp method Time.Unix and hash Irmin.Hash.SHA1

module Mem (C : sig ... end) (V : Irmin.Type.S) () : S with type value = V.t and type Store.branch = string and type Store.key = string list and type Store.step = string

Linked log instantiated using the in-memory backend provided by Irmin_mem, timestamp method Time.Unix and hash Irmin.Hash.SHA1