@@ -13,8 +13,6 @@ function slice(s) { return function(e) { return function (l) { return l.slice(s,
1313function sort(l) { var l1 = l.slice(); l.sort(); return l1; }
1414function splice(s) { return function(e) { return function(l1) { return function(l2) { return l2.splice(s, e, l1); }; }; }; }
1515
16−// Strings
17−
1816function lengthS(s) { return s.length; }
1917function charAt(i) { return function(s) { return s.charAt(i); }; }
2018function indexOfS(s1) { return function(s2) { return s2.indexOf(s2); }; }
@@ -29,16 +27,12 @@ function toLower(s) { return s.toLower(); }
2927function toUpper(s) { return s.toUpper(); }
3028function trim(s) { return s.trim(); }
3129
32−// Regex
33−
3430function regex(s1) { return function(s2) { return new Regex(s1, s2); }; };
3531function test(r) { return function (s) { return r.test(s); }; };
3632function match(r) { return function (s) { return s.match(r); }; };
3733function replaceR(r) { return function(s1) { return function(s2) { return s2.replace(r, s1) }; }; }
3834function search(r) { return function (s) { return s.search(r); }; };
3935
40−// Globals
41−
4236var nan = NaN;
4337var infinity = Infinity;
4438function toExponential(n) { return n.toExponential(); }
@@ -46,5 +40,15 @@ function toFixed(d) { return function(n) { return n.toFixed(d); }; }
4640function toPrecision(d) { return function(n) { return n.toPrecision(d); }; }
4741function numberToString(n) { return n.toString(); }
4842
49−// Math
5043var math = Math;
44+
45+function map(f) {
46+ return function(xs) {
47+ var ys = [];
48+ for (var i = 0; i < xs.length; i++) {
49+ ys[i] = f(xs[i]);
50+ }
51+ return ys;
52+ };
53+}
54+