diff --git a/src/Control/Apply.js b/src/Control/Apply.js index 0b4720ca..386f4782 100644 --- a/src/Control/Apply.js +++ b/src/Control/Apply.js @@ -1,17 +1,16 @@ "use strict"; - -exports.arrayApply = function (fs) { - return function (xs) { - var l = fs.length; - var k = xs.length; - var result = new Array(l*k); - var n = 0; - for (var i = 0; i < l; i++) { - var f = fs[i]; - for (var j = 0; j < k; j++) { - result[n++] = f(xs[j]); - } - } - return result; - }; +export const arrayApply = function (fs) { + return function (xs) { + var l = fs.length; + var k = xs.length; + var result = new Array(l*k); + var n = 0; + for (var i = 0; i < l; i++) { + var f = fs[i]; + for (var j = 0; j < k; j++) { + result[n++] = f(xs[j]); + } + } + return result; + }; }; diff --git a/src/Control/Bind.js b/src/Control/Bind.js index f21afc29..1c6c0ed4 100644 --- a/src/Control/Bind.js +++ b/src/Control/Bind.js @@ -1,11 +1,10 @@ "use strict"; - -exports.arrayBind = function (arr) { - return function (f) { - var result = []; - for (var i = 0, l = arr.length; i < l; i++) { - Array.prototype.push.apply(result, f(arr[i])); - } - return result; - }; +export const arrayBind = function (arr) { + return function (f) { + var result = []; + for (var i = 0, l = arr.length; i < l; i++) { + Array.prototype.push.apply(result, f(arr[i])); + } + return result; + }; }; diff --git a/src/Data/Bounded.js b/src/Data/Bounded.js index 246f8ac8..cae80c77 100644 --- a/src/Data/Bounded.js +++ b/src/Data/Bounded.js @@ -1,10 +1,10 @@ "use strict"; -exports.topInt = 2147483647; -exports.bottomInt = -2147483648; +export const topInt = 2147483647; +export const bottomInt = -2147483648; -exports.topChar = String.fromCharCode(65535); -exports.bottomChar = String.fromCharCode(0); +export const topChar = String.fromCharCode(65535); +export const bottomChar = String.fromCharCode(0); -exports.topNumber = Number.POSITIVE_INFINITY; -exports.bottomNumber = Number.NEGATIVE_INFINITY; +export const topNumber = Number.POSITIVE_INFINITY; +export const bottomNumber = Number.NEGATIVE_INFINITY; diff --git a/src/Data/Eq.js b/src/Data/Eq.js index 2a2ae3ea..36bd6c27 100644 --- a/src/Data/Eq.js +++ b/src/Data/Eq.js @@ -1,25 +1,22 @@ "use strict"; - var refEq = function (r1) { - return function (r2) { - return r1 === r2; - }; + return function (r2) { + return r1 === r2; + }; }; - -exports.eqBooleanImpl = refEq; -exports.eqIntImpl = refEq; -exports.eqNumberImpl = refEq; -exports.eqCharImpl = refEq; -exports.eqStringImpl = refEq; - -exports.eqArrayImpl = function (f) { - return function (xs) { - return function (ys) { - if (xs.length !== ys.length) return false; - for (var i = 0; i < xs.length; i++) { - if (!f(xs[i])(ys[i])) return false; - } - return true; +export const eqArrayImpl = function (f) { + return function (xs) { + return function (ys) { + if (xs.length !== ys.length) return false; + for (var i = 0; i < xs.length; i++) { + if (!f(xs[i])(ys[i])) return false; + } + return true; + }; }; - }; }; +export { refEq as eqBooleanImpl }; +export { refEq as eqIntImpl }; +export { refEq as eqNumberImpl }; +export { refEq as eqCharImpl }; +export { refEq as eqStringImpl }; diff --git a/src/Data/EuclideanRing.js b/src/Data/EuclideanRing.js index a19fe503..f581a9d1 100644 --- a/src/Data/EuclideanRing.js +++ b/src/Data/EuclideanRing.js @@ -1,28 +1,28 @@ "use strict"; -exports.intDegree = function (x) { - return Math.min(Math.abs(x), 2147483647); +export const intDegree = function (x) { + return Math.min(Math.abs(x), 2147483647); }; // See the Euclidean definition in // https://en.m.wikipedia.org/wiki/Modulo_operation. -exports.intDiv = function (x) { - return function (y) { - if (y === 0) return 0; - return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y); - }; +export const intDiv = function (x) { + return function (y) { + if (y === 0) return 0; + return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y); + }; }; -exports.intMod = function (x) { - return function (y) { - if (y === 0) return 0; - var yy = Math.abs(y); - return ((x % yy) + yy) % yy; - }; +export const intMod = function (x) { + return function (y) { + if (y === 0) return 0; + var yy = Math.abs(y); + return ((x % yy) + yy) % yy; + }; }; -exports.numDiv = function (n1) { - return function (n2) { - return n1 / n2; - }; +export const numDiv = function (n1) { + return function (n2) { + return n1 / n2; + }; }; diff --git a/src/Data/Functor.js b/src/Data/Functor.js index 73ecc1f5..d221226e 100644 --- a/src/Data/Functor.js +++ b/src/Data/Functor.js @@ -1,12 +1,11 @@ "use strict"; - -exports.arrayMap = function (f) { - return function (arr) { - var l = arr.length; - var result = new Array(l); - for (var i = 0; i < l; i++) { - result[i] = f(arr[i]); - } - return result; - }; +export const arrayMap = function (f) { + return function (arr) { + var l = arr.length; + var result = new Array(l); + for (var i = 0; i < l; i++) { + result[i] = f(arr[i]); + } + return result; + }; }; diff --git a/src/Data/HeytingAlgebra.js b/src/Data/HeytingAlgebra.js index a076fd3f..1ce29012 100644 --- a/src/Data/HeytingAlgebra.js +++ b/src/Data/HeytingAlgebra.js @@ -1,17 +1,14 @@ "use strict"; - -exports.boolConj = function (b1) { - return function (b2) { - return b1 && b2; - }; +export const boolConj = function (b1) { + return function (b2) { + return b1 && b2; + }; }; - -exports.boolDisj = function (b1) { - return function (b2) { - return b1 || b2; - }; +export const boolDisj = function (b1) { + return function (b2) { + return b1 || b2; + }; }; - -exports.boolNot = function (b) { - return !b; +export const boolNot = function (b) { + return !b; }; diff --git a/src/Data/Ord.js b/src/Data/Ord.js index 67c1a058..b216f7ab 100644 --- a/src/Data/Ord.js +++ b/src/Data/Ord.js @@ -1,45 +1,43 @@ "use strict"; var unsafeCompareImpl = function (lt) { - return function (eq) { - return function (gt) { - return function (x) { - return function (y) { - return x < y ? lt : x === y ? eq : gt; + return function (eq) { + return function (gt) { + return function (x) { + return function (y) { + return x < y ? lt : x === y ? eq : gt; + }; + }; }; - }; }; - }; }; - -exports.ordBooleanImpl = unsafeCompareImpl; -exports.ordIntImpl = unsafeCompareImpl; -exports.ordNumberImpl = unsafeCompareImpl; -exports.ordStringImpl = unsafeCompareImpl; -exports.ordCharImpl = unsafeCompareImpl; - -exports.ordArrayImpl = function (f) { - return function (xs) { - return function (ys) { - var i = 0; - var xlen = xs.length; - var ylen = ys.length; - while (i < xlen && i < ylen) { - var x = xs[i]; - var y = ys[i]; - var o = f(x)(y); - if (o !== 0) { - return o; - } - i++; - } - if (xlen === ylen) { - return 0; - } else if (xlen > ylen) { - return -1; - } else { - return 1; - } +export const ordArrayImpl = function (f) { + return function (xs) { + return function (ys) { + var i = 0; + var xlen = xs.length; + var ylen = ys.length; + while (i < xlen && i < ylen) { + var x = xs[i]; + var y = ys[i]; + var o = f(x)(y); + if (o !== 0) { + return o; + } + i++; + } + if (xlen === ylen) { + return 0; + } else if (xlen > ylen) { + return -1; + } else { + return 1; + } + }; }; - }; }; +export { unsafeCompareImpl as ordBooleanImpl }; +export { unsafeCompareImpl as ordIntImpl }; +export { unsafeCompareImpl as ordNumberImpl }; +export { unsafeCompareImpl as ordStringImpl }; +export { unsafeCompareImpl as ordCharImpl }; diff --git a/src/Data/Ring.js b/src/Data/Ring.js index c6b4a329..aa7c50fa 100644 --- a/src/Data/Ring.js +++ b/src/Data/Ring.js @@ -1,14 +1,12 @@ "use strict"; - -exports.intSub = function (x) { - return function (y) { - /* jshint bitwise: false */ - return x - y | 0; - }; +export const intSub = function (x) { + return function (y) { + /* jshint bitwise: false */ + return x - y | 0; + }; }; - -exports.numSub = function (n1) { - return function (n2) { - return n1 - n2; - }; +export const numSub = function (n1) { + return function (n2) { + return n1 - n2; + }; }; diff --git a/src/Data/Semigroup.js b/src/Data/Semigroup.js index f1f1abad..4850e058 100644 --- a/src/Data/Semigroup.js +++ b/src/Data/Semigroup.js @@ -1,15 +1,15 @@ "use strict"; - -exports.concatString = function (s1) { - return function (s2) { - return s1 + s2; - }; +export const concatString = function (s1) { + return function (s2) { + return s1 + s2; + }; }; - -exports.concatArray = function (xs) { - return function (ys) { - if (xs.length === 0) return ys; - if (ys.length === 0) return xs; - return xs.concat(ys); - }; +export const concatArray = function (xs) { + return function (ys) { + if (xs.length === 0) + return ys; + if (ys.length === 0) + return xs; + return xs.concat(ys); + }; }; diff --git a/src/Data/Semiring.js b/src/Data/Semiring.js index 7f38e42e..f3bd0445 100644 --- a/src/Data/Semiring.js +++ b/src/Data/Semiring.js @@ -1,27 +1,23 @@ "use strict"; - -exports.intAdd = function (x) { - return function (y) { - /* jshint bitwise: false */ - return x + y | 0; - }; +export const intAdd = function (x) { + return function (y) { + /* jshint bitwise: false */ + return x + y | 0; + }; }; - -exports.intMul = function (x) { - return function (y) { - /* jshint bitwise: false */ - return x * y | 0; - }; +export const intMul = function (x) { + return function (y) { + /* jshint bitwise: false */ + return x * y | 0; + }; }; - -exports.numAdd = function (n1) { - return function (n2) { - return n1 + n2; - }; +export const numAdd = function (n1) { + return function (n2) { + return n1 + n2; + }; }; - -exports.numMul = function (n1) { - return function (n2) { - return n1 * n2; - }; +export const numMul = function (n1) { + return function (n2) { + return n1 * n2; + }; }; diff --git a/src/Data/Show.js b/src/Data/Show.js index 4a85cd66..ab2e8bb1 100644 --- a/src/Data/Show.js +++ b/src/Data/Show.js @@ -1,73 +1,73 @@ "use strict"; -exports.showIntImpl = function (n) { - return n.toString(); +export const showIntImpl = function (n) { + return n.toString(); }; -exports.showNumberImpl = function (n) { - var str = n.toString(); - return isNaN(str + ".0") ? str : str + ".0"; +export const showNumberImpl = function (n) { + var str = n.toString(); + return isNaN(str + ".0") ? str : str + ".0"; }; -exports.showCharImpl = function (c) { - var code = c.charCodeAt(0); - if (code < 0x20 || code === 0x7F) { - switch (c) { - case "\x07": return "'\\a'"; - case "\b": return "'\\b'"; - case "\f": return "'\\f'"; - case "\n": return "'\\n'"; - case "\r": return "'\\r'"; - case "\t": return "'\\t'"; - case "\v": return "'\\v'"; +export const showCharImpl = function (c) { + var code = c.charCodeAt(0); + if (code < 0x20 || code === 0x7F) { + switch (c) { + case "\x07": return "'\\a'"; + case "\b": return "'\\b'"; + case "\f": return "'\\f'"; + case "\n": return "'\\n'"; + case "\r": return "'\\r'"; + case "\t": return "'\\t'"; + case "\v": return "'\\v'"; + } + return "'\\" + code.toString(10) + "'"; } - return "'\\" + code.toString(10) + "'"; - } - return c === "'" || c === "\\" ? "'\\" + c + "'" : "'" + c + "'"; + return c === "'" || c === "\\" ? "'\\" + c + "'" : "'" + c + "'"; }; -exports.showStringImpl = function (s) { - var l = s.length; - return "\"" + s.replace( - /[\0-\x1F\x7F"\\]/g, // eslint-disable-line no-control-regex +export const showStringImpl = function (s) { + var l = s.length; + return "\"" + s.replace( + /[\0-\x1F\x7F"\\]/g, // eslint-disable-line no-control-regex function (c, i) { - switch (c) { - case "\"": - case "\\": - return "\\" + c; - case "\x07": return "\\a"; - case "\b": return "\\b"; - case "\f": return "\\f"; - case "\n": return "\\n"; - case "\r": return "\\r"; - case "\t": return "\\t"; - case "\v": return "\\v"; - } - var k = i + 1; - var empty = k < l && s[k] >= "0" && s[k] <= "9" ? "\\&" : ""; - return "\\" + c.charCodeAt(0).toString(10) + empty; + switch (c) { + case "\"": + case "\\": + return "\\" + c; + case "\x07": return "\\a"; + case "\b": return "\\b"; + case "\f": return "\\f"; + case "\n": return "\\n"; + case "\r": return "\\r"; + case "\t": return "\\t"; + case "\v": return "\\v"; + } + var k = i + 1; + var empty = k < l && s[k] >= "0" && s[k] <= "9" ? "\\&" : ""; + return "\\" + c.charCodeAt(0).toString(10) + empty; } ) + "\""; }; -exports.showArrayImpl = function (f) { - return function (xs) { - var ss = []; - for (var i = 0, l = xs.length; i < l; i++) { - ss[i] = f(xs[i]); - } - return "[" + ss.join(",") + "]"; - }; +export const showArrayImpl = function (f) { + return function (xs) { + var ss = []; + for (var i = 0, l = xs.length; i < l; i++) { + ss[i] = f(xs[i]); + } + return "[" + ss.join(",") + "]"; + }; }; -exports.cons = function (head) { - return function (tail) { - return [head].concat(tail); - }; +export const cons = function (head) { + return function (tail) { + return [head].concat(tail); + }; }; -exports.join = function (separator) { - return function (xs) { - return xs.join(separator); - }; +export const join = function (separator) { + return function (xs) { + return xs.join(separator); + }; }; diff --git a/src/Data/Show/Generic.js b/src/Data/Show/Generic.js index 53338044..bdb5f54c 100644 --- a/src/Data/Show/Generic.js +++ b/src/Data/Show/Generic.js @@ -1,14 +1,12 @@ "use strict"; - -exports.intercalate = function (separator) { - return function (xs) { - var len = xs.length; - if (len === 0) return ""; - - var res = xs[0]; - for (var i = 1; i < len; i++) { - res = res + separator + xs[i]; - } - return res; - }; +export const intercalate = function (separator) { + return function (xs) { + var len = xs.length; + if (len === 0) return ""; + var res = xs[0]; + for (var i = 1; i < len; i++) { + res = res + separator + xs[i]; + } + return res; + }; }; diff --git a/src/Data/Symbol.js b/src/Data/Symbol.js index b4b6e28f..be5ef4fb 100644 --- a/src/Data/Symbol.js +++ b/src/Data/Symbol.js @@ -1,8 +1,5 @@ "use strict"; -// module Data.Symbol - -exports.unsafeCoerce = function (arg) { - return arg; +export const unsafeCoerce = function (arg) { + return arg; }; - diff --git a/src/Data/Unit.js b/src/Data/Unit.js index 379ba659..ed58faa8 100644 --- a/src/Data/Unit.js +++ b/src/Data/Unit.js @@ -1,3 +1,2 @@ "use strict"; - -exports.unit = undefined; +export const unit = undefined; diff --git a/src/Record/Unsafe.js b/src/Record/Unsafe.js index c47acf8d..4f76e778 100644 --- a/src/Record/Unsafe.js +++ b/src/Record/Unsafe.js @@ -1,40 +1,40 @@ "use strict"; -exports.unsafeHas = function (label) { - return function (rec) { - return {}.hasOwnProperty.call(rec, label); - }; +export const unsafeHas = function (label) { + return function (rec) { + return {}.hasOwnProperty.call(rec, label); + }; }; -exports.unsafeGet = function (label) { - return function (rec) { - return rec[label]; - }; +export const unsafeGet = function (label) { + return function (rec) { + return rec[label]; + }; }; -exports.unsafeSet = function (label) { - return function (value) { - return function (rec) { - var copy = {}; - for (var key in rec) { - if ({}.hasOwnProperty.call(rec, key)) { - copy[key] = rec[key]; - } - } - copy[label] = value; - return copy; +export const unsafeSet = function (label) { + return function (value) { + return function (rec) { + var copy = {}; + for (var key in rec) { + if ({}.hasOwnProperty.call(rec, key)) { + copy[key] = rec[key]; + } + } + copy[label] = value; + return copy; + }; }; - }; }; -exports.unsafeDelete = function (label) { - return function (rec) { - var copy = {}; - for (var key in rec) { - if (key !== label && {}.hasOwnProperty.call(rec, key)) { - copy[key] = rec[key]; - } - } - return copy; - }; +export const unsafeDelete = function (label) { + return function (rec) { + var copy = {}; + for (var key in rec) { + if (key !== label && {}.hasOwnProperty.call(rec, key)) { + copy[key] = rec[key]; + } + } + return copy; + }; };