From cf69befd5678b6827126ef0a2b89218ea7b02c89 Mon Sep 17 00:00:00 2001 From: msozeau Date: Mon, 7 Jul 2008 14:14:08 +0000 Subject: - Improve [Context] vernacular to allow arbitrary binders, not just classes, and simplify the implementation. - Experimental syntax {{ cl : Class args }} and (( cl : Class args )) which respectively make cl an implicit or explicit argument ({{ }} is equivalent to [ ]). Could be extended to any type of binder, eg. [Definition flip ((R : relation carrier)) : relation carrier := ...]. The idea behind double brackets is to distinguish macro-binders which perform implicit generalization from regular binders. It could also save [ ] for other uses. - Fix bug #1901 about {} binders in records. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11210 85f007b7-540e-0410-9357-904b9bb8a0f7 --- interp/dumpglob.ml | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'interp') diff --git a/interp/dumpglob.ml b/interp/dumpglob.ml index 8cc6371f5e..3e28307e0e 100644 --- a/interp/dumpglob.ml +++ b/interp/dumpglob.ml @@ -177,6 +177,17 @@ let dump_constraint ((loc, n), _, _) sec ty = | Names.Name id -> dump_definition (loc, id) sec ty | Names.Anonymous -> () +let dump_name (loc, n) sec ty = + match n with + | Names.Name id -> dump_definition (loc, id) sec ty + | Names.Anonymous -> () + +let dump_local_binder b sec ty = + match b with + | Topconstr.LocalRawAssum (nl, _, _) -> + List.iter (fun x -> dump_name x sec ty) nl + | Topconstr.LocalRawDef _ -> () + let dump_modref loc mp ty = if !Flags.dump then let (dp, l) = Lib.split_modpath mp in -- cgit v1.2.3