@@ -1,7 +1,113 @@
2Elm.Prelude = function(elm) {
2Elm.Prelude = function(elm) {
3− 'use strict';
3+ 'use strict';
4− if (elm.Prelude) return elm.Prelude;
4+ if (elm.Prelude) return elm.Prelude;
6+ var JS = Elm.JavaScript(elm);
7+ var Maybe = Elm.Maybe(elm);
8+ var Utils = Elm.Native.Utils(elm);
10+ function div(a,b) { return (a/b)|0 }
11+ function rem(a,b) { return a % b }
14+ var m = a === 0 ? 0 : (b > 0 ? (a >= 0 ? r : r+b) : -mod(-a,-b));
15+ return m === b ? 0 : m;
17+ function abs(x) { return x < 0 ? -x : x }
18+ function logBase(base,n) { return Math.log(n) / Math.log(base) }
19+ function min(a,b) { return a < b ? a : b }
20+ function max(a,b) { return a > b ? a : b }
21+ function clamp(lo,hi,n) { return n < lo ? lo : n > hi ? hi : n }
22+ function xor(a,b) { return a !== b }
23+ function not(b) { return !b }
25+ function truncate(n) { return n|0 }
27+ function id(n) { return n }
28+ function flip(f,a,b) { return A2(f,b,a) }
29+ function curry(f,v) { return A2(f,v._0,v._1) }
30+ function uncurry(f,a,b) { return f(Utils.Tuple2(a,b)) }
31+ function fst(t) { return t._0 }
32+ function snd(t) { return t._1 }
34+ function readInt(str) {
35+ var s = JS.fromString(str);
37+ if (len === 0) { return Maybe.Nothing }
40+ if (len === 1) { return Maybe.Nothing }
43+ for (var i = start; i < len; ++i) {
44+ if (!Elm.Char.isDigit(s[i])) { return Maybe.Nothing }
46+ return Maybe.Just(parseInt(s));
49+ function readFloat(str) {
50+ var s = JS.fromString(str);
52+ if (len === 0) { return Maybe.Nothing; }
55+ if (len === 1) { return Maybe.Nothing; }
59+ for (var i = start; i < len; ++i) {
60+ if (Elm.Char.isDigit(s[i])) { continue; }
63+ if (dotCount <= 1) { continue; }
65+ return Maybe.Nothing;
67+ return Maybe.Just(parseFloat(s));
6− return elm.Prelude = {};
70+ return elm.Prelude = {
83+ atan2:F2(Math.atan2),
104+ readFloat:readFloat,
109+ uncurry:F3(uncurry),