diff options
| author | msozeau | 2008-07-04 14:38:44 +0000 |
|---|---|---|
| committer | msozeau | 2008-07-04 14:38:44 +0000 |
| commit | ff03e8dd0de507be82e58ed5e8fd902dfd7caf4b (patch) | |
| tree | ede6bccf7f4dbcca84e5aca8a374b444527c1686 /toplevel/classes.mli | |
| parent | e4b265c5f51fbaf87054d13c036878964a98cfcd (diff) | |
Fixes in handling of implicit arguments:
- Now [ id : Class foo ] makes id an explicit argument,
and [ Class foo ] is equivalent to [ {someid} : Class foo ].
This makes declarations such as "Class Ord [ eq : Eq a ]" have
sensible implicit args.
- Better handling of {} in class and record declarations, refactorize
code for declaring structures and classes.
- Fix merging of implicit arguments information on section closing.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11204 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel/classes.mli')
| -rw-r--r-- | toplevel/classes.mli | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/toplevel/classes.mli b/toplevel/classes.mli index 3bc5d03266..c10ee4c97d 100644 --- a/toplevel/classes.mli +++ b/toplevel/classes.mli @@ -38,8 +38,8 @@ val name_typeclass_binders : Idset.t -> Topconstr.local_binder list -> Topconstr.local_binder list * Idset.t -val declare_implicit_proj : typeclass -> (identifier * constant) -> - Impargs.manual_explicitation list -> bool -> unit +(* val declare_implicit_proj : typeclass -> (identifier * constant) -> *) +(* Impargs.manual_explicitation list -> bool -> unit *) val new_class : identifier located -> local_binder list -> @@ -85,7 +85,9 @@ val id_of_class : typeclass -> identifier (* Context command *) -val context : ?hook:(Libnames.global_reference -> unit) -> typeclass_context -> unit +val context : ?hook:(Libnames.global_reference -> unit) -> + (Names.name Util.located * (Rawterm.binding_kind * Rawterm.binding_kind) * + Topconstr.constr_expr) list -> unit (* Forward ref for refine *) |
