hack_parallel

Parallel and shared memory library
Library hack_parallel.utils
Module Utils
val debug : bool ref
val profile : bool ref
val log : ( string -> unit ) ref
val d : string -> unit
val dn : string -> unit
module Map : sig ... end
val spf : ( 'a, unit, string ) format -> 'a
val print_endlinef : ( 'a, unit, string, unit ) format4 -> 'b
val prerr_endlinef : ( 'a, unit, string, unit ) format4 -> 'b
val opt : ( 'a -> 'b -> 'c * 'd ) -> 'e -> 'f option -> 'g * 'h option
val opt_fold : ( 'a -> 'b -> 'c ) -> 'd -> 'e option -> 'f
val singleton_if : bool -> 'a -> 'b list
val smap_inter : 'a SMap.t -> 'b SMap.t -> 'c SMap.t
val imap_inter : 'a IMap.t -> 'b IMap.t -> 'c IMap.t
val smap_inter_list : 'a SMap.t list -> 'b SMap.t
val imap_inter_list : 'a IMap.t list -> 'b IMap.t
val wfold_left2 : ( 'a -> 'b -> 'c -> 'd ) -> 'e -> 'f list -> 'g list -> 'h
val sl : string list -> string
val maybe : ( 'a -> 'b -> unit ) -> 'c -> 'd option -> unit
val unsafe_opt_note : string -> 'a option -> 'b
val unsafe_opt : 'a option -> 'b
val inter_list : SSet.t list -> SSet.t
val list_last : ( 'a -> 'b ) -> ( 'c -> unit ) -> 'd list -> unit
val is_prefix_dir : string -> string -> bool
val try_with_channel : out_channel -> ( out_channel -> 'a ) -> ( exn -> 'b ) -> 'c
val iter_n_acc : int -> ( 'a -> 'b * 'c ) -> 'd -> 'b * 'c
val map_of_list : (SMap.key * 'a) list -> 'b SMap.t
val set_of_list : SSet.elt list -> SSet.t
val strip_ns : string -> string
val strip_all_ns : string -> string
val iter2_shortest : ( 'a -> 'b -> 'c ) -> 'd list -> 'e list -> unit
val fold_fun_list : 'a -> ( 'b -> 'c ) list -> 'd
val compose : ( 'a -> 'b ) -> ( 'c -> 'd ) -> 'e -> 'f
val try_finally : f:( unit -> 'a ) -> finally:( unit -> unit ) -> 'b
val with_context : enter:( unit -> 'a ) -> exit:( unit -> 'b ) -> do_:( unit -> 'c ) -> 'd
val assert_false_log_backtrace : string option -> 'a
val infimum : 'a array -> 'b -> ( 'a0 -> 'b0 -> int ) -> int option