on master help sign in
Update tests for old fashioned code gen
commit2767b4367f7d0ce99fba7e66066b2c5f901ae108 authorEvan Czaplicki <info@elm-lang.org> dateWed 30 Sep 2015, 00:32 (11 years ago) parent5a6c9c0
20 files changed+304−187
tests/test-files/good-expected-js/AliasSubstitution.elm.js+10−3 tests/test-files/good-expected-js/CaseExpression3.elm.js+31−27 tests/test-files/good-expected-js/Lists/EmptyList.elm.js+9−2 tests/test-files/good-expected-js/Lists/ListRange.elm.js+9−3 tests/test-files/good-expected-js/Lists/NonEmptyList.elm.js+9−4 tests/test-files/good-expected-js/NoExpressions.elm.js+8−1 tests/test-files/good-expected-js/Otherwise.elm.js+12−3 tests/test-files/good-expected-js/Ports.elm.js+58−55 tests/test-files/good-expected-js/PortsWithTypeAliases.elm.js+26−25 tests/test-files/good-expected-js/QuotesAndComments.elm.js+18−7 tests/test-files/good-expected-js/Soundness/Apply.elm.js+11−4 tests/test-files/good-expected-js/Soundness/ApplyAnnotated.elm.js+11−4 tests/test-files/good-expected-js/Soundness/Id.elm.js+12−5 tests/test-files/good-expected-js/Soundness/IdAnnotated.elm.js+12−5 tests/test-files/good-expected-js/Soundness/TrickyId.elm.js+8−4 tests/test-files/good-expected-js/Soundness/TrickyIdAnnotated.elm.js+8−4 tests/test-files/good-expected-js/Strings/Multiline.elm.js+9−2 tests/test-files/good-expected-js/Strings/MultilineNormal.elm.js+9−2 tests/test-files/good-expected-js/TailRecursive.elm.js+24−17 tests/test-files/good-expected-js/Unify/NonHomogeneousRecords.elm.js+10−10
tests/test-files/good-expected-js/AliasSubstitution.elm.js+10−3
@@ -1,4 +1,11 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$extractVec = function (v) {
3− return {_: {},x: v.x,y: v.y};
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var extractVec = function (v) {
8+ return {_: {},x: v.x,y: v.y};
9+ };
10+ return _elm.Main.values = {_op: _op,extractVec: extractVec};
411};
tests/test-files/good-expected-js/CaseExpression3.elm.js+31−27
@@ -1,27 +1,31 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$Cons = F2(function (a,
3−b) {
4− return {ctor: "Cons",_0: a,_1: b};
5−});
6−var elm_lang$core$Main$Nil = {ctor: "Nil"};
7−var elm_lang$core$Main$zip = F2(function (list1,
8−list2) {
9− var _p0 = {ctor: "_Tuple2"
10− ,_0: list1
11− ,_1: list2};
12− if (_p0._0.ctor === "Nil") {
13− return elm_lang$core$Main$Nil;
14− } else {
15− if (_p0._1.ctor === "Nil") {
16− return elm_lang$core$Main$Nil;
17− } else {
18− var x = _p0._0._0,
19− xs = _p0._0._1,
20− y = _p0._1._0,
21− ys = _p0._1._1;
22− return A2(elm_lang$core$Main$Cons,
23− {ctor: "_Tuple2",_0: x,_1: y},
24− A2(elm_lang$core$Main$zip,xs,ys));
25− }
26− }
27−});
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var Cons = F2(function (a,b) {
8+ return {ctor: "Cons",_0: a,_1: b};
9+ });
10+ var Nil = {ctor: "Nil"};
11+ var zip = F2(function (list1,list2) {
12+ var _p0 = {ctor: "_Tuple2",_0: list1,_1: list2};
13+ if (_p0._0.ctor === "Nil") {
14+ return Nil;
15+ } else {
16+ if (_p0._1.ctor === "Nil") {
17+ return Nil;
18+ } else {
19+ var x = _p0._0._0,
20+ xs = _p0._0._1,
21+ y = _p0._1._0,
22+ ys = _p0._1._1;
23+ return A2(Cons,{ctor: "_Tuple2",_0: x,_1: y},A2(zip,xs,ys));
24+ }
25+ }
26+ });
27+ return _elm.Main.values = {_op: _op
28+ ,Nil: Nil
29+ ,Cons: Cons
30+ ,zip: zip};
31+};
tests/test-files/good-expected-js/Lists/EmptyList.elm.js+9−2
@@ -1,2 +1,9 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$emptyList = _utils.list([]);
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var emptyList = _utils.list([]);
8+ return _elm.Main.values = {_op: _op,emptyList: emptyList};
9+};
tests/test-files/good-expected-js/Lists/ListRange.elm.js+9−3
@@ -1,3 +1,9 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$listRange = _utils.range(2,
3−10);
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var listRange = _utils.range(2,10);
8+ return _elm.Main.values = {_op: _op,listRange: listRange};
9+};
tests/test-files/good-expected-js/Lists/NonEmptyList.elm.js+9−4
@@ -1,4 +1,9 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$nonEmptyList = _utils.list([1
3− ,4
4− ,5]);
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var nonEmptyList = _utils.list([1,4,5]);
8+ return _elm.Main.values = {_op: _op,nonEmptyList: nonEmptyList};
9+};
tests/test-files/good-expected-js/NoExpressions.elm.js+8−1
@@ -1 +1,8 @@
1−var elm_lang$core$Main$_op = {};
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ return _elm.Main.values = {_op: _op};
8+};
tests/test-files/good-expected-js/Otherwise.elm.js+12−3
@@ -1,3 +1,12 @@
1−var elm_lang$core$Otherwise$_op = {};
2−var elm_lang$core$Otherwise$boo = false ? "Yay" : "Boo";
3−var elm_lang$core$Otherwise$otherwise = 3;
1+Elm.Otherwise = Elm.Otherwise || {};
2+Elm.Otherwise.make = function (_elm) {
3+ "use strict";
4+ _elm.Otherwise = _elm.Otherwise || {};
5+ if (_elm.Otherwise.values) return _elm.Otherwise.values;
6+ var _op = {};
7+ var boo = false ? "Yay" : "Boo";
8+ var otherwise = 3;
9+ return _elm.Otherwise.values = {_op: _op
10+ ,otherwise: otherwise
11+ ,boo: boo};
12+};
tests/test-files/good-expected-js/Ports.elm.js+58−55
@@ -1,57 +1,60 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$students = Elm.Native.Port.make(_elm).outbound("students",
3−function (v) {
4− return Elm.Native.List.make(_elm).toArray(v).map(function (v) {
5− return {name: v.name,age: v.age};
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var students = Elm.Native.Port.make(_elm).outbound("students",
8+ function (v) {
9+ return Elm.Native.List.make(_elm).toArray(v).map(function (v) {
10+ return {name: v.name,age: v.age};
11+ });
12+ },
13+ _utils.list([{_: {},age: 42,name: "Tom"}]));
14+ var time = Elm.Native.Port.make(_elm).outbound("time",
15+ function (v) {
16+ return v;
17+ },
18+ 3.14);
19+ var fortyTwo = Elm.Native.Port.make(_elm).outbound("fortyTwo",
20+ function (v) {
21+ return v;
22+ },
23+ 42);
24+ var record = Elm.Native.Port.make(_elm).inbound("record",
25+ "{ x : Float, y : Float }",
26+ function (v) {
27+ return typeof v === "object" && "x" in v && "y" in v ? {_: {}
28+ ,x: typeof v.x === "number" ? v.x : _U.badPort("a number",v.x)
29+ ,y: typeof v.y === "number" ? v.y : _U.badPort("a number",
30+ v.y)} : _U.badPort("an object with fields `x`, `y`",v);
631 });
7−},
8−_utils.list([{_: {},age: 42,name: "Tom"}]));
9−var elm_lang$core$Main$time = Elm.Native.Port.make(_elm).outbound("time",
10−function (v) {
11− return v;
12−},
13−3.14);
14−var elm_lang$core$Main$fortyTwo = Elm.Native.Port.make(_elm).outbound("fortyTwo",
15−function (v) {
16− return v;
17−},
18−42);
19−var elm_lang$core$Main$record = Elm.Native.Port.make(_elm).inbound("record",
20−"{ x : Float, y : Float }",
21−function (v) {
22− return typeof v === "object" && "x" in v && "y" in v ? {_: {}
23− ,x: typeof v.x === "number" ? v.x : _U.badPort("a number",
24− v.x)
25− ,y: typeof v.y === "number" ? v.y : _U.badPort("a number",
26− v.y)} : _U.badPort("an object with fields `x`, `y`",
27− v);
28−});
29−var elm_lang$core$Main$array = Elm.Native.Port.make(_elm).inbound("array",
30−"List Int",
31−function (v) {
32− return typeof v === "object" && v instanceof Array ? Elm.Native.List.make(_elm).fromArray(v.map(function (v) {
33− return typeof v === "number" ? v : _U.badPort("a number",
32+ var array = Elm.Native.Port.make(_elm).inbound("array",
33+ "List Int",
34+ function (v) {
35+ return typeof v === "object" && v instanceof Array ? Elm.Native.List.make(_elm).fromArray(v.map(function (v) {
36+ return typeof v === "number" ? v : _U.badPort("a number",v);
37+ })) : _U.badPort("an array",v);
38+ });
39+ var tuple = Elm.Native.Port.make(_elm).inbound("tuple",
40+ "(Float, Bool)",
41+ function (v) {
42+ return typeof v === "object" && v instanceof Array ? {ctor: "_Tuple2"
43+ ,_0: typeof v[0] === "number" ? v[0] : _U.badPort("a number",
44+ v[0])
45+ ,_1: typeof v[1] === "boolean" ? v[1] : _U.badPort("a boolean (true or false)",
46+ v[1])} : _U.badPort("an array",v);
47+ });
48+ var number = Elm.Native.Port.make(_elm).inbound("number",
49+ "Int",
50+ function (v) {
51+ return typeof v === "number" ? v : _U.badPort("a number",v);
52+ });
53+ var userID = Elm.Native.Port.make(_elm).inbound("userID",
54+ "String",
55+ function (v) {
56+ return typeof v === "string" || typeof v === "object" && v instanceof String ? v : _U.badPort("a string",
3457 v);
35− })) : _U.badPort("an array",v);
36−});
37−var elm_lang$core$Main$tuple = Elm.Native.Port.make(_elm).inbound("tuple",
38−"(Float, Bool)",
39−function (v) {
40− return typeof v === "object" && v instanceof Array ? {ctor: "_Tuple2"
41− ,_0: typeof v[0] === "number" ? v[0] : _U.badPort("a number",
42− v[0])
43− ,_1: typeof v[1] === "boolean" ? v[1] : _U.badPort("a boolean (true or false)",
44− v[1])} : _U.badPort("an array",v);
45−});
46−var elm_lang$core$Main$number = Elm.Native.Port.make(_elm).inbound("number",
47−"Int",
48−function (v) {
49− return typeof v === "number" ? v : _U.badPort("a number",
50− v);
51−});
52−var elm_lang$core$Main$userID = Elm.Native.Port.make(_elm).inbound("userID",
53−"String",
54−function (v) {
55− return typeof v === "string" || typeof v === "object" && v instanceof String ? v : _U.badPort("a string",
56− v);
57−});
58+ });
59+ return _elm.Main.values = {_op: _op};
60+};
tests/test-files/good-expected-js/PortsWithTypeAliases.elm.js+26−25
@@ -1,25 +1,26 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$pairs = Elm.Native.Port.make(_elm).inbound("pairs",
3−"Main.Point String String",
4−function (v) {
5− return typeof v === "object" && "x" in v && "y" in v ? {_: {}
6− ,x: typeof v.x === "string" || typeof v.x === "object" && v.x instanceof String ? v.x : _U.badPort("a string",
7− v.x)
8− ,y: typeof v.y === "string" || typeof v.y === "object" && v.y instanceof String ? v.y : _U.badPort("a string",
9− v.y)} : _U.badPort("an object with fields `x`, `y`",
10− v);
11−});
12−var elm_lang$core$Main$points = Elm.Native.Port.make(_elm).inbound("points",
13−"Main.Point2D",
14−function (v) {
15− return typeof v === "object" && "x" in v && "y" in v ? {_: {}
16− ,x: typeof v.x === "number" ? v.x : _U.badPort("a number",
17− v.x)
18− ,y: typeof v.y === "number" ? v.y : _U.badPort("a number",
19− v.y)} : _U.badPort("an object with fields `x`, `y`",
20− v);
21−});
22−var elm_lang$core$Main$Point = F2(function (a,
23−b) {
24− return {_: {},x: a,y: b};
25−});
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var pairs = Elm.Native.Port.make(_elm).inbound("pairs",
8+ "Main.Point String String",
9+ function (v) {
10+ return typeof v === "object" && "x" in v && "y" in v ? {_: {}
11+ ,x: typeof v.x === "string" || typeof v.x === "object" && v.x instanceof String ? v.x : _U.badPort("a string",
12+ v.x)
13+ ,y: typeof v.y === "string" || typeof v.y === "object" && v.y instanceof String ? v.y : _U.badPort("a string",
14+ v.y)} : _U.badPort("an object with fields `x`, `y`",v);
15+ });
16+ var points = Elm.Native.Port.make(_elm).inbound("points",
17+ "Main.Point2D",
18+ function (v) {
19+ return typeof v === "object" && "x" in v && "y" in v ? {_: {}
20+ ,x: typeof v.x === "number" ? v.x : _U.badPort("a number",v.x)
21+ ,y: typeof v.y === "number" ? v.y : _U.badPort("a number",
22+ v.y)} : _U.badPort("an object with fields `x`, `y`",v);
23+ });
24+ var Point = F2(function (a,b) { return {_: {},x: a,y: b};});
25+ return _elm.Main.values = {_op: _op,Point: Point};
26+};
tests/test-files/good-expected-js/QuotesAndComments.elm.js+18−7
@@ -1,8 +1,19 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$commentStart = "{-";
3−var elm_lang$core$Main$singleQuote = _utils.chr("\'");
4−var elm_lang$core$Main$doubleQuote = _utils.chr("\"");
5−var elm_lang$core$Main$variablesWithPrimes = function (x) {
6− var x$ = x;
7− return x$;
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var commentStart = "{-";
8+ var singleQuote = _utils.chr("\'");
9+ var doubleQuote = _utils.chr("\"");
10+ var variablesWithPrimes = function (x) {
11+ var x$ = x;
12+ return x$;
13+ };
14+ return _elm.Main.values = {_op: _op
15+ ,variablesWithPrimes: variablesWithPrimes
16+ ,doubleQuote: doubleQuote
17+ ,singleQuote: singleQuote
18+ ,commentStart: commentStart};
819};
tests/test-files/good-expected-js/Soundness/Apply.elm.js+11−4
@@ -1,5 +1,12 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$apply = function (f) {
3− var g = function (x) { return f(x);};
4− return g;
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var apply = function (f) {
8+ var g = function (x) { return f(x);};
9+ return g;
10+ };
11+ return _elm.Main.values = {_op: _op,apply: apply};
512};
tests/test-files/good-expected-js/Soundness/ApplyAnnotated.elm.js+11−4
@@ -1,5 +1,12 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$apply = function (f) {
3− var g = function (x) { return f(x);};
4− return g;
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var apply = function (f) {
8+ var g = function (x) { return f(x);};
9+ return g;
10+ };
11+ return _elm.Main.values = {_op: _op,apply: apply};
512};
tests/test-files/good-expected-js/Soundness/Id.elm.js+12−5
@@ -1,5 +1,12 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$myId = function () {
3− var id = function (x) { return x;};
4− return id;
5−}();
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var myId = function () {
8+ var id = function (x) { return x;};
9+ return id;
10+ }();
11+ return _elm.Main.values = {_op: _op,myId: myId};
12+};
tests/test-files/good-expected-js/Soundness/IdAnnotated.elm.js+12−5
@@ -1,5 +1,12 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$myId = function () {
3− var id = function (x) { return x;};
4− return id;
5−}();
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var myId = function () {
8+ var id = function (x) { return x;};
9+ return id;
10+ }();
11+ return _elm.Main.values = {_op: _op,myId: myId};
12+};
tests/test-files/good-expected-js/Soundness/TrickyId.elm.js+8−4
@@ -1,5 +1,9 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$myId = function (x) {
3− var y = x;
4− return y;
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var myId = function (x) { var y = x;return y;};
8+ return _elm.Main.values = {_op: _op,myId: myId};
59};
tests/test-files/good-expected-js/Soundness/TrickyIdAnnotated.elm.js+8−4
@@ -1,5 +1,9 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$myId = function (x) {
3− var y = x;
4− return y;
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var myId = function (x) { var y = x;return y;};
8+ return _elm.Main.values = {_op: _op,myId: myId};
59};
tests/test-files/good-expected-js/Strings/Multiline.elm.js+9−2
@@ -1,2 +1,9 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$s = "\nhere\'s a quote: \"\n\n";
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var s = "\nhere\'s a quote: \"\n\n";
8+ return _elm.Main.values = {_op: _op,s: s};
9+};
tests/test-files/good-expected-js/Strings/MultilineNormal.elm.js+9−2
@@ -1,2 +1,9 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$s = "\nhere\'s a quote: \"\n\n";
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var s = "\nhere\'s a quote: \"\n\n";
8+ return _elm.Main.values = {_op: _op,s: s};
9+};
tests/test-files/good-expected-js/TailRecursive.elm.js+24−17
@@ -1,17 +1,24 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$any = F2(function (f,l) {
3− any: while (true) {
4− var _p0 = l;
5− if (_p0.ctor === "::") {
6− var x = _p0._0,xs = _p0._1;
7− if (f(x)) return true; else {
8− var _v0 = f,_v1 = xs;
9− f = _v0;
10− l = _v1;
11− continue any;
12− }
13− } else {
14− return false;
15− }
16− }
17−});
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var any = F2(function (f,l) {
8+ any: while (true) {
9+ var _p0 = l;
10+ if (_p0.ctor === "::") {
11+ var x = _p0._0,xs = _p0._1;
12+ if (f(x)) return true; else {
13+ var _v0 = f,_v1 = xs;
14+ f = _v0;
15+ l = _v1;
16+ continue any;
17+ }
18+ } else {
19+ return false;
20+ }
21+ }
22+ });
23+ return _elm.Main.values = {_op: _op,any: any};
24+};
tests/test-files/good-expected-js/Unify/NonHomogeneousRecords.elm.js+10−10
@@ -1,10 +1,10 @@
1−var elm_lang$core$Main$_op = {};
2−var elm_lang$core$Main$f = function (t) {
3− var y = t.y;
4− var x = t.x;
5− return t;
6−};
7−var elm_lang$core$Main$Thing = F2(function (a,
8−b) {
9− return {_: {},x: a,y: b};
10−});
1+Elm.Main = Elm.Main || {};
2+Elm.Main.make = function (_elm) {
3+ "use strict";
4+ _elm.Main = _elm.Main || {};
5+ if (_elm.Main.values) return _elm.Main.values;
6+ var _op = {};
7+ var f = function (t) { var y = t.y;var x = t.x;return t;};
8+ var Thing = F2(function (a,b) { return {_: {},x: a,y: b};});
9+ return _elm.Main.values = {_op: _op,Thing: Thing,f: f};
10+};