UNPKG

earlgrey

Version:

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

4 lines (2 loc) 48.5 kB
'use strict';require('earlgrey-runtime/5');var $targ$1=void 0;var accum$0=void 0;var $targ$2=void 0;var accum$1=void 0;var $targ$14=void 0;var accum$2=void 0;var $targ$15=void 0;var accum$3=void 0;var $targ$17=void 0;var accum$4=void 0;var $targ$18=void 0;var accum$5=void 0;var $targ$33=void 0;var accum$6=void 0;var $targ$34=void 0;var accum$7=void 0;var $targ$35=void 0;var $targ$36=void 0;var $targ$37=void 0;var $targ$38=void 0;var $targ$39=void 0;var $targ$40=void 0;var $targ$41=void 0;var $targ$42=void 0;var $targ$43=void 0;var $0$0=void 0;var transferLocation$0=void 0;var Source$0=void 0;var util$0=void 0;var classify$0=void 0;var GenSym$0=void 0;var gensym$0=void 0;var camelCase$0=void 0;var invCamelCase$0=void 0;var $2$0=void 0;var tokenize$0=void 0;var $3$0=void 0;var parse$0=void 0;var __lt____lt____colon__$0=void 0;var jsKeywords$0=void 0;var Scope$0=void 0;var Env$0=void 0;var track_location$0=void 0;var Info$0=void 0;var Expander$0=void 0;var topscope$0=void 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 __lt____lt____colon__$0(a$0,b$0){var $$1401$0=void 0;var m$0$0=void 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(){var $targ$0=void 0;var t0$0=void 0;var m$1$0=void 0;var __at___$0=void 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(){var __at___$1=void 0;var self$0=void 0;__at___$1=this;self$0=this;return Scope$0(__at___$1);};Scope$0.prototype["toString"]=function toString(){var __at___$2=void 0;var self$1=void 0;__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(){var $targ$3=void 0;var $targ$4=void 0;var __at___$3=void 0;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){var values$0=void 0;var scope$0=void 0;var __at___$4=void 0;var self$2=void 0;__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(){var scope_data$0=void 0;var scope$1=void 0;var name$0=void 0;var level$0=void 0;var t0$1=void 0;var m$2$0=void 0;var __at___$5=void 0;var self$3=void 0;__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){var $targ$6=void 0;var t0$2=void 0;var s$0=void 0;var $targ$5=void 0;var __at___$6=void 0;var self$4=void 0;__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(){var scope_data$1=void 0;var scope$3=void 0;var name$2=void 0;var level$1=void 0;var t0$3=void 0;var m$3$0=void 0;var __at___$7=void 0;var self$5=void 0;__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){var $targ$8=void 0;var $targ$9=void 0;var t0$4=void 0;var s$1=void 0;var $targ$7=void 0;var __at___$8=void 0;var self$6=void 0;__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){var x$0=void 0;var x$1=void 0;var bridge$$1704$0=void 0;var x$2=void 0;var bridge$$1703$0=void 0;var x$3=void 0;var bridge$$1702$0=void 0;var x$4=void 0;var m$5=void 0;var other$0=void 0;var type$0=void 0;var args$0=void 0;var e$0=void 0;var bridge$$1701$0=void 0;var t0$5=void 0;var m$4$0=void 0;var __at___$9=void 0;var self$7=void 0;__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;var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{$5:for(var _iterator=args$0[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){m$5=_step.value;var arg$0=void 0;arg$0=m$5;__at___$9.mark(arg$0);}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return();}}finally{if(_didIteratorError){throw _iteratorError;}}}return __amp____colon__(expr$0,{"env":__at___$9});}else{other$0=m$4$0;return other$0;}}}};Env$0.prototype["fork"]=function fork(){var m$6=void 0;var m$8=void 0;var e$1=void 0;var __at___$10=void 0;var self$8=void 0;__at___$10=this;self$8=this;e$1=Env$0();m$6=null;var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{$6:for(var _iterator2=items(__at___$10.scopes)[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){m$6=_step2.value;var m$7=void 0;var acc$0=void 0;var temp$0=void 0;var scope$5=void 0;var bindings$0=void 0;var t0$6=void 0;var t1$0=void 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;var _iteratorNormalCompletion4=true;var _didIteratorError4=false;var _iteratorError4=undefined;try{$8:for(var _iterator4=items(bindings$0)[Symbol.iterator](),_step4;!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=true){m$7=_step4.value;var $targ$11=void 0;var $targ$10=void 0;var k$0=void 0;var v$0=void 0;var t0$7=void 0;var t1$1=void 0;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);}}}catch(err){_didIteratorError4=true;_iteratorError4=err;}finally{try{if(!_iteratorNormalCompletion4&&_iterator4.return){_iterator4.return();}}finally{if(_didIteratorError4){throw _iteratorError4;}}}acc$0;}else{___match_error(m$6);}}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}m$8=null;var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{$7:for(var _iterator3=items(__at___$10.options)[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){m$8=_step3.value;var m$9=void 0;var acc$1=void 0;var temp$1=void 0;var scope$6=void 0;var bindings$1=void 0;var t0$8=void 0;var t1$2=void 0;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;var _iteratorNormalCompletion5=true;var _didIteratorError5=false;var _iteratorError5=undefined;try{$9:for(var _iterator5=items(bindings$1)[Symbol.iterator](),_step5;!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=true){m$9=_step5.value;var $targ$13=void 0;var $targ$12=void 0;var k$1=void 0;var v$1=void 0;var t0$9=void 0;var t1$3=void 0;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);}}}catch(err){_didIteratorError5=true;_iteratorError5=err;}finally{try{if(!_iteratorNormalCompletion5&&_iterator5.return){_iterator5.return();}}finally{if(_didIteratorError5){throw _iteratorError5;}}}acc$1;}else{___match_error(m$8);}}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3.return){_iterator3.return();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}return e$1;};Env$0.prototype["toString"]=function toString(){var __at___$11=void 0;var self$9=void 0;__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){var f2$0=void 0;f2$0=function f2(context$0,scope$7,expr$1){var rval$1=void 0;var other$1=void 0;var v$2=void 0;var t0$10=void 0;var m$10$0=void 0;var rval$0=void 0;rval$1=false;try{rval$1=f$0(context$0,scope$7,expr$1);rval$1;}catch(excv$0){var e$2=void 0;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){var $targ$16=void 0;var __at___$12=void 0;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){var location$0=void 0;var t0$11=void 0;var __at___$13=void 0;var self$10=void 0;__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){var __at___$14=void 0;var self$11=void 0;__at___$14=this;self$11=this;return __at___$14.gettext(x$5);};Info$0.prototype["with_scope"]=function with_scope(newscope$0){var __at___$15=void 0;var self$12=void 0;__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){var __at___$16=void 0;var self$13=void 0;__at___$16=this;self$13=this;return __at___$16.expander.gensym(name$4||"");};Info$0.prototype["defer"]=function defer(){var __at___$17=void 0;var self$14=void 0;__at___$17=this;self$14=this;return["nostep",__at___$17.form];};Info$0.prototype["mkenv"]=function mkenv(){var __at___$18=void 0;var self$15=void 0;__at___$18=this;self$15=this;return __at___$18.expander.mkenv();};Info$0.prototype["mark"]=function mark(){var m$12=void 0;var acc$2=void 0;var temp$7=void 0;var xs$0=void 0;var x$6=void 0;var t0$13=void 0;var t1$4=void 0;var ph$2$0=void 0;var t0$12=void 0;var m$11$0=void 0;var __at___$19=void 0;var self$16=void 0;__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;var _iteratorNormalCompletion6=true;var _didIteratorError6=false;var _iteratorError6=undefined;try{$10:for(var _iterator6=xs$0[Symbol.iterator](),_step6;!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=true){m$12=_step6.value;var x$7=void 0;x$7=m$12;temp$7=__at___$19.env.mark(x$7);acc$2.push(temp$7);}}catch(err){_didIteratorError6=true;_iteratorError6=err;}finally{try{if(!_iteratorNormalCompletion6&&_iterator6.return){_iterator6.return();}}finally{if(_didIteratorError6){throw _iteratorError6;}}}return acc$2;}}else{return ___match_error(m$11$0,"{*match}");}};Info$0.prototype["step"]=function step(context$1,expr$2){var __at___$20=void 0;var self$17=void 0;__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){var __at___$21=void 0;var self$18=void 0;__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){var __at___$22=void 0;var self$19=void 0;__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){var __at___$23=void 0;var self$20=void 0;__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){var __at___$24=void 0;var self$21=void 0;__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){var __at___$25=void 0;var self$22=void 0;__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){var m$13=void 0;var acc$3=void 0;var temp$11=void 0;var $targ$19=void 0;var __at___$26=void 0;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(){var _iteratorNormalCompletion7=true;var _didIteratorError7=false;var _iteratorError7=undefined;try{$11:for(var _iterator7=jsKeywords$0[Symbol.iterator](),_step7;!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=true){m$13=_step7.value;var kw$0=void 0;kw$0=m$13;temp$11=[kw$0,0];acc$3.push(temp$11);}}catch(err){_didIteratorError7=true;_iteratorError7=err;}finally{try{if(!_iteratorNormalCompletion7&&_iterator7.return){_iterator7.return();}}finally{if(_didIteratorError7){throw _iteratorError7;}}}}(),acc$3));__at___$26["nameusage"]=$targ$19;return __at___$26;};Expander$0.prototype["gensym"]=function gensym(temp$12$0){var t0$14=void 0;var idx$0=void 0;var $targ$20=void 0;var $$2374$0=void 0;var bridge$$2371$0=void 0;var name$7=void 0;var ph$3$0=void 0;var __at___$27=void 0;var self$23=void 0;__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(){var e$3=void 0;var $targ$21=void 0;var __at___$28=void 0;var self$24=void 0;__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){var rval$3=void 0;var rval$4=void 0;var info$0=void 0;var rval$2=void 0;var __at___$29=void 0;var self$25=void 0;__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){(function(){var t0$16=void 0;var t1$6=void 0;var t2$1=void 0;var bridge$$2509$0=void 0;var msg$0=void 0;var msg$2=void 0;var find$0=void 0;var err$0=void 0;var other$2=void 0;var m$15$0=void 0;var $targ$22=void 0;var name$8=void 0;var e$4=void 0;var e$5=void 0;var value$3=void 0;var t0$15=void 0;var t1$5=void 0;var t2$0=void 0;var t3$0=void 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){var t0$17=void 0;var msg$1=void 0;var m$16=void 0;var other$3=void 0;var type$1=void 0;var xs$1=void 0;var t0$18=void 0;var t1$7=void 0;var arg$2=void 0;var ph$4$0=void 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;var _iteratorNormalCompletion8=true;var _didIteratorError8=false;var _iteratorError8=undefined;try{$12:for(var _iterator8=xs$1[Symbol.iterator](),_step8;!(_iteratorNormalCompletion8=(_step8=_iterator8.next()).done);_iteratorNormalCompletion8=true){m$16=_step8.value;var x$9=void 0;var t0$19=void 0;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);}}}catch(err){_didIteratorError8=true;_iteratorError8=err;}finally{try{if(!_iteratorNormalCompletion8&&_iterator8.return){_iterator8.return();}}finally{if(_didIteratorError8){throw _iteratorError8;}}}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){var t$0=void 0;var e$6=void 0;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){var t0$26=void 0;var $targ$23=void 0;var helper$0=void 0;var __at___$30=void 0;var self$26=void 0;__at___$30=this;self$26=this;$targ$23=function $targ$23(context$6,scope$10,temp$14$0){var t0$20=void 0;var other$4=void 0;var env$1=void 0;var m$18$0=void 0;var other$5=void 0;var t0$23=void 0;var m$20$0=void 0;var other$6=void 0;var m$19=void 0;var t0$22=void 0;var m$17$0=void 0;var env$0=void 0;var other$7=void 0;var t0$24=void 0;var m$22$0=void 0;var other$8=void 0;var m$24=void 0;var t0$25=void 0;var m$23$0=void 0;var t$1=void 0;var p$0=void 0;var other$9=void 0;var x$10=void 0;var code$0=void 0;var url$0=void 0;var f$1=void 0;var arg$3=void 0;var m$21=void 0;var s$2=void 0;var $$2686$0=void 0;var $$2687$0=void 0;var $$2688$0=void 0;var t0$21=void 0;var t1$8=void 0;var expr$5=void 0;var ph$5$0=void 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){var t0$27=void 0;var t1$9=void 0;var pre$0=void 0;var bulk$0=void 0;var post$0=void 0;var stmts$0=void 0;var __at___$31=void 0;var self$27=void 0;__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){var m$27=void 0;var acc$4=void 0;var temp$16=void 0;var e$7=void 0;var x$11=void 0;var m$26=void 0;var stmt$1=void 0;var stmt$0=void 0;var prepend$0=void 0;var $$2886$0=void 0;var $$2887$0=void 0;var $$2888$0=void 0;var t0$28=void 0;var m$25$0=void 0;var current$0=void 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;var _iteratorNormalCompletion9=true;var _didIteratorError9=false;var _iteratorError9=undefined;try{$14:for(var _iterator9=m$26(stmts$0)[Symbol.iterator](),_step9;!(_iteratorNormalCompletion9=(_step9=_iterator9.next()).done);_iteratorNormalCompletion9=true){m$27=_step9.value;var stmt$2=void 0;stmt$2=m$27;temp$16=e$7.mark(stmt$2);acc$4.push(temp$16);}}catch(err){_didIteratorError9=true;_iteratorError9=err;}finally{try{if(!_iteratorNormalCompletion9&&_iterator9.return){_iterator9.return();}}finally{if(_didIteratorError9){throw _iteratorError9;}}}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){var t0$49=void 0;var $targ$24=void 0;var helper$1=void 0;var __at___$32=void 0;var self$28=void 0;__at___$32=this;self$28=this;$targ$24=function $targ$24(context$9,scope$13,expr$7){var t0$30=void 0;var v$3=void 0;var resolved$0=void 0;var m$29$0=void 0;var $targ$25=void 0;var env$2=void 0;var m$30=void 0;var acc$5=void 0;var temp$17=void 0;var newargs$0=void 0;var m$31=void 0;var acc$6=void 0;var temp$18=void 0;var newargs$1=void 0;var t0$32=void 0;var newscope$1=void 0;var $targ$26=void 0;var env$3=void 0;var m$32=void 0;var acc$7=void 0;var temp$19=void 0;var t0$38=void 0;var newscope$2=void 0;var stepscope$0=void 0;var changes$0=void 0;var $targ$27=void 0;var newargs$2=void 0;var vars$0=void 0;var exp$0=void 0;var m$38=void 0;var f$3=void 0;var f$4=void 0;var other$14=void 0;var t0$43=void 0;var m$39$0=void 0;var obj$0=void 0;var arr$0=void 0;var arr_parts$0=void 0;var obj_parts$0=void 0;var index$0=void 0;var objindex$0=void 0;var new_arr_part$0=void 0;var decl_obj$0=void 0;var new_obj_part$0=void 0;var is_obj$0=void 0;var r$0=void 0;var x$14=void 0;var msg$5=void 0;var $targ$32=void 0;var otherwise$0=void 0;var m$41=void 0;var t0$44=void 0;var m$40$0=void 0;var t$2=void 0;var orig$0=void 0;var m$42=void 0;var acc$10=void 0;var temp$22=void 0;var newscope$3=void 0;var s$9=void 0;var newscope$4=void 0;var name$9=void 0;var t0$47=void 0;var m$43=void 0;var acc$11=void 0;var temp$23=void 0;var m$44=void 0;var acc$12=void 0;var temp$24=void 0;var tokens$0=void 0;var msg$6=void 0;var other$16=void 0;var c$0=void 0;var ops$0=void 0;var args$8=void 0;var type$2=void 0;var args$7=void 0;var x$17=void 0;var tag$0=void 0;var body$2=void 0;var ph$6$0=void 0;var x$16=void 0;var bindings$2=void 0;var body$1=void 0;var generator$0=void 0;var target$0=void 0;var value$9=void 0;var args$6=void 0;var args$5=void 0;var args$4=void 0;var args$3=void 0;var variable$0=void 0;var s$4=void 0;var value$4=void 0;var body$0=void 0;var args$2=void 0;var args$1=void 0;var f$2=void 0;var arg$4=void 0;var s$3=void 0;var $$2999$0=void 0;var $$3000$0=void 0;var $$3001$0=void 0;var t0$29=void 0;var t1$10=void 0;var t2$2=void 0;var m$28$0=void 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;var _iteratorNormalCompletion10=true;var _didIteratorError10=false;var _iteratorError10=undefined;try{$15:for(var _iterator10=__at___$32.step_all(["expr","array"],scope$13,args$1)[Symbol.iterator](),_step10;!(_iteratorNormalCompletion10=(_step10=_iterator10.next()).done);_iteratorNormalCompletion10=true){m$30=_step10.value;var arg$5=void 0;arg$5=m$30;temp$17=helper$1(["expr","expr"],scope$13,arg$5);acc$5.push(temp$17);}}catch(err){_didIteratorError10=true;_iteratorError10=err;}finally{try{if(!_iteratorNormalCompletion10&&_iterator10.return){_iterator10.return();}}finally{if(_didIteratorError10){throw _iteratorError10;}}}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;var _iteratorNormalCompletion11=true;var _didIteratorError11=false;var _iteratorError11=undefined;try{$16:for(var _iterator11=__at___$32.step_all(["expr","object"],scope$13,args$2)[Symbol.iterator](),_step11;!(_iteratorNormalCompletion11=(_step11=_iterator11.next()).done);_iteratorNormalCompletion11=true){m$31=_step11.value;var k$2=void 0;var v$4=void 0;var t0$31=void 0;var t1$11=void 0;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);}}}catch(err){_didIteratorError11=true;_iteratorError11=err;}finally{try{if(!_iteratorNormalCompletion11&&_iterator11.return){_iterator11.return();}}finally{if(_didIteratorError11){throw _iteratorError11;}}}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(){var _iteratorNormalCompletion12=true;var _didIteratorError12=false;var _iteratorError12=undefined;try{$17:for(var _iterator12=__at___$32.step_all(["expr","multi"],stepscope$0,args$5)[Symbol.iterator](),_step12;!(_iteratorNormalCompletion12=(_step12=_iterator12.next()).done);_iteratorNormalCompletion12=true){m$32=_step12.value;var t0$34=void 0;var $targ$28=void 0;var env$4=void 0;var t0$35=void 0;var $targ$29=void 0;var env$5=void 0;var t0$36=void 0;var v$5=void 0;var $targ$30=void 0;var env$6=void 0;var t0$37=void 0;var $targ$31=void 0;var env$7=void 0;var other$10=void 0;var s$7=void 0;var variable$3=void 0;var v$6=void 0;var value$8=void 0;var variable$2=void 0;var s$6=void 0;var value$7=void 0;var variable$1=void 0;var s$5=void 0;var value$6=void 0;var opt$0=void 0;var value$5=void 0;var $$3196$0=void 0;var $$3197$0=void 0;var $$3198$0=void 0;var $$3199$0=void 0;var $$3200$0=void 0;var $$3201$0=void 0;var t0$33=void 0;var t1$12=void 0;var t2$3=void 0;var t3$1=void 0;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);}}}}}}}catch(err){_didIteratorError12=true;_iteratorError12=err;}finally{try{if(!_iteratorNormalCompletion12&&_iterator12.return){_iterator12.return();}}finally{if(_didIteratorError12){throw _iteratorError12;}}}}(),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){var m$33=void 0;var acc$8=void 0;var temp$20=void 0;var m$34=void 0;var acc$9=void 0;var temp$21=void 0;var stepped$0=void 0;acc$8=[];temp$20=null;m$33=null;var _iteratorNormalCompletion13=true;var _didIteratorError13=false;var _iteratorError13=undefined;try{$19:for(var _iterator13=enumerate(newargs$2)[Symbol.iterator](),_step13;!(_iteratorNormalCompletion13=(_step13=_iterator13.next()).done);_iteratorNormalCompletion13=true){m$33=_step13.value;var e$8=void 0;var i$0=void 0;var arg$6=void 0;var t0$39=void 0;var t1$13=void 0;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);}}}catch(err){_didIteratorError13=true;_iteratorError13=err;}finally{try{if(!_iteratorNormalCompletion13&&_iterator13.return){_iterator13.return();}}finally{if(_didIteratorError13){throw _iteratorError13;}}}stepped$0=acc$8;acc$9=[];temp$21=null;m$34=null;var _iteratorNormalCompletion14=true;var _didIteratorError14=false;var _iteratorError14=undefined;try{$18:for(var _iterator14=stepped$0[Symbol.iterator](),_step14;!(_iteratorNormalCompletion14=(_step14=_iterator14.next()).done);_iteratorNormalCompletion14=true){m$34=_step14.value;var arg$7=void 0;arg$7=m$34;temp$21=helper$1(["expr","expr"],s$8,arg$7);acc$9.push(temp$21);}}catch(err){_didIteratorError14=true;_iteratorError14=err;}finally{try{if(!_iteratorNormalCompletion14&&_iterator14.return){_iterator14.return();}}finally{if(_didIteratorError14){throw _iteratorError14;}}}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(){var other$11=void 0;var t0$40=void 0;var m$35$0=void 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(){var msg$3=void 0;var msg$4=void 0;var m$36$0=void 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(){var other$12=void 0;var t0$41=void 0;var m$37$0=void 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;var _iteratorNormalCompletion15=true;var _didIteratorError15=false;var _iteratorError15=undefined;try{$20:for(var _iterator15=__at___$32.step_all(["expr","data"],scope$13,args$6)[Symbol.iterator](),_step15;!(_iteratorNormalCompletion15=(_step15=_iterator15.next()).done);_iteratorNormalCompletion15=true){m$38=_step15.value;var other$13=void 0;var expr$9=void 0;var expr$8=void 0;var k$3=void 0;var v$7=void 0;var $$3490$0=void 0;var $$3491$0=void 0;var $$3492$0=void 0;var $$3493$0=void 0;var t0$42=void 0;var t1$14=void 0;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);}}}}}}catch(err){_didIteratorError15=true;_iteratorError15=err;}finally{try{if(!_iteratorNormalCompletion15&&_iterator15.return){_iterator15.return();}}finally{if(_didIteratorError15){throw _iteratorError15;}}}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(){var _iteratorNormalCompletion16=true;var _didIteratorError16=false;var _iteratorError16=undefined;try{$21:for(var _iterator16=bindings$2[Symbol.iterator](),_step16;!(_iteratorNormalCompletion16=(_step16=_iterator16.next()).done);_iteratorNormalCompletion16=true){m$42=_step16.value;var v$8=void 0;var x$15=void 0;var other$15=void 0;var v$9=void 0;var b$1=void 0;var env$8=void 0;var $$3766$0=void 0;var t0$46=void 0;var t1$15=void 0;var binding$0=void 0;var ph$7$0=void 0;var t0$45=void 0;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);}}catch(err){_didIteratorError16=true;_iteratorError16=err;}finally{try{if(!_iteratorNormalCompletion16&&_iterator16.return){_iterator16.return();}}finally{if(_didIteratorError16){throw _iteratorError16;}}}}(),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(){var _iteratorNormalCompletion17=true;var _didIteratorError17=false;var _iteratorError17=undefined;try{$23:for(var _iterator17=args$7[Symbol.iterator](),_step17;!(_iteratorNormalCompletion17=(_step17=_iterator17.next()).done);_iteratorNormalCompletion17=true){m$43=_step17.value;var arg$8=void 0;arg$8=m$43;temp$23=helper$1(["expr","expr"],scope$13,arg$8);acc$11.push(temp$23);}}catch(err){_didIteratorError17=true;_iteratorError17=err;}finally{try{if(!_iteratorNormalCompletion17&&_iterator17.return){_iterator17.return();}}finally{if(_didIteratorError17){throw _iteratorError17;}}}}(),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(){var _iteratorNormalCompletion18=true;var _didIteratorError18=false;var _iteratorError18=undefined;try{$24:for(var _iterator18=enumerate(ops$0)[Symbol.iterator](),_step18;!(_iteratorNormalCompletion18=(_step18=_iterator18.next()).done);_iteratorNormalCompletion18=true){m$44=_step18.value;var i$1=void 0;var op$0=void 0;var t0$48=void 0;var t1$16=void 0;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);}}}catch(err){_didIteratorError18=true;_iteratorError18=err;}finally{try{if(!_iteratorNormalCompletion18&&_iterator18.return){_iterator18.return();}}finally{if(_didIteratorError18){throw _iteratorError18;}}}}(),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