forked from rescript-lang/rescript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbs_auto_uncurry.js
140 lines (119 loc) · 2.71 KB
/
bs_auto_uncurry.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
'use strict';
var Curry = require("../../lib/js/curry.js");
var xbs = Array.prototype.map.call(/* int array */[
1,
2,
3,
5
], (function (x) {
return x + 1 | 0;
}));
function f(cb) {
return Array.prototype.map.call(/* int array */[
1,
2,
3,
4
], Curry.__1(cb));
}
var xs = Array.prototype.map.call(/* int array */[
1,
1,
2
], (function (x) {
return (function (y) {
return (y + x | 0) + 1 | 0;
});
}));
function f_0() {
return hi((function () {
return /* () */0;
}));
}
function f_01() {
return hi((function () {
console.log("x");
return /* () */0;
}));
}
function f_02(xs) {
return hi((function () {
xs[0] = /* () */0;
console.log("x");
return /* () */0;
}));
}
function f_03(_, u) {
return hi((function () {
return Curry._1(u, /* () */0);
}));
}
function fishy(x, y, z) {
return map2(x, y, Curry.__2(z));
}
function h(x, y, z) {
return map2(x, y, Curry.__2(z));
}
function h1(x, y, u, z) {
var partial_arg = Curry._1(z, u);
return map2(x, y, Curry.__2(partial_arg));
}
function add3(x, y, z) {
return (x + y | 0) + z | 0;
}
function h2(x) {
return ff(x, (function (prim, prim$1) {
return prim + prim$1 | 0;
}));
}
function h3(x) {
return ff(x, (function (param, param$1) {
return add3(1, param, param$1);
}));
}
function h4(x) {
return ff1(x, 3, (function (param, param$1) {
return add3(1, param, param$1);
}));
}
function h5(x) {
return ff2(x, "3", (function (param, param$1) {
return add3(2, param, param$1);
}));
}
function add(x, y) {
console.log(/* tuple */[
x,
y
]);
return x + y | 0;
}
function h6(x) {
return ff2(x, "3", add);
}
function unit_magic() {
console.log("noinline");
console.log("noinline");
return 3;
}
var f_unit_magic = unit_magic(/* () */0);
exports.xbs = xbs;
exports.f = f;
exports.xs = xs;
exports.f_0 = f_0;
exports.f_01 = f_01;
exports.f_02 = f_02;
exports.f_03 = f_03;
exports.fishy = fishy;
exports.h = h;
exports.h1 = h1;
exports.add3 = add3;
exports.h2 = h2;
exports.h3 = h3;
exports.h4 = h4;
exports.h5 = h5;
exports.add = add;
exports.h6 = h6;
exports.unit_magic = unit_magic;
exports.f_unit_magic = f_unit_magic;
/* xbs Not a pure module */