plebeia

Merkle Patricia tree implementation
Library plebeia
val string_of_node : Plebeia__Node.node -> int -> string

Dump a node

val simple_string_of_node : Plebeia__Node.node -> string

Dump a node, but not recursively

val dot_of_node : Plebeia__Node.node -> string

Obtain Graphviz dot file representation of the tree

val dot_of_cursor : Plebeia__Cursor.cursor -> string

Obtain Graphviz dot file representation of the cursor

val validate_node : Plebeia__Context.t -> Plebeia__Node.node -> ( unit, string ) Result.t

Invariant checking of node

val save_cursor_to_dot : string -> Plebeia__Cursor.cursor -> unit
val save_node_to_dot : string -> Plebeia__Node.node -> unit

Graphviz visualization

module Exn : sig ... end
module Format : sig ... end
module String : sig ... end
module Hashtbl : sig ... end
module List : sig ... end
module Open : sig ... end

Recommended to open this module to use the values without module paths

Recommended to open this module to use the values without module paths

val from_Some : 'a option -> 'a
val to_file : file:string -> string -> unit

Create a file with the given string

val (^/) : string -> string -> string

Filename.concat

val with_time : ( unit -> 'a ) -> 'a * float

Time the function in seconds

val failwithf : ( 'a, unit, string, 'b ) format4 -> 'a

failwith with printf interface

val timed : ( unit -> 'a ) -> ( 'a, [> `Exn of exn ] ) result * float
module RS = Random.State
val random_string : RS.t -> int -> string
val random_short_segment : ?length:int -> Random.State.t -> Segment.segment
val random_segment : ?length:int -> Random.State.t -> Segment.segment
val random_choice : RS.t -> 'a list -> 'b
val shuffle : Random.State.t -> 'a list -> 'b list
val tempfile : string
val test_with_context : int -> ( Plebeia__Context.t -> 'a ) -> 'b
val test_with_cursor : ( Plebeia__Cursor.cursor -> 'a ) -> 'b
val path_of_string : string -> Segment.segment
val ok_or_fail : ( 'a, Error.t ) result -> 'b
val must_fail : ( 'a, 'b ) result -> unit
val path : string -> Segment.segment
val value : string -> Value.t
val normalize : Plebeia__Node.node -> Plebeia__Node.node
val normalize_view : Plebeia__Node.view -> Plebeia__Node.view
val equal_nodes : Plebeia__Node.node -> Plebeia__Node.node -> bool
val random_node : Random.State.t -> int -> Plebeia__Node.node
val all_children : Plebeia__Context.t -> Plebeia__Node.node -> (Segment.segment * [> `Directory of Plebeia__Node.node | `File ]) list
val every_leaves : Plebeia__Context.t -> Plebeia__Node.node -> Segment.t list list
val xassert : bool -> unit