UNPKG

@effectful/cc

Version:

Multi-prompt delimited continuations runtime

1,181 lines (1,180 loc) 34.9 kB
"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();