@effectful/cc
Version:
Multi-prompt delimited continuations runtime
1,181 lines (1,180 loc) • 34.9 kB
JavaScript
"no-ctrl";
var $M = require("@effectful/debugger/apiMin"),
$iterator = $M.iterator,
$iterFin = $M.iterFin,
$x = $M.context,
$ret = $M.ret,
$unhandled = $M.unhandled,
$raise = $M.raise,
$force = $M.force,
$mcall = $M.mcall,
$m = $M.module("src/main.ts", null, typeof module === "undefined" ? null : module, null, "$", {
__webpack_require__: typeof __webpack_require__ !== "undefined" && __webpack_require__
}, null),
$s$1 = [{
_macro: [1, null],
_types: [2, null],
state: [3, "16:6-16:11"],
pushPrompt: [4, "22:16-22:26"],
pushSubCont: [5, "30:16-30:27"],
withSubCont: [6, "52:16-52:27"],
shift: [7, "79:16-79:21"],
control: [8, "90:16-90:23"],
shift0: [9, "101:16-101:22"],
control0: [10, "112:16-112:24"],
reset: [11, "120:16-120:21"],
abort: [12, "132:16-132:21"],
pipe: [13, "142:16-142:20"],
chain: [14, "156:16-156:21"]
}, null, 0],
$s$2 = [{
_prompt: [1, "22:30-22:48"],
body: [2, "22:50-22:63"]
}, $s$1, 1],
$s$3 = [{
subk: [1, "30:34-30:53"],
body: [2, "30:55-30:68"],
cfrom: [3, "31:8-31:13"],
ctill: [4, "32:8-32:13"],
prev: [5, "33:6-33:17"],
top: [6, "34:8-34:11"]
}, $s$1, 1],
$s$4 = [{
i: [1, "36:11-36:12"]
}, $s$3, 2],
$s$5 = [{
prompt: [1, "53:2-53:19"],
body: [2, "54:2-54:33"],
top: [3, "56:8-56:11"],
caller: [4, "58:8-58:14"]
}, $s$1, 1],
$s$6 = [{
i: [1, "61:11-61:29"]
}, $s$5, 2],
$s$7 = [{
till: [2, "63:12-63:16"]
}, $s$6, 2],
$s$8 = [{}, $s$7, 3],
$s$9 = [{
prompt: [1, "79:28-79:45"],
body: [2, "79:47-79:80"]
}, $s$1, 1],
$s$10 = [{
sk: [1, "80:36-80:38"]
}, $s$9, 2],
$s$11 = [{}, $s$10, 3],
$s$12 = [{
a: [1, "81:35-81:36"]
}, $s$11, 4],
$s$13 = [{}, $s$12, 5],
$s$14 = [{
prompt: [1, "90:30-90:47"],
body: [2, "90:49-90:82"]
}, $s$1, 1],
$s$15 = [{
sk: [1, "91:36-91:38"]
}, $s$14, 2],
$s$16 = [{}, $s$15, 3],
$s$17 = [{
a: [1, "92:35-92:36"]
}, $s$16, 4],
$s$18 = [{
prompt: [1, "101:29-101:46"],
body: [2, "101:48-101:81"]
}, $s$1, 1],
$s$19 = [{
sk: [1, "102:36-102:38"]
}, $s$18, 2],
$s$20 = [{
a: [1, "103:10-103:11"]
}, $s$19, 3],
$s$21 = [{}, $s$20, 4],
$s$22 = [{
prompt: [1, "112:31-112:48"],
body: [2, "112:50-112:83"]
}, $s$1, 1],
$s$23 = [{
sk: [1, "113:36-113:38"]
}, $s$22, 2],
$s$24 = [{
a: [1, "113:49-113:50"]
}, $s$23, 3],
$s$25 = [{
body: [1, "120:25-120:55"],
prompt: [2, "121:8-121:14"]
}, $s$1, 1],
$s$26 = [{}, $s$25, 2],
$s$27 = [{
prompt: [1, "132:34-132:51"],
result: [2, "132:53-132:62"]
}, $s$1, 1],
$s$28 = [{
_sk: [1, "133:36-133:39"]
}, $s$27, 2],
$s$29 = [{
_len: [1, null],
funs: [2, "142:24-142:28"],
_key: [3, null]
}, $s$1, 1],
$s$30 = [{}, $s$29, 2],
$s$31 = [{
val: [1, "143:19-143:27"]
}, $s$29, 2],
$s$32 = [{
i: [1, "144:15-144:16"]
}, $s$31, 3],
$s$33 = [{
val: [1, "156:22-156:30"],
_len2: [2, null],
funs: [3, "156:35-156:39"],
_key2: [4, null]
}, $s$1, 1],
$s$34 = [{}, $s$33, 2],
$s$35 = [{
i: [1, "157:13-157:14"]
}, $s$33, 2],
$m$0 = $M.fun("m$0", "main.ts", null, null, [], 0, 15, "1:0-160:0", 160, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$l[4 /*pushPrompt*/] = $m$1($);
$l[5 /*pushSubCont*/] = $m$2($);
$l[6 /*withSubCont*/] = $m$3($);
$l[7 /*shift*/] = $m$5($);
$l[8 /*control*/] = $m$10($);
$l[9 /*shift0*/] = $m$14($);
$l[10 /*control0*/] = $m$18($);
$l[11 /*reset*/] = $m$21($);
$l[12 /*abort*/] = $m$23($);
$l[13 /*pipe*/] = $m$25($);
$l[14 /*chain*/] = $m$27($);
module.exports.__esModule = true;
module.exports.abort = $l[12 /*abort*/];
module.exports.chain = $l[14 /*chain*/];
module.exports.control = $l[8 /*control*/];
module.exports.control0 = $l[10 /*control0*/];
module.exports.pipe = $l[13 /*pipe*/];
module.exports.pushPrompt = $l[4 /*pushPrompt*/];
module.exports.pushSubCont = $l[5 /*pushSubCont*/];
module.exports.reset = $l[11 /*reset*/];
module.exports.shift = $l[7 /*shift*/];
module.exports.shift0 = $l[9 /*shift0*/];
module.exports.withSubCont = $l[6 /*withSubCont*/];
$l[1 /*_macro*/] = null;
$.goto = 1;
$p = ($x.moduleId = require.resolve("./types"), $force(require("./types")));
$.state = 1;
case 1:
$l[2 /*_types*/] = $p;
module.exports.Prompt = $l[2 /*_types*/].Prompt;
module.exports.SubCont = $l[2 /*_types*/].SubCont;
module.exports.newPrompt = $l[2 /*_types*/].newPrompt;
$l[3 /*state*/] = $l[2 /*_types*/].context;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 0, [[2, null, $s$1], [0, null, $s$1], [16, "160:0-160:0", $s$1], [16, "160:0-160:0", $s$1]]),
$m$1 = $M.fun("m$1", "pushPrompt", null, $m$0, ["_prompt", "body"], 0, 3, "22:7-24:1", 128, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[2 /*body*/])();
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 1, [[2, "23:11-23:17", $s$2], [0, null, $s$2], [16, "24:1-24:1", $s$2], [16, "24:1-24:1", $s$2]]),
$m$2 = $M.fun("m$2", "pushSubCont", null, $m$0, ["subk", "body"], 1, 8, "30:7-41:1", 128, function ($, $l, $p) {
var $1;
for (;;) switch ($.state = $.goto) {
case 0:
0;
$.goto = 1;
$p = ($x.call = $l[0][2 /*_types*/].copyFrame)($l[1 /*subk*/].from);
$.state = 1;
case 1:
$l[3 /*cfrom*/] = $p;
$l[4 /*ctill*/] = $l[1 /*subk*/].till;
$l[5 /*prev*/] = $l[3 /*cfrom*/];
$l[6 /*top*/] = $l[0][3 /*state*/].top;
if ($l[6 /*top*/] == null) {
$.goto = 11;
$p = new ($x.call = Error)("`pushSubCont` isn't instrumeted");
continue;
} else {
$.state = 2;
}
case 2:
$l = $.$ = [$l, void 0];
$.state = 3;
case 3:
$l[1 /*i*/] = $l[0][3 /*cfrom*/].caller;
$.state = 4;
case 4:
$1 = $l[1 /*i*/];
if ($1) {
$1 = $l[1 /*i*/] != $l[0][4 /*ctill*/];
$.state = 5;
} else {
$.state = 5;
}
case 5:
if ($1) {
0;
$.goto = 6;
$p = ($x.call = $l[0][0][2 /*_types*/].copyFrame)($l[1 /*i*/]);
$.state = 6;
} else {
$l[0][7] = 9;
$.goto = 8;
continue;
}
case 6:
$l[0][5 /*prev*/] = $l[0][5 /*prev*/].next = $l[0][5 /*prev*/].caller = $p;
$l = $.$ = [$l[0], $l[1]];
$l[1 /*i*/] = $l[1 /*i*/].caller;
$.goto = 4;
continue;
case 7:
return $raise($.error);
case 8:
$l = $.$ = $l[0];
$.goto = $l[7];
continue;
case 9:
$l[5 /*prev*/].next = $l[5 /*prev*/].caller = $l[6 /*top*/];
$l[0][2 /*_types*/].context.top = $l[3 /*cfrom*/];
0;
$.goto = 10;
$p = ($x.call = $l[0][2 /*_types*/].push)($l[6 /*top*/], $l[2 /*body*/]);
$.state = 10;
case 10:
$.result = $p;
$.goto = 13;
continue;
case 11:
$.goto = 2;
return $raise($p);
case 12:
$.goto = 13;
return $unhandled($.error);
case 13:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, function ($, $l) {
switch ($.state) {
case 6:
case 5:
case 4:
case 3:
$.goto = 8;
$l[0][7] = 7;
break;
default:
$.goto = 12;
}
}, function ($, $l) {
switch ($.state) {
case 6:
case 5:
case 4:
case 3:
$l[0][7] = 13;
$.goto = 8;
break;
default:
$.goto = 13;
break;
}
}, 1, [[2, "31:16-31:36", $s$3], [2, "35:25-35:69", $s$3], [0, null, $s$3], [0, "36:11-36:27", $s$4], [0, null, $s$4], [2, "37:37-37:49", $s$4], [0, "37:4-37:49", $s$4], [0, null, $s$3], [0, null, $s$3], [2, "40:9-40:24", $s$3], [0, null, $s$3], [0, "35:19-35:70", $s$3], [16, "41:1-41:1", $s$3], [16, "41:1-41:1", $s$3]]),
$m$3 = $M.fun("m$3", "withSubCont", null, $m$0, ["prompt", "body"], 1, 6, "52:7-72:1", 128, function ($, $l, $p) {
var $1;
for (;;) switch ($.state = $.goto) {
case 0:
$l[3 /*top*/] = $l[0][2 /*_types*/].context.top;
if (!$l[3 /*top*/]) {
$.goto = 16;
$p = new ($x.call = Error)("`withSubCont` isn't instrumented");
continue;
} else {
$.state = 1;
}
case 1:
$l[4 /*caller*/] = $l[3 /*top*/].next;
if (!$l[4 /*caller*/]) {
$.goto = 15;
$p = new ($x.call = Error)("`withSubCont` is called from not instrumented code");
continue;
} else {
$.state = 2;
}
case 2:
$l = $.$ = [$l, void 0, void 0];
$.state = 3;
case 3:
$l[1 /*i*/] = $l[0][4 /*caller*/];
$.state = 4;
case 4:
if ($l[1 /*i*/] != null) {
$1 = $l[1 /*i*/].func === $l[0][0][4 /*pushPrompt*/];
if ($1) {
$1 = $l[1 /*i*/].$[1] === $l[0][1 /*prompt*/];
$.state = 5;
} else {
$.state = 5;
}
} else {
$l[0][5] = 12;
$.goto = 11;
continue;
}
case 5:
if ($1) {
$l[2 /*till*/] = $l[1 /*i*/].next;
if ($l[2 /*till*/] === null) {
$.goto = 9;
$p = new ($x.call = TypeError)("`pushPrompt` was called from not instrumented code");
continue;
} else {
$.goto = 7;
continue;
}
} else {
$.state = 6;
}
case 6:
$l = $.$ = [$l[0], $l[1], void 0];
$l[1 /*i*/] = $l[1 /*i*/].next;
$.goto = 4;
continue;
case 7:
0;
$.goto = 8;
$p = ($x.call = $l[0][0][2 /*_types*/].pop)($l[2 /*till*/], $m$4($));
$.state = 8;
case 8:
$.result = $p;
$l[0][5] = 18;
$.goto = 11;
continue;
case 9:
$.goto = 7;
return $raise($p);
case 10:
return $raise($.error);
case 11:
$l = $.$ = $l[0];
$.goto = $l[5];
continue;
case 12:
$.goto = 13;
$p = $mcall("concat", "prompt \"", $l[1 /*prompt*/].name, "\" wasn't found");
$.state = 13;
case 13:
$.goto = 14;
$p = new ($x.call = Error)($p);
$.state = 14;
case 14:
$.goto = 18;
return $raise($p);
case 15:
$.goto = 2;
return $raise($p);
case 16:
$.goto = 1;
return $raise($p);
case 17:
$.goto = 18;
return $unhandled($.error);
case 18:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, function ($, $l) {
switch ($.state) {
case 9:
case 8:
case 7:
case 6:
case 5:
case 4:
case 3:
$.goto = 11;
$l[0][5] = 10;
break;
default:
$.goto = 17;
}
}, function ($, $l) {
switch ($.state) {
case 9:
case 8:
case 7:
case 6:
case 5:
case 4:
case 3:
$l[0][5] = 18;
$.goto = 11;
break;
default:
$.goto = 18;
break;
}
}, 1, [[2, "57:18-57:63", $s$5], [2, "60:10-60:73", $s$5], [0, null, $s$5], [0, "61:11-61:38", $s$6], [0, null, $s$6], [2, "64:31-64:98", $s$7], [0, null, $s$6], [2, "65:13-68:8", $s$7], [0, null, $s$6], [0, "64:25-64:99", $s$7], [0, null, $s$5], [0, null, $s$5], [2, null, $s$5], [2, "71:8-71:57", $s$5], [0, "71:2-71:58", $s$5], [0, "60:4-60:74", $s$5], [0, "57:12-57:64", $s$5], [16, "72:1-72:1", $s$5], [16, "72:1-72:1", $s$5]]),
$m$4 = $M.fun("m$4", "popBody", null, $m$3, [], 0, 1, "65:23-68:7", 128, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$l[0][0][3 /*top*/].next = $l[0][0][3 /*top*/].caller = $l[0][2 /*till*/];
$.goto = 1;
$p = new ($x.call = $l[0][0][0][2 /*_types*/].SubCont)($l[0][0][4 /*caller*/], $l[0][1 /*i*/]);
$.state = 1;
case 1:
$.goto = 2;
$p = ($x.call = $l[0][0][2 /*body*/])($p);
$.state = 2;
case 2:
$.result = $p;
$.goto = 4;
continue;
case 3:
$.goto = 4;
return $unhandled($.error);
case 4:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 3, [[2, "67:20-67:48", $s$8], [2, "67:15-67:49", $s$8], [0, null, $s$8], [16, "68:7-68:7", $s$8], [16, "68:7-68:7", $s$8]]),
$m$5 = $M.fun("m$5", "shift", null, $m$0, ["prompt", "body"], 0, 3, "79:7-83:1", 128, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][6 /*withSubCont*/])($l[1 /*prompt*/], $m$6($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 1, [[2, "80:9-82:3", $s$9], [0, null, $s$9], [16, "83:1-83:1", $s$9], [16, "83:1-83:1", $s$9]]),
$m$6 = $M.fun("m$6", null, null, $m$5, ["sk"], 0, 2, "80:35-81:87", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][0][4 /*pushPrompt*/])($l[0][1 /*prompt*/], $m$7($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 2, [[2, "81:4-81:87", $s$10], [0, null, $s$10], [16, "81:87-81:87", $s$10], [16, "81:87-81:87", $s$10]]),
$m$7 = $M.fun("m$7", null, null, $m$6, [], 0, 1, "81:23-81:86", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][0][2 /*body*/])($m$8($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 3, [[2, "81:29-81:86", $s$11], [0, null, $s$11], [16, "81:86-81:86", $s$11], [16, "81:86-81:86", $s$11]]),
$m$8 = $M.fun("m$8", null, null, $m$7, ["a"], 0, 2, "81:34-81:85", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][0][0][0][4 /*pushPrompt*/])($l[0][0][0][1 /*prompt*/], $m$9($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 4, [[2, "81:41-81:85", $s$12], [0, null, $s$12], [16, "81:85-81:85", $s$12], [16, "81:85-81:85", $s$12]]),
$m$9 = $M.fun("m$9", null, null, $m$8, [], 0, 1, "81:60-81:84", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][0][0][0][0][5 /*pushSubCont*/])($l[0][0][0][1 /*sk*/], $l[0][1 /*a*/]);
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 5, [[2, "81:66-81:84", $s$13], [0, null, $s$13], [16, "81:84-81:84", $s$13], [16, "81:84-81:84", $s$13]]),
$m$10 = $M.fun("m$10", "control", null, $m$0, ["prompt", "body"], 0, 3, "90:7-94:1", 128, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][6 /*withSubCont*/])($l[1 /*prompt*/], $m$11($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 1, [[2, "91:9-93:3", $s$14], [0, null, $s$14], [16, "94:1-94:1", $s$14], [16, "94:1-94:1", $s$14]]),
$m$11 = $M.fun("m$11", null, null, $m$10, ["sk"], 0, 2, "91:35-92:61", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][0][4 /*pushPrompt*/])($l[0][1 /*prompt*/], $m$12($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 2, [[2, "92:4-92:61", $s$15], [0, null, $s$15], [16, "92:61-92:61", $s$15], [16, "92:61-92:61", $s$15]]),
$m$12 = $M.fun("m$12", null, null, $m$11, [], 0, 1, "92:23-92:60", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][0][2 /*body*/])($m$13($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 3, [[2, "92:29-92:60", $s$16], [0, null, $s$16], [16, "92:60-92:60", $s$16], [16, "92:60-92:60", $s$16]]),
$m$13 = $M.fun("m$13", null, null, $m$12, ["a"], 0, 2, "92:34-92:59", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][0][0][0][5 /*pushSubCont*/])($l[0][0][1 /*sk*/], $l[1 /*a*/]);
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 4, [[2, "92:41-92:59", $s$17], [0, null, $s$17], [16, "92:59-92:59", $s$17], [16, "92:59-92:59", $s$17]]),
$m$14 = $M.fun("m$14", "shift0", null, $m$0, ["prompt", "body"], 0, 3, "101:7-105:1", 128, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][6 /*withSubCont*/])($l[1 /*prompt*/], $m$15($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 1, [[2, "102:9-104:3", $s$18], [0, null, $s$18], [16, "105:1-105:1", $s$18], [16, "105:1-105:1", $s$18]]),
$m$15 = $M.fun("m$15", null, null, $m$14, ["sk"], 0, 2, "102:35-103:61", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][2 /*body*/])($m$16($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 2, [[2, "103:4-103:61", $s$19], [0, null, $s$19], [16, "103:61-103:61", $s$19], [16, "103:61-103:61", $s$19]]),
$m$16 = $M.fun("m$16", null, null, $m$15, ["a"], 0, 2, "103:9-103:60", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][0][0][4 /*pushPrompt*/])($l[0][0][1 /*prompt*/], $m$17($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 3, [[2, "103:16-103:60", $s$20], [0, null, $s$20], [16, "103:60-103:60", $s$20], [16, "103:60-103:60", $s$20]]),
$m$17 = $M.fun("m$17", null, null, $m$16, [], 0, 1, "103:35-103:59", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][0][0][0][5 /*pushSubCont*/])($l[0][0][1 /*sk*/], $l[0][1 /*a*/]);
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 4, [[2, "103:41-103:59", $s$21], [0, null, $s$21], [16, "103:59-103:59", $s$21], [16, "103:59-103:59", $s$21]]),
$m$18 = $M.fun("m$18", "control0", null, $m$0, ["prompt", "body"], 0, 3, "112:7-114:1", 128, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][6 /*withSubCont*/])($l[1 /*prompt*/], $m$19($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 1, [[2, "113:9-113:75", $s$22], [0, null, $s$22], [16, "114:1-114:1", $s$22], [16, "114:1-114:1", $s$22]]),
$m$19 = $M.fun("m$19", null, null, $m$18, ["sk"], 0, 2, "113:35-113:74", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][2 /*body*/])($m$20($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 2, [[2, "113:43-113:74", $s$23], [0, null, $s$23], [16, "113:74-113:74", $s$23], [16, "113:74-113:74", $s$23]]),
$m$20 = $M.fun("m$20", null, null, $m$19, ["a"], 0, 2, "113:48-113:73", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][0][0][5 /*pushSubCont*/])($l[0][1 /*sk*/], $l[1 /*a*/]);
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 3, [[2, "113:55-113:73", $s$24], [0, null, $s$24], [16, "113:73-113:73", $s$24], [16, "113:73-113:73", $s$24]]),
$m$21 = $M.fun("m$21", "reset", null, $m$0, ["body"], 0, 3, "120:7-123:1", 128, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
0;
$.goto = 1;
$p = ($x.call = $l[0][2 /*_types*/].newPrompt)();
$.state = 1;
case 1:
$l[2 /*prompt*/] = $p;
$.goto = 2;
$p = ($x.call = $l[0][4 /*pushPrompt*/])($l[2 /*prompt*/], $m$22($));
$.state = 2;
case 2:
$.result = $p;
$.goto = 4;
continue;
case 3:
$.goto = 4;
return $unhandled($.error);
case 4:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 1, [[2, "121:17-121:31", $s$25], [2, "122:9-122:47", $s$25], [0, null, $s$25], [16, "123:1-123:1", $s$25], [16, "123:1-123:1", $s$25]]),
$m$22 = $M.fun("m$22", null, null, $m$21, [], 0, 1, "122:28-122:46", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][1 /*body*/])($l[0][2 /*prompt*/]);
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 2, [[2, "122:34-122:46", $s$26], [0, null, $s$26], [16, "122:46-122:46", $s$26], [16, "122:46-122:46", $s$26]]),
$m$23 = $M.fun("m$23", "abort", null, $m$0, ["prompt", "result"], 0, 3, "132:7-134:1", 128, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.goto = 1;
$p = ($x.call = $l[0][6 /*withSubCont*/])($l[1 /*prompt*/], $m$24($));
$.state = 1;
case 1:
$.result = $p;
$.goto = 3;
continue;
case 2:
$.goto = 3;
return $unhandled($.error);
case 3:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 1, [[2, "133:9-133:51", $s$27], [0, null, $s$27], [16, "134:1-134:1", $s$27], [16, "134:1-134:1", $s$27]]),
$m$24 = $M.fun("m$24", null, null, $m$23, ["_sk"], 0, 2, "133:35-133:50", 132, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.result = $l[0][2 /*result*/];
$.goto = 2;
continue;
case 1:
$.goto = 2;
return $unhandled($.error);
case 2:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, null, null, 2, [[0, null, $s$28], [16, "133:50-133:50", $s$28], [16, "133:50-133:50", $s$28]]),
$m$25 = $M.fun("m$25", "pipe", null, $m$0, [], 0, 5, "142:7-147:1", 144, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$l = $.$ = [$l];
$.state = 1;
case 1:
$l[0][1 /*_len*/] = $.args.length;
$.goto = 2;
$p = new ($x.call = Array)($l[0][1 /*_len*/]);
$.state = 2;
case 2:
$l[0][2 /*funs*/] = $p;
$l[0][3 /*_key*/] = 0;
$.state = 3;
case 3:
if ($l[0][3 /*_key*/] < $l[0][1 /*_len*/]) {
$l[0][2 /*funs*/][$l[0][3 /*_key*/]] = $.args[$l[0][3 /*_key*/]];
$l = $.$ = [$l[0]];
$l[0][3 /*_key*/] = $l[0][3 /*_key*/] + 1;
$.goto = 3;
continue;
} else {
$l[0][4] = 6;
$.goto = 5;
continue;
}
case 4:
return $raise($.error);
case 5:
$l = $.$ = $l[0];
$.goto = $l[4];
continue;
case 6:
$.result = $m$26($);
$.goto = 8;
continue;
case 7:
$.goto = 8;
return $unhandled($.error);
case 8:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, function ($, $l) {
switch ($.state) {
case 3:
case 2:
case 1:
$.goto = 5;
$l[0][4] = 4;
break;
default:
$.goto = 7;
}
}, function ($, $l) {
switch ($.state) {
case 3:
case 2:
case 1:
$l[0][4] = 8;
$.goto = 5;
break;
default:
$.goto = 8;
break;
}
}, 1, [[0, null, $s$29], [2, null, $s$30], [0, null, $s$30], [0, null, $s$30], [0, null, $s$29], [0, null, $s$29], [0, null, $s$29], [16, "147:1-147:1", $s$29], [16, "147:1-147:1", $s$29]]),
$m$26 = $M.fun("m$26", null, null, $m$25, ["val"], 0, 3, "143:9-146:3", 128, function ($, $l, $p) {
for (;;) switch ($.state = $.goto) {
case 0:
$.state = 1;
case 1:
$l = $.$ = [$l, void 0, void 0, void 0];
$.goto = 2;
$p = $iterator($l[0][0][2 /*funs*/]);
$.state = 2;
case 2:
$l[3] = $p;
$.state = 3;
case 3:
$.state = 4;
case 4:
$x.call = $l[3].next;
$.goto = 5;
$p = $l[3].next();
$.state = 5;
case 5:
if ($p.done) {
$.state = 6;
} else {
$l[1 /*i*/] = $p.value;
$.goto = 7;
$p = ($x.call = $l[0][1 /*val*/])($l[1 /*i*/]);
continue;
}
case 6:
$l[0][2] = 13;
$.goto = 12;
continue;
case 7:
$l[0][1 /*val*/] = $p;
$l = $.$ = [$l[0], void 0, void 0, $l[3]];
$.goto = 4;
continue;
case 8:
return $raise($.error);
case 9:
$.goto = 10;
$iterFin($l[3]);
$.state = 10;
case 10:
$.goto = $l[2];
continue;
case 11:
return $raise($.error);
case 12:
$l = $.$ = $l[0];
$.goto = $l[2];
continue;
case 13:
$.result = $l[1 /*val*/];
$.goto = 15;
continue;
case 14:
$.goto = 15;
return $unhandled($.error);
case 15:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, function ($, $l) {
switch ($.state) {
case 10:
case 9:
case 8:
case 6:
case 3:
$.goto = 12;
$l[0][2] = 11;
break;
case 7:
case 5:
case 4:
$.goto = 9;
$l[2] = 8;
break;
default:
$.goto = 14;
}
}, function ($, $l) {
switch ($.state) {
case 10:
case 9:
case 8:
case 6:
case 3:
$l[0][2] = 15;
$.goto = 12;
break;
case 7:
case 5:
case 4:
$l[2] = 12;
$l[0][2] = 15;
$.goto = 9;
break;
default:
$.goto = 15;
break;
}
}, 2, [[0, null, $s$31], [2, "144:20-144:24", $s$32], [0, null, $s$32], [0, null, $s$32], [2, "144:20-144:24", $s$32], [2, "144:32-144:38", $s$32], [0, null, $s$32], [0, "144:26-144:38", $s$32], [0, null, $s$32], [2, "144:20-144:24", $s$32], [0, null, $s$32], [0, null, $s$31], [0, null, $s$31], [0, null, $s$31], [16, "146:3-146:3", $s$31], [16, "146:3-146:3", $s$31]]),
$m$27 = $M.fun("m$27", "chain", null, $m$0, ["val"], 1, 7, "156:7-159:1", 144, function ($, $l, $p) {
var $1;
for (;;) switch ($.state = $.goto) {
case 0:
$l = $.$ = [$l];
$.state = 1;
case 1:
$l[0][2 /*_len2*/] = $.args.length;
if ($l[0][2 /*_len2*/] > 1) {
$1 = $l[0][2 /*_len2*/] - 1;
$.state = 2;
} else {
$1 = 0;
$.state = 2;
}
case 2:
$.goto = 3;
$p = new ($x.call = Array)($1);
$.state = 3;
case 3:
$l[0][3 /*funs*/] = $p;
$l[0][4 /*_key2*/] = 1;
$.state = 4;
case 4:
if ($l[0][4 /*_key2*/] < $l[0][2 /*_len2*/]) {
$l[0][3 /*funs*/][$l[0][4 /*_key2*/] - 1] = $.args[$l[0][4 /*_key2*/]];
$l = $.$ = [$l[0]];
$l[0][4 /*_key2*/] = $l[0][4 /*_key2*/] + 1;
$.goto = 4;
continue;
} else {
$l[0][5] = 7;
$.goto = 6;
continue;
}
case 5:
return $raise($.error);
case 6:
$l = $.$ = $l[0];
$.goto = $l[5];
continue;
case 7:
$.state = 8;
case 8:
$l = $.$ = [$l, void 0, void 0, void 0];
$.goto = 9;
$p = $iterator($l[0][3 /*funs*/]);
$.state = 9;
case 9:
$l[3] = $p;
$.state = 10;
case 10:
$.state = 11;
case 11:
$x.call = $l[3].next;
$.goto = 12;
$p = $l[3].next();
$.state = 12;
case 12:
if ($p.done) {
$.state = 13;
} else {
$l[1 /*i*/] = $p.value;
$.goto = 14;
$p = ($x.call = $l[0][1 /*val*/])($l[1 /*i*/]);
continue;
}
case 13:
$l[0][6] = 20;
$.goto = 19;
continue;
case 14:
$l[0][1 /*val*/] = $p;
$l = $.$ = [$l[0], void 0, void 0, $l[3]];
$.goto = 11;
continue;
case 15:
return $raise($.error);
case 16:
$.goto = 17;
$iterFin($l[3]);
$.state = 17;
case 17:
$.goto = $l[2];
continue;
case 18:
return $raise($.error);
case 19:
$l = $.$ = $l[0];
$.goto = $l[6];
continue;
case 20:
$.result = $l[1 /*val*/];
$.goto = 22;
continue;
case 21:
$.goto = 22;
return $unhandled($.error);
case 22:
return $ret($.result);
default:
throw new Error("Invalid state");
}
}, function ($, $l) {
switch ($.state) {
case 17:
case 16:
case 15:
case 13:
case 10:
$.goto = 19;
$l[0][6] = 18;
break;
case 14:
case 12:
case 11:
$.goto = 16;
$l[2] = 15;
break;
case 4:
case 3:
case 2:
case 1:
$.goto = 6;
$l[0][5] = 5;
break;
default:
$.goto = 21;
}
}, function ($, $l) {
switch ($.state) {
case 4:
case 3:
case 2:
case 1:
$l[0][5] = 22;
$.goto = 6;
break;
case 17:
case 16:
case 15:
case 13:
case 10:
$l[0][6] = 22;
$.goto = 19;
break;
case 14:
case 12:
case 11:
$l[2] = 19;
$l[0][6] = 22;
$.goto = 16;
break;
default:
$.goto = 22;
break;
}
}, 1, [[0, null, $s$33], [0, null, $s$34], [2, null, $s$34], [0, null, $s$34], [0, null, $s$34], [0, null, $s$33], [0, null, $s$33], [0, null, $s$33], [2, "157:18-157:22", $s$35], [0, null, $s$35], [0, null, $s$35], [2, "157:18-157:22", $s$35], [2, "157:30-157:36", $s$35], [0, null, $s$35], [0, "157:24-157:36", $s$35], [0, null, $s$35], [2, "157:18-157:22", $s$35], [0, null, $s$35], [0, null, $s$33], [0, null, $s$33], [0, null, $s$33], [16, "159:1-159:1", $s$33], [16, "159:1-159:1", $s$33]]);
$M.moduleExports();