aboutsummaryrefslogtreecommitdiff
path: root/lib/util.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/util.ml')
-rw-r--r--lib/util.ml6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml
index 14a40e378b..ebade654ef 100644
--- a/lib/util.ml
+++ b/lib/util.ml
@@ -576,6 +576,12 @@ let list_fold_left_i f =
in
it_list_f
+let rec list_fold_left3 f accu l1 l2 l3 =
+ match (l1, l2, l3) with
+ ([], [], []) -> accu
+ | (a1::l1, a2::l2, a3::l3) -> list_fold_left3 f (f accu a1 a2 a3) l1 l2 l3
+ | (_, _, _) -> invalid_arg "list_fold_left3"
+
(* [list_fold_right_and_left f [a1;...;an] hd =
f (f (... (f (f hd
an