1
1
(* Note: also copied to src-bs/shims_let_ops_.ml *)
2
+
3
+ let shims_all =
4
+ {|
5
+ module type I = sig
6
+ type ('i, 'a, 'e) t
7
+ val (> |= ) : ('i, 'a, 'e) t -> ('a -> 'b) -> ('i, 'b, 'e) t
8
+ val monoid_product : ('i , 'a , 'e ) t -> ('i , 'b , 'e ) t -> ('i , ('a * 'b ), 'e ) t
9
+ val (>> = ) : ('i, 'a, 'e) t -> ('a -> ('i, 'b, 'e) t) -> ('i, 'b, 'e) t
10
+ end
11
+ | }
12
+
13
+
2
14
let shims_let_op_pre_408 =
3
15
{|
4
16
module type S = sig type ('i, 'o, 'e) t end
5
- module Make (X : sig type ('i, 'o, 'e ) t end)
6
- : S with type ('i, 'o, 'e) t = ('i, 'o, 'e) X. t = struct
17
+ module Make (X : I ) : S with type ('i, 'o, 'e) t = ('i, 'o, 'e) X. t =
18
+ struct
7
19
type ('i, 'o, 'e) t = ('i , 'o , 'e ) X .t
8
20
end
9
21
| }
@@ -19,12 +31,8 @@ let shims_let_op_post_408 =
19
31
val ( and * ) : ('i, 'a, 'e) t -> ('i, 'b, 'e) t -> ('i, 'a * 'b, 'e) t
20
32
end
21
33
22
- module Make (X :sig
23
- type ('i, 'a, 'e) t
24
- val (> |= ) : ('i, 'a, 'e) t -> ('a -> 'b) -> ('i, 'b, 'e) t
25
- val monoid_product : ('i , 'a , 'e ) t -> ('i , 'b , 'e ) t -> ('i , ('a * 'b ), 'e ) t
26
- val (>> = ) : ('i, 'a, 'e) t -> ('a -> ('i, 'b, 'e) t) -> ('i, 'b, 'e) t
27
- end ) : S with type ('i, 'o, 'e ) t = ('i, 'o, 'e) X. t = struct
34
+ module Make (X : I ) : S with type ('i, 'o, 'e) t = ('i, 'o, 'e) X. t =
35
+ struct
28
36
type ('i, 'o, 'e) t = ('i , 'o , 'e ) X .t
29
37
let (let + ) = X. (> |= )
30
38
let (and + ) = X. monoid_product
@@ -37,6 +45,7 @@ let shims_let_op_post_408 =
37
45
let () =
38
46
let version = Sys. ocaml_version in
39
47
let major, minor = Scanf. sscanf version " %u.%u" (fun maj min -> (maj, min)) in
48
+ print_endline shims_all ;
40
49
print_endline
41
50
( if (major, minor) > = (4 , 8 )
42
51
then shims_let_op_post_408
0 commit comments