24 lines
667 B
JavaScript
24 lines
667 B
JavaScript
Elm.Native.Trampoline = {};
|
|
Elm.Native.Trampoline.make = function(elm) {
|
|
elm.Native = elm.Native || {};
|
|
elm.Native.Trampoline = elm.Native.Trampoline || {};
|
|
if (elm.Native.Trampoline.values) return elm.Native.Trampoline.values;
|
|
|
|
// trampoline : Trampoline a -> a
|
|
function trampoline(t) {
|
|
var tramp = t;
|
|
while(true) {
|
|
switch(tramp.ctor) {
|
|
case "Done":
|
|
return tramp._0;
|
|
case "Continue":
|
|
tramp = tramp._0({ctor: "_Tuple0"});
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
|
|
return elm.Native.Trampoline.values = {
|
|
trampoline:trampoline
|
|
};
|
|
};
|