From 417653e0119f8b7479d9a52725c4cb32b3d4af14 Mon Sep 17 00:00:00 2001 From: notin Date: Thu, 24 Jul 2008 11:16:48 +0000 Subject: Suite commit 11236 git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11252 85f007b7-540e-0410-9357-904b9bb8a0f7 --- lib/util.ml | 4 ++++ lib/util.mli | 1 + 2 files changed, 5 insertions(+) (limited to 'lib') diff --git a/lib/util.ml b/lib/util.ml index 2a60ad7b02..549b79e786 100644 --- a/lib/util.ml +++ b/lib/util.ml @@ -863,6 +863,10 @@ let list_cartesians op init ll = let list_combinations l = list_cartesians (fun x l -> x::l) [] l +(* Drop the last element of a list *) + +let rec list_drop_last = function [] -> assert false | hd :: [] -> [] | hd :: tl -> hd :: list_drop_last tl + (* Arrays *) let array_exists f v = diff --git a/lib/util.mli b/lib/util.mli index a341fa5a29..d845dd2ebf 100644 --- a/lib/util.mli +++ b/lib/util.mli @@ -156,6 +156,7 @@ val list_skipn : int -> 'a list -> 'a list val list_addn : int -> 'a -> 'a list -> 'a list val list_prefix_of : 'a list -> 'a list -> bool val list_drop_prefix : 'a list -> 'a list -> 'a list +val list_drop_last : 'a list -> 'a list (* [map_append f [x1; ...; xn]] returns [(f x1)@(f x2)@...@(f xn)] *) val list_map_append : ('a -> 'b list) -> 'a list -> 'b list val list_join_map : ('a -> 'b list) -> 'a list -> 'b list -- cgit v1.2.3