Module Kv_hash__Util

val iter_k : (k:('a -> 'b) -> 'a -> 'b) -> 'a -> 'b

Essentially the Y combinator; useful for anonymous recursive functions. The k argument is the recursive callExample:

iter_k (fun ~k n -> 
    if n = 0 then 1 else n * k (n-1))
val dest_Some : 'a option -> 'a
val trace : (unit -> string) -> unit
val warn : (unit -> string) -> unit
val debug : (unit -> string) -> unit
module Make_comparator : functor (S : sig ... end) -> sig ... end

This builds a comparator for Jane St. Base.Map. Not sure this is the intended procedure.

module Interpolate : functor (S : sig ... end) -> sig ... end

Interpolate once, then scan. ASSUMES we are using Stdlib.( < > =) etc

module Interpolate_ii : sig ... end
module Merge : functor (S : sig ... end) -> sig ... end
val merge : ks1:(int -> 'k) -> vs1:(int -> 'v) -> len1:int -> ks2:(int -> 'k) -> vs2:(int -> 'v) -> len2:int -> set:(int -> 'k -> 'v -> unit) -> unit -> int
module Mmap = Tjr_mmap.Mmap
val write_increasing : bin_write_v:'a Bin_prot.Write.writer -> len:int -> mmap:(char, Stdlib.Bigarray.int8_unsigned_elt) Mmap.t -> off:int -> v:'a -> Bin_prot.Common.pos

Write to mmap using a bin_writer; allocate len space initially; if not enough space, increase the buffer size and try again.

val read_increasing : bin_read_v:'a Bin_prot.Read.reader -> len:int -> mmap:(char, Stdlib.Bigarray.int8_unsigned_elt) Mmap.t -> off:int -> 'a
type char_bigarray = (char, Stdlib.Bigarray.int8_unsigned_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t
type int_bigarray = (int, Stdlib.Bigarray.int_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t
type int_ba_t = (int, Stdlib.Bigarray.int_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t
type ('a, 'b) kind = ('a'b) Stdlib.Bigarray.kind

The kind of the mmap'ed array; see Bigarray.kind

val char_kind : (char, Stdlib.Bigarray.int8_unsigned_elt) kind
val int_kind : (int, Stdlib.Bigarray.int_elt) kind
val log_fn : int -> string
val part_fn : int -> string
val freelist_fn : int -> string
val coerce_bigarray1 : 't1 Ctypes.typ -> 't2 Ctypes.typ -> ('t2'a) Bigarray_compat.kind -> ('t1'b'c) Bigarray_compat.Array1.t -> ('t2'a, Bigarray_compat.c_layout) Bigarray_compat.Array1.t
val write_int_ba : fd:Core.Unix.File_descr.t -> off:int -> int_ba_t -> unit
val read_int_ba : blk_sz:Core_kernel__.Import.int -> fd:Core.Unix.File_descr.t -> off:int -> (int, Stdlib.Bigarray.int_elt, Bigarray_compat.c_layout) Bigarray_compat.Array1.t
val sorted_int_ba : ('a'b'c) Stdlib.Bigarray.Array1.t -> bool
module Map_i : sig ... end
module Sexp_trace : sig ... end

NOTE taken from kv-lite/trace.ml

include Kv_hash__.Config.Consts
val const_4GB : int
val const_1GiB : int
val const_1k : int
val const_1M : int
val const_1MiB : int
module Lru_ss : sig ... end

A mutable Lru for string->string map; at the moment this does not record negative information (this key is not present) but perhaps it should FIXME

val perm0 : int

default file perm: u+rw, g+r

val int_sz_bytes : int