diff options
-rw-r--r-- | library/nameops.ml | 4 | ||||
-rw-r--r-- | library/nameops.mli | 1 | ||||
-rw-r--r-- | parsing/egrammar.ml | 5 |
3 files changed, 6 insertions, 4 deletions
diff --git a/library/nameops.ml b/library/nameops.ml index 331b86d80..c3c94538b 100644 --- a/library/nameops.ml +++ b/library/nameops.ml @@ -146,6 +146,10 @@ let name_cons na l = | Anonymous -> l | Name id -> id::l +let name_app f = function + | Name id -> Name (f id) + | Anonymous -> 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 cb9070dfe..b876bf5e5 100644 --- a/library/nameops.mli +++ b/library/nameops.mli @@ -35,6 +35,7 @@ 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 pr_lab : label -> Pp.std_ppcmds diff --git a/parsing/egrammar.ml b/parsing/egrammar.ml index e97b3d5e4..132dc7704 100644 --- a/parsing/egrammar.ml +++ b/parsing/egrammar.ml @@ -16,6 +16,7 @@ open Topconstr open Ast open Genarg open Libnames +open Nameops (* State of the grammar extensions *) @@ -175,10 +176,6 @@ let subst_pat_id loc subst id = let subst_id subst id = try coerce_to_id (List.assoc id subst) with Not_found -> id -let name_app f = function - | Name id -> Name (f id) - | Anonymous -> Anonymous - (* let subst_cases_pattern_expr a loc subs = let rec subst = function |