end else
load_from_absolute fname
+let fold f init = Hashtbl.fold (fun k v acc -> f acc k v) registry init
+let iter f = fold (fun _ k v -> f k v) ()
+let to_list () = fold (fun acc k v -> (k, v) :: acc) []
+
(* DEBUGGING ONLY *)
let dump () = Hashtbl.iter (fun k v -> printf "%s = %s\n" k v) registry
* raise Key_not_found until the key will be redefined *)
val unset: string -> unit
+val fold: ('a -> string -> string -> 'a) -> 'a -> 'a
+val iter: (string -> string -> unit) -> unit
+val to_list: unit -> (string * string) list
+
(** {2 Typed interface}
* Three basic types are supported: strings, int and strings list. Strings
* correspond literally to what is written inside double quotes; int to the