Module Portable.Of_commit

A node implementation with hashes for keys is trivially portable:

Parameters

module S : S

Signature

type hash = S.hash
val hash_t : hash Type.t

Commit values

type t = S.t

The type for commit values.

val t : t Type.t
type node_key = hash

Type for node keys.

val node_key_t : node_key Type.t
type commit_key = hash

Type for commit keys.

val commit_key_t : commit_key Type.t
module Info = S.Info

The type for commit info.

val v : info:Info.t -> node:node_key -> parents:commit_key list -> t

Create a commit.

val node : t -> node_key

The underlying node key.

val parents : t -> commit_key list

The commit parents.

val info : t -> Info.t

The commit info.

val of_commit : S.t -> t