diff options
| author | Emilio Jesus Gallego Arias | 2019-07-03 12:54:37 +0200 |
|---|---|---|
| committer | Emilio Jesus Gallego Arias | 2019-07-08 13:18:47 +0200 |
| commit | dda7d129dba6c90d642cd99cd989e5f13c0eb4b4 (patch) | |
| tree | 23fdc06a01b17e81c0c03831e675bcc2b0bb94e7 /interp | |
| parent | 437063a0c745094c5693d1c5abba46ce375d69c6 (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.ml | 2 | ||||
| -rw-r--r-- | interp/dumpglob.ml | 10 | ||||
| -rw-r--r-- | interp/notation.ml | 6 |
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) |
