aboutsummaryrefslogtreecommitdiff
path: root/pretyping/cases.mli
diff options
context:
space:
mode:
authorherbelin2001-12-18 09:16:00 +0000
committerherbelin2001-12-18 09:16:00 +0000
commit2c92d6fd70eb8752a732bb1f54cf64ef97ee444a (patch)
treea24641ef6ca6eb4f332bfd5dd7382b870bd34650 /pretyping/cases.mli
parent06982f3aec9bbc02b9a7dc045ae3112fd5bc218f (diff)
Nettoyage exceptions liƩes au vieux Case
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2304 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/cases.mli')
-rw-r--r--pretyping/cases.mli14
1 files changed, 10 insertions, 4 deletions
diff --git a/pretyping/cases.mli b/pretyping/cases.mli
index 222300028a..45694a01bf 100644
--- a/pretyping/cases.mli
+++ b/pretyping/cases.mli
@@ -30,15 +30,21 @@ type pattern_matching_error =
exception PatternMatchingError of env * pattern_matching_error
-(* Used for old cases in pretyping *)
+(*s Used for old cases in pretyping *)
val branch_scheme :
env -> evar_defs -> bool -> inductive * constr list -> constr array
-val pred_case_ml_onebranch : loc -> env -> evar_map -> bool ->
- inductive_type -> int * unsafe_judgment -> constr
+type ml_case_error =
+ | MlCaseAbsurd
+ | MlCaseDependent
-(* Compilation of pattern-matching. *)
+exception NotInferable of ml_case_error
+
+val pred_case_ml : (* raises [NotInferable] if not inferable *)
+ env -> evar_map -> bool -> inductive_type -> int * types -> constr
+
+(*s Compilation of pattern-matching. *)
val compile_cases :
loc -> (type_constraint -> env -> rawconstr -> unsafe_judgment)