module Util:sig
..end
val uuid : unit -> string
val list_unique : 'a list -> 'a list
val memo : ('a -> 'b) -> 'a -> 'b
val timestamp : unit -> string
typelabel =
string
module type Messages =sig
..end
module Debug:Messages
module Warning:Messages
module Info:Messages
let debug fmt = Util.make_debug "MyModuleLabel" fmt let info fmt = Util.make_info "MyModuleLabel" fmt let warning fmt = Util.make_warning "MyModuleLabel" fmt
and then use these function as
debug "this is a message string %s" "a string"
To enable this handle, from the main program use the function
Debug.enable "MyModuleLabel"
module Logging:
module Progress:sig
..end
module Timer:sig
..end
dump
function on stderr.
module IntHashtbl:Hashtbl.S
with type key = int
module StringHashtbl:Hashtbl.S
with type key = string
val range : int -> int -> int list