Hello community,

here is the log from the commit of package ocaml-stdlib-shims for 
openSUSE:Factory checked in at 2019-11-11 21:30:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocaml-stdlib-shims (Old)
 and      /work/SRC/openSUSE:Factory/.ocaml-stdlib-shims.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ocaml-stdlib-shims"

Mon Nov 11 21:30:26 2019 rev:2 rq:746714 version:0.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ocaml-stdlib-shims/ocaml-stdlib-shims.changes    
2019-10-11 15:15:53.236339440 +0200
+++ 
/work/SRC/openSUSE:Factory/.ocaml-stdlib-shims.new.2990/ocaml-stdlib-shims.changes
  2019-11-11 21:30:27.868180076 +0100
@@ -1,0 +2,5 @@
+Fri Nov  1 12:34:56 UTC 2019 - [email protected]
+
+- Require current dune macros
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ocaml-stdlib-shims.spec ++++++
--- /var/tmp/diff_new_pack.SvHxbi/_old  2019-11-11 21:30:29.024181305 +0100
+++ /var/tmp/diff_new_pack.SvHxbi/_new  2019-11-11 21:30:29.040181321 +0100
@@ -12,7 +12,7 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
@@ -27,7 +27,7 @@
 Source:         %{name}-%{version}.tar.xz
 BuildRequires:  ocaml
 BuildRequires:  ocaml-dune
-BuildRequires:  ocaml-rpm-macros >= 20191004
+BuildRequires:  ocaml-rpm-macros >= 20191101
 
 %description
 Compiling against this library allows replacing uses of Pervasives
@@ -48,6 +48,7 @@
 %autosetup -p1
 
 %build
+dune_release_pkgs='stdlib-shims'
 %ocaml_dune_setup
 %ocaml_dune_build
 
@@ -56,7 +57,7 @@
 %ocaml_create_file_list
 
 %check
-%ocaml_dune_test || : make check failed
+%ocaml_dune_test
 
 %files -f %{name}.files
 

++++++ ocaml-stdlib-shims-0.1.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-stdlib-shims-0.1.0/CHANGES.md 
new/ocaml-stdlib-shims-0.1.0/CHANGES.md
--- old/ocaml-stdlib-shims-0.1.0/CHANGES.md     2019-09-23 15:11:38.000000000 
+0200
+++ new/ocaml-stdlib-shims-0.1.0/CHANGES.md     2019-10-09 12:21:12.000000000 
+0200
@@ -1,3 +1,8 @@
+0.2.0 2019-10-08 London
+-----------------------
+
+- Fix compilation with OCaml >= 4.07 under msvc (@dra27, #12, fixes #11)
+
 0.1.0 2019-02-19 London
 -----------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-stdlib-shims-0.1.0/src/dune 
new/ocaml-stdlib-shims-0.1.0/src/dune
--- old/ocaml-stdlib-shims-0.1.0/src/dune       2019-09-23 15:11:38.000000000 
+0200
+++ new/ocaml-stdlib-shims-0.1.0/src/dune       2019-10-09 12:21:12.000000000 
+0200
@@ -50,33 +50,34 @@
   ; "Weak"
   ]
 
-let modules_post_4_02 =
-  [ "Float", (4, 07)
-  ; "Seq", (4, 07)
-  ; "Stdlib", (4, 07)
-  ; "Uchar", (4, 03)
-  ]
-
 let missing_modules =
-  List.filter modules_post_4_02 ~f:(fun (_, v) -> version < v)
-  |> List.map ~f:fst
-
-let all_modules_except_stdlib =
-  (modules_in_4_02 @ List.map modules_post_4_02 ~f:fst)
-  |> List.filter ~f:((<>) "Stdlib")
-  |> List.sort ~cmp:String.compare
+  if version < (4, 07) then
+    ["Stdlib"]
+  else if version < (4, 10) then
+    (* For OCaml 4.07-4.09 incl. this solves the problem of being unable to
+       generate empty .cmxa files on MSVC by duplicating the Pervasives module
+       (and updating its deprecation warning not to refer to this library! *)
+    ["Pervasives"]
+  else
+    []
+
+let available_modules =
+  if version > (4, 02) then
+    "Uchar" :: modules_in_4_02
+  else
+    modules_in_4_02
 
 let longest_module_name =
-  List.fold_left all_modules_except_stdlib ~init:0
+  List.fold_left available_modules ~init:0
     ~f:(fun acc m -> max acc (String.length m))
 
 let () =
   Printf.ksprintf send {|
 (library
-   (wrapped false)
-   (name stdlib_shims)
-   (public_name stdlib-shims)
-   (modules %s))
+ (wrapped false)
+ (name stdlib_shims)
+ (modules %s)
+ (public_name stdlib-shims))
 
 (rule
  (with-stdout-to stdlib.ml
@@ -85,7 +86,8 @@
 
 include Pervasives
 ")))
-|} (String.concat ~sep:" " missing_modules)
-    (List.map all_modules_except_stdlib
+|}
+    (String.concat ~sep:" " missing_modules)
+    (List.map available_modules
        ~f:(fun m -> Printf.sprintf "module %-*s = %s" longest_module_name m m)
      |> String.concat ~sep:"\n")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-stdlib-shims-0.1.0/src/float.ml 
new/ocaml-stdlib-shims-0.1.0/src/float.ml
--- old/ocaml-stdlib-shims-0.1.0/src/float.ml   2019-09-23 15:11:38.000000000 
+0200
+++ new/ocaml-stdlib-shims-0.1.0/src/float.ml   1970-01-01 01:00:00.000000000 
+0100
@@ -1,105 +0,0 @@
-(**************************************************************************)
-(*                                                                        *)
-(*                                 OCaml                                  *)
-(*                                                                        *)
-(*             Xavier Leroy, projet Cristal, INRIA Rocquencourt           *)
-(*                        Nicolas Ojeda Bar, LexiFi                       *)
-(*                                                                        *)
-(*   Copyright 2018 Institut National de Recherche en Informatique et     *)
-(*     en Automatique.                                                    *)
-(*                                                                        *)
-(*   All rights reserved.  This file is distributed under the terms of    *)
-(*   the GNU Lesser General Public License version 2.1, with the          *)
-(*   special exception on linking described in the file LICENSE.          *)
-(*                                                                        *)
-(**************************************************************************)
-
-external neg : float -> float = "%negfloat"
-external add : float -> float -> float = "%addfloat"
-external sub : float -> float -> float = "%subfloat"
-external mul : float -> float -> float = "%mulfloat"
-external div : float -> float -> float = "%divfloat"
-external rem : float -> float -> float = "caml_fmod_float" "fmod"
-  [@@unboxed] [@@noalloc]
-external abs : float -> float = "%absfloat"
-let infinity = Pervasives.infinity
-let neg_infinity = Pervasives.neg_infinity
-let nan = Pervasives.nan
-let pi = 0x1.921fb54442d18p+1
-let max_float = Pervasives.max_float
-let min_float = Pervasives.min_float
-let epsilon = Pervasives.epsilon_float
-external of_int : int -> float = "%floatofint"
-external to_int : float -> int = "%intoffloat"
-external of_string : string -> float = "caml_float_of_string"
-let of_string_opt s = try Some (float_of_string s) with
-| Failure _ -> None
-
-let to_string = Pervasives.string_of_float
-type fpclass = Pervasives.fpclass =
-    FP_normal
-  | FP_subnormal
-  | FP_zero
-  | FP_infinite
-  | FP_nan
-external classify_float : (float [@unboxed]) -> fpclass =
-  "caml_classify_float" "caml_classify_float_unboxed" [@@noalloc]
-external pow : float -> float -> float = "caml_power_float" "pow"
-  [@@unboxed] [@@noalloc]
-external sqrt : float -> float = "caml_sqrt_float" "sqrt"
-  [@@unboxed] [@@noalloc]
-external exp : float -> float = "caml_exp_float" "exp" [@@unboxed] [@@noalloc]
-external log : float -> float = "caml_log_float" "log" [@@unboxed] [@@noalloc]
-external log10 : float -> float = "caml_log10_float" "log10"
-  [@@unboxed] [@@noalloc]
-external expm1 : float -> float = "caml_expm1_float" "caml_expm1"
-  [@@unboxed] [@@noalloc]
-external log1p : float -> float = "caml_log1p_float" "caml_log1p"
-  [@@unboxed] [@@noalloc]
-external cos : float -> float = "caml_cos_float" "cos" [@@unboxed] [@@noalloc]
-external sin : float -> float = "caml_sin_float" "sin" [@@unboxed] [@@noalloc]
-external tan : float -> float = "caml_tan_float" "tan" [@@unboxed] [@@noalloc]
-external acos : float -> float = "caml_acos_float" "acos"
-  [@@unboxed] [@@noalloc]
-external asin : float -> float = "caml_asin_float" "asin"
-  [@@unboxed] [@@noalloc]
-external atan : float -> float = "caml_atan_float" "atan"
-  [@@unboxed] [@@noalloc]
-external atan2 : float -> float -> float = "caml_atan2_float" "atan2"
-  [@@unboxed] [@@noalloc]
-external hypot : float -> float -> float
-               = "caml_hypot_float" "caml_hypot" [@@unboxed] [@@noalloc]
-external cosh : float -> float = "caml_cosh_float" "cosh"
-  [@@unboxed] [@@noalloc]
-external sinh : float -> float = "caml_sinh_float" "sinh"
-  [@@unboxed] [@@noalloc]
-external tanh : float -> float = "caml_tanh_float" "tanh"
-  [@@unboxed] [@@noalloc]
-external ceil : float -> float = "caml_ceil_float" "ceil"
-  [@@unboxed] [@@noalloc]
-external floor : float -> float = "caml_floor_float" "floor"
-[@@unboxed] [@@noalloc]
-external copysign : float -> float -> float
-                  = "caml_copysign_float" "caml_copysign"
-                  [@@unboxed] [@@noalloc]
-external frexp : float -> float * int = "caml_frexp_float"
-external ldexp : (float [@unboxed]) -> (int [@untagged]) -> (float [@unboxed]) 
=
-  "caml_ldexp_float" "caml_ldexp_float_unboxed" [@@noalloc]
-external modf : float -> float * float = "caml_modf_float"
-type t = float
-external compare : float -> float -> int = "%compare"
-let equal x y = compare x y = 0
-external seeded_hash_param : int -> int -> int -> float -> int
-                           = "caml_hash" [@@noalloc]
-let hash x = seeded_hash_param 10 100 0 x
-
-module Array = struct
-  type t = float array
-
-  let create : int -> t = fun len -> Array.make len 0.0
-  let length : t -> int = Array.length
-  let get : t -> int -> float = Array.get
-  let set : t -> int -> float -> unit = Array.set
-  let unsafe_get : t -> int -> float = Array.unsafe_get
-  let unsafe_set : t -> int -> float -> unit = Array.unsafe_set
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-stdlib-shims-0.1.0/src/float.mli 
new/ocaml-stdlib-shims-0.1.0/src/float.mli
--- old/ocaml-stdlib-shims-0.1.0/src/float.mli  2019-09-23 15:11:38.000000000 
+0200
+++ new/ocaml-stdlib-shims-0.1.0/src/float.mli  1970-01-01 01:00:00.000000000 
+0100
@@ -1,267 +0,0 @@
-(**************************************************************************)
-(*                                                                        *)
-(*                                 OCaml                                  *)
-(*                                                                        *)
-(*             Xavier Leroy, projet Cristal, INRIA Rocquencourt           *)
-(*                        Nicolas Ojeda Bar, LexiFi                       *)
-(*                                                                        *)
-(*   Copyright 2018 Institut National de Recherche en Informatique et     *)
-(*     en Automatique.                                                    *)
-(*                                                                        *)
-(*   All rights reserved.  This file is distributed under the terms of    *)
-(*   the GNU Lesser General Public License version 2.1, with the          *)
-(*   special exception on linking described in the file LICENSE.          *)
-(*                                                                        *)
-(**************************************************************************)
-
-(** {1 Floating-point arithmetic}
-
-    OCaml's floating-point numbers follow the
-    IEEE 754 standard, using double precision (64 bits) numbers.
-    Floating-point operations never raise an exception on overflow,
-    underflow, division by zero, etc.  Instead, special IEEE numbers
-    are returned as appropriate, such as [infinity] for [1.0 /. 0.0],
-    [neg_infinity] for [-1.0 /. 0.0], and [nan] ('not a number')
-    for [0.0 /. 0.0].  These special numbers then propagate through
-    floating-point computations as expected: for instance,
-    [1.0 /. infinity] is [0.0], and any arithmetic operation with [nan]
-    as argument returns [nan] as result.
-
-    @since 4.07.0
-*)
-
-external neg : float -> float = "%negfloat"
-(** Unary negation. *)
-
-external add : float -> float -> float = "%addfloat"
-(** Floating-point addition. *)
-
-external sub : float -> float -> float = "%subfloat"
-(** Floating-point subtraction. *)
-
-external mul : float -> float -> float = "%mulfloat"
-(** Floating-point multiplication. *)
-
-external div : float -> float -> float = "%divfloat"
-(** Floating-point division. *)
-
-external rem : float -> float -> float = "caml_fmod_float" "fmod"
-[@@unboxed] [@@noalloc]
-(** [rem a b] returns the remainder of [a] with respect to [b].  The returned
-    value is [a -. n *. b], where [n] is the quotient [a /. b] rounded towards
-    zero to an integer. *)
-
-external abs : float -> float = "%absfloat"
-(** [abs f] returns the absolute value of [f]. *)
-
-val infinity : float
-(** Positive infinity. *)
-
-val neg_infinity : float
-(** Negative infinity. *)
-
-val nan : float
-(** A special floating-point value denoting the result of an
-    undefined operation such as [0.0 /. 0.0].  Stands for
-    'not a number'.  Any floating-point operation with [nan] as
-    argument returns [nan] as result.  As for floating-point comparisons,
-    [=], [<], [<=], [>] and [>=] return [false] and [<>] returns [true]
-    if one or both of their arguments is [nan]. *)
-
-val pi : float
-(** The constant pi. *)
-
-val max_float : float
-(** The largest positive finite value of type [float]. *)
-
-val min_float : float
-(** The smallest positive, non-zero, non-denormalized value of type [float]. *)
-
-val epsilon : float
-(** The difference between [1.0] and the smallest exactly representable
-    floating-point number greater than [1.0]. *)
-
-external of_int : int -> float = "%floatofint"
-(** Convert an integer to floating-point. *)
-
-external to_int : float -> int = "%intoffloat"
-(** Truncate the given floating-point number to an integer.
-    The result is unspecified if the argument is [nan] or falls outside the
-    range of representable integers. *)
-
-external of_string : string -> float = "caml_float_of_string"
-(** Convert the given string to a float.  The string is read in decimal
-    (by default) or in hexadecimal (marked by [0x] or [0X]).
-    The format of decimal floating-point numbers is
-    [ [-] dd.ddd (e|E) [+|-] dd ], where [d] stands for a decimal digit.
-    The format of hexadecimal floating-point numbers is
-    [ [-] 0(x|X) hh.hhh (p|P) [+|-] dd ], where [h] stands for an
-    hexadecimal digit and [d] for a decimal digit.
-    In both cases, at least one of the integer and fractional parts must be
-    given; the exponent part is optional.
-    The [_] (underscore) character can appear anywhere in the string
-    and is ignored.
-    Depending on the execution platforms, other representations of
-    floating-point numbers can be accepted, but should not be relied upon.
-    Raise [Failure "float_of_string"] if the given string is not a valid
-    representation of a float. *)
-
-val of_string_opt: string -> float option
-(** Same as [of_string], but returns [None] instead of raising. *)
-
-val to_string : float -> string
-(** Return the string representation of a floating-point number. *)
-
-type fpclass = Pervasives.fpclass =
-    FP_normal           (** Normal number, none of the below *)
-  | FP_subnormal        (** Number very close to 0.0, has reduced precision *)
-  | FP_zero             (** Number is 0.0 or -0.0 *)
-  | FP_infinite         (** Number is positive or negative infinity *)
-  | FP_nan              (** Not a number: result of an undefined operation *)
-(** The five classes of floating-point numbers, as determined by
-    the {!classify_float} function. *)
-
-external classify_float : (float [@unboxed]) -> fpclass =
-  "caml_classify_float" "caml_classify_float_unboxed" [@@noalloc]
-(** Return the class of the given floating-point number:
-    normal, subnormal, zero, infinite, or not a number. *)
-
-external pow : float -> float -> float = "caml_power_float" "pow"
-[@@unboxed] [@@noalloc]
-(** Exponentiation. *)
-
-external sqrt : float -> float = "caml_sqrt_float" "sqrt"
-[@@unboxed] [@@noalloc]
-(** Square root. *)
-
-external exp : float -> float = "caml_exp_float" "exp" [@@unboxed] [@@noalloc]
-(** Exponential. *)
-
-external log : float -> float = "caml_log_float" "log" [@@unboxed] [@@noalloc]
-(** Natural logarithm. *)
-
-external log10 : float -> float = "caml_log10_float" "log10"
-[@@unboxed] [@@noalloc]
-(** Base 10 logarithm. *)
-
-external expm1 : float -> float = "caml_expm1_float" "caml_expm1"
-[@@unboxed] [@@noalloc]
-(** [expm1 x] computes [exp x -. 1.0], giving numerically-accurate results
-    even if [x] is close to [0.0]. *)
-
-external log1p : float -> float = "caml_log1p_float" "caml_log1p"
-[@@unboxed] [@@noalloc]
-(** [log1p x] computes [log(1.0 +. x)] (natural logarithm),
-    giving numerically-accurate results even if [x] is close to [0.0]. *)
-
-external cos : float -> float = "caml_cos_float" "cos" [@@unboxed] [@@noalloc]
-(** Cosine.  Argument is in radians. *)
-
-external sin : float -> float = "caml_sin_float" "sin" [@@unboxed] [@@noalloc]
-(** Sine.  Argument is in radians. *)
-
-external tan : float -> float = "caml_tan_float" "tan" [@@unboxed] [@@noalloc]
-(** Tangent.  Argument is in radians. *)
-
-external acos : float -> float = "caml_acos_float" "acos"
-[@@unboxed] [@@noalloc]
-(** Arc cosine.  The argument must fall within the range [[-1.0, 1.0]].
-    Result is in radians and is between [0.0] and [pi]. *)
-
-external asin : float -> float = "caml_asin_float" "asin"
-[@@unboxed] [@@noalloc]
-(** Arc sine.  The argument must fall within the range [[-1.0, 1.0]].
-    Result is in radians and is between [-pi/2] and [pi/2]. *)
-
-external atan : float -> float = "caml_atan_float" "atan"
-[@@unboxed] [@@noalloc]
-(** Arc tangent.
-    Result is in radians and is between [-pi/2] and [pi/2]. *)
-
-external atan2 : float -> float -> float = "caml_atan2_float" "atan2"
-[@@unboxed] [@@noalloc]
-(** [atan2 y x] returns the arc tangent of [y /. x].  The signs of [x]
-    and [y] are used to determine the quadrant of the result.
-    Result is in radians and is between [-pi] and [pi]. *)
-
-external hypot : float -> float -> float = "caml_hypot_float" "caml_hypot"
-[@@unboxed] [@@noalloc]
-(** [hypot x y] returns [sqrt(x *. x + y *. y)], that is, the length
-    of the hypotenuse of a right-angled triangle with sides of length
-    [x] and [y], or, equivalently, the distance of the point [(x,y)]
-    to origin.  If one of [x] or [y] is infinite, returns [infinity]
-    even if the other is [nan]. *)
-
-external cosh : float -> float = "caml_cosh_float" "cosh"
-[@@unboxed] [@@noalloc]
-(** Hyperbolic cosine.  Argument is in radians. *)
-
-external sinh : float -> float = "caml_sinh_float" "sinh"
-[@@unboxed] [@@noalloc]
-(** Hyperbolic sine.  Argument is in radians. *)
-
-external tanh : float -> float = "caml_tanh_float" "tanh"
-[@@unboxed] [@@noalloc]
-(** Hyperbolic tangent.  Argument is in radians. *)
-
-external ceil : float -> float = "caml_ceil_float" "ceil"
-[@@unboxed] [@@noalloc]
-(** Round above to an integer value.
-    [ceil f] returns the least integer value greater than or equal to [f].
-    The result is returned as a float. *)
-
-external floor : float -> float = "caml_floor_float" "floor"
-[@@unboxed] [@@noalloc]
-(** Round below to an integer value.
-    [floor f] returns the greatest integer value less than or
-    equal to [f].
-    The result is returned as a float. *)
-
-external copysign : float -> float -> float
-  = "caml_copysign_float" "caml_copysign"
-[@@unboxed] [@@noalloc]
-(** [copysign x y] returns a float whose absolute value is that of [x]
-    and whose sign is that of [y].  If [x] is [nan], returns [nan].
-    If [y] is [nan], returns either [x] or [-. x], but it is not
-    specified which. *)
-
-external frexp : float -> float * int = "caml_frexp_float"
-(** [frexp f] returns the pair of the significant
-    and the exponent of [f].  When [f] is zero, the
-    significant [x] and the exponent [n] of [f] are equal to
-    zero.  When [f] is non-zero, they are defined by
-    [f = x *. 2 ** n] and [0.5 <= x < 1.0]. *)
-
-external ldexp : (float [@unboxed]) -> (int [@untagged]) -> (float [@unboxed]) 
=
-  "caml_ldexp_float" "caml_ldexp_float_unboxed" [@@noalloc]
-(** [ldexp x n] returns [x *. 2 ** n]. *)
-
-external modf : float -> float * float = "caml_modf_float"
-(** [modf f] returns the pair of the fractional and integral
-    part of [f]. *)
-
-type t = float
-(** An alias for the type of floating-point numbers. *)
-
-val compare: t -> t -> int
-(** [compare x y] returns [0] if [x] is equal to [y], a negative integer if [x]
-    is less than [y], and a positive integer if [x] is greater than
-    [y]. [compare] treats [nan] as equal to itself and less than any other 
float
-    value.  This treatment of [nan] ensures that [compare] defines a total
-    ordering relation.  *)
-
-val equal: t -> t -> bool
-(** The equal function for floating-point numbers, compared using {!compare}. 
*)
-
-val hash: t -> int
-(** The hash function for floating-point numbers. *)
-
-module Array : sig
-  type t
-  val create : int -> t
-  val length : t -> int
-  val get : t -> int -> float
-  val set : t -> int -> float -> unit
-  val unsafe_get : t -> int -> float
-  val unsafe_set : t -> int -> float -> unit
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-stdlib-shims-0.1.0/src/pervasives.ml 
new/ocaml-stdlib-shims-0.1.0/src/pervasives.ml
--- old/ocaml-stdlib-shims-0.1.0/src/pervasives.ml      1970-01-01 
01:00:00.000000000 +0100
+++ new/ocaml-stdlib-shims-0.1.0/src/pervasives.ml      2019-10-09 
12:21:12.000000000 +0200
@@ -0,0 +1,5 @@
+[@@@ocaml.deprecated "Use Stdlib instead."]
+
+[@@@ocaml.warning "-3"]
+
+include Stdlib.Pervasives
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-stdlib-shims-0.1.0/src/seq.ml 
new/ocaml-stdlib-shims-0.1.0/src/seq.ml
--- old/ocaml-stdlib-shims-0.1.0/src/seq.ml     2019-09-23 15:11:38.000000000 
+0200
+++ new/ocaml-stdlib-shims-0.1.0/src/seq.ml     1970-01-01 01:00:00.000000000 
+0100
@@ -1,73 +0,0 @@
-(**************************************************************************)
-(*                                                                        *)
-(*                                 OCaml                                  *)
-(*                                                                        *)
-(*                 Simon Cruanes                                          *)
-(*                                                                        *)
-(*   Copyright 2017 Institut National de Recherche en Informatique et     *)
-(*     en Automatique.                                                    *)
-(*                                                                        *)
-(*   All rights reserved.  This file is distributed under the terms of    *)
-(*   the GNU Lesser General Public License version 2.1, with the          *)
-(*   special exception on linking described in the file LICENSE.          *)
-(*                                                                        *)
-(**************************************************************************)
-
-(* Module [Seq]: functional iterators *)
-
-type +'a node =
-  | Nil
-  | Cons of 'a * 'a t
-
-and 'a t = unit -> 'a node
-
-let empty () = Nil
-
-let return x () = Cons (x, empty)
-
-let rec map f seq () = match seq() with
-  | Nil -> Nil
-  | Cons (x, next) -> Cons (f x, map f next)
-
-let rec filter_map f seq () = match seq() with
-  | Nil -> Nil
-  | Cons (x, next) ->
-      match f x with
-        | None -> filter_map f next ()
-        | Some y -> Cons (y, filter_map f next)
-
-let rec filter f seq () = match seq() with
-  | Nil -> Nil
-  | Cons (x, next) ->
-      if f x
-      then Cons (x, filter f next)
-      else filter f next ()
-
-let rec flat_map f seq () = match seq () with
-  | Nil -> Nil
-  | Cons (x, next) ->
-    flat_map_app f (f x) next ()
-
-(* this is [append seq (flat_map f tail)] *)
-and flat_map_app f seq tail () = match seq () with
-  | Nil -> flat_map f tail ()
-  | Cons (x, next) ->
-    Cons (x, flat_map_app f next tail)
-
-let fold_left f acc seq =
-  let rec aux f acc seq = match seq () with
-    | Nil -> acc
-    | Cons (x, next) ->
-        let acc = f acc x in
-        aux f acc next
-  in
-  aux f acc seq
-
-let iter f seq =
-  let rec aux seq = match seq () with
-    | Nil -> ()
-    | Cons (x, next) ->
-        f x;
-        aux next
-  in
-  aux seq
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-stdlib-shims-0.1.0/src/seq.mli 
new/ocaml-stdlib-shims-0.1.0/src/seq.mli
--- old/ocaml-stdlib-shims-0.1.0/src/seq.mli    2019-09-23 15:11:38.000000000 
+0200
+++ new/ocaml-stdlib-shims-0.1.0/src/seq.mli    1970-01-01 01:00:00.000000000 
+0100
@@ -1,82 +0,0 @@
-(**************************************************************************)
-(*                                                                        *)
-(*                                 OCaml                                  *)
-(*                                                                        *)
-(*                 Simon Cruanes                                          *)
-(*                                                                        *)
-(*   Copyright 2017 Institut National de Recherche en Informatique et     *)
-(*     en Automatique.                                                    *)
-(*                                                                        *)
-(*   All rights reserved.  This file is distributed under the terms of    *)
-(*   the GNU Lesser General Public License version 2.1, with the          *)
-(*   special exception on linking described in the file LICENSE.          *)
-(*                                                                        *)
-(**************************************************************************)
-
-(* Module [Seq]: functional iterators *)
-
-(** {1 Functional Iterators} *)
-
-(** The type ['a t] is a {b delayed list}, i.e. a list where some evaluation
-    is needed to access the next element. This makes it possible to build
-    infinite sequences, to build sequences as we traverse them, and to 
transform
-    them in a lazy fashion rather than upfront.
-*)
-
-(** @since 4.07 *)
-
-type 'a t = unit -> 'a node
-(** The type of delayed lists containing elements of type ['a].
-    Note that the concrete list node ['a node] is delayed under a closure,
-    not a [lazy] block, which means it might be recomputed every time
-    we access it. *)
-
-and +'a node =
-  | Nil
-  | Cons of 'a * 'a t
-(** A fully-evaluated list node, either empty or containing an element
-    and a delayed tail. *)
-
-val empty : 'a t
-(** The empty sequence, containing no elements. *)
-
-val return : 'a -> 'a t
-(** The singleton sequence containing only the given element. *)
-
-val map : ('a -> 'b) -> 'a t -> 'b t
-(** [map f seq] returns a new sequence whose elements are the elements of
-    [seq], transformed by [f].
-    This transformation is lazy, it only applies when the result is traversed.
-
-    If [seq = [1;2;3]], then [map f seq = [f 1; f 2; f 3]]. *)
-
-val filter : ('a -> bool) -> 'a t -> 'a t
-(** Remove from the sequence the elements that do not satisfy the
-    given predicate.
-    This transformation is lazy, it only applies when the result is
-    traversed. *)
-
-val filter_map : ('a -> 'b option) -> 'a t -> 'b t
-(** Apply the function to every element; if [f x = None] then [x] is dropped;
-    if [f x = Some y] then [y] is returned.
-    This transformation is lazy, it only applies when the result is
-    traversed. *)
-
-val flat_map : ('a -> 'b t) -> 'a t -> 'b t
-(** Map each element to a subsequence, then return each element of this
-    sub-sequence in turn.
-    This transformation is lazy, it only applies when the result is
-    traversed. *)
-
-val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a
-(** Traverse the sequence from left to right, combining each element with the
-    accumulator using the given function.
-    The traversal happens immediately and will not terminate on infinite
-    sequences.
-
-    Also see {!List.fold_left} *)
-
-val iter : ('a -> unit) -> 'a t -> unit
-(** Iterate on the sequence, calling the (imperative) function on every 
element.
-    The traversal happens immediately and will not terminate on infinite
-    sequences. *)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-stdlib-shims-0.1.0/src/uchar.ml 
new/ocaml-stdlib-shims-0.1.0/src/uchar.ml
--- old/ocaml-stdlib-shims-0.1.0/src/uchar.ml   2019-09-23 15:11:38.000000000 
+0200
+++ new/ocaml-stdlib-shims-0.1.0/src/uchar.ml   1970-01-01 01:00:00.000000000 
+0100
@@ -1,51 +0,0 @@
-(***********************************************************************)
-(*                                                                     *)
-(*                                OCaml                                *)
-(*                                                                     *)
-(*                          Daniel C. Buenzli                          *)
-(*                                                                     *)
-(*  Copyright 2014 Institut National de Recherche en Informatique et   *)
-(*  en Automatique.  All rights reserved.  This file is distributed    *)
-(*  under the terms of the GNU Library General Public License, with    *)
-(*  the special exception on linking described in file ../LICENSE.     *)
-(*                                                                     *)
-(***********************************************************************)
-
-let err_no_pred = "U+0000 has no predecessor"
-let err_no_succ = "U+10FFFF has no successor"
-let err_not_sv i = Printf.sprintf "%X is not an Unicode scalar value" i
-let err_not_latin1 u = Printf.sprintf "U+%04X is not a latin1 character" u
-
-type t = int
-
-let min = 0x0000
-let max = 0x10FFFF
-let lo_bound = 0xD7FF
-let hi_bound = 0xE000
-
-let succ u =
-  if u = lo_bound then hi_bound else
-  if u = max then invalid_arg err_no_succ else
-  u + 1
-
-let pred u =
-  if u = hi_bound then lo_bound else
-  if u = min then invalid_arg err_no_pred else
-  u - 1
-
-let is_valid i = (min <= i && i <= lo_bound) || (hi_bound <= i && i <= max)
-let of_int i = if is_valid i then i else invalid_arg (err_not_sv i)
-external unsafe_of_int : int -> t = "%identity"
-external to_int : t -> int = "%identity"
-
-let is_char u = u < 256
-let of_char c = Char.code c
-let to_char u =
-  if u > 255 then invalid_arg (err_not_latin1 u) else
-  Char.unsafe_chr u
-
-let unsafe_to_char = Char.unsafe_chr
-
-let equal : int -> int -> bool = ( = )
-let compare : int -> int -> int = Pervasives.compare
-let hash = to_int
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-stdlib-shims-0.1.0/src/uchar.mli 
new/ocaml-stdlib-shims-0.1.0/src/uchar.mli
--- old/ocaml-stdlib-shims-0.1.0/src/uchar.mli  2019-09-23 15:11:38.000000000 
+0200
+++ new/ocaml-stdlib-shims-0.1.0/src/uchar.mli  1970-01-01 01:00:00.000000000 
+0100
@@ -1,82 +0,0 @@
-(***********************************************************************)
-(*                                                                     *)
-(*                                OCaml                                *)
-(*                                                                     *)
-(*                          Daniel C. Buenzli                          *)
-(*                                                                     *)
-(*  Copyright 2014 Institut National de Recherche en Informatique et   *)
-(*  en Automatique.  All rights reserved.  This file is distributed    *)
-(*  under the terms of the GNU Library General Public License, with    *)
-(*  the special exception on linking described in file ../LICENSE.     *)
-(*                                                                     *)
-(***********************************************************************)
-
-(** Unicode characters.
-
-    @since 4.03 *)
-
-type t
-(** The type for Unicode characters.
-
-    A value of this type represents an Unicode
-    {{:http://unicode.org/glossary/#unicode_scalar_value}scalar
-    value} which is an integer in the ranges [0x0000]...[0xD7FF] or
-    [0xE000]...[0x10FFFF]. *)
-
-val min : t
-(** [min] is U+0000. *)
-
-val max : t
-(** [max] is U+10FFFF. *)
-
-val succ : t -> t
-(** [succ u] is the scalar value after [u] in the set of Unicode scalar
-    values.
-
-    @raise Invalid_argument if [u] is {!max}. *)
-
-val pred : t -> t
-(** [pred u] is the scalar value before [u] in the set of Unicode scalar
-    values.
-
-    @raise Invalid_argument if [u] is {!min}. *)
-
-val is_valid : int -> bool
-(** [is_valid n] is [true] iff [n] is an Unicode scalar value
-    (i.e. in the ranges [0x0000]...[0xD7FF] or [0xE000]...[0x10FFFF]).*)
-
-val of_int : int -> t
-(** [of_int i] is [i] as an Unicode character.
-
-    @raise Invalid_argument if [i] does not satisfy {!is_valid}. *)
-
-(**/**)
-val unsafe_of_int : int -> t
-(**/**)
-
-val to_int : t -> int
-(** [to_int u] is [u] as an integer. *)
-
-val is_char : t -> bool
-(** [is_char u] is [true] iff [u] is a latin1 OCaml character. *)
-
-val of_char : char -> t
-(** [of_char c] is [c] as an Unicode character. *)
-
-val to_char : t -> char
-(** [to_char u] is [u] as an OCaml latin1 character.
-
-    @raise Invalid_argument if [u] does not satisfy {!is_char}. *)
-
-(**/**)
-val unsafe_to_char : t -> char
-(**/**)
-
-val equal : t -> t -> bool
-(** [equal u u'] is [u = u']. *)
-
-val compare : t -> t -> int
-(** [compare u u'] is [Pervasives.compare u u']. *)
-
-val hash : t -> int
-(** [hash u] associates a non-negative integer to [u]. *)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-stdlib-shims-0.1.0/test/test.ml 
new/ocaml-stdlib-shims-0.1.0/test/test.ml
--- old/ocaml-stdlib-shims-0.1.0/test/test.ml   2019-09-23 15:11:38.000000000 
+0200
+++ new/ocaml-stdlib-shims-0.1.0/test/test.ml   2019-10-09 12:21:12.000000000 
+0200
@@ -1,11 +1,2 @@
 let _ = Stdlib.(+)
 let _ = Stdlib.List.map
-
-let _ = Float.max_float
-let _ = Stdlib.Float.max_float
-
-let _ = Seq.empty
-let _ = Stdlib.Seq.empty
-
-let _ = Uchar.min
-let _ = Stdlib.Uchar.min


Reply via email to