@@ -12,7 +12,7 @@ type user2 = {
12
12
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaage: int,
13
13
emaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaail: string,
14
14
}
15
- module Diff = {
15
+ module Diff: {
16
16
let string: (string, string) => bool
17
17
}
18
18
module Diff2 = Diff
@@ -42,12 +42,12 @@ type color +=
42
42
| Blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaack
43
43
| Oraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaange
44
44
| Reeeeeeeeeeeeeeeeeeeed
45
- module Expr = {
45
+ module Expr: {
46
46
type attr = ..
47
47
type attr += private Str(string)
48
48
type attr += Int(int) | Float(float)
49
49
}
50
- module User = {
50
+ module User: {
51
51
type t = {name: string, age: int}
52
52
}
53
53
type userT = User.t = {name: string, age: int}
@@ -77,7 +77,7 @@ type redColor = [#Red]
77
77
type greenColor = [#Green]
78
78
type blueColor = [#Blue]
79
79
type rgbColor = [#Blue | #Green | #Red]
80
- module M = {
80
+ module M: {
81
81
type data = [#IntData(int) | #StrData(string)]
82
82
let stringOfData: data => string
83
83
}
@@ -149,9 +149,9 @@ type \"let" = int
149
149
type \"type" = [#"Point🗿"(\"let", float)]
150
150
type t23 = [#1 | #"10space" | #123]
151
151
type exoticUser = {\"let": string, \"type": float}
152
- module Js = {
152
+ module Js: {
153
153
type t<'a> = 'a
154
- module Fn = {
154
+ module Fn: {
155
155
type arity0<'a> = {i0: unit => 'a}
156
156
type arity1<'a> = {i1: 'a}
157
157
type arity2<'a> = {i2: 'a}
@@ -447,4 +447,47 @@ type picture = string
447
447
module type DEVICE = {
448
448
let draw: picture => unit
449
449
}
450
- let devices: Hashtbl.t<string, module(DEVICE)>
450
+ let devices: Hashtbl.t<string, module(DEVICE)>
451
+ module rec A: {
452
+ type t = Leaf(string) | Node(ASet.t)
453
+ let compare: (t, t) => int
454
+ }
455
+ and ASet: {
456
+ type rec elt = A.t
457
+ type rec t
458
+ let empty: t
459
+ let is_empty: t => bool
460
+ let mem: (elt, t) => bool
461
+ let add: (elt, t) => t
462
+ let singleton: elt => t
463
+ let remove: (elt, t) => t
464
+ let union: (t, t) => t
465
+ let inter: (t, t) => t
466
+ let diff: (t, t) => t
467
+ let compare: (t, t) => int
468
+ let equal: (t, t) => bool
469
+ let subset: (t, t) => bool
470
+ let iter: (elt => unit, t) => unit
471
+ let map: (elt => elt, t) => t
472
+ let fold: ((elt, 'a) => 'a, t, 'a) => 'a
473
+ let for_all: (elt => bool, t) => bool
474
+ let exists: (elt => bool, t) => bool
475
+ let filter: (elt => bool, t) => t
476
+ let partition: (elt => bool, t) => (t, t)
477
+ let cardinal: t => int
478
+ let elements: t => list<elt>
479
+ let min_elt: t => elt
480
+ let min_elt_opt: t => option<elt>
481
+ let max_elt: t => elt
482
+ let max_elt_opt: t => option<elt>
483
+ let choose: t => elt
484
+ let choose_opt: t => option<elt>
485
+ let split: (elt, t) => (t, bool, t)
486
+ let find: (elt, t) => elt
487
+ let find_opt: (elt, t) => option<elt>
488
+ let find_first: (elt => bool, t) => elt
489
+ let find_first_opt: (elt => bool, t) => option<elt>
490
+ let find_last: (elt => bool, t) => elt
491
+ let find_last_opt: (elt => bool, t) => option<elt>
492
+ let of_list: list<elt> => t
493
+ }
0 commit comments