{eval(readFile("Compiled_NamespaceJS_Compiler"));oldLibrary="\n\n\n function runCoroutines(startingPoint){\n\n //set up the context\n var context = {}\n\n var innerNamespace = new Object();\n context.yieldTo = function(what) {\n throw [innerNamespace] what;\n }\n\n var outerNamespace = new Object();\n context.returnFromCoroutine = function(what) {\n throw [outerNamespace] what; \n }\n\n //start the loop\n var next = startingPoint;\n try [outerNamespace]{\n while[new Object()](true){\n try [innerNamespace]{\n next(context);\n }\n catch (what) {\n next = what;\n }\n }\n }\n catch(what){\n return what;\n }\n }\n\n";library="\n\n function callcc(fn){\n var continuationNs = new Object()\n try [continuationNs] {\n var continuationObject = function(val) {\n throw [continuationNs] val\n }\n fn(continuationObject)\n }\n catch (e) {\n return e\n }\n }\n\n function returnFromableFunction(fn){\n return function() {\n try [fn] {fn()} \n catch (e) {return e}\n }\n }\n\n function returnFrom(fn, val) {\n throw [fn] val\n }\n\n";runWithLibrary=(function (program_str){var a=NSJSParser.matchAll((library + program_str),"topLevel");var b=NSJSTranslator.match(a,"trans");eval(b)})}