aboutsummaryrefslogtreecommitdiff
path: root/pretyping/typeclasses.mli
diff options
context:
space:
mode:
authorcoqbot-app[bot]2020-10-02 11:04:53 +0000
committerGitHub2020-10-02 11:04:53 +0000
commitbb2d0d56df08ca54764be5a3eb5c09ce00009d6c (patch)
tree2f10c490ef22db87d8b8c8c8929c17466bec298f /pretyping/typeclasses.mli
parent42a5e337c7a33bf0ec9530b6ce161a3053362b3d (diff)
parentf16290030b48dedf3091334af4cd21a7df157381 (diff)
Merge PR #13106: Remove the forward class hint feature.
Reviewed-by: SkySkimmer
Diffstat (limited to 'pretyping/typeclasses.mli')
-rw-r--r--pretyping/typeclasses.mli18
1 files changed, 7 insertions, 11 deletions
diff --git a/pretyping/typeclasses.mli b/pretyping/typeclasses.mli
index 9de8083276..3f84d08a7e 100644
--- a/pretyping/typeclasses.mli
+++ b/pretyping/typeclasses.mli
@@ -13,8 +13,6 @@ open Constr
open Evd
open Environ
-type direction = Forward | Backward
-
(* Core typeclasses hints *)
type 'a hint_info_gen =
{ hint_priority : int option;
@@ -22,6 +20,12 @@ type 'a hint_info_gen =
type hint_info = (Pattern.patvar list * Pattern.constr_pattern) hint_info_gen
+type class_method = {
+ meth_name : Name.t;
+ meth_info : hint_info option;
+ meth_const : Constant.t option;
+}
+
(** This module defines type-classes *)
type typeclass = {
cl_univs : Univ.AUContext.t;
@@ -39,7 +43,7 @@ type typeclass = {
cl_props : Constr.rel_context;
(** Context of definitions and properties on defs, will not be shared *)
- cl_projs : (Name.t * (direction * hint_info) option * Constant.t option) list;
+ cl_projs : class_method list;
(** The methods implementations of the typeclass as projections.
Some may be undefinable due to sorting restrictions or simply undefined if
no name is provided. The [int option option] indicates subclasses whose hint has
@@ -127,11 +131,3 @@ val classes_transparent_state : unit -> TransparentState.t
val solve_all_instances_hook : (env -> evar_map -> evar_filter -> bool -> bool -> bool -> evar_map) Hook.t
val solve_one_instance_hook : (env -> evar_map -> EConstr.types -> bool -> evar_map * EConstr.constr) Hook.t
-
-(** Build the subinstances hints for a given typeclass object.
- check tells if we should check for existence of the
- subinstances and add only the missing ones. *)
-
-val build_subclasses : check:bool -> env -> evar_map -> GlobRef.t ->
- hint_info ->
- (GlobRef.t list * hint_info * constr) list