UNPKG

earlgrey

Version:

Programming language compiling to JavaScript, featuring macros, dynamic typing annotations and pattern matching.

5 lines (2 loc) 37.9 kB
'use strict';require('earlgrey-runtime/6');let $targ$1;let accum$0;let $targ$2;let accum$1;let $targ$14;let accum$2;let $targ$15;let accum$3;let $targ$17;let accum$4;let $targ$18;let accum$5;let $targ$33;let accum$6;let $targ$34;let accum$7;let $targ$35;let $targ$36;let $targ$37;let $targ$38;let $targ$39;let $targ$40;let $targ$41;let $targ$42;let $targ$43;let $0$0;let transferLocation$0;let Source$0;let util$0;let classify$0;let GenSym$0;let gensym$0;let camelCase$0;let invCamelCase$0;let $2$0;let tokenize$0;let $3$0;let parse$0;let __lt____lt____colon__$0;let jsKeywords$0;let Scope$0;let Env$0;let track_location$0;let Info$0;let Expander$0;let topscope$0;$0$0=require("./location");transferLocation$0=getProperty($0$0,"<<:","./location");Source$0=getProperty($0$0,"Source","./location");util$0=require("./util");classify$0=getProperty(util$0,"classify","util");GenSym$0=getProperty(util$0,"GenSym","util");gensym$0=getProperty(util$0,"gensym","util");camelCase$0=getProperty(util$0,"camelCase","util");invCamelCase$0=getProperty(util$0,"invCamelCase","util");$2$0=require("./lex");tokenize$0=getProperty($2$0,"tokenize","./lex");$3$0=require("./parse");parse$0=getProperty($3$0,"parse","./parse");__lt____lt____colon__$0=(function(a$0,b$0){let $$1401$0;let m$0$0;transferLocation$0(a$0,b$0);m$0$0=a$0;if(getChecker(Error)(m$0$0)){return a$0;}else{if(b$0.name){return __amp____colon__(a$0,({"name":b$0.name}));}else{return a$0;}}});jsKeywords$0="abstract arguments boolean break byte\n case catch char class const\n continue debugger default delete do\n double else enum eval export\n extends false final finally float\n for function goto if implements\n import in instanceof int interface\n let long native new null\n package private protected public return\n short static super switch synchronized\n this throw throws transient true\n try typeof var void volatile\n while with yield".split(RegExp("[ \\n]+",""));Scope$0=(function Scope(){let $targ$0;let t0$0;let m$1$0;let __at___$0;if((!getChecker(Scope$0)(this))){__at___$0=Object.create(Scope$0.prototype);}else{__at___$0=this;}m$1$0=arguments;t0$0=m$1$0.length;if(((t0$0>=0)&&(t0$0<=3))){(__at___$0["parent"]=((0>=t0$0)?null:m$1$0[0]));(__at___$0["name"]=((1>=t0$0)?gensym$0("scope"):m$1$0[1]));(__at___$0["top"]=((2>=t0$0)?false:m$1$0[2]));$targ$0=({});(__at___$0["options"]=$targ$0);(void 0);}else{___match_error(m$1$0,"{@parent = null\n @name = gensym{\"scope\"}\n @top = false}");}return __at___$0;});(Scope$0.prototype["fork"]=(function fork(){let __at___$1;let self$0;__at___$1=this;self$0=this;return Scope$0(__at___$1);}));(Scope$0.prototype["toString"]=(function toString(){let __at___$2;let self$1;__at___$2=this;self$1=this;return (("Scope{"+__at___$2.name)+"}");}));__amp____colon__(Scope$0,__amp____colon__((($targ$1="Scope"),(accum$0=({})),(accum$0["::name"]=$targ$1),accum$0),(($targ$2=true),(accum$1=({})),(accum$1["::egclass"]=$targ$2),accum$1)));Env$0=(function Env(){let $targ$3;let $targ$4;let __at___$3;if((!getChecker(Env$0)(this))){__at___$3=Object.create(Env$0.prototype);}else{__at___$3=this;}$targ$3=({});(__at___$3["scopes"]=$targ$3);$targ$4=({});(__at___$3["options"]=$targ$4);return __at___$3;});(Env$0.prototype["list_bindings"]=(function list_bindings(origin$0){let values$0;let scope$0;let __at___$4;let self$2;__at___$4=this;self$2=this;values$0=({});scope$0=origin$0;$4:while(scope$0){__amp____colon__(values$0,send(send(__at___$4,"scopes", true),scope$0.name));scope$0=scope$0.parent;scope$0;}return values$0;}));(Env$0.prototype["getopt"]=(function getopt(){let scope_data$0;let scope$1;let name$0;let level$0;let t0$1;let m$2$0;let __at___$5;let self$3;__at___$5=this;self$3=this;m$2$0=arguments;t0$1=m$2$0.length;if(((t0$1>=2)&&(t0$1<=3))){scope$1=m$2$0[0];name$0=m$2$0[1];if((2>=t0$1)){level$0=0;}else{level$0=m$2$0[2];}if((scope$1===null)){return undefined;}scope_data$0=send(send(__at___$5,"options", true),scope$1.name);if((scope_data$0&&Object.prototype.hasOwnProperty.call(scope_data$0,name$0))){if(equal(level$0,0)){return send(scope_data$0,name$0);}else{return __at___$5.getopt(scope$1.parent,name$0,(level$0-1));}}else{return __at___$5.getopt(scope$1.parent,name$0,level$0);}}else{return ___match_error(m$2$0,"{scope, name, level = 0}");}}));(Env$0.prototype["setopt"]=(function setopt(scope$2,name$1,value$0){let $targ$6;let t0$2;let s$0;let $targ$5;let __at___$6;let self$4;__at___$6=this;self$4=this;if((!send(send(__at___$6,"options", true),scope$2.name))){$targ$6=({});(__at___$6.options[scope$2.name]=$targ$6);(void 0);}s$0=send(send(__at___$6,"options", true),scope$2.name);$targ$5=value$0;t0$2=$targ$5;(s$0[name$1]=t0$2);(s$0[camelCase$0(name$1)]=t0$2);(s$0[invCamelCase$0(name$1)]=t0$2);return (void 0);}));(Env$0.prototype["resolve"]=(function resolve(){let scope_data$1;let scope$3;let name$2;let level$1;let t0$3;let m$3$0;let __at___$7;let self$5;__at___$7=this;self$5=this;m$3$0=arguments;t0$3=m$3$0.length;if(((t0$3>=2)&&(t0$3<=3))){scope$3=m$3$0[0];name$2=m$3$0[1];if((2>=t0$3)){level$1=0;}else{level$1=m$3$0[2];}if((scope$3===null)){return undefined;}scope_data$1=send(send(__at___$7,"scopes", true),scope$3.name);if((scope_data$1&&Object.prototype.hasOwnProperty.call(scope_data$1,name$2))){if(equal(level$1,0)){return send(scope_data$1,name$2);}else{return __at___$7.resolve(scope$3.parent,name$2,(level$1-1));}}else{return __at___$7.resolve(scope$3.parent,name$2,level$1);}}else{return ___match_error(m$3$0,"{scope, name, level = 0}");}}));(Env$0.prototype["bind"]=(function bind(scope$4,name$3,value$1){let $targ$8;let $targ$9;let t0$4;let s$1;let $targ$7;let __at___$8;let self$6;__at___$8=this;self$6=this;if((!send(send(__at___$8,"scopes", true),scope$4.name))){$targ$8=({});(__at___$8.scopes[scope$4.name]=$targ$8);(void 0);}if(scope$4.top){$targ$9=true;(value$1["top"]=$targ$9);(void 0);}s$1=send(send(__at___$8,"scopes", true),scope$4.name);$targ$7=value$1;t0$4=$targ$7;(s$1[name$3]=t0$4);(s$1[camelCase$0(name$3)]=t0$4);(s$1[invCamelCase$0(name$3)]=t0$4);return (void 0);}));(Env$0.prototype["mark"]=(function mark(expr$0){let x$0;let x$1;let bridge$$1704$0;let x$2;let bridge$$1703$0;let x$3;let bridge$$1702$0;let x$4;let m$5;let other$0;let type$0;let args$0;let e$0;let bridge$$1701$0;let t0$5;let m$4$0;let __at___$9;let self$7;__at___$9=this;self$7=this;m$4$0=expr$0;if(___hasprop(m$4$0,"env")){e$0=m$4$0.env;return expr$0;}else{bridge$$1701$0=m$4$0;if((((bridge$$1702$0=bridge$$1701$0),(((bridge$$1703$0=bridge$$1702$0),(((bridge$$1704$0=bridge$$1703$0),(((x$0=bridge$$1704$0),((x$0 instanceof Array)&&(x$0[0]==="symbol")))||((x$1=bridge$$1704$0),((x$1 instanceof Array)&&(x$1[0]==="value")))))||((x$2=bridge$$1703$0),((x$2 instanceof Array)&&(x$2[0]==="variable")))))||((x$3=bridge$$1702$0),((x$3 instanceof Array)&&(x$3[0]==="macro")))))||((x$4=bridge$$1701$0),((x$4 instanceof Array)&&(x$4[0]==="void"))))){return __amp____colon__(expr$0,({"env":__at___$9}));}else{if((Array.isArray(m$4$0)&&((t0$5=m$4$0.length),(t0$5>=1)))){type$0=m$4$0[0];args$0=Array.prototype.slice.call(m$4$0,1);m$5=null;$5:for(m$5 of args$0){let arg$0;arg$0=m$5;__at___$9.mark(arg$0);}return __amp____colon__(expr$0,({"env":__at___$9}));}else{other$0=m$4$0;return other$0;}}}}));(Env$0.prototype["fork"]=(function fork(){let m$6;let m$8;let e$1;let __at___$10;let self$8;__at___$10=this;self$8=this;e$1=Env$0();m$6=null;$6:for(m$6 of items(__at___$10.scopes)){let m$7;let acc$0;let temp$0;let scope$5;let bindings$0;let t0$6;let t1$0;t0$6=m$6;if((Array.isArray(t0$6)&&((t1$0=t0$6.length),(t1$0===2)))){scope$5=t0$6[0];bindings$0=t0$6[1];acc$0=[];temp$0=null;m$7=null;$8:for(m$7 of items(bindings$0)){let $targ$11;let $targ$10;let k$0;let v$0;let t0$7;let t1$1;t0$7=m$7;if((Array.isArray(t0$7)&&((t1$1=t0$7.length),(t1$1===2)))){k$0=t0$7[0];v$0=t0$7[1];if((!send(send(e$1,"scopes", true),scope$5))){$targ$11=({});(e$1.scopes[scope$5]=$targ$11);(void 0);}$targ$10=v$0;(send(send(e$1,"scopes", true),scope$5)[k$0]=$targ$10);temp$0=(void 0);acc$0.push(temp$0);}else{___match_error(m$7);}}acc$0;}else{___match_error(m$6);}}m$8=null;$7:for(m$8 of items(__at___$10.options)){let m$9;let acc$1;let temp$1;let scope$6;let bindings$1;let t0$8;let t1$2;t0$8=m$8;if((Array.isArray(t0$8)&&((t1$2=t0$8.length),(t1$2===2)))){scope$6=t0$8[0];bindings$1=t0$8[1];acc$1=[];temp$1=null;m$9=null;$9:for(m$9 of items(bindings$1)){let $targ$13;let $targ$12;let k$1;let v$1;let t0$9;let t1$3;t0$9=m$9;if((Array.isArray(t0$9)&&((t1$3=t0$9.length),(t1$3===2)))){k$1=t0$9[0];v$1=t0$9[1];if((!send(send(e$1,"options", true),scope$6))){$targ$13=({});(e$1.options[scope$6]=$targ$13);(void 0);}$targ$12=v$1;(send(send(e$1,"options", true),scope$6)[k$1]=$targ$12);temp$1=(void 0);acc$1.push(temp$1);}else{___match_error(m$9);}}acc$1;}else{___match_error(m$8);}}return e$1;}));(Env$0.prototype["toString"]=(function toString(){let __at___$11;let self$9;__at___$11=this;self$9=this;return "Env{...}";}));__amp____colon__(Env$0,__amp____colon__((($targ$14="Env"),(accum$2=({})),(accum$2["::name"]=$targ$14),accum$2),(($targ$15=true),(accum$3=({})),(accum$3["::egclass"]=$targ$15),accum$3)));track_location$0=(function track_location(f$0){let f2$0;f2$0=(function f2(context$0,scope$7,expr$1){let rval$1;let other$1;let v$2;let t0$10;let m$10$0;let rval$0;rval$1=false;try{rval$1=f$0(context$0,scope$7,expr$1);rval$1;}catch(excv$0){let e$2;e$2=excv$0;__lt____lt____colon__$0(e$2,expr$1);throw e$2;rval$1;}rval$0=rval$1;m$10$0=rval$0;if((Array.isArray(m$10$0)&&((t0$10=m$10$0.length),((t0$10===2)&&(m$10$0[0]==="bounce"))))){v$2=m$10$0[1];return f2$0(context$0,scope$7,__lt____lt____colon__$0(v$2,expr$1));}else{other$1=m$10$0;return __lt____lt____colon__$0(other$1,expr$1);}});return f2$0;});Info$0=(function Info(temp$2$0,temp$3$0,temp$4$0,temp$5$0,temp$6$0){let $targ$16;let __at___$12;if((!getChecker(Info$0)(this))){__at___$12=Object.create(Info$0.prototype);}else{__at___$12=this;}(__at___$12["context"]=temp$2$0);(__at___$12["scope"]=temp$3$0);(__at___$12["form"]=temp$4$0);(__at___$12["arg"]=temp$5$0);(__at___$12["expander"]=temp$6$0);$targ$16=__at___$12.form.env;(__at___$12["env"]=$targ$16);return __at___$12;});(Info$0.prototype["gettext"]=(function gettext(ph$0$0){let location$0;let t0$11;let __at___$13;let self$10;__at___$13=this;self$10=this;t0$11=ph$0$0;if(___hasprop(t0$11,"location")){location$0=t0$11.location;return location$0.text();}else{return null;}}));(Info$0.prototype["raw"]=(function raw(x$5){let __at___$14;let self$11;__at___$14=this;self$11=this;return __at___$14.gettext(x$5);}));(Info$0.prototype["with_scope"]=(function with_scope(newscope$0){let __at___$15;let self$12;__at___$15=this;self$12=this;return Info$0(__at___$15.context,newscope$0,__at___$15.form,__at___$15.arg,__at___$15.expander);}));(Info$0.prototype["gensym"]=(function gensym(name$4){let __at___$16;let self$13;__at___$16=this;self$13=this;return __at___$16.expander.gensym((name$4||""));}));(Info$0.prototype["defer"]=(function defer(){let __at___$17;let self$14;__at___$17=this;self$14=this;return ["nostep",__at___$17.form];}));(Info$0.prototype["mkenv"]=(function mkenv(){let __at___$18;let self$15;__at___$18=this;self$15=this;return __at___$18.expander.mkenv();}));(Info$0.prototype["mark"]=(function mark(){let m$12;let acc$2;let temp$7;let xs$0;let x$6;let t0$13;let t1$4;let ph$2$0;let t0$12;let m$11$0;let __at___$19;let self$16;__at___$19=this;self$16=this;m$11$0=arguments;t0$12=m$11$0.length;if((t0$12>=0)){ph$2$0=Array.prototype.slice.call(m$11$0,0);t0$13=ph$2$0;t1$4=t0$13.length;if((t1$4===1)){x$6=t0$13[0];return __at___$19.env.mark(x$6);}else{xs$0=ph$2$0;acc$2=[];temp$7=null;m$12=null;$10:for(m$12 of xs$0){let x$7;x$7=m$12;temp$7=__at___$19.env.mark(x$7);acc$2.push(temp$7);}return acc$2;}}else{return ___match_error(m$11$0,"{*match}");}}));(Info$0.prototype["step"]=(function step(context$1,expr$2){let __at___$20;let self$17;__at___$20=this;self$17=this;return __at___$20.expander.step(context$1,__at___$20.scope,expr$2);}));(Info$0.prototype["step_all"]=(function step_all(context$2,exprs$0){let __at___$21;let self$18;__at___$21=this;self$18=this;return __at___$21.expander.step_all(context$2,__at___$21.scope,exprs$0);}));(Info$0.prototype["expand"]=(function expand(context$3,expr$3){let __at___$22;let self$19;__at___$22=this;self$19=this;return __at___$22.expander.expand(context$3,__at___$22.scope,expr$3);}));(Info$0.prototype["go"]=(function go(x$8,start$0,end$0){let __at___$23;let self$20;__at___$23=this;self$20=this;return __at___$23.expander.pipeline.go(x$8,start$0,end$0);}));(Info$0.prototype["getopt"]=(function getopt(name$5){let __at___$24;let self$21;__at___$24=this;self$21=this;return __at___$24.env.getopt(__at___$24.scope,name$5);}));(Info$0.prototype["setopt"]=(function setopt(name$6,value$2){let __at___$25;let self$22;__at___$25=this;self$22=this;return __at___$25.env.setopt(__at___$25.scope,name$6,value$2);}));__amp____colon__(Info$0,__amp____colon__((($targ$17="Info"),(accum$4=({})),(accum$4["::name"]=$targ$17),accum$4),(($targ$18=true),(accum$5=({})),(accum$5["::egclass"]=$targ$18),accum$5)));Expander$0=(function Expander(temp$8$0,temp$9$0,temp$10$0){let m$13;let acc$3;let temp$11;let $targ$19;let __at___$26;if((!getChecker(Expander$0)(this))){__at___$26=Object.create(Expander$0.prototype);}else{__at___$26=this;}(__at___$26["stdenv"]=temp$8$0);(__at___$26["generic_nodes"]=temp$9$0);(__at___$26["pipeline"]=temp$10$0);$targ$19=object(((acc$3=[]),(temp$11=null),(m$13=null),(function(){$11:for(m$13 of jsKeywords$0){let kw$0;kw$0=m$13;temp$11=[kw$0,0];acc$3.push(temp$11);}})(),acc$3));(__at___$26["nameusage"]=$targ$19);return __at___$26;});(Expander$0.prototype["gensym"]=(function gensym(temp$12$0){let t0$14;let idx$0;let $targ$20;let $$2374$0;let bridge$$2371$0;let name$7;let ph$3$0;let __at___$27;let self$23;__at___$27=this;self$23=this;t0$14=temp$12$0;name$7=t0$14;ph$3$0=t0$14;bridge$$2371$0=ph$3$0;if(((bridge$$2371$0===(void 0))||(bridge$$2371$0===null))){return __at___$27.gensym("");}else{if(Object.prototype.hasOwnProperty.call(__at___$27.nameusage,name$7)){idx$0=(__at___$27.nameusage[name$7]=(send(send(__at___$27,"nameusage", true),name$7)+1));return ((name$7+"$")+String(idx$0));}else{$targ$20=0;(__at___$27.nameusage[name$7]=$targ$20);return (name$7+"$0");}}}));(Expander$0.prototype["mkenv"]=(function mkenv(){let e$3;let $targ$21;let __at___$28;let self$24;__at___$28=this;self$24=this;e$3=Env$0();$targ$21=__at___$28.stdenv.scopes.top;(e$3.scopes["top"]=$targ$21);return e$3;}));(Expander$0.prototype["run_macro"]=(function run_macro(m$14,context$4,scope$8,form$0,arg$1){let rval$3;let rval$4;let info$0;let rval$2;let __at___$29;let self$25;__at___$29=this;self$25=this;info$0=Info$0(context$4,scope$8,form$0,arg$1,__at___$29);rval$3=false;try{rval$3=m$14(context$4,info$0,form$0,arg$1);rval$3;}catch(excv$1){let t0$16;let t1$6;let t2$1;let bridge$$2509$0;let msg$0;let msg$2;let find$0;let err$0;let other$2;let m$15$0;let $targ$22;let name$8;let e$4;let e$5;let value$3;let t0$15;let t1$5;let t2$0;let t3$0;t0$15=excv$1;if((getChecker(ErrorFactory(["match"]))(t0$15)&&(___hasprop(t0$15,"args")&&((t1$5=t0$15.args),(Array.isArray(t1$5)&&((t2$0=t1$5.length),((t2$0===1)&&((t3$0=t1$5[0]),___hasprop(t3$0,"value"))))))))){value$3=t3$0.value;$targ$22=form$0;bridge$$2509$0=$targ$22;if(((Array.isArray(bridge$$2509$0)&&((t0$16=bridge$$2509$0.length),((t0$16===3)&&((bridge$$2509$0[0]==="send")&&((t1$6=bridge$$2509$0[1]),(Array.isArray(t1$6)&&((t2$1=t1$6.length),((t2$1===2)&&((t1$6[0]==="symbol")&&((name$8=t1$6[1]),bridge$$2509$0[2],true))))))))))||((name$8="<unknown>"),true))){}else{___match_error($targ$22,"#send{#symbol{name}, _} or name is \"<unknown>\"");}m$15$0=value$3;if((m$15$0===context$4)){msg$0=(("The macro cannot be found in context {"+context$4)+"}.");e$4=ErrorFactory(["syntax","context"]).create(msg$0,({"context":context$4,"form":form$0}));}else{other$2=m$15$0;find$0=(function find(temp$13$0){let t0$17;let msg$1;let m$16;let other$3;let type$1;let xs$1;let t0$18;let t1$7;let arg$2;let ph$4$0;t0$17=temp$13$0;arg$2=t0$17;ph$4$0=t0$17;if((ph$4$0===value$3)){msg$1=(("The macro `"+name$8)+"` expected something different. You should bug the macro/language implementer to improve their error messages.");return ErrorFactory(["syntax","argument"]).create(msg$1,({"context":context$4,"argument":arg$2,"form":form$0}));}else{t0$18=ph$4$0;t1$7=t0$18.length;if((t1$7>=1)){type$1=t0$18[0];xs$1=Array.prototype.slice.call(t0$18,1);m$16=null;$12:for(m$16 of xs$1){let x$9;let t0$19;t0$19=getProjector(find$0)(m$16);if(t0$19[0]){x$9=t0$19[1];if(x$9){return x$9;}}else{___match_error(m$16);}}return false;}else{other$3=ph$4$0;return false;}}});err$0=find$0(arg$1);if(err$0){e$4=err$0;}else{msg$2=(("An error occurred in the `"+name$8)+"` macro. You should bug the macro/language implementer to fix this.");e$4=ErrorFactory(["syntax","failure"]).create(msg$2,({"form":form$0,"value":value$3}));}}throw e$4;rval$3;}else{e$5=excv$1;throw e$5;rval$3;}}rval$2=rval$3;rval$4=false;try{rval$4=__at___$29.mkenv().mark(rval$2);rval$4;}catch(excv$2){let t$0;let e$6;e$6=excv$2;t$0=rval$2;console.log(t$0);throw ErrorFactory(["syntax","macro"]).create("Macro returned a bad node",({"form":form$0}));rval$4;}return rval$4;}));(Expander$0.prototype["step"]=(function step(context$5,scope$9,expr$4){let t0$26;let $targ$23;let helper$0;let __at___$30;let self$26;__at___$30=this;self$26=this;$targ$23=(function(context$6,scope$10,temp$14$0){let t0$20;let other$4;let env$1;let m$18$0;let other$5;let t0$23;let m$20$0;let other$6;let m$19;let t0$22;let m$17$0;let env$0;let other$7;let t0$24;let m$22$0;let other$8;let m$24;let t0$25;let m$23$0;let t$1;let p$0;let other$9;let x$10;let code$0;let url$0;let f$1;let arg$3;let m$21;let s$2;let $$2686$0;let $$2687$0;let $$2688$0;let t0$21;let t1$8;let expr$5;let ph$5$0;t0$20=temp$14$0;expr$5=t0$20;ph$5$0=t0$20;t0$21=ph$5$0;t1$8=t0$21.length;if((($$2688$0=(t1$8===2))&&(t0$21[0]==="symbol"))){s$2=t0$21[1];m$18$0=expr$5;if(___hasprop(m$18$0,"env")){env$1=m$18$0.env;env$0=expr$5.env;}else{other$4=m$18$0;throw ErrorFactory(["syntax","no_env"]).create((("No environment was found to resolve '"+s$2)+"'"),({"symbol":expr$5}));}m$17$0=env$0.resolve(scope$10,s$2,(expr$5.level||0));if((Array.isArray(m$17$0)&&((t0$22=m$17$0.length),((t0$22===2)&&(m$17$0[0]==="macro"))))){m$19=m$17$0[1];m$20$0=context$6;if((Array.isArray(m$20$0)&&((t0$23=m$20$0.length),((t0$23===2)&&((m$20$0[0]==="expr")&&(m$20$0[1]==="head")))))){return ["macro",m$19];}else{other$5=m$20$0;return ["bounce",__at___$30.run_macro(m$19,context$6,scope$10,expr$5,__lt____lt____colon__$0(["void"],expr$5))];}}else{other$6=m$17$0;return expr$5;}}else{if(($$2688$0&&(t0$21[0]==="macro"))){m$21=t0$21[1];m$22$0=context$6;if((Array.isArray(m$22$0)&&((t0$24=m$22$0.length),((t0$24===2)&&((m$22$0[0]==="expr")&&(m$22$0[1]==="head")))))){return expr$5;}else{other$7=m$22$0;return ["bounce",__at___$30.run_macro(m$21,context$6,scope$10,expr$5,__lt____lt____colon__$0(["void"],expr$5))];}}else{if(((t1$8===3)&&(t0$21[0]==="send"))){f$1=t0$21[1];arg$3=t0$21[2];m$23$0=helper$0(["expr","head"],scope$10,f$1);if((Array.isArray(m$23$0)&&((t0$25=m$23$0.length),((t0$25===2)&&(m$23$0[0]==="macro"))))){m$24=m$23$0[1];return ["bounce",__at___$30.run_macro(m$24,context$6,scope$10,expr$5,arg$3)];}else{other$8=m$23$0;return expr$5;}}else{if((((t1$8>=2)&&(t1$8<=3))&&(t0$21[0]==="parse"))){code$0=t0$21[1];if((2>=t1$8)){url$0=null;}else{url$0=t0$21[2];}t$1=tokenize$0(Source$0(code$0,url$0));p$0=parse$0(t$1);return ["bounce",helper$0(context$6,scope$10,expr$5.env.mark(p$0))];}else{if(((t1$8===2)&&(t0$21[0]==="nostep"))){x$10=t0$21[1];return x$10;}else{other$9=ph$5$0;return expr$5;}}}}}});t0$26=getProjector(track_location$0)($targ$23);if(t0$26[0]){helper$0=t0$26[1];}else{___match_error($targ$23,"track_location! helper{context, scope, match expr}");}return helper$0(context$5,scope$9,expr$4);}));(Expander$0.prototype["step_all"]=(function step_all(context$7,scope$11,temp$15$0){let t0$27;let t1$9;let pre$0;let bulk$0;let post$0;let stmts$0;let __at___$31;let self$27;__at___$31=this;self$27=this;t0$27=temp$15$0;if((Array.isArray(t0$27)&&((t1$9=t0$27.length),(t1$9>=0)))){stmts$0=Array.prototype.slice.call(t0$27,0);}else{___match_error(temp$15$0);}pre$0=[];bulk$0=[];post$0=[];$13:while(stmts$0.length){let m$27;let acc$4;let temp$16;let e$7;let x$11;let m$26;let stmt$1;let stmt$0;let prepend$0;let $$2886$0;let $$2887$0;let $$2888$0;let t0$28;let m$25$0;let current$0;current$0=stmts$0.shift();m$25$0=__at___$31.step(context$7,scope$11,current$0);if((($$2886$0=Array.isArray(m$25$0))&&((t0$28=m$25$0.length),((t0$28>=1)&&(m$25$0[0]==="splice"))))){prepend$0=Array.prototype.slice.call(m$25$0,1);stmts$0=prepend$0.concat(stmts$0);stmts$0;}else{if(($$2886$0&&(($$2888$0=(t0$28===2))&&(m$25$0[0]==="float")))){stmt$0=m$25$0[1];pre$0=pre$0.concat(__at___$31.step_all(context$7,scope$11,[stmt$0]));}else{if(($$2888$0&&(m$25$0[0]==="sink"))){stmt$1=m$25$0[1];post$0=post$0.concat(__at___$31.step_all(context$7,scope$11,[stmt$1]));}else{if(($$2888$0&&(m$25$0[0]==="restmacro"))){m$26=m$25$0[1];e$7=__at___$31.mkenv();acc$4=[];temp$16=null;m$27=null;$14:for(m$27 of m$26(stmts$0)){let stmt$2;stmt$2=m$27;temp$16=e$7.mark(stmt$2);acc$4.push(temp$16);}stmts$0=acc$4;stmts$0;}else{x$11=m$25$0;bulk$0.push(x$11);}}}}}return pre$0.concat(bulk$0).concat(post$0);}));(Expander$0.prototype["expand"]=(function expand(context$8,scope$12,expr$6){let t0$49;let $targ$24;let helper$1;let __at___$32;let self$28;__at___$32=this;self$28=this;$targ$24=(function(context$9,scope$13,expr$7){let t0$30;let v$3;let resolved$0;let m$29$0;let $targ$25;let env$2;let m$30;let acc$5;let temp$17;let newargs$0;let m$31;let acc$6;let temp$18;let newargs$1;let t0$32;let newscope$1;let $targ$26;let env$3;let m$32;let acc$7;let temp$19;let t0$38;let newscope$2;let stepscope$0;let changes$0;let $targ$27;let newargs$2;let vars$0;let exp$0;let m$38;let f$3;let f$4;let other$14;let t0$43;let m$39$0;let obj$0;let arr$0;let arr_parts$0;let obj_parts$0;let index$0;let objindex$0;let new_arr_part$0;let decl_obj$0;let new_obj_part$0;let is_obj$0;let r$0;let x$14;let msg$5;let $targ$32;let otherwise$0;let m$41;let t0$44;let m$40$0;let t$2;let orig$0;let m$42;let acc$10;let temp$22;let newscope$3;let s$9;let newscope$4;let name$9;let t0$47;let m$43;let acc$11;let temp$23;let m$44;let acc$12;let temp$24;let tokens$0;let msg$6;let other$16;let c$0;let ops$0;let args$8;let type$2;let args$7;let x$17;let tag$0;let body$2;let ph$6$0;let x$16;let bindings$2;let body$1;let generator$0;let target$0;let value$9;let args$6;let args$5;let args$4;let args$3;let variable$0;let s$4;let value$4;let body$0;let args$2;let args$1;let f$2;let arg$4;let s$3;let $$2999$0;let $$3000$0;let $$3001$0;let t0$29;let t1$10;let t2$2;let m$28$0;expr$7=__at___$32.step(context$9,scope$13,expr$7);m$28$0=expr$7;if((($$2999$0=Array.isArray(m$28$0))&&((t0$29=m$28$0.length),(($$3001$0=(t0$29===2))&&(m$28$0[0]==="symbol"))))){s$3=m$28$0[1];$targ$25=expr$7;t0$30=$targ$25;if(___hasprop(t0$30,"env")){env$2=t0$30.env;}else{___match_error($targ$25,"{=> env}");}m$29$0=env$2.resolve(scope$13,s$3,(expr$7.level||0));if((m$29$0===(void 0))){throw ErrorFactory(["syntax","undeclared"]).create(("Undeclared variable: "+s$3),({"node":expr$7}));}else{resolved$0=m$29$0;v$3=__amp____colon__(clone(resolved$0),({"location":expr$7.location,"top":resolved$0.top,"origin":resolved$0}));return ["bounce",v$3];}}else{if(($$3001$0&&(m$28$0[0]==="value"))){m$28$0[1];return expr$7;}else{if(($$3001$0&&(m$28$0[0]==="variable"))){m$28$0[1];return expr$7;}else{if(($$2999$0&&((t0$29===1)&&(m$28$0[0]==="void")))){return expr$7;}else{if(($$2999$0&&((t0$29===3)&&(m$28$0[0]==="send")))){f$2=m$28$0[1];arg$4=m$28$0[2];return ["send",helper$1(["expr","head"],scope$13,f$2),helper$1(["expr","tail"],scope$13,arg$4)];}else{if(($$2999$0&&(($$3001$0=(t0$29>=1))&&(m$28$0[0]==="array")))){args$1=Array.prototype.slice.call(m$28$0,1);acc$5=[];temp$17=null;m$30=null;$15:for(m$30 of __at___$32.step_all(["expr","array"],scope$13,args$1)){let arg$5;arg$5=m$30;temp$17=helper$1(["expr","expr"],scope$13,arg$5);acc$5.push(temp$17);}newargs$0=acc$5;return ["array"].concat(newargs$0);}else{if(($$3001$0&&(m$28$0[0]==="object"))){args$2=Array.prototype.slice.call(m$28$0,1);acc$6=[];temp$18=null;m$31=null;$16:for(m$31 of __at___$32.step_all(["expr","object"],scope$13,args$2)){let k$2;let v$4;let t0$31;let t1$11;t0$31=m$31;if((Array.isArray(t0$31)&&((t1$11=t0$31.length),((t1$11===3)&&(t0$31[0]==="array"))))){k$2=t0$31[1];v$4=t0$31[2];temp$18=["array",helper$1(["expr","expr"],scope$13,k$2),helper$1(["expr","expr"],scope$13,v$4)];acc$6.push(temp$18);}else{___match_error(m$31);}}newargs$1=acc$6;return ["object"].concat(newargs$1);}else{if(($$2999$0&&((t0$29===4)&&((m$28$0[0]==="bind")&&((t1$10=m$28$0[1]),(variable$0=t1$10),(Array.isArray(t1$10)&&((t2$2=t1$10.length),((t2$2===2)&&(t1$10[0]==="symbol"))))))))){s$4=t1$10[1];value$4=m$28$0[2];body$0=m$28$0[3];newscope$1=Scope$0(scope$13);$targ$26=variable$0;t0$32=$targ$26;if(___hasprop(t0$32,"env")){env$3=t0$32.env;}else{___match_error($targ$26,"{=> env}");}env$3.bind(newscope$1,s$4,value$4);return helper$1(context$9,newscope$1,body$0);}else{if(($$2999$0&&(($$3001$0=(t0$29>=1))&&(m$28$0[0]==="splice")))){args$3=Array.prototype.slice.call(m$28$0,1);return ["bounce",__amp____colon__(["multi"].concat(args$3),({"override_scope":true}))];}else{if(($$3001$0&&(m$28$0[0]==="interactive"))){args$4=Array.prototype.slice.call(m$28$0,1);return ["bounce",__amp____colon__(["multi"].concat(args$4),({"override_scope":true,"all_mutable":true}))];}else{if(($$3001$0&&(m$28$0[0]==="multi"))){args$5=Array.prototype.slice.call(m$28$0,1);if(expr$7.override_scope){newscope$2=scope$13;}else{newscope$2=Scope$0(scope$13);}if(expr$7.nonrecursive){stepscope$0=scope$13;}else{stepscope$0=newscope$2;}changes$0=false;$targ$27=classify$0("newargs","vars",((acc$7=[]),(temp$19=null),(m$32=null),(function(){$17:for(m$32 of __at___$32.step_all(["expr","multi"],stepscope$0,args$5)){let t0$34;let $targ$28;let env$4;let t0$35;let $targ$29;let env$5;let t0$36;let v$5;let $targ$30;let env$6;let t0$37;let $targ$31;let env$7;let other$10;let s$7;let variable$3;let v$6;let value$8;let variable$2;let s$6;let value$7;let variable$1;let s$5;let value$6;let opt$0;let value$5;let $$3196$0;let $$3197$0;let $$3198$0;let $$3199$0;let $$3200$0;let $$3201$0;let t0$33;let t1$12;let t2$3;let t3$1;t0$33=m$32;if((($$3197$0=Array.isArray(t0$33))&&((t1$12=t0$33.length),(($$3199$0=(t1$12===3))&&(t0$33[0]==="option"))))){opt$0=t0$33[1];value$5=t0$33[2];$targ$28=expr$7;t0$34=$targ$28;if(___hasprop(t0$34,"env")){env$4=t0$34.env;}else{___match_error($targ$28,"{=> env}");}env$4.setopt(newscope$2,opt$0,value$5);changes$0=true;temp$19=["ignore"];acc$7.push(temp$19);}else{if(($$3199$0&&((t0$33[0]==="declare_raw")&&((t2$3=t0$33[1]),(variable$1=t2$3),(Array.isArray(t2$3)&&((t3$1=t2$3.length),((t3$1===2)&&(t2$3[0]==="symbol")))))))){s$5=t2$3[1];value$6=t0$33[2];$targ$29=variable$1;t0$35=$targ$29;if(___hasprop(t0$35,"env")){env$5=t0$35.env;}else{___match_error($targ$29,"{=> env}");}env$5.bind(newscope$2,s$5,value$6);changes$0=true;temp$19=["ignore"];acc$7.push(temp$19);}else{if(($$3197$0&&(($$3199$0=((t1$12>=2)&&(t1$12<=3)))&&(($$3200$0=(t0$33[0]==="declare"))&&((t2$3=t0$33[1]),(variable$2=t2$3),(Array.isArray(t2$3)&&((t3$1=t2$3.length),((t3$1===2)&&(t2$3[0]==="symbol"))))))))){s$6=t2$3[1];if((2>=t1$12)){value$7=null;}else{value$7=t0$33[2];}$targ$30=variable$2;t0$36=$targ$30;if(___hasprop(t0$36,"env")){env$6=t0$36.env;}else{___match_error($targ$30,"{=> env}");}if((variable$2.use_previous&&env$6.resolve(newscope$2,s$6,(variable$2.level||0)))){temp$19=["splice"];}else{v$5=__lt____lt____colon__$0(["variable",__at___$32.gensym(s$6)],variable$2);__amp____colon__(v$5,({"mutable":(expr$7.all_mutable||variable$2.mutable)}));__amp____colon__(v$5,({"top":variable$2.top}));env$6.bind(newscope$2,s$6,v$5);changes$0=true;if(value$7){temp$19=["splice",["newargs",["assign",v$5,value$7]],["vars",v$5]];}else{temp$19=["vars",v$5];}}acc$7.push(temp$19);}else{if(($$3200$0&&((v$6=t2$3),(Array.isArray(t2$3)&&((t3$1=t2$3.length),((t3$1===2)&&(t2$3[0]==="variable"))))))){t2$3[1];if((2>=t1$12)){value$8=null;}else{value$8=t0$33[2];}changes$0=true;if(value$8){temp$19=["splice",["newargs",["assign",v$6,value$8]],["vars",v$6]];}else{temp$19=["vars",v$6];}acc$7.push(temp$19);}else{if(($$3197$0&&((t1$12===2)&&((t0$33[0]==="undeclare")&&((t2$3=t0$33[1]),(Array.isArray(t2$3)&&((t3$1=t2$3.length),((t3$1===2)&&(t2$3[0]==="symbol"))))))))){s$7=t2$3[1];variable$3=t2$3;$targ$31=variable$3;t0$37=$targ$31;if(___hasprop(t0$37,"env")){env$7=t0$37.env;}else{___match_error($targ$31,"{=> env}");}env$7.bind(newscope$2,s$7,undefined);changes$0=true;temp$19=["ignore"];acc$7.push(temp$19);}else{other$10=m$32;temp$19=["newargs",other$10];acc$7.push(temp$19);}}}}}}})(),acc$7));t0$38=$targ$27;if((___hasprop(t0$38,"newargs")&&((newargs$2=t0$38.newargs),___hasprop(t0$38,"vars")))){vars$0=t0$38.vars;}else{___match_error($targ$27,"{=> newargs, => vars}");}[newargs$2,vars$0];exp$0=(function exp(s$8){let m$33;let acc$8;let temp$20;let m$34;let acc$9;let temp$21;let stepped$0;acc$8=[];temp$20=null;m$33=null;$19:for(m$33 of enumerate(newargs$2)){let e$8;let i$0;let arg$6;let t0$39;let t1$13;t0$39=m$33;if((Array.isArray(t0$39)&&((t1$13=t0$39.length),(t1$13===2)))){i$0=t0$39[0];arg$6=t0$39[1];if((i$0===(newargs$2.length-1))){e$8="expr";}else{e$8="ignore";}temp$20=__at___$32.step(["expr",e$8],s$8,arg$6);acc$8.push(temp$20);}else{___match_error(m$33);}}stepped$0=acc$8;acc$9=[];temp$21=null;m$34=null;$18:for(m$34 of stepped$0){let arg$7;arg$7=m$34;temp$21=helper$1(["expr","expr"],s$8,arg$7);acc$9.push(temp$21);}return acc$9;});if(changes$0){return ["scope",vars$0,["multi"].concat(exp$0(newscope$2))];}else{return ["multi"].concat(exp$0(scope$13));}}else{if(($$3001$0&&(m$28$0[0]==="data"))){args$6=Array.prototype.slice.call(m$28$0,1);obj$0=["object"];arr$0=["array"];arr_parts$0=[];obj_parts$0=[];index$0=0;objindex$0=null;new_arr_part$0=(function new_arr_part(){let other$11;let t0$40;let m$35$0;m$35$0=arr$0;if((Array.isArray(m$35$0)&&((t0$40=m$35$0.length),((t0$40===1)&&(m$35$0[0]==="array"))))){return false;}else{other$11=m$35$0;arr_parts$0.push(arr$0);arr$0=["array"];return arr$0;}});decl_obj$0=(function decl_obj(){let msg$3;let msg$4;let m$36$0;m$36$0=objindex$0;if(equal(index$0,null)){msg$3="Object fields cannot be declared after *rest arguments.";throw ErrorFactory(["syntax","illegal_object"]).create(msg$3,({"node":expr$7}));}else{if(equal(m$36$0,null)){objindex$0=index$0;return objindex$0;}else{if(equal(m$36$0,index$0)){return undefined;}else{msg$4="Cannot declare object fields at multiple indexes.";throw ErrorFactory(["syntax","illegal_object"]).create(msg$4,({"node":expr$7}));}}}});new_obj_part$0=(function new_obj_part(){let other$12;let t0$41;let m$37$0;m$37$0=obj$0;if((Array.isArray(m$37$0)&&((t0$41=m$37$0.length),((t0$41===1)&&(m$37$0[0]==="object"))))){return false;}else{other$12=m$37$0;obj_parts$0.push(obj$0);obj$0=["object"];return obj$0;}});m$38=null;$20:for(m$38 of __at___$32.step_all(["expr","data"],scope$13,args$6)){let other$13;let expr$9;let expr$8;let k$3;let v$7;let $$3490$0;let $$3491$0;let $$3492$0;let $$3493$0;let t0$42;let t1$14;t0$42=m$38;if((($$3491$0=Array.isArray(t0$42))&&((t1$14=t0$42.length),((t1$14===1)&&(t0$42[0]==="assoc"))))){decl_obj$0();}else{if(($$3491$0&&((t1$14===3)&&(t0$42[0]==="assoc")))){k$3=t0$42[1];v$7=t0$42[2];decl_obj$0();obj$0.push(["array",k$3,v$7]);}else{if(($$3491$0&&(($$3493$0=(t1$14===2))&&(t0$42[0]==="dynsplice")))){expr$8=t0$42[1];index$0=null;new_arr_part$0();arr_parts$0.push(expr$8);}else{if(($$3493$0&&(t0$42[0]==="objsplice"))){expr$9=t0$42[1];decl_obj$0();new_obj_part$0();obj_parts$0.push(expr$9);}else{other$13=m$38;if(nequal(index$0,null)){index$0=(index$0+1);}arr$0.push(other$13);}}}}}new_arr_part$0();is_obj$0=nequal(objindex$0,null);if((is_obj$0&&nequal(arr_parts$0,[]))){obj$0.push(["array",["value","::objinsert"],["value",objindex$0]]);}new_obj_part$0();f$3=(function f(x$12,rest$0){return ["send",["symbol","&:"],["data",x$12,rest$0]];});obj$0=util$0.construct(obj_parts$0,f$3,["object"]);f$4=(function f(x$13,rest$1){return ["send",["send",rest$1,["send",["symbol","."],["data",["void"],["symbol","concat"]]]],["data",x$13]];});arr$0=util$0.construct(arr_parts$0.reverse(),f$4,["array"]);m$39$0=arr_parts$0;if((Array.isArray(m$39$0)&&((t0$43=m$39$0.length),((t0$43===0)&&is_obj$0)))){r$0=obj$0;}else{if(is_obj$0){r$0=["send",["symbol","&:"],["data",arr$0,obj$0]];}else{other$14=m$39$0;r$0=arr$0;}}return helper$1(context$9,scope$13,__at___$32.mkenv().mark(r$0));}else{if(($$2999$0&&((t0$29===3)&&(m$28$0[0]==="assign")))){target$0=m$28$0[1];value$9=m$28$0[2];t$2=helper$1(["expr","expr"],scope$13,target$0);orig$0=(t$2.origin||({}));m$40$0=t$2;if((((x$14=m$40$0),((x$14 instanceof Array)&&(x$14[0]==="variable")))&&(((!t$2.mutable)&&orig$0.assigned)&&(orig$0.assigned.group_id!==target$0.group_id)))){msg$5=["Variable was declared as read-only. Declare it as","mutable at the origin with `var` (if you have access","to the declaration) or declare a new variable with","`let` or `var` or remove the original binding with","`delete`"].join(" ");throw ErrorFactory(["syntax"]).create(msg$5,({"variable":target$0,"loc":t$2.assigned}));}else{if((Array.isArray(m$40$0)&&((t0$44=m$40$0.length),((t0$44===2)&&(m$40$0[0]==="macro"))))){m$41=m$40$0[1];["bounce",m$41(["assign"],scope$13,expr$7,value$9)];}else{otherwise$0=m$40$0;$targ$32=target$0;(orig$0["assigned"]=$targ$32);(void 0);}}return ["assign",t$2,helper$1(["expr","expr"],scope$13,value$9)];}else{if(($$2999$0&&((t0$29===4)&&(m$28$0[0]==="lambda")))){bindings$2=m$28$0[1];body$1=m$28$0[2];generator$0=m$28$0[3];newscope$3=Scope$0(scope$13);return ["lambda",((acc$10=[]),(temp$22=null),(m$42=null),(function(){$21:for(m$42 of bindings$2){let v$8;let x$15;let other$15;let v$9;let b$1;let env$8;let $$3766$0;let t0$46;let t1$15;let binding$0;let ph$7$0;let t0$45;t0$45=m$42;binding$0=t0$45;ph$7$0=t0$45;t0$46=ph$7$0;if((Array.isArray(t0$46)&&((t1$15=t0$46.length),((t1$15===2)&&((t0$46[0]==="symbol")&&((b$1=t0$46[1]),___hasprop(t0$46,"env"))))))){env$8=t0$46.env;v$8=__lt____lt____colon__$0(["variable",__at___$32.gensym(b$1)],binding$0);__amp____colon__(v$8,({"mutable":binding$0.mutable,"group_id":binding$0.group_id,"assigned":v$8}));env$8.bind(newscope$3,b$1,v$8);temp$22=v$8;}else{if(((x$15=t0$46),((x$15 instanceof Array)&&(x$15[0]==="variable")))){v$9=t0$46;temp$22=v$9;}else{other$15=ph$7$0;throw ErrorFactory(["syntax","lambda","binding"]).create("Not a valid binding.",({"node":other$15}));}}acc$10.push(temp$22);}})(),acc$10),helper$1(["expr","expr"],newscope$3,body$1),generator$0];}else{if(($$2999$0&&(($$3001$0=(t0$29===3))&&(m$28$0[0]==="use")))){ph$6$0=m$28$0[1];x$16=m$28$0[2];t0$47=ph$6$0;if((typeof(t0$47)==="string")){name$9=t0$47;s$9=scope$13;$22:while(s$9){if((s$9.name.slice(0,(name$9.length+1))===(name$9+"/"))){break $22;}else{s$9=s$9.parent;s$9;}}if(s$9){return helper$1(context$9,s$9,x$16);}else{throw ErrorFactory(["syntax","noscope"]).create(("Could not find a scope tagged: "+name$9));}}else{newscope$4=ph$6$0;return helper$1(context$9,newscope$4,x$16);}}else{if(($$3001$0&&((m$28$0[0]==="tagscope")&&((t1$10=m$28$0[1]),(typeof(t1$10)==="string"))))){tag$0=t1$10;body$2=m$28$0[2];return helper$1(context$9,Scope$0(scope$13,__at___$32.gensym((tag$0+"/"))),body$2);}else{if(($$2999$0&&((t0$29===2)&&(m$28$0[0]==="final")))){x$17=m$28$0[1];return x$17;}else{if(($$2999$0&&((t0$29>=1)&&((type$2=m$28$0[0]),(args$7=Array.prototype.slice.call(m$28$0,1)),(__at___$32.generic_nodes.indexOf(type$2)!==-1))))){return [type$2].concat(((acc$11=[]),(temp$23=null),(m$43=null),(function(){$23:for(m$43 of args$7){let arg$8;arg$8=m$43;temp$23=helper$1(["expr","expr"],scope$13,arg$8);acc$11.push(temp$23);}})(),acc$11));}else{if(($$2999$0&&((t0$29>=2)&&(m$28$0[0]==="mismix")))){ops$0=m$28$0[1];args$8=Array.prototype.slice.call(m$28$0,2);tokens$0=object(((acc$12=[]),(temp$24=null),(m$44=null),(function(){$24:for(m$44 of enumerate(ops$0)){let i$1;let op$0;let t0$48;let t1$16;t0$48=m$44;if((Array.isArray(t0$48)&&((t1$16=t0$48.length),(t1$16===2)))){i$1=t0$48[0];op$0=t0$48[1];temp$24=[("token"+String((i$1+1))),op$0];acc$12.push(temp$24);}else{___match_error(m$44);}}})(),acc$12));msg$6="These operators or brackets cannot be mixed together.";throw ErrorFactory(["syntax","mismatch"]).create(msg$6,tokens$0);}else{if(($$2999$0&&((t0$29===2)&&(m$28$0[0]==="char")))){c$0=m$28$0[1];throw ErrorFactory(["syntax","illegal_character"]).create(("An illegal character was found: "+c$0),({"node":expr$7}));}else{other$16=m$28$0;throw ErrorFactory(["syntax","illegal_node"]).create(("An illegal node was found: "+other$16),({"node":other$16,"context":context$9}));}}}}}}}}}}}}}}}}}}}}});t0$49=getProjector(track_location$0)($targ$24);if(t0$49[0]){helper$1=t0$49[1];}else{___match_error($targ$24,"track_location! helper{context, scope, var expr}");}return helper$1(context$8,scope$12,expr$6);}));__amp____colon__(Expander$0,__amp____colon__((($targ$33="Expander"),(accum$6=({})),(accum$6["::name"]=$targ$33),accum$6),(($targ$34=true),(accum$7=({})),(accum$7["::egclass"]=$targ$34),accum$7)));topscope$0=Scope$0(null,"top",true);$targ$35=Env$0;(exports["Env"]=$targ$35);$targ$36=Scope$0;(exports["Scope"]=$targ$36);$targ$37=Info$0;(exports["Info"]=$targ$37);$targ$38=track_location$0;(exports["track_location"]=$targ$38);$targ$39=Expander$0;(exports["Expander"]=$targ$39);$targ$40=GenSym$0;(exports["GenSym"]=$targ$40);$targ$41=gensym$0;(exports["gensym"]=$targ$41);$targ$42=topscope$0;(exports["topscope"]=$targ$42);$targ$43=jsKeywords$0;(exports["jsKeywords"]=$targ$43);(void 0); //# sourceMappingURL=expand.js.map