| Unix.Unix_error (code, api, param) ->
let err = Unix.error_message code in
"Unix Error (" ^ api ^ "): " ^ err
+ | MatitaMoo.Corrupt_moo fname ->
+ sprintf ".moo file '%s' is corrupt (shorter than expected)" fname
+ | MatitaMoo.Checksum_failure fname ->
+ sprintf "checksum failed for .moo file '%s', please recompile it'" fname
+ | MatitaMoo.Version_mismatch fname ->
+ sprintf
+ (".moo file '%s' has been compiled by a different version of matita, "
+ ^^ "please recompile it")
+ fname
+ | ProofEngineTypes.Fail msg -> "Tactic error: " ^ Lazy.force msg
+ | Continuationals.Error s -> "Tactical error: " ^ Lazy.force s
+ | CicTypeChecker.TypeCheckerFailure msg ->
+ "Type checking error: " ^ Lazy.force msg
+ | CicTypeChecker.AssertFailure msg ->
+ "Type checking assertion failed: " ^ Lazy.force msg
+ | MatitaDisambiguator.DisambiguationError errorll ->
+ let rec aux n =
+ function
+ [] -> ""
+ | phase::tl ->
+ aux (n+1) tl ^
+ "** Errors obtained during phase " ^ string_of_int n ^": **\n" ^
+ String.concat "\n" (List.map Lazy.force phase) ^ "\n" ^ "\n"
+ in
+ "*** DISAMBIGUATION ERROR: ***\n" ^
+ aux 1 errorll
| exn -> "Uncaught exception: " ^ Printexc.to_string exn