diff options
| author | herbelin | 2008-05-24 12:17:20 +0000 |
|---|---|---|
| committer | herbelin | 2008-05-24 12:17:20 +0000 |
| commit | ebf38f04cad3c4abbb779c3c40c1ba6d69bc0f71 (patch) | |
| tree | c64292d4f8533f12a9dcdc3babe11d6df290d48d /lib | |
| parent | 311373891569f2c44db11d481fa6663876e784fa (diff) | |
Ajout de la possibilité d'utiliser fix/cofix dans les notations.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10981 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/util.ml | 5 | ||||
| -rw-r--r-- | lib/util.mli | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/util.ml b/lib/util.ml index af99e2b233..26be66cb9e 100644 --- a/lib/util.ml +++ b/lib/util.ml @@ -1056,6 +1056,11 @@ else let v' = Array.map (fun x -> let (y,e) = f x !e' in e' := e; y) v in (v',!e') +let array_fold_map f e v = + let e' = ref e in + let v' = Array.map (fun x -> let (e,y) = f !e' x in e' := e; y) v in + (!e',v') + let array_fold_map2' f v1 v2 e = let e' = ref e in let v' = diff --git a/lib/util.mli b/lib/util.mli index 17a7af1973..0cbd2fa0e6 100644 --- a/lib/util.mli +++ b/lib/util.mli @@ -208,6 +208,7 @@ val array_map_left_pair : ('a -> 'b) -> 'a array -> ('c -> 'd) -> 'c array -> 'b array * 'd array val array_iter2 : ('a -> 'b -> unit) -> 'a array -> 'b array -> unit val array_fold_map' : ('a -> 'c -> 'b * 'c) -> 'a array -> 'c -> 'b array * 'c +val array_fold_map : ('a -> 'b -> 'a * 'c) -> 'a -> 'b array -> 'a * 'c array val array_fold_map2' : ('a -> 'b -> 'c -> 'd * 'c) -> 'a array -> 'b array -> 'c -> 'd array * 'c val array_distinct : 'a array -> bool |
