aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/util.ml2
-rw-r--r--lib/util.mli1
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml
index e1e524cf4a..b96eca3ae3 100644
--- a/lib/util.ml
+++ b/lib/util.ml
@@ -65,6 +65,8 @@ let stringmap_dom m = Stringmap.fold (fun s _ l -> s::l) m []
(* Lists *)
+let list_add_set x l = if List.mem x l then l else x::l
+
let list_intersect l1 l2 =
List.filter (fun x -> List.mem x l2) l1
diff --git a/lib/util.mli b/lib/util.mli
index 2060b73758..b26d6a1d7f 100644
--- a/lib/util.mli
+++ b/lib/util.mli
@@ -41,6 +41,7 @@ val stringmap_dom : 'a Stringmap.t -> string list
(*s Lists. *)
+val list_add_set : 'a -> 'a list -> 'a list
val list_intersect : 'a list -> 'a list -> 'a list
val list_union : 'a list -> 'a list -> 'a list
val list_unionq : 'a list -> 'a list -> 'a list