on master help sign in
Rewrite core-js to remove prefixes and change global Elm prefix from `ElmCode` to `Elm`.
7c319feevancz
core-js/Graphics/Collage.js+3−3
@@ -12,13 +12,13 @@ function tracePoints(ctx,points) {
12
12
13function solid(ctx,color,points) {
13function solid(ctx,color,points) {
14 tracePoints(ctx,points);
14 tracePoints(ctx,points);
15− ctx.strokeStyle = ElmCode.Graphics.Color.extract(color);
15+ ctx.strokeStyle = Elm.Graphics.Color.extract(color);
16 ctx.stroke();
16 ctx.stroke();
17};
17};
18
18
19function filled(ctx,color,points) {
19function filled(ctx,color,points) {
20 tracePoints(ctx,points);
20 tracePoints(ctx,points);
21− ctx.fillStyle = ElmCode.Graphics.Color.extract(color);
21+ ctx.fillStyle = Elm.Graphics.Color.extract(color);
22 ctx.fill();
22 ctx.fill();
23}
23}
24
24
@@ -35,7 +35,7 @@ function textured(redo,ctx,src,points) {
35function customLine(pattern,ctx,color,points) {
35function customLine(pattern,ctx,color,points) {
36 if (pattern.length === 0) { pattern = [8,4]; }
36 if (pattern.length === 0) { pattern = [8,4]; }
37 customLineHelp(ctx, pattern, points);
37 customLineHelp(ctx, pattern, points);
38− ctx.strokeStyle = ElmCode.Graphics.Color.extract(color);
38+ ctx.strokeStyle = Elm.Graphics.Color.extract(color);
39 ctx.stroke();
39 ctx.stroke();
40};
40};
41
41
core-js/Graphics/Render.js+2−2
@@ -177,7 +177,7 @@ function render(elem) {
177 e.style.height = (~~elem[4]) + 'px';
177 e.style.height = (~~elem[4]) + 'px';
178 if (elem[5] !== 1) { e.style.opacity = elem[5]; }
178 if (elem[5] !== 1) { e.style.opacity = elem[5]; }
179 if (elem[6][0] === "Just") {
179 if (elem[6][0] === "Just") {
180− e.style.backgroundColor = ElmCode.Graphics.Color.extract(elem[6][1]);
180+ e.style.backgroundColor = Elm.Graphics.Color.extract(elem[6][1]);
181 }
181 }
182 if (elem[7][0] === "Just") {
182 if (elem[7][0] === "Just") {
183 var a = newElement('a');
183 var a = newElement('a');
@@ -263,7 +263,7 @@ function update(node,curr,next) {
263 if (next[4] !== curr[4]) node.style.height = (~~next[4]) + 'px';
263 if (next[4] !== curr[4]) node.style.height = (~~next[4]) + 'px';
264 if (next[5] !== curr[5]) node.style.opacity = next[5];
264 if (next[5] !== curr[5]) node.style.opacity = next[5];
265 if (next[6].length === 2) {
265 if (next[6].length === 2) {
266− var clr = ElmCode.Graphics.Color.extract(next[6][1]);
266+ var clr = Elm.Graphics.Color.extract(next[6][1]);
267 if (clr !== node.style.backgroundColor) node.style.backgroundColor = clr;
267 if (clr !== node.style.backgroundColor) node.style.backgroundColor = clr;
268 }
268 }
269 if (next[7].length === 2) {
269 if (next[7].length === 2) {
core-js/Prelude.js+67−46
@@ -1,4 +1,10 @@
1
1
2+Value.addListener(document, 'elm_log', function(e) { console.log(e.value); });
3+Value.addListener(document, 'elm_title', function(e) {document.title = e.value;});
4+Value.addListener(document, 'elm_redirect', function(e) {
5+ if (e.value.length > 0) { window.location = e.value; }
6+ });
7+
2var Elm = Elm || {};
8var Elm = Elm || {};
3Elm.Prelude = function() {
9Elm.Prelude = function() {
4 var mod = function(x) { return function(y) {
10 var mod = function(x) { return function(y) {
@@ -64,50 +70,65 @@ Elm.Prelude = function() {
64 curry : curry,
70 curry : curry,
65 uncurry : uncurry,
71 uncurry : uncurry,
66 logBase : logBase,
72 logBase : logBase,
67− Just : Maybe.Just,
73+ Just : Elm.Maybe.Just,
68− Nothing : Maybe.Nothing,
74+ Nothing : Elm.Maybe.Nothing,
69− maybe : Maybe.maybe,
75+ maybe : Elm.Maybe.maybe,
70− map : List.map,
76+ map : Elm.List.map,
71− filter : List.filter,
77+ filter : Elm.List.filter,
72− head : List.head,
78+ head : Elm.List.head,
73− tail : List.tail,
79+ tail : Elm.List.tail,
74− last : List.last,
80+ last : Elm.List.last,
75− length : List.length,
81+ length : Elm.List.length,
76− reverse : List.reverse,
82+ reverse : Elm.List.reverse,
77− foldr : List.foldr,
83+ foldr : Elm.List.foldr,
78− foldr1 : List.foldr1,
84+ foldr1 : Elm.List.foldr1,
79− foldl : List.foldl,
85+ foldl : Elm.List.foldl,
80− foldl1 : List.foldl1,
86+ foldl1 : Elm.List.foldl1,
81− and : List.and,
87+ and : Elm.List.and,
82− or : List.or,
88+ or : Elm.List.or,
83− all : List.all,
89+ all : Elm.List.all,
84− any : List.any,
90+ any : Elm.List.any,
85− sum : List.sum,
91+ sum : Elm.List.sum,
86− product : List.product,
92+ product : Elm.List.product,
87− concat : List.concat,
93+ concat : Elm.List.concat,
88− concatMap : List.concatMap,
94+ concatMap : Elm.List.concatMap,
89− maximum : List.maximum,
95+ maximum : Elm.List.maximum,
90− minimum : List.minimum,
96+ minimum : Elm.List.minimum,
91− scanl : List.scanl,
97+ scanl : Elm.List.scanl,
92− scanl1 : List.scanl1,
98+ scanl1 : Elm.List.scanl1,
93− take : List.take,
99+ take : Elm.List.take,
94− drop : List.drop,
100+ drop : Elm.List.drop,
95− zip : List.zip,
101+ zip : Elm.List.zip,
96− unzip : List.unzip,
102+ unzip : Elm.List.unzip,
97− lift : Signal.lift,
103+ lift : Elm.Signal.lift,
98− lift2 : Signal.lift2,
104+ lift2 : Elm.Signal.lift2,
99− lift3 : Signal.lift3,
105+ lift3 : Elm.Signal.lift3,
100− lift4 : Signal.lift4,
106+ lift4 : Elm.Signal.lift4,
101− foldp : Signal.foldp,
107+ foldp : Elm.Signal.foldp,
102− foldp1 : Signal.foldp1,
108+ foldp1 : Elm.Signal.foldp1,
103− foldp_ : Signal.foldp_,
109+ foldp_ : Elm.Signal.foldp_,
104− constant : Signal.constant,
110+ constant : Elm.Signal.constant,
105− count : Signal.count,
111+ count : Elm.Signal.count,
106− keepIf : Signal.keepIf,
112+ keepIf : Elm.Signal.keepIf,
107− dropIf : Signal.dropIf,
113+ dropIf : Elm.Signal.dropIf,
108− keepWhen : Signal.keepWhen,
114+ keepWhen : Elm.Signal.keepWhen,
109− dropWhen : Signal.dropWhen,
115+ dropWhen : Elm.Signal.dropWhen,
110− dropRepeats : Signal.dropRepeats,
116+ dropRepeats : Elm.Signal.dropRepeats,
111− sampleOn : Signal.sampleOn
117+ sampleOn : Elm.Signal.sampleOn
112 };
118 };
119+
120+}();
121+
122+(function() {
123+ var include = function(library) {
124+ for (var i in library) {
125+ Elm.Prelude[i] = library[i];
126+ }
127+ };
128+ include (Elm.Graphics.Color);
129+ include (Elm.Graphics.Text);
130+ include (Elm.Graphics.Element);
131+
132+ show = Value.show;
133+
113−}();
134+}());
core-js/Signal/HTTP.js+2−1
@@ -1,4 +1,5 @@
1Elm.HTTP = function() {
1Elm.HTTP = function() {
2+ var JS = Elm.JavaScript;
2 var toElmString = Elm.JavaScript.castJSStringToString;
3 var toElmString = Elm.JavaScript.castJSStringToString;
3 function request(verb) { return function(url) { return function(data) {
4 function request(verb) { return function(url) { return function(data) {
4 return function(headers) {
5 return function(headers) {
@@ -31,7 +32,7 @@ Elm.HTTP = function() {
31 }
32 }
32 };
33 };
33 request.open(req.verb, req.url, true);
34 request.open(req.verb, req.url, true);
34− List.map(function(pair) {
35+ Elm.List.map(function(pair) {
35 request.setRequestHeader(
36 request.setRequestHeader(
36 JS.castStringToJSString(pair[1]),
37 JS.castStringToJSString(pair[1]),
37 JS.castStringToJSString(pair[2]));
38 JS.castStringToJSString(pair[2]));
core-js/Signal/Input.js+10−9
@@ -1,15 +1,16 @@
1
1
2Elm.Input = function() {
2Elm.Input = function() {
3+ var JS = Elm.JavaScript;
3 var toElmString = Elm.JavaScript.castJSStringToString;
4 var toElmString = Elm.JavaScript.castJSStringToString;
4 var newTextInput = function(elem, ghostText) {
5 var newTextInput = function(elem, ghostText) {
5 elem.placeholder = JS.castStringToJSString(ghostText);
6 elem.placeholder = JS.castStringToJSString(ghostText);
6 var str = Elm.Signal.constant(["Nil"]);
7 var str = Elm.Signal.constant(["Nil"]);
7− addListener(elem, 'keyup', function(e) {
8+ Value.addListener(elem, 'keyup', function(e) {
8 Dispatcher.notify(str.id, toElmString(elem.value));
9 Dispatcher.notify(str.id, toElmString(elem.value));
9 elem.focus();
10 elem.focus();
10 });
11 });
11 elem.style.padding = "1px";
12 elem.style.padding = "1px";
12− return Value.Tuple(wrap(elem), str);
13+ return Value.Tuple(Value.wrap(elem), str);
13 };
14 };
14 var newElement = function(name) {
15 var newElement = function(name) {
15 var e = document.createElement(name);
16 var e = document.createElement(name);
@@ -39,10 +40,10 @@ Elm.Input = function() {
39 box.type = 'checkbox';
40 box.type = 'checkbox';
40 box.checked = checked;
41 box.checked = checked;
41 var status = Elm.Signal.constant(checked);
42 var status = Elm.Signal.constant(checked);
42− addListener(box, 'change', function(e) {
43+ Value.addListener(box, 'change', function(e) {
43 Dispatcher.notify(status.id, box.checked);
44 Dispatcher.notify(status.id, box.checked);
44 });
45 });
45− return Value.Tuple(wrap(box), status);
46+ return Value.Tuple(Value.wrap(box), status);
46 };
47 };
47 var dropDown = function(options) {
48 var dropDown = function(options) {
48 var slct = newElement('select');
49 var slct = newElement('select');
@@ -57,24 +58,24 @@ Elm.Input = function() {
57 options = options[2];
58 options = options[2];
58 }
59 }
59 var status = Elm.Signal.constant(opts[0]);
60 var status = Elm.Signal.constant(opts[0]);
60− addListener(slct, 'change', function(e) {
61+ Value.addListener(slct, 'change', function(e) {
61 Dispatcher.notify(status.id, opts[slct.selectedIndex]);
62 Dispatcher.notify(status.id, opts[slct.selectedIndex]);
62 });
63 });
63− return Value.Tuple(wrap(slct), status);
64+ return Value.Tuple(Value.wrap(slct), status);
64 };
65 };
65 var stringDropDown = function(opts) {
66 var stringDropDown = function(opts) {
66− return dropDown(List.map (function(x) {return Value.Tuple(x,x);}) (opts));
67+ return dropDown(Elm.List.map (function(x) {return Value.Tuple(x,x);}) (opts));
67 };
68 };
68 var button = function(name) {
69 var button = function(name) {
69 var b = newElement('input');
70 var b = newElement('input');
70 b.type = "button";
71 b.type = "button";
71 b.value = JS.castStringToJSString(name);
72 b.value = JS.castStringToJSString(name);
72 var press = Elm.Signal.constant(false);
73 var press = Elm.Signal.constant(false);
73− addListener(b, 'click', function(e) {
74+ Value.addListener(b, 'click', function(e) {
74 Dispatcher.notify(press.id, true);
75 Dispatcher.notify(press.id, true);
75 Dispatcher.notify(press.id, false);
76 Dispatcher.notify(press.id, false);
76 });
77 });
77− return Value.Tuple(wrap(b),press);
78+ return Value.Tuple(Value.wrap(b),press);
78 };
79 };
79 return {textArea:textArea, textField:textField,
80 return {textArea:textArea, textField:textField,
80 password:password, checkbox:checkbox,
81 password:password, checkbox:checkbox,
core-js/Signal/Keyboard.js+4−4
@@ -14,24 +14,24 @@ Elm.Keyboard = { Raw : function() {
14 }
14 }
15 return false;
15 return false;
16 }
16 }
17− addListener(document, 'keydown', function(e) {
17+ Value.addListener(document, 'keydown', function(e) {
18 if (has(e.keyCode, keysDown.value)) return;
18 if (has(e.keyCode, keysDown.value)) return;
19 var hasListener = Dispatcher.notify(keysDown.id, ["Cons", e.keyCode, keysDown.value]);
19 var hasListener = Dispatcher.notify(keysDown.id, ["Cons", e.keyCode, keysDown.value]);
20 if (!hasListener)
20 if (!hasListener)
21 this.removeEventListener('keydown',arguments.callee,false);
21 this.removeEventListener('keydown',arguments.callee,false);
22 });
22 });
23− addListener(document, 'keyup', function(e) {
23+ Value.addListener(document, 'keyup', function(e) {
24 var codes = remove(e.keyCode, keysDown.value);
24 var codes = remove(e.keyCode, keysDown.value);
25 var hasListener = Dispatcher.notify(keysDown.id, codes);
25 var hasListener = Dispatcher.notify(keysDown.id, codes);
26 if (!hasListener)
26 if (!hasListener)
27 this.removeEventListener('keyup',arguments.callee,false);
27 this.removeEventListener('keyup',arguments.callee,false);
28 });
28 });
29− addListener(window, 'blur', function(e) {
29+ Value.addListener(window, 'blur', function(e) {
30 var hasListener = Dispatcher.notify(keysDown.id, ["Nil"]);
30 var hasListener = Dispatcher.notify(keysDown.id, ["Nil"]);
31 if (!hasListener)
31 if (!hasListener)
32 this.removeEventListener('blur',arguments.callee,false);
32 this.removeEventListener('blur',arguments.callee,false);
33 });
33 });
34− addListener(document, 'keypress', function(e) {
34+ Value.addListener(document, 'keypress', function(e) {
35 var hasListener = Dispatcher.notify(charPressed.id, ["Just",e.charCode || e.keyCode]);
35 var hasListener = Dispatcher.notify(charPressed.id, ["Just",e.charCode || e.keyCode]);
36 Dispatcher.notify(charPressed.id, ["Nothing"]);
36 Dispatcher.notify(charPressed.id, ["Nothing"]);
37 if (!hasListener)
37 if (!hasListener)
core-js/Signal/Mouse.js+6−6
@@ -28,24 +28,24 @@ Elm.Mouse = function() {
28 return Value.Tuple(posx, posy);
28 return Value.Tuple(posx, posy);
29 }
29 }
30
30
31− addListener(document, 'click', function(e) {
31+ Value.addListener(document, 'click', function(e) {
32 var hasListener1 = Dispatcher.notify(isClicked.id, true);
32 var hasListener1 = Dispatcher.notify(isClicked.id, true);
33 var hasListener2 = Dispatcher.notify(clicks.id, Value.Tuple());
33 var hasListener2 = Dispatcher.notify(clicks.id, Value.Tuple());
34 Dispatcher.notify(isClicked.id, false);
34 Dispatcher.notify(isClicked.id, false);
35 if (!hasListener1 && !hasListener2)
35 if (!hasListener1 && !hasListener2)
36 this.removeEventListener('click',arguments.callee,false);
36 this.removeEventListener('click',arguments.callee,false);
37 });
37 });
38− addListener(document, 'mousedown', function(e) {
38+ Value.addListener(document, 'mousedown', function(e) {
39 var hasListener = Dispatcher.notify(isDown.id, true);
39 var hasListener = Dispatcher.notify(isDown.id, true);
40 if (!hasListener)
40 if (!hasListener)
41 this.removeEventListener('mousedown',arguments.callee,false);
41 this.removeEventListener('mousedown',arguments.callee,false);
42 });
42 });
43− addListener(document, 'mouseup', function(e) {
43+ Value.addListener(document, 'mouseup', function(e) {
44 var hasListener = Dispatcher.notify(isDown.id, false);
44 var hasListener = Dispatcher.notify(isDown.id, false);
45 if (!hasListener)
45 if (!hasListener)
46 this.removeEventListener('mouseup',arguments.callee,false);
46 this.removeEventListener('mouseup',arguments.callee,false);
47 });
47 });
48− addListener(document, 'mousemove', function(e) {
48+ Value.addListener(document, 'mousemove', function(e) {
49 var hasListener = Dispatcher.notify(position.id, getXY(e));
49 var hasListener = Dispatcher.notify(position.id, getXY(e));
50 if (!hasListener)
50 if (!hasListener)
51 this.removeEventListener('mousemove',arguments.callee,false);
51 this.removeEventListener('mousemove',arguments.callee,false);
@@ -53,11 +53,11 @@ Elm.Mouse = function() {
53 var clickedOn = function(elem) {
53 var clickedOn = function(elem) {
54 var node = Render.render(elem);
54 var node = Render.render(elem);
55 var click = Elm.Signal.constant(false);
55 var click = Elm.Signal.constant(false);
56− addListener(node, 'click', function(e) {
56+ Value.addListener(node, 'click', function(e) {
57 Dispatcher.notify(click.id, true);
57 Dispatcher.notify(click.id, true);
58 Dispatcher.notify(click.id, false);
58 Dispatcher.notify(click.id, false);
59 });
59 });
60− return Value.Tuple(wrap(node), click);
60+ return Value.Tuple(Value.wrap(node), click);
61 };
61 };
62 return {position: position,
62 return {position: position,
63 x:x,
63 x:x,
core-js/Signal/Window.js+1−1
@@ -8,7 +8,7 @@ Elm.Window = function() {
8 var height = Elm.Signal.lift(function(p){return p[2];})(dimensions);
8 var height = Elm.Signal.lift(function(p){return p[2];})(dimensions);
9 height.defaultNumberOfKids = 0;
9 height.defaultNumberOfKids = 0;
10
10
11− addListener(window, 'resize', function(e) {
11+ Value.addListener(window, 'resize', function(e) {
12 var w = document.getElementById('widthChecker').offsetWidth;
12 var w = document.getElementById('widthChecker').offsetWidth;
13 var hasListener = Dispatcher.notify(dimensions.id,
13 var hasListener = Dispatcher.notify(dimensions.id,
14 Value.Tuple(w, window.innerHeight));
14 Value.Tuple(w, window.innerHeight));
core-js/Text.js+1−1
@@ -23,7 +23,7 @@ var Text = function() {
23 var italic = addStyle('font-style', 'italic');
23 var italic = addStyle('font-style', 'italic');
24 var bold = addTag('b');
24 var bold = addTag('b');
25 var color = function(c) {
25 var color = function(c) {
26− return addStyle('color', ElmCode.Graphics.Color.extract(c));
26+ return addStyle('color', Elm.Graphics.Color.extract(c));
27 };
27 };
28 var underline = addStyle('text-decoration', 'underline');
28 var underline = addStyle('text-decoration', 'underline');
29 var overline = addStyle('text-decoration', 'overline');
29 var overline = addStyle('text-decoration', 'overline');
core-js/Value.js+1−1
@@ -190,7 +190,7 @@ var Value = function(){
190 return "(JSON.fromList " + toString(ElmJSON.toList(v)) + ")";
190 return "(JSON.fromList " + toString(ElmJSON.toList(v)) + ")";
191 } else if (v[0] === "RBNode" || v[0] === "RBEmpty") {
191 } else if (v[0] === "RBNode" || v[0] === "RBEmpty") {
192 function cons(k){ return function(v) { return function(acc) { return ["Cons",["Tuple2",k,v],acc]; }; }; }
192 function cons(k){ return function(v) { return function(acc) { return ["Cons",["Tuple2",k,v],acc]; }; }; }
193− return "(Map.fromList " + toString(ElmCode.Map.fold(cons)(["Nil"])(v)) + ")";
193+ return "(Map.fromList " + toString(Elm.Dict.fold(cons)(["Nil"])(v)) + ")";
194 } else {
194 } else {
195 var output = "";
195 var output = "";
196 for (var i = v.length; --i; ) {
196 for (var i = v.length; --i; ) {
core-js/cat.bat+1−1
@@ -1,4 +1,4 @@
1−copy /B Guid.js+foreign\JavaScript.js+foreign\JSON.js+Value.js+List.js+Char.js+Maybe.js+String.js+Graphics\Color.js+Graphics\Collage.js+Graphics\Element.js+Text.js+Graphics\Render.js+runtime\Signal.js+runtime\Dispatcher.js+Signal\HTTP.js+Signal\Input.js+Signal\Keyboard.js+Signal\Mouse.js+Signal\Random.js+Signal\Time.js+Signal\Window.js+Prelude.js+Everything.js+Automaton.js ..\elm-mini.js
1+copy /B Guid.js+foreign\JavaScript.js+foreign\JSON.js+Value.js+List.js+Dict.js+Set.js+Char.js+Maybe.js+String.js+Graphics\Color.js+Graphics\Collage.js+Graphics\Element.js+Text.js+Graphics\Render.js+runtime\Signal.js+runtime\Dispatcher.js+Signal\HTTP.js+Signal\Input.js+Signal\Keyboard.js+Signal\Mouse.js+Signal\Random.js+Signal\Time.js+Signal\Window.js+Prelude.js+Automaton.js ..\elm-mini.js
2
2
3cd ..\elm
3cd ..\elm
4
4
core-js/runtime/Dispatcher.js+1−1
@@ -6,7 +6,7 @@ var Dispatcher = function() {
6 var currentElement = null;
6 var currentElement = null;
7
7
8 var initialize = function() {
8 var initialize = function() {
9− program = ElmCode.main();
9+ program = Elm.main();
10 if (!program.hasOwnProperty('recv')) {
10 if (!program.hasOwnProperty('recv')) {
11 program = Elm.Signal.constant(program);
11 program = Elm.Signal.constant(program);
12 }
12 }