earlgrey
Version:
Programming language compiling to JavaScript, featuring macros, dynamic typing annotations and pattern matching.
4 lines (2 loc) • 26.8 kB
JavaScript
'use strict';require('earlgrey-runtime/5');var $targ$1=void 0;var $targ$0=void 0;var $0$0=void 0;var Body$0=void 0;var inject__minus__tools$0=void 0;var $1$0=void 0;var __lt____lt____colon__$0=void 0;var $2$0=void 0;var camelCase$0=void 0;$0$0=require("./helpers");Body$0=getProperty($0$0,"Body","./helpers");inject__minus__tools$0=getProperty($0$0,"injectTools","./helpers");$1$0=require("../location");__lt____lt____colon__$0=getProperty($1$0,"<<:","../location");$2$0=require("../util");camelCase$0=getProperty($2$0,"camelCase","../util");if(typeof module==="undefined"){$targ$1=undefined;global["module"]=$targ$1;void 0;}$targ$0=function $targ$0(mac$0){var t0$0=void 0;var t0$1=void 0;var t0$25=void 0;var t0$35=void 0;var t0$42=void 0;var t0$44=void 0;var t0$47=void 0;var $targ$2=void 0;var __require_mac$0=void 0;var $targ$3=void 0;var __requirem_mac$0=void 0;var getreqs$0=void 0;var $targ$4=void 0;var require_mac$0=void 0;var $targ$5=void 0;var requiremac_mac$0=void 0;var $targ$6=void 0;var provide_mac$0=void 0;var $targ$7=void 0;var inject_mac$0=void 0;var $targ$8=void 0;var globals_mac$0=void 0;var exports$0=void 0;exports$0={};$targ$2=function $targ$2(context$0,info$0,form$0,expr$0){var req$0=void 0;req$0=__amp____colon__(["variable","require"],{"top":true});return["send",req$0,expr$0];};t0$0=getProjector(mac$0("__require"))($targ$2);if(t0$0[0]){__require_mac$0=t0$0[1];}else{___match_error($targ$2,"mac{\"__require\"}! __require_mac{context, info, form, expr}");}$targ$3=function $targ$3(context$1,info$1,form$1,expr$1){var req$1=void 0;req$1=__amp____colon__(["variable","require"],{"top":true});return["send",req$1,expr$1];};t0$1=getProjector(mac$0("__require-m"))($targ$3);if(t0$1[0]){__requirem_mac$0=t0$1[1];}else{___match_error($targ$3,"mac{\"__require-m\"}! __requirem_mac{context, info, form, expr}");}getreqs$0=function getreqs(){var stmts$0=void 0;var names$0=void 0;var curpkg$0=void 0;var pkgs$0=void 0;var w$0=void 0;var logName$0=void 0;var unlogName$0=void 0;var topfetch$0=void 0;var produce$0=void 0;var info$2=void 0;var req$2=void 0;var expr$2=void 0;var prefix$0=void 0;var t0$2=void 0;var m$0$0=void 0;m$0$0=arguments;t0$2=m$0$0.length;if(t0$2>=3&&t0$2<=4){info$2=m$0$0[0];req$2=m$0$0[1];expr$2=m$0$0[2];if(3>=t0$2){prefix$0=null;}else{prefix$0=m$0$0[3];}stmts$0=[];names$0=[];curpkg$0=null;pkgs$0={};w$0=function w(){var x$0=void 0;var args$0=void 0;var wrap$0=void 0;var t0$3=void 0;var m$1$0=void 0;m$1$0=arguments;t0$3=m$1$0.length;if(t0$3>=1&&t0$3<=3){x$0=m$1$0[0];if(1>=t0$3){args$0=null;}else{args$0=m$1$0[1];}if(2>=t0$3){wrap$0=null;}else{wrap$0=m$1$0[2];}if(args$0){x$0=["send",x$0,args$0];x$0;}if(wrap$0){x$0=wrap$0(x$0);x$0;}return x$0;}else{return ___match_error(m$1$0,"{var x, args = null, wrap = null}");}};logName$0=function logName(temp$0$0){var t0$5=void 0;var t1$0=void 0;var t0$6=void 0;var bridge$$17065$0=void 0;var t0$7=void 0;var t1$1=void 0;var t0$4=void 0;var bridge$$17064$0=void 0;var s$2=void 0;var s$1=void 0;var s$0=void 0;var $$17131$0=void 0;var $$17132$0=void 0;var $$17133$0=void 0;var t0$8=void 0;var m$2$0=void 0;var res$0=void 0;var $targ$10=void 0;var $targ$9=void 0;var name$0=void 0;var n$0=void 0;t0$4=temp$0$0;name$0=t0$4;bridge$$17064$0=t0$4;if((bridge$$17065$0=bridge$$17064$0,Array.isArray(bridge$$17065$0)&&(t0$5=bridge$$17065$0.length,t0$5===2&&bridge$$17065$0[0]==="symbol"&&(t1$0=getProjector(camelCase$0)(bridge$$17065$0[1]),t1$0[0]&&(n$0=t1$0[1],true)))||Array.isArray(bridge$$17065$0)&&(t0$6=bridge$$17065$0.length,t0$6===2&&bridge$$17065$0[0]==="variable"&&(n$0=bridge$$17065$0[1],true)))||Array.isArray(bridge$$17064$0)&&(t0$7=bridge$$17064$0.length,t0$7===2&&bridge$$17064$0[0]==="value"&&(t1$1=bridge$$17064$0[1],t1$1==="'"&&(n$0=t1$1,true)))){}else{___match_error(temp$0$0);}names$0.push(name$0);$targ$9=curpkg$0;pkgs$0[n$0]=$targ$9;if(prefix$0===null){return name$0;}else{m$2$0=name$0;if(($$17131$0=Array.isArray(m$2$0))&&(t0$8=m$2$0.length,($$17133$0=t0$8===2)&&m$2$0[0]==="symbol")){s$0=m$2$0[1];res$0=__lt____lt____colon__$0(["symbol",prefix$0+s$0],name$0);}else{if($$17133$0&&m$2$0[0]==="variable"){s$1=m$2$0[1];res$0=__lt____lt____colon__$0(["symbol",prefix$0+s$1],name$0);}else{if($$17133$0&&m$2$0[0]==="value"){s$2=m$2$0[1];res$0=__lt____lt____colon__$0(["symbol",prefix$0+s$2],name$0);}else{res$0=___match_error(m$2$0,"#value{s}");}}}$targ$10=name$0;res$0["other"]=$targ$10;return res$0;}};unlogName$0=function unlogName(name$1){var n$1=void 0;var m$3$0=void 0;m$3$0=names$0.indexOf(name$1.other||name$1);if(m$3$0===-1){return undefined;}else{n$1=m$3$0;return names$0.splice(n$1,1);}};topfetch$0=function topfetch(){var imp$0=void 0;var pkg$0=void 0;var v$0=void 0;var args$1=void 0;var wrap$1=void 0;var t0$9=void 0;var m$4$0=void 0;m$4$0=arguments;t0$9=m$4$0.length;if(t0$9>=2&&t0$9<=4){pkg$0=m$4$0[0];v$0=m$4$0[1];if(2>=t0$9){args$1=null;}else{args$1=m$4$0[2];}if(3>=t0$9){wrap$1=null;}else{wrap$1=m$4$0[3];}curpkg$0=pkg$0;imp$0=w$0(["send",req$2,["data",pkg$0]],args$1,wrap$1);stmts$0.push(["send",["symbol","="],["data",["send",["symbol","let"],v$0],imp$0]]);return v$0;}else{return ___match_error(m$4$0,"{pkg, v, args = null, wrap = null}");}};produce$0=function produce(temp$1$0,fetch$0){var t0$10=void 0;var t0$12=void 0;var t0$13=void 0;var m$5=void 0;var pkgv$0=void 0;var rqn$0=void 0;var t0$17=void 0;var t1$4=void 0;var $targ$11=void 0;var projector$0=void 0;var subp$2=void 0;var m$11=void 0;var acc$0=void 0;var temp$2=void 0;var dotdots$0=void 0;var text$0=void 0;var pfx$0=void 0;var ph$2$0=void 0;var rest$0=void 0;var x$4=void 0;var t0$19=void 0;var t1$5=void 0;var t2$1=void 0;var t3$1=void 0;var m$10$0=void 0;var other$0=void 0;var name$6=void 0;var $$17645$0=void 0;var $$17646$0=void 0;var $$17647$0=void 0;var $$17648$0=void 0;var t0$20=void 0;var t1$6=void 0;var m$12$0=void 0;var s$7=void 0;var name$5=void 0;var sym$1=void 0;var name$7=void 0;var s$8=void 0;var args$6=void 0;var operator$0=void 0;var ph$1$0=void 0;var args$4=void 0;var pkg$2=void 0;var subp$1=void 0;var pkg$1=void 0;var s$5=void 0;var name$3=void 0;var sym$0=void 0;var name$2=void 0;var subp$0=void 0;var s$4=void 0;var s$3=void 0;var $$17228$0=void 0;var $$17229$0=void 0;var $$17230$0=void 0;var $$17231$0=void 0;var $$17232$0=void 0;var $$17233$0=void 0;var $$17234$0=void 0;var $$17235$0=void 0;var $$17236$0=void 0;var t0$11=void 0;var t1$2=void 0;var t2$0=void 0;var bridge$$17219$0=void 0;var t3$0=void 0;var t4$0=void 0;var t5$0=void 0;var t6$0=void 0;var t7$0=void 0;var t8$0=void 0;var t9$0=void 0;var expr$3=void 0;var ph$0$0=void 0;t0$10=temp$1$0;expr$3=t0$10;ph$0$0=t0$10;t0$11=ph$0$0;t1$2=t0$11.length;if(($$17230$0=t1$2===2)&&t0$11[0]==="symbol"){s$3=t0$11[1];return fetch$0(["value",s$3],logName$0(expr$3));}else{if($$17230$0&&t0$11[0]==="value"&&(t2$0=t0$11[1],typeof t2$0==="string")){s$4=t2$0;return fetch$0(expr$3,__amp____colon__(["symbol",info$2.gensym()],{"reqname":s$4}));}else{bridge$$17219$0=ph$0$0;if(Array.isArray(bridge$$17219$0)&&(t0$12=bridge$$17219$0.length,t0$12>=1&&bridge$$17219$0[0]==="multi"&&(subp$0=Array.prototype.slice.call(bridge$$17219$0,1),true))||Array.isArray(bridge$$17219$0)&&(t0$13=bridge$$17219$0.length,t0$13>=1&&bridge$$17219$0[0]==="data"&&(subp$0=Array.prototype.slice.call(bridge$$17219$0,1),true))){m$5=null;var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{$3:for(var _iterator=subp$0[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){m$5=_step.value;var p$0=void 0;p$0=m$5;produce$0(p$0,fetch$0);}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return();}}finally{if(_didIteratorError){throw _iteratorError;}}}return null;}else{t0$11=ph$0$0;t1$2=t0$11.length;if(($$17230$0=t1$2===3)&&($$17231$0=t0$11[0]==="send")&&(t2$0=t0$11[1],($$17233$0=Array.isArray(t2$0))&&(t3$0=t2$0.length,($$17235$0=t3$0===2)&&($$17236$0=t2$0[0]==="symbol")&&t2$0[1]==="/"&&(t4$0=t0$11[2],Array.isArray(t4$0)&&(t5$0=t4$0.length,t5$0===3&&t4$0[0]==="data"&&(t6$0=t4$0[1],Array.isArray(t6$0)&&(t7$0=t6$0.length,t7$0===1&&t6$0[0]==="void"&&(t8$0=t4$0[2],sym$0=t8$0,Array.isArray(t8$0)&&(t9$0=t8$0.length,t9$0===2&&t8$0[0]==="symbol"))))))))){name$2=t8$0[1];return fetch$0(["value","earlgrey-runtime/std/"+name$2],sym$0);}else{if($$17236$0&&t2$0[1]==="^"&&(t4$0=t0$11[2],Array.isArray(t4$0)&&(t5$0=t4$0.length,t5$0===3&&t4$0[0]==="data"&&(t6$0=t4$0[1],Array.isArray(t6$0)&&(t7$0=t6$0.length,t7$0===1&&t6$0[0]==="void"))))){name$3=t4$0[2];return fetch$0(name$3,__amp____colon__(["symbol",info$2.gensym()],{"reqname":name$3}));}else{if($$17236$0&&t2$0[1]==="as"&&(t4$0=t0$11[2],Array.isArray(t4$0)&&(t5$0=t4$0.length,t5$0===3&&t4$0[0]==="data"))){pkg$1=t4$0[1];s$5=t4$0[2];return produce$0(pkg$1,function(){var the_pkg$0=void 0;var ignore$0=void 0;var args$2=void 0;var wrap$2=void 0;var t0$14=void 0;var m$6$0=void 0;m$6$0=arguments;t0$14=m$6$0.length;if(t0$14>=2&&t0$14<=4){the_pkg$0=m$6$0[0];ignore$0=m$6$0[1];if(2>=t0$14){args$2=null;}else{args$2=m$6$0[2];}if(3>=t0$14){wrap$2=null;}else{wrap$2=m$6$0[3];}unlogName$0(ignore$0);return fetch$0(the_pkg$0,logName$0(s$5),args$2,wrap$2);}else{return ___match_error(m$6$0,"{the_pkg, ignore, args = null, wrap = null}");}});}else{if($$17236$0&&t2$0[1]==="->"&&(t4$0=t0$11[2],Array.isArray(t4$0)&&(t5$0=t4$0.length,t5$0===3&&t4$0[0]==="data"))){pkg$2=t4$0[1];subp$1=t4$0[2];pkgv$0=produce$0(pkg$2,fetch$0);rqn$0=pkgv$0.reqname||pkgv$0[1];return produce$0(subp$1,function(){var x$1=void 0;var s$6=void 0;var t0$16=void 0;var t1$3=void 0;var m$8$0=void 0;var pkg$3=void 0;var imp$1=void 0;var _pkg$0=void 0;var v$1=void 0;var args$3=void 0;var wrap$3=void 0;var t0$15=void 0;var m$7$0=void 0;m$7$0=arguments;t0$15=m$7$0.length;if(t0$15>=2&&t0$15<=4){_pkg$0=m$7$0[0];v$1=m$7$0[1];if(2>=t0$15){args$3=null;}else{args$3=m$7$0[2];}if(3>=t0$15){wrap$3=null;}else{wrap$3=m$7$0[3];}m$8$0=_pkg$0;if(Array.isArray(m$8$0)&&(t0$16=m$8$0.length,t0$16===2&&m$8$0[0]==="value"&&(t1$3=getProjector(camelCase$0)(m$8$0[1]),t1$3[0]))){s$6=t1$3[1];pkg$3=["value",s$6];}else{x$1=m$8$0;pkg$3=x$1;}imp$1=w$0(["send",["symbol","getProperty"],["data",pkgv$0,pkg$3,["value",rqn$0]]],args$3,wrap$3);stmts$0.push(["send",["symbol","="],["data",["send",["symbol","let"],v$1],imp$1]]);return v$1;}else{return ___match_error(m$7$0,"{_pkg, v, args = null, wrap = null}");}});}else{if(Array.isArray(t0$11)&&(t1$2=t0$11.length,t1$2===3&&t0$11[0]==="send"&&(t2$0=t0$11[1],Array.isArray(t2$0)&&(t3$0=t2$0.length,t3$0===2&&t2$0[0]==="symbol"&&(t4$0=t2$0[1],operator$0=t4$0,ph$1$0=t4$0,args$4=t0$11[2],expr$3.fromop))))){if(ph$1$0==="!"){$targ$11=args$4;t0$17=$targ$11;if(Array.isArray(t0$17)&&(t1$4=t0$17.length,t1$4===3&&t0$17[0]==="data")){projector$0=t0$17[1];subp$2=t0$17[2];}else{___match_error($targ$11,"#data{projector, subp}");}[projector$0,subp$2];return produce$0(subp$2,function(){var wrap2$0=void 0;var the_pkg$1=void 0;var name$4=void 0;var args$5=void 0;var wrap$4=void 0;var t0$18=void 0;var m$9$0=void 0;m$9$0=arguments;t0$18=m$9$0.length;if(t0$18>=2&&t0$18<=4){the_pkg$1=m$9$0[0];name$4=m$9$0[1];if(2>=t0$18){args$5=null;}else{args$5=m$9$0[2];}if(3>=t0$18){wrap$4=null;}else{wrap$4=m$9$0[3];}wrap$4=wrap$4||function(x$2){return x$2;};wrap2$0=function wrap2(x$3){return["send",projector$0,["data",wrap$4(x$3)]];};return fetch$0(the_pkg$1,name$4,args$5,wrap2$0);}else{return ___match_error(m$9$0,"{the_pkg, name, args = null, var wrap = null}");}});}else{m$10$0=info$2.raw(expr$3).trim().replace(RegExp("^,+|,+$",""),"");if(getChecker(RegExp("^\\.*/",""))(m$10$0)){x$4=m$10$0;s$7=x$4;}else{t0$19=getProjector(RegExp("^(\\.+)(.*)",""))(m$10$0);if(t0$19[0]&&(t1$5=t0$19[1],t2$1=t1$5.length,t2$1===3)){t1$5[0];t3$1=t1$5[1];pfx$0=t3$1;ph$2$0=t3$1;rest$0=t1$5[2];if(ph$2$0==="."){s$7=""+pfx$0+"/"+rest$0;}else{acc$0=[];temp$2=null;m$11=null;var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{$4:for(var _iterator2=range(2,pfx$0.length)[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){m$11=_step2.value;temp$2="../";acc$0.push(temp$2);}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}dotdots$0=acc$0;s$7=""+dotdots$0.join("")+rest$0;}}else{text$0=m$10$0;s$7=text$0;}}m$12$0=s$7.split("/");if(($$17645$0=Array.isArray(m$12$0))&&(t0$20=m$12$0.length,($$17647$0=t0$20>=1)&&(Array.prototype.slice.call(m$12$0,0,-1),t1$6=m$12$0[t0$20-1],getChecker(RegExp("^[a-zA-Z0-9_\\-]+$",""))(t1$6)))){name$6=t1$6;name$5=name$6;}else{if($$17647$0){other$0=m$12$0[t0$20-1];throw ErrorFactory(["syntax","module"]).create("`"+other$0+"` is not a valid symbol; use `require: \""+s$7+"\" as xyz` instead",{"node":expr$3});}else{name$5=___match_error(m$12$0,"{*, other}");}}sym$1=info$2.mark(["symbol",name$5]);return fetch$0(["value",s$7],logName$0(sym$1));}}else{t1$2=t0$11.length;if(t1$2===3&&t0$11[0]==="send"&&(t2$0=t0$11[1],name$7=t2$0,Array.isArray(t2$0)&&(t3$0=t2$0.length,t3$0===2&&t2$0[0]==="symbol"&&(s$8=t2$0[1],t4$0=t0$11[2],args$6=t4$0,Array.isArray(t4$0)&&(t5$0=t4$0.length,t5$0>=1&&t4$0[0]==="data"))))){Array.prototype.slice.call(t4$0,1);return fetch$0(["value",s$8],logName$0(name$7),args$6);}else{return ___match_error(ph$0$0,"#send{name and #symbol{s}, args and #data{*_}}");}}}}}}}}}};produce$0(expr$2,topfetch$0);return[stmts$0,names$0,pkgs$0];}else{return ___match_error(m$0$0,"{info, req, expr, prefix = null}");}};$targ$4=function $targ$4(context$2,info$3,form$2,temp$3$0){var t0$21=void 0;var t0$23=void 0;var t0$24=void 0;var t1$8=void 0;var $targ$12=void 0;var stmts$1=void 0;var expr$4=void 0;var field$0=void 0;var req$3=void 0;var $$17720$0=void 0;var $$17721$0=void 0;var t0$22=void 0;var t1$7=void 0;var bridge$$17719$0=void 0;var arg$0=void 0;var ph$3$0=void 0;t0$21=temp$3$0;arg$0=t0$21;ph$3$0=t0$21;req$3=info$3.mark(["symbol","__require"]);t0$22=ph$3$0;t1$7=t0$22.length;if(t1$7===1&&t0$22[0]==="void"){return["variable","require"];}else{if(t1$7===2&&t0$22[0]==="value"){field$0=t0$22[1];return["send",req$3,arg$0];}else{bridge$$17719$0=ph$3$0;if(Array.isArray(bridge$$17719$0)&&(t0$23=bridge$$17719$0.length,t0$23===2&&bridge$$17719$0[0]==="data"&&(expr$4=bridge$$17719$0[1],true))||(expr$4=arg$0,true)){$targ$12=getreqs$0(info$3,req$3,expr$4);t0$24=$targ$12;if(Array.isArray(t0$24)&&(t1$8=t0$24.length,t1$8===3)){stmts$1=t0$24[0];t0$24[1];t0$24[2];}else{___match_error($targ$12,"{stmts, _, _}");}return["splice"].concat(stmts$1);}else{return ___match_error(ph$3$0,"#data{expr} or expr is arg");}}}};t0$25=getProjector(mac$0("require"))($targ$4);if(t0$25[0]){require_mac$0=t0$25[1];}else{___match_error($targ$4,"mac{\"require\"}! require_mac{context, info, form, match arg}");}$targ$5=function $targ$5(context$3,info$4,form$3,temp$4$0){var t0$26=void 0;var t0$27=void 0;var t0$28=void 0;var t1$9=void 0;var m$13=void 0;var acc$1=void 0;var temp$5=void 0;var vs$0=void 0;var m$14=void 0;var acc$2=void 0;var temp$6=void 0;var macs$0=void 0;var req$4=void 0;var $targ$13=void 0;var stmts$2=void 0;var vars$0=void 0;var pkgs$1=void 0;var body$0=void 0;var the_macros$0=void 0;var user__minus__req$0=void 0;var declarations$0=void 0;var expr$5=void 0;var bridge$$17794$0=void 0;var arg$1=void 0;var ph$4$0=void 0;t0$26=temp$4$0;arg$1=t0$26;ph$4$0=t0$26;bridge$$17794$0=ph$4$0;if(Array.isArray(bridge$$17794$0)&&(t0$27=bridge$$17794$0.length,t0$27===2&&bridge$$17794$0[0]==="data"&&(expr$5=bridge$$17794$0[1],true))||(expr$5=arg$1,true)){req$4=info$4.mark(["symbol","__require-m"]);$targ$13=getreqs$0(info$4,req$4,expr$5,"$MAC$");t0$28=$targ$13;if(Array.isArray(t0$28)&&(t1$9=t0$28.length,t1$9===3)){stmts$2=t0$28[0];vars$0=t0$28[1];pkgs$1=t0$28[2];}else{___match_error($targ$13,"{stmts, vars, pkgs}");}[stmts$2,vars$0,pkgs$1];acc$1=[];temp$5=null;m$13=null;var _iteratorNormalCompletion3=true;var _didIteratorError3=false;var _iteratorError3=undefined;try{$5:for(var _iterator3=vars$0[Symbol.iterator](),_step3;!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=true){m$13=_step3.value;var t0$30=void 0;var t0$31=void 0;var bridge$$17853$0=void 0;var t0$32=void 0;var v$2=void 0;var s$9=void 0;var t0$29=void 0;var bridge$$17852$0=void 0;t0$29=m$13;v$2=t0$29;bridge$$17852$0=t0$29;if((bridge$$17853$0=bridge$$17852$0,Array.isArray(bridge$$17853$0)&&(t0$30=bridge$$17853$0.length,t0$30===2&&bridge$$17853$0[0]==="symbol"&&(s$9=bridge$$17853$0[1],true))||Array.isArray(bridge$$17853$0)&&(t0$31=bridge$$17853$0.length,t0$31===2&&bridge$$17853$0[0]==="variable"&&(s$9=bridge$$17853$0[1],true)))||Array.isArray(bridge$$17852$0)&&(t0$32=bridge$$17852$0.length,t0$32===2&&bridge$$17852$0[0]==="value"&&(s$9=bridge$$17852$0[1],true))){temp$5=["send",["symbol","="],["data",v$2,["symbol","$MAC$"+s$9]]];acc$1.push(temp$5);}else{___match_error(m$13);}}}catch(err){_didIteratorError3=true;_iteratorError3=err;}finally{try{if(!_iteratorNormalCompletion3&&_iterator3.return){_iterator3.return();}}finally{if(_didIteratorError3){throw _iteratorError3;}}}vs$0=acc$1;body$0=["multi"].concat(stmts$2).concat([["data"].concat(vs$0)]);__lt____lt____colon__$0(body$0,arg$1);the_macros$0=info$4.go(body$0,"parse","eval");user__minus__req$0=info$4.mark(["symbol","require"]);acc$2=[];temp$6=null;m$14=null;var _iteratorNormalCompletion4=true;var _didIteratorError4=false;var _iteratorError4=undefined;try{var _loop=function _loop(){m$14=_step4.value;var m$15=void 0;var acc$3=void 0;var temp$7=void 0;var r$0=void 0;var deps$0=void 0;var f$0=void 0;var k$0=void 0;var v$3=void 0;var t0$33=void 0;var t1$10=void 0;var bridge$$17930$0=void 0;t0$33=m$14;if(Array.isArray(t0$33)&&(t1$10=t0$33.length,t1$10===2&&(k$0=t0$33[0],bridge$$17930$0=t0$33[1],(___hasprop(bridge$$17930$0,"macro")&&(v$3=bridge$$17930$0.macro,true)||(v$3=bridge$$17930$0,true))&&typeof v$3==="function"))){r$0=["splice"];if(v$3.__deps){deps$0=clone(v$3.__deps);}else{deps$0={};}r$0=r$0.concat((acc$3=[],temp$7=null,m$15=null,function(){var _iteratorNormalCompletion5=true;var _didIteratorError5=false;var _iteratorError5=undefined;try{$7:for(var _iterator5=items(v$3.__deps||{})[Symbol.iterator](),_step5;!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=true){m$15=_step5.value;var mangled__minus__name$0=void 0;var mangled$0=void 0;var $targ$14=void 0;var name$8=void 0;var ename$0=void 0;var t0$34=void 0;var t1$11=void 0;t0$34=m$15;if(Array.isArray(t0$34)&&(t1$11=t0$34.length,t1$11===2)){name$8=t0$34[0];ename$0=t0$34[1];mangled__minus__name$0=info$4.gensym("_mdep_"+name$8);mangled$0=["variable",mangled__minus__name$0];$targ$14=mangled$0;deps$0[name$8]=$targ$14;temp$7=["splice",__amp____colon__(["send",user__minus__req$0,["data",["send",["symbol","->"],["data",send(pkgs$1,k$0),["send",["symbol","as"],["data",["symbol",ename$0],mangled$0]]]]]],{"env":info$4.env}),["send",["symbol","="],["data",["send",["symbol","global"],["value",mangled__minus__name$0]],mangled$0]]];acc$3.push(temp$7);}else{___match_error(m$15);}}}catch(err){_didIteratorError5=true;_iteratorError5=err;}finally{try{if(!_iteratorNormalCompletion5&&_iterator5.return){_iterator5.return();}}finally{if(_didIteratorError5){throw _iteratorError5;}}}}(),acc$3));f$0=function f(ctx$0,info$5,form$4,expr$6){var $targ$15=void 0;$targ$15=deps$0;info$5["deps"]=$targ$15;return v$3.call(inject__minus__tools$0(info$5),expr$6);};r$0.push(["declare_raw",__amp____colon__(["symbol",k$0],{"env":info$4.env}),["macro",f$0]]);temp$6=r$0;acc$2.push(temp$6);}else{false;}};$6:for(var _iterator4=items(the_macros$0)[Symbol.iterator](),_step4;!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=true){_loop();}}catch(err){_didIteratorError4=true;_iteratorError4=err;}finally{try{if(!_iteratorNormalCompletion4&&_iterator4.return){_iterator4.return();}}finally{if(_didIteratorError4){throw _iteratorError4;}}}macs$0=acc$2;declarations$0=["splice"].concat(macs$0);return["restmacro",function(stmts$3){return[declarations$0,["multi"].concat(stmts$3)];}];}else{return ___match_error(ph$4$0,"#data{expr} or expr is arg");}};t0$35=getProjector(mac$0("requireMacros"))($targ$5);if(t0$35[0]){requiremac_mac$0=t0$35[1];}else{___match_error($targ$5,"mac{\"requireMacros\"}! requiremac_mac{context, info, form, match arg}");}$targ$6=function $targ$6(temp$8$0,temp$9$0,form$5,e$0){var t0$36=void 0;var x$5=void 0;var t0$37=void 0;var m$16$0=void 0;var t0$38=void 0;var t1$12=void 0;var t2$2=void 0;var t3$2=void 0;var t4$1=void 0;var m$17=void 0;var acc$4=void 0;var temp$10=void 0;var $targ$16=void 0;var expr$7=void 0;var exp$0=void 0;var context$4=void 0;var ph$5$0=void 0;t0$36=temp$8$0;context$4=t0$36;ph$5$0=t0$36;if(x$5=ph$5$0,x$5 instanceof Array&&x$5[0]==="pattern"){m$16$0=e$0;if(Array.isArray(m$16$0)&&(t0$37=m$16$0.length,t0$37===1&&m$16$0[0]==="void")){return["send",["symbol","and"],["data",["send",["symbol","module"],["send",["symbol","."],["data",["void"],["symbol","exports"]]]],["send",["symbol","set-var"],["variable","exports"]]]];}else{return["send",["send",["symbol","and"],["data",["send",["symbol","module"],["send",["symbol","."],["data",["void"],["symbol","exports"]]]],["send",["symbol","set-var"],["variable","exports"]]]],e$0];}}else{$targ$16=e$0;t0$38=$targ$16;if(Array.isArray(t0$38)&&(t1$12=t0$38.length,t1$12===2&&t0$38[0]==="data"&&(t2$2=getProjector(Body$0)(t0$38[1]),t2$2[0]&&(t3$2=t2$2[1],t4$1=t3$2.length,t4$1>=0)))){expr$7=Array.prototype.slice.call(t3$2,0);}else{___match_error($targ$16,"#data{Body! {*expr}}");}exp$0=form$5.env.mark(["symbol","exports"]);return["sink",["multi"].concat((acc$4=[],temp$10=null,m$17=null,function(){var _iteratorNormalCompletion6=true;var _didIteratorError6=false;var _iteratorError6=undefined;try{$8:for(var _iterator6=expr$7[Symbol.iterator](),_step6;!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=true){m$17=_step6.value;var t0$40=void 0;var t0$41=void 0;var other$1=void 0;var s$11=void 0;var name$10=void 0;var s$10=void 0;var name$9=void 0;var $$18143$0=void 0;var t0$39=void 0;var t1$13=void 0;var t2$3=void 0;var t3$3=void 0;var t4$2=void 0;var t5$1=void 0;var bridge$$18141$0=void 0;t0$39=m$17;s$10=t0$39;if(Array.isArray(t0$39)&&(t1$13=t0$39.length,t1$13===2&&t0$39[0]==="symbol")){name$9=t0$39[1];temp$10=["send",["symbol","="],["data",["send",exp$0,["value",camelCase$0(name$9)]],s$10]];acc$4.push(temp$10);}else{if(Array.isArray(t0$39)&&(t1$13=t0$39.length,t1$13===3&&t0$39[0]==="send"&&(t2$3=t0$39[1],Array.isArray(t2$3)&&(t3$3=t2$3.length,t3$3===2&&t2$3[0]==="symbol"&&t2$3[1]==="as"&&(t4$2=t0$39[2],Array.isArray(t4$2)&&(t5$1=t4$2.length,t5$1===3&&t4$2[0]==="data"&&(s$11=t4$2[1],bridge$$18141$0=t4$2[2],Array.isArray(bridge$$18141$0)&&(t0$40=bridge$$18141$0.length,t0$40===2&&bridge$$18141$0[0]==="symbol"&&(name$10=bridge$$18141$0[1],true))||Array.isArray(bridge$$18141$0)&&(t0$41=bridge$$18141$0.length,t0$41===2&&bridge$$18141$0[0]==="value"&&(name$10=bridge$$18141$0[1],true))))))))){temp$10=["send",["symbol","="],["data",["send",exp$0,["value",camelCase$0(name$10)]],s$11]];acc$4.push(temp$10);}else{other$1=m$17;throw ErrorFactory(["syntax","provide"]).create("Each clause of provide must be 'sym' or 'sym as name'");acc$4.push(temp$10);}}}}catch(err){_didIteratorError6=true;_iteratorError6=err;}finally{try{if(!_iteratorNormalCompletion6&&_iterator6.return){_iterator6.return();}}finally{if(_didIteratorError6){throw _iteratorError6;}}}}(),acc$4))];}};t0$42=getProjector(mac$0("provide"))($targ$6);if(t0$42[0]){provide_mac$0=t0$42[1];}else{___match_error($targ$6,"mac{\"provide\"}! provide_mac{match context, _, form, e}");}$targ$7=function $targ$7(context$5,temp$11$0,form$6,temp$12$0){var t0$43=void 0;var t1$14=void 0;var t2$4=void 0;var t3$4=void 0;var t4$3=void 0;var expr$8=void 0;t0$43=temp$12$0;if(Array.isArray(t0$43)&&(t1$14=t0$43.length,t1$14===2&&t0$43[0]==="data"&&(t2$4=getProjector(Body$0)(t0$43[1]),t2$4[0]&&(t3$4=t2$4[1],t4$3=t3$4.length,t4$3>=0)))){expr$8=Array.prototype.slice.call(t3$4,0);}else{___match_error(temp$12$0);}return["restmacro",function(stmts$4){var exp$1=void 0;exp$1=form$6.env.mark(["symbol","exports"]);return[["multi",["send",["symbol","globals"],["data",["symbol","module"]]],["send",["symbol","="],["data",["send",["send",["symbol","module"],["send",["symbol","."],["data",["void"],["symbol","exports"]]]],["data"].concat(expr$8)],["multi",["send",["symbol","="],["data",["send",["symbol","var"],exp$1],["data",["symbol","="]]]],["multi"].concat(stmts$4),exp$1]]]]];}];};t0$44=getProjector(mac$0("inject"))($targ$7);if(t0$44[0]){inject_mac$0=t0$44[1];}else{___match_error($targ$7,"mac{\"inject\"}! inject_mac{context, _, form, #data{Body! {*expr}}}");}$targ$8=function $targ$8(context$6,temp$13$0,form$7,temp$14$0){var t0$45=void 0;var t1$15=void 0;var t2$5=void 0;var t3$5=void 0;var t4$4=void 0;var m$18=void 0;var acc$5=void 0;var temp$15=void 0;var globs$0=void 0;var vars$1=void 0;t0$45=temp$14$0;if(Array.isArray(t0$45)&&(t1$15=t0$45.length,t1$15===2&&t0$45[0]==="data"&&(t2$5=getProjector(Body$0)(t0$45[1]),t2$5[0]&&(t3$5=t2$5[1],t4$4=t3$5.length,t4$4>=0)))){vars$1=Array.prototype.slice.call(t3$5,0);}else{___match_error(temp$14$0);}acc$5=[];temp$15=null;m$18=null;var _iteratorNormalCompletion7=true;var _didIteratorError7=false;var _iteratorError7=undefined;try{$9:for(var _iterator7=vars$1[Symbol.iterator](),_step7;!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=true){m$18=_step7.value;var variable$0=void 0;var s$12=void 0;var t0$46=void 0;var t1$16=void 0;t0$46=m$18;variable$0=t0$46;if(Array.isArray(t0$46)&&(t1$16=t0$46.length,t1$16===2&&t0$46[0]==="symbol")){s$12=t0$46[1];temp$15=["splice",["declare_raw",variable$0,__amp____colon__(["variable",camelCase$0(s$12)],{"top":true,"mutable":true})],["send",["symbol","if"],["data",["send",["symbol","==="],["data",["send",["symbol","typeof"],["data",variable$0]],["value","undefined"]]],["send",["symbol","="],["data",["send",["symbol","global"],["value",s$12]],["symbol","undefined"]]]]]];acc$5.push(temp$15);}else{___match_error(m$18);}}}catch(err){_didIteratorError7=true;_iteratorError7=err;}finally{try{if(!_iteratorNormalCompletion7&&_iterator7.return){_iterator7.return();}}finally{if(_didIteratorError7){throw _iteratorError7;}}}globs$0=acc$5;return["splice"].concat(globs$0).concat([["symbol","undefined"]]);};t0$47=getProjector(mac$0("globals"))($targ$8);if(t0$47[0]){globals_mac$0=t0$47[1];}else{___match_error($targ$8,"mac{\"globals\"}! globals_mac{context, _, form, #data{Body! {*vars}}}");}return exports$0;};module["exports"]=$targ$0;void 0;
//# sourceMappingURL=modularity.js.map