UNPKG

earlgrey

Version:

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

5 lines (2 loc) 47.3 kB
'use strict';require('earlgrey-runtime/6');let $targ$1;let $targ$0;let $0$0;let __lt____lt____colon__$0;let $1$0;let camelCase$0;let $2$0;let expr_mac$0;let var_operator$0;let overridable$0;let pattern_handlers$0;let Body$0;let multimacro$0;let $3$0;let PatternCompiler$0;$0$0=require("../location");__lt____lt____colon__$0=getProperty($0$0,"<<:","../location");$1$0=require("../util");camelCase$0=getProperty($1$0,"camelCase","../util");$2$0=require("./helpers");expr_mac$0=getProperty($2$0,"expr_mac","./helpers");var_operator$0=getProperty($2$0,"var_operator","./helpers");overridable$0=getProperty($2$0,"overridable","./helpers");pattern_handlers$0=getProperty($2$0,"pattern_handlers","./helpers");Body$0=getProperty($2$0,"Body","./helpers");multimacro$0=getProperty($2$0,"multimacro","./helpers");$3$0=require("../pattern");PatternCompiler$0=getProperty($3$0,"PatternCompiler","../pattern");if((typeof(module)==="undefined")){$targ$1=undefined;(global["module"]=$targ$1);(void 0);}$targ$0=(function(mac$0){let m$0;let acc$0;let temp$0;let defns$0;let t0$3;let $targ$21;let accum$0;let $targ$22;let accum$1;let t0$9;let t0$11;let t1$6;let t0$14;let t1$9;let t0$29;let t1$17;let t0$32;let t0$34;let t0$38;let t0$56;let t0$75;let errf_macro$0;let t0$77;let t0$80;let t0$82;let t0$84;let t0$89;let t0$90;let $targ$2;let parameterize_mac$0;let ChainHandler$0;let $targ$3;let chain_mac$0;let $targ$4;let using_mac$0;let $targ$5;let do_mac$0;let $targ$6;let buildnode_mac$0;let $targ$7;let S_mac$0;let $targ$8;let print_mac$0;let $targ$9;let method_mac$0;let $targ$10;let class_mac$0;let $targ$11;let jsclass_mac$0;let $targ$12;let E_mac$0;let $targ$13;let outer_mac$0;let $targ$14;let tagscope_mac$0;let $targ$15;let usescope_mac$0;let $targ$16;let maysend_mac$0;let $targ$17;let maybe_mac$0;let exports$0;exports$0=({});defns$0=({"@":var_operator$0("@_")});acc$0=[];temp$0=null;m$0=null;$4:for(m$0 of items(defns$0)){let k$0;let v$0;let t0$0;let t1$0;t0$0=m$0;if((Array.isArray(t0$0)&&((t1$0=t0$0.length),(t1$0===2)))){k$0=t0$0[0];v$0=t0$0[1];temp$0=mac$0(k$0)(v$0);acc$0.push(temp$0);}else{___match_error(m$0);}}$targ$2=(function(ctx$0,info$0,form$0,expr$0){let t0$1;let t1$1;let t2$0;let t3$0;let t4$0;let m$1;let acc$1;let temp$1;let xs$0;let $targ$18;let instructions$0;$targ$18=expr$0;t0$1=$targ$18;if((Array.isArray(t0$1)&&((t1$1=t0$1.length),((t1$1===2)&&((t0$1[0]==="data")&&((t2$0=getProjector(["multi"])(t0$1[1])),(t2$0[0]&&((t3$0=t2$0[1]),(t4$0=t3$0.length),((t4$0>=1)&&(t3$0[0]==="multi")))))))))){instructions$0=Array.prototype.slice.call(t3$0,1);}else{___match_error($targ$18,"#data{#multi! #multi{*instructions}}");}acc$1=[];temp$1=null;m$1=null;$5:for(m$1 of instructions$0){let stmt$0;let k$1;let v$1;let name$0;let t0$2;let t1$2;let t2$1;let t3$1;let t4$1;let t5$0;let t6$0;let t7$0;t0$2=m$1;if((Array.isArray(t0$2)&&((t1$2=t0$2.length),((t1$2===3)&&((t0$2[0]==="send")&&((t2$1=t0$2[1]),(Array.isArray(t2$1)&&((t3$1=t2$1.length),((t3$1===2)&&((t2$1[0]==="symbol")&&((t2$1[1]==="=")&&((t4$1=t0$2[2]),(Array.isArray(t4$1)&&((t5$0=t4$1.length),((t5$0===3)&&((t4$1[0]==="data")&&((k$1=t4$1[1]),(v$1=t4$1[2]),(t6$0=k$1),(Array.isArray(t6$0)&&((t7$0=t6$0.length),((t7$0===2)&&(t6$0[0]==="symbol"))))))))))))))))))))){name$0=t6$0[1];info$0.setopt(name$0,info$0.go(v$1,"parse","eval"));temp$1=["multi"];acc$1.push(temp$1);}else{stmt$0=m$1;throw send(send(ErrorFactory(["syntax","parameterize"]),"create", true),__amp____colon__(["Invalid parametrization"],({"node":stmt$0,"::objinsert":1})));acc$1.push(temp$1);}}xs$0=acc$1;return ["splice"].concat(xs$0);});t0$3=getProjector(mac$0("parameterize"))($targ$2);if(t0$3[0]){parameterize_mac$0=t0$3[1];}else{___match_error($targ$2,"mac{\"parameterize\"}! parameterize_mac{ctx, info, form, expr}");}ChainHandler$0=(function ChainHandler(temp$2$0){let $targ$19;let __at___$0;if((!getChecker(ChainHandler$0)(this))){__at___$0=Object.create(ChainHandler$0.prototype);}else{__at___$0=this;}(__at___$0["env"]=temp$2$0);$targ$19=2;(__at___$0["wrapOrder"]=$targ$19);return __at___$0;});(ChainHandler$0.prototype["expand"]=(function expand(info$1){let $targ$20;let __at___$1;let self$0;__at___$1=this;self$0=this;$targ$20=__at___$1.env.mark(["symbol",info$1.gensym("ph")]);(__at___$1["placeholder"]=$targ$20);return __at___$1.placeholder;}));(ChainHandler$0.prototype["wrap"]=(function wrap(expr$1,info$2,opt$0){let __at___$2;let self$1;__at___$2=this;self$1=this;return ["send",["symbol","chain"],["data",__at___$2.placeholder,expr$1]];}));__amp____colon__(ChainHandler$0,__amp____colon__((($targ$21="ChainHandler"),(accum$0=({})),(accum$0["::name"]=$targ$21),accum$0),(($targ$22=true),(accum$1=({})),(accum$1["::egclass"]=$targ$22),accum$1)));$targ$3=(function(ph$0$0,info$3,form$1,expr$2){let x$0;let other$0;let t0$4;let m$2$0;let t0$5;let t0$6;let t0$7;let t1$3;let t2$2;let t3$2;let t4$2;let t5$1;let $targ$23;let defn$0;let env$0;let body$0;let it$0;let construct$0;let bridge$$14177$0;if(((x$0=ph$0$0),((x$0 instanceof Array)&&(x$0[0]==="pattern")))){m$2$0=expr$2;if((Array.isArray(m$2$0)&&((t0$4=m$2$0.length),((t0$4===1)&&(m$2$0[0]==="void"))))){return ["special",ChainHandler$0(form$1.env)];}else{other$0=m$2$0;return ["all",__lt____lt____colon__$0(other$0,expr$2),__lt____lt____colon__$0(["special",ChainHandler$0(form$1.env)],form$1)];}}else{bridge$$14177$0=ph$0$0;if(((Array.isArray(bridge$$14177$0)&&((t0$5=bridge$$14177$0.length),((t0$5===2)&&((bridge$$14177$0[0]==="expr")&&(bridge$$14177$0[1]==="expr")))))||(Array.isArray(bridge$$14177$0)&&((t0$6=bridge$$14177$0.length),((t0$6===2)&&((bridge$$14177$0[0]==="expr")&&(bridge$$14177$0[1]==="head"))))))){$targ$23=expr$2;t0$7=$targ$23;if((Array.isArray(t0$7)&&((t1$3=t0$7.length),((t1$3===3)&&((t0$7[0]==="data")&&((t2$2=t0$7[1]),(defn$0=t2$2),(___hasprop(t2$2,"env")&&((env$0=t2$2.env),(t3$2=getProjector(Body$0)(t0$7[2])),(t3$2[0]&&((t4$2=t3$2[1]),(t5$1=t4$2.length),(t5$1>=0))))))))))){body$0=Array.prototype.slice.call(t4$2,0);}else{___match_error($targ$23,"#data{defn and {=> env}, Body! {*body}}");}[defn$0,env$0,body$0];it$0=__amp__(["symbol","@"],({"env":env$0}));construct$0=(function construct(ph$1$0){let x$2;let rest$0;let x$1;let $$14276$0;let $$14277$0;let t0$8;let t1$4;t0$8=ph$1$0;t1$4=t0$8.length;if((t1$4===1)){x$1=t0$8[0];return x$1;}else{if((t1$4>=1)){x$2=t0$8[0];rest$0=Array.prototype.slice.call(t0$8,1);return ["send",["symbol","let"],["data",["send",["symbol","="],["data",it$0,x$2]],construct$0(rest$0)]];}else{return ___match_error(ph$1$0,"{x, *rest}");}}});return construct$0([defn$0].concat(body$0));}else{return ["nostep",form$1];}}});t0$9=getProjector(mac$0("chain"))($targ$3);if(t0$9[0]){chain_mac$0=t0$9[1];}else{___match_error($targ$3,"mac{\"chain\"}! chain_mac{match, info, form, expr}");}$targ$4=(function(temp$3$0,form$2,temp$4$0){let t0$10;let t1$5;let t2$3;let it$1;let defn$1;let env$1;let body$1;t0$10=temp$4$0;if((Array.isArray(t0$10)&&((t1$5=t0$10.length),((t1$5===3)&&((t0$10[0]==="data")&&((t2$3=t0$10[1]),(defn$1=t2$3),___hasprop(t2$3,"env"))))))){env$1=t2$3.env;body$1=t0$10[2];}else{___match_error(temp$4$0);}it$1=__amp__(["symbol","@"],({"env":env$1}));return ["send",["symbol","let"],["data",["send",["symbol","="],["data",it$1,defn$1]],body$1]];});t0$11=getProjector(expr_mac$0)($targ$4);if((t0$11[0]&&((t1$6=getProjector(mac$0("using"))(t0$11[1])),t1$6[0]))){using_mac$0=t1$6[1];}else{___match_error($targ$4,"expr_mac! mac{\"using\"}! using_mac{_, form, #data{defn and {=> env}, body}}");}$targ$5=(function(ph$2$0,temp$5$0,form$3,temp$6$0){let t0$12;let t1$7;let x$3;let x$4;let t0$13;let t1$8;let t2$4;let $targ$24;let stmts$0;let x$5;let body$2;t0$12=temp$6$0;if((Array.isArray(t0$12)&&((t1$7=t0$12.length),((t1$7===2)&&(t0$12[0]==="data"))))){body$2=t0$12[1];}else{___match_error(temp$6$0);}if(((x$3=ph$2$0),((x$3 instanceof Array)&&(x$3[0]==="clause")))){return ["block",body$2];}else{if(((x$4=ph$2$0),((x$4 instanceof Array)&&(x$4[0]==="test")))){$targ$24=body$2;t0$13=getProjector(Body$0)($targ$24);if((t0$13[0]&&((t1$8=t0$13[1]),(t2$4=t1$8.length),(t2$4>=0)))){stmts$0=Array.prototype.slice.call(t1$8,0);}else{___match_error($targ$24,"Body! {*stmts}");}return ["do",["splice"].concat(stmts$0)];}else{if(((x$5=ph$2$0),((x$5 instanceof Array)&&(x$5[0]==="expr")))){return ["multi",body$2];}else{return ___match_error(ph$2$0,"#expr");}}}});t0$14=getProjector(overridable$0)($targ$5);if((t0$14[0]&&((t1$9=getProjector(mac$0("do"))(t0$14[1])),t1$9[0]))){do_mac$0=t1$9[1];}else{___match_error($targ$5,"overridable! mac{\"do\"}! do_mac{match, _, form, #data{body}}");}$targ$6=(function(context$0,temp$7$0,form$4,temp$8$0){let t0$15;let t0$16;let t1$10;let x$6;let x$7;let bridge$$14461$0;let m$3$0;let m$4;let m$9;let x$13;let t0$28;let m$8$0;let xs$1;let x$14;let pair$1;let k$3;let v$3;let args$1;let $$14801$0;let $$14802$0;let t0$26;let t1$15;let t2$7;let t3$4;let t4$4;let m$7$0;let inner__minus__scope$0;let wrap$0;let tags$0;let kv$0;let parse$0;let node$0;let info$4;let env$2;let descr$0;let contents$0;t0$15=temp$7$0;info$4=t0$15;if(___hasprop(t0$15,"env")){env$2=t0$15.env;}else{___match_error(temp$7$0);}t0$16=temp$8$0;if((Array.isArray(t0$16)&&((t1$10=t0$16.length),((t1$10===3)&&(t0$16[0]==="data"))))){descr$0=t0$16[1];contents$0=t0$16[2];}else{___match_error(temp$8$0);}m$3$0=context$0;bridge$$14461$0=m$3$0;if((((x$6=bridge$$14461$0),((x$6 instanceof Array)&&(x$6[0]==="check")))||((x$7=bridge$$14461$0),((x$7 instanceof Array)&&(x$7[0]==="project"))))){return ["nostep",form$4];}else{undefined;}inner__minus__scope$0=info$4.scope.fork();m$4=(function m(){let x$8;let t0$17;let t1$11;let t2$5;let m$5$0;m$5$0=arguments;t0$17=m$5$0.length;if(((t0$17>=1)&&(Array.prototype.slice.call(m$5$0,0,-1),(t1$11=m$5$0[(t0$17-1)]),(Array.isArray(t1$11)&&((t2$5=t1$11.length),((t2$5===2)&&(t1$11[0]==="data"))))))){x$8=t1$11[1];return x$8;}else{return ___match_error(m$5$0,"{*, `{^x}`}");}});env$2.bind(inner__minus__scope$0,"wrap-quote",["macro",m$4]);wrap$0=(function wrap(x$9){return ["use",inner__minus__scope$0,x$9];});tags$0=["data"];kv$0=["data",["symbol","="]];parse$0=(function parse(temp$9$0){let t0$18;let t0$20;let t0$21;let t1$13;let t0$22;let t0$23;let t1$14;let t0$24;let t0$25;let m$6;let acc$2;let temp$10;let args$0;let expr$4;let rest$1;let expr$3;let x$12;let x$11;let x$10;let s$0;let $$14561$0;let $$14562$0;let $$14563$0;let $$14564$0;let $$14565$0;let $$14566$0;let $$14567$0;let $$14568$0;let $$14569$0;let t0$19;let t1$12;let t2$6;let t3$3;let t4$3;let t5$2;let t6$1;let t7$1;let bridge$$14553$0;let bridge$$14555$0;let bridge$$14560$0;let whole$0;let ph$3$0;t0$18=temp$9$0;whole$0=t0$18;ph$3$0=t0$18;t0$19=ph$3$0;t1$12=t0$19.length;if(((t1$12===1)&&(t0$19[0]==="void"))){return null;}else{if((($$14563$0=(t1$12===2))&&(t0$19[0]==="symbol"))){s$0=t0$19[1];return tags$0.push(["value",s$0]);}else{if(($$14563$0&&((t0$19[0]==="value")&&((t2$6=[true,String(t0$19[1])]),t2$6[0])))){x$10=t2$6[1];return tags$0.push(["value",x$10]);}else{if((($$14563$0=(t1$12===3))&&(($$14564$0=(t0$19[0]==="send"))&&((t2$6=t0$19[1]),(($$14566$0=Array.isArray(t2$6))&&((t3$3=t2$6.length),(($$14568$0=(t3$3===2))&&(($$14569$0=(t2$6[0]==="symbol"))&&((t2$6[1]===".")&&((t4$3=t0$19[2]),(Array.isArray(t4$3)&&((t5$2=t4$3.length),((t5$2===3)&&((t4$3[0]==="data")&&((t6$1=t4$3[1]),(Array.isArray(t6$1)&&((t7$1=t6$1.length),((t7$1===1)&&((t6$1[0]==="void")&&((bridge$$14553$0=t4$3[2]),((Array.isArray(bridge$$14553$0)&&((t0$20=bridge$$14553$0.length),((t0$20===2)&&((bridge$$14553$0[0]==="symbol")&&((x$11=bridge$$14553$0[1]),true)))))||(Array.isArray(bridge$$14553$0)&&((t0$21=bridge$$14553$0.length),((t0$21===2)&&((bridge$$14553$0[0]==="value")&&((t1$13=[true,String(bridge$$14553$0[1])]),(t1$13[0]&&((x$11=t1$13[1]),true)))))))))))))))))))))))))))){return tags$0.push(["value",("."+x$11)]);}else{if(($$14569$0&&((t2$6[1]==="#")&&((t4$3=t0$19[2]),(Array.isArray(t4$3)&&((t5$2=t4$3.length),((t5$2===3)&&((t4$3[0]==="data")&&((t6$1=t4$3[1]),(Array.isArray(t6$1)&&((t7$1=t6$1.length),((t7$1===1)&&((t6$1[0]==="void")&&((bridge$$14555$0=t4$3[2]),((Array.isArray(bridge$$14555$0)&&((t0$22=bridge$$14555$0.length),((t0$22===2)&&((bridge$$14555$0[0]==="symbol")&&((x$12=bridge$$14555$0[1]),true)))))||(Array.isArray(bridge$$14555$0)&&((t0$23=bridge$$14555$0.length),((t0$23===2)&&((bridge$$14555$0[0]==="value")&&((t1$14=[true,String(bridge$$14555$0[1])]),(t1$14[0]&&((x$12=t1$14[1]),true)))))))))))))))))))))){return tags$0.push(["value",("#"+x$12)]);}else{if(($$14569$0&&((t2$6[1]==="^")&&((t4$3=t0$19[2]),(Array.isArray(t4$3)&&((t5$2=t4$3.length),((t5$2===3)&&((t4$3[0]==="data")&&((t6$1=t4$3[1]),(Array.isArray(t6$1)&&((t7$1=t6$1.length),((t7$1===1)&&(t6$1[0]==="void"))))))))))))){expr$3=t4$3[2];return tags$0.push(expr$3);}else{if(($$14569$0&&((t2$6[1]==="=")&&((t4$3=t0$19[2]),(Array.isArray(t4$3)&&((t5$2=t4$3.length),((t5$2===3)&&(t4$3[0]==="data")))))))){t4$3[1];t4$3[2];return kv$0.push(whole$0);}else{if($$14564$0){expr$4=t0$19[1];rest$1=t0$19[2];parse$0(expr$4);return parse$0(rest$1);}else{bridge$$14560$0=ph$3$0;if(((Array.isArray(bridge$$14560$0)&&((t0$24=bridge$$14560$0.length),((t0$24>=1)&&((bridge$$14560$0[0]==="multi")&&((args$0=Array.prototype.slice.call(bridge$$14560$0,1)),true)))))||(Array.isArray(bridge$$14560$0)&&((t0$25=bridge$$14560$0.length),((t0$25>=1)&&((bridge$$14560$0[0]==="data")&&((args$0=Array.prototype.slice.call(bridge$$14560$0,1)),true))))))){acc$2=[];temp$10=null;m$6=null;$6:for(m$6 of args$0){let arg$0;arg$0=m$6;temp$10=parse$0(arg$0);acc$2.push(temp$10);}return acc$2;}else{return ___match_error(ph$3$0,"#multi{*args} or #data{*args}");}}}}}}}}}});parse$0(descr$0);m$7$0=contents$0;if((($$14801$0=Array.isArray(m$7$0))&&((t0$26=m$7$0.length),((t0$26===1)&&(m$7$0[0]==="void"))))){contents$0=["array"];}else{if(($$14801$0&&((t0$26>=1)&&(m$7$0[0]==="multi")))){args$1=Array.prototype.slice.call(m$7$0,1);xs$1=[];m$9=null;$7:for(m$9 of args$1){let other$1;let spl$0;let pair$0;let k$2;let v$2;let $$14829$0;let t0$27;let t1$16;let t2$8;let t3$5;let t4$5;let t5$3;let t6$2;let t7$2;t0$27=m$9;pair$0=t0$27;if((Array.isArray(t0$27)&&((t1$16=t0$27.length),((t1$16===3)&&((t0$27[0]==="send")&&((t2$8=t0$27[1]),(Array.isArray(t2$8)&&((t3$5=t2$8.length),((t3$5===2)&&((t2$8[0]==="symbol")&&((t2$8[1]==="=")&&((t4$5=t0$27[2]),(Array.isArray(t4$5)&&((t5$3=t4$5.length),((t5$3===3)&&(t4$5[0]==="data")))))))))))))))){k$2=t4$5[1];v$2=t4$5[2];kv$0.push(pair$0);}else{spl$0=t0$27;if((Array.isArray(t0$27)&&((t1$16=t0$27.length),((t1$16===3)&&((t0$27[0]==="send")&&((t2$8=t0$27[1]),(Array.isArray(t2$8)&&((t3$5=t2$8.length),((t3$5===2)&&((t2$8[0]==="symbol")&&((t2$8[1]==="**")&&((t4$5=t0$27[2]),(Array.isArray(t4$5)&&((t5$3=t4$5.length),((t5$3===3)&&((t4$5[0]==="data")&&((t6$2=t4$5[1]),(Array.isArray(t6$2)&&((t7$2=t6$2.length),((t7$2===1)&&(t6$2[0]==="void"))))))))))))))))))))){t4$5[2];kv$0.push(spl$0);}else{other$1=m$9;xs$1.push(wrap$0(other$1));}}}m$8$0=xs$1;if((Array.isArray(m$8$0)&&((t0$28=m$8$0.length),(t0$28===1)))){x$13=m$8$0[0];contents$0=x$13;}else{contents$0=["array"].concat(xs$1);}}else{pair$1=m$7$0;if((Array.isArray(m$7$0)&&((t0$26=m$7$0.length),((t0$26===3)&&((m$7$0[0]==="send")&&((t1$15=m$7$0[1]),(Array.isArray(t1$15)&&((t2$7=t1$15.length),((t2$7===2)&&((t1$15[0]==="symbol")&&((t1$15[1]==="=")&&((t3$4=m$7$0[2]),(Array.isArray(t3$4)&&((t4$4=t3$4.length),((t4$4===3)&&(t3$4[0]==="data")))))))))))))))){k$3=t3$4[1];v$3=t3$4[2];kv$0.push(pair$1);contents$0=["array"];}else{x$14=m$7$0;contents$0=wrap$0(x$14);}}}node$0=form$4.env.mark(["symbol","ENode"]);return ["send",node$0,["data",tags$0,kv$0,contents$0]];});t0$29=getProjector(overridable$0)($targ$6);if((t0$29[0]&&((t1$17=getProjector(mac$0("%"))(t0$29[1])),t1$17[0]))){buildnode_mac$0=t1$17[1];}else{___match_error($targ$6,"overridable! mac{\"%\"}! buildnode_mac{context\n info and {=> env}\n form\n #data{descr, var contents}}");}$targ$7=(function(context$1,info$5,form$5,temp$11$0){let t0$30;let text$1;let text$0;let m$10$0;let t0$31;let t1$18;let t2$9;let t3$6;let arg$1;let ph$4$0;t0$30=temp$11$0;arg$1=t0$30;ph$4$0=t0$30;t0$31=ph$4$0;t1$18=t0$31.length;if(((t1$18===3)&&((t0$31[0]==="send")&&((t2$9=t0$31[1]),(Array.isArray(t2$9)&&((t3$6=t2$9.length),((t3$6===2)&&((t2$9[0]==="symbol")&&(t2$9[1]==="'"))))))))){t0$31[2];return ["send",["symbol","String"],["data",arg$1]];}else{return ["value",((m$10$0=info$5.gettext(arg$1)),(getChecker(RegExp("^\\[(.|\\n)*\\]$",""))(m$10$0)?((text$0=m$10$0),text$0.substring(1,(text$0.length-1))):((text$1=m$10$0),text$1)))];}});t0$32=getProjector(mac$0("S"))($targ$7);if(t0$32[0]){S_mac$0=t0$32[1];}else{___match_error($targ$7,"mac{\"S\"}! S_mac{context, info, form, match arg}");}$targ$8=(function(context$2,info$6,form$6,ph$5$0){let arg$2;let t0$33;let t1$19;t0$33=ph$5$0;t1$19=t0$33.length;if(((t1$19===1)&&(t0$33[0]==="void"))){return ["send",["send",["symbol","console"],["send",["symbol","."],["data",["void"],["symbol","log"]]]],["data"]];}else{arg$2=ph$5$0;return ["multi",["send",["symbol","="],["data",["symbol","t"],arg$2]],["send",["send",["symbol","console"],["send",["symbol","."],["data",["void"],["symbol","log"]]]],["data",["symbol","t"]]],["symbol","t"]];}});t0$34=getProjector(mac$0("print"))($targ$8);if(t0$34[0]){print_mac$0=t0$34[1];}else{___match_error($targ$8,"mac{\"print\"}! print_mac{context, info, form, match}");}$targ$9=(function(ctx$1,info$7,form$7,expr$5){let accum$2;let cases$0;accum$2=({});(accum$2["project"]=(function project(temp$12$0){let t0$35;let t0$37;let t1$21;let $targ$25;let at$0;let self$2;let args$3;let body$4;let args$2;let pre$0;let body$3;let post$0;let gen$0;let $$15078$0;let $$15079$0;let $$15080$0;let $$15081$0;let $$15082$0;let $$15083$0;let $$15084$0;let $$15085$0;let $$15086$0;let t0$36;let t1$20;let t2$10;let t3$7;let t4$6;let t5$4;let expr$6;let ph$6$0;t0$35=temp$12$0;expr$6=t0$35;ph$6$0=t0$35;t0$36=ph$6$0;t1$20=t0$36.length;if((($$15080$0=(t1$20===3))&&(($$15081$0=(t0$36[0]==="send"))&&((t2$10=t0$36[1]),(($$15083$0=Array.isArray(t2$10))&&((t3$7=t2$10.length),(($$15085$0=(t3$7===2))&&(($$15086$0=(t2$10[0]==="symbol"))&&((t2$10[1]==="_lambda")&&((t4$6=t0$36[2]),(Array.isArray(t4$6)&&((t5$4=t4$6.length),((t5$4===6)&&(t4$6[0]==="data")))))))))))))){args$2=t4$6[1];pre$0=t4$6[2];body$3=t4$6[3];post$0=t4$6[4];gen$0=t4$6[5];$targ$25=info$7.mark(["symbol","@"],["symbol","self"]);t0$37=$targ$25;if((Array.isArray(t0$37)&&((t1$21=t0$37.length),(t1$21===2)))){at$0=t0$37[0];self$2=t0$37[1];}else{___match_error($targ$25,"{at, self}");}[at$0,self$2];return ["send",["symbol","_lambda"],["data",args$2,["multi",pre$0,["send",["symbol","="],["data",["send",["symbol","let"],["send",["symbol","and"],["data",at$0,self$2]]],["symbol","this"]]]],body$3,post$0,gen$0]];}else{if(($$15086$0&&((t2$10[1]==="->")&&((t4$6=t0$36[2]),(Array.isArray(t4$6)&&((t5$4=t4$6.length),((t5$4===3)&&(t4$6[0]==="data")))))))){args$3=t4$6[1];body$4=t4$6[2];return info$7.mark(["send",["symbol","@->"],["data",args$3,body$4]]);}else{throw send(send(ErrorFactory(["syntax","invalidMethod"]),"create", true),__amp____colon__(["Invalid use of method"],({"node":expr$6,"::objinsert":1})));}}}));cases$0=accum$2;return multimacro$0(cases$0)(ctx$1,info$7,form$7,expr$5);});t0$38=getProjector(mac$0("method"))($targ$9);if(t0$38[0]){method_mac$0=t0$38[1];}else{___match_error($targ$9,"mac{\"method\"}! method_mac{ctx, info, form, expr}");}$targ$10=(function(context$3,temp$13$0,form$8,expr$7){let t0$39;let t0$54;let t1$30;let t2$17;let t0$55;let name$4;let name$3;let super$3;let name$2;let super$2;let $$15186$0;let $$15187$0;let $$15188$0;let $$15189$0;let $$15190$0;let t0$53;let t1$29;let t2$16;let t3$13;let t4$11;let t5$9;let bridge$$15185$0;let stmts$3;let ph$7$0;let stmts$2;let $$15192$0;let $$15193$0;let t0$52;let t1$28;let t2$15;let t3$12;let m$11$0;let helper$0;let info$8;let env$3;t0$39=temp$13$0;info$8=t0$39;if(___hasprop(t0$39,"env")){env$3=t0$39.env;}else{___match_error(temp$13$0);}helper$0=(function helper(name$1,super$1,stmts$1){let m$14;let acc$3;let temp$14;let t0$47;let t1$27;let t0$48;let $targ$28;let env2$0;let it$3;let cls$0;let name_str$0;let t0$49;let m$12$0;let t0$50;let t0$51;let other$3;let bridge$$15209$0;let m$13$0;let statics$0;let ctor$0;let new_stmts$0;let $targ$26;let ctor_args$0;let ctor_body$0;let ctor_expr$0;let node$1;statics$0=["data",["symbol","="]];ctor$0=[["data"],__amp__(["multi"],({"env":env$3}))];acc$3=[];temp$14=null;m$14=null;$8:for(m$14 of stmts$1){let t0$41;let t1$23;let t2$12;let t3$9;let t4$8;let t5$6;let t6$4;let t7$4;let t8$1;let t0$42;let t1$24;let t2$13;let t3$10;let t4$9;let t5$7;let t6$5;let t7$5;let t8$2;let t9$0;let t10$0;let t11$0;let t12$0;let accum$3;let accum$4;let accum$5;let accum$6;let opt$1;let stmt$1;let lhs$0;let rhs$0;let args$4;let body$5;let methods$0;let t0$40;let t1$22;let t2$11;let t3$8;let t4$7;let t5$5;let t6$3;let t7$3;let t8$0;let bridge$$15222$0;t0$40=m$14;if((Array.isArray(t0$40)&&((t1$22=t0$40.length),((t1$22===3)&&((t0$40[0]==="send")&&((t2$11=t0$40[1]),(Array.isArray(t2$11)&&((t3$8=t2$11.length),((t3$8===2)&&((t2$11[0]==="symbol")&&((t2$11[1]==="static")&&((t4$7=t0$40[2]),(Array.isArray(t4$7)&&((t5$5=t4$7.length),((t5$5===2)&&((t4$7[0]==="data")&&((t6$3=getProjector(Body$0)(t4$7[1])),(t6$3[0]&&((t7$3=t6$3[1]),(t8$0=t7$3.length),(t8$0>=0)))))))))))))))))))){methods$0=Array.prototype.slice.call(t7$3,0);temp$14=(statics$0=statics$0.concat(methods$0));acc$3.push(temp$14);}else{bridge$$15222$0=m$14;if(((Array.isArray(bridge$$15222$0)&&((t0$41=bridge$$15222$0.length),((t0$41===3)&&((bridge$$15222$0[0]==="send")&&((t1$23=bridge$$15222$0[1]),(Array.isArray(t1$23)&&((t2$12=t1$23.length),((t2$12===2)&&((t1$23[0]==="symbol")&&((t1$23[1]==="=")&&((t3$9=bridge$$15222$0[2]),(Array.isArray(t3$9)&&((t4$8=t3$9.length),((t4$8===3)&&((t3$9[0]==="data")&&((t5$6=t3$9[1]),(Array.isArray(t5$6)&&((t6$4=t5$6.length),((t6$4===3)&&((t5$6[0]==="send")&&((t7$4=t5$6[1]),(Array.isArray(t7$4)&&((t8$1=t7$4.length),((t8$1===2)&&((t7$4[0]==="symbol")&&((t7$4[1]==="constructor")&&((args$4=t5$6[2]),(body$5=t3$9[2]),true)))))))))))))))))))))))))))||(Array.isArray(bridge$$15222$0)&&((t0$42=bridge$$15222$0.length),((t0$42===3)&&((bridge$$15222$0[0]==="send")&&((t1$24=bridge$$15222$0[1]),(Array.isArray(t1$24)&&((t2$13=t1$24.length),((t2$13===2)&&((t1$24[0]==="symbol")&&((t1$24[1]==="=")&&((t3$10=bridge$$15222$0[2]),(Array.isArray(t3$10)&&((t4$9=t3$10.length),((t4$9===3)&&((t3$10[0]==="data")&&((t5$7=t3$10[1]),(Array.isArray(t5$7)&&((t6$5=t5$7.length),((t6$5===2)&&((t5$7[0]==="symbol")&&((t5$7[1]==="constructor")&&((t7$5=t3$10[2]),(Array.isArray(t7$5)&&((t8$2=t7$5.length),((t8$2===3)&&((t7$5[0]==="send")&&((t9$0=t7$5[1]),(Array.isArray(t9$0)&&((t10$0=t9$0.length),((t10$0===2)&&((t9$0[0]==="symbol")&&((t9$0[1]==="->")&&((t11$0=t7$5[2]),(Array.isArray(t11$0)&&((t12$0=t11$0.length),((t12$0===3)&&((t11$0[0]==="data")&&((args$4=t11$0[1]),(body$5=t11$0[2]),true)))))))))))))))))))))))))))))))))))))))){ctor$0=[args$4,body$5];temp$14=["splice"];acc$3.push(temp$14);}else{t0$40=m$14;if((Array.isArray(t0$40)&&((t1$22=t0$40.length),((t1$22===3)&&((t0$40[0]==="send")&&((t2$11=t0$40[1]),(Array.isArray(t2$11)&&((t3$8=t2$11.length),((t3$8===2)&&((t2$11[0]==="symbol")&&((t2$11[1]==="=")&&((t4$7=t0$40[2]),(Array.isArray(t4$7)&&((t5$5=t4$7.length),((t5$5===3)&&(t4$7[0]==="data")))))))))))))))){lhs$0=t4$7[1];rhs$0=t4$7[2];opt$1=__amp__(pattern_handlers$0.build_object,__amp____colon__(({"allow_nested":false}),__amp____colon__(((accum$3=({})),(accum$3["assign"]=(function assign(ph$8$0,value$0){let t0$43;let t1$25;let t0$44;let v$5;let v$4;let bridge$$15476$0;bridge$$15476$0=ph$8$0;if(((Array.isArray(bridge$$15476$0)&&((t0$43=bridge$$15476$0.length),((t0$43===2)&&((bridge$$15476$0[0]==="symbol")&&((t1$25=getProjector(camelCase$0)(bridge$$15476$0[1])),(t1$25[0]&&((v$4=t1$25[1]),true)))))))||(Array.isArray(bridge$$15476$0)&&((t0$44=bridge$$15476$0.length),((t0$44===2)&&((bridge$$15476$0[0]==="value")&&((v$4=bridge$$15476$0[1]),true))))))){return ["do",__lt____lt____colon__$0(["assign",["send",["send",name$1,["send",["symbol","."],["data",["void"],["symbol","prototype"]]]],["value",v$4]],value$0],v$4)];}else{v$5=ph$8$0;return ["do",__lt____lt____colon__$0(["assign",["send",["send",name$1,["send",["symbol","."],["data",["void"],["symbol","prototype"]]]],v$5],value$0],v$5)];}})),accum$3),__amp____colon__(((accum$4=({})),(accum$4["declare"]=(function declare(vars$0){return [];})),accum$4),__amp____colon__(((accum$5=({})),(accum$5["wrap_target"]=(function wrap_target(ph$9$0){let t0$46;let $targ$27;let other_env$0;let it$2;let it2$0;let other$2;let args$5;let body$6;let t0$45;let t1$26;let t2$14;let t3$11;let t4$10;let t5$8;t0$45=ph$9$0;t1$26=t0$45.length;if(((t1$26===3)&&((t0$45[0]==="send")&&((t2$14=t0$45[1]),(Array.isArray(t2$14)&&((t3$11=t2$14.length),((t3$11===2)&&((t2$14[0]==="symbol")&&((t2$14[1]==="->")&&((t4$10=t0$45[2]),(Array.isArray(t4$10)&&((t5$8=t4$10.length),((t5$8===3)&&(t4$10[0]==="data")))))))))))))){args$5=t4$10[1];body$6=t4$10[2];$targ$27=body$6;t0$46=$targ$27;if(___hasprop(t0$46,"env")){other_env$0=t0$46.env;}else{___match_error($targ$27,"{env => other_env}");}it$2=__amp__(["symbol","@"],({"env":other_env$0}));it2$0=__amp__(["symbol","self"],({"env":other_env$0}));return ["send",["symbol","_lambda"],["data",args$5,["send",["symbol","splice"],["data",["multi",["send",["symbol","="],["data",["send",["symbol","let"],it$2],["symbol","this"]]],["send",["symbol","="],["data",["send",["symbol","let"],it2$0],["symbol","this"]]]]]],body$6,["value",null],["value",false]]];}else{other$2=ph$9$0;return other$2;}})),accum$5),((accum$6=({})),(accum$6["success"]=(function success(temp$15$0){return ["splice"];})),accum$6))))));temp$14=PatternCompiler$0(lhs$0,info$8,opt$1).extract_from_rhs(rhs$0);acc$3.push(temp$14);}else{stmt$1=m$14;throw ErrorFactory(["syntax","class"]).create("Illegal statement in class",({"stmt":stmt$1}));acc$3.push(temp$14);}}}}new_stmts$0=acc$3;$targ$26=ctor$0;t0$47=$targ$26;if((Array.isArray(t0$47)&&((t1$27=t0$47.length),(t1$27===2)))){ctor_args$0=t0$47[0];ctor_body$0=t0$47[1];}else{___match_error($targ$26,"{ctor_args, ctor_body}");}[ctor_args$0,ctor_body$0];$targ$28=ctor_body$0;t0$48=$targ$28;if(___hasprop(t0$48,"env")){env2$0=t0$48.env;}else{___match_error($targ$28,"{env => env2}");}it$3=__amp__(["symbol","@"],({"env":env2$0}));cls$0=["send",["symbol","_lambda"],["data",ctor_args$0,["send",["symbol","="],["data",it$3,["send",["symbol","if"],["data",["send",["symbol","not"],["data",["void"],["send",["symbol","?"],["data",name$1,["symbol","this"]]]]],["send",["send",["symbol","Object"],["send",["symbol","."],["data",["void"],["symbol","create"]]]],["data",["send",name$1,["send",["symbol","."],["data",["void"],["symbol","prototype"]]]]]],["symbol","this"]]]]],ctor_body$0,it$3,["value",false]]];if(super$1){ctor_expr$0=["send",["symbol","___extend"],["data",cls$0,super$1]];}else{ctor_expr$0=cls$0;}m$12$0=name$1;if((Array.isArray(m$12$0)&&((t0$49=m$12$0.length),((t0$49===2)&&(m$12$0[0]==="symbol"))))){name_str$0=m$12$0[1];statics$0.push(["send",["symbol","="],["data",["value","::name"],["value",name_str$0]]]);}else{undefined;}statics$0.push(["send",["symbol","="],["data",["value","::egclass"],["symbol","true"]]]);node$1=["splice",["send",["symbol","="],["data",["send",["symbol","let"],name$1],ctor_expr$0]]].concat(new_stmts$0).concat([["send",["symbol","&:"],["data",name$1,statics$0]],name$1]);m$13$0=context$3;bridge$$15209$0=m$13$0;if(((Array.isArray(bridge$$15209$0)&&((t0$50=bridge$$15209$0.length),((t0$50===2)&&((bridge$$15209$0[0]==="expr")&&(bridge$$15209$0[1]==="multi")))))||(Array.isArray(bridge$$15209$0)&&((t0$51=bridge$$15209$0.length),((t0$51===2)&&((bridge$$15209$0[0]==="expr")&&(bridge$$15209$0[1]==="ignore"))))))){return node$1;}else{other$3=m$13$0;return ["multi",node$1];}});m$11$0=expr$7;if((($$15192$0=Array.isArray(m$11$0))&&((t0$52=m$11$0.length),((t0$52===3)&&((m$11$0[0]==="data")&&((ph$7$0=m$11$0[1]),(t1$28=getProjector(Body$0)(m$11$0[2])),(t1$28[0]&&((t2$15=t1$28[1]),(t3$12=t2$15.length),(t3$12>=0))))))))){stmts$2=Array.prototype.slice.call(t2$15,0);t0$53=ph$7$0;if((($$15187$0=Array.isArray(t0$53))&&((t1$29=t0$53.length),(($$15189$0=(t1$29===3))&&(($$15190$0=(t0$53[0]==="send"))&&((t2$16=t0$53[1]),(Array.isArray(t2$16)&&((t3$13=t2$16.length),((t3$13===2)&&((t2$16[0]==="symbol")&&((t2$16[1]==="<")&&((t4$11=t0$53[2]),(Array.isArray(t4$11)&&((t5$9=t4$11.length),((t5$9===3)&&(t4$11[0]==="data")))))))))))))))){name$2=t4$11[1];super$2=t4$11[2];return helper$0(name$2,super$2,stmts$2);}else{if(($$15190$0&&((name$3=t0$53[1]),(t2$16=t0$53[2]),(Array.isArray(t2$16)&&((t3$13=t2$16.length),((t3$13===2)&&(t2$16[0]==="data"))))))){super$3=t2$16[1];return helper$0(name$3,super$3,stmts$2);}else{bridge$$15185$0=ph$7$0;if(((Array.isArray(bridge$$15185$0)&&((t0$54=bridge$$15185$0.length),((t0$54===3)&&((bridge$$15185$0[0]==="send")&&((name$4=bridge$$15185$0[1]),(t1$30=bridge$$15185$0[2]),(Array.isArray(t1$30)&&((t2$17=t1$30.length),((t2$17===1)&&(t1$30[0]==="data")))))))))||(Array.isArray(bridge$$15185$0)&&((t0$55=bridge$$15185$0.length),((t0$55===2)&&((bridge$$15185$0[0]==="symbol")&&(bridge$$15185$0[1],(name$4=bridge$$15185$0),true))))))){return helper$0(name$4,null,stmts$2);}else{return ___match_error(ph$7$0,"`[^name {}]` or [#symbol{_} and name]");}}}}else{if(($$15192$0&&((t0$52===2)&&((m$11$0[0]==="data")&&((t1$28=getProjector(Body$0)(m$11$0[1])),(t1$28[0]&&((t2$15=t1$28[1]),(t3$12=t2$15.length),(t3$12>=0)))))))){stmts$3=Array.prototype.slice.call(t2$15,0);return helper$0(["symbol",info$8.gensym()],null,stmts$3);}else{return ___match_error(m$11$0,"#data{Body! {*stmts}}");}}});t0$56=getProjector(mac$0("class"))($targ$10);if(t0$56[0]){class_mac$0=t0$56[1];}else{___match_error($targ$10,"mac{\"class\"}! class_mac{context, info and {=> env}, form, expr}");}$targ$11=(function(context$4,temp$16$0,form$9,expr$8){let t0$57;let t0$73;let t1$40;let t2$23;let t0$74;let name$9;let name$8;let super$6;let name$7;let super$5;let $$15839$0;let $$15840$0;let $$15841$0;let $$15842$0;let $$15843$0;let t0$72;let t1$39;let t2$22;let t3$18;let t4$15;let t5$13;let bridge$$15838$0;let stmts$6;let ph$10$0;let stmts$5;let $$15845$0;let $$15846$0;let t0$71;let t1$38;let t2$21;let t3$17;let m$15$0;let helper$1;let info$9;let env$4;t0$57=temp$16$0;info$9=t0$57;if(___hasprop(t0$57,"env")){env$4=t0$57.env;}else{___match_error(temp$16$0);}helper$1=(function helper(name$5,super$4,stmts$4){let m$17;let acc$4;let temp$17;let m$19;let acc$5;let temp$20;let t0$68;let t1$37;let t0$69;let t0$70;let other$5;let bridge$$15861$0;let m$16$0;let statics$1;let ctor$1;let new_stmts$1;let methods$1;let $targ$29;let clsname$0;let cls$1;let node$2;statics$1=["data",["symbol","="]];ctor$1=[["data"],__amp__(["multi"],({"env":env$4}))];acc$4=[];temp$17=null;m$17=null;$9:for(m$17 of stmts$4){let process__minus__stmt$0;let stmt$2;stmt$2=m$17;process__minus__stmt$0=(function processStmt(temp$18$0,is__minus__constructor$0){let t0$58;let accum$7;let accum$8;let accum$9;let accum$10;let opt$2;let stmt$4;let lhs$4;let rhs$5;let args$6;let rhs$4;let lhs$3;let rhs$3;let lhs$2;let rhs$2;let lhs$1;let rhs$1;let $$15905$0;let $$15906$0;let $$15907$0;let $$15908$0;let $$15909$0;let $$15910$0;let $$15911$0;let $$15912$0;let $$15913$0;let $$15914$0;let $$15915$0;let $$15916$0;let $$15917$0;let $$15918$0;let $$15919$0;let $$15920$0;let $$15921$0;let $$15922$0;let $$15923$0;let $$15924$0;let $$15925$0;let $$15926$0;let $$15927$0;let $$15928$0;let $$15929$0;let t0$59;let t1$31;let t2$18;let t3$14;let t4$12;let t5$10;let t6$6;let t7$6;let t8$3;let t9$1;let stmt$3;let ph$11$0;t0$58=temp$18$0;stmt$3=t0$58;ph$11$0=t0$58;t0$59=ph$11$0;t1$31=t0$59.length;if((($$15907$0=(t1$31===3))&&(($$15908$0=(t0$59[0]==="send"))&&((t2$18=t0$59[1]),(($$15910$0=Array.isArray(t2$18))&&((t3$14=t2$18.length),(($$15912$0=(t3$14===2))&&(($$15913$0=(t2$18[0]==="symbol"))&&(($$15914$0=(t2$18[1]==="="))&&((t4$12=t0$59[2]),(($$15916$0=Array.isArray(t4$12))&&((t5$10=t4$12.length),(($$15918$0=(t5$10===3))&&(($$15919$0=(t4$12[0]==="data"))&&((t6$6=t4$12[1]),(($$15921$0=Array.isArray(t6$6))&&((t7$6=t6$6.length),(($$15923$0=(t7$6===3))&&(($$15924$0=(t6$6[0]==="send"))&&((t8$3=t6$6[1]),(($$15926$0=Array.isArray(t8$3))&&((t9$1=t8$3.length),(($$15928$0=(t9$1===2))&&(($$15929$0=(t8$3[0]==="symbol"))&&(t8$3[1]==="static"))))))))))))))))))))))))){lhs$1=t6$6[2];rhs$1=t4$12[2];return ["static",process__minus__stmt$0(["send",["symbol","="],["data",lhs$1,rhs$1]],false)];}else{if(($$15929$0&&(t8$3[1]==="get"))){lhs$2=t6$6[2];rhs$2=t4$12[2];return ["getter",process__minus__stmt$0(["send",["symbol","="],["data",lhs$2,rhs$2]],false)];}else{if(($$15929$0&&(t8$3[1]==="set"))){lhs$3=t6$6[2];rhs$3=t4$12[2];return ["setter",process__minus__stmt$0(["send",["symbol","="],["data",lhs$3,rhs$3]],false)];}else{if((Array.isArray(t0$59)&&((t1$31=t0$59.length),((t1$31===3)&&((t0$59[0]==="send")&&((t2$18=t0$59[1]),(Array.isArray(t2$18)&&((t3$14=t2$18.length),((t3$14===2)&&((t2$18[0]==="symbol")&&((t2$18[1]==="=")&&((t4$12=t0$59[2]),(Array.isArray(t4$12)&&((t5$10=t4$12.length),((t5$10===3)&&((t4$12[0]==="data")&&((t6$6=t4$12[1]),(Array.isArray(t6$6)&&((t7$6=t6$6.length),((t7$6===3)&&((t6$6[0]==="send")&&((t8$3=t6$6[1]),(Array.isArray(t8$3)&&((t9$1=t8$3.length),((t9$1===2)&&((t8$3[0]==="symbol")&&((t8$3[1]==="constructor")&&((args$6=t6$6[2]),(rhs$4=t4$12[2]),(is__minus__constructor$0===false))))))))))))))))))))))))))))){return process__minus__stmt$0(stmt$3,true);}else{t1$31=t0$59.length;if(((t1$31===3)&&((t0$59[0]==="send")&&((t2$18=t0$59[1]),(Array.isArray(t2$18)&&((t3$14=t2$18.length),((t3$14===2)&&((t2$18[0]==="symbol")&&((t2$18[1]==="=")&&((t4$12=t0$59[2]),(Array.isArray(t4$12)&&((t5$10=t4$12.length),((t5$10===3)&&(t4$12[0]==="data")))))))))))))){lhs$4=t4$12[1];rhs$5=t4$12[2];opt$2=__amp__(pattern_handlers$0.build_object,__amp____colon__(({"allow_nested":false}),__amp____colon__(((accum$7=({})),(accum$7["assign"]=(function assign(ph$12$0,value$1){let t0$60;let t1$32;let t0$61;let v$7;let v$6;let bridge$$16088$0;bridge$$16088$0=ph$12$0;if(((Array.isArray(bridge$$16088$0)&&((t0$60=bridge$$16088$0.length),((t0$60===2)&&((bridge$$16088$0[0]==="symbol")&&((t1$32=getProjector(camelCase$0)(bridge$$16088$0[1])),(t1$32[0]&&((v$6=t1$32[1]),true)))))))||(Array.isArray(bridge$$16088$0)&&((t0$61=bridge$$16088$0.length),((t0$61===2)&&((bridge$$16088$0[0]==="value")&&((v$6=bridge$$16088$0[1]),true))))))){return ["do",__lt____lt____colon__$0(["method",["value",v$6],value$1],v$6)];}else{v$7=ph$12$0;return ["do",__lt____lt____colon__$0(["method",v$7,value$1],v$7)];}})),accum$7),__amp____colon__(((accum$8=({})),(accum$8["declare"]=(function declare(vars$1){return [];})),accum$8),__amp____colon__(((accum$9=({})),(accum$9["wrap_target"]=(function wrap_target(ph$13$0){let t0$63;let s$1;let rest$3;let t0$64;let m$18$0;let t0$65;let t1$34;let $targ$32;let super__minus__call$0;let rest$2;let t0$66;let t1$35;let $targ$30;let other_env$1;let it$4;let it2$1;let $targ$31;let pre$1;let meat$0;let other$4;let args$7;let body$7;let t0$62;let t1$33;let t2$19;let t3$15;let t4$13;let t5$11;t0$62=ph$13$0;t1$33=t0$62.length;if(((t1$33===3)&&((t0$62[0]==="send")&&((t2$19=t0$62[1]),(Array.isArray(t2$19)&&((t3$15=t2$19.length),((t3$15===2)&&((t2$19[0]==="symbol")&&((t2$19[1]==="->")&&((t4$13=t0$62[2]),(Array.isArray(t4$13)&&((t5$11=t4$13.length),((t5$11===3)&&(t4$13[0]==="data")))))))))))))){args$7=t4$13[1];body$7=t4$13[2];$targ$30=body$7;t0$63=$targ$30;if(___hasprop(t0$63,"env")){other_env$1=t0$63.env;}else{___match_error($targ$30,"{env => other_env}");}it$4=__amp__(["symbol","@"],({"env":other_env$1}));it2$1=__amp__(["symbol","self"],({"env":other_env$1}));if(is__minus__constructor$0){if(super$4){m$18$0=body$7;if((Array.isArray(m$18$0)&&((t0$64=m$18$0.length),((t0$64>=2)&&(m$18$0[0]==="multi"))))){s$1=m$18$0[1];rest$3=Array.prototype.slice.call(m$18$0,2);$targ$32=[s$1,["multi"].concat(rest$3)];}else{$targ$32=[body$7,["splice"]];}}else{$targ$32=[["splice"],body$7];}t0$65=$targ$32;if((Array.isArray(t0$65)&&((t1$34=t0$65.length),(t1$34===2)))){super__minus__call$0=t0$65[0];rest$2=t0$65[1];}else{___match_error($targ$32,"{super-call, rest}");}[super__minus__call$0,rest$2];$targ$31=[["splice",super__minus__call$0,["send",["symbol","="],["data",["send",["symbol","let"],it$4],["symbol","this"]]],["send",["symbol","="],["data",["send",["symbol","let"],it2$1],["symbol","this"]]]],["splice",rest$2,["symbol","undefined"]]];}else{$targ$31=[["splice",["send",["symbol","="],["data",["send",["symbol","let"],it$4],["symbol","this"]]],["send",["symbol","="],["data",["send",["symbol","let"],it2$1],["symbol","this"]]]],body$7];}t0$66=$targ$31;if((Array.isArray(t0$66)&&((t1$35=t0$66.length),(t1$35===2)))){pre$1=t0$66[0];meat$0=t0$66[1];}else{___match_error($targ$31,"{pre, meat}");}[pre$1,meat$0];return ["send",["symbol","_lambda"],["data",args$7,pre$1,meat$0,["value",null],["value",false]]];}else{other$4=ph$13$0;return other$4;}})),accum$9),((accum$10=({})),(accum$10["success"]=(function success(temp$19$0){return ["splice"];})),accum$10))))));return PatternCompiler$0(lhs$4,info$9,opt$2).extract_from_rhs(rhs$5);}else{stmt$4=ph$11$0;throw ErrorFactory(["syntax","class"]).create("Illegal statement in class",({"stmt":stmt$4}));}}}}}});temp$17=process__minus__stmt$0(stmt$2,false);acc$4.push(temp$17);}new_stmts$1=acc$4;acc$5=[];temp$20=null;m$19=null;$10:for(m$19 of new_stmts$1){let process__minus__stmt$1;let stmt$5;stmt$5=m$19;process__minus__stmt$1=(function processStmt(ph$14$0){let rval$0;let $targ$33;let rval$1;let $targ$34;let rval$2;let $targ$35;let stmt$6;let name$6;let body$8;let spec$2;let spec$1;let spec$0;let $$16290$0;let $$16291$0;let $$16292$0;let t0$67;let t1$36;let t2$20;let t3$16;let t4$14;let t5$12;let t6$7;let t7$7;let t8$4;let t9$2;let t10$1;let t11$1;t0$67=ph$14$0;t1$36=t0$67.length;if((($$16292$0=(t1$36===2))&&(t0$67[0]==="getter"))){spec$0=t0$67[1];rval$0=process__minus__stmt$1(spec$0);$targ$33="get";(rval$0[1][1]=$targ$33);return rval$0;}else{if(($$16292$0&&(t0$67[0]==="setter"))){spec$1=t0$67[1];rval$1=process__minus__stmt$1(spec$1);$targ$34="set";(rval$1[1][1]=$targ$34);return rval$1;}else{if(($$16292$0&&(t0$67[0]==="static"))){spec$2=t0$67[1];rval$2=process__minus__stmt$1(spec$2);$targ$35="static";(rval$2[1][1]=$targ$35);return rval$2;}else{if(((t1$36===3)&&((t0$67[0]==="splice")&&((t2$20=t0$67[1]),(Array.isArray(t2$20)&&((t3$16=t2$20.length),((t3$16===1)&&((t2$20[0]==="splice")&&((t4$14=t0$67[2]),(Array.isArray(t4$14)&&((t5$12=t4$14.length),((t5$12===2)&&((t4$14[0]==="multi")&&((t6$7=t4$14[1]),(Array.isArray(t6$7)&&((t7$7=t6$7.length),((t7$7===3)&&((t6$7[0]==="multi")&&((t8$4=t6$7[1]),(Array.isArray(t8$4)&&((t9$2=t8$4.length),((t9$2===3)&&((t8$4[0]==="method")&&((name$6=t8$4[1]),(body$8=t8$4[2]),(t10$1=t6$7[2]),(Array.isArray(t10$1)&&((t11$1=t10$1.length),((t11$1===1)&&(t10$1[0]==="splice")))))))))))))))))))))))))))){return ["data",["value",""],name$6,body$8];}else{stmt$6=ph$14$0;throw ErrorFactory(["syntax","class"]).create("Probably illegal statement in class",({"stmt":stmt$6}));}}}}});temp$20=process__minus__stmt$1(stmt$5);acc$5.push(temp$20);}methods$1=acc$5;$targ$29=name$5;t0$68=$targ$29;if((Array.isArray(t0$68)&&((t1$37=t0$68.length),((t1$37===2)&&(t0$68[0]==="symbol"))))){clsname$0=t0$68[1];}else{___match_error($targ$29,"#symbol{clsname}");}cls$1=["js_class",["value",clsname$0],(super$4||["value",null]),["data"].concat(methods$1)];node$2=["splice",["send",["symbol","="],["data",["send",["symbol","let"],name$5],cls$1]],name$5];m$16$0=context$4;bridge$$15861$0=m$16$0;if(((Array.isArray(bridge$$15861$0)&&((t0$69=bridge$$15861$0.length),((t0$69===2)&&((bridge$$15861$0[0]==="expr")&&(bridge$$15861$0[1]==="multi")))))||(Array.isArray(bridge$$15861$0)&&((t0$70=bridge$$15861$0.length),((t0$70===2)&&((bridge$$15861$0[0]==="expr")&&(bridge$$15861$0[1]==="ignore"))))))){return node$2;}else{other$5=m$16$0;return ["multi",node$2];}});m$15$0=expr$8;if((($$15845$0=Array.isArray(m$15$0))&&((t0$71=m$15$0.length),((t0$71===3)&&((m$15$0[0]==="data")&&((ph$10$0=m$15$0[1]),(t1$38=getProjector(Body$0)(m$15$0[2])),(t1$38[0]&&((t2$21=t1$38[1]),(t3$17=t2$21.length),(t3$17>=0))))))))){stmts$5=Array.prototype.slice.call(t2$21,0);t0$72=ph$10$0;if((($$15840$0=Array.isArray(t0$72))&&((t1$39=t0$72.length),(($$15842$0=(t1$39===3))&&(($$15843$0=(t0$72[0]==="send"))&&((t2$22=t0$72[1]),(Array.isArray(t2$22)&&((t3$18=t2$22.length),((t3$18===2)&&((t2$22[0]==="symbol")&&((t2$22[1]==="<")&&((t4$15=t0$72[2]),(Array.isArray(t4$15)&&((t5$13=t4$15.length),((t5$13===3)&&(t4$15[0]==="data")))))))))))))))){name$7=t4$15[1];super$5=t4$15[2];return helper$1(name$7,super$5,stmts$5);}else{if(($$15843$0&&((name$8=t0$72[1]),(t2$22=t0$72[2]),(Array.isArray(t2$22)&&((t3$18=t2$22.length),((t3$18===2)&&(t2$22[0]==="data"))))))){super$6=t2$22[1];return helper$1(name$8,super$6,stmts$5);}else{bridge$$15838$0=ph$10$0;if(((Array.isArray(bridge$$15838$0)&&((t0$73=bridge$$15838$0.length),((t0$73===3)&&((bridge$$15838$0[0]==="send")&&((name$9=bridge$$15838$0[1]),(t1$40=bridge$$15838$0[2]),(Array.isArray(t1$40)&&((t2$23=t1$40.length),((t2$23===1)&&(t1$40[0]==="data")))))))))||(Array.isArray(bridge$$15838$0)&&((t0$74=bridge$$15838$0.length),((t0$74===2)&&((bridge$$15838$0[0]==="symbol")&&(bridge$$15838$0[1],(name$9=bridge$$15838$0),true))))))){return helper$1(name$9,null,stmts$5);}else{return ___match_error(ph$10$0,"`[^name {}]` or [#symbol{_} and name]");}}}}else{if(($$15845$0&&((t0$71===2)&&((m$15$0[0]==="data")&&((t1$38=getProjector(Body$0)(m$15$0[1])),(t1$38[0]&&((t2$21=t1$38[1]),(t3$17=t2$21.length),(t3$17>=0)))))))){stmts$6=Array.prototype.slice.call(t2$21,0);return helper$1(["symbol",info$9.gensym()],null,stmts$6);}else{return ___match_error(m$15$0,"#data{Body! {*stmts}}");}}});t0$75=getProjector(mac$0("jsclass"))($targ$11);if(t0$75[0]){jsclass_mac$0=t0$75[1];}else{___match_error($targ$11,"mac{\"jsclass\"}! jsclass_mac{context, info and {=> env}, form, expr}");}errf_macro$0=(function errf_macro(tags$1){return (function(ph$15$0,temp$21$0,form$10,expr$9){let x$15;let x$16;let other$6;let args$8;let $$16630$0;let $$16631$0;let t0$76;let m$20$0;let ctx$2;let bridge$$16599$0;bridge$$16599$0=ph$15$0;if((((x$15=bridge$$16599$0),((x$15 instanceof Array)&&(x$15[0]==="check")))||((x$16=bridge$$16599$0),((x$16 instanceof Array)&&(x$16[0]==="project"))))){return ["nostep",form$10];}else{ctx$2=ph$15$0;m$20$0=expr$9;if((($$16630$0=Array.isArray(m$20$0))&&((t0$76=m$20$0.length),((t0$76===1)&&(m$20$0[0]==="void"))))){return ["send",["symbol","ErrorFactory"],["data",["data"].concat(tags$1)]];}else{if(($$16630$0&&((t0$76>=1)&&(m$20$0[0]==="data")))){args$8=Array.prototype.slice.call(m$20$0,1);return ["send",["send",["send",["symbol","ErrorFactory"],["data",["data"].concat(tags$1)]],["send",["symbol","."],["data",["void"],["symbol","create"]]]],["data"].concat(args$8)];}else{other$6=m$20$0;return ["macro",errf_macro$0(tags$1.concat([other$6]))];}}}});});$targ$12=errf_macro$0([]);t0$77=getProjector(mac$0("E"))($targ$12);if(t0$77[0]){E_mac$0=t0$77[1];}else{___match_error($targ$12,"mac{\"E\"}! E_mac");}$targ$13=(function(context$5,info$10,form$11,ph$16$0){let t0$79;let t1$42;let t2$25;let x$17;let level$0;let s$2;let t0$78;let bridge$$16663$0;let t1$41;let t2$24;t0$78=ph$16$0;bridge$$16663$0=t0$78;if((((Array.isArray(bridge$$16663$0)&&((t0$79=bridge$$16663$0.length),(((t0$79>=2)&&(t0$79<=3))&&((bridge$$16663$0[0]==="data")&&((x$17=bridge$$16663$0[1]),(t1$42=((2>=t0$79)?["value",1]:bridge$$16663$0[2])),(Array.isArray(t1$42)&&((t2$25=t1$42.length),((t2$25===2)&&((t1$42[0]==="value")&&((level$0=t1$42[1]),true))))))))))||((x$17=bridge$$16663$0),(level$0=1),true))&&((t1$41=x$17),(Array.isArray(t1$41)&&((t2$24=t1$41.length),((t2$24===2)&&(t1$41[0]==="symbol"))))))){s$2=t1$41[1];return __amp____colon__(x$17,({"level":level$0}));}else{return ___match_error(ph$16$0,"[#data{x, #value{level} = #value{1}} or x and level is 1] and #symbol{s} is x");}});t0$80=getProjector(mac$0("outer"))($targ$13);if(t0$80[0]){outer_mac$0=t0$80[1];}else{___match_error($targ$13,"mac{\"outer\"}! outer_mac{context, info, form, match}");}$targ$14=(function(context$6,info$11,form$12,temp$22$0){let t0$81;let t1$43;let t2$26;let t3$19;let name$10;let expr$10;t0$81=temp$22$0;if((Array.isArray(t0$81)&&((t1$43=t0$81.length),((t1$43===3)&&((t0$81[0]==="data")&&((t2$26=t0$81[1]),(Array.isArray(t2$26)&&((t3$19=t2$26.length),((t3$19===2)&&(t2$26[0]==="symbol")))))))))){name$10=t2$26[1];expr$10=t0$81[2];}else{___match_error(temp$22$0);}return ["tagscope",name$10,expr$10];});t0$82=getProjector(mac$0("tagscope"))($targ$14);if(t0$82[0]){tagscope_mac$0=t0$82[1];}else{___match_error($targ$14,"mac{\"tagscope\"}! tagscope_mac{context, info, form, `{^[#symbol{name}], ^expr}`}");}$targ$15=(function(context$7,info$12,form$13,temp$23$0){let t0$83;let t1$44;let t2$27;let t3$20;let name$11;let expr$11;t0$83=temp$23$0;if((Array.isArray(t0$83)&&((t1$44=t0$83.length),((t1$44===3)&&((t0$83[0]==="data")&&((t2$27=t0$83[1]),(Array.isArray(t2$27)&&((t3$20=t2$27.length),((t3$20===2)&&(t2$27[0]==="symbol")))))))))){name$11=t2$27[1];expr$11=t0$83[2];}else{___match_error(temp$23$0);}return ["use",name$11,expr$11];});t0$84=getProjector(mac$0("usescope"))($targ$15);if(t0$84[0]){usescope_mac$0=t0$84[1];}else{___match_error($targ$15,"mac{\"usescope\"}! usescope_mac{context, info, form, `{^[#symbol{name}], ^expr}`}");}$targ$16=(function(ctx$3,info$13,form$14,temp$24$0){let t0$85;let t1$45;let t2$28;let t3$21;let f$0;let accum$11;let x$18;t0$85=temp$24$0;if((Array.isArray(t0$85)&&((t1$45=t0$85.length),((t1$45===3)&&((t0$85[0]==="data")&&((x$18=t0$85[1]),(t2$28=t0$85[2]),(Array.isArray(t2$28)&&((t3$21=t2$28.length),((t3$21===1)&&(t2$28[0]==="void")))))))))){}else{___match_error(temp$24$0);}accum$11=["symbol","tmp"];f$0=(function f(temp$25$0,info$14,form$15,msg$0){let t0$86;let x$19;let x$20;let t0$88;let t1$46;let ph$18$0;let t0$87;let ctx$4;let ph$17$0;t0$86=temp$25$0;ctx$4=t0$86;ph$17$0=t0$86;t0$87=ph$17$0;if((((x$19=t0$87),((x$19 instanceof Array)&&(x$19[0]==="pattern")))&&((x$20=msg$0),((x$20 instanceof Array)&&(x$20[0]==="void"))))){return ["all",["send",["symbol","is"],["data",["symbol","tmp"],x$18]],["if",["symbol","tmp"],accum$11,["symbol","_"]]];}else{ph$18$0=msg$0;t0$88=ph$18$0;t1$46=t0$88.length;if(((t1$46===1)&&(t0$88[0]==="void"))){return ["multi",["send",["symbol","="],["data",["symbol","tmp"],x$18]],["send",["symbol","if"],["data",["send",["symbol","or"],["data",["send",["symbol","==="],["data",["symbol","tmp"],["symbol","undefined"]]],["send",["symbol","==="],["data",["symbol","tmp"],["symbol","null"]]]]],["symbol","tmp"],accum$11]]];}else{accum$11=["send",accum$11,msg$0];__amp____colon__(x$18,({"called":true}));return ["macro",f$0];}}});return ["macro",f$0];});t0$89=getProjector(mac$0("??"))($targ$16);if(t0$89[0]){maysend_mac$0=t0$89[1];}else{___match_error($targ$16,"mac{\"??\"}! maysend_mac{ctx, info, form, #data{x, #void{}}}");}$targ$17=(function(ctx$5,info$15,form$16,expr$12){return ["maybe",expr$12];});t0$90=getProjector(mac$0("maybe"))($targ$17);if(t0$90[0]){maybe_mac$0=t0$90[1];}else{___match_error($targ$17,"mac{\"maybe\"}! maybe_mac{ctx, info, form, expr}");}return exports$0;});(module["exports"]=$targ$0);(void 0); //# sourceMappingURL=misc.js.map