diff --git a/builder/builder.ml b/builder/builder.ml index a5a4dfe30..21023fa67 100644 --- a/builder/builder.ml +++ b/builder/builder.ml @@ -50,7 +50,7 @@ let main () = eprintf "command line:"; List.iter (eprintf " %s") (Array.to_list Sys.argv); prerr_newline (); - List.iteri ( + iteri ( fun i (source, fingerprint) -> eprintf "source[%d] = (%S, %S)\n" i source fingerprint ) sources diff --git a/mllib/common_utils.ml b/mllib/common_utils.ml index e7ed3fe04..953638fda 100644 --- a/mllib/common_utils.ml +++ b/mllib/common_utils.ml @@ -164,6 +164,13 @@ let rec filter_map f = function | Some y -> y :: filter_map f xs | None -> filter_map f xs +let iteri f xs = + let rec loop i = function + | [] -> () + | x :: xs -> f i x; loop (i+1) xs + in + loop 0 xs + (* Timestamped progress messages, used for ordinary messages when not * --quiet. *)