aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/util.ml3
-rw-r--r--lib/util.mli1
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml
index 0206bf887d..30f1cbeb65 100644
--- a/lib/util.ml
+++ b/lib/util.ml
@@ -150,6 +150,9 @@ let rec list_uniquize = function
| [] -> []
| h::t -> if List.mem h t then list_uniquize t else h::(list_uniquize t)
+let rec list_distinct = function
+ | h::t -> (not (List.mem h t)) && list_distinct t
+ | _ -> true
(* Arrays *)
diff --git a/lib/util.mli b/lib/util.mli
index 6f1e258727..a40a24ba41 100644
--- a/lib/util.mli
+++ b/lib/util.mli
@@ -45,6 +45,7 @@ val list_map_i : (int -> 'a -> 'b) -> int -> 'a list -> 'b list
val list_sep_last : 'a list -> 'a * 'a list
val list_try_find_i : (int -> 'a -> 'b) -> int -> 'a list -> 'b
val list_uniquize : 'a list -> 'a list
+val list_distinct : 'a list -> bool
(*s Arrays. *)