diff options
author | 2008-12-14 16:34:43 +0000 | |
---|---|---|
committer | 2008-12-14 16:34:43 +0000 | |
commit | c74f11d65b693207cdfa6d02f697e76093021be7 (patch) | |
tree | b32866140d9f5ecde0bb719c234c6603d44037a8 /interp/constrintern.ml | |
parent | 2f63108dccc104fe32344d88b35193d34a88f743 (diff) |
Generalized binding syntax overhaul: only two new binders: `() and `{},
guessing the binding name by default and making all generalized
variables implicit. At the same time, continue refactoring of
Record/Class/Inductive etc.., getting rid of [VernacRecord]
definitively. The AST is not completely satisfying, but leaning towards
Record/Class as restrictions of inductive (Arnaud, anyone ?).
Now, [Class] declaration bodies are either of the form [meth : type] or
[{ meth : type ; ... }], distinguishing singleton "definitional" classes
and inductive classes based on records. The constructor syntax is
accepted ([meth1 : type1 | meth1 : type2]) but raises an error
immediately, as support for defining a class by a general inductive type
is not there yet (this is a bugfix!).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11679 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp/constrintern.ml')
-rw-r--r-- | interp/constrintern.ml | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/interp/constrintern.ml b/interp/constrintern.ml index 6587b7136..a8dad2216 100644 --- a/interp/constrintern.ml +++ b/interp/constrintern.ml @@ -716,7 +716,7 @@ let intern_generalized_binder ?(fail_anonymous=false) intern_type lvar let id = match ty with | CApp (_, (_, CRef (Ident (loc,id))), _) -> id - | _ -> id_of_string "assum" + | _ -> id_of_string "H" in Implicit_quantifiers.make_fresh ids (Global.env ()) id in Name name | _ -> na |