aboutsummaryrefslogtreecommitdiff
path: root/library
diff options
context:
space:
mode:
authorherbelin2006-10-09 15:59:23 +0000
committerherbelin2006-10-09 15:59:23 +0000
commitc03b138c8c5e85ca1636465582c3242f50415a73 (patch)
tree3d3229d67739564d283493280efce872f6cd8b51 /library
parentc1624954bb4f88b611528b16013dcb659c02ed47 (diff)
Ajout combinateurs option_fold_left et name_fold_map
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9225 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'library')
-rw-r--r--library/nameops.ml4
-rw-r--r--library/nameops.mli2
2 files changed, 6 insertions, 0 deletions
diff --git a/library/nameops.ml b/library/nameops.ml
index e4c75bd760..b68c095936 100644
--- a/library/nameops.ml
+++ b/library/nameops.ml
@@ -154,6 +154,10 @@ let name_app f = function
| Name id -> Name (f id)
| Anonymous -> Anonymous
+let name_fold_map f e = function
+ | Name id -> let (e,id) = f e id in (e,Name id)
+ | Anonymous -> e,Anonymous
+
let next_name_away_with_default default name l =
match name with
| Name str -> next_ident_away str l
diff --git a/library/nameops.mli b/library/nameops.mli
index 8dd2f6d74d..895513a3c0 100644
--- a/library/nameops.mli
+++ b/library/nameops.mli
@@ -38,6 +38,8 @@ val out_name : name -> identifier
val name_fold : (identifier -> 'a -> 'a) -> name -> 'a -> 'a
val name_cons : name -> identifier list -> identifier list
val name_app : (identifier -> identifier) -> name -> name
+val name_fold_map : ('a -> identifier -> 'a * identifier) -> 'a -> name -> 'a * name
+
val pr_lab : label -> Pp.std_ppcmds