From 65a5fd69841c2495e2a6e2403eb4d12445ffb343 Mon Sep 17 00:00:00 2001 From: Scott Richmond Date: Mon, 27 Nov 2023 01:23:18 -0500 Subject: [PATCH] Allow binding expressions in bare function bodies --- ludus.grammar | 2 +- parser.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ludus.grammar b/ludus.grammar index f535149..31b8d17 100644 --- a/ludus.grammar +++ b/ludus.grammar @@ -66,7 +66,7 @@ Loop { silent<"loop"> simple "with" (Fn_Clause | Fn_Clauses) } simple { atom | collection | Synthetic | Fn_Lambda | Recur } -Fn_Clause { Tuple_Pattern "->" non_binding } +Fn_Clause { Tuple_Pattern "->" expression } Fn_Clauses { "{" diff --git a/parser.js b/parser.js index 633ca05..7a355c8 100644 --- a/parser.js +++ b/parser.js @@ -3,9 +3,9 @@ import {LRParser} from "@lezer/lr" const spec_Word = {__proto__:null,true:8, false:10, nil:148, fn:188, recur:192, if:198, then:202, else:204, let:206, match:210, with:212, when:216, loop:218, repeat:222, each:224, ref:230, import:234, as:236, use:238, ns:240} export const parser = LRParser.deserialize({ version: 14, - states: "!;bOYQPOOOOQO'#D^'#D^OYQPOOO#PQPO'#CeOOQO'#Dw'#DwO#UQPO'#DwO%QQQO'#CfO%XQQO'#CgO%cQQO'#CiO%mQQO'#CjO&OQQO'#CkOOQO'#Dz'#DzO&^QPO'#ClOOQO'#Dv'#DvO&fQPO'#CyOOQO'#Ea'#EaOOQO'#Du'#DuOOQO'#Er'#ErOOQO'#Dt'#DtOOQO'#Et'#EtO(SQPO'#DsOOQO'#D_'#D_Q)rQPOOOOQO'#C^'#C^OOQO'#Cb'#CbO*PQPO'#CoO&aQPO'#CxO+VQPO'#CzO+^QPO'#C|O,[QPO'#DPO,aQPO'#DRO-_QPO'#DTO,aQPO'#DUO-gQPO'#DVO._QPO'#DWO.dQPO'#DZO.iQPO'#D[O.nQPO'#D]OOQO-E7[-E7[OOQO,59P,59PO.sQQO'#DwOOQO'#D`'#D`O/XQQO,59QO/`QQO,59QOOQO,59Q,59QO*SQPO'#CoO/hQQO,59ROOQO'#EP'#EPO/rQQO,59ROOQO,59R,59RO/zQPO'#ChO0PQQO,59TO0ZQQO,59TOOQO,59T,59TO0cQQO,59UOOQO'#EW'#EWO0tQPO'#EWOOQO'#EV'#EVO2XQQO,59UOOQO,59U,59UO2aQQO,59VO2gQQO,59VOOQO,59V,59VO3sQQO'#CmOOQO'#EZ'#EZOOQO'#De'#DeO3zQPO,59WO&fQPO,59eO4`QPO,59eO4hQPO,5:_OOQO-E7]-E7]O6bQQO'#CqO6oQPO'#CpOOQO,59Z,59ZO6tQPO,59sOOQO,59d,59dO6|QSO'#DwO7_QSO,59fO-gQPO,59gO7gQPO,59hO7lQPO,59kO7yQWO'#DwO8XQWO,59mO8^QPO,59oO8cQWO,59pOOQO'#Cn'#CnO8hQQO'#CsO8uQQO'#CuO9WQQO'#CwOOQO'#Cr'#CrO9iQPO,59qO9nQPO,59rO9sQPO,59uOOQO,59v,59vO9xQPO,59wOOQO-E7^-E7^O9}QQO1G.lOOQO1G.l1G.lO:VQQO1G.lO9}QQO1G.lO:^QQO,59WO:rQQO1G.mOOQO1G.m1G.mO:zQQO1G.mO:rQQO1G.mOOQO,59S,59SO;UQQO1G.oOOQO1G.o1G.oO;^QQO1G.oO;UQQO1G.oO;hQQO1G.pOOQO1G.p1G.pOOQO,5:r,5:rO;pQQO1G.pO;hQQO1G.pOaQPO'#DSOOQO1G/_1G/_OOQO1G/`1G/`O>iQSO,59WOOQO'#Dj'#DjO>zQSO1G/QO?SQPO1G/QO@mQPO1G/RO@rQPO1G/SO7lQPO1G/VO@|QPO'#DQOOQO'#DO'#DOOARQPO1G/VOAZQWO,59WO6tQPO1G/XOOQO1G/Z1G/ZO6tQPO1G/[OAiQQO,59_OOQO,59_,59_OAvQQO,59_OAvQQO,59_O6hQPO,59_OBOQQO,59aOOQO'#Cv'#CvO-gQPO'#CvOBaQQO,59aOBiQPO,59aOOQO,59a,59aOBaQQO,59aOBtQQO,59cOCVQQO,59cOBiQPO,59cOOQO,59c,59cOCVQQO,59cO=vQPO1G/]O(XQPO1G/^OC_QPO1G/aOCdQQO1G/cOCoQQO7+$WOCvQQO7+$WOOQO7+$W7+$WOOQO,59{,59{OOQO-E7_-E7_ODOQQO7+$XODYQQO7+$XOOQO7+$X7+$XOOQO,59|,59|OOQO-E7`-E7`ODbQQO7+$ZODlQQO7+$ZOOQO7+$Z7+$ZODtQQO7+$[OEVQQO7+$[OOQO7+$[7+$[OOQO,59},59}OOQO-E7a-E7aOE_QQO7+$]OEeQQO7+$]OOQO7+$]7+$]OOQO,5:O,5:OOOQO-E7b-E7bOOQO1G.s1G.sOEmQQO1G.sOEuQQO1G.sOEmQQO1G.sOE|QPO7+$kOFTQPO7+$kOOQO7+$k7+$kOOQO,5:T,5:TOOQO-E7g-E7gOF]QQO1G.wO6hQPO1G.wOOQO1G.w1G.wOF]QQO1G.wOGcQQO1G.wOOQO-E7e-E7eOF]QQO1G.wOOQO,59`,59`OOQO1G.v1G.vO>aQPO,59nOGjQPO,59nOOQO-E7h-E7hO?SQPO7+$lOGrQSO7+$lO*XQPO7+$mOGzQPO'#C}OOQO'#Ek'#EkOHPQPO'#EkOOQO7+$n7+$nOHZQPO7+$qOHcQSO,59lOHjQPO7+$qOHZQPO7+$qOOQO7+$q7+$qOOQO7+$s7+$sOOQO7+$v7+$vOOQO1G.y1G.yOHzQQO1G.yOHzQQO1G.yO6hQPO1G.yOISQQO1G.yOHzQQO1G.yOIZQQO1G.{OBiQPO1G.{OOQO1G.{1G.{OIZQQO1G.{OOQO,59b,59bOIcQQO1G.{OOQO-E7f-E7fOIZQQO1G.{OItQQO1G.}OBiQPO1G.}OOQO1G.}1G.}OItQQO1G.}OI|QQO1G.}OItQQO1G.}OOQO7+$w7+$wOOQO7+$x7+$xOOQO7+${7+${OCdQQO7+$}OJ_QQO7+$}OOQO<TO!&[QQOAN>TOOQOAN>TAN>TOOQOAN=eAN=eOOQOAN=iAN=iOOQO<aQPO'#D^O(XQPOG23^OOQOG23^G23^O?SQPOG23_O!&oQSOG23_OOQO7+$o7+$oO!&wQPO7+&]O!'UQPO7+&]OOQO7+&]7+&]OOQO,5:V,5:VOOQO-E7i-E7iOOQOG23cG23cOOQOAN=kAN=kOOQOAN=mAN=mOOQOAN=oAN=oOOQOG23oG23oO!'^QQOG23oOOQOAN=zAN=zOOQOLD(xLD(xO!'lQSOLD(yO!'lQSOLD(yO(XQPOLD(yOOQO<x>x>x>}@s@zF[FfFxGSGfGxHSHfHxISKnKxLSPPPPPL^Lc! U!#c!'QPP.ZPPPP!*`PPPPP!*u!+RP!+p!.g!.qPPPP!.}PPPPPPPPP!0|PPPPPP!1SP!2g'eSOQUVW^fklnpqz!O!T!Y!a!e!i!p!r!x#U#Z#`#k#q#t#v#z$R$T$U$^$b$e$o$p$s$x$}%^%`%f%q%s%v%y%z&S&k&l&n&o&q&x'O'P'^'`'a'c'f(U(V(c(f(g(j(n(p)T)V)Y)i)k)l)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+m+n+o+|+},O,P,Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,z-O-P-Q!WSq!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-Q!bTOQ^fl!e!r#q#z$U$o$p%`%y%z'O'P'^'`'c'f(c(g(n(p)T)i)o)r,u,v,w!hxUVWz!O!T!Y!a#U#Z#`#k$s$x$}%^&k&l&n&o&q&x(U(V)x)|*P*R*U*X*[*_*b*e*hr!YXY!W!^#e#i$r%Q%V&h&s&t&v&w'{({)d`!b[!d#W$O$Y)u)v)w!h!nk$R%q%s(f)V)y){*O*T*W*Z*^*a*d*g*j+|+},O,S,T,U,V,W,X,Y,Z,[,r,s,t,x,y,zv!snp)z)}*Q*S*V*Y*]*`*c*f*i,],^,_,`,a,ba$e!y!z$c$g$j$l&W&`&]ZOQUVW^fklnpz!O!T!Y!a!e!r#U#Z#`#k#q#z$R$U$o$p$s$x$}%^%`%q%s%y%z&k&l&n&o&q&x'O'P'^'`'c'f(U(V(c(f(g(n(p)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,zf!PVW!O!T#Z#`$x$}&n&o&q]!ZX!W#e%Q&s&t&]]OQUVW^fklnpz!O!T!Y!a!e!r#U#Z#`#k#q#z$R$U$o$p$s$x$}%^%`%q%s%y%z&k&l&n&o&q&x'O'P'^'`'c'f(U(V(c(f(g(n(p)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,z`!b[!d#W$O$Y)u)v)wR!mj!W!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-Q[#l!a#k%^&x(U(V[$V!r$U%z'c(n(pR%l#y`!ki}+j+k+l+s+t+uW#|!l*n*o*pQ%o#{W%}$Z*w*x*yW&O$]*z*{*|Q'W%nX(`'X(])R)Sf!ji!l#{$Z$]%n'X(])R)S+t!W!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-QY*k}*o*w*z+kY*l*n*y*|+j+sZ*m*p*x*{+l+uQ!|qQ#u!iQ$S!pQ$`!xS%e#t#v^%t$T%v'a(j)Y)k)lS&Q$^$bQ&Z$eQ'S%fQ'm&SQ*q+mQ*r+nQ*s+oQ+Q,PQ+R,QQ+S,RQ,{-OQ,|-PR,}-Q!X!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-QQ#x!iQ$a!xQ$i!yQ$n!zS%h#t#vS&R$^$bS&Y$c$gS&b$j$lQ'T%fQ'n&SQ'r&WR'x&`Q$f!yQ$k!zS&V$c$gS&_$j$lQ'q&WR'w&`$x_OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[R$[!u$y_OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[W%u$T,P,Q,RQ'b%vQ(i'aX)](j)Y)k)l[$V!r$U%z'c(n(p^%t$T%v'a(j)Y)k)lQ+Q,PQ+R,QR+S,RQ$X!rQ%x$UX'h%z'c(n(pW#}!l*n*o*pW%}$Z*w*x*yX&O$]*z*{*|#saOQ^f!e#q$R$p%`%q%y'O'P'^'`'f(c(f(g)T)V)i)o)r*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[VcOQfQQO|vQ!e!g#q$U%`%n%z'O'P'X'a'c(](j(n(p)R)S)Y)k)lQ!e^Q!gdQ#q!fQ$U!rS%`#p#rQ%n#{Q%z$XQ'O%aQ'X%oQ'a%vS'c%x%{S(]'W'YQ(j'bQ(n'dQ)R(^S)Y(i(kR)k)ZSfOQR!hfQzUQ!OVQ!TWQ!WXQ!^Y#r#Rz!O!T!W!^#U#Z#`#e#i#k#t$^$c$j$s$x$}%Q%V%^%i%k&T&U&[&^&c&d&h&k&l&n&o&q&s&t&v&w&x'Q'U'j'l'o's'u'y'{(U(V(Y(Z([(r(s(u(v(w(y(z({)dQ#U{Q#Z!QQ#`!UQ#e![Q#i!_Q#k!aQ#t!iQ$^!xQ$c!yQ$j!zS$s#S#VS$x#X#[S$}#^#aS%Q#b#fS%V#g#jQ%^#nQ%i#uQ%k#xQ&T$`Q&U$aQ&[$fQ&^$iQ&c$kQ&d$nQ&h$rQ&k$tQ&n$yQ&q%OQ&s%RQ&v%WS&x%]%_Q'Q%eQ'U%hQ'j&QQ'l&RQ'o&VQ's&YQ'u&_Q'y&bQ'{&iQ(U&yQ(Y'SQ(Z'TQ(['VQ(r'mQ(s'nQ(u'qQ(v'rQ(w'tQ(y'wQ(z'xS({'z'|R)d(|Q#V{Q$t#ST$w#V$tQ#[!QQ#a!UQ$y#XW$|#[#a$y%OR%O#^Q#f![Q%R#bT%U#f%RQ#j!_Q%W#gW%Z#j%W'|(|Q'|&iR(|'zQ!d[Q#W)uW#o!d#W$O$YQ$O)vR$Y)wQ%_#nQ&y%]T&|%_&yQ#v!iQ$b!xQ%f#tW%j#v$b%f&SR&S$^Q$g!yQ$l!zQ&W$cW&]$g$l&W&`R&`$jQ#r!fQ%a#pT%d#r%aQ$Q!o![%p$Q']'f(b(e(g)h)n*[*]*^+W+X+Y+Z+[+]+d+e+f+g+h+i,i,j,k,o,p,qQ']%rQ'f%yQ(b'[Q(e'_Q(g'`Q)h)WQ)n)gQ*[*UQ*]*VQ*^*WQ+W*}Q+X+OQ+Y+PQ+Z+TQ+[+UQ+]+VQ+d+^Q+e+_Q+f+`Q+g+aQ+h+bQ+i+cQ,i,cQ,j,dQ,k,eQ,o,lQ,p,mR,q,nQ(k'bQ)Z(iT)^(k)ZQ%{$XQ'd%xT'i%{'dQ'Y%oQ(^'WT(a'Y(^VeOQfUdOQfQ!f^Q#p!eW%c#q%`'O'PQ%r$RW&f$p*O*P*QQ'[%qQ'g%yW(d'^*R*S*TW(h'`*U*V*WQ(o'fW)U(c*X*Y*ZQ)W(fW)X(g*[*]*^W)f)T*_*`*aQ)g)VW)p)i*b*c*dW)s)o*e*f*gW)t)r*h*i*jQ*}+|Q+O+}Q+P,OQ+T,SQ+U,TQ+V,UQ+^,VQ+_,WQ+`,XQ+a,YQ+b,ZR+c,[#rbOQ^f!e#q$R$p%`%q%y'O'P'^'`'f(c(f(g)T)V)i)o)r*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[Q{Uf!PVW!O!T#Z#`$x$}&n&o&qQ#SzQ#d!YW$v#U$s&k&lW%m#z)x)y)zX&e$o){)|)}$x`OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[Q!okQ!qlQ!tnQ!vp[#l!a#k%^&x(U(V[$V!r$U%z'c(n(pQ'_%sQ+v,]Q+w,^Q+x,_Q+y,`Q+z,aQ+{,bQ,c,rQ,d,sQ,e,tQ,f,uQ,g,vQ,h,wQ,l,xQ,m,yR,n,z&[]OQUVW^fklnpz!O!T!Y!a!e!r#U#Z#`#k#q#z$R$U$o$p$s$x$}%^%`%q%s%y%z&k&l&n&o&q&x'O'P'^'`'c'f(U(V(c(f(g(n(p)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,z!X!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-QQ!QVQ!UWQ#X!OQ#^!T_${#Z#`$x$}&n&o&qQ![XQ#b!WX%T#e%Q&s&t[!ZX!W#e%Q&s&tQ!_YQ#g!^^%Y#i%V&v&w'{({)dQ&i$rR'z&h!b[OQ^fl!e!r#q#z$U$o$p%`%y%z'O'P'^'`'c'f(c(g(n(p)T)i)o)r,u,v,w!h)uUVWz!O!T!Y!a#U#Z#`#k$s$x$}%^&k&l&n&o&q&x(U(V)x)|*P*R*U*X*[*_*b*e*h!h)vk$R%q%s(f)V)y){*O*T*W*Z*^*a*d*g*j+|+},O,S,T,U,V,W,X,Y,Z,[,r,s,t,x,y,zw)wnp)z)}*Q*S*V*Y*]*`*c*f*i,],^,_,`,a,ba!c[!d#W$O$Y)u)v)wQ#n!aQ%]#kX&{%^&x(U(V$y`OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[X%w$T,P,Q,R#sbOQ^f!e#q$R$p%`%q%y'O'P'^'`'f(c(f(g)T)V)i)o)r*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[VdOQf", + states: "!;bOYQPOOOOQO'#D^'#D^OYQPOOO#PQPO'#CeOOQO'#Dw'#DwO#UQPO'#DwO%QQQO'#CfO%XQQO'#CgO%cQQO'#CiO%mQQO'#CjO&OQQO'#CkOOQO'#Dz'#DzO&^QPO'#ClOOQO'#Dv'#DvO&fQPO'#CyOOQO'#Ea'#EaOOQO'#Du'#DuOOQO'#Er'#ErOOQO'#Dt'#DtOOQO'#Et'#EtO(SQPO'#DsOOQO'#D_'#D_Q)rQPOOOOQO'#C^'#C^OOQO'#Cb'#CbO*PQPO'#CoO&aQPO'#CxO+VQPO'#CzO+^QPO'#C|O,[QPO'#DPO,aQPO'#DRO-_QPO'#DTO,aQPO'#DUO-gQPO'#DVO._QPO'#DWO.dQPO'#DZO.iQPO'#D[O.nQPO'#D]OOQO-E7[-E7[OOQO,59P,59PO.sQQO'#DwOOQO'#D`'#D`O/XQQO,59QO/`QQO,59QOOQO,59Q,59QO*SQPO'#CoO/hQQO,59ROOQO'#EP'#EPO/rQQO,59ROOQO,59R,59RO/zQPO'#ChO0PQQO,59TO0ZQQO,59TOOQO,59T,59TO0cQQO,59UOOQO'#EW'#EWO0tQPO'#EWOOQO'#EV'#EVO2XQQO,59UOOQO,59U,59UO2aQQO,59VO2gQQO,59VOOQO,59V,59VO3sQQO'#CmOOQO'#EZ'#EZOOQO'#De'#DeO3zQPO,59WO&fQPO,59eO4`QPO,59eO4hQPO,5:_OOQO-E7]-E7]O6bQQO'#CqO6oQPO'#CpOOQO,59Z,59ZO6tQPO,59sOOQO,59d,59dO6|QSO'#DwO7_QSO,59fO-gQPO,59gO7gQPO,59hO7lQPO,59kO7yQWO'#DwO8XQWO,59mO8^QPO,59oO8cQWO,59pOOQO'#Cn'#CnO8hQQO'#CsO8uQQO'#CuO9WQQO'#CwOOQO'#Cr'#CrO9iQPO,59qO9nQPO,59rO9sQPO,59uOOQO,59v,59vO9xQPO,59wOOQO-E7^-E7^O9}QQO1G.lOOQO1G.l1G.lO:VQQO1G.lO9}QQO1G.lO:^QQO,59WO:rQQO1G.mOOQO1G.m1G.mO:zQQO1G.mO:rQQO1G.mOOQO,59S,59SO;UQQO1G.oOOQO1G.o1G.oO;^QQO1G.oO;UQQO1G.oO;hQQO1G.pOOQO1G.p1G.pOOQO,5:r,5:rO;pQQO1G.pO;hQQO1G.pOOQSO,59WOOQO'#Dj'#DjO>aQSO1G/QO>iQPO1G/QO@SQPO1G/RO@XQPO1G/SO7lQPO1G/VO@cQPO'#DQOOQO'#DO'#DOO@hQPO1G/VO@pQWO,59WO6tQPO1G/XOOQO1G/Z1G/ZO6tQPO1G/[OAOQQO,59_OOQO,59_,59_OA]QQO,59_OA]QQO,59_O6hQPO,59_OAeQQO,59aOOQO'#Cv'#CvO-gQPO'#CvOAvQQO,59aOBOQPO,59aOOQO,59a,59aOAvQQO,59aOBZQQO,59cOBlQQO,59cOBOQPO,59cOOQO,59c,59cOBlQQO,59cOBtQPO1G/]O(XQPO1G/^OC_QPO1G/aOCdQQO1G/cOCoQQO7+$WOCvQQO7+$WOOQO7+$W7+$WOOQO,59{,59{OOQO-E7_-E7_ODOQQO7+$XODYQQO7+$XOOQO7+$X7+$XOOQO,59|,59|OOQO-E7`-E7`ODbQQO7+$ZODlQQO7+$ZOOQO7+$Z7+$ZODtQQO7+$[OEVQQO7+$[OOQO7+$[7+$[OOQO,59},59}OOQO-E7a-E7aOE_QQO7+$]OEeQQO7+$]OOQO7+$]7+$]OOQO,5:O,5:OOOQO-E7b-E7bOOQO1G.s1G.sOEmQQO1G.sOEuQQO1G.sOEmQQO1G.sOE|QPO7+$kOFTQPO7+$kOOQO7+$k7+$kOOQO,5:T,5:TOOQO-E7g-E7gOF]QQO1G.wO6hQPO1G.wOOQO1G.w1G.wOF]QQO1G.wOGcQQO1G.wOOQO-E7e-E7eOF]QQO1G.wOOQO,59`,59`OOQO1G.v1G.vO=vQPO,59nOGjQPO,59nOOQO-E7h-E7hO>iQPO7+$lOGrQSO7+$lO*XQPO7+$mOGzQPO'#C}OOQO'#Ek'#EkOHPQPO'#EkOOQO7+$n7+$nOHZQPO7+$qOHcQSO,59lOHjQPO7+$qOHZQPO7+$qOOQO7+$q7+$qOOQO7+$s7+$sOOQO7+$v7+$vOOQO1G.y1G.yOHzQQO1G.yOHzQQO1G.yO6hQPO1G.yOISQQO1G.yOHzQQO1G.yOIZQQO1G.{OBOQPO1G.{OOQO1G.{1G.{OIZQQO1G.{OOQO,59b,59bOIcQQO1G.{OOQO-E7f-E7fOIZQQO1G.{OItQQO1G.}OBOQPO1G.}OOQO1G.}1G.}OItQQO1G.}OI|QQO1G.}OItQQO1G.}OOQO7+$w7+$wOOQO7+$x7+$xOOQO7+${7+${OCdQQO7+$}OJ_QQO7+$}OOQO<iQPOAN=sOHcQSO1G/TOOQO1G/T1G/TO!#lQPO1G0qO!#tQPO1G0qO!#lQPO1G0qOOQO1G0q1G0qOOQOAN=wAN=wO!$RQPOAN=wOOQO7+$r7+$rP7lQPO'#D^OOQO<TO!&[QQOAN>TOOQOAN>TAN>TOOQOAN=eAN=eOOQOAN=iAN=iOOQO<iQPOG23_O!&oQSOG23_OOQO7+$o7+$oO!&wQPO7+&]O!'UQPO7+&]OOQO7+&]7+&]OOQO,5:V,5:VOOQO-E7i-E7iOOQOG23cG23cOOQOAN=kAN=kOOQOAN=mAN=mOOQOAN=oAN=oOOQOG23oG23oO!'^QQOG23oOOQOAN=zAN=zOOQOLD(xLD(xO!'lQSOLD(yO!'lQSOLD(yO(XQPOLD(yOOQO<iQPO,59[O!)tQPO,59[O!+_QPO1G/]O0tQPO1G/]O!+xQPO1G/]O>iQPO1G/^O!(ZQPO1G/^O!)tQPO1G/^O!(ZQPO<iQPO<iQPOAN=rO!,cQSO1G/TO!,jQSO1G/TO!,qQSO1G/TO!(ZQPOG23^O!)tQPOG23^O>iQPOG23^O!(ZQPOLD(yO!)tQPOLD(yO>iQPOLD(yO!(ZQPO!$'LeO!)tQPO!$'LeO>iQPO!$'LeO!(ZQPO!)9BPO!)tQPO!)9BPO>iQPO!)9BPO!,xQPO'#CpO!,}QPO'#CpO!-SQPO'#CpO6tQPO,59sO6tQPO,59sO6tQPO,59sO!-XQPO,59qO!-^QPO,59qO!-cQPO,59qO!-hQPO,59rO!-mQPO,59rO!-rQPO,59rO6tQPO1G/XO6tQPO1G/XO6tQPO1G/XO6tQPO1G/[O6tQPO1G/[O6tQPO1G/[O!-wQSO7+$lO!.PQSO7+$lO!.XQSO7+$lO!.aQPO'#C}O!.fQPO'#C}O!.kQPO'#C}O!.pQSO<iQPO1G/QO>iQPO1G/QO>iQPO1G/QO@XQPO1G/SO@XQPO1G/SO@XQPO1G/SO>iQPO7+$lO>iQPO7+$lO>iQPO7+$lO>iQPOAN=sO>iQPOAN=sO>iQPOAN=sO>iQPOG23_O>iQPOG23_O>iQPOG23_O,aQPO'#DRO,aQPO'#DRO,aQPO'#DRO,aQPO'#DUO,aQPO'#DUO,aQPO'#DUO!2uQSO,59fO!2}QSO,59fO!3VQSO,59fO!3_QPO,59hO!3dQPO,59hO!3iQPO,59hO!3nQSO1G/QO!3vQSO1G/QO!4OQSO1G/QO!4WQSO<iO#R)xO~O#R)yO~O#R)zO~O#[){O~O#[)|O~O#[)}O~O#[*OO~O#[*PO~O#[*QO~O#W$PO#Y*RO~O#W$PO#Y*SO~O#W$PO#Y*TO~O#R*UO~O#R*VO~O#R*WO~O#W$PO#Y*XO~O#W$PO#Y*YO~O#W$PO#Y*ZO~O#W$PO#Y*_O~O#W$PO#Y*`O~O#W$PO#Y*aO~O#W$PO#Y*bO~O#W$PO#Y*cO~O#W$PO#Y*dO~O#W$PO#Y*eO~O#W$PO#Y*fO~O#W$PO#Y*gO~O#W$PO#Y*hO~O#W$PO#Y*iO~O#W$PO#Y*jO~OR*nO!o!iO~OR*oO!o!iO~OR*pO!o!iO~OR*tO~OR*uO~OR*vO~O#b*wO~O#b*xO~O#b*yO~O#e*zO~O#e*{O~O#e*|O~O#W$PO#X+|O~O#W$PO#X+}O~O#W$PO#X,OO~O#^,PO~O#^,QO~O#^,RO~O#W$PO#X,SO~O#W$PO#X,TO~O#W$PO#X,UO~O#W$PO#X,VO~O#W$PO#X,WO~O#W$PO#X,XO~O#W$PO#X,YO~O#W$PO#X,ZO~O#W$PO#X,[O~O#Z-OO~P*XO#Z-PO~P*XO#Z-QO~P*XO#[,xO~O#[,yO~O#[,zO~O", + goto: "!2x#iPP#jPPP#jPP&v+T+T-t+T+T+T.Z0z1X.Z2Z3T4f5y6h5y7b5y.Z7v9x9x9x;w|>|>|?R@wAOF`FjF|GWGjG|HWHjH|IWKrK|LWPPPPPLbLg! `!#k!'YPP.ZPPPP!*hPPPPP!*}!+ZP!+x!.o!.yPPPP!/VPPPPPPPPP!1UPPPPPP!1[P!2s'eSOQUVW^fklnpqz!O!T!Y!a!e!i!p!r!x#U#Z#`#k#q#t#v#z$R$T$U$^$b$e$o$p$s$x$}%^%`%f%q%s%v%y%z&S&k&l&n&o&q&x'O'P'^'`'a'c'f(U(V(c(f(g(j(n(p)T)V)Y)i)k)l)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+m+n+o+|+},O,P,Q,R,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,z-O-P-Q!WSq!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-Q!bTOQ^fl!e!r#q#z$U$o$p%`%y%z'O'P'^'`'c'f(c(g(n(p)T)i)o)r,u,v,w!hxUVWz!O!T!Y!a#U#Z#`#k$s$x$}%^&k&l&n&o&q&x(U(V)x)|*P*R*U*X*[*_*b*e*hr!YXY!W!^#e#i$r%Q%V&h&s&t&v&w'{({)d`!b[!d#W$O$Y)u)v)w!h!nk$R%q%s(f)V)y){*O*T*W*Z*^*a*d*g*j+|+},O,S,T,U,V,W,X,Y,Z,[,r,s,t,x,y,zv!snp)z)}*Q*S*V*Y*]*`*c*f*i,],^,_,`,a,ba$e!y!z$c$g$j$l&W&`&]ZOQUVW^fklnpz!O!T!Y!a!e!r#U#Z#`#k#q#z$R$U$o$p$s$x$}%^%`%q%s%y%z&k&l&n&o&q&x'O'P'^'`'c'f(U(V(c(f(g(n(p)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,zf!PVW!O!T#Z#`$x$}&n&o&q]!ZX!W#e%Q&s&t&]]OQUVW^fklnpz!O!T!Y!a!e!r#U#Z#`#k#q#z$R$U$o$p$s$x$}%^%`%q%s%y%z&k&l&n&o&q&x'O'P'^'`'c'f(U(V(c(f(g(n(p)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,z`!b[!d#W$O$Y)u)v)wR!mj!W!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-Q[#l!a#k%^&x(U(V[$V!r$U%z'c(n(pR%l#y`!ki}+j+k+l+s+t+uW#|!l*n*o*pQ%o#{W%}$Z*w*x*yW&O$]*z*{*|Q'W%nX(`'X(])R)Sf!ji!l#{$Z$]%n'X(])R)S+t!W!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-QY*k}*o*w*z+kY*l*n*y*|+j+sZ*m*p*x*{+l+uQ!|qQ#u!iQ$S!pQ$`!xS%e#t#v^%t$T%v'a(j)Y)k)lS&Q$^$bQ&Z$eQ'S%fQ'm&SQ*q+mQ*r+nQ*s+oQ+Q,PQ+R,QQ+S,RQ,{-OQ,|-PR,}-Q!X!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-QQ#x!iQ$a!xQ$i!yQ$n!zS%h#t#vS&R$^$bS&Y$c$gS&b$j$lQ'T%fQ'n&SQ'r&WR'x&`Q$f!yQ$k!zS&V$c$gS&_$j$lQ'q&WR'w&`$x_OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[R$[!u$y_OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[W%u$T,P,Q,RQ'b%vQ(i'aX)](j)Y)k)l[$V!r$U%z'c(n(p^%t$T%v'a(j)Y)k)lQ+Q,PQ+R,QR+S,RQ$X!rQ%x$UX'h%z'c(n(pW#}!l*n*o*pW%}$Z*w*x*yX&O$]*z*{*|#{aOQ^f!e#q#z$R$p%`%q%y'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[VcOQfQQO|vQ!e!g#q$U%`%n%z'O'P'X'a'c(](j(n(p)R)S)Y)k)lQ!e^Q!gdQ#q!fQ$U!rS%`#p#rQ%n#{Q%z$XQ'O%aQ'X%oQ'a%vS'c%x%{S(]'W'YQ(j'bQ(n'dQ)R(^S)Y(i(kR)k)ZSfOQR!hfQzUQ!OVQ!TWQ!WXQ!^Y#r#Rz!O!T!W!^#U#Z#`#e#i#k#t$^$c$j$s$x$}%Q%V%^%i%k&T&U&[&^&c&d&h&k&l&n&o&q&s&t&v&w&x'Q'U'j'l'o's'u'y'{(U(V(Y(Z([(r(s(u(v(w(y(z({)dQ#U{Q#Z!QQ#`!UQ#e![Q#i!_Q#k!aQ#t!iQ$^!xQ$c!yQ$j!zS$s#S#VS$x#X#[S$}#^#aS%Q#b#fS%V#g#jQ%^#nQ%i#uQ%k#xQ&T$`Q&U$aQ&[$fQ&^$iQ&c$kQ&d$nQ&h$rQ&k$tQ&n$yQ&q%OQ&s%RQ&v%WS&x%]%_Q'Q%eQ'U%hQ'j&QQ'l&RQ'o&VQ's&YQ'u&_Q'y&bQ'{&iQ(U&yQ(Y'SQ(Z'TQ(['VQ(r'mQ(s'nQ(u'qQ(v'rQ(w'tQ(y'wQ(z'xS({'z'|R)d(|Q#V{Q$t#ST$w#V$tQ#[!QQ#a!UQ$y#XW$|#[#a$y%OR%O#^Q#f![Q%R#bT%U#f%RQ#j!_Q%W#gW%Z#j%W'|(|Q'|&iR(|'zQ!d[Q#W)uW#o!d#W$O$YQ$O)vR$Y)wQ%_#nQ&y%]T&|%_&yQ#v!iQ$b!xQ%f#tW%j#v$b%f&SR&S$^Q$g!yQ$l!zQ&W$cW&]$g$l&W&`R&`$jQ#r!fQ%a#pT%d#r%aQ$Q!o![%p$Q']'f(b(e(g)h)n*[*]*^+W+X+Y+Z+[+]+d+e+f+g+h+i,i,j,k,o,p,qQ']%rQ'f%yQ(b'[Q(e'_Q(g'`Q)h)WQ)n)gQ*[*UQ*]*VQ*^*WQ+W*}Q+X+OQ+Y+PQ+Z+TQ+[+UQ+]+VQ+d+^Q+e+_Q+f+`Q+g+aQ+h+bQ+i+cQ,i,cQ,j,dQ,k,eQ,o,lQ,p,mR,q,nQ(k'bQ)Z(iT)^(k)ZQ%{$XQ'd%xT'i%{'dQ'Y%oQ(^'WT(a'Y(^VeOQfUdOQfQ!f^Q#p!eW%c#q%`'O'PW%m#z)x)y)zQ%r$RW&f$p*O*P*QQ'[%qQ'g%yW(d'^*R*S*TW(h'`*U*V*WQ(o'fW)U(c*X*Y*ZQ)W(fW)X(g*[*]*^W)f)T*_*`*aQ)g)VW)p)i*b*c*dW)s)o*e*f*gW)t)r*h*i*jQ*}+|Q+O+}Q+P,OQ+T,SQ+U,TQ+V,UQ+^,VQ+_,WQ+`,XQ+a,YQ+b,ZR+c,[#zbOQ^f!e#q#z$R$p%`%q%y'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[Q{Uf!PVW!O!T#Z#`$x$}&n&o&qQ#SzQ#d!YW$v#U$s&k&lX&e$o){)|)}$x`OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[Q!okQ!qlQ!tnQ!vp[#l!a#k%^&x(U(V[$V!r$U%z'c(n(pQ'_%sQ+v,]Q+w,^Q+x,_Q+y,`Q+z,aQ+{,bQ,c,rQ,d,sQ,e,tQ,f,uQ,g,vQ,h,wQ,l,xQ,m,yR,n,z&[]OQUVW^fklnpz!O!T!Y!a!e!r#U#Z#`#k#q#z$R$U$o$p$s$x$}%^%`%q%s%y%z&k&l&n&o&q&x'O'P'^'`'c'f(U(V(c(f(g(n(p)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[,],^,_,`,a,b,r,s,t,u,v,w,x,y,z!X!{q!i!p!x#t#v$T$^$b$e%f%v&S'a(j)Y)k)l+m+n+o,P,Q,R-O-P-QQ!QVQ!UWQ#X!OQ#^!T_${#Z#`$x$}&n&o&qQ![XQ#b!WX%T#e%Q&s&t[!ZX!W#e%Q&s&tQ!_YQ#g!^^%Y#i%V&v&w'{({)dQ&i$rR'z&h!b[OQ^fl!e!r#q#z$U$o$p%`%y%z'O'P'^'`'c'f(c(g(n(p)T)i)o)r,u,v,w!h)uUVWz!O!T!Y!a#U#Z#`#k$s$x$}%^&k&l&n&o&q&x(U(V)x)|*P*R*U*X*[*_*b*e*h!h)vk$R%q%s(f)V)y){*O*T*W*Z*^*a*d*g*j+|+},O,S,T,U,V,W,X,Y,Z,[,r,s,t,x,y,zw)wnp)z)}*Q*S*V*Y*]*`*c*f*i,],^,_,`,a,ba!c[!d#W$O$Y)u)v)wQ#n!aQ%]#kX&{%^&x(U(V$y`OQUVW^fz!O!T!Y!e#U#Z#`#q#z$R$o$p$s$x$}%`%q%y&k&l&n&o&q'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z){)|)}*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[X%w$T,P,Q,R#{bOQ^f!e#q#z$R$p%`%q%y'O'P'^'`'f(c(f(g)T)V)i)o)r)x)y)z*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*]*^*_*`*a*b*c*d*e*f*g*h*i*j+|+},O,S,T,U,V,W,X,Y,Z,[VdOQf", nodeNames: "⚠ Script Boolean Word true false Nil String Number Keyword Tuple List Splat Set Dict Struct Synthetic Args Placeholder Fn_Lambda Fn_Clause Tuple_Pattern Pattern List_Pattern Splattern Dict_Pattern Assoc_Pattern Struct_Pattern Recur Block If If_Let Match Match_Clause Else When When_Clause Loop Fn_Clauses Repeat Each Let Ref Fn_Named Fn_Compound Import Use Ns", maxTerm: 120, skippedNodes: [0],