aboutsummaryrefslogtreecommitdiff
path: root/interp
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2019-07-03 12:54:37 +0200
committerEmilio Jesus Gallego Arias2019-07-08 13:18:47 +0200
commitdda7d129dba6c90d642cd99cd989e5f13c0eb4b4 (patch)
tree23fdc06a01b17e81c0c03831e675bcc2b0bb94e7 /interp
parent437063a0c745094c5693d1c5abba46ce375d69c6 (diff)
[core] [api] Support OCaml 4.08
The changes are large due to `Pervasives` deprecation: - the `Pervasives` module has been deprecated in favor of `Stdlib`, we have opted for introducing a few wrapping functions in `Util` and just unqualified the rest of occurrences. We avoid the shims as in the previous attempt. - a bug regarding partial application have been fixed. - some formatting functions have been deprecated, but previous versions don't include a replacement, thus the warning has been disabled. We may want to clean up things a bit more, in particular w.r.t. modules once we can move to OCaml 4.07 as the minimum required version. Note that there is a clash between 4.08.0 modules `Option` and `Int` and Coq's ones. It is not clear if we should resolve that clash or not, see PR #10469 for more discussion. On the good side, OCaml 4.08.0 does provide a few interesting functionalities, including nice new warnings useful for devs.
Diffstat (limited to 'interp')
-rw-r--r--interp/constrextern.ml2
-rw-r--r--interp/dumpglob.ml10
-rw-r--r--interp/notation.ml6
3 files changed, 9 insertions, 9 deletions
diff --git a/interp/constrextern.ml b/interp/constrextern.ml
index 8573dccdf9..e32ef3fe38 100644
--- a/interp/constrextern.ml
+++ b/interp/constrextern.ml
@@ -69,7 +69,7 @@ let print_no_symbol = ref false
(* Turning notations and scopes on and off for printing *)
module IRuleSet = Set.Make(struct
type t = interp_rule
- let compare x y = Pervasives.compare x y
+ let compare x y = compare x y
end)
let inactive_notations_table =
diff --git a/interp/dumpglob.ml b/interp/dumpglob.ml
index dc6a1ae180..0ec8b1e0c8 100644
--- a/interp/dumpglob.ml
+++ b/interp/dumpglob.ml
@@ -12,13 +12,13 @@ open Util
(* Dump of globalization (to be used by coqdoc) *)
-let glob_file = ref Pervasives.stdout
+let glob_file = ref stdout
let open_glob_file f =
- glob_file := Pervasives.open_out f
+ glob_file := open_out f
let close_glob_file () =
- Pervasives.close_out !glob_file
+ close_out !glob_file
type glob_output_t =
| NoGlob
@@ -37,7 +37,7 @@ let dump_to_dotglob () = glob_output := MultFiles
let dump_into_file f =
if String.equal f "stdout" then
- (glob_output := StdOut; glob_file := Pervasives.stdout)
+ (glob_output := StdOut; glob_file := stdout)
else
(glob_output := File f; open_glob_file f)
@@ -45,7 +45,7 @@ let feedback_glob () = glob_output := Feedback
let dump_string s =
if dump () && !glob_output != Feedback then
- Pervasives.output_string !glob_file s
+ output_string !glob_file s
let start_dump_glob ~vfile ~vofile =
match !glob_output with
diff --git a/interp/notation.ml b/interp/notation.ml
index d58125e29b..ec3fad7f7d 100644
--- a/interp/notation.ml
+++ b/interp/notation.ml
@@ -57,7 +57,7 @@ let pr_notation (from,ntn) = qstring ntn ++ match from with InConstrEntrySomeLev
module NotationOrd =
struct
type t = notation
- let compare = Pervasives.compare
+ let compare = pervasives_compare
end
module NotationSet = Set.Make(NotationOrd)
@@ -593,7 +593,7 @@ let rec rawnum_compare s s' =
try
for i = 0 to d-1 do if s.[i] != '0' then raise (Comp 1) done;
for i = d to l-1 do
- let c = Pervasives.compare s.[i] s'.[i-d] in
+ let c = pervasives_compare s.[i] s'.[i-d] in
if c != 0 then raise (Comp c)
done;
0
@@ -1242,7 +1242,7 @@ type entry_coercion = notation list
module EntryCoercionOrd =
struct
type t = notation_entry * notation_entry
- let compare = Pervasives.compare
+ let compare = pervasives_compare
end
module EntryCoercionMap = Map.Make(EntryCoercionOrd)