Skip to content

Commit cb04a8b

Browse files
committed
Stdlib namespace for Core modules
1 parent eac3728 commit cb04a8b

File tree

84 files changed

+397
-848
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+397
-848
lines changed

compiler/core/res_compmisc.ml

+4-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,10 @@ let initial_env ?modulename () =
5454
let initial = Env.initial_safe_string in
5555
let env =
5656
if !Clflags.nopervasives then initial
57-
else open_implicit_module "Pervasives" initial
57+
else
58+
initial
59+
|> open_implicit_module "Pervasives"
60+
|> open_implicit_module "Stdlib"
5861
in
5962
List.fold_left
6063
(fun env m -> open_implicit_module m env)

compiler/gentype/TranslateTypeExprFromTypes.ml

+2-2
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ let translate_constr ~config ~params_translation ~(path : Path.t) ~type_env =
8686
{dependencies = []; type_ = string_t}
8787
| (["Js"; "Types"; "bigint_val"] | ["BigInt"; "t"]), [] ->
8888
{dependencies = []; type_ = bigint_t}
89-
| (["Js"; "Date"; "t"] | ["Date"; "t"]), [] ->
89+
| (["Js"; "Date"; "t"] | ["Date"; "t"] | ["Stdlib_Date"; "t"]), [] ->
9090
{dependencies = []; type_ = date_t}
9191
| ["Map"; "t"], [param_translation1; param_translation2] ->
9292
{
@@ -110,7 +110,7 @@ let translate_constr ~config ~params_translation ~(path : Path.t) ~type_env =
110110
dependencies = param_translation.dependencies;
111111
type_ = weakset_t param_translation.type_;
112112
}
113-
| (["Js"; "Re"; "t"] | ["RegExp"; "t"]), [] ->
113+
| (["Js"; "Re"; "t"] | ["Stdlib_RegExp"; "t"]), [] ->
114114
{dependencies = []; type_ = regexp_t}
115115
| (["FB"; "unit"] | ["unit"]), [] -> {dependencies = []; type_ = unit_t}
116116
| ( (["FB"; "array"] | ["array"] | ["Js"; ("Array" | "Array2"); "t"]),

compiler/ml/ast_untagged_variants.ml

+2-2
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,8 @@ let type_to_instanceof_backed_obj (t : Types.type_expr) =
179179
| Tconstr (path, _, _) when Path.same path Predef.path_array -> Some Array
180180
| Tconstr (path, _, _) -> (
181181
match Path.name path with
182-
| "Js_date.t" -> Some Date
183-
| "Js_re.t" -> Some RegExp
182+
| "Stdlib_Date.t" -> Some Date
183+
| "Stdlib_RegExp.t" -> Some RegExp
184184
| "Js_file.t" -> Some File
185185
| "Js_blob.t" -> Some Blob
186186
| _ -> None)

lib/es6/Int.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22

3-
import * as $$Array from "./Array.js";
3+
import * as Stdlib_Array from "./Stdlib_Array.js";
44

55
function fromString(x, radix) {
66
let maybeInt = radix !== undefined ? parseInt(x, radix) : parseInt(x);
@@ -46,7 +46,7 @@ function range(start, end, optionsOpt) {
4646
let range$2 = options.inclusive === true ? range$1 + 1 | 0 : range$1;
4747
length = Math.ceil(range$2 / abs(step)) | 0;
4848
}
49-
return $$Array.fromInitializer(length, i => start + Math.imul(i, step) | 0);
49+
return Stdlib_Array.fromInitializer(length, i => start + Math.imul(i, step) | 0);
5050
}
5151

5252
function rangeWithOptions(start, end, options) {

lib/es6/List.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22

3-
import * as $$Array from "./Array.js";
3+
import * as Stdlib_Array from "./Stdlib_Array.js";
44
import * as Primitive_int from "./Primitive_int.js";
55
import * as Primitive_option from "./Primitive_option.js";
66

@@ -648,7 +648,7 @@ function toArray(x) {
648648

649649
function toShuffled(xs) {
650650
let v = toArray(xs);
651-
$$Array.shuffle(v);
651+
Stdlib_Array.shuffle(v);
652652
return fromArray(v);
653653
}
654654

lib/es6/Stdlib.js

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
2+
3+
4+
let $$Array;
5+
6+
let $$Date;
7+
8+
let Dict;
9+
10+
let $$Promise;
11+
12+
let $$RegExp;
13+
14+
let Result;
15+
16+
let $$Set;
17+
18+
let $$String;
19+
20+
let $$Symbol;
21+
22+
export {
23+
$$Array,
24+
$$Date,
25+
Dict,
26+
$$Promise,
27+
$$RegExp,
28+
Result,
29+
$$Set,
30+
$$String,
31+
$$Symbol,
32+
}
33+
/* No side effect */
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

lib/js/Int.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
let $$Array = require("./Array.js");
3+
let Stdlib_Array = require("./Stdlib_Array.js");
44

55
function fromString(x, radix) {
66
let maybeInt = radix !== undefined ? parseInt(x, radix) : parseInt(x);
@@ -46,7 +46,7 @@ function range(start, end, optionsOpt) {
4646
let range$2 = options.inclusive === true ? range$1 + 1 | 0 : range$1;
4747
length = Math.ceil(range$2 / abs(step)) | 0;
4848
}
49-
return $$Array.fromInitializer(length, i => start + Math.imul(i, step) | 0);
49+
return Stdlib_Array.fromInitializer(length, i => start + Math.imul(i, step) | 0);
5050
}
5151

5252
function rangeWithOptions(start, end, options) {

lib/js/List.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
let $$Array = require("./Array.js");
3+
let Stdlib_Array = require("./Stdlib_Array.js");
44
let Primitive_int = require("./Primitive_int.js");
55
let Primitive_option = require("./Primitive_option.js");
66

@@ -648,7 +648,7 @@ function toArray(x) {
648648

649649
function toShuffled(xs) {
650650
let v = toArray(xs);
651-
$$Array.shuffle(v);
651+
Stdlib_Array.shuffle(v);
652652
return fromArray(v);
653653
}
654654

lib/js/Stdlib.js

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
'use strict';
2+
3+
4+
let $$Array;
5+
6+
let $$Date;
7+
8+
let Dict;
9+
10+
let $$Promise;
11+
12+
let $$RegExp;
13+
14+
let Result;
15+
16+
let $$Set;
17+
18+
let $$String;
19+
20+
let $$Symbol;
21+
22+
exports.$$Array = $$Array;
23+
exports.$$Date = $$Date;
24+
exports.Dict = Dict;
25+
exports.$$Promise = $$Promise;
26+
exports.$$RegExp = $$RegExp;
27+
exports.Result = Result;
28+
exports.$$Set = $$Set;
29+
exports.$$String = $$String;
30+
exports.$$Symbol = $$Symbol;
31+
/* No side effect */
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

lib/js/Set.js lib/js/Stdlib_Set.js

File renamed without changes.
File renamed without changes.
File renamed without changes.

packages/artifacts.txt

+76-70
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ darwinarm64/rescript.exe
3030
darwinarm64/rewatch.exe
3131
docs/docson/build-schema.json
3232
lib/bstracing
33-
lib/es6/Array.js
3433
lib/es6/ArrayBuffer.js
3534
lib/es6/AsyncIterator.js
3635
lib/es6/Belt.js
@@ -82,8 +81,6 @@ lib/es6/BigUint64Array.js
8281
lib/es6/Char.js
8382
lib/es6/Console.js
8483
lib/es6/DataView.js
85-
lib/es6/Date.js
86-
lib/es6/Dict.js
8784
lib/es6/Dom.js
8885
lib/es6/Dom_storage.js
8986
lib/es6/Dom_storage2.js
@@ -183,14 +180,18 @@ lib/es6/Primitive_promise.js
183180
lib/es6/Primitive_string.js
184181
lib/es6/Primitive_string_extern.js
185182
lib/es6/Primitive_util.js
186-
lib/es6/Promise.js
187-
lib/es6/RegExp.js
188183
lib/es6/RescriptTools.js
189184
lib/es6/RescriptTools_Docgen.js
190-
lib/es6/Result.js
191-
lib/es6/Set.js
192-
lib/es6/String.js
193-
lib/es6/Symbol.js
185+
lib/es6/Stdlib.js
186+
lib/es6/Stdlib_Array.js
187+
lib/es6/Stdlib_Date.js
188+
lib/es6/Stdlib_Dict.js
189+
lib/es6/Stdlib_Promise.js
190+
lib/es6/Stdlib_RegExp.js
191+
lib/es6/Stdlib_Result.js
192+
lib/es6/Stdlib_Set.js
193+
lib/es6/Stdlib_String.js
194+
lib/es6/Stdlib_Symbol.js
194195
lib/es6/Type.js
195196
lib/es6/TypedArray.js
196197
lib/es6/Uint16Array.js
@@ -200,7 +201,6 @@ lib/es6/Uint8ClampedArray.js
200201
lib/es6/WeakMap.js
201202
lib/es6/WeakSet.js
202203
lib/es6/package.json
203-
lib/js/Array.js
204204
lib/js/ArrayBuffer.js
205205
lib/js/AsyncIterator.js
206206
lib/js/Belt.js
@@ -252,8 +252,6 @@ lib/js/BigUint64Array.js
252252
lib/js/Char.js
253253
lib/js/Console.js
254254
lib/js/DataView.js
255-
lib/js/Date.js
256-
lib/js/Dict.js
257255
lib/js/Dom.js
258256
lib/js/Dom_storage.js
259257
lib/js/Dom_storage2.js
@@ -353,14 +351,18 @@ lib/js/Primitive_promise.js
353351
lib/js/Primitive_string.js
354352
lib/js/Primitive_string_extern.js
355353
lib/js/Primitive_util.js
356-
lib/js/Promise.js
357-
lib/js/RegExp.js
358354
lib/js/RescriptTools.js
359355
lib/js/RescriptTools_Docgen.js
360-
lib/js/Result.js
361-
lib/js/Set.js
362-
lib/js/String.js
363-
lib/js/Symbol.js
356+
lib/js/Stdlib.js
357+
lib/js/Stdlib_Array.js
358+
lib/js/Stdlib_Date.js
359+
lib/js/Stdlib_Dict.js
360+
lib/js/Stdlib_Promise.js
361+
lib/js/Stdlib_RegExp.js
362+
lib/js/Stdlib_Result.js
363+
lib/js/Stdlib_Set.js
364+
lib/js/Stdlib_String.js
365+
lib/js/Stdlib_Symbol.js
364366
lib/js/Type.js
365367
lib/js/TypedArray.js
366368
lib/js/Uint16Array.js
@@ -370,12 +372,6 @@ lib/js/Uint8ClampedArray.js
370372
lib/js/WeakMap.js
371373
lib/js/WeakSet.js
372374
lib/minisocket.js
373-
lib/ocaml/Array.cmi
374-
lib/ocaml/Array.cmj
375-
lib/ocaml/Array.cmt
376-
lib/ocaml/Array.cmti
377-
lib/ocaml/Array.res
378-
lib/ocaml/Array.resi
379375
lib/ocaml/ArrayBuffer.cmi
380376
lib/ocaml/ArrayBuffer.cmj
381377
lib/ocaml/ArrayBuffer.cmt
@@ -662,18 +658,6 @@ lib/ocaml/DataView.cmi
662658
lib/ocaml/DataView.cmj
663659
lib/ocaml/DataView.cmt
664660
lib/ocaml/DataView.res
665-
lib/ocaml/Date.cmi
666-
lib/ocaml/Date.cmj
667-
lib/ocaml/Date.cmt
668-
lib/ocaml/Date.cmti
669-
lib/ocaml/Date.res
670-
lib/ocaml/Date.resi
671-
lib/ocaml/Dict.cmi
672-
lib/ocaml/Dict.cmj
673-
lib/ocaml/Dict.cmt
674-
lib/ocaml/Dict.cmti
675-
lib/ocaml/Dict.res
676-
lib/ocaml/Dict.resi
677661
lib/ocaml/Dom.cmi
678662
lib/ocaml/Dom.cmj
679663
lib/ocaml/Dom.cmt
@@ -1126,18 +1110,6 @@ lib/ocaml/Primitive_util.cmi
11261110
lib/ocaml/Primitive_util.cmj
11271111
lib/ocaml/Primitive_util.cmt
11281112
lib/ocaml/Primitive_util.res
1129-
lib/ocaml/Promise.cmi
1130-
lib/ocaml/Promise.cmj
1131-
lib/ocaml/Promise.cmt
1132-
lib/ocaml/Promise.cmti
1133-
lib/ocaml/Promise.res
1134-
lib/ocaml/Promise.resi
1135-
lib/ocaml/RegExp.cmi
1136-
lib/ocaml/RegExp.cmj
1137-
lib/ocaml/RegExp.cmt
1138-
lib/ocaml/RegExp.cmti
1139-
lib/ocaml/RegExp.res
1140-
lib/ocaml/RegExp.resi
11411113
lib/ocaml/RescriptTools.cmi
11421114
lib/ocaml/RescriptTools.cmj
11431115
lib/ocaml/RescriptTools.cmt
@@ -1148,28 +1120,62 @@ lib/ocaml/RescriptTools_Docgen.cmt
11481120
lib/ocaml/RescriptTools_Docgen.cmti
11491121
lib/ocaml/RescriptTools_Docgen.res
11501122
lib/ocaml/RescriptTools_Docgen.resi
1151-
lib/ocaml/Result.cmi
1152-
lib/ocaml/Result.cmj
1153-
lib/ocaml/Result.cmt
1154-
lib/ocaml/Result.cmti
1155-
lib/ocaml/Result.res
1156-
lib/ocaml/Result.resi
1157-
lib/ocaml/Set.cmi
1158-
lib/ocaml/Set.cmj
1159-
lib/ocaml/Set.cmt
1160-
lib/ocaml/Set.cmti
1161-
lib/ocaml/Set.res
1162-
lib/ocaml/Set.resi
1163-
lib/ocaml/String.cmi
1164-
lib/ocaml/String.cmj
1165-
lib/ocaml/String.cmt
1166-
lib/ocaml/String.cmti
1167-
lib/ocaml/String.res
1168-
lib/ocaml/String.resi
1169-
lib/ocaml/Symbol.cmi
1170-
lib/ocaml/Symbol.cmj
1171-
lib/ocaml/Symbol.cmt
1172-
lib/ocaml/Symbol.res
1123+
lib/ocaml/Stdlib.cmi
1124+
lib/ocaml/Stdlib.cmj
1125+
lib/ocaml/Stdlib.cmt
1126+
lib/ocaml/Stdlib.res
1127+
lib/ocaml/Stdlib_Array.cmi
1128+
lib/ocaml/Stdlib_Array.cmj
1129+
lib/ocaml/Stdlib_Array.cmt
1130+
lib/ocaml/Stdlib_Array.cmti
1131+
lib/ocaml/Stdlib_Array.res
1132+
lib/ocaml/Stdlib_Array.resi
1133+
lib/ocaml/Stdlib_Date.cmi
1134+
lib/ocaml/Stdlib_Date.cmj
1135+
lib/ocaml/Stdlib_Date.cmt
1136+
lib/ocaml/Stdlib_Date.cmti
1137+
lib/ocaml/Stdlib_Date.res
1138+
lib/ocaml/Stdlib_Date.resi
1139+
lib/ocaml/Stdlib_Dict.cmi
1140+
lib/ocaml/Stdlib_Dict.cmj
1141+
lib/ocaml/Stdlib_Dict.cmt
1142+
lib/ocaml/Stdlib_Dict.cmti
1143+
lib/ocaml/Stdlib_Dict.res
1144+
lib/ocaml/Stdlib_Dict.resi
1145+
lib/ocaml/Stdlib_Promise.cmi
1146+
lib/ocaml/Stdlib_Promise.cmj
1147+
lib/ocaml/Stdlib_Promise.cmt
1148+
lib/ocaml/Stdlib_Promise.cmti
1149+
lib/ocaml/Stdlib_Promise.res
1150+
lib/ocaml/Stdlib_Promise.resi
1151+
lib/ocaml/Stdlib_RegExp.cmi
1152+
lib/ocaml/Stdlib_RegExp.cmj
1153+
lib/ocaml/Stdlib_RegExp.cmt
1154+
lib/ocaml/Stdlib_RegExp.cmti
1155+
lib/ocaml/Stdlib_RegExp.res
1156+
lib/ocaml/Stdlib_RegExp.resi
1157+
lib/ocaml/Stdlib_Result.cmi
1158+
lib/ocaml/Stdlib_Result.cmj
1159+
lib/ocaml/Stdlib_Result.cmt
1160+
lib/ocaml/Stdlib_Result.cmti
1161+
lib/ocaml/Stdlib_Result.res
1162+
lib/ocaml/Stdlib_Result.resi
1163+
lib/ocaml/Stdlib_Set.cmi
1164+
lib/ocaml/Stdlib_Set.cmj
1165+
lib/ocaml/Stdlib_Set.cmt
1166+
lib/ocaml/Stdlib_Set.cmti
1167+
lib/ocaml/Stdlib_Set.res
1168+
lib/ocaml/Stdlib_Set.resi
1169+
lib/ocaml/Stdlib_String.cmi
1170+
lib/ocaml/Stdlib_String.cmj
1171+
lib/ocaml/Stdlib_String.cmt
1172+
lib/ocaml/Stdlib_String.cmti
1173+
lib/ocaml/Stdlib_String.res
1174+
lib/ocaml/Stdlib_String.resi
1175+
lib/ocaml/Stdlib_Symbol.cmi
1176+
lib/ocaml/Stdlib_Symbol.cmj
1177+
lib/ocaml/Stdlib_Symbol.cmt
1178+
lib/ocaml/Stdlib_Symbol.res
11731179
lib/ocaml/Type.cmi
11741180
lib/ocaml/Type.cmj
11751181
lib/ocaml/Type.cmt

0 commit comments

Comments
 (0)