@@ -0,0 +1,25 @@
1+Elm.Native.Trampoline = {};
2+Elm.Native.Trampoline.make = function(elm) {
3+ elm.Native = elm.Native || {};
4+ elm.Native.Trampoline = elm.Native.Trampoline || {};
5+ if (elm.Native.Trampoline.values) return elm.Native.Trampoline.values;
6+
7+ var _E = Elm.Native.Error.make(elm),
8+
9+ // trampoline : Trampoline a -> a
10+ trampoline = function(t) {
11+ var tramp = t;
12+ while(true) {
13+ switch(tramp._0.ctor) {
14+ case "Left":
15+ return tramp._0._0;
16+ case "Right":
17+ tramp = tramp._0._0({ctor: "_Tuple0"});
18+ continue;
19+ }
20+ _E.Case("Trampoline", "in Native.Trampoline.trampoline");
21+ }
22+ }
23+
24+ return elm.Native.Trampoline.values = { trampoline: trampoline };
25+};