diff options
Diffstat (limited to 'pretyping/typeclasses_errors.mli')
-rw-r--r-- | pretyping/typeclasses_errors.mli | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/pretyping/typeclasses_errors.mli b/pretyping/typeclasses_errors.mli new file mode 100644 index 00000000..6491372f --- /dev/null +++ b/pretyping/typeclasses_errors.mli @@ -0,0 +1,44 @@ +(************************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *) +(* \VV/ **************************************************************) +(* // * This file is distributed under the terms of the *) +(* * GNU Lesser General Public License Version 2.1 *) +(************************************************************************) + +(*i $Id: typeclasses_errors.mli 11105 2008-06-11 13:47:21Z msozeau $ i*) + +(*i*) +open Names +open Decl_kinds +open Term +open Sign +open Evd +open Environ +open Nametab +open Mod_subst +open Topconstr +open Util +open Libnames +(*i*) + +type contexts = Parameters | Properties + +type typeclass_error = + | NotAClass of constr + | UnboundMethod of global_reference * identifier located (* Class name, method *) + | NoInstance of identifier located * constr list + | UnsatisfiableConstraints of evar_defs * (evar_info * hole_kind) option + | MismatchedContextInstance of contexts * constr_expr list * named_context (* found, expected *) + +exception TypeClassError of env * typeclass_error + +val not_a_class : env -> constr -> 'a + +val unbound_method : env -> global_reference -> identifier located -> 'a + +val no_instance : env -> identifier located -> constr list -> 'a + +val unsatisfiable_constraints : env -> evar_defs -> evar option -> 'a + +val mismatched_ctx_inst : env -> contexts -> constr_expr list -> named_context -> 'a |