package carton

  1. Overview
  2. Docs
type 'uid entry
type 'uid delta =
  1. | From of 'uid
  2. | Zero
val make_entry : kind:[ `A | `B | `C | `D ] -> length:int -> ?preferred:bool -> ?delta:'uid delta -> 'uid -> 'uid entry
val length : 'uid entry -> int
type 'uid q
and 'uid p
and 'uid patch
type ('uid, 's) load = 'uid -> (Dec.v, 's) Carton__.Sigs.io
type ('uid, 's) find = 'uid -> (int option, 's) Carton__.Sigs.io
type 'uid uid = {
  1. uid_ln : int;
  2. uid_rw : 'uid -> string;
}
val target_to_source : 'uid q -> 'uid p
val target_uid : 'uid q -> 'uid
val target_length : 'uid q -> int
val target_patch : 'uid q -> 'uid patch option
val source_of_patch : 'uid patch -> 'uid
val entry_to_target : 's Carton__.Sigs.scheduler -> load:('uid, 's) load -> 'uid entry -> ('uid q, 's) Carton__.Sigs.io
val apply : 's Carton__.Sigs.scheduler -> load:('uid, 's) load -> uid_ln:int -> source:'uid p -> target:'uid q -> (unit, 's) Carton__.Sigs.io
module type VERBOSE = sig ... end
module type UID = sig ... end
module Delta (Scheduler : sig ... end) (IO : sig ... end) (Uid : UID) (Verbose : VERBOSE with type 'a fiber = 'a IO.t) : sig ... end
module N : sig ... end
val encode_header : o:Bigstringaf.t -> int -> int -> int
val header_of_pack : length:int -> Bigstringaf.t -> int -> int -> unit
val encode_target : 's Carton__.Sigs.scheduler -> ?level:int -> b:b -> find:('uid, 's) find -> load:('uid, 's) load -> uid:'uid uid -> 'uid q -> cursor:int -> (int * N.encoder, 's) Carton__.Sigs.io