aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar pboutill <pboutill@85f007b7-540e-0410-9357-904b9bb8a0f7>2012-03-02 22:30:29 +0000
committerGravatar pboutill <pboutill@85f007b7-540e-0410-9357-904b9bb8a0f7>2012-03-02 22:30:29 +0000
commit401f17afa2e9cc3f2d734aef0d71a2c363838ebd (patch)
tree7a3e0ce211585d4c09a182aad1358dfae0fb38ef
parent15cb1aace0460e614e8af1269d874dfc296687b0 (diff)
Noise for nothing
Util only depends on Ocaml stdlib and Utf8 tables. Generic pretty printing and loc functions are in Pp. Generic errors are in Errors. + Training white-spaces, useless open, prlist copies random erasure. Too many "open Errors" on the contrary. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@15020 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--Makefile.common6
-rw-r--r--checker/check.ml1
-rw-r--r--checker/check.mllib3
-rw-r--r--checker/check_stat.ml1
-rw-r--r--checker/checker.ml1
-rw-r--r--checker/closure.ml1
-rw-r--r--checker/declarations.ml1
-rw-r--r--checker/declarations.mli1
-rw-r--r--checker/environ.ml1
-rw-r--r--checker/indtypes.ml1
-rw-r--r--checker/inductive.ml1
-rw-r--r--checker/mod_checking.ml1
-rw-r--r--checker/modops.ml1
-rw-r--r--checker/modops.mli1
-rw-r--r--checker/reduction.ml1
-rw-r--r--checker/safe_typing.ml1
-rw-r--r--checker/subtyping.ml5
-rw-r--r--checker/term.ml1
-rw-r--r--checker/typeops.ml1
-rw-r--r--dev/printers.mllib4
-rw-r--r--dev/top_printers.ml3
-rw-r--r--interp/constrextern.ml1
-rw-r--r--interp/constrextern.mli2
-rw-r--r--interp/constrintern.ml1
-rw-r--r--interp/coqlib.ml1
-rw-r--r--interp/coqlib.mli1
-rw-r--r--interp/dumpglob.ml8
-rw-r--r--interp/dumpglob.mli20
-rw-r--r--interp/genarg.ml1
-rw-r--r--interp/genarg.mli3
-rw-r--r--interp/implicit_quantifiers.ml1
-rw-r--r--interp/implicit_quantifiers.mli2
-rw-r--r--interp/modintern.ml1
-rw-r--r--interp/modintern.mli2
-rw-r--r--interp/notation.ml1
-rw-r--r--interp/notation.mli1
-rw-r--r--interp/ppextend.ml1
-rw-r--r--interp/reserve.ml1
-rw-r--r--interp/reserve.mli2
-rw-r--r--interp/smartlocate.ml1
-rw-r--r--interp/smartlocate.mli2
-rw-r--r--interp/syntax_def.ml1
-rw-r--r--interp/syntax_def.mli1
-rw-r--r--interp/topconstr.ml7
-rw-r--r--interp/topconstr.mli8
-rw-r--r--kernel/cbytegen.ml1
-rw-r--r--kernel/closure.ml1
-rw-r--r--kernel/conv_oracle.ml2
-rw-r--r--kernel/cooking.ml1
-rw-r--r--kernel/declarations.ml1
-rw-r--r--kernel/environ.ml1
-rw-r--r--kernel/esubst.ml1
-rw-r--r--kernel/indtypes.ml1
-rw-r--r--kernel/inductive.ml1
-rw-r--r--kernel/mod_subst.ml1
-rw-r--r--kernel/mod_typing.ml1
-rw-r--r--kernel/modops.ml1
-rw-r--r--kernel/modops.mli1
-rw-r--r--kernel/names.ml4
-rw-r--r--kernel/names.mli3
-rw-r--r--kernel/pre_env.ml1
-rw-r--r--kernel/pre_env.mli1
-rw-r--r--kernel/reduction.ml1
-rw-r--r--kernel/safe_typing.ml1
-rw-r--r--kernel/sign.ml1
-rw-r--r--kernel/subtyping.ml5
-rw-r--r--kernel/term.ml1
-rw-r--r--kernel/term_typing.ml1
-rw-r--r--kernel/typeops.ml1
-rw-r--r--kernel/univ.ml5
-rw-r--r--kernel/vm.ml2
-rw-r--r--lib/dyn.ml1
-rw-r--r--lib/envars.ml2
-rw-r--r--lib/errors.ml33
-rw-r--r--lib/errors.mli36
-rw-r--r--lib/gmapl.ml1
-rw-r--r--lib/lib.mllib4
-rw-r--r--lib/option.ml7
-rw-r--r--lib/option.mli2
-rw-r--r--lib/pp.ml4106
-rw-r--r--lib/pp.mli43
-rw-r--r--lib/rtree.ml5
-rw-r--r--lib/system.ml3
-rw-r--r--lib/util.ml184
-rw-r--r--lib/util.mli85
-rw-r--r--lib/xml_lexer.mli2
-rw-r--r--library/assumptions.ml1
-rw-r--r--library/decl_kinds.ml1
-rw-r--r--library/decl_kinds.mli1
-rw-r--r--library/declare.ml3
-rw-r--r--library/declaremods.ml1
-rw-r--r--library/declaremods.mli2
-rw-r--r--library/dischargedhypsmap.ml1
-rw-r--r--library/global.ml1
-rw-r--r--library/goptions.ml1
-rw-r--r--library/goptions.mli1
-rw-r--r--library/heads.ml1
-rw-r--r--library/impargs.ml1
-rw-r--r--library/lib.ml1
-rw-r--r--library/lib.mli6
-rw-r--r--library/libnames.ml1
-rw-r--r--library/libnames.mli1
-rw-r--r--library/libobject.ml1
-rw-r--r--library/library.ml1
-rw-r--r--library/library.mli3
-rw-r--r--library/nameops.ml1
-rw-r--r--library/nametab.ml1
-rw-r--r--library/nametab.mli1
-rw-r--r--library/states.ml2
-rw-r--r--library/summary.ml1
-rw-r--r--parsing/argextend.ml48
-rw-r--r--parsing/egrammar.ml1
-rw-r--r--parsing/egrammar.mli3
-rw-r--r--parsing/extend.ml1
-rw-r--r--parsing/extrawit.ml1
-rw-r--r--parsing/extrawit.mli1
-rw-r--r--parsing/g_constr.ml44
-rw-r--r--parsing/g_prim.ml44
-rw-r--r--parsing/g_tactic.ml43
-rw-r--r--parsing/g_vernac.ml41
-rw-r--r--parsing/g_xml.ml41
-rw-r--r--parsing/grammar.mllib4
-rw-r--r--parsing/lexer.mli1
-rw-r--r--parsing/pcoq.ml41
-rw-r--r--parsing/pcoq.mli3
-rw-r--r--parsing/ppconstr.ml1
-rw-r--r--parsing/ppconstr.mli1
-rw-r--r--parsing/pptactic.ml11
-rw-r--r--parsing/ppvernac.ml5
-rw-r--r--parsing/ppvernac.mli1
-rw-r--r--parsing/prettyp.ml18
-rw-r--r--parsing/prettyp.mli1
-rw-r--r--parsing/printer.ml7
-rw-r--r--parsing/printmod.ml1
-rw-r--r--parsing/q_constr.ml44
-rw-r--r--parsing/q_coqast.ml44
-rw-r--r--parsing/q_util.ml44
-rw-r--r--parsing/tacextend.ml43
-rw-r--r--parsing/tactic_printer.ml11
-rw-r--r--parsing/vernacextend.ml43
-rw-r--r--plugins/cc/ccalgo.ml1
-rw-r--r--plugins/cc/ccalgo.mli1
-rw-r--r--plugins/cc/ccproof.ml1
-rw-r--r--plugins/cc/cctac.ml3
-rw-r--r--plugins/decl_mode/decl_expr.mli2
-rw-r--r--plugins/decl_mode/decl_interp.ml1
-rw-r--r--plugins/decl_mode/decl_mode.ml1
-rw-r--r--plugins/decl_mode/decl_proof_instr.ml1
-rw-r--r--plugins/decl_mode/g_decl_mode.ml48
-rw-r--r--plugins/decl_mode/ppdecl_proof.ml1
-rw-r--r--plugins/dp/dp.ml1
-rw-r--r--plugins/dp/dp_zenon.mll2
-rw-r--r--plugins/extraction/common.ml1
-rw-r--r--plugins/extraction/extract_env.ml1
-rw-r--r--plugins/extraction/extraction.ml1
-rw-r--r--plugins/extraction/haskell.ml1
-rw-r--r--plugins/extraction/miniml.mli1
-rw-r--r--plugins/extraction/mlutil.ml1
-rw-r--r--plugins/extraction/mlutil.mli1
-rw-r--r--plugins/extraction/modutil.ml1
-rw-r--r--plugins/extraction/ocaml.ml1
-rw-r--r--plugins/extraction/scheme.ml1
-rw-r--r--plugins/extraction/table.ml3
-rw-r--r--plugins/field/field.ml41
-rw-r--r--plugins/firstorder/formula.ml1
-rw-r--r--plugins/firstorder/g_ground.ml42
-rw-r--r--plugins/firstorder/instances.ml2
-rw-r--r--plugins/firstorder/rules.ml1
-rw-r--r--plugins/firstorder/sequent.ml3
-rw-r--r--plugins/firstorder/sequent.mli1
-rw-r--r--plugins/firstorder/unify.ml1
-rw-r--r--plugins/fourier/fourierR.ml4
-rw-r--r--plugins/funind/functional_principles_proofs.ml3
-rw-r--r--plugins/funind/functional_principles_types.ml9
-rw-r--r--plugins/funind/g_indfun.ml424
-rw-r--r--plugins/funind/glob_term_to_relation.ml5
-rw-r--r--plugins/funind/glob_termops.ml1
-rw-r--r--plugins/funind/glob_termops.mli4
-rw-r--r--plugins/funind/indfun.ml1
-rw-r--r--plugins/funind/indfun.mli3
-rw-r--r--plugins/funind/indfun_common.ml16
-rw-r--r--plugins/funind/invfun.ml9
-rw-r--r--plugins/funind/merge.ml1
-rw-r--r--plugins/funind/recdef.ml5
-rw-r--r--plugins/micromega/g_micromega.ml42
-rw-r--r--plugins/nsatz/nsatz.ml41
-rw-r--r--plugins/nsatz/polynom.ml1
-rw-r--r--plugins/omega/coq_omega.ml1
-rw-r--r--plugins/omega/g_omega.ml42
-rw-r--r--plugins/quote/g_quote.ml42
-rw-r--r--plugins/quote/quote.ml1
-rw-r--r--plugins/ring/ring.ml1
-rw-r--r--plugins/romega/const_omega.ml2
-rw-r--r--plugins/romega/g_romega.ml42
-rw-r--r--plugins/romega/refl_omega.ml13
-rw-r--r--plugins/rtauto/proof_search.ml1
-rw-r--r--plugins/rtauto/refl_tauto.ml1
-rw-r--r--plugins/setoid_ring/newring.ml41
-rw-r--r--plugins/subtac/eterm.ml1
-rw-r--r--plugins/subtac/eterm.mli1
-rw-r--r--plugins/subtac/g_subtac.ml43
-rw-r--r--plugins/subtac/subtac.ml1
-rw-r--r--plugins/subtac/subtac.mli2
-rw-r--r--plugins/subtac/subtac_cases.ml1
-rw-r--r--plugins/subtac/subtac_cases.mli1
-rw-r--r--plugins/subtac/subtac_classes.ml7
-rw-r--r--plugins/subtac/subtac_classes.mli1
-rw-r--r--plugins/subtac/subtac_coercion.ml1
-rw-r--r--plugins/subtac/subtac_command.ml1
-rw-r--r--plugins/subtac/subtac_errors.ml1
-rw-r--r--plugins/subtac/subtac_errors.mli12
-rw-r--r--plugins/subtac/subtac_obligations.ml5
-rw-r--r--plugins/subtac/subtac_obligations.mli1
-rw-r--r--plugins/subtac/subtac_pretyping.ml1
-rw-r--r--plugins/subtac/subtac_pretyping_F.ml1
-rw-r--r--plugins/subtac/subtac_utils.ml8
-rw-r--r--plugins/subtac/subtac_utils.mli1
-rw-r--r--plugins/syntax/ascii_syntax.ml1
-rw-r--r--plugins/syntax/nat_syntax.ml2
-rw-r--r--plugins/syntax/numbers_syntax.ml14
-rw-r--r--plugins/syntax/r_syntax.ml1
-rw-r--r--plugins/syntax/string_syntax.ml1
-rw-r--r--plugins/syntax/z_syntax.ml1
-rw-r--r--plugins/xml/acic2Xml.ml42
-rw-r--r--plugins/xml/cic2acic.ml26
-rw-r--r--plugins/xml/doubleTypeInference.ml2
-rw-r--r--plugins/xml/dumptree.ml42
-rw-r--r--plugins/xml/proofTree2Xml.ml42
-rw-r--r--plugins/xml/xmlcommand.ml8
-rw-r--r--pretyping/arguments_renaming.ml1
-rw-r--r--pretyping/cases.ml2
-rw-r--r--pretyping/cases.mli3
-rw-r--r--pretyping/cbv.ml1
-rw-r--r--pretyping/classops.ml3
-rw-r--r--pretyping/coercion.ml2
-rw-r--r--pretyping/coercion.mli3
-rw-r--r--pretyping/detyping.ml1
-rw-r--r--pretyping/detyping.mli3
-rw-r--r--pretyping/evarconv.ml1
-rw-r--r--pretyping/evarutil.ml1
-rw-r--r--pretyping/evarutil.mli2
-rw-r--r--pretyping/evd.ml19
-rw-r--r--pretyping/evd.mli2
-rw-r--r--pretyping/glob_term.ml2
-rw-r--r--pretyping/glob_term.mli3
-rw-r--r--pretyping/indrec.ml1
-rw-r--r--pretyping/inductiveops.ml1
-rw-r--r--pretyping/matching.ml1
-rw-r--r--pretyping/namegen.ml1
-rw-r--r--pretyping/pattern.ml1
-rw-r--r--pretyping/pretype_errors.ml5
-rw-r--r--pretyping/pretype_errors.mli1
-rw-r--r--pretyping/pretyping.ml1
-rw-r--r--pretyping/pretyping.mli2
-rw-r--r--pretyping/recordops.ml1
-rw-r--r--pretyping/reductionops.ml1
-rw-r--r--pretyping/retyping.ml1
-rw-r--r--pretyping/tacred.ml1
-rw-r--r--pretyping/term_dnet.ml3
-rw-r--r--pretyping/termops.ml1
-rw-r--r--pretyping/termops.mli1
-rw-r--r--pretyping/typeclasses.ml1
-rw-r--r--pretyping/typeclasses.mli1
-rw-r--r--pretyping/typeclasses_errors.ml1
-rw-r--r--pretyping/typeclasses_errors.mli3
-rw-r--r--pretyping/typing.ml1
-rw-r--r--pretyping/unification.ml1
-rw-r--r--proofs/clenv.ml1
-rw-r--r--proofs/clenv.mli1
-rw-r--r--proofs/clenvtac.ml1
-rw-r--r--proofs/clenvtac.mli1
-rw-r--r--proofs/evar_refiner.ml1
-rw-r--r--proofs/goal.ml142
-rw-r--r--proofs/logic.ml5
-rw-r--r--proofs/pfedit.ml15
-rw-r--r--proofs/pfedit.mli1
-rw-r--r--proofs/proof.ml10
-rw-r--r--proofs/proof_global.ml80
-rw-r--r--proofs/proof_global.mli2
-rw-r--r--proofs/proof_type.ml2
-rw-r--r--proofs/proof_type.mli2
-rw-r--r--proofs/proofview.ml12
-rw-r--r--proofs/redexpr.ml1
-rw-r--r--proofs/refiner.ml1
-rw-r--r--proofs/tacexpr.ml2
-rw-r--r--proofs/tacmach.ml3
-rw-r--r--proofs/tactic_debug.mli2
-rw-r--r--scripts/coqc.ml2
-rw-r--r--scripts/coqmktop.ml2
-rw-r--r--tactics/auto.ml5
-rw-r--r--tactics/auto.mli1
-rw-r--r--tactics/autorewrite.ml3
-rw-r--r--tactics/autorewrite.mli4
-rw-r--r--tactics/class_tactics.ml45
-rw-r--r--tactics/contradiction.ml3
-rw-r--r--tactics/dhyp.ml1
-rw-r--r--tactics/eauto.ml43
-rw-r--r--tactics/elim.ml1
-rw-r--r--tactics/elim.mli2
-rw-r--r--tactics/eqdecide.ml41
-rw-r--r--tactics/eqschemes.ml1
-rw-r--r--tactics/equality.ml1
-rw-r--r--tactics/equality.mli1
-rw-r--r--tactics/evar_tactics.ml3
-rw-r--r--tactics/extraargs.ml412
-rw-r--r--tactics/extraargs.mli8
-rw-r--r--tactics/extratactics.ml43
-rw-r--r--tactics/hiddentac.ml8
-rw-r--r--tactics/hiddentac.mli2
-rw-r--r--tactics/hipattern.ml41
-rw-r--r--tactics/hipattern.mli1
-rw-r--r--tactics/inv.ml1
-rw-r--r--tactics/inv.mli2
-rw-r--r--tactics/leminv.ml1
-rw-r--r--tactics/leminv.mli2
-rw-r--r--tactics/nbtermdn.ml1
-rw-r--r--tactics/refine.ml1
-rw-r--r--tactics/rewrite.ml41
-rw-r--r--tactics/tacinterp.ml1
-rw-r--r--tactics/tacinterp.mli3
-rw-r--r--tactics/tacticals.ml1
-rw-r--r--tactics/tacticals.mli3
-rw-r--r--tactics/tactics.ml1
-rw-r--r--tactics/tactics.mli1
-rw-r--r--tactics/tauto.ml41
-rw-r--r--tactics/termdn.ml1
-rw-r--r--test-suite/output/Arguments.out25
-rw-r--r--test-suite/output/Arguments_renaming.out8
-rw-r--r--toplevel/auto_ind_decl.ml1
-rw-r--r--toplevel/autoinstance.ml12
-rw-r--r--toplevel/cerrors.ml1
-rw-r--r--toplevel/cerrors.mli1
-rw-r--r--toplevel/class.ml1
-rw-r--r--toplevel/classes.ml6
-rw-r--r--toplevel/classes.mli1
-rw-r--r--toplevel/command.ml1
-rw-r--r--toplevel/command.mli2
-rw-r--r--toplevel/coqtop.ml1
-rw-r--r--toplevel/discharge.ml1
-rw-r--r--toplevel/himsg.ml31
-rw-r--r--toplevel/himsg.mli2
-rw-r--r--toplevel/ide_slave.ml5
-rw-r--r--toplevel/ind_tables.ml1
-rw-r--r--toplevel/indschemes.ml1
-rw-r--r--toplevel/indschemes.mli2
-rw-r--r--toplevel/lemmas.ml1
-rw-r--r--toplevel/metasyntax.ml1
-rw-r--r--toplevel/metasyntax.mli1
-rw-r--r--toplevel/mltop.ml45
-rw-r--r--toplevel/record.ml3
-rw-r--r--toplevel/search.ml3
-rw-r--r--toplevel/toplevel.ml1
-rw-r--r--toplevel/vernac.ml3
-rw-r--r--toplevel/vernac.mli6
-rw-r--r--toplevel/vernacentries.ml15
-rw-r--r--toplevel/vernacentries.mli2
-rw-r--r--toplevel/vernacexpr.ml2
-rw-r--r--toplevel/vernacinterp.ml1
-rw-r--r--toplevel/whelp.ml42
359 files changed, 989 insertions, 705 deletions
diff --git a/Makefile.common b/Makefile.common
index d4492736a..88f035ac4 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -238,11 +238,11 @@ IDEMOD:=$(shell cat ide/ide.mllib)
# coqmktop, coqc
COQENVCMO:=$(CONFIG) \
- lib/pp_control.cmo lib/pp.cmo lib/compat.cmo lib/flags.cmo \
- lib/segmenttree.cmo lib/unicodetable.cmo lib/util.cmo lib/errors.cmo lib/system.cmo \
+ lib/pp_control.cmo lib/compat.cmo lib/flags.cmo lib/pp.cmo \
+ lib/segmenttree.cmo lib/unicodetable.cmo lib/errors.cmo lib/util.cmo lib/system.cmo \
lib/envars.cmo
-COQMKTOPCMO:=$(COQENVCMO) scripts/tolink.cmo scripts/coqmktop.cmo
+COQMKTOPCMO:=$(COQENVCMO) scripts/tolink.cmo scripts/coqmktop.cmo
COQCCMO:=$(COQENVCMO) toplevel/usage.cmo scripts/coqc.cmo
diff --git a/checker/check.ml b/checker/check.ml
index bb42b949d..6f01107f5 100644
--- a/checker/check.ml
+++ b/checker/check.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
diff --git a/checker/check.mllib b/checker/check.mllib
index 08dd78bcb..99b952a38 100644
--- a/checker/check.mllib
+++ b/checker/check.mllib
@@ -1,10 +1,11 @@
Coq_config
Pp_control
-Pp
Compat
Flags
+Pp
Segmenttree
Unicodetable
+Errors
Util
Option
Hashcons
diff --git a/checker/check_stat.ml b/checker/check_stat.ml
index 5f28269ee..cdb0ade74 100644
--- a/checker/check_stat.ml
+++ b/checker/check_stat.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open System
open Flags
diff --git a/checker/checker.ml b/checker/checker.ml
index 34ba7b010..4da4d14e1 100644
--- a/checker/checker.ml
+++ b/checker/checker.ml
@@ -8,6 +8,7 @@
open Compat
open Pp
+open Errors
open Util
open System
open Flags
diff --git a/checker/closure.ml b/checker/closure.ml
index 033e2bd73..069b82017 100644
--- a/checker/closure.ml
+++ b/checker/closure.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Term
diff --git a/checker/declarations.ml b/checker/declarations.ml
index 890996d10..ba56c243f 100644
--- a/checker/declarations.ml
+++ b/checker/declarations.ml
@@ -1,3 +1,4 @@
+open Errors
open Util
open Names
open Term
diff --git a/checker/declarations.mli b/checker/declarations.mli
index 90beb326b..56a77571e 100644
--- a/checker/declarations.mli
+++ b/checker/declarations.mli
@@ -1,3 +1,4 @@
+open Errors
open Util
open Names
open Term
diff --git a/checker/environ.ml b/checker/environ.ml
index 99b364579..d0b0b4ce9 100644
--- a/checker/environ.ml
+++ b/checker/environ.ml
@@ -1,3 +1,4 @@
+open Errors
open Util
open Names
open Univ
diff --git a/checker/indtypes.ml b/checker/indtypes.ml
index 1e773df65..e48fdb6ef 100644
--- a/checker/indtypes.ml
+++ b/checker/indtypes.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Univ
diff --git a/checker/inductive.ml b/checker/inductive.ml
index 7a04cbfa3..67f61f161 100644
--- a/checker/inductive.ml
+++ b/checker/inductive.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Univ
diff --git a/checker/mod_checking.ml b/checker/mod_checking.ml
index 9942816d1..cc9ca9031 100644
--- a/checker/mod_checking.ml
+++ b/checker/mod_checking.ml
@@ -1,5 +1,6 @@
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/checker/modops.ml b/checker/modops.ml
index 2dc5d062c..4212a9361 100644
--- a/checker/modops.ml
+++ b/checker/modops.ml
@@ -7,6 +7,7 @@
(************************************************************************)
(*i*)
+open Errors
open Util
open Pp
open Names
diff --git a/checker/modops.mli b/checker/modops.mli
index 5ed7b0ce2..5ac2fde50 100644
--- a/checker/modops.mli
+++ b/checker/modops.mli
@@ -7,6 +7,7 @@
(************************************************************************)
(*i*)
+open Errors
open Util
open Names
open Univ
diff --git a/checker/reduction.ml b/checker/reduction.ml
index 3aeaa1023..c1eadcd64 100644
--- a/checker/reduction.ml
+++ b/checker/reduction.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/checker/safe_typing.ml b/checker/safe_typing.ml
index bc067dc5f..57a9011cf 100644
--- a/checker/safe_typing.ml
+++ b/checker/safe_typing.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Declarations
diff --git a/checker/subtyping.ml b/checker/subtyping.ml
index 0c97254b5..8fb4eb34b 100644
--- a/checker/subtyping.ml
+++ b/checker/subtyping.ml
@@ -7,6 +7,7 @@
(************************************************************************)
(*i*)
+open Errors
open Util
open Names
open Univ
@@ -261,7 +262,7 @@ let check_constant env mp1 l info1 cb2 spec2 subst1 subst2 =
let c2 = force_constr lc2 in
check_conv conv env c1 c2))
| IndType ((kn,i),mind1) ->
- ignore (Util.error (
+ ignore (Errors.error (
"The kernel does not recognize yet that a parameter can be " ^
"instantiated by an inductive type. Hint: you can rename the " ^
"inductive type and give a definition to map the old name to the new " ^
@@ -272,7 +273,7 @@ let check_constant env mp1 l info1 cb2 spec2 subst1 subst2 =
let typ2 = Typeops.type_of_constant_type env cb2.const_type in
check_conv conv_leq env arity1 typ2
| IndConstr (((kn,i),j) as cstr,mind1) ->
- ignore (Util.error (
+ ignore (Errors.error (
"The kernel does not recognize yet that a parameter can be " ^
"instantiated by a constructor. Hint: you can rename the " ^
"constructor and give a definition to map the old name to the new " ^
diff --git a/checker/term.ml b/checker/term.ml
index ab40b6fa7..db4b6599b 100644
--- a/checker/term.ml
+++ b/checker/term.ml
@@ -8,6 +8,7 @@
(* This module instantiates the structure of generic deBruijn terms to Coq *)
+open Errors
open Util
open Pp
open Names
diff --git a/checker/typeops.ml b/checker/typeops.ml
index 5226db534..b904e0b68 100644
--- a/checker/typeops.ml
+++ b/checker/typeops.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Univ
diff --git a/dev/printers.mllib b/dev/printers.mllib
index 40a5a8225..91d8b43a3 100644
--- a/dev/printers.mllib
+++ b/dev/printers.mllib
@@ -1,13 +1,13 @@
Coq_config
Pp_control
-Pp
Compat
Flags
+Pp
Segmenttree
Unicodetable
-Util
Errors
+Util
Bigint
Hashcons
Dyn
diff --git a/dev/top_printers.ml b/dev/top_printers.ml
index 3116cbf22..c765f3848 100644
--- a/dev/top_printers.ml
+++ b/dev/top_printers.ml
@@ -9,6 +9,7 @@
(* Printers for the ocaml toplevel. *)
open System
+open Errors
open Util
open Pp
open Names
@@ -131,7 +132,7 @@ let pppftreestate p = pp(print_pftreestate p)
(* let pr_glls glls = *)
(* hov 0 (pr_evar_defs (sig_sig glls) ++ fnl () ++ *)
-(* prlist_with_sep pr_fnl db_pr_goal (sig_it glls)) *)
+(* prlist_with_sep fnl db_pr_goal (sig_it glls)) *)
(* let ppsigmagoal g = pp(pr_goal (sig_it g)) *)
(* let prgls gls = pp(pr_gls gls) *)
diff --git a/interp/constrextern.ml b/interp/constrextern.ml
index f7bd32815..1ffa2c486 100644
--- a/interp/constrextern.ml
+++ b/interp/constrextern.ml
@@ -8,6 +8,7 @@
(*i*)
open Pp
+open Errors
open Util
open Univ
open Names
diff --git a/interp/constrextern.mli b/interp/constrextern.mli
index 2a53eb85f..c112506ab 100644
--- a/interp/constrextern.mli
+++ b/interp/constrextern.mli
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Pp
open Names
open Term
open Termops
diff --git a/interp/constrintern.ml b/interp/constrintern.ml
index 04e252ca3..c94ac67de 100644
--- a/interp/constrintern.ml
+++ b/interp/constrintern.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Flags
open Names
diff --git a/interp/coqlib.ml b/interp/coqlib.ml
index eb7828eaa..9eda0b96a 100644
--- a/interp/coqlib.ml
+++ b/interp/coqlib.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Names
diff --git a/interp/coqlib.mli b/interp/coqlib.mli
index 5d3580f26..27137e81b 100644
--- a/interp/coqlib.mli
+++ b/interp/coqlib.mli
@@ -11,6 +11,7 @@ open Libnames
open Nametab
open Term
open Pattern
+open Errors
open Util
(** This module collects the global references, constructions and
diff --git a/interp/dumpglob.ml b/interp/dumpglob.ml
index 07e813e74..5ea9cb986 100644
--- a/interp/dumpglob.ml
+++ b/interp/dumpglob.ml
@@ -124,7 +124,7 @@ let remove_sections dir =
dir
let interval loc =
- let loc1,loc2 = Util.unloc loc in
+ let loc1,loc2 = Pp.unloc loc in
loc1, loc2-1
let dump_ref loc filepath modpath ident ty =
@@ -143,7 +143,7 @@ let add_glob_gen loc sp lib_dp ty =
dump_ref loc filepath modpath ident ty
let add_glob loc ref =
- if dump () && loc <> Util.dummy_loc then
+ if dump () && loc <> Pp.dummy_loc then
let sp = Nametab.path_of_global ref in
let lib_dp = Lib.library_part ref in
let ty = type_of_global_ref ref in
@@ -154,7 +154,7 @@ let mp_of_kn kn =
Names.MPdot (mp,l)
let add_glob_kn loc kn =
- if dump () && loc <> Util.dummy_loc then
+ if dump () && loc <> Pp.dummy_loc then
let sp = Nametab.path_of_syndef kn in
let lib_dp = Lib.dp_of_mp (mp_of_kn kn) in
add_glob_gen loc sp lib_dp "syndef"
@@ -237,7 +237,7 @@ let cook_notation df sc =
let dump_notation (loc,(df,_)) sc sec =
(* We dump the location of the opening '"' *)
- dump_string (Printf.sprintf "not %d %s %s\n" (fst (Util.unloc loc))
+ dump_string (Printf.sprintf "not %d %s %s\n" (fst (Pp.unloc loc))
(Names.string_of_dirpath (Lib.current_dirpath sec)) (cook_notation df sc))
let dump_notation_location posl df (((path,secpath),_),sc) =
diff --git a/interp/dumpglob.mli b/interp/dumpglob.mli
index b02cc9669..90b56e0a9 100644
--- a/interp/dumpglob.mli
+++ b/interp/dumpglob.mli
@@ -26,17 +26,17 @@ type coqdoc_state = Lexer.location_table
val coqdoc_freeze : unit -> coqdoc_state
val coqdoc_unfreeze : coqdoc_state -> unit
-val add_glob : Util.loc -> Libnames.global_reference -> unit
-val add_glob_kn : Util.loc -> Names.kernel_name -> unit
-
-val dump_definition : Util.loc * Names.identifier -> bool -> string -> unit
-val dump_moddef : Util.loc -> Names.module_path -> string -> unit
-val dump_modref : Util.loc -> Names.module_path -> string -> unit
-val dump_reference : Util.loc -> string -> string -> string -> unit
-val dump_libref : Util.loc -> Names.dir_path -> string -> unit
+val add_glob : Pp.loc -> Libnames.global_reference -> unit
+val add_glob_kn : Pp.loc -> Names.kernel_name -> unit
+
+val dump_definition : Pp.loc * Names.identifier -> bool -> string -> unit
+val dump_moddef : Pp.loc -> Names.module_path -> string -> unit
+val dump_modref : Pp.loc -> Names.module_path -> string -> unit
+val dump_reference : Pp.loc -> string -> string -> string -> unit
+val dump_libref : Pp.loc -> Names.dir_path -> string -> unit
val dump_notation_location : (int * int) list -> Topconstr.notation -> (Notation.notation_location * Topconstr.scope_name option) -> unit
-val dump_binding : Util.loc -> Names.Idset.elt -> unit
-val dump_notation : Util.loc * (Topconstr.notation * Notation.notation_location) -> Topconstr.scope_name option -> bool -> unit
+val dump_binding : Pp.loc -> Names.Idset.elt -> unit
+val dump_notation : Pp.loc * (Topconstr.notation * Notation.notation_location) -> Topconstr.scope_name option -> bool -> unit
val dump_constraint : Topconstr.typeclass_constraint -> bool -> string -> unit
val dump_string : string -> unit
diff --git a/interp/genarg.ml b/interp/genarg.ml
index e564bd11e..b4f87d96b 100644
--- a/interp/genarg.ml
+++ b/interp/genarg.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/interp/genarg.mli b/interp/genarg.mli
index 54aadba18..9c47c691a 100644
--- a/interp/genarg.mli
+++ b/interp/genarg.mli
@@ -6,7 +6,8 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Errors
+open Pp
open Names
open Term
open Libnames
diff --git a/interp/implicit_quantifiers.ml b/interp/implicit_quantifiers.ml
index f27390435..e92699f64 100644
--- a/interp/implicit_quantifiers.ml
+++ b/interp/implicit_quantifiers.ml
@@ -15,6 +15,7 @@ open Evd
open Environ
open Nametab
open Mod_subst
+open Errors
open Util
open Glob_term
open Topconstr
diff --git a/interp/implicit_quantifiers.mli b/interp/implicit_quantifiers.mli
index ce518a9cb..14a1c630c 100644
--- a/interp/implicit_quantifiers.mli
+++ b/interp/implicit_quantifiers.mli
@@ -16,7 +16,7 @@ open Nametab
open Mod_subst
open Glob_term
open Topconstr
-open Util
+open Pp
open Libnames
open Typeclasses
diff --git a/interp/modintern.ml b/interp/modintern.ml
index a13560c0f..5dde644b5 100644
--- a/interp/modintern.ml
+++ b/interp/modintern.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Entries
diff --git a/interp/modintern.mli b/interp/modintern.mli
index 71a00c2fe..e808cd980 100644
--- a/interp/modintern.mli
+++ b/interp/modintern.mli
@@ -9,7 +9,7 @@
open Declarations
open Environ
open Entries
-open Util
+open Pp
open Libnames
open Names
open Topconstr
diff --git a/interp/notation.ml b/interp/notation.ml
index 8f19ab851..96de08da3 100644
--- a/interp/notation.ml
+++ b/interp/notation.ml
@@ -7,6 +7,7 @@
(************************************************************************)
(*i*)
+open Errors
open Util
open Pp
open Bigint
diff --git a/interp/notation.mli b/interp/notation.mli
index f92ef94ed..25ea59419 100644
--- a/interp/notation.mli
+++ b/interp/notation.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Bigint
diff --git a/interp/ppextend.ml b/interp/ppextend.ml
index ebf94bd80..176c2a76b 100644
--- a/interp/ppextend.ml
+++ b/interp/ppextend.ml
@@ -8,6 +8,7 @@
(*i*)
open Pp
+open Errors
open Util
open Names
(*i*)
diff --git a/interp/reserve.ml b/interp/reserve.ml
index a07f5c846..7f30c6bac 100644
--- a/interp/reserve.ml
+++ b/interp/reserve.ml
@@ -8,6 +8,7 @@
(* Reserved names *)
+open Errors
open Util
open Pp
open Names
diff --git a/interp/reserve.mli b/interp/reserve.mli
index 97b22d2b2..f3b9d43a5 100644
--- a/interp/reserve.mli
+++ b/interp/reserve.mli
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Pp
open Names
open Glob_term
open Topconstr
diff --git a/interp/smartlocate.ml b/interp/smartlocate.ml
index 4e472b7a5..043c255a4 100644
--- a/interp/smartlocate.ml
+++ b/interp/smartlocate.ml
@@ -13,6 +13,7 @@
(* *)
open Pp
+open Errors
open Util
open Names
open Libnames
diff --git a/interp/smartlocate.mli b/interp/smartlocate.mli
index 474058cc9..0c7bc6157 100644
--- a/interp/smartlocate.mli
+++ b/interp/smartlocate.mli
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Pp
open Names
open Libnames
open Genarg
diff --git a/interp/syntax_def.ml b/interp/syntax_def.ml
index 8863bbbd3..eb6f50131 100644
--- a/interp/syntax_def.ml
+++ b/interp/syntax_def.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Names
diff --git a/interp/syntax_def.mli b/interp/syntax_def.mli
index e4da52a33..9e15ab970 100644
--- a/interp/syntax_def.mli
+++ b/interp/syntax_def.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Topconstr
diff --git a/interp/topconstr.ml b/interp/topconstr.ml
index b2e1a7545..ca1706035 100644
--- a/interp/topconstr.ml
+++ b/interp/topconstr.ml
@@ -8,6 +8,7 @@
(*i*)
open Pp
+open Errors
open Util
open Names
open Nameops
@@ -857,7 +858,7 @@ type cases_pattern_expr =
| CPatOr of loc * cases_pattern_expr list
| CPatNotation of loc * notation * cases_pattern_notation_substitution
| CPatPrim of loc * prim_token
- | CPatRecord of Util.loc * (reference * cases_pattern_expr) list
+ | CPatRecord of loc * (reference * cases_pattern_expr) list
| CPatDelimiters of loc * string * cases_pattern_expr
and cases_pattern_notation_substitution =
@@ -1272,8 +1273,8 @@ type module_ast =
(* and which are then occupied by proper symbols of the notation (or spaces) *)
let locs_of_notation loc locs ntn =
- let (bl,el) = Util.unloc loc in
- let locs = List.map Util.unloc locs in
+ let (bl,el) = unloc loc in
+ let locs = List.map unloc locs in
let rec aux pos = function
| [] -> if pos = el then [] else [(pos,el-1)]
| (ba,ea)::l ->if pos = ba then aux ea l else (pos,ba-1)::aux ea l
diff --git a/interp/topconstr.mli b/interp/topconstr.mli
index 5ee0c5bc6..ea3191770 100644
--- a/interp/topconstr.mli
+++ b/interp/topconstr.mli
@@ -7,7 +7,7 @@
(************************************************************************)
open Pp
-open Util
+open Errors
open Names
open Libnames
open Glob_term
@@ -130,7 +130,7 @@ type cases_pattern_expr =
| CPatOr of loc * cases_pattern_expr list
| CPatNotation of loc * notation * cases_pattern_notation_substitution
| CPatPrim of loc * prim_token
- | CPatRecord of Util.loc * (reference * cases_pattern_expr) list
+ | CPatRecord of loc * (reference * cases_pattern_expr) list
| CPatDelimiters of loc * string * cases_pattern_expr
and cases_pattern_notation_substitution =
@@ -267,6 +267,6 @@ type module_ast =
| CMwith of loc * module_ast * with_declaration_ast
val ntn_loc :
- Util.loc -> constr_notation_substitution -> string -> (int * int) list
+ loc -> constr_notation_substitution -> string -> (int * int) list
val patntn_loc :
- Util.loc -> cases_pattern_notation_substitution -> string -> (int * int) list
+ loc -> cases_pattern_notation_substitution -> string -> (int * int) list
diff --git a/kernel/cbytegen.ml b/kernel/cbytegen.ml
index 8da06f435..86c8f4913 100644
--- a/kernel/cbytegen.ml
+++ b/kernel/cbytegen.ml
@@ -10,6 +10,7 @@
machine, Oct 2004 *)
(* Extension: Arnaud Spiwack (support for native arithmetic), May 2005 *)
+open Errors
open Util
open Names
open Cbytecodes
diff --git a/kernel/closure.ml b/kernel/closure.ml
index 143d6eb49..d62ac79bf 100644
--- a/kernel/closure.ml
+++ b/kernel/closure.ml
@@ -19,6 +19,7 @@
(* This file implements a lazy reduction for the Calculus of Inductive
Constructions *)
+open Errors
open Util
open Pp
open Term
diff --git a/kernel/conv_oracle.ml b/kernel/conv_oracle.ml
index 92109258d..c195a5496 100644
--- a/kernel/conv_oracle.ml
+++ b/kernel/conv_oracle.ml
@@ -44,7 +44,7 @@ let set_strategy k l =
cst_opacity :=
if l=default then Cmap.remove c !cst_opacity
else Cmap.add c l !cst_opacity
- | RelKey _ -> Util.error "set_strategy: RelKey"
+ | RelKey _ -> Errors.error "set_strategy: RelKey"
let get_transp_state () =
(Idmap.fold
diff --git a/kernel/cooking.ml b/kernel/cooking.ml
index 02330339d..1a405e98b 100644
--- a/kernel/cooking.ml
+++ b/kernel/cooking.ml
@@ -14,6 +14,7 @@
declarations over global constants and inductive types *)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/kernel/declarations.ml b/kernel/declarations.ml
index 1a84b9876..db304e33d 100644
--- a/kernel/declarations.ml
+++ b/kernel/declarations.ml
@@ -21,6 +21,7 @@
global constants/axioms, mutual inductive definitions and the
module system *)
+open Errors
open Util
open Names
open Univ
diff --git a/kernel/environ.ml b/kernel/environ.ml
index 7a41e62c4..c38d4186f 100644
--- a/kernel/environ.ml
+++ b/kernel/environ.ml
@@ -20,6 +20,7 @@
(* This file defines the type of environments on which the
type-checker works, together with simple related functions *)
+open Errors
open Util
open Names
open Sign
diff --git a/kernel/esubst.ml b/kernel/esubst.ml
index cbce04d62..dad5b1420 100644
--- a/kernel/esubst.ml
+++ b/kernel/esubst.ml
@@ -10,6 +10,7 @@
(* Support for explicit substitutions *)
+open Errors
open Util
(*********************)
diff --git a/kernel/indtypes.ml b/kernel/indtypes.ml
index 46e866a04..aa5e132c6 100644
--- a/kernel/indtypes.ml
+++ b/kernel/indtypes.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Univ
diff --git a/kernel/inductive.ml b/kernel/inductive.ml
index 21f86233a..b2d924714 100644
--- a/kernel/inductive.ml
+++ b/kernel/inductive.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Univ
diff --git a/kernel/mod_subst.ml b/kernel/mod_subst.ml
index 314cc0ee0..777f39183 100644
--- a/kernel/mod_subst.ml
+++ b/kernel/mod_subst.ml
@@ -14,6 +14,7 @@
substitution in module constructions *)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/kernel/mod_typing.ml b/kernel/mod_typing.ml
index a384c836c..e2304f119 100644
--- a/kernel/mod_typing.ml
+++ b/kernel/mod_typing.ml
@@ -12,6 +12,7 @@
(* This module provides the main functions for type-checking module
declarations *)
+open Errors
open Util
open Names
open Univ
diff --git a/kernel/modops.ml b/kernel/modops.ml
index 0c2c6bd71..a422bae66 100644
--- a/kernel/modops.ml
+++ b/kernel/modops.ml
@@ -15,6 +15,7 @@
(* This file provides with various operations on modules and module types *)
+open Errors
open Util
open Pp
open Names
diff --git a/kernel/modops.mli b/kernel/modops.mli
index b9c36d5af..9f8a306fa 100644
--- a/kernel/modops.mli
+++ b/kernel/modops.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Univ
diff --git a/kernel/names.ml b/kernel/names.ml
index ae8ad093c..b01d5675b 100644
--- a/kernel/names.ml
+++ b/kernel/names.ml
@@ -19,12 +19,16 @@
Élie Soubiran, ... *)
open Pp
+open Errors
open Util
(** {6 Identifiers } *)
type identifier = string
+let check_ident_soft x = Option.iter Pp.warning (ident_refutation x)
+let check_ident x = Option.iter Errors.error (ident_refutation x)
+
let id_of_string s = check_ident_soft s; String.copy s
let string_of_id id = String.copy id
diff --git a/kernel/names.mli b/kernel/names.mli
index 34c5e62c5..63c64f364 100644
--- a/kernel/names.mli
+++ b/kernel/names.mli
@@ -10,6 +10,9 @@
type identifier
+val check_ident : string -> unit
+val check_ident_soft : string -> unit
+
(** Parsing and printing of identifiers *)
val string_of_id : identifier -> string
val id_of_string : string -> identifier
diff --git a/kernel/pre_env.ml b/kernel/pre_env.ml
index 985aac95f..ec4a2d195 100644
--- a/kernel/pre_env.ml
+++ b/kernel/pre_env.ml
@@ -13,6 +13,7 @@
(* This file defines the type of kernel environments *)
+open Errors
open Util
open Names
open Sign
diff --git a/kernel/pre_env.mli b/kernel/pre_env.mli
index 40ce887b2..0d279bc39 100644
--- a/kernel/pre_env.mli
+++ b/kernel/pre_env.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Sign
diff --git a/kernel/reduction.ml b/kernel/reduction.ml
index fc5e32cf5..10eccd059 100644
--- a/kernel/reduction.ml
+++ b/kernel/reduction.ml
@@ -15,6 +15,7 @@
(* Equal inductive types by Jacek Chrzaszcz as part of the module
system, Aug 2002 *)
+open Errors
open Util
open Names
open Term
diff --git a/kernel/safe_typing.ml b/kernel/safe_typing.ml
index c2d71ebb2..e87bc9c1c 100644
--- a/kernel/safe_typing.ml
+++ b/kernel/safe_typing.ml
@@ -57,6 +57,7 @@
etc.
*)
+open Errors
open Util
open Names
open Univ
diff --git a/kernel/sign.ml b/kernel/sign.ml
index 71169563b..861cb0b6c 100644
--- a/kernel/sign.ml
+++ b/kernel/sign.ml
@@ -16,6 +16,7 @@
names-based contexts *)
open Names
+open Errors
open Util
open Term
diff --git a/kernel/subtyping.ml b/kernel/subtyping.ml
index c141a02aa..9fb045407 100644
--- a/kernel/subtyping.ml
+++ b/kernel/subtyping.ml
@@ -12,6 +12,7 @@
(* This module checks subtyping of module types *)
(*i*)
+open Errors
open Util
open Names
open Univ
@@ -278,7 +279,7 @@ let check_constant cst env mp1 l info1 cb2 spec2 subst1 subst2 =
let c2 = Declarations.force lc2 in
check_conv NotConvertibleBodyField cst conv env c1 c2))
| IndType ((kn,i),mind1) ->
- ignore (Util.error (
+ ignore (Errors.error (
"The kernel does not recognize yet that a parameter can be " ^
"instantiated by an inductive type. Hint: you can rename the " ^
"inductive type and give a definition to map the old name to the new " ^
@@ -289,7 +290,7 @@ let check_constant cst env mp1 l info1 cb2 spec2 subst1 subst2 =
let typ2 = Typeops.type_of_constant_type env cb2.const_type in
check_conv NotConvertibleTypeField cst conv_leq env arity1 typ2
| IndConstr (((kn,i),j) as cstr,mind1) ->
- ignore (Util.error (
+ ignore (Errors.error (
"The kernel does not recognize yet that a parameter can be " ^
"instantiated by a constructor. Hint: you can rename the " ^
"constructor and give a definition to map the old name to the new " ^
diff --git a/kernel/term.ml b/kernel/term.ml
index dcb63cf7b..0a4782d8c 100644
--- a/kernel/term.ml
+++ b/kernel/term.ml
@@ -23,6 +23,7 @@
Inductive Constructions (CIC) terms together with constructors,
destructors, iterators and basic functions *)
+open Errors
open Util
open Pp
open Names
diff --git a/kernel/term_typing.ml b/kernel/term_typing.ml
index 478b9c6fc..887a90010 100644
--- a/kernel/term_typing.ml
+++ b/kernel/term_typing.ml
@@ -12,6 +12,7 @@
(* This module provides the main entry points for type-checking basic
declarations *)
+open Errors
open Util
open Names
open Univ
diff --git a/kernel/typeops.ml b/kernel/typeops.ml
index 49106c912..a2dd09976 100644
--- a/kernel/typeops.ml
+++ b/kernel/typeops.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Univ
diff --git a/kernel/univ.ml b/kernel/univ.ml
index 0193542a3..d967846f1 100644
--- a/kernel/univ.ml
+++ b/kernel/univ.ml
@@ -14,6 +14,7 @@
(* Revisions by Bruno Barras, Hugo Herbelin, Pierre Letouzey *)
open Pp
+open Errors
open Util
(* Universes are stratified by a partial ordering $\le$.
@@ -817,9 +818,9 @@ let pr_arc = function
| _, Canonical {univ=u; lt=lt; le=le} ->
pr_uni_level u ++ str " " ++
v 0
- (prlist_with_sep pr_spc (fun v -> str "< " ++ pr_uni_level v) lt ++
+ (pr_sequence (fun v -> str "< " ++ pr_uni_level v) lt ++
(if lt <> [] & le <> [] then spc () else mt()) ++
- prlist_with_sep pr_spc (fun v -> str "<= " ++ pr_uni_level v) le) ++
+ pr_sequence (fun v -> str "<= " ++ pr_uni_level v) le) ++
fnl ()
| u, Equiv v ->
pr_uni_level u ++ str " = " ++ pr_uni_level v ++ fnl ()
diff --git a/kernel/vm.ml b/kernel/vm.ml
index 86aed5d93..851b66d48 100644
--- a/kernel/vm.ml
+++ b/kernel/vm.ml
@@ -224,7 +224,7 @@ let whd_val : values -> whd =
| 1 -> Vfix(Obj.obj o, None)
| 2 -> Vfix(Obj.obj (Obj.field o 1), Some (Obj.obj o))
| 3 -> Vatom_stk(Aid(RelKey(int_tcode (fun_code o) 1)), [])
- | _ -> Util.anomaly "Vm.whd : kind_of_closure does not work")
+ | _ -> Errors.anomaly "Vm.whd : kind_of_closure does not work")
else Vconstr_block(Obj.obj o)
diff --git a/lib/dyn.ml b/lib/dyn.ml
index a0109b60e..04f6d431f 100644
--- a/lib/dyn.ml
+++ b/lib/dyn.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
(* Dynamics, programmed with DANGER !!! *)
diff --git a/lib/envars.ml b/lib/envars.ml
index e5c938037..611b81a7e 100644
--- a/lib/envars.ml
+++ b/lib/envars.ml
@@ -38,7 +38,7 @@ let guess_coqlib () =
in
if Sys.file_exists (Filename.concat coqlib file)
then coqlib
- else Util.error "cannot guess a path for Coq libraries; please use -coqlib option")
+ else Errors.error "cannot guess a path for Coq libraries; please use -coqlib option")
let coqlib () =
if !Flags.coqlib_spec then !Flags.coqlib else
diff --git a/lib/errors.ml b/lib/errors.ml
index 3b5e67704..1060a8efd 100644
--- a/lib/errors.ml
+++ b/lib/errors.ml
@@ -6,10 +6,35 @@
(* * GNU Lesser General Public License Version 2.1 *)
(***********************************************************************)
+open Compat
open Pp
-(* spiwack: it might be reasonable to decide and move the declarations
- of Anomaly and so on to this module so as not to depend on Util. *)
+(* Errors *)
+
+exception Anomaly of string * std_ppcmds (* System errors *)
+let anomaly string = raise (Anomaly(string, str string))
+let anomalylabstrm string pps = raise (Anomaly(string,pps))
+
+exception UserError of string * std_ppcmds (* User errors *)
+let error string = raise (UserError("_", str string))
+let errorlabstrm l pps = raise (UserError(l,pps))
+
+exception AlreadyDeclared of std_ppcmds (* for already declared Schemes *)
+let alreadydeclared pps = raise (AlreadyDeclared(pps))
+
+let todo s = prerr_string ("TODO: "^s^"\n")
+
+(* raising located exceptions *)
+let anomaly_loc (loc,s,strm) = Loc.raise loc (Anomaly (s,strm))
+let user_err_loc (loc,s,strm) = Loc.raise loc (UserError (s,strm))
+let invalid_arg_loc (loc,s) = Loc.raise loc (Invalid_argument s)
+
+(* Like Exc_located, but specifies the outermost file read, the filename
+ associated to the location of the error, and the error itself. *)
+
+exception Error_in_file of string * (bool * string * loc) * exn
+
+exception Timeout
let handle_stack = ref []
@@ -38,7 +63,7 @@ let where s =
if !Flags.debug then str ("in "^s^":") ++ spc () else mt ()
let raw_anomaly e = match e with
- | Util.Anomaly (s,pps) -> where s ++ pps ++ str "."
+ | Anomaly (s,pps) -> where s ++ pps ++ str "."
| Assert_failure _ | Match_failure _ -> str (Printexc.to_string e ^ ".")
| _ -> str ("Uncaught exception " ^ Printexc.to_string e ^ ".")
@@ -62,7 +87,7 @@ let print_no_anomaly e = print_gen (fun e -> raise e) !handle_stack e
(** Predefined handlers **)
let _ = register_handler begin function
- | Util.UserError(s,pps) -> hov 0 (str "Error: " ++ where s ++ pps)
+ | UserError(s,pps) -> hov 0 (str "Error: " ++ where s ++ pps)
| _ -> raise Unhandled
end
diff --git a/lib/errors.mli b/lib/errors.mli
index eb7fde8e7..a863c5e30 100644
--- a/lib/errors.mli
+++ b/lib/errors.mli
@@ -6,9 +6,45 @@
(* * GNU Lesser General Public License Version 2.1 *)
(***********************************************************************)
+open Pp
+
(** This modules implements basic manipulations of errors for use
throughout Coq's code. *)
+(** {6 Generic errors.}
+
+ [Anomaly] is used for system errors and [UserError] for the
+ user's ones. *)
+
+exception Anomaly of string * std_ppcmds
+val anomaly : string -> 'a
+val anomalylabstrm : string -> std_ppcmds -> 'a
+val anomaly_loc : loc * string * std_ppcmds -> 'a
+
+exception UserError of string * std_ppcmds
+val error : string -> 'a
+val errorlabstrm : string -> std_ppcmds -> 'a
+val user_err_loc : loc * string * std_ppcmds -> 'a
+
+exception AlreadyDeclared of std_ppcmds
+val alreadydeclared : std_ppcmds -> 'a
+
+val invalid_arg_loc : loc * string -> 'a
+
+(** [todo] is for running of an incomplete code its implementation is
+ "do nothing" (or print a message), but this function should not be
+ used in a released code *)
+
+val todo : string -> unit
+
+exception Timeout
+
+(** Like [Exc_located], but specifies the outermost file read, the
+ input buffer associated to the location of the error (or the module name
+ if boolean is true), and the error itself. *)
+
+exception Error_in_file of string * (bool * string * loc) * exn
+
(** [register_handler h] registers [h] as a handler.
When an expression is printed with [print e], it
goes through all registered handles (the most
diff --git a/lib/gmapl.ml b/lib/gmapl.ml
index a00407426..01a277c78 100644
--- a/lib/gmapl.ml
+++ b/lib/gmapl.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
type ('a,'b) t = ('a,'b list) Gmap.t
diff --git a/lib/lib.mllib b/lib/lib.mllib
index db79b5c24..eb834af78 100644
--- a/lib/lib.mllib
+++ b/lib/lib.mllib
@@ -2,13 +2,13 @@ Xml_lexer
Xml_parser
Xml_utils
Pp_control
-Pp
Compat
Flags
+Pp
Segmenttree
Unicodetable
-Util
Errors
+Util
Bigint
Hashcons
Dyn
diff --git a/lib/option.ml b/lib/option.ml
index c3fe9ce46..ef7a2e9e5 100644
--- a/lib/option.ml
+++ b/lib/option.ml
@@ -153,6 +153,13 @@ module List =
let rec flatten = function
| x::l -> cons x (flatten l)
| [] -> []
+
+ let rec find f = function
+ |[] -> None
+ |h :: t -> match f h with
+ |None -> find f t
+ |x -> x
+
end
diff --git a/lib/option.mli b/lib/option.mli
index b9fd7d2f3..217aa6696 100644
--- a/lib/option.mli
+++ b/lib/option.mli
@@ -100,6 +100,8 @@ module List : sig
(** [List.flatten l] is the list of all the [y]s such that [l] contains
[Some y] (in the same order). *)
val flatten : 'a option list -> 'a list
+
+ val find : ('a -> 'b option) -> 'a list -> 'b option
end
diff --git a/lib/pp.ml4 b/lib/pp.ml4
index c602b403e..4fc53270c 100644
--- a/lib/pp.ml4
+++ b/lib/pp.ml4
@@ -7,12 +7,13 @@
(************************************************************************)
open Pp_control
+open Compat
(* This should not be used outside of this file. Use
Flags.print_emacs instead. This one is updated when reading
command line options. This was the only way to make [Pp] depend on
- an option without creating a circularity: [Flags. -> [Util] ->
- [Pp] -> [Flags. *)
+ an option without creating a circularity: [Flags] -> [Util] ->
+ [Pp] -> [Flags] *)
let print_emacs = ref false
let make_pp_emacs() = print_emacs:=true
let make_pp_nonemacs() = print_emacs:=false
@@ -336,3 +337,104 @@ let msg_warning x = msg_warning_with !err_ft x
let string_of_ppcmds c =
msg_with Format.str_formatter c;
Format.flush_str_formatter ()
+
+(* Locations management *)
+type loc = Loc.t
+let dummy_loc = Loc.ghost
+let join_loc = Loc.merge
+let make_loc = make_loc
+let unloc = unloc
+
+type 'a located = loc * 'a
+let located_fold_left f x (_,a) = f x a
+let located_iter2 f (_,a) (_,b) = f a b
+let down_located f (_,a) = f a
+
+
+(* Copy paste from Util *)
+
+let pr_comma () = str "," ++ spc ()
+let pr_semicolon () = str ";" ++ spc ()
+let pr_bar () = str "|" ++ spc ()
+let pr_arg pr x = spc () ++ pr x
+let pr_opt pr = function None -> mt () | Some x -> pr_arg pr x
+let pr_opt_no_spc pr = function None -> mt () | Some x -> pr x
+
+let pr_nth n =
+ int n ++ str (match n mod 10 with 1 -> "st" | 2 -> "nd" | 3 -> "rd" | _ -> "th")
+
+(* [prlist pr [a ; ... ; c]] outputs [pr a ++ ... ++ pr c] *)
+
+let rec prlist elem l = match l with
+ | [] -> mt ()
+ | h::t -> Stream.lapp (fun () -> elem h) (prlist elem t)
+
+(* unlike all other functions below, [prlist] works lazily.
+ if a strict behavior is needed, use [prlist_strict] instead.
+ evaluation is done from left to right. *)
+
+let prlist_sep_lastsep no_empty sep lastsep elem =
+ let rec start = function
+ |[] -> mt ()
+ |[e] -> elem e
+ |h::t -> let e = elem h in
+ if no_empty && e = mt () then start t else
+ let rec aux = function
+ |[] -> mt ()
+ |h::t ->
+ let e = elem h and r = aux t in
+ if no_empty && e = mt () then r else
+ if r = mt ()
+ then let s = lastsep () in s ++ e
+ else let s = sep () in s ++ e ++ r
+ in let r = aux t in e ++ r
+ in start
+
+let prlist_strict pr l = prlist_sep_lastsep true mt mt pr l
+(* [prlist_with_sep sep pr [a ; ... ; c]] outputs
+ [pr a ++ sep() ++ ... ++ sep() ++ pr c] *)
+let prlist_with_sep sep pr l = prlist_sep_lastsep false sep sep pr l
+(* Print sequence of objects separated by space (unless an element is empty) *)
+let pr_sequence pr l = prlist_sep_lastsep true spc spc pr l
+(* [pr_enum pr [a ; b ; ... ; c]] outputs
+ [pr a ++ str "," ++ pr b ++ str "," ++ ... ++ str "and" ++ pr c] *)
+let pr_enum pr l = prlist_sep_lastsep true pr_comma (fun () -> str " and" ++ spc ()) pr l
+
+let pr_vertical_list pr = function
+ | [] -> str "none" ++ fnl ()
+ | l -> fnl () ++ str " " ++ hov 0 (prlist_with_sep fnl pr l) ++ fnl ()
+
+(* [prvecti_with_sep sep pr [|a0 ; ... ; an|]] outputs
+ [pr 0 a0 ++ sep() ++ ... ++ sep() ++ pr n an] *)
+
+let prvecti_with_sep sep elem v =
+ let rec pr i =
+ if i = 0 then
+ elem 0 v.(0)
+ else
+ let r = pr (i-1) and s = sep () and e = elem i v.(i) in
+ r ++ s ++ e
+ in
+ let n = Array.length v in
+ if n = 0 then mt () else pr (n - 1)
+
+(* [prvecti pr [|a0 ; ... ; an|]] outputs [pr 0 a0 ++ ... ++ pr n an] *)
+
+let prvecti elem v = prvecti_with_sep mt elem v
+
+(* [prvect_with_sep sep pr [|a ; ... ; c|]] outputs
+ [pr a ++ sep() ++ ... ++ sep() ++ pr c] *)
+
+let prvect_with_sep sep elem v = prvecti_with_sep sep (fun _ -> elem) v
+
+(* [prvect pr [|a ; ... ; c|]] outputs [pr a ++ ... ++ pr c] *)
+
+let prvect elem v = prvect_with_sep mt elem v
+
+let pr_located pr (loc,x) =
+ if Flags.do_beautify() && loc<>dummy_loc then
+ let (b,e) = unloc loc in
+ comment b ++ pr x ++ comment e
+ else pr x
+
+let surround p = hov 1 (str"(" ++ p ++ str")")
diff --git a/lib/pp.mli b/lib/pp.mli
index 7070e3f5f..2fd62d55a 100644
--- a/lib/pp.mli
+++ b/lib/pp.mli
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp_control
+open Compat
(** Modify pretty printing functions behavior for emacs ouput (special
chars inserted at some places). This function should called once in
@@ -114,3 +115,45 @@ val msgerrnl : std_ppcmds -> unit
val msg_warning : std_ppcmds -> unit
val string_of_ppcmds : std_ppcmds -> string
+
+(** {6 Location management. } *)
+
+type loc = Loc.t
+val unloc : loc -> int * int
+val make_loc : int * int -> loc
+val dummy_loc : loc
+val join_loc : loc -> loc -> loc
+
+type 'a located = loc * 'a
+val located_fold_left : ('a -> 'b -> 'a) -> 'a -> 'b located -> 'a
+val located_iter2 : ('a -> 'b -> unit) -> 'a located -> 'b located -> unit
+val down_located : ('a -> 'b) -> 'a located -> 'b
+
+(** {6 Util copy/paste. } *)
+
+val pr_comma : unit -> std_ppcmds
+val pr_semicolon : unit -> std_ppcmds
+val pr_bar : unit -> std_ppcmds
+val pr_arg : ('a -> std_ppcmds) -> 'a -> std_ppcmds
+val pr_opt : ('a -> std_ppcmds) -> 'a option -> std_ppcmds
+val pr_opt_no_spc : ('a -> std_ppcmds) -> 'a option -> std_ppcmds
+val pr_nth : int -> std_ppcmds
+
+val prlist : ('a -> std_ppcmds) -> 'a list -> std_ppcmds
+
+(** unlike all other functions below, [prlist] works lazily.
+ if a strict behavior is needed, use [prlist_strict] instead. *)
+val prlist_strict : ('a -> std_ppcmds) -> 'a list -> std_ppcmds
+val prlist_with_sep :
+ (unit -> std_ppcmds) -> ('b -> std_ppcmds) -> 'b list -> std_ppcmds
+val prvect : ('a -> std_ppcmds) -> 'a array -> std_ppcmds
+val prvecti : (int -> 'a -> std_ppcmds) -> 'a array -> std_ppcmds
+val prvect_with_sep :
+ (unit -> std_ppcmds) -> ('a -> std_ppcmds) -> 'a array -> std_ppcmds
+val prvecti_with_sep :
+ (unit -> std_ppcmds) -> (int -> 'a -> std_ppcmds) -> 'a array -> std_ppcmds
+val pr_vertical_list : ('b -> std_ppcmds) -> 'b list -> std_ppcmds
+val pr_enum : ('a -> std_ppcmds) -> 'a list -> std_ppcmds
+val pr_located : ('a -> std_ppcmds) -> 'a located -> std_ppcmds
+val pr_sequence : ('a -> std_ppcmds) -> 'a list -> std_ppcmds
+val surround : std_ppcmds -> std_ppcmds
diff --git a/lib/rtree.ml b/lib/rtree.ml
index 22d3d72b4..4fccd282f 100644
--- a/lib/rtree.ml
+++ b/lib/rtree.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
@@ -173,11 +174,11 @@ let rec pp_tree prl t =
| Node(lab,[||]) -> hov 2 (str"("++prl lab++str")")
| Node(lab,v) ->
hov 2 (str"("++prl lab++str","++brk(1,0)++
- Util.prvect_with_sep Util.pr_comma (pp_tree prl) v++str")")
+ prvect_with_sep pr_comma (pp_tree prl) v++str")")
| Rec(i,v) ->
if Array.length v = 0 then str"Rec{}"
else if Array.length v = 1 then
hov 2 (str"Rec{"++pp_tree prl v.(0)++str"}")
else
hov 2 (str"Rec{"++int i++str","++brk(1,0)++
- Util.prvect_with_sep Util.pr_comma (pp_tree prl) v++str"}")
+ prvect_with_sep pr_comma (pp_tree prl) v++str"}")
diff --git a/lib/system.ml b/lib/system.ml
index 7d54e2c3a..7e0347530 100644
--- a/lib/system.ml
+++ b/lib/system.ml
@@ -9,6 +9,7 @@
(* $Id$ *)
open Pp
+open Errors
open Util
open Unix
@@ -140,7 +141,7 @@ let exclude_search_in_dirname f = skipped_dirnames := f :: !skipped_dirnames
let ok_dirname f =
f <> "" && f.[0] <> '.' && not (List.mem f !skipped_dirnames) &&
- try ignore (check_ident f); true with _ -> false
+ match ident_refutation f with |None -> true |_ -> false
let all_subdirs ~unix_path:root =
let l = ref [] in
diff --git a/lib/util.ml b/lib/util.ml
index 287dd3719..879884283 100644
--- a/lib/util.ml
+++ b/lib/util.ml
@@ -6,47 +6,6 @@
(* * GNU Lesser General Public License Version 2.1 *)
(***********************************************************************)
-open Pp
-open Compat
-
-(* Errors *)
-
-exception Anomaly of string * std_ppcmds (* System errors *)
-let anomaly string = raise (Anomaly(string, str string))
-let anomalylabstrm string pps = raise (Anomaly(string,pps))
-
-exception UserError of string * std_ppcmds (* User errors *)
-let error string = raise (UserError("_", str string))
-let errorlabstrm l pps = raise (UserError(l,pps))
-
-exception AlreadyDeclared of std_ppcmds (* for already declared Schemes *)
-let alreadydeclared pps = raise (AlreadyDeclared(pps))
-
-let todo s = prerr_string ("TODO: "^s^"\n")
-
-exception Timeout
-
-type loc = Loc.t
-let dummy_loc = Loc.ghost
-let join_loc = Loc.merge
-let make_loc = make_loc
-let unloc = unloc
-
-(* raising located exceptions *)
-type 'a located = loc * 'a
-let anomaly_loc (loc,s,strm) = Loc.raise loc (Anomaly (s,strm))
-let user_err_loc (loc,s,strm) = Loc.raise loc (UserError (s,strm))
-let invalid_arg_loc (loc,s) = Loc.raise loc (Invalid_argument s)
-
-let located_fold_left f x (_,a) = f x a
-let located_iter2 f (_,a) (_,b) = f a b
-let down_located f (_,a) = f a
-
-(* Like Exc_located, but specifies the outermost file read, the filename
- associated to the location of the error, and the error itself. *)
-
-exception Error_in_file of string * (bool * string * loc) * exn
-
(* Mapping under pairs *)
let on_fst f (a,b) = (f a,b)
@@ -319,40 +278,39 @@ let next_utf8 s i =
(* Check the well-formedness of an identifier *)
-let check_initial handle j n s =
+let initial_refutation j n s =
match classify_unicode n with
- | UnicodeLetter -> ()
+ | UnicodeLetter -> None
| _ ->
let c = String.sub s 0 j in
- handle ("Invalid character '"^c^"' at beginning of identifier \""^s^"\".")
+ Some ("Invalid character '"^c^"' at beginning of identifier \""^s^"\".")
-let check_trailing handle i j n s =
+let trailing_refutation i j n s =
match classify_unicode n with
- | UnicodeLetter | UnicodeIdentPart -> ()
+ | UnicodeLetter | UnicodeIdentPart -> None
| _ ->
let c = String.sub s i j in
- handle ("Invalid character '"^c^"' in identifier \""^s^"\".")
+ Some ("Invalid character '"^c^"' in identifier \""^s^"\".")
-let check_ident_gen handle s =
- let i = ref 0 in
- if s <> ".." then try
+let ident_refutation s =
+ if s = ".." then None else try
let j, n = next_utf8 s 0 in
- check_initial handle j n s;
- i := !i + j;
- try
- while true do
- let j, n = next_utf8 s !i in
- check_trailing handle !i j n s;
- i := !i + j
- done
- with End_of_input -> ()
+ match initial_refutation j n s with
+ |None ->
+ begin try
+ let rec aux i =
+ let j, n = next_utf8 s i in
+ match trailing_refutation i j n s with
+ |None -> aux (i + j)
+ |x -> x
+ in aux j
+ with End_of_input -> None
+ end
+ |x -> x
with
- | End_of_input -> error "The empty string is not an identifier."
- | UnsupportedUtf8 -> error (s^": unsupported character in utf8 sequence.")
- | Invalid_argument _ -> error (s^": invalid utf8 sequence.")
-
-let check_ident_soft = check_ident_gen warning
-let check_ident = check_ident_gen error
+ | End_of_input -> Some "The empty string is not an identifier."
+ | UnsupportedUtf8 -> Some (s^": unsupported character in utf8 sequence.")
+ | Invalid_argument _ -> Some (s^": invalid utf8 sequence.")
let lowercase_unicode =
let tree = Segmenttree.make Unicodetable.to_lower in
@@ -1288,102 +1246,6 @@ let map_succeed f =
in
map_f
-(* Pretty-printing *)
-
-let pr_spc = spc
-let pr_fnl = fnl
-let pr_int = int
-let pr_str = str
-let pr_comma () = str "," ++ spc ()
-let pr_semicolon () = str ";" ++ spc ()
-let pr_bar () = str "|" ++ spc ()
-let pr_arg pr x = spc () ++ pr x
-let pr_opt pr = function None -> mt () | Some x -> pr_arg pr x
-let pr_opt_no_spc pr = function None -> mt () | Some x -> pr x
-
-let nth n = str (ordinal n)
-
-(* [prlist pr [a ; ... ; c]] outputs [pr a ++ ... ++ pr c] *)
-
-let rec prlist elem l = match l with
- | [] -> mt ()
- | h::t -> Stream.lapp (fun () -> elem h) (prlist elem t)
-
-(* unlike all other functions below, [prlist] works lazily.
- if a strict behavior is needed, use [prlist_strict] instead.
- evaluation is done from left to right. *)
-
-let rec prlist_strict elem l = match l with
- | [] -> mt ()
- | h::t ->
- let e = elem h in let r = prlist_strict elem t in e++r
-
-(* [prlist_with_sep sep pr [a ; ... ; c]] outputs
- [pr a ++ sep() ++ ... ++ sep() ++ pr c] *)
-
-let rec prlist_with_sep sep elem l = match l with
- | [] -> mt ()
- | [h] -> elem h
- | h::t ->
- let e = elem h and s = sep() and r = prlist_with_sep sep elem t in
- e ++ s ++ r
-
-(* Print sequence of objects separated by space (unless an element is empty) *)
-
-let rec pr_sequence elem = function
- | [] -> mt ()
- | [h] -> elem h
- | h::t ->
- let e = elem h and r = pr_sequence elem t in
- if e = mt () then r else e ++ spc () ++ r
-
-(* [pr_enum pr [a ; b ; ... ; c]] outputs
- [pr a ++ str "," ++ pr b ++ str "," ++ ... ++ str "and" ++ pr c] *)
-
-let pr_enum pr l =
- let c,l' = list_sep_last l in
- prlist_with_sep pr_comma pr l' ++
- (if l'<>[] then str " and" ++ spc () else mt()) ++ pr c
-
-let pr_vertical_list pr = function
- | [] -> str "none" ++ fnl ()
- | l -> fnl () ++ str " " ++ hov 0 (prlist_with_sep pr_fnl pr l) ++ fnl ()
-
-(* [prvecti_with_sep sep pr [|a0 ; ... ; an|]] outputs
- [pr 0 a0 ++ sep() ++ ... ++ sep() ++ pr n an] *)
-
-let prvecti_with_sep sep elem v =
- let rec pr i =
- if i = 0 then
- elem 0 v.(0)
- else
- let r = pr (i-1) and s = sep () and e = elem i v.(i) in
- r ++ s ++ e
- in
- let n = Array.length v in
- if n = 0 then mt () else pr (n - 1)
-
-(* [prvecti pr [|a0 ; ... ; an|]] outputs [pr 0 a0 ++ ... ++ pr n an] *)
-
-let prvecti elem v = prvecti_with_sep mt elem v
-
-(* [prvect_with_sep sep pr [|a ; ... ; c|]] outputs
- [pr a ++ sep() ++ ... ++ sep() ++ pr c] *)
-
-let prvect_with_sep sep elem v = prvecti_with_sep sep (fun _ -> elem) v
-
-(* [prvect pr [|a ; ... ; c|]] outputs [pr a ++ ... ++ pr c] *)
-
-let prvect elem v = prvect_with_sep mt elem v
-
-let pr_located pr (loc,x) =
- if Flags.do_beautify() && loc<>dummy_loc then
- let (b,e) = unloc loc in
- comment b ++ pr x ++ comment e
- else pr x
-
-let surround p = hov 1 (str"(" ++ p ++ str")")
-
(*s Memoization *)
let memo1_eq eq f =
diff --git a/lib/util.mli b/lib/util.mli
index 1fec22954..caf1723b3 100644
--- a/lib/util.mli
+++ b/lib/util.mli
@@ -6,57 +6,9 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Pp
-open Compat
-
(** This module contains numerous utility functions on strings, lists,
arrays, etc. *)
-(** {6 ... } *)
-(** Errors. [Anomaly] is used for system errors and [UserError] for the
- user's ones. *)
-
-exception Anomaly of string * std_ppcmds
-val anomaly : string -> 'a
-val anomalylabstrm : string -> std_ppcmds -> 'a
-
-exception UserError of string * std_ppcmds
-val error : string -> 'a
-val errorlabstrm : string -> std_ppcmds -> 'a
-
-exception AlreadyDeclared of std_ppcmds
-val alreadydeclared : std_ppcmds -> 'a
-
-(** [todo] is for running of an incomplete code its implementation is
- "do nothing" (or print a message), but this function should not be
- used in a released code *)
-
-val todo : string -> unit
-
-exception Timeout
-
-type loc = Loc.t
-
-type 'a located = loc * 'a
-
-val unloc : loc -> int * int
-val make_loc : int * int -> loc
-val dummy_loc : loc
-val join_loc : loc -> loc -> loc
-
-val anomaly_loc : loc * string * std_ppcmds -> 'a
-val user_err_loc : loc * string * std_ppcmds -> 'a
-val invalid_arg_loc : loc * string -> 'a
-val located_fold_left : ('a -> 'b -> 'a) -> 'a -> 'b located -> 'a
-val located_iter2 : ('a -> 'b -> unit) -> 'a located -> 'b located -> unit
-val down_located : ('a -> 'b) -> 'a located -> 'b
-
-(** Like [Exc_located], but specifies the outermost file read, the
- input buffer associated to the location of the error (or the module name
- if boolean is true), and the error itself. *)
-
-exception Error_in_file of string * (bool * string * loc) * exn
-
(** Mapping under pairs *)
val on_fst : ('a -> 'b) -> 'a * 'c -> 'b * 'c
@@ -86,6 +38,7 @@ val is_letter : char -> bool
val is_digit : char -> bool
val is_ident_tail : char -> bool
val is_blank : char -> bool
+val next_utf8 : string -> int -> int * int
(** {6 Strings. } *)
@@ -108,9 +61,8 @@ type utf8_status = UnicodeLetter | UnicodeIdentPart | UnicodeSymbol
exception UnsupportedUtf8
+val ident_refutation : string -> string option
val classify_unicode : int -> utf8_status
-val check_ident : string -> unit
-val check_ident_soft : string -> unit
val lowercase_first_char_utf8 : string -> string
val ascii_of_ident : string -> string
@@ -336,39 +288,6 @@ val interval : int -> int -> int list
val map_succeed : ('a -> 'b) -> 'a list -> 'b list
-(** {6 Pretty-printing. } *)
-
-val pr_spc : unit -> std_ppcmds
-val pr_fnl : unit -> std_ppcmds
-val pr_int : int -> std_ppcmds
-val pr_str : string -> std_ppcmds
-val pr_comma : unit -> std_ppcmds
-val pr_semicolon : unit -> std_ppcmds
-val pr_bar : unit -> std_ppcmds
-val pr_arg : ('a -> std_ppcmds) -> 'a -> std_ppcmds
-val pr_opt : ('a -> std_ppcmds) -> 'a option -> std_ppcmds
-val pr_opt_no_spc : ('a -> std_ppcmds) -> 'a option -> std_ppcmds
-val nth : int -> std_ppcmds
-
-val prlist : ('a -> std_ppcmds) -> 'a list -> std_ppcmds
-
-(** unlike all other functions below, [prlist] works lazily.
- if a strict behavior is needed, use [prlist_strict] instead. *)
-val prlist_strict : ('a -> std_ppcmds) -> 'a list -> std_ppcmds
-val prlist_with_sep :
- (unit -> std_ppcmds) -> ('b -> std_ppcmds) -> 'b list -> std_ppcmds
-val prvect : ('a -> std_ppcmds) -> 'a array -> std_ppcmds
-val prvecti : (int -> 'a -> std_ppcmds) -> 'a array -> std_ppcmds
-val prvect_with_sep :
- (unit -> std_ppcmds) -> ('a -> std_ppcmds) -> 'a array -> std_ppcmds
-val prvecti_with_sep :
- (unit -> std_ppcmds) -> (int -> 'a -> std_ppcmds) -> 'a array -> std_ppcmds
-val pr_vertical_list : ('b -> std_ppcmds) -> 'b list -> std_ppcmds
-val pr_enum : ('a -> std_ppcmds) -> 'a list -> std_ppcmds
-val pr_located : ('a -> std_ppcmds) -> 'a located -> std_ppcmds
-val pr_sequence : ('a -> std_ppcmds) -> 'a list -> std_ppcmds
-val surround : std_ppcmds -> std_ppcmds
-
(** {6 Memoization. } *)
(** General comments on memoization:
diff --git a/lib/xml_lexer.mli b/lib/xml_lexer.mli
index a1ca05765..ebb867190 100644
--- a/lib/xml_lexer.mli
+++ b/lib/xml_lexer.mli
@@ -41,4 +41,4 @@ val init : Lexing.lexbuf -> unit
val close : Lexing.lexbuf -> unit
val token : Lexing.lexbuf -> token
val pos : Lexing.lexbuf -> pos
-val restore : pos -> unit \ No newline at end of file
+val restore : pos -> unit
diff --git a/library/assumptions.ml b/library/assumptions.ml
index adc7f8edc..e047b62a6 100644
--- a/library/assumptions.ml
+++ b/library/assumptions.ml
@@ -14,6 +14,7 @@
(* Initial author: Arnaud Spiwack
Module-traversing code: Pierre Letouzey *)
+open Errors
open Util
open Names
open Sign
diff --git a/library/decl_kinds.ml b/library/decl_kinds.ml
index ba40f98c0..e8734cbaa 100644
--- a/library/decl_kinds.ml
+++ b/library/decl_kinds.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Libnames
diff --git a/library/decl_kinds.mli b/library/decl_kinds.mli
index 88ef763c9..5b81d54ee 100644
--- a/library/decl_kinds.mli
+++ b/library/decl_kinds.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Libnames
diff --git a/library/declare.ml b/library/declare.ml
index 288580850..fd3139cf6 100644
--- a/library/declare.ml
+++ b/library/declare.ml
@@ -9,6 +9,7 @@
(** This module is about the low-level declaration of logical objects *)
open Pp
+open Errors
open Util
open Names
open Libnames
@@ -277,7 +278,7 @@ let declare_mind isrecord mie =
(* Declaration messages *)
-let pr_rank i = str (ordinal (i+1))
+let pr_rank i = pr_nth (i+1)
let fixpoint_message indexes l =
Flags.if_verbose msgnl (match l with
diff --git a/library/declaremods.ml b/library/declaremods.ml
index 90d4245a4..122404e22 100644
--- a/library/declaremods.ml
+++ b/library/declaremods.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Declarations
diff --git a/library/declaremods.mli b/library/declaremods.mli
index 9d44ba973..4027d9fad 100644
--- a/library/declaremods.mli
+++ b/library/declaremods.mli
@@ -6,6 +6,8 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Pp
+open Errors
open Util
open Names
open Entries
diff --git a/library/dischargedhypsmap.ml b/library/dischargedhypsmap.ml
index ec92f679a..cd79e598d 100644
--- a/library/dischargedhypsmap.ml
+++ b/library/dischargedhypsmap.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Libnames
open Names
diff --git a/library/global.ml b/library/global.ml
index ab70bb7c3..926284f91 100644
--- a/library/global.ml
+++ b/library/global.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/library/goptions.ml b/library/goptions.ml
index 5af186899..30804fa5f 100644
--- a/library/goptions.ml
+++ b/library/goptions.ml
@@ -9,6 +9,7 @@
(* This module manages customization parameters at the vernacular level *)
open Pp
+open Errors
open Util
open Libobject
open Names
diff --git a/library/goptions.mli b/library/goptions.mli
index d25c1202f..979bca2d2 100644
--- a/library/goptions.mli
+++ b/library/goptions.mli
@@ -44,6 +44,7 @@
(synchronous = consistent with the resetting commands) *)
open Pp
+open Errors
open Util
open Names
open Libnames
diff --git a/library/heads.ml b/library/heads.ml
index 9f9f1ca25..327b883ee 100644
--- a/library/heads.ml
+++ b/library/heads.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/library/impargs.ml b/library/impargs.ml
index ef7f59216..b7dbd05fd 100644
--- a/library/impargs.ml
+++ b/library/impargs.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Libnames
diff --git a/library/lib.ml b/library/lib.ml
index 7554fd0bb..b98ad4110 100644
--- a/library/lib.ml
+++ b/library/lib.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Libnames
open Nameops
diff --git a/library/lib.mli b/library/lib.mli
index 0d6eb34b8..0a445f076 100644
--- a/library/lib.mli
+++ b/library/lib.mli
@@ -154,9 +154,9 @@ val close_section : unit -> unit
(** {6 Backtracking (undo). } *)
val reset_to : Libnames.object_name -> unit
-val reset_name : Names.identifier Util.located -> unit
-val remove_name : Names.identifier Util.located -> unit
-val reset_mod : Names.identifier Util.located -> unit
+val reset_name : Names.identifier Pp.located -> unit
+val remove_name : Names.identifier Pp.located -> unit
+val reset_mod : Names.identifier Pp.located -> unit
(** [back n] resets to the place corresponding to the {% $ %}n{% $ %}-th call of
[mark_end_of_command] (counting backwards) *)
diff --git a/library/libnames.ml b/library/libnames.ml
index b91d24bd6..24f083887 100644
--- a/library/libnames.ml
+++ b/library/libnames.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/library/libnames.mli b/library/libnames.mli
index 18b6ac49a..d3eed0364 100644
--- a/library/libnames.mli
+++ b/library/libnames.mli
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/library/libobject.ml b/library/libobject.ml
index bc62913d9..b201c63a3 100644
--- a/library/libobject.ml
+++ b/library/libobject.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Libnames
diff --git a/library/library.ml b/library/library.ml
index 376228748..e2adb3fb9 100644
--- a/library/library.ml
+++ b/library/library.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
diff --git a/library/library.mli b/library/library.mli
index ed17ed15b..c569ff485 100644
--- a/library/library.mli
+++ b/library/library.mli
@@ -6,7 +6,8 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Errors
+open Pp
open Names
open Libnames
open Libobject
diff --git a/library/nameops.ml b/library/nameops.ml
index 799b8ebe1..ac163d3ef 100644
--- a/library/nameops.ml
+++ b/library/nameops.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
diff --git a/library/nametab.ml b/library/nametab.ml
index 6dbd927d8..42edb156f 100644
--- a/library/nametab.ml
+++ b/library/nametab.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Compat
open Pp
diff --git a/library/nametab.mli b/library/nametab.mli
index c5b55f2ca..5183abbe8 100644
--- a/library/nametab.mli
+++ b/library/nametab.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Names
diff --git a/library/states.ml b/library/states.ml
index c88858f7e..82146f6b1 100644
--- a/library/states.ml
+++ b/library/states.ml
@@ -22,7 +22,7 @@ let (extern_state,intern_state) =
extern_intern Coq_config.state_magic_number ".coq" in
(fun s ->
if !Flags.load_proofs <> Flags.Force then
- Util.error "Write State only works with option -force-load-proofs";
+ Errors.error "Write State only works with option -force-load-proofs";
raw_extern s (freeze())),
(fun s ->
unfreeze
diff --git a/library/summary.ml b/library/summary.ml
index 697f57e8e..d2168540b 100644
--- a/library/summary.ml
+++ b/library/summary.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
type 'a summary_declaration = {
diff --git a/parsing/argextend.ml4 b/parsing/argextend.ml4
index 3266fcf9a..788e664e2 100644
--- a/parsing/argextend.ml4
+++ b/parsing/argextend.ml4
@@ -14,8 +14,8 @@ open Egrammar
open Pcoq
open Compat
-let loc = Util.dummy_loc
-let default_loc = <:expr< Util.dummy_loc >>
+let loc = Pp.dummy_loc
+let default_loc = <:expr< Pp.dummy_loc >>
let rec make_rawwit loc = function
| BoolArgType -> <:expr< Genarg.rawwit_bool >>
@@ -203,8 +203,8 @@ let declare_vernac_argument loc s pr cl =
(None, [(None, None, $rules$)]);
Pptactic.declare_extra_genarg_pprule
($rawwit$, $pr_rules$)
- ($globwit$, fun _ _ _ _ -> Util.anomaly "vernac argument needs not globwit printer")
- ($wit$, fun _ _ _ _ -> Util.anomaly "vernac argument needs not wit printer") }
+ ($globwit$, fun _ _ _ _ -> Errors.anomaly "vernac argument needs not globwit printer")
+ ($wit$, fun _ _ _ _ -> Errors.anomaly "vernac argument needs not wit printer") }
>> ]
open Vernacexpr
diff --git a/parsing/egrammar.ml b/parsing/egrammar.ml
index 4418a45f7..f30e061ff 100644
--- a/parsing/egrammar.ml
+++ b/parsing/egrammar.ml
@@ -8,6 +8,7 @@
open Pp
open Compat
+open Errors
open Util
open Pcoq
open Extend
diff --git a/parsing/egrammar.mli b/parsing/egrammar.mli
index 1d85c74e5..4a5f3c4c6 100644
--- a/parsing/egrammar.mli
+++ b/parsing/egrammar.mli
@@ -7,7 +7,8 @@
(************************************************************************)
open Compat
-open Util
+open Errors
+open Pp
open Names
open Topconstr
open Pcoq
diff --git a/parsing/extend.ml b/parsing/extend.ml
index fca24ed5a..22d640f50 100644
--- a/parsing/extend.ml
+++ b/parsing/extend.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Compat
+open Errors
open Util
(** Entry keys for constr notations *)
diff --git a/parsing/extrawit.ml b/parsing/extrawit.ml
index ce7346220..cc5b58ee7 100644
--- a/parsing/extrawit.ml
+++ b/parsing/extrawit.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Genarg
diff --git a/parsing/extrawit.mli b/parsing/extrawit.mli
index 2d2eef37d..3043fd04b 100644
--- a/parsing/extrawit.mli
+++ b/parsing/extrawit.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Genarg
open Tacexpr
diff --git a/parsing/g_constr.ml4 b/parsing/g_constr.ml4
index af63e215f..a8adfb19a 100644
--- a/parsing/g_constr.ml4
+++ b/parsing/g_constr.ml4
@@ -44,7 +44,7 @@ let mk_fixb (id,bl,ann,body,(loc,tyc)) =
let mk_cofixb (id,bl,ann,body,(loc,tyc)) =
let _ = Option.map (fun (aloc,_) ->
- Util.user_err_loc
+ Errors.user_err_loc
(aloc,"Constr:mk_cofixb",
Pp.str"Annotation forbidden in cofix expression.")) (fst ann) in
let ty = match tyc with
@@ -332,7 +332,7 @@ GEXTEND Gram
[ p = pattern; lp = LIST1 NEXT ->
(match p with
| CPatAtom (_, Some r) -> CPatCstr (loc, r, lp)
- | _ -> Util.user_err_loc
+ | _ -> Errors.user_err_loc
(cases_pattern_expr_loc p, "compound_pattern",
Pp.str "Constructor expected."))
|"@"; r = Prim.reference; lp = LIST1 NEXT ->
diff --git a/parsing/g_prim.ml4 b/parsing/g_prim.ml4
index 307e1779e..fd6fc7dd8 100644
--- a/parsing/g_prim.ml4
+++ b/parsing/g_prim.ml4
@@ -29,7 +29,7 @@ let my_int_of_string loc s =
if n > 1024 * 2048 then raise Exit;
n
with Failure _ | Exit ->
- Util.user_err_loc (loc,"",Pp.str "Cannot support a so large number.")
+ Errors.user_err_loc (loc,"",Pp.str "Cannot support a so large number.")
GEXTEND Gram
GLOBAL:
@@ -94,7 +94,7 @@ GEXTEND Gram
;
ne_string:
[ [ s = STRING ->
- if s="" then Util.user_err_loc(loc,"",Pp.str"Empty string."); s
+ if s="" then Errors.user_err_loc(loc,"",Pp.str"Empty string."); s
] ]
;
ne_lstring:
diff --git a/parsing/g_tactic.ml4 b/parsing/g_tactic.ml4
index 442aab00e..7d5e976d3 100644
--- a/parsing/g_tactic.ml4
+++ b/parsing/g_tactic.ml4
@@ -8,6 +8,7 @@
open Pp
open Pcoq
+open Errors
open Util
open Tacexpr
open Glob_term
@@ -117,7 +118,7 @@ let mk_fix_tac (loc,id,bl,ann,ty) =
let mk_cofix_tac (loc,id,bl,ann,ty) =
let _ = Option.map (fun (aloc,_) ->
- Util.user_err_loc
+ Errors.user_err_loc
(aloc,"Constr:mk_cofix_tac",
Pp.str"Annotation forbidden in cofix expression.")) ann in
(id,CProdN(loc,bl,ty))
diff --git a/parsing/g_vernac.ml4 b/parsing/g_vernac.ml4
index a2e053ab8..a52903df0 100644
--- a/parsing/g_vernac.ml4
+++ b/parsing/g_vernac.ml4
@@ -9,6 +9,7 @@
open Pp
open Compat
open Tok
+open Errors
open Util
open Names
open Topconstr
diff --git a/parsing/g_xml.ml4 b/parsing/g_xml.ml4
index 1d55a587f..09af49f62 100644
--- a/parsing/g_xml.ml4
+++ b/parsing/g_xml.ml4
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/parsing/grammar.mllib b/parsing/grammar.mllib
index ba393e637..0d7cd3649 100644
--- a/parsing/grammar.mllib
+++ b/parsing/grammar.mllib
@@ -2,13 +2,13 @@ Coq_config
Profile
Pp_control
-Pp
Compat
Flags
+Pp
Segmenttree
Unicodetable
-Util
Errors
+Util
Bigint
Dyn
Hashcons
diff --git a/parsing/lexer.mli b/parsing/lexer.mli
index 1899f7f4d..eda9cea49 100644
--- a/parsing/lexer.mli
+++ b/parsing/lexer.mli
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
val add_keyword : string -> unit
diff --git a/parsing/pcoq.ml4 b/parsing/pcoq.ml4
index 075440f1c..ee241384b 100644
--- a/parsing/pcoq.ml4
+++ b/parsing/pcoq.ml4
@@ -9,6 +9,7 @@
open Pp
open Compat
open Tok
+open Errors
open Util
open Names
open Extend
diff --git a/parsing/pcoq.mli b/parsing/pcoq.mli
index bba0e5602..ebcc53264 100644
--- a/parsing/pcoq.mli
+++ b/parsing/pcoq.mli
@@ -6,7 +6,8 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Pp
+open Errors
open Names
open Glob_term
open Extend
diff --git a/parsing/ppconstr.ml b/parsing/ppconstr.ml
index 1f37e36df..20479fe14 100644
--- a/parsing/ppconstr.ml
+++ b/parsing/ppconstr.ml
@@ -7,6 +7,7 @@
(************************************************************************)
(*i*)
+open Errors
open Util
open Pp
open Nametab
diff --git a/parsing/ppconstr.mli b/parsing/ppconstr.mli
index afcdad3e4..c61d4c206 100644
--- a/parsing/ppconstr.mli
+++ b/parsing/ppconstr.mli
@@ -14,6 +14,7 @@ open Pcoq
open Glob_term
open Topconstr
open Names
+open Errors
open Util
open Genarg
diff --git a/parsing/pptactic.ml b/parsing/pptactic.ml
index 3305acb77..2f80afdbe 100644
--- a/parsing/pptactic.ml
+++ b/parsing/pptactic.ml
@@ -9,6 +9,7 @@
open Pp
open Names
open Namegen
+open Errors
open Util
open Tacexpr
open Glob_term
@@ -133,7 +134,7 @@ let rec pr_raw_generic prc prlc prtac prpat prref (x:Genarg.rlevel Genarg.generi
match Genarg.genarg_tag x with
| BoolArgType -> str (if out_gen rawwit_bool x then "true" else "false")
| IntArgType -> int (out_gen rawwit_int x)
- | IntOrVarArgType -> pr_or_var pr_int (out_gen rawwit_int_or_var x)
+ | IntOrVarArgType -> pr_or_var int (out_gen rawwit_int_or_var x)
| StringArgType -> str "\"" ++ str (out_gen rawwit_string x) ++ str "\""
| PreIdentArgType -> str (out_gen rawwit_pre_ident x)
| IntroPatternArgType -> pr_intro_pattern (out_gen rawwit_intro_pattern x)
@@ -176,7 +177,7 @@ let rec pr_glob_generic prc prlc prtac prpat x =
match Genarg.genarg_tag x with
| BoolArgType -> str (if out_gen globwit_bool x then "true" else "false")
| IntArgType -> int (out_gen globwit_int x)
- | IntOrVarArgType -> pr_or_var pr_int (out_gen globwit_int_or_var x)
+ | IntOrVarArgType -> pr_or_var int (out_gen globwit_int_or_var x)
| StringArgType -> str "\"" ++ str (out_gen globwit_string x) ++ str "\""
| PreIdentArgType -> str (out_gen globwit_pre_ident x)
| IntroPatternArgType -> pr_intro_pattern (out_gen globwit_intro_pattern x)
@@ -222,7 +223,7 @@ let rec pr_generic prc prlc prtac prpat x =
match Genarg.genarg_tag x with
| BoolArgType -> str (if out_gen wit_bool x then "true" else "false")
| IntArgType -> int (out_gen wit_int x)
- | IntOrVarArgType -> pr_or_var pr_int (out_gen wit_int_or_var x)
+ | IntOrVarArgType -> pr_or_var int (out_gen wit_int_or_var x)
| StringArgType -> str "\"" ++ str (out_gen wit_string x) ++ str "\""
| PreIdentArgType -> str (out_gen wit_pre_ident x)
| IntroPatternArgType -> pr_intro_pattern (out_gen wit_intro_pattern x)
@@ -423,8 +424,8 @@ let pr_orient b = if b then mt () else str " <-"
let pr_multi = function
| Precisely 1 -> mt ()
- | Precisely n -> pr_int n ++ str "!"
- | UpTo n -> pr_int n ++ str "?"
+ | Precisely n -> int n ++ str "!"
+ | UpTo n -> int n ++ str "?"
| RepeatStar -> str "?"
| RepeatPlus -> str "!"
diff --git a/parsing/ppvernac.ml b/parsing/ppvernac.ml
index 5a8f2db79..5b8985e9a 100644
--- a/parsing/ppvernac.ml
+++ b/parsing/ppvernac.ml
@@ -11,6 +11,7 @@ open Names
open Nameops
open Nametab
open Compat
+open Errors
open Util
open Extend
open Vernacexpr
@@ -928,7 +929,7 @@ let rec pr_vernac = function
| VernacProof (None, None) -> str "Proof"
| VernacProof (None, Some l) -> str "Proof using" ++spc()++ prlist pr_lident l
| VernacProof (Some te, None) -> str "Proof with" ++ spc() ++ pr_raw_tactic te
- | VernacProof (Some te, Some l) ->
+ | VernacProof (Some te, Some l) ->
str "Proof using" ++spc()++ prlist pr_lident l ++ spc() ++
str "with" ++ spc() ++pr_raw_tactic te
| VernacProofMode s -> str ("Proof Mode "^s)
@@ -938,7 +939,7 @@ let rec pr_vernac = function
| Plus -> str"+"
end ++ spc()
| VernacSubproof None -> str "BeginSubproof"
- | VernacSubproof (Some i) -> str "BeginSubproof " ++ pr_int i
+ | VernacSubproof (Some i) -> str "BeginSubproof " ++ int i
| VernacEndSubproof -> str "EndSubproof"
and pr_extend s cl =
diff --git a/parsing/ppvernac.mli b/parsing/ppvernac.mli
index 6d83ca474..91bb19a8c 100644
--- a/parsing/ppvernac.mli
+++ b/parsing/ppvernac.mli
@@ -12,6 +12,7 @@ open Vernacexpr
open Names
open Nameops
open Nametab
+open Errors
open Util
open Ppconstr
open Pptactic
diff --git a/parsing/prettyp.ml b/parsing/prettyp.ml
index e30979bf9..fad4e879e 100644
--- a/parsing/prettyp.ml
+++ b/parsing/prettyp.ml
@@ -11,6 +11,7 @@
*)
open Pp
+open Errors
open Util
open Names
open Nameops
@@ -152,7 +153,7 @@ let print_argument_scopes prefix = function
| l when not (List.for_all ((=) None) l) ->
[add_colon prefix ++ hov 2 (str"Argument scopes are" ++ spc() ++
str "[" ++
- prlist_with_sep spc (function Some sc -> str sc | None -> str "_") l ++
+ pr_sequence (function Some sc -> str sc | None -> str "_") l ++
str "]")]
| _ -> []
@@ -168,12 +169,7 @@ let print_simpl_behaviour ref =
let pp_nomatch = spc() ++ if nomatch then
str "avoiding to expose match constructs" else str"" in
let pp_recargs = spc() ++ str "when the " ++
- let rec aux = function
- | [] -> mt()
- | [x] -> str (ordinal (x+1))
- | [x;y] -> str (ordinal (x+1)) ++ str " and " ++ str (ordinal (y+1))
- | x::tl -> str (ordinal (x+1)) ++ str ", " ++ aux tl in
- aux recargs ++ str (plural (List.length recargs) " argument") ++
+ pr_enum (fun x -> pr_nth (x+1)) recargs ++ str (plural (List.length recargs) " argument") ++
str (plural (if List.length recargs >= 2 then 1 else 2) " evaluate") ++
str " to a constructor" in
let pp_nargs =
@@ -722,13 +718,13 @@ let print_path ((i,j),p) =
let _ = Classops.install_path_printer print_path
let print_graph () =
- prlist_with_sep pr_fnl print_path (inheritance_graph())
+ prlist_with_sep fnl print_path (inheritance_graph())
let print_classes () =
- prlist_with_sep pr_spc pr_class (classes())
+ pr_sequence pr_class (classes())
let print_coercions () =
- prlist_with_sep pr_spc print_coercion_value (coercions())
+ pr_sequence print_coercion_value (coercions())
let index_of_class cl =
try
@@ -751,7 +747,7 @@ let print_path_between cls clt =
print_path ((i,j),p)
let print_canonical_projections () =
- prlist_with_sep pr_fnl
+ prlist_with_sep fnl
(fun ((r1,r2),o) -> pr_cs_pattern r2 ++
str " <- " ++
pr_global r1 ++ str " ( " ++ pr_lconstr o.o_DEF ++ str " )")
diff --git a/parsing/prettyp.mli b/parsing/prettyp.mli
index 6d9c6ecc6..40ba7f047 100644
--- a/parsing/prettyp.mli
+++ b/parsing/prettyp.mli
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Sign
diff --git a/parsing/printer.ml b/parsing/printer.ml
index 0a3926660..3d2f3e089 100644
--- a/parsing/printer.ml
+++ b/parsing/printer.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
@@ -505,17 +506,17 @@ let pr_prim_rule = function
++ pr_id id ++ str" (type of " ++ pr_id id ++ str ")")
| Thin ids ->
- (str"clear " ++ prlist_with_sep pr_spc pr_id ids)
+ (str"clear " ++ pr_sequence pr_id ids)
| ThinBody ids ->
- (str"clearbody " ++ prlist_with_sep pr_spc pr_id ids)
+ (str"clearbody " ++ pr_sequence pr_id ids)
| Move (withdep,id1,id2) ->
(str (if withdep then "dependent " else "") ++
str"move " ++ pr_id id1 ++ pr_move_location pr_id id2)
| Order ord ->
- (str"order " ++ prlist_with_sep pr_spc pr_id ord)
+ (str"order " ++ pr_sequence pr_id ord)
| Rename (id1,id2) ->
(str "rename " ++ pr_id id1 ++ str " into " ++ pr_id id2)
diff --git a/parsing/printmod.ml b/parsing/printmod.ml
index 9cf76585e..cf047bfa3 100644
--- a/parsing/printmod.ml
+++ b/parsing/printmod.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Declarations
diff --git a/parsing/q_constr.ml4 b/parsing/q_constr.ml4
index 605432692..5bd215190 100644
--- a/parsing/q_constr.ml4
+++ b/parsing/q_constr.ml4
@@ -13,13 +13,13 @@ open Term
open Names
open Pattern
open Q_util
-open Util
+open Pp
open Compat
open Pcaml
open PcamlSig
let loc = dummy_loc
-let dloc = <:expr< Util.dummy_loc >>
+let dloc = <:expr< Pp.dummy_loc >>
let apply_ref f l =
<:expr<
diff --git a/parsing/q_coqast.ml4 b/parsing/q_coqast.ml4
index 552c86903..389118c34 100644
--- a/parsing/q_coqast.ml4
+++ b/parsing/q_coqast.ml4
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Pp
open Names
open Libnames
open Q_util
@@ -24,7 +24,7 @@ let anti loc x =
(* We don't give location for tactic quotation! *)
let loc = dummy_loc
-let dloc = <:expr< Util.dummy_loc >>
+let dloc = <:expr< Pp.dummy_loc >>
let mlexpr_of_ident id =
<:expr< Names.id_of_string $str:Names.string_of_id id$ >>
diff --git a/parsing/q_util.ml4 b/parsing/q_util.ml4
index 91ab29f1d..cfaa2a654 100644
--- a/parsing/q_util.ml4
+++ b/parsing/q_util.ml4
@@ -10,7 +10,7 @@
open Extrawit
open Compat
-open Util
+open Pp
let mlexpr_of_list f l =
List.fold_right
@@ -64,6 +64,6 @@ let rec mlexpr_of_prod_entry_key = function
| Pcoq.Aself -> <:expr< Pcoq.Aself >>
| Pcoq.Anext -> <:expr< Pcoq.Anext >>
| Pcoq.Atactic n -> <:expr< Pcoq.Atactic $mlexpr_of_int n$ >>
- | Pcoq.Agram s -> Util.anomaly "Agram not supported"
+ | Pcoq.Agram s -> Errors.anomaly "Agram not supported"
| Pcoq.Aentry ("",s) -> <:expr< Pcoq.Agram (Pcoq.Gram.Entry.obj $lid:s$) >>
| Pcoq.Aentry (u,s) -> <:expr< Pcoq.Aentry $str:u$ $str:s$ >>
diff --git a/parsing/tacextend.ml4 b/parsing/tacextend.ml4
index 2fe1fdda7..838c771c6 100644
--- a/parsing/tacextend.ml4
+++ b/parsing/tacextend.ml4
@@ -9,6 +9,7 @@
(*i camlp4deps: "tools/compat5b.cmo" i*)
open Util
+open Pp
open Genarg
open Q_util
open Q_coqast
@@ -196,7 +197,7 @@ EXTEND
let t, g = interp_entry_name false None e sep in
GramNonTerminal (loc, t, g, Some (Names.id_of_string s))
| s = STRING ->
- if s = "" then Util.user_err_loc (loc,"",Pp.str "Empty terminal.");
+ if s = "" then Errors.user_err_loc (loc,"",Pp.str "Empty terminal.");
GramTerminal s
] ]
;
diff --git a/parsing/tactic_printer.ml b/parsing/tactic_printer.ml
index 83dae3dce..b2b59f166 100644
--- a/parsing/tactic_printer.ml
+++ b/parsing/tactic_printer.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Sign
open Evd
@@ -66,7 +67,7 @@ let rec print_proof sigma osign pf =
spc () ++ str" BY " ++
hov 0 (pr_rule r) ++ fnl () ++
str" " ++
- hov 0 (prlist_with_sep pr_fnl (print_proof sigma hyps) spfl))
+ hov 0 (prlist_with_sep fnl (print_proof sigma hyps) spfl))
let pr_change sigma gl =
str"change " ++
@@ -110,11 +111,11 @@ let print_script ?(nochange=true) sigma pf =
end
| Some(Daimon,spfl) ->
((if nochange then (mt ()) else (pr_change sigma pf.goal ++ fnl ())) ++
- prlist_with_sep pr_fnl print_prf spfl )
+ prlist_with_sep fnl print_prf spfl )
| Some(rule,spfl) ->
((if nochange then (mt ()) else (pr_change sigma pf.goal ++ fnl ())) ++
pr_rule_dot_fnl rule ++
- prlist_with_sep pr_fnl print_prf spfl ) in
+ prlist_with_sep fnl print_prf spfl ) in
print_prf pf
(* printed by Show Script command *)
@@ -140,7 +141,7 @@ let print_treescript ?(nochange=true) sigma pf =
end
| Some(Daimon,spfl) ->
(if nochange then mt () else pr_change sigma pf.goal ++ fnl ()) ++
- prlist_with_sep pr_fnl (print_script ~nochange sigma) spfl
+ prlist_with_sep fnl (print_script ~nochange sigma) spfl
| Some(r,spfl) ->
let indent = if List.length spfl >= 2 then 1 else 0 in
(if nochange then mt () else pr_change sigma pf.goal ++ fnl ()) ++
@@ -162,7 +163,7 @@ let rec print_info_script sigma osign pf =
print_info_script sigma
(Environ.named_context_of_val sign) pf1)
| _ -> (str"." ++ fnl () ++
- prlist_with_sep pr_fnl
+ prlist_with_sep fnl
(print_info_script sigma
(Environ.named_context_of_val sign)) spfl))
diff --git a/parsing/vernacextend.ml4 b/parsing/vernacextend.ml4
index 88a750792..7553aef4a 100644
--- a/parsing/vernacextend.ml4
+++ b/parsing/vernacextend.ml4
@@ -8,6 +8,7 @@
(*i camlp4deps: "tools/compat5b.cmo" i*)
+open Pp
open Util
open Genarg
open Q_util
@@ -79,7 +80,7 @@ EXTEND
rule:
[ [ "["; s = STRING; l = LIST0 args; "]"; "->"; "["; e = Pcaml.expr; "]"
->
- if s = "" then Util.user_err_loc (loc,"",Pp.str"Command name is empty.");
+ if s = "" then Errors.user_err_loc (loc,"",Pp.str"Command name is empty.");
(Some s,l,<:expr< fun () -> $e$ >>)
| "[" ; "-" ; l = LIST1 args ; "]" ; "->" ; "[" ; e = Pcaml.expr ; "]" ->
(None,l,<:expr< fun () -> $e$ >>)
diff --git a/plugins/cc/ccalgo.ml b/plugins/cc/ccalgo.ml
index e3d27f719..7434f5e8a 100644
--- a/plugins/cc/ccalgo.ml
+++ b/plugins/cc/ccalgo.ml
@@ -9,6 +9,7 @@
(* This file implements the basic congruence-closure algorithm by *)
(* Downey,Sethi and Tarjan. *)
+open Errors
open Util
open Pp
open Goptions
diff --git a/plugins/cc/ccalgo.mli b/plugins/cc/ccalgo.mli
index 78dbee3fe..d530495f8 100644
--- a/plugins/cc/ccalgo.mli
+++ b/plugins/cc/ccalgo.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Term
open Names
diff --git a/plugins/cc/ccproof.ml b/plugins/cc/ccproof.ml
index bb1d50c99..4c8c80ba4 100644
--- a/plugins/cc/ccproof.ml
+++ b/plugins/cc/ccproof.ml
@@ -9,6 +9,7 @@
(* This file uses the (non-compressed) union-find structure to generate *)
(* proof-trees that will be transformed into proof-terms in cctac.ml4 *)
+open Errors
open Util
open Names
open Term
diff --git a/plugins/cc/cctac.ml b/plugins/cc/cctac.ml
index ec31f8917..0a3697e2a 100644
--- a/plugins/cc/cctac.ml
+++ b/plugins/cc/cctac.ml
@@ -26,6 +26,7 @@ open Ccalgo
open Tacinterp
open Ccproof
open Pp
+open Errors
open Util
open Format
@@ -410,7 +411,7 @@ let cc_tactic depth additionnal_terms gls=
begin
str "\"congruence with (" ++
prlist_with_sep
- (fun () -> str ")" ++ pr_spc () ++ str "(")
+ (fun () -> str ")" ++ spc () ++ str "(")
(Termops.print_constr_env (pf_env gls))
terms_to_complete ++
str ")\","
diff --git a/plugins/decl_mode/decl_expr.mli b/plugins/decl_mode/decl_expr.mli
index fa6acaeb1..e84864f96 100644
--- a/plugins/decl_mode/decl_expr.mli
+++ b/plugins/decl_mode/decl_expr.mli
@@ -7,7 +7,7 @@
(************************************************************************)
open Names
-open Util
+open Pp
open Tacexpr
type 'it statement =
diff --git a/plugins/decl_mode/decl_interp.ml b/plugins/decl_mode/decl_interp.ml
index b3e076c49..512269e55 100644
--- a/plugins/decl_mode/decl_interp.ml
+++ b/plugins/decl_mode/decl_interp.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Topconstr
diff --git a/plugins/decl_mode/decl_mode.ml b/plugins/decl_mode/decl_mode.ml
index af6aa4bf5..5f9563cb2 100644
--- a/plugins/decl_mode/decl_mode.ml
+++ b/plugins/decl_mode/decl_mode.ml
@@ -9,6 +9,7 @@
open Names
open Term
open Evd
+open Errors
open Util
diff --git a/plugins/decl_mode/decl_proof_instr.ml b/plugins/decl_mode/decl_proof_instr.ml
index c1553b35d..e3a95fb4f 100644
--- a/plugins/decl_mode/decl_proof_instr.ml
+++ b/plugins/decl_mode/decl_proof_instr.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Evd
diff --git a/plugins/decl_mode/g_decl_mode.ml4 b/plugins/decl_mode/g_decl_mode.ml4
index 27def8cc1..88e62e46d 100644
--- a/plugins/decl_mode/g_decl_mode.ml4
+++ b/plugins/decl_mode/g_decl_mode.ml4
@@ -46,15 +46,15 @@ let pr_open_subgoals () =
*)
let pr_proof_instr instr =
- Util.anomaly "Cannot print a proof_instr"
+ Errors.anomaly "Cannot print a proof_instr"
(* arnaud: Il nous faut quelque chose de type extr_genarg_printer si on veut aller
dans cette direction
Ppdecl_proof.pr_proof_instr (Global.env()) instr
*)
let pr_raw_proof_instr instr =
- Util.anomaly "Cannot print a raw proof_instr"
+ Errors.anomaly "Cannot print a raw proof_instr"
let pr_glob_proof_instr instr =
- Util.anomaly "Cannot print a non-interpreted proof_instr"
+ Errors.anomaly "Cannot print a non-interpreted proof_instr"
let interp_proof_instr _ { Evd.it = gl ; sigma = sigma }=
Decl_interp.interp_proof_instr
@@ -65,7 +65,7 @@ let interp_proof_instr _ { Evd.it = gl ; sigma = sigma }=
let vernac_decl_proof () =
let pf = Proof_global.give_me_the_proof () in
if Proof.is_done pf then
- Util.error "Nothing left to prove here."
+ Errors.error "Nothing left to prove here."
else
Proof.transaction pf begin fun () ->
Decl_proof_instr.go_to_proof_mode () ;
diff --git a/plugins/decl_mode/ppdecl_proof.ml b/plugins/decl_mode/ppdecl_proof.ml
index b866efaba..a2e078ee2 100644
--- a/plugins/decl_mode/ppdecl_proof.ml
+++ b/plugins/decl_mode/ppdecl_proof.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Decl_expr
diff --git a/plugins/dp/dp.ml b/plugins/dp/dp.ml
index 837195e44..fd96b6d1c 100644
--- a/plugins/dp/dp.ml
+++ b/plugins/dp/dp.ml
@@ -11,6 +11,7 @@
Zenon)
*)
+open Errors
open Util
open Pp
open Libobject
diff --git a/plugins/dp/dp_zenon.mll b/plugins/dp/dp_zenon.mll
index 949e91e34..1e82034c0 100644
--- a/plugins/dp/dp_zenon.mll
+++ b/plugins/dp/dp_zenon.mll
@@ -3,7 +3,7 @@
open Lexing
open Pp
- open Util
+ open Errors
open Names
open Tacmach
open Dp_why
diff --git a/plugins/extraction/common.ml b/plugins/extraction/common.ml
index 0bd5b8434..1b443f753 100644
--- a/plugins/extraction/common.ml
+++ b/plugins/extraction/common.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/plugins/extraction/extract_env.ml b/plugins/extraction/extract_env.ml
index 73062328b..7c517dd9b 100644
--- a/plugins/extraction/extract_env.ml
+++ b/plugins/extraction/extract_env.ml
@@ -11,6 +11,7 @@ open Declarations
open Names
open Libnames
open Pp
+open Errors
open Util
open Miniml
open Table
diff --git a/plugins/extraction/extraction.ml b/plugins/extraction/extraction.ml
index 219b3913f..d9ee92c05 100644
--- a/plugins/extraction/extraction.ml
+++ b/plugins/extraction/extraction.ml
@@ -7,6 +7,7 @@
(************************************************************************)
(*i*)
+open Errors
open Util
open Names
open Term
diff --git a/plugins/extraction/haskell.ml b/plugins/extraction/haskell.ml
index 96731ed27..fe249cd65 100644
--- a/plugins/extraction/haskell.ml
+++ b/plugins/extraction/haskell.ml
@@ -9,6 +9,7 @@
(*s Production of Haskell syntax. *)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/plugins/extraction/miniml.mli b/plugins/extraction/miniml.mli
index 5a19cc3f5..a5b57a474 100644
--- a/plugins/extraction/miniml.mli
+++ b/plugins/extraction/miniml.mli
@@ -9,6 +9,7 @@
(*s Target language for extraction: a core ML called MiniML. *)
open Pp
+open Errors
open Util
open Names
open Libnames
diff --git a/plugins/extraction/mlutil.ml b/plugins/extraction/mlutil.ml
index c244e046d..f03170948 100644
--- a/plugins/extraction/mlutil.ml
+++ b/plugins/extraction/mlutil.ml
@@ -8,6 +8,7 @@
(*i*)
open Pp
+open Errors
open Util
open Names
open Libnames
diff --git a/plugins/extraction/mlutil.mli b/plugins/extraction/mlutil.mli
index 029e8cf46..630db6f06 100644
--- a/plugins/extraction/mlutil.mli
+++ b/plugins/extraction/mlutil.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/plugins/extraction/modutil.ml b/plugins/extraction/modutil.ml
index 9e8dd8286..123edd4c3 100644
--- a/plugins/extraction/modutil.ml
+++ b/plugins/extraction/modutil.ml
@@ -10,6 +10,7 @@ open Names
open Declarations
open Environ
open Libnames
+open Errors
open Util
open Miniml
open Table
diff --git a/plugins/extraction/ocaml.ml b/plugins/extraction/ocaml.ml
index ed69ec457..d99bca6f4 100644
--- a/plugins/extraction/ocaml.ml
+++ b/plugins/extraction/ocaml.ml
@@ -9,6 +9,7 @@
(*s Production of Ocaml syntax. *)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/plugins/extraction/scheme.ml b/plugins/extraction/scheme.ml
index 215076555..157788ece 100644
--- a/plugins/extraction/scheme.ml
+++ b/plugins/extraction/scheme.ml
@@ -9,6 +9,7 @@
(*s Production of Scheme syntax. *)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/plugins/extraction/table.ml b/plugins/extraction/table.ml
index 238befd25..667182480 100644
--- a/plugins/extraction/table.ml
+++ b/plugins/extraction/table.ml
@@ -15,6 +15,7 @@ open Summary
open Libobject
open Goptions
open Libnames
+open Errors
open Util
open Pp
open Miniml
@@ -337,7 +338,7 @@ let warning_both_mod_and_cst q mp r =
let error_axiom_scheme r i =
err (str "The type scheme axiom " ++ spc () ++
- safe_pr_global r ++ spc () ++ str "needs " ++ pr_int i ++
+ safe_pr_global r ++ spc () ++ str "needs " ++ int i ++
str " type variable(s).")
let check_inside_module () =
diff --git a/plugins/field/field.ml4 b/plugins/field/field.ml4
index 9e4f4d745..15c495ae7 100644
--- a/plugins/field/field.ml4
+++ b/plugins/field/field.ml4
@@ -15,6 +15,7 @@ open Tacinterp
open Tacmach
open Term
open Typing
+open Errors
open Util
open Vernacinterp
open Vernacexpr
diff --git a/plugins/firstorder/formula.ml b/plugins/firstorder/formula.ml
index d67dceeac..566b2b8b0 100644
--- a/plugins/firstorder/formula.ml
+++ b/plugins/firstorder/formula.ml
@@ -12,6 +12,7 @@ open Term
open Termops
open Reductionops
open Tacmach
+open Errors
open Util
open Declarations
open Libnames
diff --git a/plugins/firstorder/g_ground.ml4 b/plugins/firstorder/g_ground.ml4
index 4a38c48dc..f5b16e43f 100644
--- a/plugins/firstorder/g_ground.ml4
+++ b/plugins/firstorder/g_ground.ml4
@@ -17,7 +17,6 @@ open Tacticals
open Tacinterp
open Term
open Names
-open Util
open Libnames
(* declaring search depth as a global option *)
@@ -103,6 +102,7 @@ let normalize_evaluables=
unfold_in_hyp (Lazy.force defined_connectives)
(Tacexpr.InHypType id)) *)
+open Pp
open Genarg
open Ppconstr
open Printer
diff --git a/plugins/firstorder/instances.ml b/plugins/firstorder/instances.ml
index 16831d3ec..8d4b0eee1 100644
--- a/plugins/firstorder/instances.ml
+++ b/plugins/firstorder/instances.ml
@@ -10,6 +10,8 @@ open Formula
open Sequent
open Unify
open Rules
+open Pp
+open Errors
open Util
open Term
open Glob_term
diff --git a/plugins/firstorder/rules.ml b/plugins/firstorder/rules.ml
index 23eeb2f66..b56fe4e50 100644
--- a/plugins/firstorder/rules.ml
+++ b/plugins/firstorder/rules.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/plugins/firstorder/sequent.ml b/plugins/firstorder/sequent.ml
index f75678c60..780e3f3e7 100644
--- a/plugins/firstorder/sequent.ml
+++ b/plugins/firstorder/sequent.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Term
+open Errors
open Util
open Formula
open Unify
@@ -235,7 +236,7 @@ let print_cmap map=
let print_entry c l s=
let xc=Constrextern.extern_constr false (Global.env ()) c in
str "| " ++
- Util.prlist Printer.pr_global l ++
+ prlist Printer.pr_global l ++
str " : " ++
Ppconstr.pr_constr_expr xc ++
cut () ++
diff --git a/plugins/firstorder/sequent.mli b/plugins/firstorder/sequent.mli
index c5c2bb954..5587e9fbb 100644
--- a/plugins/firstorder/sequent.mli
+++ b/plugins/firstorder/sequent.mli
@@ -7,6 +7,7 @@
(************************************************************************)
open Term
+open Errors
open Util
open Formula
open Tacmach
diff --git a/plugins/firstorder/unify.ml b/plugins/firstorder/unify.ml
index 299a0054a..48c402cc0 100644
--- a/plugins/firstorder/unify.ml
+++ b/plugins/firstorder/unify.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Formula
open Tacmach
diff --git a/plugins/fourier/fourierR.ml b/plugins/fourier/fourierR.ml
index 484937858..1a629aac9 100644
--- a/plugins/fourier/fourierR.ml
+++ b/plugins/fourier/fourierR.ml
@@ -503,11 +503,11 @@ let rec fourier gl=
with _ -> ())
hyps;
(* lineq = les inéquations découlant des hypothèses *)
- if !lineq=[] then Util.error "No inequalities";
+ if !lineq=[] then Errors.error "No inequalities";
let res=fourier_lineq (!lineq) in
let tac=ref tclIDTAC in
if res=[]
- then Util.error "fourier failed"
+ then Errors.error "fourier failed"
(* l'algorithme de Fourier a réussi: on va en tirer une preuve Coq *)
else (match res with
[(cres,sres,lc)]->
diff --git a/plugins/funind/functional_principles_proofs.ml b/plugins/funind/functional_principles_proofs.ml
index 865074d6b..13b3dabdf 100644
--- a/plugins/funind/functional_principles_proofs.ml
+++ b/plugins/funind/functional_principles_proofs.ml
@@ -1,4 +1,5 @@
open Printer
+open Errors
open Util
open Term
open Namegen
@@ -1048,7 +1049,7 @@ let do_replace params rec_arg_num rev_args_id f fun_num all_funs g =
{finfos with
equation_lemma = Some (match Nametab.locate (qualid_of_ident equation_lemma_id) with
ConstRef c -> c
- | _ -> Util.anomaly "Not a constant"
+ | _ -> Errors.anomaly "Not a constant"
)
}
| _ -> ()
diff --git a/plugins/funind/functional_principles_types.ml b/plugins/funind/functional_principles_types.ml
index 6df9d574f..0f776ee6e 100644
--- a/plugins/funind/functional_principles_types.ml
+++ b/plugins/funind/functional_principles_types.ml
@@ -1,4 +1,5 @@
open Printer
+open Errors
open Util
open Term
open Namegen
@@ -304,7 +305,7 @@ let defined () =
Lemmas.save_named false
with
| UserError("extract_proof",msg) ->
- Util.errorlabstrm
+ Errors.errorlabstrm
"defined"
((try
str "On goal : " ++ fnl () ++ pr_open_subgoals () ++ fnl ()
@@ -659,9 +660,9 @@ let build_scheme fas =
try
match Nametab.global f with
| Libnames.ConstRef c -> c
- | _ -> Util.error "Functional Scheme can only be used with functions"
+ | _ -> Errors.error "Functional Scheme can only be used with functions"
with Not_found ->
- Util.error ("Cannot find "^ Libnames.string_of_reference f)
+ Errors.error ("Cannot find "^ Libnames.string_of_reference f)
in
(f_as_constant,sort)
)
@@ -692,7 +693,7 @@ let build_case_scheme fa =
let funs = (fun (_,f,_) ->
try Libnames.constr_of_global (Nametab.global f)
with Not_found ->
- Util.error ("Cannot find "^ Libnames.string_of_reference f)) fa in
+ Errors.error ("Cannot find "^ Libnames.string_of_reference f)) fa in
let first_fun = destConst funs in
let funs_mp,funs_dp,_ = Names.repr_con first_fun in
diff --git a/plugins/funind/g_indfun.ml4 b/plugins/funind/g_indfun.ml4
index 123399d56..f330f9ff9 100644
--- a/plugins/funind/g_indfun.ml4
+++ b/plugins/funind/g_indfun.ml4
@@ -25,10 +25,10 @@ let pr_binding prc = function
let pr_bindings prc prlc = function
| Glob_term.ImplicitBindings l ->
brk (1,1) ++ str "with" ++ brk (1,1) ++
- Util.prlist_with_sep spc prc l
+ pr_sequence prc l
| Glob_term.ExplicitBindings l ->
brk (1,1) ++ str "with" ++ brk (1,1) ++
- Util.prlist_with_sep spc (fun b -> str"(" ++ pr_binding prlc b ++ str")") l
+ pr_sequence (fun b -> str"(" ++ pr_binding prlc b ++ str")") l
| Glob_term.NoBindings -> mt ()
let pr_with_bindings prc prlc (c,bl) =
@@ -111,7 +111,7 @@ TACTIC EXTEND snewfunind
END
-let pr_constr_coma_sequence prc _ _ = Util.prlist_with_sep Util.pr_comma prc
+let pr_constr_coma_sequence prc _ _ = prlist_with_sep pr_comma prc
ARGUMENT EXTEND constr_coma_sequence'
TYPED AS constr_list
@@ -180,12 +180,12 @@ let warning_error names e =
| Building_graph e ->
Pp.msg_warning
(str "Cannot define graph(s) for " ++
- h 1 (prlist_with_sep (fun _ -> str","++spc ()) Libnames.pr_reference names) ++
+ h 1 (pr_enum Libnames.pr_reference names) ++
if do_observe () then (spc () ++ Errors.print e) else mt ())
| Defining_principle e ->
Pp.msg_warning
(str "Cannot define principle(s) for "++
- h 1 (prlist_with_sep (fun _ -> str","++spc ()) Libnames.pr_reference names) ++
+ h 1 (pr_enum Libnames.pr_reference names) ++
if do_observe () then Errors.print e else mt ())
| _ -> raise e
@@ -207,7 +207,7 @@ VERNAC COMMAND EXTEND NewFunctionalScheme
;
try Functional_principles_types.build_scheme fas
with Functional_principles_types.No_graph_found ->
- Util.error ("Cannot generate induction principle(s)")
+ Errors.error ("Cannot generate induction principle(s)")
| e ->
let names = List.map (fun (_,na,_) -> na) fas in
warning_error names e
@@ -377,7 +377,7 @@ let finduction (oid:identifier option) (heuristic: fapp_info list -> fapp_info l
let info_list = find_fapp test g in
let ordered_info_list = heuristic info_list in
prlistconstr (List.map (fun x -> applist (x.fname,x.largs)) ordered_info_list);
- if List.length ordered_info_list = 0 then Util.error "function not found in goal\n";
+ if List.length ordered_info_list = 0 then Errors.error "function not found in goal\n";
let taclist: Proof_type.tactic list =
List.map
(fun info ->
@@ -419,7 +419,7 @@ TACTIC EXTEND finduction
["finduction" ident(id) natural_opt(oi)] ->
[
match oi with
- | Some(n) when n<=0 -> Util.error "numerical argument must be > 0"
+ | Some(n) when n<=0 -> Errors.error "numerical argument must be > 0"
| _ ->
let heuristic = chose_heuristic oi in
finduction (Some id) heuristic tclIDTAC
@@ -458,19 +458,19 @@ VERNAC COMMAND EXTEND MergeFunind
"with" "(" ident(id2) ne_ident_list(cl2) ")" "using" ident(id) ] ->
[
let f1 = Constrintern.interp_constr Evd.empty (Global.env())
- (CRef (Libnames.Ident (Util.dummy_loc,id1))) in
+ (CRef (Libnames.Ident (Pp.dummy_loc,id1))) in
let f2 = Constrintern.interp_constr Evd.empty (Global.env())
- (CRef (Libnames.Ident (Util.dummy_loc,id2))) in
+ (CRef (Libnames.Ident (Pp.dummy_loc,id2))) in
let f1type = Typing.type_of (Global.env()) Evd.empty f1 in
let f2type = Typing.type_of (Global.env()) Evd.empty f2 in
let ar1 = List.length (fst (decompose_prod f1type)) in
let ar2 = List.length (fst (decompose_prod f2type)) in
let _ =
if ar1 <> List.length cl1 then
- Util.error ("not the right number of arguments for " ^ string_of_id id1) in
+ Errors.error ("not the right number of arguments for " ^ string_of_id id1) in
let _ =
if ar2 <> List.length cl2 then
- Util.error ("not the right number of arguments for " ^ string_of_id id2) in
+ Errors.error ("not the right number of arguments for " ^ string_of_id id2) in
Merge.merge id1 id2 (Array.of_list cl1) (Array.of_list cl2) id
]
END
diff --git a/plugins/funind/glob_term_to_relation.ml b/plugins/funind/glob_term_to_relation.ml
index c88c66693..6a5888874 100644
--- a/plugins/funind/glob_term_to_relation.ml
+++ b/plugins/funind/glob_term_to_relation.ml
@@ -5,6 +5,7 @@ open Term
open Glob_term
open Libnames
open Indfun_common
+open Errors
open Util
open Glob_termops
@@ -977,8 +978,8 @@ let rec rebuild_cons env nb_args relname args crossed_types depth rt =
((Util.list_chop nparam args'))
in
let rt_typ =
- GApp(Util.dummy_loc,
- GRef (Util.dummy_loc,Libnames.IndRef ind),
+ GApp(Pp.dummy_loc,
+ GRef (Pp.dummy_loc,Libnames.IndRef ind),
(List.map
(fun p -> Detyping.detype false []
(Termops.names_of_rel_context env)
diff --git a/plugins/funind/glob_termops.ml b/plugins/funind/glob_termops.ml
index cdd0eaf71..b458346d4 100644
--- a/plugins/funind/glob_termops.ml
+++ b/plugins/funind/glob_termops.ml
@@ -1,5 +1,6 @@
open Pp
open Glob_term
+open Errors
open Util
open Names
(* Ocaml 3.06 Map.S does not handle is_empty *)
diff --git a/plugins/funind/glob_termops.mli b/plugins/funind/glob_termops.mli
index bfd153579..80a8811f1 100644
--- a/plugins/funind/glob_termops.mli
+++ b/plugins/funind/glob_termops.mli
@@ -84,9 +84,9 @@ val alpha_rt : Names.identifier list -> glob_constr -> glob_constr
(* same as alpha_rt but for case branches *)
val alpha_br : Names.identifier list ->
- Util.loc * Names.identifier list * Glob_term.cases_pattern list *
+ Pp.loc * Names.identifier list * Glob_term.cases_pattern list *
Glob_term.glob_constr ->
- Util.loc * Names.identifier list * Glob_term.cases_pattern list *
+ Pp.loc * Names.identifier list * Glob_term.cases_pattern list *
Glob_term.glob_constr
diff --git a/plugins/funind/indfun.ml b/plugins/funind/indfun.ml
index 97a49d6f0..449dcd20e 100644
--- a/plugins/funind/indfun.ml
+++ b/plugins/funind/indfun.ml
@@ -1,3 +1,4 @@
+open Errors
open Util
open Names
open Term
diff --git a/plugins/funind/indfun.mli b/plugins/funind/indfun.mli
index e65b58086..faa5f2e46 100644
--- a/plugins/funind/indfun.mli
+++ b/plugins/funind/indfun.mli
@@ -1,3 +1,4 @@
+open Errors
open Util
open Names
open Term
@@ -17,7 +18,7 @@ val functional_induction :
bool ->
Term.constr ->
(Term.constr * Term.constr Glob_term.bindings) option ->
- Genarg.intro_pattern_expr Util.located option ->
+ Genarg.intro_pattern_expr Pp.located option ->
Proof_type.goal Tacmach.sigma -> Proof_type.goal list Evd.sigma
diff --git a/plugins/funind/indfun_common.ml b/plugins/funind/indfun_common.ml
index d6fb28ba5..60aa99b12 100644
--- a/plugins/funind/indfun_common.ml
+++ b/plugins/funind/indfun_common.ml
@@ -54,7 +54,7 @@ let locate_with_msg msg f x =
try
f x
with
- | Not_found -> raise (Util.UserError("", msg))
+ | Not_found -> raise (Errors.UserError("", msg))
| e -> raise e
@@ -79,7 +79,7 @@ let chop_rlambda_n =
| Glob_term.GLambda(_,name,k,t,b) -> chop_lambda_n ((name,t,false)::acc) (n-1) b
| Glob_term.GLetIn(_,name,v,b) -> chop_lambda_n ((name,v,true)::acc) (n-1) b
| _ ->
- raise (Util.UserError("chop_rlambda_n",
+ raise (Errors.UserError("chop_rlambda_n",
str "chop_rlambda_n: Not enough Lambdas"))
in
chop_lambda_n []
@@ -91,7 +91,7 @@ let chop_rprod_n =
else
match rt with
| Glob_term.GProd(_,name,k,t,b) -> chop_prod_n ((name,t)::acc) (n-1) b
- | _ -> raise (Util.UserError("chop_rprod_n",str "chop_rprod_n: Not enough products"))
+ | _ -> raise (Errors.UserError("chop_rprod_n",str "chop_rprod_n: Not enough products"))
in
chop_prod_n []
@@ -112,10 +112,10 @@ let list_add_set_eq eq_fun x l =
let const_of_id id =
let _,princ_ref =
- qualid_of_reference (Libnames.Ident (Util.dummy_loc,id))
+ qualid_of_reference (Libnames.Ident (Pp.dummy_loc,id))
in
try Nametab.locate_constant princ_ref
- with Not_found -> Util.error ("cannot find "^ string_of_id id)
+ with Not_found -> Errors.error ("cannot find "^ string_of_id id)
let def_of_const t =
match (Term.kind_of_term t) with
@@ -361,7 +361,7 @@ let pr_info f_info =
let pr_table tb =
let l = Cmap.fold (fun k v acc -> v::acc) tb [] in
- Util.prlist_with_sep fnl pr_info l
+ Pp.prlist_with_sep fnl pr_info l
let in_Function : function_info -> Libobject.obj =
Libobject.declare_object
@@ -397,7 +397,7 @@ let _ =
let find_or_none id =
try Some
- (match Nametab.locate (qualid_of_ident id) with ConstRef c -> c | _ -> Util.anomaly "Not a constant"
+ (match Nametab.locate (qualid_of_ident id) with ConstRef c -> c | _ -> Errors.anomaly "Not a constant"
)
with Not_found -> None
@@ -425,7 +425,7 @@ let add_Function is_general f =
and prop_lemma = find_or_none (Nameops.add_suffix f_id "_ind")
and graph_ind =
match Nametab.locate (qualid_of_ident (mk_rel_id f_id))
- with | IndRef ind -> ind | _ -> Util.anomaly "Not an inductive"
+ with | IndRef ind -> ind | _ -> Errors.anomaly "Not an inductive"
in
let finfos =
{ function_constant = f;
diff --git a/plugins/funind/invfun.ml b/plugins/funind/invfun.ml
index 9835ad605..a9b162819 100644
--- a/plugins/funind/invfun.ml
+++ b/plugins/funind/invfun.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Tacexpr
open Declarations
+open Errors
open Util
open Names
open Term
@@ -29,10 +30,10 @@ let pr_binding prc =
let pr_bindings prc prlc = function
| Glob_term.ImplicitBindings l ->
brk (1,1) ++ str "with" ++ brk (1,1) ++
- Util.prlist_with_sep spc prc l
+ pr_sequence prc l
| Glob_term.ExplicitBindings l ->
brk (1,1) ++ str "with" ++ brk (1,1) ++
- Util.prlist_with_sep spc (fun b -> str"(" ++ pr_binding prlc b ++ str")") l
+ pr_sequence (fun b -> str"(" ++ pr_binding prlc b ++ str")") l
| Glob_term.NoBindings -> mt ()
@@ -1142,7 +1143,7 @@ let derive_correctness make_scheme functional_induction (funs: constant list) (g
mk_correct_id f_id
in
- ignore(try Vernacentries.vernac_reset_name (Util.dummy_loc,first_lemma_id) with _ -> ());
+ ignore(try Vernacentries.vernac_reset_name (Pp.dummy_loc,first_lemma_id) with _ -> ());
raise e
@@ -1239,7 +1240,7 @@ let invfun qhyp f =
let f =
match f with
| ConstRef f -> f
- | _ -> raise (Util.UserError("",str "Not a function"))
+ | _ -> raise (Errors.UserError("",str "Not a function"))
in
try
let finfos = find_Function_infos f in
diff --git a/plugins/funind/merge.ml b/plugins/funind/merge.ml
index 4eedf8dc2..3b3f3057b 100644
--- a/plugins/funind/merge.ml
+++ b/plugins/funind/merge.ml
@@ -11,6 +11,7 @@
open Libnames
open Tactics
open Indfun_common
+open Errors
open Util
open Topconstr
open Vernacexpr
diff --git a/plugins/funind/recdef.ml b/plugins/funind/recdef.ml
index 5e0aac4c2..c37de6e4a 100644
--- a/plugins/funind/recdef.ml
+++ b/plugins/funind/recdef.ml
@@ -17,6 +17,7 @@ open Pp
open Names
open Libnames
open Nameops
+open Errors
open Util
open Closure
open RedFlags
@@ -1273,7 +1274,7 @@ let open_new_goal (build_proof:tactic -> tactic -> unit) using_lemmas ref_ goal_
let sign = initialize_named_context_for_proof () in
let na = next_global_ident_away name [] in
if Termops.occur_existential gls_type then
- Util.error "\"abstract\" cannot handle existentials";
+ Errors.error "\"abstract\" cannot handle existentials";
let hook _ _ =
let opacity =
let na_ref = Libnames.Ident (dummy_loc,na) in
@@ -1553,7 +1554,7 @@ let recursive_definition is_mes function_name rec_impls type_of_f r rec_arg_num
hook
with e ->
begin
- ignore(try Vernacentries.vernac_reset_name (Util.dummy_loc,functional_id) with _ -> ());
+ ignore(try Vernacentries.vernac_reset_name (Pp.dummy_loc,functional_id) with _ -> ());
(* anomaly "Cannot create termination Lemma" *)
raise e
end
diff --git a/plugins/micromega/g_micromega.ml4 b/plugins/micromega/g_micromega.ml4
index 3b6b69879..9deeb6066 100644
--- a/plugins/micromega/g_micromega.ml4
+++ b/plugins/micromega/g_micromega.ml4
@@ -20,7 +20,7 @@ open Quote
open Ring
open Mutils
open Glob_term
-open Util
+open Errors
let out_arg = function
| ArgVar _ -> anomaly "Unevaluated or_var variable"
diff --git a/plugins/nsatz/nsatz.ml4 b/plugins/nsatz/nsatz.ml4
index a317307e0..c6d23afa6 100644
--- a/plugins/nsatz/nsatz.ml4
+++ b/plugins/nsatz/nsatz.ml4
@@ -9,6 +9,7 @@
(*i camlp4deps: "parsing/grammar.cma" i*)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/plugins/nsatz/polynom.ml b/plugins/nsatz/polynom.ml
index 45fcb2d25..b940ab89d 100644
--- a/plugins/nsatz/polynom.ml
+++ b/plugins/nsatz/polynom.ml
@@ -8,6 +8,7 @@
(* Recursive polynomials: R[x1]...[xn]. *)
open Utile
+open Errors
open Util
(* 1. Coefficients: R *)
diff --git a/plugins/omega/coq_omega.ml b/plugins/omega/coq_omega.ml
index d7dfe1491..1057c646f 100644
--- a/plugins/omega/coq_omega.ml
+++ b/plugins/omega/coq_omega.ml
@@ -13,6 +13,7 @@
(* *)
(**************************************************************************)
+open Errors
open Util
open Pp
open Reduction
diff --git a/plugins/omega/g_omega.ml4 b/plugins/omega/g_omega.ml4
index 84cc8464f..4aad8e738 100644
--- a/plugins/omega/g_omega.ml4
+++ b/plugins/omega/g_omega.ml4
@@ -25,7 +25,7 @@ let omega_tactic l =
| "positive" -> Tacinterp.interp <:tactic<zify_positive>>
| "N" -> Tacinterp.interp <:tactic<zify_N>>
| "Z" -> Tacinterp.interp <:tactic<zify_op>>
- | s -> Util.error ("No Omega knowledge base for type "^s))
+ | s -> Errors.error ("No Omega knowledge base for type "^s))
(Util.list_uniquize (List.sort compare l))
in
tclTHEN
diff --git a/plugins/quote/g_quote.ml4 b/plugins/quote/g_quote.ml4
index 1f4ea97fd..4b3385677 100644
--- a/plugins/quote/g_quote.ml4
+++ b/plugins/quote/g_quote.ml4
@@ -8,7 +8,7 @@
(*i camlp4deps: "parsing/grammar.cma" i*)
-open Util
+open Pp
open Tacexpr
open Quote
diff --git a/plugins/quote/quote.ml b/plugins/quote/quote.ml
index fbb754204..fe025e6da 100644
--- a/plugins/quote/quote.ml
+++ b/plugins/quote/quote.ml
@@ -102,6 +102,7 @@
(*i*)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/plugins/ring/ring.ml b/plugins/ring/ring.ml
index 98d6361c0..b3151f26c 100644
--- a/plugins/ring/ring.ml
+++ b/plugins/ring/ring.ml
@@ -9,6 +9,7 @@
(* ML part of the Ring tactic *)
open Pp
+open Errors
open Util
open Flags
open Term
diff --git a/plugins/romega/const_omega.ml b/plugins/romega/const_omega.ml
index e810e15c1..298b24850 100644
--- a/plugins/romega/const_omega.ml
+++ b/plugins/romega/const_omega.ml
@@ -39,7 +39,7 @@ let destructurate t =
| Term.Var id,[] -> Kvar(Names.string_of_id id)
| Term.Prod (Names.Anonymous,typ,body), [] -> Kimp(typ,body)
| Term.Prod (Names.Name _,_,_),[] ->
- Util.error "Omega: Not a quantifier-free goal"
+ Errors.error "Omega: Not a quantifier-free goal"
| _ -> Kufo
exception Destruct
diff --git a/plugins/romega/g_romega.ml4 b/plugins/romega/g_romega.ml4
index 2db86e005..87e42354b 100644
--- a/plugins/romega/g_romega.ml4
+++ b/plugins/romega/g_romega.ml4
@@ -18,7 +18,7 @@ let romega_tactic l =
| "positive" -> Tacinterp.interp <:tactic<zify_positive>>
| "N" -> Tacinterp.interp <:tactic<zify_N>>
| "Z" -> Tacinterp.interp <:tactic<zify_op>>
- | s -> Util.error ("No ROmega knowledge base for type "^s))
+ | s -> Errors.error ("No ROmega knowledge base for type "^s))
(Util.list_uniquize (List.sort compare l))
in
tclTHEN
diff --git a/plugins/romega/refl_omega.ml b/plugins/romega/refl_omega.ml
index 4a6d462ec..550a4af2b 100644
--- a/plugins/romega/refl_omega.ml
+++ b/plugins/romega/refl_omega.ml
@@ -6,6 +6,7 @@
*************************************************************************)
+open Errors
open Util
open Const_omega
module OmegaSolver = Omega.MakeOmegaSolver (Bigint)
@@ -450,7 +451,7 @@ let rec scalar n = function
| Omult(t1,Oint x) ->
do_list [Lazy.force coq_c_mult_assoc_reduced], Omult(t1,Oint (n*x))
| Omult(t1,t2) ->
- Util.error "Omega: Can't solve a goal with non-linear products"
+ Errors.error "Omega: Can't solve a goal with non-linear products"
| (Oatom _ as t) -> do_list [], Omult(t,Oint n)
| Oint i -> do_list [Lazy.force coq_c_reduce],Oint(n*i)
| (Oufo _ as t)-> do_list [], Oufo (Omult(t,Oint n))
@@ -469,7 +470,7 @@ let rec negate = function
| Omult(t1,Oint x) ->
do_list [Lazy.force coq_c_opp_mult_r], Omult(t1,Oint (Bigint.neg x))
| Omult(t1,t2) ->
- Util.error "Omega: Can't solve a goal with non-linear products"
+ Errors.error "Omega: Can't solve a goal with non-linear products"
| (Oatom _ as t) ->
do_list [Lazy.force coq_c_opp_one], Omult(t,Oint(negone))
| Oint i -> do_list [Lazy.force coq_c_reduce] ,Oint(Bigint.neg i)
@@ -541,7 +542,7 @@ let shrink_pair f1 f2 =
Lazy.force coq_c_red4, Omult(Oatom v,Oplus(c1,c2))
| t1,t2 ->
oprint stdout t1; print_newline (); oprint stdout t2; print_newline ();
- flush Pervasives.stdout; Util.error "shrink.1"
+ flush Pervasives.stdout; Errors.error "shrink.1"
end
(* \subsection{Calcul d'une sous formule constante} *)
@@ -555,9 +556,9 @@ let reduce_factor = function
let rec compute = function
Oint n -> n
| Oplus(t1,t2) -> compute t1 + compute t2
- | _ -> Util.error "condense.1" in
+ | _ -> Errors.error "condense.1" in
[Lazy.force coq_c_reduce], Omult(Oatom v,Oint(compute c))
- | t -> Util.error "reduce_factor.1"
+ | t -> Errors.error "reduce_factor.1"
(* \subsection{Réordonnancement} *)
@@ -1291,7 +1292,7 @@ let total_reflexive_omega_tactic gl =
let systems_list = destructurate_hyps full_reified_goal in
if !debug then display_systems systems_list;
resolution env full_reified_goal systems_list gl
- with NO_CONTRADICTION -> Util.error "ROmega can't solve this system"
+ with NO_CONTRADICTION -> Errors.error "ROmega can't solve this system"
(*i let tester = Tacmach.hide_atomic_tactic "TestOmega" test_tactic i*)
diff --git a/plugins/rtauto/proof_search.ml b/plugins/rtauto/proof_search.ml
index d773b1535..2448a2d39 100644
--- a/plugins/rtauto/proof_search.ml
+++ b/plugins/rtauto/proof_search.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Term
+open Errors
open Util
open Goptions
diff --git a/plugins/rtauto/refl_tauto.ml b/plugins/rtauto/refl_tauto.ml
index 4a9a0e47f..60ef81286 100644
--- a/plugins/rtauto/refl_tauto.ml
+++ b/plugins/rtauto/refl_tauto.ml
@@ -8,6 +8,7 @@
module Search = Explore.Make(Proof_search)
+open Errors
open Util
open Term
open Names
diff --git a/plugins/setoid_ring/newring.ml4 b/plugins/setoid_ring/newring.ml4
index 9d61c06de..e834650ac 100644
--- a/plugins/setoid_ring/newring.ml4
+++ b/plugins/setoid_ring/newring.ml4
@@ -9,6 +9,7 @@
(*i camlp4deps: "parsing/grammar.cma" i*)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/plugins/subtac/eterm.ml b/plugins/subtac/eterm.ml
index f4d8b769c..0bde8dca9 100644
--- a/plugins/subtac/eterm.ml
+++ b/plugins/subtac/eterm.ml
@@ -11,6 +11,7 @@ open Names
open Evd
open List
open Pp
+open Errors
open Util
open Subtac_utils
open Proof_type
diff --git a/plugins/subtac/eterm.mli b/plugins/subtac/eterm.mli
index 03d76f29a..4812fe0a6 100644
--- a/plugins/subtac/eterm.mli
+++ b/plugins/subtac/eterm.mli
@@ -11,6 +11,7 @@ open Tacmach
open Term
open Evd
open Names
+open Pp
open Util
open Tacinterp
diff --git a/plugins/subtac/g_subtac.ml4 b/plugins/subtac/g_subtac.ml4
index c37f0db5a..27de89f67 100644
--- a/plugins/subtac/g_subtac.ml4
+++ b/plugins/subtac/g_subtac.ml4
@@ -14,7 +14,8 @@
open Flags
-open Util
+open Errors
+open Pp
open Names
open Nameops
open Vernacentries
diff --git a/plugins/subtac/subtac.ml b/plugins/subtac/subtac.ml
index 710149ae4..cccb12e41 100644
--- a/plugins/subtac/subtac.ml
+++ b/plugins/subtac/subtac.ml
@@ -9,6 +9,7 @@
open Compat
open Global
open Pp
+open Errors
open Util
open Names
open Sign
diff --git a/plugins/subtac/subtac.mli b/plugins/subtac/subtac.mli
index b51150aa0..32d484091 100644
--- a/plugins/subtac/subtac.mli
+++ b/plugins/subtac/subtac.mli
@@ -1,2 +1,2 @@
val require_library : string -> unit
-val subtac : Util.loc * Vernacexpr.vernac_expr -> unit
+val subtac : Pp.loc * Vernacexpr.vernac_expr -> unit
diff --git a/plugins/subtac/subtac_cases.ml b/plugins/subtac/subtac_cases.ml
index 16d4e21ee..d60841e72 100644
--- a/plugins/subtac/subtac_cases.ml
+++ b/plugins/subtac/subtac_cases.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Cases
+open Errors
open Util
open Names
open Nameops
diff --git a/plugins/subtac/subtac_cases.mli b/plugins/subtac/subtac_cases.mli
index 77537d33a..11a811597 100644
--- a/plugins/subtac/subtac_cases.mli
+++ b/plugins/subtac/subtac_cases.mli
@@ -7,6 +7,7 @@
(************************************************************************)
(*i*)
+open Errors
open Util
open Names
open Term
diff --git a/plugins/subtac/subtac_classes.ml b/plugins/subtac/subtac_classes.ml
index cac0988c0..a81243f73 100644
--- a/plugins/subtac/subtac_classes.ml
+++ b/plugins/subtac/subtac_classes.ml
@@ -22,6 +22,7 @@ open Typeclasses
open Typeclasses_errors
open Decl_kinds
open Entries
+open Errors
open Util
module SPretyping = Subtac_pretyping.Pretyping
@@ -71,8 +72,8 @@ let new_instance ?(global=false) ctx (instid, bk, cl) props ?(generalize=true) p
let t =
if b then
let _k = class_info cl in
- CHole (Util.dummy_loc, Some Evd.InternalHole)
- else CHole (Util.dummy_loc, None)
+ CHole (Pp.dummy_loc, Some Evd.InternalHole)
+ else CHole (Pp.dummy_loc, None)
in t, avoid
| None -> failwith ("new instance: under-applied typeclass"))
cl
@@ -149,7 +150,7 @@ let new_instance ?(global=false) ctx (instid, bk, cl) props ?(generalize=true) p
k.cl_projs;
c :: props, rest'
with Not_found ->
- (CHole (Util.dummy_loc, None) :: props), rest
+ (CHole (Pp.dummy_loc, None) :: props), rest
else props, rest)
([], props) k.cl_props
in
diff --git a/plugins/subtac/subtac_classes.mli b/plugins/subtac/subtac_classes.mli
index 5b5c02037..5b8636a12 100644
--- a/plugins/subtac/subtac_classes.mli
+++ b/plugins/subtac/subtac_classes.mli
@@ -16,6 +16,7 @@ open Environ
open Nametab
open Mod_subst
open Topconstr
+open Errors
open Util
open Typeclasses
open Implicit_quantifiers
diff --git a/plugins/subtac/subtac_coercion.ml b/plugins/subtac/subtac_coercion.ml
index eb29bd045..3cbf9fcab 100644
--- a/plugins/subtac/subtac_coercion.ml
+++ b/plugins/subtac/subtac_coercion.ml
@@ -5,6 +5,7 @@
(* // * This file is distributed under the terms of the *)
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/plugins/subtac/subtac_command.ml b/plugins/subtac/subtac_command.ml
index ecae6759f..e5d93ace2 100644
--- a/plugins/subtac/subtac_command.ml
+++ b/plugins/subtac/subtac_command.ml
@@ -9,6 +9,7 @@ open Pp
open Glob_term
open Sign
open Tacred
+open Errors
open Util
open Names
open Nameops
diff --git a/plugins/subtac/subtac_errors.ml b/plugins/subtac/subtac_errors.ml
index 067da150e..f07bbeb43 100644
--- a/plugins/subtac/subtac_errors.ml
+++ b/plugins/subtac/subtac_errors.ml
@@ -1,3 +1,4 @@
+open Errors
open Util
open Pp
open Printer
diff --git a/plugins/subtac/subtac_errors.mli b/plugins/subtac/subtac_errors.mli
index 8d75b9c01..c65203075 100644
--- a/plugins/subtac/subtac_errors.mli
+++ b/plugins/subtac/subtac_errors.mli
@@ -1,13 +1,13 @@
type term_pp = Pp.std_ppcmds
type subtyping_error =
- UncoercibleInferType of Util.loc * term_pp * term_pp
- | UncoercibleInferTerm of Util.loc * term_pp * term_pp * term_pp * term_pp
+ UncoercibleInferType of Pp.loc * term_pp * term_pp
+ | UncoercibleInferTerm of Pp.loc * term_pp * term_pp * term_pp * term_pp
| UncoercibleRewrite of term_pp * term_pp
type typing_error =
- NonFunctionalApp of Util.loc * term_pp * term_pp * term_pp
- | NonConvertible of Util.loc * term_pp * term_pp
- | NonSigma of Util.loc * term_pp
- | IllSorted of Util.loc * term_pp
+ NonFunctionalApp of Pp.loc * term_pp * term_pp * term_pp
+ | NonConvertible of Pp.loc * term_pp * term_pp
+ | NonSigma of Pp.loc * term_pp
+ | IllSorted of Pp.loc * term_pp
exception Subtyping_error of subtyping_error
exception Typing_error of typing_error
exception Debug_msg of string
diff --git a/plugins/subtac/subtac_obligations.ml b/plugins/subtac/subtac_obligations.ml
index 6a5878b3e..527c5e084 100644
--- a/plugins/subtac/subtac_obligations.ml
+++ b/plugins/subtac/subtac_obligations.ml
@@ -11,6 +11,7 @@ open Summary
open Libobject
open Entries
open Decl_kinds
+open Errors
open Util
open Evd
open Declare
@@ -18,7 +19,7 @@ open Proof_type
open Compat
let ppwarn cmd = Pp.warn (str"Program:" ++ cmd)
-let pperror cmd = Util.errorlabstrm "Program" cmd
+let pperror cmd = Errors.errorlabstrm "Program" cmd
let error s = pperror (str s)
let reduce c =
@@ -551,7 +552,7 @@ and solve_obligation_by_tac prg obls i tac =
| Loc.Exc_located(_, Refiner.FailError (_, s))
| Refiner.FailError (_, s) ->
user_err_loc (fst obl.obl_location, "solve_obligation", Lazy.force s)
- | Util.Anomaly _ as e -> raise e
+ | Errors.Anomaly _ as e -> raise e
| e -> false
and solve_prg_obligations prg ?oblset tac =
diff --git a/plugins/subtac/subtac_obligations.mli b/plugins/subtac/subtac_obligations.mli
index c1d665aac..284e975db 100644
--- a/plugins/subtac/subtac_obligations.mli
+++ b/plugins/subtac/subtac_obligations.mli
@@ -1,4 +1,5 @@
open Names
+open Pp
open Util
open Libnames
open Evd
diff --git a/plugins/subtac/subtac_pretyping.ml b/plugins/subtac/subtac_pretyping.ml
index 7c0d12325..c8acf7e0b 100644
--- a/plugins/subtac/subtac_pretyping.ml
+++ b/plugins/subtac/subtac_pretyping.ml
@@ -8,6 +8,7 @@
open Global
open Pp
+open Errors
open Util
open Names
open Sign
diff --git a/plugins/subtac/subtac_pretyping_F.ml b/plugins/subtac/subtac_pretyping_F.ml
index 528a2e683..fbeed381d 100644
--- a/plugins/subtac/subtac_pretyping_F.ml
+++ b/plugins/subtac/subtac_pretyping_F.ml
@@ -8,6 +8,7 @@
open Pp
open Compat
+open Errors
open Util
open Names
open Sign
diff --git a/plugins/subtac/subtac_utils.ml b/plugins/subtac/subtac_utils.ml
index 28bbdd35e..0ed78a23b 100644
--- a/plugins/subtac/subtac_utils.ml
+++ b/plugins/subtac/subtac_utils.ml
@@ -5,6 +5,8 @@ open Libnames
open Coqlib
open Term
open Names
+open Errors
+open Pp
open Util
let ($) f x = f x
@@ -426,7 +428,7 @@ let pr_meta_map evd =
in
prlist pr_meta_binding ml
-let pr_idl idl = prlist_with_sep pr_spc pr_id idl
+let pr_idl idl = pr_sequence pr_id idl
let pr_evar_info evi =
let phyps =
@@ -443,14 +445,14 @@ let pr_evar_info evi =
let pr_evar_map sigma =
h 0
- (prlist_with_sep pr_fnl
+ (prlist_with_sep fnl
(fun (ev,evi) ->
h 0 (str(string_of_existential ev)++str"=="++ pr_evar_info evi))
(to_list sigma))
let pr_constraints pbs =
h 0
- (prlist_with_sep pr_fnl (fun (pbty,t1,t2) ->
+ (prlist_with_sep fnl (fun (pbty,t1,t2) ->
Termops.print_constr t1 ++ spc() ++
str (match pbty with
| Reduction.CONV -> "=="
diff --git a/plugins/subtac/subtac_utils.mli b/plugins/subtac/subtac_utils.mli
index de96cc602..70ad0bcc8 100644
--- a/plugins/subtac/subtac_utils.mli
+++ b/plugins/subtac/subtac_utils.mli
@@ -7,6 +7,7 @@ open Evd
open Decl_kinds
open Topconstr
open Glob_term
+open Errors
open Util
open Evarutil
open Names
diff --git a/plugins/syntax/ascii_syntax.ml b/plugins/syntax/ascii_syntax.ml
index bd2285bb3..cf51af134 100644
--- a/plugins/syntax/ascii_syntax.ml
+++ b/plugins/syntax/ascii_syntax.ml
@@ -7,6 +7,7 @@
(***********************************************************************)
open Pp
+open Errors
open Util
open Names
open Pcoq
diff --git a/plugins/syntax/nat_syntax.ml b/plugins/syntax/nat_syntax.ml
index 446ae5225..5a355b971 100644
--- a/plugins/syntax/nat_syntax.ml
+++ b/plugins/syntax/nat_syntax.ml
@@ -11,6 +11,7 @@
(*i*)
open Pcoq
open Pp
+open Errors
open Util
open Names
open Coqlib
@@ -20,6 +21,7 @@ open Bigint
open Coqlib
open Notation
open Pp
+open Errors
open Util
open Names
(*i*)
diff --git a/plugins/syntax/numbers_syntax.ml b/plugins/syntax/numbers_syntax.ml
index 19a3c899f..cbc8d7fd6 100644
--- a/plugins/syntax/numbers_syntax.ml
+++ b/plugins/syntax/numbers_syntax.ml
@@ -111,7 +111,7 @@ let int31_of_pos_bigint dloc n =
GApp (dloc, ref_construct, List.rev (args 31 n))
let error_negative dloc =
- Util.user_err_loc (dloc, "interp_int31", Pp.str "int31 are only non-negative numbers.")
+ Errors.user_err_loc (dloc, "interp_int31", Pp.str "int31 are only non-negative numbers.")
let interp_int31 dloc n =
if is_pos_or_zero n then
@@ -143,7 +143,7 @@ let uninterp_int31 i =
let _ = Notation.declare_numeral_interpreter int31_scope
(int31_path, int31_module)
interp_int31
- ([GRef (Util.dummy_loc, int31_construct)],
+ ([GRef (Pp.dummy_loc, int31_construct)],
uninterp_int31,
true)
@@ -201,7 +201,7 @@ let bigN_of_pos_bigint dloc n =
result hght (word_of_pos_bigint dloc hght n)
let bigN_error_negative dloc =
- Util.user_err_loc (dloc, "interp_bigN", Pp.str "bigN are only non-negative numbers.")
+ Errors.user_err_loc (dloc, "interp_bigN", Pp.str "bigN are only non-negative numbers.")
let interp_bigN dloc n =
if is_pos_or_zero n then
@@ -257,7 +257,7 @@ let uninterp_bigN rc =
let bigN_list_of_constructors =
let rec build i =
if less_than i (add_1 n_inlined) then
- GRef (Util.dummy_loc, bigN_constructor i)::(build (add_1 i))
+ GRef (Pp.dummy_loc, bigN_constructor i)::(build (add_1 i))
else
[]
in
@@ -303,8 +303,8 @@ let uninterp_bigZ rc =
let _ = Notation.declare_numeral_interpreter bigZ_scope
(bigZ_path, bigZ_module)
interp_bigZ
- ([GRef (Util.dummy_loc, bigZ_pos);
- GRef (Util.dummy_loc, bigZ_neg)],
+ ([GRef (Pp.dummy_loc, bigZ_pos);
+ GRef (Pp.dummy_loc, bigZ_neg)],
uninterp_bigZ,
true)
@@ -324,5 +324,5 @@ let uninterp_bigQ rc =
let _ = Notation.declare_numeral_interpreter bigQ_scope
(bigQ_path, bigQ_module)
interp_bigQ
- ([GRef (Util.dummy_loc, bigQ_z)], uninterp_bigQ,
+ ([GRef (Pp.dummy_loc, bigQ_z)], uninterp_bigQ,
true)
diff --git a/plugins/syntax/r_syntax.ml b/plugins/syntax/r_syntax.ml
index b9c0bcd6f..b3195f281 100644
--- a/plugins/syntax/r_syntax.ml
+++ b/plugins/syntax/r_syntax.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Pcoq
diff --git a/plugins/syntax/string_syntax.ml b/plugins/syntax/string_syntax.ml
index d670f6026..640806d87 100644
--- a/plugins/syntax/string_syntax.ml
+++ b/plugins/syntax/string_syntax.ml
@@ -7,6 +7,7 @@
(***********************************************************************)
open Pp
+open Errors
open Util
open Names
open Pcoq
diff --git a/plugins/syntax/z_syntax.ml b/plugins/syntax/z_syntax.ml
index f8bce8f79..450d57969 100644
--- a/plugins/syntax/z_syntax.ml
+++ b/plugins/syntax/z_syntax.ml
@@ -8,6 +8,7 @@
open Pcoq
open Pp
+open Errors
open Util
open Names
open Topconstr
diff --git a/plugins/xml/acic2Xml.ml4 b/plugins/xml/acic2Xml.ml4
index 97f7e2bd4..75bc84074 100644
--- a/plugins/xml/acic2Xml.ml4
+++ b/plugins/xml/acic2Xml.ml4
@@ -21,7 +21,7 @@ let typesdtdname = "http://mowgli.cs.unibo.it/dtd/cictypes.dtd";;
let rec find_last_id =
function
- [] -> Util.anomaly "find_last_id: empty list"
+ [] -> Errors.anomaly "find_last_id: empty list"
| [id,_,_] -> id
| _::tl -> find_last_id tl
;;
diff --git a/plugins/xml/cic2acic.ml b/plugins/xml/cic2acic.ml
index da0a65ff5..78a402898 100644
--- a/plugins/xml/cic2acic.ml
+++ b/plugins/xml/cic2acic.ml
@@ -59,7 +59,7 @@ let get_uri_of_var v pvars =
let module N = Names in
let rec search_in_open_sections =
function
- [] -> Util.error ("Variable "^v^" not found")
+ [] -> Errors.error ("Variable "^v^" not found")
| he::tl as modules ->
let dirpath = N.make_dirpath modules in
if List.mem (N.id_of_string v) (D.last_section_hyps dirpath) then
@@ -162,7 +162,7 @@ let family_of_term ty =
match Term.kind_of_term ty with
Term.Sort s -> Coq_sort (Term.family_of_sort s)
| Term.Const _ -> CProp (* I could check that the constant is CProp *)
- | _ -> Util.anomaly "family_of_term"
+ | _ -> Errors.anomaly "family_of_term"
;;
module CPropRetyping =
@@ -177,7 +177,7 @@ module CPropRetyping =
| h::rest ->
match T.kind_of_term (DoubleTypeInference.whd_betadeltaiotacprop env sigma typ) with
| T.Prod (na,c1,c2) -> subst_type env sigma (T.subst1 h c2) rest
- | _ -> Util.anomaly "Non-functional construction"
+ | _ -> Errors.anomaly "Non-functional construction"
let sort_of_atomic_type env sigma ft args =
@@ -193,7 +193,7 @@ let typeur sigma metamap =
match Term.kind_of_term cstr with
| T.Meta n ->
(try T.strip_outer_cast (List.assoc n metamap)
- with Not_found -> Util.anomaly "type_of: this is not a well-typed term")
+ with Not_found -> Errors.anomaly "type_of: this is not a well-typed term")
| T.Rel n ->
let (_,_,ty) = Environ.lookup_rel n env in
T.lift n ty
@@ -202,7 +202,7 @@ let typeur sigma metamap =
let (_,_,ty) = Environ.lookup_named id env in
ty
with Not_found ->
- Util.anomaly ("type_of: variable "^(Names.string_of_id id)^" unbound"))
+ Errors.anomaly ("type_of: variable "^(Names.string_of_id id)^" unbound"))
| T.Const c ->
let cb = Environ.lookup_constant c env in
Typeops.type_of_constant_type env (cb.Declarations.const_type)
@@ -212,7 +212,7 @@ let typeur sigma metamap =
| T.Case (_,p,c,lf) ->
let Inductiveops.IndType(_,realargs) =
try Inductiveops.find_rectype env sigma (type_of env c)
- with Not_found -> Util.anomaly "type_of: Bad recursive type" in
+ with Not_found -> Errors.anomaly "type_of: Bad recursive type" in
let t = Reductionops.whd_beta sigma (T.applist (p, realargs)) in
(match Term.kind_of_term (DoubleTypeInference.whd_betadeltaiotacprop env sigma (type_of env t)) with
| T.Prod _ -> Reductionops.whd_beta sigma (T.applist (t, [c]))
@@ -253,7 +253,7 @@ let typeur sigma metamap =
| _, (CProp as s) -> s)
| T.App(f,args) -> sort_of_atomic_type env sigma (type_of env f) args
| T.Lambda _ | T.Fix _ | T.Construct _ ->
- Util.anomaly "sort_of: Not a type (1)"
+ Errors.anomaly "sort_of: Not a type (1)"
| _ -> outsort env sigma (type_of env t)
and sort_family_of env t =
@@ -265,7 +265,7 @@ let typeur sigma metamap =
| T.App(f,args) ->
sort_of_atomic_type env sigma (type_of env f) args
| T.Lambda _ | T.Fix _ | T.Construct _ ->
- Util.anomaly "sort_of: Not a type (1)"
+ Errors.anomaly "sort_of: Not a type (1)"
| _ -> outsort env sigma (type_of env t)
in type_of, sort_of, sort_family_of
@@ -523,7 +523,7 @@ print_endline "PASSATO" ; flush stdout ;
add_inner_type fresh_id'' ;
A.AEvar
(fresh_id'', n, Array.to_list (Array.map (aux' env idrefs) l))
- | T.Meta _ -> Util.anomaly "Meta met during exporting to XML"
+ | T.Meta _ -> Errors.anomaly "Meta met during exporting to XML"
| T.Sort s -> A.ASort (fresh_id'', s)
| T.Cast (v,_, t) ->
Hashtbl.add ids_to_inner_sorts fresh_id'' innersort ;
@@ -737,7 +737,7 @@ print_endline "PASSATO" ; flush stdout ;
let ids = ref (Termops.ids_of_context env) in
Array.map
(function
- N.Anonymous -> Util.error "Anonymous fix function met"
+ N.Anonymous -> Errors.error "Anonymous fix function met"
| N.Name id as n ->
let res = N.Name (Namegen.next_name_away n !ids) in
ids := id::!ids ;
@@ -750,7 +750,7 @@ print_endline "PASSATO" ; flush stdout ;
let fi' =
match fi with
N.Name fi -> fi
- | N.Anonymous -> Util.error "Anonymous fix function met"
+ | N.Anonymous -> Errors.error "Anonymous fix function met"
in
(id, fi', ai,
aux' env idrefs ti,
@@ -771,7 +771,7 @@ print_endline "PASSATO" ; flush stdout ;
let ids = ref (Termops.ids_of_context env) in
Array.map
(function
- N.Anonymous -> Util.error "Anonymous fix function met"
+ N.Anonymous -> Errors.error "Anonymous fix function met"
| N.Name id as n ->
let res = N.Name (Namegen.next_name_away n !ids) in
ids := id::!ids ;
@@ -784,7 +784,7 @@ print_endline "PASSATO" ; flush stdout ;
let fi' =
match fi with
N.Name fi -> fi
- | N.Anonymous -> Util.error "Anonymous fix function met"
+ | N.Anonymous -> Errors.error "Anonymous fix function met"
in
(id, fi',
aux' env idrefs ti,
diff --git a/plugins/xml/doubleTypeInference.ml b/plugins/xml/doubleTypeInference.ml
index a21a919ad..30cd5c18b 100644
--- a/plugins/xml/doubleTypeInference.ml
+++ b/plugins/xml/doubleTypeInference.ml
@@ -67,7 +67,7 @@ let double_type_of env sigma cstr expectedty subterms_to_types =
let judgement =
match T.kind_of_term cstr with
T.Meta n ->
- Util.error
+ Errors.error
"DoubleTypeInference.double_type_of: found a non-instanciated goal"
| T.Evar ((n,l) as ev) ->
diff --git a/plugins/xml/dumptree.ml4 b/plugins/xml/dumptree.ml4
index 3c3e54fa3..69b9e6ea7 100644
--- a/plugins/xml/dumptree.ml4
+++ b/plugins/xml/dumptree.ml4
@@ -128,7 +128,7 @@ let pr_goal_xml sigma g =
;;
let print_proof_xml () =
- Util.anomaly "Dump Tree command not supported in this version."
+ Errors.anomaly "Dump Tree command not supported in this version."
VERNAC COMMAND EXTEND DumpTree
diff --git a/plugins/xml/proofTree2Xml.ml4 b/plugins/xml/proofTree2Xml.ml4
index 2f5eb6ac2..21058a7b9 100644
--- a/plugins/xml/proofTree2Xml.ml4
+++ b/plugins/xml/proofTree2Xml.ml4
@@ -53,7 +53,7 @@ let constr_to_xml obj sigma env =
in
Acic2Xml.print_term ids_to_inner_sorts annobj
with e ->
- Util.anomaly
+ Errors.anomaly
("Problem during the conversion of constr into XML: " ^
Printexc.to_string e)
(* CSC: debugging stuff
diff --git a/plugins/xml/xmlcommand.ml b/plugins/xml/xmlcommand.ml
index 1037bbf08..13821488a 100644
--- a/plugins/xml/xmlcommand.ml
+++ b/plugins/xml/xmlcommand.ml
@@ -424,7 +424,7 @@ let kind_of_variable id =
| DK.IsAssumption DK.Conjectural -> "VARIABLE","Conjecture"
| DK.IsDefinition DK.Definition -> "VARIABLE","LocalDefinition"
| DK.IsProof _ -> "VARIABLE","LocalFact"
- | _ -> Util.anomaly "Unsupported variable kind"
+ | _ -> Errors.anomaly "Unsupported variable kind"
;;
let kind_of_constant kn =
@@ -541,7 +541,7 @@ let print internal glob_ref kind xml_library_root =
D.mind_finite=finite} = mib in
Cic2acic.Inductive kn,mk_inductive_obj kn mib packs variables nparams hyps finite
| Ln.ConstructRef _ ->
- Util.error ("a single constructor cannot be printed in XML")
+ Errors.error ("a single constructor cannot be printed in XML")
in
let fn = filename_of_path xml_library_root tag in
let uri = Cic2acic.uri_of_kernel_name tag in
@@ -560,7 +560,7 @@ let print_ref qid fn =
(* pretty prints via Xml.pp the proof in progress on dest *)
let show_pftreestate internal fn (kind,pftst) id =
if true then
- Util.anomaly "Xmlcommand.show_pftreestate is not supported in this version."
+ Errors.anomaly "Xmlcommand.show_pftreestate is not supported in this version."
let show fn =
let pftst = Pfedit.get_pftreestate () in
@@ -656,7 +656,7 @@ let _ =
let options = " --html -s --body-only --no-index --latin1 --raw-comments" in
let command cmd =
if Sys.command cmd <> 0 then
- Util.anomaly ("Error executing \"" ^ cmd ^ "\"")
+ Errors.anomaly ("Error executing \"" ^ cmd ^ "\"")
in
command (coqdoc^options^" -o "^fn^".xml "^fn^".v");
command ("rm "^fn^".v "^fn^".glob");
diff --git a/pretyping/arguments_renaming.ml b/pretyping/arguments_renaming.ml
index 5e2284e13..54ffcd653 100644
--- a/pretyping/arguments_renaming.ml
+++ b/pretyping/arguments_renaming.ml
@@ -16,6 +16,7 @@ open Evd
open Environ
open Nametab
open Mod_subst
+open Errors
open Util
open Pp
open Libobject
diff --git a/pretyping/cases.ml b/pretyping/cases.ml
index 3f5b3f1bf..d413bfbcd 100644
--- a/pretyping/cases.ml
+++ b/pretyping/cases.ml
@@ -7,6 +7,8 @@
(************************************************************************)
open Compat
+open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/pretyping/cases.mli b/pretyping/cases.mli
index f773da0ee..fcfee055c 100644
--- a/pretyping/cases.mli
+++ b/pretyping/cases.mli
@@ -6,7 +6,8 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Errors
+open Pp
open Names
open Term
open Evd
diff --git a/pretyping/cbv.ml b/pretyping/cbv.ml
index ad33bae1f..95ab968f0 100644
--- a/pretyping/cbv.ml
+++ b/pretyping/cbv.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Term
diff --git a/pretyping/classops.ml b/pretyping/classops.ml
index 62d774bd7..3be7e7862 100644
--- a/pretyping/classops.ml
+++ b/pretyping/classops.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Flags
@@ -273,7 +274,7 @@ let print_path x = !path_printer x
let message_ambig l =
(str"Ambiguous paths:" ++ spc () ++
- prlist_with_sep pr_fnl (fun ijp -> print_path ijp) l)
+ prlist_with_sep fnl (fun ijp -> print_path ijp) l)
(* add_coercion_in_graph : coe_index * cl_index * cl_index -> unit
coercion,source,target *)
diff --git a/pretyping/coercion.ml b/pretyping/coercion.ml
index 553c91274..0c340f9ed 100644
--- a/pretyping/coercion.ml
+++ b/pretyping/coercion.ml
@@ -14,6 +14,8 @@
Corbineau, Feb 2008 *)
(* Turned into an abstract compilation unit by Matthieu Sozeau, March 2006 *)
+open Pp
+open Errors
open Util
open Names
open Term
diff --git a/pretyping/coercion.mli b/pretyping/coercion.mli
index 5d814b294..f312802a8 100644
--- a/pretyping/coercion.mli
+++ b/pretyping/coercion.mli
@@ -6,7 +6,8 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Errors
+open Pp
open Evd
open Names
open Term
diff --git a/pretyping/detyping.ml b/pretyping/detyping.ml
index c194a0f23..b3daad79e 100644
--- a/pretyping/detyping.ml
+++ b/pretyping/detyping.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Univ
open Names
diff --git a/pretyping/detyping.mli b/pretyping/detyping.mli
index 40e3d0f82..0912a3f23 100644
--- a/pretyping/detyping.mli
+++ b/pretyping/detyping.mli
@@ -6,7 +6,8 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Errors
+open Pp
open Names
open Term
open Sign
diff --git a/pretyping/evarconv.ml b/pretyping/evarconv.ml
index 04f86e709..8e61cdebb 100644
--- a/pretyping/evarconv.ml
+++ b/pretyping/evarconv.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/pretyping/evarutil.ml b/pretyping/evarutil.ml
index fba35925c..5faa86cb0 100644
--- a/pretyping/evarutil.ml
+++ b/pretyping/evarutil.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Names
diff --git a/pretyping/evarutil.mli b/pretyping/evarutil.mli
index 61f503c7d..82205c91f 100644
--- a/pretyping/evarutil.mli
+++ b/pretyping/evarutil.mli
@@ -6,6 +6,8 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
+open Pp
open Util
open Names
open Glob_term
diff --git a/pretyping/evd.ml b/pretyping/evd.ml
index 5d6ca2cac..b4354d0cc 100644
--- a/pretyping/evd.ml
+++ b/pretyping/evd.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
@@ -761,7 +762,7 @@ let pr_evar_source = function
spc () ++ print_constr (constr_of_global c)
| InternalHole -> str "internal placeholder"
| TomatchTypeParameter (ind,n) ->
- nth n ++ str " argument of type " ++ print_constr (mkInd ind)
+ pr_nth n ++ str " argument of type " ++ print_constr (mkInd ind)
| GoalEvar -> str "goal evar"
| ImpossibleCase -> str "type of impossible pattern-matching clause"
| MatchingVar _ -> str "matching variable"
@@ -770,7 +771,7 @@ let pr_evar_info evi =
let phyps =
try
let decls = List.combine (evar_context evi) (evar_filter evi) in
- prlist_with_sep pr_spc pr_decl (List.rev decls)
+ prlist_with_sep spc pr_decl (List.rev decls)
with Invalid_argument _ -> str "Ill-formed filtered context" in
let pty = print_constr evi.evar_concl in
let pb =
@@ -810,7 +811,7 @@ let evar_dependency_closure n sigma =
let pr_evar_map_t depth sigma =
let (evars,(uvs,univs)) = sigma.evars in
let pr_evar_list l =
- h 0 (prlist_with_sep pr_fnl
+ h 0 (prlist_with_sep fnl
(fun (ev,evi) ->
h 0 (str(string_of_existential ev) ++
str"==" ++ pr_evar_info evi)) l) in
@@ -830,7 +831,7 @@ let pr_evar_map_t depth sigma =
and svs =
if Univ.UniverseLSet.is_empty uvs then mt ()
else str"UNIVERSE VARIABLES:"++brk(0,1)++
- h 0 (prlist_with_sep pr_fnl
+ h 0 (prlist_with_sep fnl
(fun u -> Univ.pr_uni_level u) (Univ.UniverseLSet.elements uvs))++fnl()
and cs =
if Univ.is_initial_universes univs then mt ()
@@ -844,12 +845,12 @@ let print_env_short env =
let pr_rel_decl (n, b, _) = pr_body n b in
let nc = List.rev (named_context env) in
let rc = List.rev (rel_context env) in
- str "[" ++ prlist_with_sep pr_spc pr_named_decl nc ++ str "]" ++ spc () ++
- str "[" ++ prlist_with_sep pr_spc pr_rel_decl rc ++ str "]"
+ str "[" ++ pr_sequence pr_named_decl nc ++ str "]" ++ spc () ++
+ str "[" ++ pr_sequence pr_rel_decl rc ++ str "]"
let pr_constraints pbs =
h 0
- (prlist_with_sep pr_fnl
+ (prlist_with_sep fnl
(fun (pbty,env,t1,t2) ->
print_env_short env ++ spc () ++ str "|-" ++ spc () ++
print_constr t1 ++ spc() ++
@@ -859,7 +860,7 @@ let pr_constraints pbs =
spc() ++ print_constr t2) pbs)
let pr_evar_map_constraints evd =
- if evd.conv_pbs = [] then mt()
+ if evd.conv_pbs = [] then mt()
else pr_constraints evd.conv_pbs++fnl()
let pr_evar_map allevars evd =
@@ -874,4 +875,4 @@ let pr_evar_map allevars evd =
v 0 (pp_evm ++ cstrs ++ pp_met)
let pr_metaset metas =
- str "[" ++ prlist_with_sep spc pr_meta (Metaset.elements metas) ++ str "]"
+ str "[" ++ pr_sequence pr_meta (Metaset.elements metas) ++ str "]"
diff --git a/pretyping/evd.mli b/pretyping/evd.mli
index 55c54f2c6..5e596e0de 100644
--- a/pretyping/evd.mli
+++ b/pretyping/evd.mli
@@ -6,6 +6,8 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Pp
+open Errors
open Util
open Names
open Term
diff --git a/pretyping/glob_term.ml b/pretyping/glob_term.ml
index a736e6eec..5922d38dc 100644
--- a/pretyping/glob_term.ml
+++ b/pretyping/glob_term.ml
@@ -7,6 +7,8 @@
(************************************************************************)
(*i*)
+open Errors
+open Pp
open Util
open Names
open Sign
diff --git a/pretyping/glob_term.mli b/pretyping/glob_term.mli
index fcd28eb8f..f13d0bee9 100644
--- a/pretyping/glob_term.mli
+++ b/pretyping/glob_term.mli
@@ -12,7 +12,8 @@
and notations are done, but coercions, inference of implicit
arguments and pattern-matching compilation are not. *)
-open Util
+open Errors
+open Pp
open Names
open Sign
open Term
diff --git a/pretyping/indrec.ml b/pretyping/indrec.ml
index a09760295..f08b7493c 100644
--- a/pretyping/indrec.ml
+++ b/pretyping/indrec.ml
@@ -11,6 +11,7 @@
(* This file builds various inductive schemes *)
open Pp
+open Errors
open Util
open Names
open Libnames
diff --git a/pretyping/inductiveops.ml b/pretyping/inductiveops.ml
index da316fd63..cd86b1e67 100644
--- a/pretyping/inductiveops.ml
+++ b/pretyping/inductiveops.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Univ
diff --git a/pretyping/matching.ml b/pretyping/matching.ml
index 7a7451187..ac0022c8c 100644
--- a/pretyping/matching.ml
+++ b/pretyping/matching.ml
@@ -8,6 +8,7 @@
(*i*)
open Pp
+open Errors
open Util
open Names
open Libnames
diff --git a/pretyping/namegen.ml b/pretyping/namegen.ml
index abb6b510d..0d086919a 100644
--- a/pretyping/namegen.ml
+++ b/pretyping/namegen.ml
@@ -12,6 +12,7 @@
(* This file is about generating new or fresh names and dealing with
alpha-renaming *)
+open Errors
open Util
open Names
open Term
diff --git a/pretyping/pattern.ml b/pretyping/pattern.ml
index 65f342d88..49b63a4b5 100644
--- a/pretyping/pattern.ml
+++ b/pretyping/pattern.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Libnames
diff --git a/pretyping/pretype_errors.ml b/pretyping/pretype_errors.ml
index 2cf167919..409e405f5 100644
--- a/pretyping/pretype_errors.ml
+++ b/pretyping/pretype_errors.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Compat
+open Errors
open Util
open Names
open Sign
@@ -43,8 +44,8 @@ type pretype_error =
exception PretypeError of env * Evd.evar_map * pretype_error
let precatchable_exception = function
- | Util.UserError _ | TypeError _ | PretypeError _
- | Loc.Exc_located(_,(Util.UserError _ | TypeError _ |
+ | Errors.UserError _ | TypeError _ | PretypeError _
+ | Loc.Exc_located(_,(Errors.UserError _ | TypeError _ |
Nametab.GlobalizationError _ | PretypeError _)) -> true
| _ -> false
diff --git a/pretyping/pretype_errors.mli b/pretyping/pretype_errors.mli
index 3a3dccb4b..43f934520 100644
--- a/pretyping/pretype_errors.mli
+++ b/pretyping/pretype_errors.mli
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/pretyping/pretyping.ml b/pretyping/pretyping.ml
index 901936f33..246993f1a 100644
--- a/pretyping/pretyping.ml
+++ b/pretyping/pretyping.ml
@@ -23,6 +23,7 @@
open Compat
open Pp
+open Errors
open Util
open Names
open Sign
diff --git a/pretyping/pretyping.mli b/pretyping/pretyping.mli
index 47b3ec875..cf47d194e 100644
--- a/pretyping/pretyping.mli
+++ b/pretyping/pretyping.mli
@@ -23,7 +23,7 @@ open Evarutil
(** An auxiliary function for searching for fixpoint guard indexes *)
val search_guard :
- Util.loc -> env -> int list list -> rec_declaration -> int array
+ Pp.loc -> env -> int list list -> rec_declaration -> int array
type typing_constraint = OfType of types option | IsType
diff --git a/pretyping/recordops.ml b/pretyping/recordops.ml
index b3be7afd9..e35004ef1 100644
--- a/pretyping/recordops.ml
+++ b/pretyping/recordops.ml
@@ -13,6 +13,7 @@
(* This file registers properties of records: projections and
canonical structures *)
+open Errors
open Util
open Pp
open Names
diff --git a/pretyping/reductionops.ml b/pretyping/reductionops.ml
index bdb47d689..4e6a702e7 100644
--- a/pretyping/reductionops.ml
+++ b/pretyping/reductionops.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/pretyping/retyping.ml b/pretyping/retyping.ml
index 502e238b3..5d7c7ec9f 100644
--- a/pretyping/retyping.ml
+++ b/pretyping/retyping.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Term
open Inductive
diff --git a/pretyping/tacred.ml b/pretyping/tacred.ml
index 0ab43e49c..13b2ddcaa 100644
--- a/pretyping/tacred.ml
+++ b/pretyping/tacred.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/pretyping/term_dnet.ml b/pretyping/term_dnet.ml
index 98091087d..2bf15d2f3 100644
--- a/pretyping/term_dnet.ml
+++ b/pretyping/term_dnet.ml
@@ -7,6 +7,7 @@
(************************************************************************)
(*i*)
+open Errors
open Util
open Term
open Sign
@@ -304,7 +305,7 @@ struct
let rec pr_term_pattern p =
(fun pr_t -> function
| Term t -> pr_t t
- | Meta m -> str"["++Util.pr_int (Obj.magic m)++str"]"
+ | Meta m -> str"["++Pp.int (Obj.magic m)++str"]"
) (pr_dconstr pr_term_pattern) p
let search_pat cpat dpat dn (up,plug) =
diff --git a/pretyping/termops.ml b/pretyping/termops.ml
index 6371fd3a7..f64625707 100644
--- a/pretyping/termops.ml
+++ b/pretyping/termops.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/pretyping/termops.mli b/pretyping/termops.mli
index 5448d97c8..68db293b6 100644
--- a/pretyping/termops.mli
+++ b/pretyping/termops.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Names
diff --git a/pretyping/typeclasses.ml b/pretyping/typeclasses.ml
index d8a09f95c..8fe06539c 100644
--- a/pretyping/typeclasses.ml
+++ b/pretyping/typeclasses.ml
@@ -16,6 +16,7 @@ open Evd
open Environ
open Nametab
open Mod_subst
+open Errors
open Util
open Typeclasses_errors
open Libobject
diff --git a/pretyping/typeclasses.mli b/pretyping/typeclasses.mli
index b49eeac4f..3d36168fd 100644
--- a/pretyping/typeclasses.mli
+++ b/pretyping/typeclasses.mli
@@ -16,6 +16,7 @@ open Environ
open Nametab
open Mod_subst
open Topconstr
+open Errors
open Util
type direction = Forward | Backward
diff --git a/pretyping/typeclasses_errors.ml b/pretyping/typeclasses_errors.ml
index ab7bb9dcb..f6de344a9 100644
--- a/pretyping/typeclasses_errors.ml
+++ b/pretyping/typeclasses_errors.ml
@@ -17,6 +17,7 @@ open Nametab
open Mod_subst
open Topconstr
open Compat
+open Pp
open Util
open Libnames
(*i*)
diff --git a/pretyping/typeclasses_errors.mli b/pretyping/typeclasses_errors.mli
index 79f0678ff..fd709763d 100644
--- a/pretyping/typeclasses_errors.mli
+++ b/pretyping/typeclasses_errors.mli
@@ -15,7 +15,8 @@ open Environ
open Nametab
open Mod_subst
open Topconstr
-open Util
+open Errors
+open Pp
open Libnames
type contexts = Parameters | Properties
diff --git a/pretyping/typing.ml b/pretyping/typing.ml
index efcdff9dc..9c8c3989e 100644
--- a/pretyping/typing.ml
+++ b/pretyping/typing.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/pretyping/unification.ml b/pretyping/unification.ml
index e6fa6eecc..48a2c8c42 100644
--- a/pretyping/unification.ml
+++ b/pretyping/unification.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/proofs/clenv.ml b/proofs/clenv.ml
index d06c6f2e6..9d2c1c7ab 100644
--- a/proofs/clenv.ml
+++ b/proofs/clenv.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/proofs/clenv.mli b/proofs/clenv.mli
index abd67236a..04f532654 100644
--- a/proofs/clenv.mli
+++ b/proofs/clenv.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/proofs/clenvtac.ml b/proofs/clenvtac.ml
index eb935d05d..45765805f 100644
--- a/proofs/clenvtac.ml
+++ b/proofs/clenvtac.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/proofs/clenvtac.mli b/proofs/clenvtac.mli
index 49a961f5d..a14f261e9 100644
--- a/proofs/clenvtac.mli
+++ b/proofs/clenvtac.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/proofs/evar_refiner.ml b/proofs/evar_refiner.ml
index 36268de1e..c606600d7 100644
--- a/proofs/evar_refiner.ml
+++ b/proofs/evar_refiner.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/proofs/goal.ml b/proofs/goal.ml
index d68ab8c55..f0ab31c5b 100644
--- a/proofs/goal.ml
+++ b/proofs/goal.ml
@@ -10,7 +10,7 @@ open Pp
open Term
(* This module implements the abstract interface to goals *)
-(* A general invariant of the module, is that a goal whose associated
+(* A general invariant of the module, is that a goal whose associated
evar is defined in the current evar_map, should not be accessed. *)
(* type of the goals *)
@@ -47,22 +47,22 @@ let get_by_uid u =
for instance. *)
build (int_of_string u)
-(* Builds a new goal with content evar [e] and
+(* Builds a new goal with content evar [e] and
inheriting from goal [gl]*)
let descendent gl e =
{ gl with content = e}
-(* [advance sigma g] returns [Some g'] if [g'] is undefined and
+(* [advance sigma g] returns [Some g'] if [g'] is undefined and
is the current avatar of [g] (for instance [g] was changed by [clear]
into [g']). It returns [None] if [g] has been (partially) solved. *)
open Store.Field
let rec advance sigma g =
let evi = Evd.find sigma g.content in
if Option.default false (Evarutil.cleared.get evi.Evd.evar_extra) then
- let v =
- match evi.Evd.evar_body with
+ let v =
+ match evi.Evd.evar_body with
| Evd.Evar_defined c -> c
- | _ -> Util.anomaly "Some goal is marked as 'cleared' but is uninstantiated"
+ | _ -> Errors.anomaly "Some goal is marked as 'cleared' but is uninstantiated"
in
let (e,_) = Term.destEvar v in
let g' = { g with content = e } in
@@ -81,10 +81,10 @@ type subgoals = { subgoals: goal list }
(* type of the base elements of the goal API.*)
(* it has an extra evar_info with respect to what would be expected,
it is supposed to be the evar_info of the goal in the evar_map.
- The idea is that it is computed by the [run] function as an
- optimisation, since it will generaly not change during the
+ The idea is that it is computed by the [run] function as an
+ optimisation, since it will generaly not change during the
evaluation. *)
-type 'a sensitive =
+type 'a sensitive =
Environ.env -> Evd.evar_map ref -> goal -> Evd.evar_info -> 'a
(* evaluates a goal sensitive value in a given goal (knowing the current evar_map). *)
@@ -105,7 +105,7 @@ let bind e f env rdefs goal info =
let return v _ _ _ _ = v
(* interpretation of "open" constr *)
-(* spiwack: it is a wrapper around [Constrintern.interp_open_constr].
+(* spiwack: it is a wrapper around [Constrintern.interp_open_constr].
In an ideal world, this could/should be the other way round.
As of now, though, it seems at least quite useful to build tactics. *)
let interp_constr cexpr env rdefs _ _ =
@@ -114,7 +114,7 @@ let interp_constr cexpr env rdefs _ _ =
c
(* Type of constr with holes used by refine. *)
-(* The list of evars doesn't necessarily contain all the evars in the constr,
+(* The list of evars doesn't necessarily contain all the evars in the constr,
only those the constr has introduced. *)
(* The variables in [myevars] are supposed to be stored
in decreasing order. Breaking this invariant might cause
@@ -129,7 +129,7 @@ module Refinable = struct
type handle = Evd.evar list ref
- let make t env rdefs gl info =
+ let make t env rdefs gl info =
let r = ref [] in
let me = t r env rdefs gl info in
{ me = me;
@@ -144,9 +144,9 @@ module Refinable = struct
let (e,_) = Term.destEvar ev in
handle := e::!handle;
ev
-
+
(* [with_type c typ] constrains term [c] to have type [typ]. *)
- let with_type t typ env rdefs _ _ =
+ let with_type t typ env rdefs _ _ =
(* spiwack: this function assumes that no evars can be created during
this sort of coercion.
If it is not the case it could produce bugs. We would need to add a handle
@@ -154,13 +154,13 @@ module Refinable = struct
let my_type = Retyping.get_type_of env !rdefs t in
let j = Environ.make_judge t my_type in
let tycon = Evarutil.mk_tycon_type typ in
- let (new_defs,j') =
- Coercion.Default.inh_conv_coerce_to (Util.dummy_loc) env !rdefs j tycon
+ let (new_defs,j') =
+ Coercion.Default.inh_conv_coerce_to (Pp.dummy_loc) env !rdefs j tycon
in
rdefs := new_defs;
- j'.Environ.uj_val
+ j'.Environ.uj_val
- (* spiwack: it is not very fine grain since it solves all typeclasses holes,
+ (* spiwack: it is not very fine grain since it solves all typeclasses holes,
not only those containing the current goal, or a given term. But it
seems to fit our needs so far. *)
let resolve_typeclasses ?onlyargs ?split ?(fail=false) () env rdefs _ _ =
@@ -214,23 +214,23 @@ module Refinable = struct
let constr_of_raw handle check_type resolve_classes rawc env rdefs gl info =
(* We need to keep trace of what [rdefs] was originally*)
let init_defs = !rdefs in
- (* if [check_type] is true, then creates a type constraint for the
+ (* if [check_type] is true, then creates a type constraint for the
proof-to-be *)
let tycon = Pretyping.OfType (Option.init check_type (Evd.evar_concl info)) in
(* call to [understand_tcc_evars] returns a constr with undefined evars
these evars will be our new goals *)
- let open_constr =
+ let open_constr =
Pretyping.Default.understand_tcc_evars ~resolve_classes rdefs env tycon rawc
in
ignore(update_handle handle init_defs !rdefs);
- open_constr
-
+ open_constr
+
let constr_of_open_constr handle check_type (evars, c) env rdefs gl info =
let delta = update_handle handle !rdefs evars in
rdefs := Evd.fold (fun ev evi evd -> Evd.add evd ev evi) delta !rdefs;
if check_type then with_type c (Evd.evar_concl (content !rdefs gl)) env rdefs gl info
else c
-
+
end
(* [refine t] takes a refinable term and use it as a partial proof for current
@@ -245,10 +245,10 @@ let refine step env rdefs gl info =
(* creates the new [evar_map] by defining the evar of the current goal
as being [refine_step]. *)
let new_defs = Evd.define gl.content (step.me) !rdefs in
- rdefs := new_defs;
+ rdefs := new_defs;
(* Filtering the [subgoals] for uninstanciated (=unsolved) goals. *)
- let subgoals =
- Option.List.flatten (List.map (advance !rdefs) subgoals)
+ let subgoals =
+ Option.List.flatten (List.map (advance !rdefs) subgoals)
in
{ subgoals = subgoals }
@@ -267,12 +267,12 @@ let clear ids env rdefs gl info =
{ subgoals = [cleared_goal] }
let wrap_apply_to_hyp_and_dependent_on sign id f g =
- try Environ.apply_to_hyp_and_dependent_on sign id f g
- with Environ.Hyp_not_found ->
- Util.error "No such assumption"
+ try Environ.apply_to_hyp_and_dependent_on sign id f g
+ with Environ.Hyp_not_found ->
+ Errors.error "No such assumption"
let check_typability env sigma c =
- let _ = Typing.type_of env sigma c in ()
+ let _ = Typing.type_of env sigma c in ()
let recheck_typability (what,id) env sigma t =
try check_typability env sigma t
@@ -280,7 +280,7 @@ let recheck_typability (what,id) env sigma t =
let s = match what with
| None -> "the conclusion"
| Some id -> "hypothesis "^(Names.string_of_id id) in
- Util.error
+ Errors.error
("The correctness of "^s^" relies on the body of "^(Names.string_of_id id))
let remove_hyp_body env sigma id =
@@ -288,11 +288,11 @@ let remove_hyp_body env sigma id =
wrap_apply_to_hyp_and_dependent_on (Environ.named_context_val env) id
(fun (_,c,t) _ ->
match c with
- | None -> Util.error ((Names.string_of_id id)^" is not a local definition")
+ | None -> Errors.error ((Names.string_of_id id)^" is not a local definition")
| Some c ->(id,None,t))
(fun (id',c,t as d) sign ->
(
- begin
+ begin
let env = Environ.reset_with_named_context sign env in
match c with
| None -> recheck_typability (Some id',id) env sigma t
@@ -301,18 +301,18 @@ let remove_hyp_body env sigma id =
recheck_typability (Some id',id) env sigma b'
end;d))
in
- Environ.reset_with_named_context sign env
+ Environ.reset_with_named_context sign env
let clear_body idents env rdefs gl info =
let info = content !rdefs gl in
let full_env = Environ.reset_with_named_context (Evd.evar_hyps info) env in
- let aux env id =
+ let aux env id =
let env' = remove_hyp_body env !rdefs id in
recheck_typability (None,id) env' !rdefs (Evd.evar_concl info);
env'
in
- let new_env =
+ let new_env =
List.fold_left aux full_env idents
in
let concl = Evd.evar_concl info in
@@ -334,7 +334,7 @@ let concl _ _ _ info =
let hyps _ _ _ info =
Evd.evar_hyps info
-(* [env] is the current [Environ.env] containing both the
+(* [env] is the current [Environ.env] containing both the
environment in which the proof is ran, and the goal hypotheses *)
let env env _ _ _ = env
@@ -359,7 +359,7 @@ let equal { content = e1 } { content = e2 } = e1 = e2
let here goal value _ _ goal' _ =
if equal goal goal' then
value
- else
+ else
raise UndefinedHere
(* arnaud: voir à la passer dans Util ? *)
@@ -384,52 +384,52 @@ let convert_hyp check (id,b,bt as d) env rdefs gl info =
let replace_function =
(fun _ (_,c,ct) _ ->
if check && not (Reductionops.is_conv env sigma bt ct) then
- Util.error ("Incorrect change of the type of "^(Names.string_of_id id));
+ Errors.error ("Incorrect change of the type of "^(Names.string_of_id id));
if check && not (Option.Misc.compare (Reductionops.is_conv env sigma) b c) then
- Util.error ("Incorrect change of the body of "^(Names.string_of_id id));
+ Errors.error ("Incorrect change of the body of "^(Names.string_of_id id));
d)
in
(* Modified named context. *)
- let new_hyps =
+ let new_hyps =
Environ.apply_to_hyp (hyps env rdefs gl info) id replace_function
- in
+ in
let new_env = Environ.reset_with_named_context new_hyps env in
- let new_constr =
+ let new_constr =
Evarutil.e_new_evar rdefs new_env (concl env rdefs gl info)
in
let (new_evar,_) = Term.destEvar new_constr in
let new_goal = descendent gl new_evar in
rdefs := Evd.define gl.content new_constr !rdefs;
{ subgoals = [new_goal] }
-
+
let convert_concl check cl' env rdefs gl info =
let sigma = !rdefs in
let cl = concl env rdefs gl info in
check_typability env sigma cl';
if (not check) || Reductionops.is_conv_leq env sigma cl' cl then
- let new_constr =
- Evarutil.e_new_evar rdefs env cl'
+ let new_constr =
+ Evarutil.e_new_evar rdefs env cl'
in
let (new_evar,_) = Term.destEvar new_constr in
let new_goal = descendent gl new_evar in
rdefs := Evd.define gl.content new_constr !rdefs;
{ subgoals = [new_goal] }
else
- Util.error "convert-concl rule passed non-converting term"
+ Errors.error "convert-concl rule passed non-converting term"
-(*** Bureaucracy in hypotheses ***)
+(*** Bureaucracy in hypotheses ***)
(* Renames a hypothesis. *)
let rename_hyp_sign id1 id2 sign =
Environ.apply_to_hyp_and_dependent_on sign id1
(fun (_,b,t) _ -> (id2,b,t))
(fun d _ -> map_named_declaration (replace_vars [id1,mkVar id2]) d)
-let rename_hyp id1 id2 env rdefs gl info =
+let rename_hyp id1 id2 env rdefs gl info =
let hyps = hyps env rdefs gl info in
if id1 <> id2 &&
List.mem id2 (Termops.ids_of_named_context (Environ.named_context_of_val hyps)) then
- Util.error ((Names.string_of_id id2)^" is already used.");
+ Errors.error ((Names.string_of_id id2)^" is already used.");
let new_hyps = rename_hyp_sign id1 id2 hyps in
let new_env = Environ.reset_with_named_context new_hyps env in
let new_concl = Term.replace_vars [id1,mkVar id2] (concl env rdefs gl info) in
@@ -442,13 +442,13 @@ let rename_hyp id1 id2 env rdefs gl info =
(*** Additional functions ***)
-(* emulates List.map for functions of type
+(* emulates List.map for functions of type
[Evd.evar_map -> 'a -> 'b * Evd.evar_map] on lists of type 'a, by propagating
new evar_map to next definition. *)
(*This sort of construction actually works with any monad (here the State monade
in Haskell). There is a generic construction in Haskell called mapM.
*)
-let rec list_map f l s =
+let rec list_map f l s =
match l with
| [] -> ([],s)
| a::l -> let (a,s) = f s a in
@@ -456,18 +456,18 @@ let rec list_map f l s =
(a::l,s)
-(* Layer to implement v8.2 tactic engine ontop of the new architecture.
+(* Layer to implement v8.2 tactic engine ontop of the new architecture.
Types are different from what they used to be due to a change of the
internal types. *)
module V82 = struct
(* Old style env primitive *)
- let env evars gl =
+ let env evars gl =
let evi = content evars gl in
Evd.evar_env evi
(* For printing *)
- let unfiltered_env evars gl =
+ let unfiltered_env evars gl =
let evi = content evars gl in
Evd.evar_unfiltered_env evi
@@ -494,14 +494,14 @@ module V82 = struct
(* Old style mk_goal primitive *)
let mk_goal evars hyps concl extra =
let evk = Evarutil.new_untyped_evar () in
- let evi = { Evd.evar_hyps = hyps;
- Evd.evar_concl = concl;
- Evd.evar_filter = List.map (fun _ -> true)
- (Environ.named_context_of_val hyps);
- Evd.evar_body = Evd.Evar_empty;
- Evd.evar_source = (Util.dummy_loc,Evd.GoalEvar);
- Evd.evar_candidates = None;
- Evd.evar_extra = extra }
+ let evi = { Evd.evar_hyps = hyps;
+ Evd.evar_concl = concl;
+ Evd.evar_filter = List.map (fun _ -> true)
+ (Environ.named_context_of_val hyps);
+ Evd.evar_body = Evd.Evar_empty;
+ Evd.evar_source = (Pp.dummy_loc,Evd.GoalEvar);
+ Evd.evar_candidates = None;
+ Evd.evar_extra = extra }
in
let evi = Typeclasses.mark_unresolvable evi in
let evars = Evd.add evars evk evi in
@@ -518,7 +518,7 @@ module V82 = struct
(* Creates a dummy [goal sigma] for use in auto *)
let dummy_goal =
- (* This goal seems to be marshalled somewhere. Therefore it cannot be
+ (* This goal seems to be marshalled somewhere. Therefore it cannot be
marked unresolvable for typeclasses, as non-empty Store.t-s happen
to have functional content. *)
let evi = Evd.make_evar Environ.empty_named_context_val Term.mkProp in
@@ -532,14 +532,14 @@ module V82 = struct
(* Instantiates a goal with an open term *)
let partial_solution sigma { content=evk } c =
Evd.define evk c sigma
-
+
(* Parts of the progress tactical *)
let same_goal evars1 gl1 evars2 gl2 =
let evi1 = content evars1 gl1 in
let evi2 = content evars2 gl2 in
Term.eq_constr evi1.Evd.evar_concl evi2.Evd.evar_concl &&
Environ.eq_named_context_val evi1.Evd.evar_hyps evi2.Evd.evar_hyps
-
+
let weak_progress glss gls =
match glss.Evd.it with
| [ g ] -> not (same_goal glss.Evd.sigma g gls.Evd.sigma gls.Evd.it)
@@ -548,12 +548,12 @@ module V82 = struct
let progress glss gls =
weak_progress glss gls
(* spiwack: progress normally goes like this:
- (Evd.progress_evar_map gls.Evd.sigma glss.Evd.sigma) || (weak_progress glss gls)
+ (Evd.progress_evar_map gls.Evd.sigma glss.Evd.sigma) || (weak_progress glss gls)
This is immensly slow in the current implementation. Maybe we could
reimplement progress_evar_map with restricted folds like "fold_undefined",
with a good implementation of them.
*)
-
+
(* Used for congruence closure *)
let new_goal_with sigma gl new_hyps =
let evi = content sigma gl in
@@ -571,12 +571,12 @@ module V82 = struct
(gl,sigma)
(* Goal represented as a type, doesn't take into account section variables *)
- let abstract_type sigma gl =
+ let abstract_type sigma gl =
let (gl,sigma) = nf_evar sigma gl in
let env = env sigma gl in
let genv = Global.env () in
- let is_proof_var decl =
- try ignore (Environ.lookup_named (Util.pi1 decl) genv); false
+ let is_proof_var decl =
+ try ignore (Environ.lookup_named (Util.pi1 decl) genv); false
with Not_found -> true in
Environ.fold_named_context_reverse (fun t decl ->
if is_proof_var decl then
diff --git a/proofs/logic.ml b/proofs/logic.ml
index 5babd03a8..c7df86e1f 100644
--- a/proofs/logic.ml
+++ b/proofs/logic.ml
@@ -8,6 +8,7 @@
open Compat
open Pp
+open Errors
open Util
open Names
open Nameops
@@ -48,7 +49,7 @@ open Pretype_errors
let rec catchable_exception = function
| Loc.Exc_located(_,e) -> catchable_exception e
| LtacLocated(_,e) -> catchable_exception e
- | Util.UserError _ | TypeError _ | PretypeError (_,_,TypingError _)
+ | Errors.UserError _ | TypeError _ | PretypeError (_,_,TypingError _)
| RefinerError _ | Indrec.RecursionSchemeError _
| Nametab.GlobalizationError _ | PretypeError (_,_,VarNotFound _)
(* reduction errors *)
@@ -179,7 +180,7 @@ let reorder_context env sign ord =
errorlabstrm "reorder_context"
(str "Cannot move declaration " ++ pr_id top ++ spc() ++
str "before " ++
- prlist_with_sep pr_spc pr_id
+ pr_sequence pr_id
(Idset.elements (Idset.inter h
(global_vars_set_of_decl env d))));
step ord' expected ctxt_head mh (d::ctxt_tail)
diff --git a/proofs/pfedit.ml b/proofs/pfedit.ml
index 3d507f358..9be475ac4 100644
--- a/proofs/pfedit.ml
+++ b/proofs/pfedit.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
@@ -79,7 +80,7 @@ let cook_proof hook =
hook prf;
match Proof_global.close_proof () with
| (i,([e],cg,str,h)) -> (i,(e,cg,str,h))
- | _ -> Util.anomaly "Pfedit.cook_proof: more than one proof term."
+ | _ -> Errors.anomaly "Pfedit.cook_proof: more than one proof term."
let xml_cook_proof = ref (fun _ -> ())
let set_xml_cook_proof f = xml_cook_proof := f
@@ -98,7 +99,7 @@ let get_used_variables () =
exception NoSuchGoal
let _ = Errors.register_handler begin function
- | NoSuchGoal -> Util.error "No such goal."
+ | NoSuchGoal -> Errors.error "No such goal."
| _ -> raise Errors.Unhandled
end
let get_nth_V82_goal i =
@@ -112,11 +113,11 @@ let get_goal_context_gen i =
try
let { it=goal ; sigma=sigma } = get_nth_V82_goal i in
(sigma, Refiner.pf_env { it=goal ; sigma=sigma })
- with Proof_global.NoCurrentProof -> Util.error "No focused proof."
+ with Proof_global.NoCurrentProof -> Errors.error "No focused proof."
let get_goal_context i =
try get_goal_context_gen i
- with NoSuchGoal -> Util.error "No such goal."
+ with NoSuchGoal -> Errors.error "No such goal."
let get_current_goal_context () =
try get_goal_context_gen 1
@@ -128,7 +129,7 @@ let get_current_goal_context () =
let current_proof_statement () =
match Proof_global.V82.get_current_initial_conclusions () with
| (id,([concl],strength,hook)) -> id,strength,concl,hook
- | _ -> Util.anomaly "Pfedit.current_proof_statement: more than one statement"
+ | _ -> Errors.anomaly "Pfedit.current_proof_statement: more than one statement"
let solve_nth ?(with_end_tac=false) gi tac =
try
@@ -140,10 +141,10 @@ let solve_nth ?(with_end_tac=false) gi tac =
in
Proof_global.run_tactic (Proofview.tclFOCUS gi gi tac)
with
- | Proof_global.NoCurrentProof -> Util.error "No focused proof"
+ | Proof_global.NoCurrentProof -> Errors.error "No focused proof"
| Proofview.IndexOutOfRange | Failure "list_chop" ->
let msg = str "No such goal: " ++ int gi ++ str "." in
- Util.errorlabstrm "" msg
+ Errors.errorlabstrm "" msg
let by = solve_nth 1
diff --git a/proofs/pfedit.mli b/proofs/pfedit.mli
index 7297b975f..e8b004200 100644
--- a/proofs/pfedit.mli
+++ b/proofs/pfedit.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Names
diff --git a/proofs/proof.ml b/proofs/proof.ml
index 871e68acf..42a522b7c 100644
--- a/proofs/proof.ml
+++ b/proofs/proof.ml
@@ -102,7 +102,7 @@ end
exception CannotUnfocusThisWay
let _ = Errors.register_handler begin function
| CannotUnfocusThisWay ->
- Util.error "This proof is focused, but cannot be unfocused this way"
+ Errors.error "This proof is focused, but cannot be unfocused this way"
| _ -> raise Errors.Unhandled
end
@@ -184,7 +184,7 @@ let push_focus cond inf context pr =
exception FullyUnfocused
let _ = Errors.register_handler begin function
- | FullyUnfocused -> Util.error "The proof is not focused"
+ | FullyUnfocused -> Errors.error "The proof is not focused"
| _ -> raise Errors.Unhandled
end
(* An auxiliary function to read the kind of the next focusing step *)
@@ -211,7 +211,7 @@ let push_undo save pr =
(* Auxiliary function to pop and read a [save_state] from the undo stack. *)
exception EmptyUndoStack
let _ = Errors.register_handler begin function
- | EmptyUndoStack -> Util.error "Cannot undo: no more undo information"
+ | EmptyUndoStack -> Errors.error "Cannot undo: no more undo information"
| _ -> raise Errors.Unhandled
end
let pop_undo pr =
@@ -387,8 +387,8 @@ let start goals =
exception UnfinishedProof
exception HasUnresolvedEvar
let _ = Errors.register_handler begin function
- | UnfinishedProof -> Util.error "Some goals have not been solved."
- | HasUnresolvedEvar -> Util.error "Some existential variables are uninstantiated."
+ | UnfinishedProof -> Errors.error "Some goals have not been solved."
+ | HasUnresolvedEvar -> Errors.error "Some existential variables are uninstantiated."
| _ -> raise Errors.Unhandled
end
let return p =
diff --git a/proofs/proof_global.ml b/proofs/proof_global.ml
index 9d5ba230e..63bc4a708 100644
--- a/proofs/proof_global.ml
+++ b/proofs/proof_global.ml
@@ -32,7 +32,7 @@ let proof_modes = Hashtbl.create 6
let find_proof_mode n =
try Hashtbl.find proof_modes n
with Not_found ->
- Util.error (Format.sprintf "No proof mode named \"%s\"." n)
+ Errors.error (Format.sprintf "No proof mode named \"%s\"." n)
let register_proof_mode ({ name = n } as m) = Hashtbl.add proof_modes n m
(* initial mode: standard mode *)
@@ -48,10 +48,10 @@ let _ =
optdepr = false;
optname = "default proof mode" ;
optkey = ["Default";"Proof";"Mode"] ;
- optread = begin fun () ->
- let { name = name } = !default_proof_mode in name
+ optread = begin fun () ->
+ let { name = name } = !default_proof_mode in name
end;
- optwrite = begin fun n ->
+ optwrite = begin fun n ->
default_proof_mode := find_proof_mode n
end
}
@@ -63,14 +63,14 @@ type nproof = identifier*Proof.proof
(* Extra info on proofs. *)
type lemma_possible_guards = int list list
-type proof_info = {
+type proof_info = {
strength : Decl_kinds.goal_kind ;
- compute_guard : lemma_possible_guards;
+ compute_guard : lemma_possible_guards;
hook :Tacexpr.declaration_hook ;
mode : proof_mode
}
-(* Invariant: a proof is at most in one of current_proof and suspended. And the
+(* Invariant: a proof is at most in one of current_proof and suspended. And the
domain of proof_info is the union of that of current_proof and suspended.*)
(* The head of [!current_proof] is the actual current proof, the other ones are to
be resumed when the current proof is closed, aborted or suspended. *)
@@ -82,15 +82,15 @@ let proof_info = ref (Idmap.empty : proof_info Idmap.t)
let current_proof_mode = ref !default_proof_mode
(* combinators for proof modes *)
-let update_proof_mode () =
+let update_proof_mode () =
match !current_proof with
- | (id,_)::_ ->
+ | (id,_)::_ ->
let { mode = m } = Idmap.find id !proof_info in
!current_proof_mode.reset ();
current_proof_mode := m;
!current_proof_mode.set ()
- | _ ->
- !current_proof_mode.reset ();
+ | _ ->
+ !current_proof_mode.reset ();
current_proof_mode := standard
(* combinators for the current_proof and suspended lists *)
@@ -99,10 +99,10 @@ let push a l = l := a::!l;
exception NoSuchProof
let _ = Errors.register_handler begin function
- | NoSuchProof -> Util.error "No such proof."
+ | NoSuchProof -> Errors.error "No such proof."
| _ -> raise Errors.Unhandled
end
-let rec extract id l =
+let rec extract id l =
let rec aux = function
| ((id',_) as np)::l when id_ord id id' = 0 -> (np,l)
| np::l -> let (np', l) = aux l in (np' , np::l)
@@ -115,13 +115,13 @@ let rec extract id l =
exception NoCurrentProof
let _ = Errors.register_handler begin function
- | NoCurrentProof -> Util.error "No focused proof (No proof-editing in progress)."
+ | NoCurrentProof -> Errors.error "No focused proof (No proof-editing in progress)."
| _ -> raise Errors.Unhandled
end
let extract_top l =
match !l with
| np::l' -> l := l' ; update_proof_mode (); np
- | [] -> raise NoCurrentProof
+ | [] -> raise NoCurrentProof
let find_top l =
match !l with
| np::_ -> np
@@ -134,7 +134,7 @@ let rotate_top l1 l2 =
let rotate_find id l1 l2 =
let np = extract id l1 in
push np l2
-
+
(* combinators for the proof_info map *)
let add id info m =
@@ -148,7 +148,7 @@ let get_all_proof_names () =
List.map fst !current_proof @
List.map fst !suspended
-let give_me_the_proof () =
+let give_me_the_proof () =
snd (find_top current_proof)
let get_current_proof_name () =
@@ -157,14 +157,14 @@ let get_current_proof_name () =
(* spiwack: it might be considered to move error messages away.
Or else to remove special exceptions from Proof_global.
Arguments for the former: there is no reason Proof_global is only
- accessed directly through vernacular commands. Error message should be
+ accessed directly through vernacular commands. Error message should be
pushed to external layers, and so we should be able to have a finer
control on error message on complex actions. *)
let msg_proofs use_resume =
match get_all_proof_names () with
| [] -> (spc () ++ str"(No proof-editing in progress).")
| l -> (str"." ++ fnl () ++ str"Proofs currently edited:" ++ spc () ++
- (Util.prlist_with_sep Util.pr_spc Nameops.pr_id l) ++
+ (pr_sequence Nameops.pr_id l) ++
str"." ++
(if use_resume then (fnl () ++ str"Use \"Resume\" first.")
else (mt ()))
@@ -173,14 +173,14 @@ let msg_proofs use_resume =
let there_is_a_proof () = !current_proof <> []
let there_are_suspended_proofs () = !suspended <> []
-let there_are_pending_proofs () =
- there_is_a_proof () ||
+let there_are_pending_proofs () =
+ there_is_a_proof () ||
there_are_suspended_proofs ()
-let check_no_pending_proof () =
+let check_no_pending_proof () =
if not (there_are_pending_proofs ()) then
()
else begin
- Util.error (Pp.string_of_ppcmds
+ Errors.error (Pp.string_of_ppcmds
(str"Proof editing in progress" ++ (msg_proofs false) ++ fnl() ++
str"Use \"Abort All\" first or complete proof(s)."))
end
@@ -196,24 +196,24 @@ let resume id =
rotate_find id suspended current_proof
let discard_gen id =
- try
+ try
ignore (extract id current_proof);
remove id proof_info
with NoSuchProof -> ignore (extract id suspended)
-let discard (loc,id) =
+let discard (loc,id) =
try
discard_gen id
with NoSuchProof ->
- Util.user_err_loc
+ Errors.user_err_loc
(loc,"Pfedit.delete_proof",str"No such proof" ++ msg_proofs false)
let discard_current () =
let (id,_) = extract_top current_proof in
remove id proof_info
-
+
let discard_all () =
- current_proof := [];
+ current_proof := [];
suspended := [];
proof_info := Idmap.empty
@@ -222,7 +222,7 @@ let discard_all () =
(* Core component.
No undo handling.
Applies to proof [id], and proof mode [m]. *)
-let set_proof_mode m id =
+let set_proof_mode m id =
let info = Idmap.find id !proof_info in
let info = { info with mode = m } in
proof_info := Idmap.add id info !proof_info;
@@ -241,7 +241,7 @@ let set_proof_mode mn =
exception AlreadyExists
let _ = Errors.register_handler begin function
- | AlreadyExists -> Util.error "Already editing something of that name."
+ | AlreadyExists -> Errors.error "Already editing something of that name."
| _ -> raise Errors.Unhandled
end
(* [start_proof s str env t hook tac] starts a proof of name [s] and
@@ -259,14 +259,14 @@ let start_proof id str goals ?(compute_guard=[]) hook =
end !current_proof
end;
let p = Proof.start goals in
- add id { strength=str ;
- compute_guard=compute_guard ;
+ add id { strength=str ;
+ compute_guard=compute_guard ;
hook=hook ;
mode = ! default_proof_mode } proof_info ;
push (id,p) current_proof
(* arnaud: à enlever *)
-let run_tactic tac =
+let run_tactic tac =
let p = give_me_the_proof () in
let env = Global.env () in
Proof.run_tactic env tac p
@@ -293,7 +293,7 @@ let with_end_tac tac =
let close_proof () =
(* spiwack: for now close_proof doesn't actually discard the proof, it is done
by [Command.save]. *)
- try
+ try
let id = get_current_proof_name () in
let p = give_me_the_proof () in
let proofs_and_types = Proof.return p in
@@ -309,11 +309,11 @@ let close_proof () =
Idmap.find id !proof_info
in
(id, (entries,cg,str,hook))
- with
+ with
| Proof.UnfinishedProof ->
- Util.error "Attempt to save an incomplete proof"
+ Errors.error "Attempt to save an incomplete proof"
| Proof.HasUnresolvedEvar ->
- Util.error "Attempt to save a proof with existential variables still non-instantiated"
+ Errors.error "Attempt to save a proof with existential variables still non-instantiated"
(**********************************************************)
@@ -392,7 +392,7 @@ module Bullet = struct
while bul <> pop p do () done;
push bul p
end
- else
+ else
push bul p
let strict = {
@@ -404,7 +404,7 @@ module Bullet = struct
(* Current bullet behavior, controled by the option *)
let current_behavior = ref Strict.strict
-
+
let _ =
Goptions.declare_string_option {Goptions.
optsync = true;
@@ -428,7 +428,7 @@ module V82 = struct
let get_current_initial_conclusions () =
let p = give_me_the_proof () in
let id = get_current_proof_name () in
- let { strength=str ; hook=hook } =
+ let { strength=str ; hook=hook } =
Idmap.find id !proof_info
in
(id,(Proof.V82.get_initial_conclusions p, str, hook))
diff --git a/proofs/proof_global.mli b/proofs/proof_global.mli
index ed6a60c71..8e09ab9c1 100644
--- a/proofs/proof_global.mli
+++ b/proofs/proof_global.mli
@@ -35,7 +35,7 @@ val check_no_pending_proof : unit -> unit
val get_current_proof_name : unit -> Names.identifier
val get_all_proof_names : unit -> Names.identifier list
-val discard : Names.identifier Util.located -> unit
+val discard : Names.identifier Pp.located -> unit
val discard_current : unit -> unit
val discard_all : unit -> unit
diff --git a/proofs/proof_type.ml b/proofs/proof_type.ml
index e256794a7..876982407 100644
--- a/proofs/proof_type.ml
+++ b/proofs/proof_type.ml
@@ -12,7 +12,7 @@ open Evd
open Names
open Libnames
open Term
-open Util
+open Pp
open Tacexpr
(* open Decl_expr *)
open Glob_term
diff --git a/proofs/proof_type.mli b/proofs/proof_type.mli
index 2b0a10ba3..10e2ad323 100644
--- a/proofs/proof_type.mli
+++ b/proofs/proof_type.mli
@@ -11,7 +11,7 @@ open Evd
open Names
open Libnames
open Term
-open Util
+open Pp
open Tacexpr
open Glob_term
open Genarg
diff --git a/proofs/proofview.ml b/proofs/proofview.ml
index 4246cc9c7..ff0e8de41 100644
--- a/proofs/proofview.ml
+++ b/proofs/proofview.ml
@@ -111,7 +111,7 @@ let focus_sublist i j l =
try
Util.list_chop (j-i+1) sub_right
with Failure "list_chop" ->
- Util.errorlabstrm "nth_unproven" (Pp.str"No such unproven subgoal")
+ Errors.errorlabstrm "nth_unproven" (Pp.str"No such unproven subgoal")
in
(sub, (left,right))
@@ -280,7 +280,7 @@ let tclFOCUS i j t env = { go = fun sk fk step ->
is used otherwise. *)
exception SizeMismatch
let _ = Errors.register_handler begin function
- | SizeMismatch -> Util.error "Incorrect number of goals."
+ | SizeMismatch -> Errors.error "Incorrect number of goals."
| _ -> raise Errors.Unhandled
end
(* spiwack: we use an parametrised function to generate the dispatch tacticals.
@@ -316,7 +316,7 @@ let rec tclDISPATCHGEN null join tacs env = { go = fun sk fk step ->
on with these exceptions. Does not catch anomalies. *)
let purify t =
let t' env = { go = fun sk fk step -> try (t env).go (fun x -> sk (Util.Inl x)) fk step
- with Util.Anomaly _ as e -> raise e
+ with Errors.Anomaly _ as e -> raise e
| e -> sk (Util.Inr e) fk step
}
in
@@ -400,7 +400,7 @@ let rec tclGOALBINDU s k =
open Pretype_errors
let rec catchable_exception = function
| Loc.Exc_located(_,e) -> catchable_exception e
- | Util.UserError _
+ | Errors.UserError _
| Type_errors.TypeError _ | PretypeError (_,_,TypingError _)
| Indrec.RecursionSchemeError _
| Nametab.GlobalizationError _ | PretypeError (_,_,VarNotFound _)
@@ -505,9 +505,9 @@ module V82 = struct
let (evk,_) =
let evl = Evarutil.non_instantiated pv.solution in
if (n <= 0) then
- Util.error "incorrect existential variable index"
+ Errors.error "incorrect existential variable index"
else if List.length evl < n then
- Util.error "not so many uninstantiated existential variables"
+ Errors.error "not so many uninstantiated existential variables"
else
List.nth evl (n-1)
in
diff --git a/proofs/redexpr.ml b/proofs/redexpr.ml
index 10e1e66cb..bddf77d1f 100644
--- a/proofs/redexpr.ml
+++ b/proofs/redexpr.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/proofs/refiner.ml b/proofs/refiner.ml
index 5cd855476..19c09571f 100644
--- a/proofs/refiner.ml
+++ b/proofs/refiner.ml
@@ -8,6 +8,7 @@
open Compat
open Pp
+open Errors
open Util
open Term
open Termops
diff --git a/proofs/tacexpr.ml b/proofs/tacexpr.ml
index b8279b8f9..90dddb748 100644
--- a/proofs/tacexpr.ml
+++ b/proofs/tacexpr.ml
@@ -11,6 +11,8 @@ open Topconstr
open Libnames
open Nametab
open Glob_term
+open Errors
+open Pp
open Util
open Genarg
open Pattern
diff --git a/proofs/tacmach.ml b/proofs/tacmach.ml
index 5475daa89..75e9cdf62 100644
--- a/proofs/tacmach.ml
+++ b/proofs/tacmach.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Namegen
@@ -217,5 +218,5 @@ let pr_gls gls =
let pr_glls glls =
hov 0 (pr_evar_map (Some 2) (sig_sig glls) ++ fnl () ++
- prlist_with_sep pr_fnl (db_pr_goal (project glls)) (sig_it glls))
+ prlist_with_sep fnl (db_pr_goal (project glls)) (sig_it glls))
diff --git a/proofs/tactic_debug.mli b/proofs/tactic_debug.mli
index 62c2359b6..74c831487 100644
--- a/proofs/tactic_debug.mli
+++ b/proofs/tactic_debug.mli
@@ -78,4 +78,4 @@ val db_logic_failure : debug_info -> exn -> unit
(** Prints a logic failure message for a rule *)
val db_breakpoint : debug_info ->
- identifier Util.located message_token list -> unit
+ identifier Pp.located message_token list -> unit
diff --git a/scripts/coqc.ml b/scripts/coqc.ml
index bc4b1321e..ce92b9118 100644
--- a/scripts/coqc.ml
+++ b/scripts/coqc.ml
@@ -151,7 +151,7 @@ let parse_args () =
| ("-where") :: _ ->
(try print_endline (Envars.coqlib ())
- with Util.UserError(_,pps) -> Pp.msgerrnl (Pp.hov 0 pps));
+ with Errors.UserError(_,pps) -> Pp.msgerrnl (Pp.hov 0 pps));
exit 0
| ("-config" | "--config") :: _ -> Usage.print_config (); exit 0
diff --git a/scripts/coqmktop.ml b/scripts/coqmktop.ml
index 7dcfbab16..d0132763a 100644
--- a/scripts/coqmktop.ml
+++ b/scripts/coqmktop.ml
@@ -223,7 +223,7 @@ let declare_loading_string () =
\n let ppf = Format.std_formatter;;\
\n Mltop.set_top\
\n {Mltop.load_obj=\
-\n (fun f -> if not (Topdirs.load_file ppf f) then Util.error (\"Could not load plugin \"^f));\
+\n (fun f -> if not (Topdirs.load_file ppf f) then Errors.error (\"Could not load plugin \"^f));\
\n Mltop.use_file=Topdirs.dir_use ppf;\
\n Mltop.add_dir=Topdirs.dir_directory;\
\n Mltop.ml_loop=(fun () -> Toploop.loop ppf) };;\
diff --git a/tactics/auto.ml b/tactics/auto.ml
index 93ca89f47..c650565c0 100644
--- a/tactics/auto.ml
+++ b/tactics/auto.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
@@ -268,7 +269,7 @@ let path_derivate hp hint = normalize_path (path_derivate hp hint)
let rec pp_hints_path = function
| PathAtom (PathAny) -> str"."
- | PathAtom (PathHints grs) -> prlist_with_sep pr_spc pr_global grs
+ | PathAtom (PathHints grs) -> pr_sequence pr_global grs
| PathStar p -> str "(" ++ pp_hints_path p ++ str")*"
| PathSeq (p, p') -> pp_hints_path p ++ str" ; " ++ pp_hints_path p'
| PathOr (p, p') ->
@@ -960,7 +961,7 @@ let print_applicable_hint () =
let pts = get_pftreestate () in
let glss = Proof.V82.subgoals pts in
match glss.Evd.it with
- | [] -> Util.error "No focused goal."
+ | [] -> Errors.error "No focused goal."
| g::_ ->
let gl = { Evd.it = g; sigma = glss.Evd.sigma } in
print_hint_term (pf_concl gl)
diff --git a/tactics/auto.mli b/tactics/auto.mli
index 521c5ed24..bd425c1de 100644
--- a/tactics/auto.mli
+++ b/tactics/auto.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/tactics/autorewrite.ml b/tactics/autorewrite.ml
index a974c76a0..990da9306 100644
--- a/tactics/autorewrite.ml
+++ b/tactics/autorewrite.ml
@@ -16,6 +16,7 @@ open Tacinterp
open Tactics
open Term
open Termops
+open Errors
open Util
open Glob_term
open Vernacinterp
@@ -203,7 +204,7 @@ let auto_multi_rewrite_with ?(conds=Naive) tac_main lbas cl gl =
*)
gen_auto_multi_rewrite conds tac_main lbas cl gl
| _ ->
- Util.errorlabstrm "autorewrite"
+ Errors.errorlabstrm "autorewrite"
(strbrk "autorewrite .. in .. using can only be used either with a unique hypothesis or on the conclusion.")
(* Functions necessary to the library object declaration *)
diff --git a/tactics/autorewrite.mli b/tactics/autorewrite.mli
index 3205b0418..6481217b6 100644
--- a/tactics/autorewrite.mli
+++ b/tactics/autorewrite.mli
@@ -12,7 +12,7 @@ open Tacmach
open Equality
(** Rewriting rules before tactic interpretation *)
-type raw_rew_rule = Util.loc * Term.constr * bool * Tacexpr.raw_tactic_expr
+type raw_rew_rule = Pp.loc * Term.constr * bool * Tacexpr.raw_tactic_expr
(** To add rewriting rules to a base *)
val add_rew_rules : string -> raw_rew_rule list -> unit
@@ -56,6 +56,6 @@ type hypinfo = {
}
val find_applied_relation : bool ->
- Util.loc ->
+ Pp.loc ->
Environ.env -> Evd.evar_map -> Term.constr -> bool -> hypinfo
diff --git a/tactics/class_tactics.ml4 b/tactics/class_tactics.ml4
index 42df244de..4a850db66 100644
--- a/tactics/class_tactics.ml4
+++ b/tactics/class_tactics.ml4
@@ -9,6 +9,7 @@
(*i camlp4deps: "parsing/grammar.cma" i*)
open Pp
+open Errors
open Util
open Names
open Nameops
@@ -212,7 +213,7 @@ let nb_empty_evars s =
let pr_ev evs ev = Printer.pr_constr_env (Goal.V82.env evs ev) (Evarutil.nf_evar evs (Goal.V82.concl evs ev))
-let pr_depth l = prlist_with_sep (fun () -> str ".") pr_int (List.rev l)
+let pr_depth l = prlist_with_sep (fun () -> str ".") int (List.rev l)
type autoinfo = { hints : Auto.hint_db; is_evar: existential_key option;
only_classes: bool; auto_depth: int list; auto_last_tac: std_ppcmds Lazy.t;
@@ -744,7 +745,7 @@ ARGUMENT EXTEND debug TYPED AS bool PRINTED BY pr_debug
END
let pr_depth _prc _prlc _prt = function
- Some i -> Util.pr_int i
+ Some i -> Pp.int i
| None -> Pp.mt()
ARGUMENT EXTEND depth TYPED AS int option PRINTED BY pr_depth
diff --git a/tactics/contradiction.ml b/tactics/contradiction.ml
index a3d43623e..f8cca076f 100644
--- a/tactics/contradiction.ml
+++ b/tactics/contradiction.ml
@@ -6,7 +6,8 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Pp
+open Errors
open Term
open Proof_type
open Hipattern
diff --git a/tactics/dhyp.ml b/tactics/dhyp.ml
index fd924707c..e7c4e0676 100644
--- a/tactics/dhyp.ml
+++ b/tactics/dhyp.ml
@@ -110,6 +110,7 @@ Qed.
*)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/tactics/eauto.ml4 b/tactics/eauto.ml4
index 9966fb772..4923aa720 100644
--- a/tactics/eauto.ml4
+++ b/tactics/eauto.ml4
@@ -9,6 +9,7 @@
(*i camlp4deps: "parsing/grammar.cma" i*)
open Pp
+open Errors
open Util
open Names
open Nameops
@@ -505,7 +506,7 @@ let pr_hints_path_atom prc _ _ a =
match a with
| PathAny -> str"."
| PathHints grs ->
- prlist_with_sep pr_spc Printer.pr_global grs
+ pr_sequence Printer.pr_global grs
ARGUMENT EXTEND hints_path_atom
TYPED AS hints_path_atom
diff --git a/tactics/elim.ml b/tactics/elim.ml
index 1ff8800f1..aa13d27b1 100644
--- a/tactics/elim.ml
+++ b/tactics/elim.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/tactics/elim.mli b/tactics/elim.mli
index 48a7ca68c..c40d1cbbc 100644
--- a/tactics/elim.mli
+++ b/tactics/elim.mli
@@ -19,7 +19,7 @@ val introElimAssumsThen :
(branch_assumptions -> tactic) -> branch_args -> tactic
val introCaseAssumsThen :
- (intro_pattern_expr Util.located list -> branch_assumptions -> tactic) ->
+ (intro_pattern_expr Pp.located list -> branch_assumptions -> tactic) ->
branch_args -> tactic
val general_decompose : (identifier * constr -> bool) -> constr -> tactic
diff --git a/tactics/eqdecide.ml4 b/tactics/eqdecide.ml4
index 6d40b2daf..1a65f6278 100644
--- a/tactics/eqdecide.ml4
+++ b/tactics/eqdecide.ml4
@@ -14,6 +14,7 @@
(*i camlp4deps: "parsing/grammar.cma" i*)
+open Errors
open Util
open Names
open Namegen
diff --git a/tactics/eqschemes.ml b/tactics/eqschemes.ml
index 779fe265b..fe380db7c 100644
--- a/tactics/eqschemes.ml
+++ b/tactics/eqschemes.ml
@@ -44,6 +44,7 @@
natural expectation of the user.
*)
+open Errors
open Util
open Names
open Term
diff --git a/tactics/equality.ml b/tactics/equality.ml
index 10fd0fef9..e3b62e496 100644
--- a/tactics/equality.ml
+++ b/tactics/equality.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/tactics/equality.mli b/tactics/equality.mli
index 790594699..12deb7d32 100644
--- a/tactics/equality.mli
+++ b/tactics/equality.mli
@@ -7,6 +7,7 @@
(************************************************************************)
(*i*)
+open Pp
open Util
open Names
open Term
diff --git a/tactics/evar_tactics.ml b/tactics/evar_tactics.ml
index 992fdc915..f1341762a 100644
--- a/tactics/evar_tactics.ml
+++ b/tactics/evar_tactics.ml
@@ -7,7 +7,8 @@
(************************************************************************)
open Term
-open Util
+open Pp
+open Errors
open Evar_refiner
open Tacmach
open Tacexpr
diff --git a/tactics/extraargs.ml4 b/tactics/extraargs.ml4
index 6a13ac2a9..0496d758b 100644
--- a/tactics/extraargs.ml4
+++ b/tactics/extraargs.ml4
@@ -127,7 +127,7 @@ END
type 'id gen_place= ('id * hyp_location_flag,unit) location
-type loc_place = identifier Util.located gen_place
+type loc_place = identifier Pp.located gen_place
type place = identifier gen_place
let pr_gen_place pr_id = function
@@ -166,11 +166,11 @@ ARGUMENT EXTEND hloc
| [ "in" "|-" "*" ] ->
[ ConclLocation () ]
| [ "in" ident(id) ] ->
- [ HypLocation ((Util.dummy_loc,id),InHyp) ]
+ [ HypLocation ((Pp.dummy_loc,id),InHyp) ]
| [ "in" "(" "Type" "of" ident(id) ")" ] ->
- [ HypLocation ((Util.dummy_loc,id),InHypTypeOnly) ]
+ [ HypLocation ((Pp.dummy_loc,id),InHypTypeOnly) ]
| [ "in" "(" "Value" "of" ident(id) ")" ] ->
- [ HypLocation ((Util.dummy_loc,id),InHypValueOnly) ]
+ [ HypLocation ((Pp.dummy_loc,id),InHypValueOnly) ]
END
@@ -203,7 +203,7 @@ let pr_in_hyp pr_id (lo,concl) : Pp.std_ppcmds =
| None,false -> str "in" ++ spc () ++ str "*" ++ spc () ++ str "|-"
| Some l,_ ->
str "in" ++
- Util.prlist (fun id -> spc () ++ pr_id id) l ++
+ pr_sequence pr_id l ++
match concl with
| true -> spc () ++ str "|-" ++ spc () ++ str "*"
| _ -> mt ()
@@ -214,7 +214,7 @@ let pr_in_arg_hyp _ _ _ = pr_in_hyp (fun (_,id) -> Ppconstr.pr_id id)
let pr_in_arg_hyp_typed _ _ _ = pr_in_hyp Ppconstr.pr_id
-let pr_var_list_gen pr_id = Util.prlist_with_sep (fun () -> str ",") pr_id
+let pr_var_list_gen pr_id = Pp.prlist_with_sep (fun () -> str ",") pr_id
let pr_var_list_typed _ _ _ = pr_var_list_gen Ppconstr.pr_id
diff --git a/tactics/extraargs.mli b/tactics/extraargs.mli
index 2abca40eb..a682af04f 100644
--- a/tactics/extraargs.mli
+++ b/tactics/extraargs.mli
@@ -30,7 +30,7 @@ val glob : constr_expr Pcoq.Gram.entry
type 'id gen_place= ('id * hyp_location_flag,unit) location
-type loc_place = identifier Util.located gen_place
+type loc_place = identifier Pp.located gen_place
type place = identifier gen_place
val rawwit_hloc : loc_place raw_abstract_argument_type
@@ -38,10 +38,10 @@ val wit_hloc : place typed_abstract_argument_type
val hloc : loc_place Pcoq.Gram.entry
val pr_hloc : loc_place -> Pp.std_ppcmds
-val in_arg_hyp: (Names.identifier Util.located list option * bool) Pcoq.Gram.entry
-val rawwit_in_arg_hyp : (Names.identifier Util.located list option * bool) raw_abstract_argument_type
+val in_arg_hyp: (Names.identifier Pp.located list option * bool) Pcoq.Gram.entry
+val rawwit_in_arg_hyp : (Names.identifier Pp.located list option * bool) raw_abstract_argument_type
val wit_in_arg_hyp : (Names.identifier list option * bool) typed_abstract_argument_type
-val raw_in_arg_hyp_to_clause : (Names.identifier Util.located list option * bool) -> Tacticals.clause
+val raw_in_arg_hyp_to_clause : (Names.identifier Pp.located list option * bool) -> Tacticals.clause
val glob_in_arg_hyp_to_clause : (Names.identifier list option * bool) -> Tacticals.clause
val pr_in_arg_hyp : (Names.identifier list option * bool) -> Pp.std_ppcmds
diff --git a/tactics/extratactics.ml4 b/tactics/extratactics.ml4
index 44a3b0173..9c0d5db2c 100644
--- a/tactics/extratactics.ml4
+++ b/tactics/extratactics.ml4
@@ -17,6 +17,7 @@ open Names
open Tacexpr
open Glob_term
open Tactics
+open Errors
open Util
open Evd
open Equality
@@ -60,7 +61,7 @@ END
let induction_arg_of_quantified_hyp = function
| AnonHyp n -> ElimOnAnonHyp n
- | NamedHyp id -> ElimOnIdent (Util.dummy_loc,id)
+ | NamedHyp id -> ElimOnIdent (Pp.dummy_loc,id)
(* Versions *_main must come first!! so that "1" is interpreted as a
ElimOnAnonHyp and not as a "constr", and "id" is interpreted as a
diff --git a/tactics/hiddentac.ml b/tactics/hiddentac.ml
index fafc681ae..302bde6e6 100644
--- a/tactics/hiddentac.ml
+++ b/tactics/hiddentac.ml
@@ -62,10 +62,10 @@ let h_generalize cl =
let h_generalize_dep c =
abstract_tactic (TacGeneralizeDep c) (generalize_dep c)
let h_let_tac b na c cl =
- let with_eq = if b then None else Some (true,(dummy_loc,IntroAnonymous)) in
+ let with_eq = if b then None else Some (true,(Pp.dummy_loc,IntroAnonymous)) in
abstract_tactic (TacLetTac (na,c,cl,b)) (letin_tac with_eq na c None cl)
let h_let_pat_tac b na c cl =
- let with_eq = if b then None else Some (true,(dummy_loc,IntroAnonymous)) in
+ let with_eq = if b then None else Some (true,(Pp.dummy_loc,IntroAnonymous)) in
abstract_tactic (TacLetTac (na,snd c,cl,b))
(letin_pat_tac with_eq na c None cl)
@@ -130,8 +130,8 @@ let h_transitivity c =
abstract_tactic (TacTransitivity c)
(intros_transitivity c)
-let h_simplest_apply c = h_apply false false [dummy_loc,(c,NoBindings)]
-let h_simplest_eapply c = h_apply false true [dummy_loc,(c,NoBindings)]
+let h_simplest_apply c = h_apply false false [Pp.dummy_loc,(c,NoBindings)]
+let h_simplest_eapply c = h_apply false true [Pp.dummy_loc,(c,NoBindings)]
let h_simplest_elim c = h_elim false (c,NoBindings) None
let h_simplest_case c = h_case false (c,NoBindings)
diff --git a/tactics/hiddentac.mli b/tactics/hiddentac.mli
index 96e7e3f03..ca683cc24 100644
--- a/tactics/hiddentac.mli
+++ b/tactics/hiddentac.mli
@@ -7,7 +7,7 @@
(************************************************************************)
open Names
-open Util
+open Pp
open Term
open Proof_type
open Tacmach
diff --git a/tactics/hipattern.ml4 b/tactics/hipattern.ml4
index 9057c60d3..6f07eed70 100644
--- a/tactics/hipattern.ml4
+++ b/tactics/hipattern.ml4
@@ -9,6 +9,7 @@
(*i camlp4deps: "parsing/grammar.cma parsing/q_constr.cmo" i*)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/tactics/hipattern.mli b/tactics/hipattern.mli
index aa3863649..82e9e3b8e 100644
--- a/tactics/hipattern.mli
+++ b/tactics/hipattern.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/tactics/inv.ml b/tactics/inv.ml
index 2ae4e22e5..47e50d832 100644
--- a/tactics/inv.ml
+++ b/tactics/inv.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/tactics/inv.mli b/tactics/inv.mli
index ef828d882..a7e70dd0d 100644
--- a/tactics/inv.mli
+++ b/tactics/inv.mli
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Pp
open Names
open Term
open Tacmach
diff --git a/tactics/leminv.ml b/tactics/leminv.ml
index 1697c1465..33f8c9eef 100644
--- a/tactics/leminv.ml
+++ b/tactics/leminv.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/tactics/leminv.mli b/tactics/leminv.mli
index 233aeba3a..d5deff1f5 100644
--- a/tactics/leminv.mli
+++ b/tactics/leminv.mli
@@ -1,4 +1,4 @@
-open Util
+open Pp
open Names
open Term
open Glob_term
diff --git a/tactics/nbtermdn.ml b/tactics/nbtermdn.ml
index 4e34fae84..dce518f87 100644
--- a/tactics/nbtermdn.ml
+++ b/tactics/nbtermdn.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Term
diff --git a/tactics/refine.ml b/tactics/refine.ml
index e7f3998aa..fa023e78e 100644
--- a/tactics/refine.ml
+++ b/tactics/refine.ml
@@ -47,6 +47,7 @@
*)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/tactics/rewrite.ml4 b/tactics/rewrite.ml4
index ef3ec1470..b8bd166b9 100644
--- a/tactics/rewrite.ml4
+++ b/tactics/rewrite.ml4
@@ -9,6 +9,7 @@
(*i camlp4deps: "parsing/grammar.cma" i*)
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index e2a99707f..d4a7be4ec 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -18,6 +18,7 @@ open Pp
open Glob_term
open Sign
open Tacred
+open Errors
open Util
open Names
open Nameops
diff --git a/tactics/tacinterp.mli b/tactics/tacinterp.mli
index d9dc8094f..4d01e5ad9 100644
--- a/tactics/tacinterp.mli
+++ b/tactics/tacinterp.mli
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Proof_type
@@ -102,7 +103,7 @@ val intern_constr_with_bindings :
glob_constr_and_expr * glob_constr_and_expr Glob_term.bindings
val intern_hyp :
- glob_sign -> identifier Util.located -> identifier Util.located
+ glob_sign -> identifier Pp.located -> identifier Pp.located
val subst_genarg :
substitution -> glob_generic_argument -> glob_generic_argument
diff --git a/tactics/tacticals.ml b/tactics/tacticals.ml
index 11625cbdf..2bb9c1cbe 100644
--- a/tactics/tacticals.ml
+++ b/tactics/tacticals.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Term
diff --git a/tactics/tacticals.mli b/tactics/tacticals.mli
index db9ab0c9b..42c70eef4 100644
--- a/tactics/tacticals.mli
+++ b/tactics/tacticals.mli
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Term
@@ -170,7 +171,7 @@ type branch_assumptions = {
(** [check_disjunctive_pattern_size loc pats n] returns an appropriate
error message if |pats| <> n *)
val check_or_and_pattern_size :
- Util.loc -> or_and_intro_pattern_expr -> int -> unit
+ Pp.loc -> or_and_intro_pattern_expr -> int -> unit
(** Tolerate "[]" to mean a disjunctive pattern of any length *)
val fix_empty_or_and_pattern : int -> or_and_intro_pattern_expr ->
diff --git a/tactics/tactics.ml b/tactics/tactics.ml
index 11b0b9b81..0f23d512f 100644
--- a/tactics/tactics.ml
+++ b/tactics/tactics.ml
@@ -8,6 +8,7 @@
open Compat
open Pp
+open Errors
open Util
open Names
open Nameops
diff --git a/tactics/tactics.mli b/tactics/tactics.mli
index f8f32b792..6e3c2cff4 100644
--- a/tactics/tactics.mli
+++ b/tactics/tactics.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Pp
open Util
open Names
open Term
diff --git a/tactics/tauto.ml4 b/tactics/tauto.ml4
index b7a58be45..c953bedcb 100644
--- a/tactics/tauto.ml4
+++ b/tactics/tauto.ml4
@@ -17,6 +17,7 @@ open Proof_type
open Tacticals
open Tacinterp
open Tactics
+open Errors
open Util
open Genarg
diff --git a/tactics/termdn.ml b/tactics/termdn.ml
index 443acc6f5..5f6e5580e 100644
--- a/tactics/termdn.ml
+++ b/tactics/termdn.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Nameops
diff --git a/test-suite/output/Arguments.out b/test-suite/output/Arguments.out
index 7c9b1e27c..f5636fbf9 100644
--- a/test-suite/output/Arguments.out
+++ b/test-suite/output/Arguments.out
@@ -22,16 +22,15 @@ Expands to: Constant Coq.Init.Peano.minus
minus : nat -> nat -> nat
Argument scopes are [nat_scope nat_scope]
-The simpl tactic unfolds minus
- when the 1st and 2nd arguments evaluate to a constructor and
- when applied to 2 arguments
+The simpl tactic unfolds minus when the 1st and
+ 2nd arguments evaluate to a constructor and when applied to 2 arguments
minus is transparent
Expands to: Constant Coq.Init.Peano.minus
minus : nat -> nat -> nat
Argument scopes are [nat_scope nat_scope]
-The simpl tactic unfolds minus
- when the 1st and 2nd arguments evaluate to a constructor
+The simpl tactic unfolds minus when the 1st and
+ 2nd arguments evaluate to a constructor
minus is transparent
Expands to: Constant Coq.Init.Peano.minus
pf :
@@ -65,30 +64,30 @@ Expands to: Constant Top.S1.S2.f
f : T1 -> T2 -> nat -> unit -> nat -> nat
Argument scopes are [_ _ nat_scope _ nat_scope]
-The simpl tactic unfolds f
- when the 3rd, 4th and 5th arguments evaluate to a constructor
+The simpl tactic unfolds f when the 3rd, 4th and
+ 5th arguments evaluate to a constructor
f is transparent
Expands to: Constant Top.S1.S2.f
f : forall T2 : Type, T1 -> T2 -> nat -> unit -> nat -> nat
Argument T2 is implicit
Argument scopes are [type_scope _ _ nat_scope _ nat_scope]
-The simpl tactic unfolds f
- when the 4th, 5th and 6th arguments evaluate to a constructor
+The simpl tactic unfolds f when the 4th, 5th and
+ 6th arguments evaluate to a constructor
f is transparent
Expands to: Constant Top.S1.f
f : forall T1 T2 : Type, T1 -> T2 -> nat -> unit -> nat -> nat
Arguments T1, T2 are implicit
Argument scopes are [type_scope type_scope _ _ nat_scope _ nat_scope]
-The simpl tactic unfolds f
- when the 5th, 6th and 7th arguments evaluate to a constructor
+The simpl tactic unfolds f when the 5th, 6th and
+ 7th arguments evaluate to a constructor
f is transparent
Expands to: Constant Top.f
f : forall T1 T2 : Type, T1 -> T2 -> nat -> unit -> nat -> nat
-The simpl tactic unfolds f
- when the 5th, 6th and 7th arguments evaluate to a constructor
+The simpl tactic unfolds f when the 5th, 6th and
+ 7th arguments evaluate to a constructor
f is transparent
Expands to: Constant Top.f
forall w : r, w 3 true = tt
diff --git a/test-suite/output/Arguments_renaming.out b/test-suite/output/Arguments_renaming.out
index e443115cb..20042a5ed 100644
--- a/test-suite/output/Arguments_renaming.out
+++ b/test-suite/output/Arguments_renaming.out
@@ -53,8 +53,8 @@ myplus : forall T : Type, T -> nat -> nat -> nat
Arguments are renamed to Z, t, n, m
Argument Z is implicit and maximally inserted
Argument scopes are [type_scope _ nat_scope nat_scope]
-The simpl tactic unfolds myplus
- when the 2nd and 3rd arguments evaluate to a constructor
+The simpl tactic unfolds myplus when the 2nd and
+ 3rd arguments evaluate to a constructor
myplus is transparent
Expands to: Constant Top.Test1.myplus
myplus
@@ -90,8 +90,8 @@ myplus : forall T : Type, T -> nat -> nat -> nat
Arguments are renamed to Z, t, n, m
Argument Z is implicit and maximally inserted
Argument scopes are [type_scope _ nat_scope nat_scope]
-The simpl tactic unfolds myplus
- when the 2nd and 3rd arguments evaluate to a constructor
+The simpl tactic unfolds myplus when the 2nd and
+ 3rd arguments evaluate to a constructor
myplus is transparent
Expands to: Constant Top.myplus
myplus
diff --git a/toplevel/auto_ind_decl.ml b/toplevel/auto_ind_decl.ml
index f4dab15f0..0357fc8a3 100644
--- a/toplevel/auto_ind_decl.ml
+++ b/toplevel/auto_ind_decl.ml
@@ -10,6 +10,7 @@
decidable equality, created by Vincent Siles, Oct 2007 *)
open Tacmach
+open Errors
open Util
open Flags
open Decl_kinds
diff --git a/toplevel/autoinstance.ml b/toplevel/autoinstance.ml
index 9258a39fc..1795336f4 100644
--- a/toplevel/autoinstance.ml
+++ b/toplevel/autoinstance.ml
@@ -53,7 +53,7 @@ let subst_evar_in_evm evar def evm =
let rec safe_define evm ev c =
if not (closedn (-1) c) then raise Termops.CannotFilter else
-(* msgnl(str"safe_define "++pr_evar_map evm++spc()++str" |- ?"++Util.pr_int ev++str" := "++pr_constr c);*)
+(* msgnl(str"safe_define "++pr_evar_map evm++spc()++str" |- ?"++Pp.int ev++str" := "++pr_constr c);*)
let evi = (Evd.find evm ev) in
let define_subst evm sigma =
Util.Intmap.fold
@@ -99,7 +99,7 @@ module SubstSet : Set.S with type elt = Termops.subst
let complete_evar (cl,gen,evm:signature) (ev,evi) (k:signature -> unit) =
let ev_typ = Libtypes.reduce (evar_concl evi) in
let sort_is_prop = is_Prop (Typing.type_of (Global.env()) evm (evar_concl evi)) in
-(* msgnl(str"cherche "++pr_constr ev_typ++str" pour "++Util.pr_int ev);*)
+(* msgnl(str"cherche "++pr_constr ev_typ++str" pour "++Pp.int ev);*)
let substs = ref SubstSet.empty in
try List.iter
( fun (gr,(pat,_),s) ->
@@ -107,7 +107,7 @@ let complete_evar (cl,gen,evm:signature) (ev,evi) (k:signature -> unit) =
let genl = List.map (fun (_,_,t) -> t) genl in
let ((cl,gen,evm),argl) = add_gen_ctx (cl,gen,evm) genl in
let def = applistc (Libnames.constr_of_global gr) argl in
-(* msgnl(str"essayons ?"++Util.pr_int ev++spc()++str":="++spc()
+(* msgnl(str"essayons ?"++Pp.int ev++spc()++str":="++spc()
++pr_constr def++spc()++str":"++spc()++pr_constr (Global.type_of_global gr)*)
(*++spc()++str"dans"++spc()++pr_evar_map evm++spc());*)
try
@@ -145,7 +145,7 @@ let complete_with_evars_permut (cl,gen,evm:signature) evl c (k:signature -> unit
let tyl = List.map (fun (_,_,t) -> t) ctx in
let ((cl,gen,evm),argl) = add_gen_ctx (cl,gen,evm) tyl in
let def = applistc c argl in
-(* msgnl(str"trouvé def ?"++Util.pr_int ev++str" := "++pr_constr def++str " dans "++pr_evar_map evm);*)
+(* msgnl(str"trouvé def ?"++Pp.int ev++str" := "++pr_constr def++str " dans "++pr_evar_map evm);*)
try
if not (Evd.is_defined evm ev) then
let evm = safe_define evm ev def in
@@ -222,7 +222,7 @@ let complete_signature_with_def gr deftyp (k:instance_decl_function -> signature
( fun ctx typ ->
List.iter
(fun ((cl,ev,evm),_,_) ->
-(* msgnl(pr_global gr++str" : "++pr_constr typ++str" matche ?"++Util.pr_int ev++str " dans "++pr_evar_map evm);*)
+(* msgnl(pr_global gr++str" : "++pr_constr typ++str" matche ?"++Pp.int ev++str " dans "++pr_evar_map evm);*)
smap := Gmapl.add (cl,evm) (ctx,ev) !smap)
(Recordops.methods_matching typ)
) [] deftyp;
@@ -265,7 +265,7 @@ let declare_instance (k:global_reference -> rel_context -> constr list -> unit)
then Evd.remove evm ev,gen
else evm,(ev::gen))
gen (evm,[]) in
-(* msgnl(str"instance complète : ["++Util.prlist_with_sep (fun _ -> str";") Util.pr_int gen++str"] : "++spc()++pr_evar_map evm);*)
+(* msgnl(str"instance complète : ["++Util.prlist_with_sep (fun _ -> str";") Pp.int gen++str"] : "++spc()++pr_evar_map evm);*)
let ngen = List.length gen in
let (_,ctx,evm) = List.fold_left
( fun (i,ctx,evm) ev ->
diff --git a/toplevel/cerrors.ml b/toplevel/cerrors.ml
index 5f2c3dbbe..281ae784e 100644
--- a/toplevel/cerrors.ml
+++ b/toplevel/cerrors.ml
@@ -8,6 +8,7 @@
open Compat
open Pp
+open Errors
open Util
open Indtypes
open Type_errors
diff --git a/toplevel/cerrors.mli b/toplevel/cerrors.mli
index da9d3590f..1d686b5da 100644
--- a/toplevel/cerrors.mli
+++ b/toplevel/cerrors.mli
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
(** Error report. *)
diff --git a/toplevel/class.ml b/toplevel/class.ml
index ebaa19b66..79d7a99fd 100644
--- a/toplevel/class.ml
+++ b/toplevel/class.ml
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Names
diff --git a/toplevel/classes.ml b/toplevel/classes.ml
index 1e83e4b81..b513f2e2e 100644
--- a/toplevel/classes.ml
+++ b/toplevel/classes.ml
@@ -16,6 +16,8 @@ open Evd
open Environ
open Nametab
open Mod_subst
+open Errors
+open Pp
open Util
open Typeclasses_errors
open Typeclasses
@@ -132,7 +134,7 @@ let new_instance ?(abstract=false) ?(global=false) ctx (instid, bk, cl) props
(fun avoid (clname, (id, _, t)) ->
match clname with
| Some (cl, b) ->
- let t = CHole (Util.dummy_loc, None) in
+ let t = CHole (Pp.dummy_loc, None) in
t, avoid
| None -> failwith ("new instance: under-applied typeclass"))
cl
@@ -224,7 +226,7 @@ let new_instance ?(abstract=false) ?(global=false) ctx (instid, bk, cl) props
k.cl_projs;
c :: props, rest'
with Not_found ->
- (CHole (Util.dummy_loc, None) :: props), rest
+ (CHole (Pp.dummy_loc, None) :: props), rest
else props, rest)
([], props) k.cl_props
in
diff --git a/toplevel/classes.mli b/toplevel/classes.mli
index 68a93a742..424645fe8 100644
--- a/toplevel/classes.mli
+++ b/toplevel/classes.mli
@@ -15,6 +15,7 @@ open Environ
open Nametab
open Mod_subst
open Topconstr
+open Errors
open Util
open Typeclasses
open Implicit_quantifiers
diff --git a/toplevel/command.ml b/toplevel/command.ml
index eca53ae71..33a521d6f 100644
--- a/toplevel/command.ml
+++ b/toplevel/command.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Flags
open Term
diff --git a/toplevel/command.mli b/toplevel/command.mli
index 8ffdbdec4..76f6dd011 100644
--- a/toplevel/command.mli
+++ b/toplevel/command.mli
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Pp
open Names
open Term
open Entries
diff --git a/toplevel/coqtop.ml b/toplevel/coqtop.ml
index 0fc6d02c1..d17d07300 100644
--- a/toplevel/coqtop.ml
+++ b/toplevel/coqtop.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open System
open Flags
diff --git a/toplevel/discharge.ml b/toplevel/discharge.ml
index bab711ea4..b24ac8e7d 100644
--- a/toplevel/discharge.ml
+++ b/toplevel/discharge.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Names
+open Errors
open Util
open Sign
open Term
diff --git a/toplevel/himsg.ml b/toplevel/himsg.ml
index 22568ee88..4306a9673 100644
--- a/toplevel/himsg.ml
+++ b/toplevel/himsg.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Flags
open Names
@@ -176,8 +177,8 @@ let explain_cant_apply_bad_type env sigma (n,exptyp,actualtyp) rator randl =
let pr,prt = pr_ljudge_env env rator in
let term_string1 = str (plural nargs "term") in
let term_string2 =
- if nargs>1 then str "The " ++ nth n ++ str " term" else str "This term" in
- let appl = prvect_with_sep pr_fnl
+ if nargs>1 then str "The " ++ pr_nth n ++ str " term" else str "This term" in
+ let appl = prvect_with_sep fnl
(fun c ->
let pc,pct = pr_ljudge_env env c in
hov 2 (pc ++ spc () ++ str ": " ++ pct)) randl
@@ -199,7 +200,7 @@ let explain_cant_apply_not_functional env sigma rator randl =
(* let pe = pr_ne_context_of (str "in environment") env in*)
let pr = pr_lconstr_env env rator.uj_val in
let prt = pr_lconstr_env env rator.uj_type in
- let appl = prvect_with_sep pr_fnl
+ let appl = prvect_with_sep fnl
(fun c ->
let pc = pr_lconstr_env env c.uj_val in
let pct = pr_lconstr_env env c.uj_type in
@@ -233,7 +234,7 @@ let explain_ill_formed_rec_body env err names i fixenv vdefj =
let prt_name i =
match names.(i) with
Name id -> str "Recursive definition of " ++ pr_id id
- | Anonymous -> str "The " ++ nth i ++ str " definition" in
+ | Anonymous -> str "The " ++ pr_nth i ++ str " definition" in
let st = match err with
@@ -248,18 +249,18 @@ let explain_ill_formed_rec_body env err names i fixenv vdefj =
let called =
match names.(j) with
Name id -> pr_id id
- | Anonymous -> str "the " ++ nth i ++ str " definition" in
+ | Anonymous -> str "the " ++ pr_nth i ++ str " definition" in
let pr_db x = quote (pr_db env x) in
let vars =
match (lt,le) with
([],[]) -> assert false
| ([],[x]) -> str "a subterm of " ++ pr_db x
| ([],_) -> str "a subterm of the following variables: " ++
- prlist_with_sep pr_spc pr_db le
+ pr_sequence pr_db le
| ([x],_) -> pr_db x
| _ ->
str "one of the following variables: " ++
- prlist_with_sep pr_spc pr_db lt in
+ pr_sequence pr_db lt in
str "Recursive call to " ++ called ++ spc () ++
strbrk "has principal argument equal to" ++ spc () ++
pr_lconstr_env arg_env arg ++ strbrk " instead of " ++ vars
@@ -268,7 +269,7 @@ let explain_ill_formed_rec_body env err names i fixenv vdefj =
let called =
match names.(j) with
Name id -> pr_id id
- | Anonymous -> str "the " ++ nth i ++ str " definition" in
+ | Anonymous -> str "the " ++ pr_nth i ++ str " definition" in
str "Recursive call to " ++ called ++ str " has not enough arguments"
(* CoFixpoint guard errors *)
@@ -317,7 +318,7 @@ let explain_ill_typed_rec_body env sigma i names vdefj vargs =
let pvd,pvdt = pr_ljudge_env env (vdefj.(i)) in
let pv = pr_lconstr_env env vargs.(i) in
str "The " ++
- (if Array.length vdefj = 1 then mt () else nth (i+1) ++ spc ()) ++
+ (if Array.length vdefj = 1 then mt () else pr_nth (i+1) ++ spc ()) ++
str "recursive definition" ++ spc () ++ pvd ++ spc () ++
str "has type" ++ spc () ++ pvdt ++ spc () ++
str "while it should be" ++ spc () ++ pv ++ str "."
@@ -363,7 +364,7 @@ let explain_hole_kind env evi = function
pr_ne_context_of (str " in environment:"++ fnl ()) (mt ()) env)
(mt ()) evi
| TomatchTypeParameter (tyi,n) ->
- str "the " ++ nth n ++
+ str "the " ++ pr_nth n ++
str " argument of the inductive type (" ++ pr_inductive env tyi ++
str ") of this term"
| GoalEvar ->
@@ -694,7 +695,7 @@ let pr_constr_exprs exprs =
let explain_no_instance env (_,id) l =
str "No instance found for class " ++ Nameops.pr_id id ++ spc () ++
str "applied to arguments" ++ spc () ++
- prlist_with_sep pr_spc (pr_lconstr_env env) l
+ pr_sequence (pr_lconstr_env env) l
let is_goal_evar evi = match evi.evar_source with (_, GoalEvar) -> true | _ -> false
@@ -830,7 +831,7 @@ let error_bad_ind_parameters env c n v1 v2 =
let pv1 = pr_lconstr_env env v1 in
let pv2 = pr_lconstr_env env v2 in
str "Last occurrence of " ++ pv2 ++ str " must have " ++ pv1 ++
- str " as " ++ nth n ++ str " argument in " ++ brk(1,1) ++ pc ++ str "."
+ str " as " ++ pr_nth n ++ str " argument in " ++ brk(1,1) ++ pc ++ str "."
let error_same_names_types id =
str "The name" ++ spc () ++ pr_id id ++ spc () ++
@@ -944,14 +945,14 @@ let explain_unused_clause env pats =
(* Without localisation
let s = if List.length pats > 1 then "s" else "" in
(str ("Unused clause with pattern"^s) ++ spc () ++
- hov 0 (prlist_with_sep pr_spc pr_cases_pattern pats) ++ str ")")
+ hov 0 (pr_sequence pr_cases_pattern pats) ++ str ")")
*)
str "This clause is redundant."
let explain_non_exhaustive env pats =
str "Non exhaustive pattern-matching: no clause found for " ++
str (plural (List.length pats) "pattern") ++
- spc () ++ hov 0 (prlist_with_sep pr_spc pr_cases_pattern pats)
+ spc () ++ hov 0 (pr_sequence pr_cases_pattern pats)
let explain_cannot_infer_predicate env typs =
let env = make_all_name_different env in
@@ -960,7 +961,7 @@ let explain_cannot_infer_predicate env typs =
str "For " ++ pr_lconstr_env env cstr ++ str ": " ++ pr_lconstr_env env typ
in
str "Unable to unify the types found in the branches:" ++
- spc () ++ hov 0 (prlist_with_sep pr_fnl pr_branch (Array.to_list typs))
+ spc () ++ hov 0 (prlist_with_sep fnl pr_branch (Array.to_list typs))
let explain_pattern_matching_error env = function
| BadPattern (c,t) ->
diff --git a/toplevel/himsg.mli b/toplevel/himsg.mli
index a763472b9..7607bda42 100644
--- a/toplevel/himsg.mli
+++ b/toplevel/himsg.mli
@@ -38,7 +38,7 @@ val explain_reduction_tactic_error :
Tacred.reduction_tactic_error -> std_ppcmds
val explain_ltac_call_trace :
- int * Proof_type.ltac_call_kind * Proof_type.ltac_trace * Util.loc ->
+ int * Proof_type.ltac_call_kind * Proof_type.ltac_trace * Pp.loc ->
std_ppcmds
val explain_module_error : Modops.module_typing_error -> std_ppcmds
diff --git a/toplevel/ide_slave.ml b/toplevel/ide_slave.ml
index 158441190..4f365ebcf 100644
--- a/toplevel/ide_slave.ml
+++ b/toplevel/ide_slave.ml
@@ -9,6 +9,7 @@
open Vernacexpr
open Names
open Compat
+open Errors
open Util
open Pp
open Printer
@@ -274,7 +275,7 @@ let compute_reset_info () =
let coqide_cmd_checks (loc,ast) =
let user_error s =
- raise (Loc.Exc_located (loc, Util.UserError ("CoqIde", str s)))
+ raise (Loc.Exc_located (loc, Errors.UserError ("CoqIde", str s)))
in
if is_vernac_debug_command ast then
user_error "Debug mode not available within CoqIDE";
@@ -504,7 +505,7 @@ let eval_call c =
| Vernac.DuringCommandInterp (_,inner) -> handle_exn inner
| Error_in_file (_,_,inner) -> None, pr_exn inner
| Loc.Exc_located (loc, inner) when loc = dummy_loc -> None, pr_exn inner
- | Loc.Exc_located (loc, inner) -> Some (Util.unloc loc), pr_exn inner
+ | Loc.Exc_located (loc, inner) -> Some (Pp.unloc loc), pr_exn inner
| e -> None, pr_exn e
in
let interruptible f x =
diff --git a/toplevel/ind_tables.ml b/toplevel/ind_tables.ml
index de3b62f82..d8b503f95 100644
--- a/toplevel/ind_tables.ml
+++ b/toplevel/ind_tables.ml
@@ -18,6 +18,7 @@ open Libobject
open Nameops
open Declarations
open Term
+open Errors
open Util
open Declare
open Entries
diff --git a/toplevel/indschemes.ml b/toplevel/indschemes.ml
index 51eddbae9..640ef4ab5 100644
--- a/toplevel/indschemes.ml
+++ b/toplevel/indschemes.ml
@@ -16,6 +16,7 @@
open Pp
open Flags
+open Errors
open Util
open Names
open Declarations
diff --git a/toplevel/indschemes.mli b/toplevel/indschemes.mli
index 87aedc7be..21e39e0ca 100644
--- a/toplevel/indschemes.mli
+++ b/toplevel/indschemes.mli
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-open Util
+open Pp
open Names
open Term
open Environ
diff --git a/toplevel/lemmas.ml b/toplevel/lemmas.ml
index 7704449f5..2d4633427 100644
--- a/toplevel/lemmas.ml
+++ b/toplevel/lemmas.ml
@@ -9,6 +9,7 @@
(* Created by Hugo Herbelin from contents related to lemma proofs in
file command.ml, Aug 2009 *)
+open Errors
open Util
open Flags
open Pp
diff --git a/toplevel/metasyntax.ml b/toplevel/metasyntax.ml
index 6a4d72516..76326f51f 100644
--- a/toplevel/metasyntax.ml
+++ b/toplevel/metasyntax.ml
@@ -9,6 +9,7 @@
open Pp
open Flags
open Compat
+open Errors
open Util
open Names
open Topconstr
diff --git a/toplevel/metasyntax.mli b/toplevel/metasyntax.mli
index 4ee1310a0..74a8e0fe9 100644
--- a/toplevel/metasyntax.mli
+++ b/toplevel/metasyntax.mli
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Names
open Libnames
diff --git a/toplevel/mltop.ml4 b/toplevel/mltop.ml4
index 025c972fe..da9575ca6 100644
--- a/toplevel/mltop.ml4
+++ b/toplevel/mltop.ml4
@@ -6,6 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
+open Errors
open Util
open Pp
open Flags
@@ -326,10 +327,10 @@ let declare_ml_modules local l =
let print_ml_path () =
let l = !coq_mlpath_copy in
ppnl (str"ML Load Path:" ++ fnl () ++ str" " ++
- hv 0 (prlist_with_sep pr_fnl pr_str l))
+ hv 0 (prlist_with_sep fnl str l))
(* Printing of loaded ML modules *)
let print_ml_modules () =
let l = get_loaded_modules () in
- pp (str"Loaded ML Modules: " ++ pr_vertical_list pr_str l)
+ pp (str"Loaded ML Modules: " ++ pr_vertical_list str l)
diff --git a/toplevel/record.ml b/toplevel/record.ml
index 64942a5d2..0ddc59c50 100644
--- a/toplevel/record.ml
+++ b/toplevel/record.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Libnames
@@ -148,7 +149,7 @@ let subst_projection fid l c =
| NoProjection (Name id) -> bad_projs := id :: !bad_projs; mkRel k
| NoProjection Anonymous ->
errorlabstrm "" (str "Field " ++ pr_id fid ++
- str " depends on the " ++ str (ordinal (k-depth-1)) ++ str
+ str " depends on the " ++ pr_nth (k-depth-1) ++ str
" field which has no name.")
else
mkRel (k-lv)
diff --git a/toplevel/search.ml b/toplevel/search.ml
index 33e8e51db..2213d25f9 100644
--- a/toplevel/search.ml
+++ b/toplevel/search.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Nameops
@@ -170,7 +171,7 @@ let raw_search_rewrite extra_filter display_function pattern =
display_function gref_eq
let raw_search_by_head extra_filter display_function pattern =
- Util.todo "raw_search_by_head"
+ Errors.todo "raw_search_by_head"
let name_of_reference ref = string_of_id (basename_of_global ref)
diff --git a/toplevel/toplevel.ml b/toplevel/toplevel.ml
index 699fd12f9..5187b3a28 100644
--- a/toplevel/toplevel.ml
+++ b/toplevel/toplevel.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Flags
open Cerrors
diff --git a/toplevel/vernac.ml b/toplevel/vernac.ml
index cbd95a4fb..60354f4cf 100644
--- a/toplevel/vernac.ml
+++ b/toplevel/vernac.ml
@@ -10,6 +10,7 @@
open Pp
open Lexer
+open Errors
open Util
open Flags
open System
@@ -22,7 +23,7 @@ open Compat
Use the module Coqtoplevel, which catches these exceptions
(the exceptions are explained only at the toplevel). *)
-exception DuringCommandInterp of Util.loc * exn
+exception DuringCommandInterp of Pp.loc * exn
exception HasNotFailed
diff --git a/toplevel/vernac.mli b/toplevel/vernac.mli
index d89e90d0c..1cfd94e05 100644
--- a/toplevel/vernac.mli
+++ b/toplevel/vernac.mli
@@ -12,16 +12,16 @@
Raises [End_of_file] if EOF (or Ctrl-D) is reached. *)
val parse_sentence : Pcoq.Gram.parsable * in_channel option ->
- Util.loc * Vernacexpr.vernac_expr
+ Pp.loc * Vernacexpr.vernac_expr
(** Reads and executes vernac commands from a stream.
The boolean [just_parsing] disables interpretation of commands. *)
-exception DuringCommandInterp of Util.loc * exn
+exception DuringCommandInterp of Pp.loc * exn
exception End_of_input
val just_parsing : bool ref
-val eval_expr : Util.loc * Vernacexpr.vernac_expr -> unit
+val eval_expr : Pp.loc * Vernacexpr.vernac_expr -> unit
val raw_do_vernac : Pcoq.Gram.parsable -> unit
(** Set XML hooks *)
diff --git a/toplevel/vernacentries.ml b/toplevel/vernacentries.ml
index f7466d037..a7b4a175f 100644
--- a/toplevel/vernacentries.ml
+++ b/toplevel/vernacentries.ml
@@ -9,6 +9,7 @@
(* Concrete syntax of the mathematical vernacular MV V2.6 *)
open Pp
+open Errors
open Util
open Flags
open Names
@@ -65,7 +66,7 @@ let show_proof () =
(* spiwack: this would probably be cooler with a bit of polishing. *)
let p = Proof_global.give_me_the_proof () in
let pprf = Proof.partial_proof p in
- msgnl (Util.prlist_with_sep Pp.fnl Printer.pr_constr pprf)
+ msgnl (Pp.prlist_with_sep Pp.fnl Printer.pr_constr pprf)
let show_node () =
(* spiwack: I'm have little clue what this function used to do. I deactivated it,
@@ -163,7 +164,7 @@ let print_loadpath dir =
| Some dir -> List.filter (fun (s,l) -> is_dirpath_prefix_of dir l) l in
msgnl (Pp.t (str "Logical Path: " ++
tab () ++ str "Physical path:" ++ fnl () ++
- prlist_with_sep pr_fnl print_path_entry l))
+ prlist_with_sep fnl print_path_entry l))
let print_modules () =
let opened = Library.opened_libraries ()
@@ -419,14 +420,14 @@ let vernac_inductive finite infer indl =
(((coe', AssumExpr ((loc, Name id), ce)), None), [])
in vernac_record (Class true) finite infer id bl c None [f]
| [ ( id , bl , c , Class true, _), _ ] ->
- Util.error "Definitional classes must have a single method"
+ Errors.error "Definitional classes must have a single method"
| [ ( id , bl , c , Class false, Constructors _), _ ] ->
- Util.error "Inductive classes not supported"
+ Errors.error "Inductive classes not supported"
| [ ( _ , _ , _ , _, RecordDecl _ ) , _ ] ->
- Util.error "where clause not supported for (co)inductive records"
+ Errors.error "where clause not supported for (co)inductive records"
| _ -> let unpack = function
| ( (_, id) , bl , c , _ , Constructors l ) , ntn -> ( id , bl , c , l ) , ntn
- | _ -> Util.error "Cannot handle mutually (co)inductive records."
+ | _ -> Errors.error "Cannot handle mutually (co)inductive records."
in
let indl = List.map unpack indl in
do_mutual_inductive indl (recursivity_flag_of_kind finite)
@@ -1416,7 +1417,7 @@ let vernac_show = function
| ShowExistentials -> show_top_evars ()
| ShowTree -> show_prooftree ()
| ShowProofNames ->
- msgnl (prlist_with_sep pr_spc pr_id (Pfedit.get_all_proof_names()))
+ msgnl (pr_sequence pr_id (Pfedit.get_all_proof_names()))
| ShowIntros all -> show_intro all
| ShowMatch id -> show_match id
| ShowThesis -> show_thesis ()
diff --git a/toplevel/vernacentries.mli b/toplevel/vernacentries.mli
index 8fb6f4668..2b6a881d4 100644
--- a/toplevel/vernacentries.mli
+++ b/toplevel/vernacentries.mli
@@ -51,7 +51,7 @@ val abort_refine : ('a -> unit) -> 'a -> unit;;
val interp : Vernacexpr.vernac_expr -> unit
-val vernac_reset_name : identifier Util.located -> unit
+val vernac_reset_name : identifier Pp.located -> unit
val vernac_backtrack : int -> int -> int -> unit
diff --git a/toplevel/vernacexpr.ml b/toplevel/vernacexpr.ml
index 78207f6a2..155feaf62 100644
--- a/toplevel/vernacexpr.ml
+++ b/toplevel/vernacexpr.ml
@@ -7,6 +7,8 @@
(************************************************************************)
open Compat
+open Errors
+open Pp
open Util
open Names
open Tacexpr
diff --git a/toplevel/vernacinterp.ml b/toplevel/vernacinterp.ml
index 10c5a00f6..c8d6d87ff 100644
--- a/toplevel/vernacinterp.ml
+++ b/toplevel/vernacinterp.ml
@@ -7,6 +7,7 @@
(************************************************************************)
open Pp
+open Errors
open Util
open Names
open Libnames
diff --git a/toplevel/whelp.ml4 b/toplevel/whelp.ml4
index aa38e9e9f..332d30536 100644
--- a/toplevel/whelp.ml4
+++ b/toplevel/whelp.ml4
@@ -10,7 +10,7 @@
open Flags
open Pp
-open Util
+open Errors
open System
open Names
open Term