aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorherbelin2009-11-12 11:28:56 +0000
committerherbelin2009-11-12 11:28:56 +0000
commit432f9cbff79004a78f5e7bfaeb7fc05f786a1671 (patch)
treedcdd92dae3e476df9361c206f22018bb7f035c3c /lib
parent6bf05daa46ced26deec23c33590e9414d26d40e2 (diff)
Experiment propagation of implicit arguments and arguments scope for
abbreviations of applied references. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12506 85f007b7-540e-0410-9357-904b9bb8a0f7
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 d71912289d..cdd3519301 100644
--- a/lib/util.ml
+++ b/lib/util.ml
@@ -853,6 +853,9 @@ let rec list_skipn n l = match n,l with
| _, [] -> failwith "list_skipn"
| n, _::l -> list_skipn (pred n) l
+let rec list_skipn_at_least n l =
+ try list_skipn n l with Failure _ -> []
+
let rec list_addn n x l =
if n = 0 then l else x :: (list_addn (pred n) x l)
diff --git a/lib/util.mli b/lib/util.mli
index 6ab9ce7c4b..7784635c3c 100644
--- a/lib/util.mli
+++ b/lib/util.mli
@@ -172,6 +172,7 @@ val list_firstn : int -> 'a list -> 'a list
val list_last : 'a list -> 'a
val list_lastn : int -> 'a list -> 'a list
val list_skipn : int -> 'a list -> 'a list
+val list_skipn_at_least : int -> 'a list -> 'a list
val list_addn : int -> 'a -> 'a list -> 'a list
val list_prefix_of : 'a list -> 'a list -> bool
(* [list_drop_prefix p l] returns [t] if [l=p++t] else return [l] *)