diff --git a/CHANGELOG.md b/CHANGELOG.md
index e7c4d996..5d63b1c9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@
## Next version
- Add `Dict.forEach`, `Dict.forEachWithKey` and `Dict.mapValues` https://github.com/rescript-association/rescript-core/pull/181
+- Remove internal xxxU helper functions that are not needed anymore in uncurried mode. https://github.com/rescript-association/rescript-core/pull/191
## 1.0.0
diff --git a/src/Core__Array.mjs b/src/Core__Array.mjs
index d8ee402f..f33b3840 100644
--- a/src/Core__Array.mjs
+++ b/src/Core__Array.mjs
@@ -127,15 +127,12 @@ function toShuffled(xs) {
}
function filterMap(a, f) {
- var f$1 = function (a) {
- return f(a);
- };
var l = a.length;
var r = new Array(l);
var j = 0;
for(var i = 0; i < l; ++i){
var v = a[i];
- var v$1 = f$1(v);
+ var v$1 = f(v);
if (v$1 !== undefined) {
r[j] = Caml_option.valFromOption(v$1);
j = j + 1 | 0;
diff --git a/src/Core__Array.res b/src/Core__Array.res
index 9059ed4c..165237b2 100644
--- a/src/Core__Array.res
+++ b/src/Core__Array.res
@@ -210,7 +210,7 @@ let toShuffled = xs => {
result
}
-let filterMapU = (a, f) => {
+let filterMap = (a, f) => {
let l = length(a)
let r = makeUninitializedUnsafe(l)
let j = ref(0)
@@ -227,8 +227,6 @@ let filterMapU = (a, f) => {
r
}
-let filterMap = (a, f) => filterMapU(a, a => f(a))
-
let keepSome = filterMap(_, x => x)
@send external flatMap: (array<'a>, 'a => array<'b>) => array<'b> = "flatMap"
diff --git a/src/Core__List.mjs b/src/Core__List.mjs
index cc778f56..bf07d0cf 100644
--- a/src/Core__List.mjs
+++ b/src/Core__List.mjs
@@ -510,24 +510,18 @@ function concat(xs, ys) {
}
function map(xs, f) {
- var f$1 = function (x) {
- return f(x);
- };
if (!xs) {
return /* [] */0;
}
var cell = {
- hd: f$1(xs.hd),
+ hd: f(xs.hd),
tl: /* [] */0
};
- copyAuxWithMap(xs.tl, cell, f$1);
+ copyAuxWithMap(xs.tl, cell, f);
return cell;
}
function zipBy(l1, l2, f) {
- var f$1 = function (x, y) {
- return f(x, y);
- };
if (!l1) {
return /* [] */0;
}
@@ -535,44 +529,38 @@ function zipBy(l1, l2, f) {
return /* [] */0;
}
var cell = {
- hd: f$1(l1.hd, l2.hd),
+ hd: f(l1.hd, l2.hd),
tl: /* [] */0
};
- copyAuxWithMap2(f$1, l1.tl, l2.tl, cell);
+ copyAuxWithMap2(f, l1.tl, l2.tl, cell);
return cell;
}
function mapWithIndex(xs, f) {
- var f$1 = function (i, x) {
- return f(i, x);
- };
if (!xs) {
return /* [] */0;
}
var cell = {
- hd: f$1(0, xs.hd),
+ hd: f(0, xs.hd),
tl: /* [] */0
};
- copyAuxWithMapI(f$1, 1, xs.tl, cell);
+ copyAuxWithMapI(f, 1, xs.tl, cell);
return cell;
}
function makeBy(n, f) {
- var f$1 = function (x) {
- return f(x);
- };
if (n <= 0) {
return /* [] */0;
}
var headX = {
- hd: f$1(0),
+ hd: f(0),
tl: /* [] */0
};
var cur = headX;
var i = 1;
while(i < n) {
var v = {
- hd: f$1(i),
+ hd: f(i),
tl: /* [] */0
};
cur.tl = v;
@@ -735,9 +723,6 @@ function concatMany(xs) {
}
function mapReverse(l, f) {
- var f$1 = function (x) {
- return f(x);
- };
var _accu = /* [] */0;
var _xs = l;
while(true) {
@@ -748,33 +733,26 @@ function mapReverse(l, f) {
}
_xs = xs.tl;
_accu = {
- hd: f$1(xs.hd),
+ hd: f(xs.hd),
tl: accu
};
continue ;
};
}
-function forEach(xs, f) {
- var _xs = xs;
- var f$1 = function (x) {
- return f(x);
- };
+function forEach(_xs, f) {
while(true) {
- var xs$1 = _xs;
- if (!xs$1) {
+ var xs = _xs;
+ if (!xs) {
return ;
}
- f$1(xs$1.hd);
- _xs = xs$1.tl;
+ f(xs.hd);
+ _xs = xs.tl;
continue ;
};
}
function forEachWithIndex(l, f) {
- var f$1 = function (i, x) {
- return f(i, x);
- };
var _xs = l;
var _i = 0;
while(true) {
@@ -783,55 +761,44 @@ function forEachWithIndex(l, f) {
if (!xs) {
return ;
}
- f$1(i, xs.hd);
+ f(i, xs.hd);
_i = i + 1 | 0;
_xs = xs.tl;
continue ;
};
}
-function reduce(l, accu, f) {
- var _l = l;
- var _accu = accu;
- var f$1 = function (acc, x) {
- return f(acc, x);
- };
+function reduce(_l, _accu, f) {
while(true) {
- var accu$1 = _accu;
- var l$1 = _l;
- if (!l$1) {
- return accu$1;
+ var accu = _accu;
+ var l = _l;
+ if (!l) {
+ return accu;
}
- _accu = f$1(accu$1, l$1.hd);
- _l = l$1.tl;
+ _accu = f(accu, l.hd);
+ _l = l.tl;
continue ;
};
}
-function reduceReverseUnsafeU(l, accu, f) {
+function reduceReverseUnsafe(l, accu, f) {
if (l) {
- return f(reduceReverseUnsafeU(l.tl, accu, f), l.hd);
+ return f(reduceReverseUnsafe(l.tl, accu, f), l.hd);
} else {
return accu;
}
}
-function reduceReverse(l, accu, f) {
- var f$1 = function (a, b) {
- return f(a, b);
- };
+function reduceReverse(l, acc, f) {
var len = length(l);
if (len < 1000) {
- return reduceReverseUnsafeU(l, accu, f$1);
+ return reduceReverseUnsafe(l, acc, f);
} else {
- return Belt_Array.reduceReverseU(toArray(l), accu, f$1);
+ return Belt_Array.reduceReverseU(toArray(l), acc, f);
}
}
function reduceWithIndex(l, acc, f) {
- var f$1 = function (acc, x, i) {
- return f(acc, x, i);
- };
var _l = l;
var _acc = acc;
var _i = 0;
@@ -843,16 +810,13 @@ function reduceWithIndex(l, acc, f) {
return acc$1;
}
_i = i + 1 | 0;
- _acc = f$1(acc$1, l$1.hd, i);
+ _acc = f(acc$1, l$1.hd, i);
_l = l$1.tl;
continue ;
};
}
function mapReverse2(l1, l2, f) {
- var f$1 = function (a, b) {
- return f(a, b);
- };
var _l1 = l1;
var _l2 = l2;
var _accu = /* [] */0;
@@ -867,7 +831,7 @@ function mapReverse2(l1, l2, f) {
return accu;
}
_accu = {
- hd: f$1(l1$1.hd, l2$1.hd),
+ hd: f(l1$1.hd, l2$1.hd),
tl: accu
};
_l2 = l2$1.tl;
@@ -876,128 +840,101 @@ function mapReverse2(l1, l2, f) {
};
}
-function forEach2(l1, l2, f) {
- var _l1 = l1;
- var _l2 = l2;
- var f$1 = function (a, b) {
- return f(a, b);
- };
+function forEach2(_l1, _l2, f) {
while(true) {
- var l2$1 = _l2;
- var l1$1 = _l1;
- if (!l1$1) {
+ var l2 = _l2;
+ var l1 = _l1;
+ if (!l1) {
return ;
}
- if (!l2$1) {
+ if (!l2) {
return ;
}
- f$1(l1$1.hd, l2$1.hd);
- _l2 = l2$1.tl;
- _l1 = l1$1.tl;
+ f(l1.hd, l2.hd);
+ _l2 = l2.tl;
+ _l1 = l1.tl;
continue ;
};
}
-function reduce2(l1, l2, acc, f) {
- var _l1 = l1;
- var _l2 = l2;
- var _accu = acc;
- var f$1 = function (a, b, c) {
- return f(a, b, c);
- };
+function reduce2(_l1, _l2, _accu, f) {
while(true) {
var accu = _accu;
- var l2$1 = _l2;
- var l1$1 = _l1;
- if (!l1$1) {
+ var l2 = _l2;
+ var l1 = _l1;
+ if (!l1) {
return accu;
}
- if (!l2$1) {
+ if (!l2) {
return accu;
}
- _accu = f$1(accu, l1$1.hd, l2$1.hd);
- _l2 = l2$1.tl;
- _l1 = l1$1.tl;
+ _accu = f(accu, l1.hd, l2.hd);
+ _l2 = l2.tl;
+ _l1 = l1.tl;
continue ;
};
}
-function reduceReverse2UnsafeU(l1, l2, accu, f) {
+function reduceReverse2Unsafe(l1, l2, accu, f) {
if (l1 && l2) {
- return f(reduceReverse2UnsafeU(l1.tl, l2.tl, accu, f), l1.hd, l2.hd);
+ return f(reduceReverse2Unsafe(l1.tl, l2.tl, accu, f), l1.hd, l2.hd);
} else {
return accu;
}
}
function reduceReverse2(l1, l2, acc, f) {
- var f$1 = function (a, b, c) {
- return f(a, b, c);
- };
var len = length(l1);
if (len < 1000) {
- return reduceReverse2UnsafeU(l1, l2, acc, f$1);
+ return reduceReverse2Unsafe(l1, l2, acc, f);
} else {
- return Belt_Array.reduceReverse2U(toArray(l1), toArray(l2), acc, f$1);
+ return Belt_Array.reduceReverse2U(toArray(l1), toArray(l2), acc, f);
}
}
-function every(xs, p) {
- var _xs = xs;
- var p$1 = function (x) {
- return p(x);
- };
+function every(_xs, p) {
while(true) {
- var xs$1 = _xs;
- if (!xs$1) {
+ var xs = _xs;
+ if (!xs) {
return true;
}
- if (!p$1(xs$1.hd)) {
+ if (!p(xs.hd)) {
return false;
}
- _xs = xs$1.tl;
+ _xs = xs.tl;
continue ;
};
}
-function some(xs, p) {
- var _xs = xs;
- var p$1 = function (x) {
- return p(x);
- };
+function some(_xs, p) {
while(true) {
- var xs$1 = _xs;
- if (!xs$1) {
+ var xs = _xs;
+ if (!xs) {
return false;
}
- if (p$1(xs$1.hd)) {
+ if (p(xs.hd)) {
return true;
}
- _xs = xs$1.tl;
+ _xs = xs.tl;
continue ;
};
}
-function every2(l1, l2, p) {
- var _l1 = l1;
- var _l2 = l2;
- var p$1 = function (a, b) {
- return p(a, b);
- };
+function every2(_l1, _l2, p) {
while(true) {
- var l2$1 = _l2;
- var l1$1 = _l1;
- if (!l1$1) {
+ var l2 = _l2;
+ var l1 = _l1;
+ if (!l1) {
return true;
}
- if (!l2$1) {
+ if (!l2) {
return true;
}
- if (!p$1(l1$1.hd, l2$1.hd)) {
+ if (!p(l1.hd, l2.hd)) {
return false;
}
- _l2 = l2$1.tl;
- _l1 = l1$1.tl;
+ _l2 = l2.tl;
+ _l1 = l1.tl;
continue ;
};
}
@@ -1069,102 +1006,82 @@ function equal(_l1, _l2, p) {
};
}
-function some2(l1, l2, p) {
- var _l1 = l1;
- var _l2 = l2;
- var p$1 = function (a, b) {
- return p(a, b);
- };
+function some2(_l1, _l2, p) {
while(true) {
- var l2$1 = _l2;
- var l1$1 = _l1;
- if (!l1$1) {
+ var l2 = _l2;
+ var l1 = _l1;
+ if (!l1) {
return false;
}
- if (!l2$1) {
+ if (!l2) {
return false;
}
- if (p$1(l1$1.hd, l2$1.hd)) {
+ if (p(l1.hd, l2.hd)) {
return true;
}
- _l2 = l2$1.tl;
- _l1 = l1$1.tl;
+ _l2 = l2.tl;
+ _l1 = l1.tl;
continue ;
};
}
-function has(xs, x, eq) {
- var _xs = xs;
- var eq$1 = function (a, b) {
- return eq(a, b);
- };
+function has(_xs, x, eq) {
while(true) {
- var xs$1 = _xs;
- if (!xs$1) {
+ var xs = _xs;
+ if (!xs) {
return false;
}
- if (eq$1(xs$1.hd, x)) {
+ if (eq(xs.hd, x)) {
return true;
}
- _xs = xs$1.tl;
+ _xs = xs.tl;
continue ;
};
}
-function getAssoc(xs, x, eq) {
- var _xs = xs;
- var eq$1 = function (a, b) {
- return eq(a, b);
- };
+function getAssoc(_xs, x, eq) {
while(true) {
- var xs$1 = _xs;
- if (!xs$1) {
+ var xs = _xs;
+ if (!xs) {
return ;
}
- var match = xs$1.hd;
- if (eq$1(match[0], x)) {
+ var match = xs.hd;
+ if (eq(match[0], x)) {
return Caml_option.some(match[1]);
}
- _xs = xs$1.tl;
+ _xs = xs.tl;
continue ;
};
}
-function hasAssoc(xs, x, eq) {
- var _xs = xs;
- var eq$1 = function (a, b) {
- return eq(a, b);
- };
+function hasAssoc(_xs, x, eq) {
while(true) {
- var xs$1 = _xs;
- if (!xs$1) {
+ var xs = _xs;
+ if (!xs) {
return false;
}
- if (eq$1(xs$1.hd[0], x)) {
+ if (eq(xs.hd[0], x)) {
return true;
}
- _xs = xs$1.tl;
+ _xs = xs.tl;
continue ;
};
}
function removeAssoc(xs, x, eq) {
- var eq$1 = function (a, b) {
- return eq(a, b);
- };
if (!xs) {
return /* [] */0;
}
var l = xs.tl;
var pair = xs.hd;
- if (eq$1(pair[0], x)) {
+ if (eq(pair[0], x)) {
return l;
}
var cell = {
hd: pair,
tl: /* [] */0
};
- var removed = removeAssocAuxWithMap(l, x, cell, eq$1);
+ var removed = removeAssocAuxWithMap(l, x, cell, eq);
if (removed) {
return cell;
} else {
@@ -1173,9 +1090,6 @@ function removeAssoc(xs, x, eq) {
}
function setAssoc(xs, x, k, eq) {
- var eq$1 = function (a, b) {
- return eq(a, b);
- };
if (!xs) {
return {
hd: [
@@ -1187,7 +1101,7 @@ function setAssoc(xs, x, k, eq) {
}
var l = xs.tl;
var pair = xs.hd;
- if (eq$1(pair[0], x)) {
+ if (eq(pair[0], x)) {
return {
hd: [
x,
@@ -1200,7 +1114,7 @@ function setAssoc(xs, x, k, eq) {
hd: pair,
tl: /* [] */0
};
- var replaced = setAssocAuxWithMap(l, x, k, cell, eq$1);
+ var replaced = setAssocAuxWithMap(l, x, k, cell, eq);
if (replaced) {
return cell;
} else {
@@ -1220,43 +1134,35 @@ function sort(xs, cmp) {
return fromArray(arr);
}
-function getBy(xs, p) {
- var _xs = xs;
- var p$1 = function (a) {
- return p(a);
- };
+function getBy(_xs, p) {
while(true) {
- var xs$1 = _xs;
- if (!xs$1) {
+ var xs = _xs;
+ if (!xs) {
return ;
}
- var x = xs$1.hd;
- if (p$1(x)) {
+ var x = xs.hd;
+ if (p(x)) {
return Caml_option.some(x);
}
- _xs = xs$1.tl;
+ _xs = xs.tl;
continue ;
};
}
-function filter(xs, p) {
- var _xs = xs;
- var p$1 = function (x) {
- return p(x);
- };
+function filter(_xs, p) {
while(true) {
- var xs$1 = _xs;
- if (!xs$1) {
+ var xs = _xs;
+ if (!xs) {
return /* [] */0;
}
- var t = xs$1.tl;
- var h = xs$1.hd;
- if (p$1(h)) {
+ var t = xs.tl;
+ var h = xs.hd;
+ if (p(h)) {
var cell = {
hd: h,
tl: /* [] */0
};
- copyAuxWitFilter(p$1, t, cell);
+ copyAuxWitFilter(p, t, cell);
return cell;
}
_xs = t;
@@ -1265,9 +1171,6 @@ function filter(xs, p) {
}
function filterWithIndex(xs, p) {
- var p$1 = function (x, i) {
- return p(x, i);
- };
var _xs = xs;
var _i = 0;
while(true) {
@@ -1278,12 +1181,12 @@ function filterWithIndex(xs, p) {
}
var t = xs$1.tl;
var h = xs$1.hd;
- if (p$1(h, i)) {
+ if (p(h, i)) {
var cell = {
hd: h,
tl: /* [] */0
};
- copyAuxWithFilterIndex(p$1, t, cell, i + 1 | 0);
+ copyAuxWithFilterIndex(p, t, cell, i + 1 | 0);
return cell;
}
_i = i + 1 | 0;
@@ -1292,24 +1195,20 @@ function filterWithIndex(xs, p) {
};
}
-function filterMap(xs, p) {
- var _xs = xs;
- var p$1 = function (x) {
- return p(x);
- };
+function filterMap(_xs, p) {
while(true) {
- var xs$1 = _xs;
- if (!xs$1) {
+ var xs = _xs;
+ if (!xs) {
return /* [] */0;
}
- var t = xs$1.tl;
- var h = p$1(xs$1.hd);
+ var t = xs.tl;
+ var h = p(xs.hd);
if (h !== undefined) {
var cell = {
hd: Caml_option.valFromOption(h),
tl: /* [] */0
};
- copyAuxWitFilterMap(p$1, t, cell);
+ copyAuxWitFilterMap(p, t, cell);
return cell;
}
_xs = t;
@@ -1318,9 +1217,6 @@ function filterMap(xs, p) {
}
function partition(l, p) {
- var p$1 = function (x) {
- return p(x);
- };
if (!l) {
return [
/* [] */0,
@@ -1336,8 +1232,8 @@ function partition(l, p) {
hd: h,
tl: /* [] */0
};
- var b = p$1(h);
- partitionAux(p$1, l.tl, nextX, nextY);
+ var b = p(h);
+ partitionAux(p, l.tl, nextX, nextY);
if (b) {
return [
nextX,
diff --git a/src/Core__List.res b/src/Core__List.res
index e4d4edef..e14bc492 100644
--- a/src/Core__List.res
+++ b/src/Core__List.res
@@ -379,7 +379,7 @@ let concat = (xs, ys) =>
cell
}
-let mapU = (xs, f) =>
+let map = (xs, f) =>
switch xs {
| list{} => list{}
| list{h, ...t} =>
@@ -388,9 +388,7 @@ let mapU = (xs, f) =>
cell
}
-let map = (xs, f) => mapU(xs, x => f(x))
-
-let zipByU = (l1, l2, f) =>
+let zipBy = (l1, l2, f) =>
switch (l1, l2) {
| (list{a1, ...l1}, list{a2, ...l2}) =>
let cell = mutableCell(f(a1, a2), list{})
@@ -399,9 +397,7 @@ let zipByU = (l1, l2, f) =>
| (list{}, _) | (_, list{}) => list{}
}
-let zipBy = (l1, l2, f) => zipByU(l1, l2, (x, y) => f(x, y))
-
-let mapWithIndexU = (xs, f) =>
+let mapWithIndex = (xs, f) =>
switch xs {
| list{} => list{}
| list{h, ...t} =>
@@ -410,9 +406,7 @@ let mapWithIndexU = (xs, f) =>
cell
}
-let mapWithIndex = (xs, f) => mapWithIndexU(xs, (i, x) => f(i, x))
-
-let makeByU = (n, f) =>
+let makeBy = (n, f) =>
if n <= 0 {
list{}
} else {
@@ -429,8 +423,6 @@ let makeByU = (n, f) =>
headX
}
-let makeBy = (n, f) => makeByU(n, x => f(x))
-
let make = (type a, n, v: a): list =>
if n <= 0 {
list{}
@@ -550,20 +542,16 @@ let rec mapRevAux = (f, accu, xs) =>
| list{a, ...l} => mapRevAux(f, list{f(a), ...accu}, l)
}
-let mapReverseU = (l, f) => mapRevAux(f, list{}, l)
+let mapReverse = (l, f) => mapRevAux(f, list{}, l)
-let mapReverse = (l, f) => mapReverseU(l, x => f(x))
-
-let rec forEachU = (xs, f) =>
+let rec forEach = (xs, f) =>
switch xs {
| list{} => ()
| list{a, ...l} =>
f(a)->ignore
- forEachU(l, f)
+ forEach(l, f)
}
-let forEach = (xs, f) => forEachU(xs, x => f(x))
-
let rec iteri = (xs, i, f) =>
switch xs {
| list{} => ()
@@ -572,43 +560,36 @@ let rec iteri = (xs, i, f) =>
iteri(l, i + 1, f)
}
-let forEachWithIndexU = (l, f) => iteri(l, 0, f)
-let forEachWithIndex = (l, f) => forEachWithIndexU(l, (i, x) => f(i, x))
+let forEachWithIndex = (l, f) => iteri(l, 0, f)
-let rec reduceU = (l, accu, f) =>
+let rec reduce = (l, accu, f) =>
switch l {
| list{} => accu
- | list{a, ...l} => reduceU(l, f(accu, a), f)
+ | list{a, ...l} => reduce(l, f(accu, a), f)
}
-let reduce = (l, accu, f) => reduceU(l, accu, (acc, x) => f(acc, x))
-
-let rec reduceReverseUnsafeU = (l, accu, f) =>
+let rec reduceReverseUnsafe = (l, accu, f) =>
switch l {
| list{} => accu
- | list{a, ...l} => f(reduceReverseUnsafeU(l, accu, f), a)
+ | list{a, ...l} => f(reduceReverseUnsafe(l, accu, f), a)
}
-let reduceReverseU = (type a b, l: list, acc: b, f) => {
+let reduceReverse = (type a b, l: list, acc: b, f) => {
let len = length(l)
if len < 1000 {
- reduceReverseUnsafeU(l, acc, f)
+ reduceReverseUnsafe(l, acc, f)
} else {
A.reduceReverseU(toArray(l), acc, f)
}
}
-let reduceReverse = (l, accu, f) => reduceReverseU(l, accu, (a, b) => f(a, b))
-
-let rec reduceWithIndexAuxU = (l, acc, f, i) =>
+let rec reduceWithIndexAux = (l, acc, f, i) =>
switch l {
| list{} => acc
- | list{x, ...xs} => reduceWithIndexAuxU(xs, f(acc, x, i), f, i + 1)
+ | list{x, ...xs} => reduceWithIndexAux(xs, f(acc, x, i), f, i + 1)
}
-let reduceWithIndexU = (l, acc, f) => reduceWithIndexAuxU(l, acc, f, 0)
-
-let reduceWithIndex = (l, acc, f) => reduceWithIndexU(l, acc, (acc, x, i) => f(acc, x, i))
+let reduceWithIndex = (l, acc, f) => reduceWithIndexAux(l, acc, f, 0)
let rec mapRevAux2 = (l1, l2, accu, f) =>
switch (l1, l2) {
@@ -616,70 +597,56 @@ let rec mapRevAux2 = (l1, l2, accu, f) =>
| (_, list{}) | (list{}, _) => accu
}
-let mapReverse2U = (l1, l2, f) => mapRevAux2(l1, l2, list{}, f)
+let mapReverse2 = (l1, l2, f) => mapRevAux2(l1, l2, list{}, f)
-let mapReverse2 = (l1, l2, f) => mapReverse2U(l1, l2, (a, b) => f(a, b))
-
-let rec forEach2U = (l1, l2, f) =>
+let rec forEach2 = (l1, l2, f) =>
switch (l1, l2) {
| (list{a1, ...l1}, list{a2, ...l2}) =>
f(a1, a2)->ignore
- forEach2U(l1, l2, f)
+ forEach2(l1, l2, f)
| (list{}, _) | (_, list{}) => ()
}
-let forEach2 = (l1, l2, f) => forEach2U(l1, l2, (a, b) => f(a, b))
-
-let rec reduce2U = (l1, l2, accu, f) =>
+let rec reduce2 = (l1, l2, accu, f) =>
switch (l1, l2) {
- | (list{a1, ...l1}, list{a2, ...l2}) => reduce2U(l1, l2, f(accu, a1, a2), f)
+ | (list{a1, ...l1}, list{a2, ...l2}) => reduce2(l1, l2, f(accu, a1, a2), f)
| (list{}, _) | (_, list{}) => accu
}
-let reduce2 = (l1, l2, acc, f) => reduce2U(l1, l2, acc, (a, b, c) => f(a, b, c))
-
-let rec reduceReverse2UnsafeU = (l1, l2, accu, f) =>
+let rec reduceReverse2Unsafe = (l1, l2, accu, f) =>
switch (l1, l2) {
| (list{}, list{}) => accu
- | (list{a1, ...l1}, list{a2, ...l2}) => f(reduceReverse2UnsafeU(l1, l2, accu, f), a1, a2)
+ | (list{a1, ...l1}, list{a2, ...l2}) => f(reduceReverse2Unsafe(l1, l2, accu, f), a1, a2)
| (_, list{}) | (list{}, _) => accu
}
-let reduceReverse2U = (type a b c, l1: list, l2: list, acc: c, f) => {
+let reduceReverse2 = (type a b c, l1: list, l2: list, acc: c, f) => {
let len = length(l1)
if len < 1000 {
- reduceReverse2UnsafeU(l1, l2, acc, f)
+ reduceReverse2Unsafe(l1, l2, acc, f)
} else {
A.reduceReverse2U(toArray(l1), toArray(l2), acc, f)
}
}
-let reduceReverse2 = (l1, l2, acc, f) => reduceReverse2U(l1, l2, acc, (a, b, c) => f(a, b, c))
-
-let rec everyU = (xs, p) =>
+let rec every = (xs, p) =>
switch xs {
| list{} => true
- | list{a, ...l} => p(a) && everyU(l, p)
+ | list{a, ...l} => p(a) && every(l, p)
}
-let every = (xs, p) => everyU(xs, x => p(x))
-
-let rec someU = (xs, p) =>
+let rec some = (xs, p) =>
switch xs {
| list{} => false
- | list{a, ...l} => p(a) || someU(l, p)
+ | list{a, ...l} => p(a) || some(l, p)
}
-let some = (xs, p) => someU(xs, x => p(x))
-
-let rec every2U = (l1, l2, p) =>
+let rec every2 = (l1, l2, p) =>
switch (l1, l2) {
| (_, list{}) | (list{}, _) => true
- | (list{a1, ...l1}, list{a2, ...l2}) => p(a1, a2) && every2U(l1, l2, p)
+ | (list{a1, ...l1}, list{a2, ...l2}) => p(a1, a2) && every2(l1, l2, p)
}
-let every2 = (l1, l2, p) => every2U(l1, l2, (a, b) => p(a, b))
-
let rec compareLength = (l1, l2) =>
switch (l1, l2) {
| (list{}, list{}) => Core__Ordering.equal
@@ -715,44 +682,36 @@ let rec equal = (l1, l2, p) =>
}
}
-let rec some2U = (l1, l2, p) =>
+let rec some2 = (l1, l2, p) =>
switch (l1, l2) {
| (list{}, _) | (_, list{}) => false
- | (list{a1, ...l1}, list{a2, ...l2}) => p(a1, a2) || some2U(l1, l2, p)
+ | (list{a1, ...l1}, list{a2, ...l2}) => p(a1, a2) || some2(l1, l2, p)
}
-let some2 = (l1, l2, p) => some2U(l1, l2, (a, b) => p(a, b))
-
-let rec hasU = (xs, x, eq) =>
+let rec has = (xs, x, eq) =>
switch xs {
| list{} => false
- | list{a, ...l} => eq(a, x) || hasU(l, x, eq)
+ | list{a, ...l} => eq(a, x) || has(l, x, eq)
}
-let has = (xs, x, eq) => hasU(xs, x, (a, b) => eq(a, b))
-
-let rec getAssocU = (xs, x, eq) =>
+let rec getAssoc = (xs, x, eq) =>
switch xs {
| list{} => None
| list{(a, b), ...l} =>
if eq(a, x) {
Some(b)
} else {
- getAssocU(l, x, eq)
+ getAssoc(l, x, eq)
}
}
-let getAssoc = (xs, x, eq) => getAssocU(xs, x, (a, b) => eq(a, b))
-
-let rec hasAssocU = (xs, x, eq) =>
+let rec hasAssoc = (xs, x, eq) =>
switch xs {
| list{} => false
- | list{(a, _), ...l} => eq(a, x) || hasAssocU(l, x, eq)
+ | list{(a, _), ...l} => eq(a, x) || hasAssoc(l, x, eq)
}
-let hasAssoc = (xs, x, eq) => hasAssocU(xs, x, (a, b) => eq(a, b))
-
-let removeAssocU = (xs, x, eq) =>
+let removeAssoc = (xs, x, eq) =>
switch xs {
| list{} => list{}
| list{(a, _) as pair, ...l} =>
@@ -769,9 +728,7 @@ let removeAssocU = (xs, x, eq) =>
}
}
-let removeAssoc = (xs, x, eq) => removeAssocU(xs, x, (a, b) => eq(a, b))
-
-let setAssocU = (xs, x, k, eq) =>
+let setAssoc = (xs, x, k, eq) =>
switch xs {
| list{} => list{(x, k)}
| list{(a, _) as pair, ...l} =>
@@ -788,28 +745,24 @@ let setAssocU = (xs, x, k, eq) =>
}
}
-let setAssoc = (xs, x, k, eq) => setAssocU(xs, x, k, (a, b) => eq(a, b))
-
let sort = (xs, cmp) => {
let arr = toArray(xs)
Core__Array.sort(arr, cmp)
fromArray(arr)
}
-let rec getByU = (xs, p) =>
+let rec getBy = (xs, p) =>
switch xs {
| list{} => None
| list{x, ...l} =>
if p(x) {
Some(x)
} else {
- getByU(l, p)
+ getBy(l, p)
}
}
-let getBy = (xs, p) => getByU(xs, a => p(a))
-
-let rec filterU = (xs, p) =>
+let rec filter = (xs, p) =>
switch xs {
| list{} => list{}
| list{h, ...t} =>
@@ -818,13 +771,11 @@ let rec filterU = (xs, p) =>
copyAuxWitFilter(p, t, cell)
cell
} else {
- filterU(t, p)
+ filter(t, p)
}
}
-let filter = (xs, p) => filterU(xs, x => p(x))
-
-let filterWithIndexU = (xs, p) => {
+let filterWithIndex = (xs, p) => {
let rec auxFilterWithIndex = (xs, p, i) =>
switch xs {
| list{} => list{}
@@ -840,9 +791,7 @@ let filterWithIndexU = (xs, p) => {
auxFilterWithIndex(xs, p, 0)
}
-let filterWithIndex = (xs, p) => filterWithIndexU(xs, (x, i) => p(x, i))
-
-let rec filterMapU = (xs, p) =>
+let rec filterMap = (xs, p) =>
switch xs {
| list{} => list{}
| list{h, ...t} =>
@@ -851,13 +800,11 @@ let rec filterMapU = (xs, p) =>
let cell = mutableCell(h, list{})
copyAuxWitFilterMap(p, t, cell)
cell
- | None => filterMapU(t, p)
+ | None => filterMap(t, p)
}
}
-let filterMap = (xs, p) => filterMapU(xs, x => p(x))
-
-let partitionU = (l, p) =>
+let partition = (l, p) =>
switch l {
| list{} => (list{}, list{})
| list{h, ...t} =>
@@ -884,8 +831,6 @@ let partitionU = (l, p) =>
}
}
-let partition = (l, p) => partitionU(l, x => p(x))
-
let unzip = xs =>
switch xs {
| list{} => (list{}, list{})