]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/lambda-delta/lib/cps.ml
1) NCicTypechecker.typecheck_obj removed, since it did not add to the
[helm.git] / helm / software / lambda-delta / lib / cps.ml
index b61fccfa47f148553394d83fb26a5bb369002efc..38b24903068c42a632c1f10e7002fcb16ebac653 100644 (file)
@@ -60,6 +60,11 @@ let list_iter f map l =
 let rec list_fold_left2 f map a l1 l2 = match l1, l2 with
    | [], []                 -> f a
    | hd1 :: tl1, hd2 :: tl2 -> 
-      let f a = if a = None then f a else list_fold_left2 f map a tl1 tl2 in
+      let f a = list_fold_left2 f map a tl1 tl2 in
       map f a hd1 hd2
-   | _                      -> f None
+   | _                      -> assert false
+
+let rec list_mem ?(eq=(=)) a = function
+   | []                   -> false
+   | hd :: _ when eq a hd -> true
+   | _ :: tl              -> list_mem ~eq a tl