fez-lisp 1.5.171 → 1.5.172

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/baked/std.js +1 -1
  2. package/package.json +1 -1
package/lib/baked/std.js CHANGED
@@ -1 +1 @@
1
- export default [[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"char:A"],[2,65]],[[0,"let"],[1,"char:B"],[2,66]],[[0,"let"],[1,"char:C"],[2,67]],[[0,"let"],[1,"char:D"],[2,68]],[[0,"let"],[1,"char:E"],[2,69]],[[0,"let"],[1,"char:F"],[2,70]],[[0,"let"],[1,"char:G"],[2,71]],[[0,"let"],[1,"char:H"],[2,72]],[[0,"let"],[1,"char:I"],[2,73]],[[0,"let"],[1,"char:J"],[2,74]],[[0,"let"],[1,"char:K"],[2,75]],[[0,"let"],[1,"char:L"],[2,76]],[[0,"let"],[1,"char:M"],[2,77]],[[0,"let"],[1,"char:N"],[2,78]],[[0,"let"],[1,"char:O"],[2,79]],[[0,"let"],[1,"char:P"],[2,80]],[[0,"let"],[1,"char:Q"],[2,81]],[[0,"let"],[1,"char:R"],[2,82]],[[0,"let"],[1,"char:S"],[2,83]],[[0,"let"],[1,"char:T"],[2,84]],[[0,"let"],[1,"char:U"],[2,85]],[[0,"let"],[1,"char:V"],[2,86]],[[0,"let"],[1,"char:W"],[2,87]],[[0,"let"],[1,"char:X"],[2,88]],[[0,"let"],[1,"char:Y"],[2,89]],[[0,"let"],[1,"char:Z"],[2,90]],[[0,"let"],[1,"char:a"],[2,97]],[[0,"let"],[1,"char:b"],[2,98]],[[0,"let"],[1,"char:c"],[2,99]],[[0,"let"],[1,"char:d"],[2,100]],[[0,"let"],[1,"char:e"],[2,101]],[[0,"let"],[1,"char:f"],[2,102]],[[0,"let"],[1,"char:g"],[2,103]],[[0,"let"],[1,"char:h"],[2,104]],[[0,"let"],[1,"char:i"],[2,105]],[[0,"let"],[1,"char:j"],[2,106]],[[0,"let"],[1,"char:k"],[2,107]],[[0,"let"],[1,"char:l"],[2,108]],[[0,"let"],[1,"char:m"],[2,109]],[[0,"let"],[1,"char:n"],[2,110]],[[0,"let"],[1,"char:o"],[2,111]],[[0,"let"],[1,"char:p"],[2,112]],[[0,"let"],[1,"char:q"],[2,113]],[[0,"let"],[1,"char:r"],[2,114]],[[0,"let"],[1,"char:s"],[2,115]],[[0,"let"],[1,"char:t"],[2,116]],[[0,"let"],[1,"char:u"],[2,117]],[[0,"let"],[1,"char:v"],[2,118]],[[0,"let"],[1,"char:w"],[2,119]],[[0,"let"],[1,"char:x"],[2,120]],[[0,"let"],[1,"char:y"],[2,121]],[[0,"let"],[1,"char:z"],[2,122]],[[0,"let"],[1,"char:0"],[2,48]],[[0,"let"],[1,"char:1"],[2,49]],[[0,"let"],[1,"char:2"],[2,50]],[[0,"let"],[1,"char:3"],[2,51]],[[0,"let"],[1,"char:4"],[2,52]],[[0,"let"],[1,"char:5"],[2,53]],[[0,"let"],[1,"char:6"],[2,54]],[[0,"let"],[1,"char:7"],[2,55]],[[0,"let"],[1,"char:8"],[2,56]],[[0,"let"],[1,"char:9"],[2,57]],[[0,"let"],[1,"char:empty"],[2,0]],[[0,"let"],[1,"char:double-quote"],[2,34]],[[0,"let"],[1,"char:new-line"],[2,10]],[[0,"let"],[1,"char:space"],[2,32]],[[0,"let"],[1,"char:comma"],[2,44]],[[0,"let"],[1,"char:dot"],[2,46]],[[0,"let"],[1,"char:semi-colon"],[2,59]],[[0,"let"],[1,"char:colon"],[2,58]],[[0,"let"],[1,"char:dash"],[2,45]],[[0,"let"],[1,"char:left-brace"],[2,40]],[[0,"let"],[1,"char:right-brace"],[2,41]],[[0,"let"],[1,"char:curly-left-brace"],[2,123]],[[0,"let"],[1,"char:curly-right-brace"],[2,125]],[[0,"let"],[1,"char:left-bracket"],[2,91]],[[0,"let"],[1,"char:right-bracket"],[2,93]],[[0,"let"],[1,"char:pipe"],[2,124]],[[0,"let"],[1,"char:hash"],[2,35]],[[0,"let"],[1,"char:question-mark"],[2,63]],[[0,"let"],[1,"char:exclamation-mark"],[2,33]],[[0,"let"],[1,"char:minus"],[2,45]],[[0,"let"],[1,"char:plus"],[2,43]],[[0,"let"],[1,"char:equal"],[2,61]],[[0,"let"],[1,"char:asterix"],[2,42]],[[0,"let"],[1,"char:ampersand"],[2,38]],[[0,"let"],[1,"char:at"],[2,64]],[[0,"let"],[1,"char:backtick"],[2,96]],[[0,"let"],[1,"char:digit?"],[[0,"lambda"],[1,"ch"],[[0,"and"],[[0,">="],[1,"ch"],[1,"char:0"]],[[0,"<="],[1,"ch"],[1,"char:9"]]]]],[[0,"let"],[1,"nil"],[2,0]],[[0,"let"],[1,"identity"],[[0,"lambda"],[1,"x"],[1,"x"]]],[[0,"let"],[1,"Scope"],[2,1]],[[0,"let"],[1,"Special"],[2,1]],[[0,"let"],[1,"Library"],[2,1]],[[0,"let"],[1,"Type"],[2,1]],[[0,"let"],[1,"Search"],[2,1]],[[0,"let"],[1,"truthy?"],[[0,"lambda"],[1,"x"],[[0,"if"],[[0,"atom?"],[1,"x"]],[[0,"not"],[[0,"="],[[0,"Any"],[1,"x"]],[2,0]]],[[0,"if"],[[0,"array?"],[1,"x"]],[[0,">"],[[0,"length"],[[0,"Any"],[1,"x"]]],[2,0]],[[0,"if"],[[0,"not"],[2,0]],[2,1],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"falsy?"],[[0,"lambda"],[1,"x"],[[0,"if"],[[0,"atom?"],[1,"x"]],[[0,"="],[[0,"Any"],[1,"x"]],[2,0]],[[0,"if"],[[0,"array?"],[1,"x"]],[[0,"="],[[0,"length"],[[0,"Any"],[1,"x"]]],[2,0]],[[0,"if"],[[0,"not"],[2,0]],[2,0],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"true?"],[[0,"lambda"],[1,"x"],[[0,"and"],[[0,"atom?"],[1,"x"]],[[0,"="],[[0,"Any"],[1,"x"]],[2,1]]]]],[[0,"let"],[1,"false?"],[[0,"lambda"],[1,"x"],[[0,"and"],[[0,"atom?"],[1,"x"]],[[0,"="],[[0,"Any"],[1,"x"]],[2,0]]]]],[[0,"let"],[1,"true"],[[0,"not"],[2,0]]],[[0,"let"],[1,"false"],[[0,"not"],[2,1]]],[[0,"let"],[1,"one"],[2,1]],[[0,"let"],[1,"zero"],[2,0]],[[0,"let"],[1,"math:e"],[2,2.718281828459045]],[[0,"let"],[1,"math:pi"],[2,3.141592653589793]],[[0,"let"],[1,"math:min-safe-integer"],[2,-9007199254740991]],[[0,"let"],[1,"math:max-safe-integer"],[2,9007199254740991]],[[0,"let"],[1,"math:decimal-scaling"],[2,1000000000000]],[[0,"let"],[1,"pair:apply"],[[0,"lambda"],[1,"x"],[1,"cb"],[[0,"cb"],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]],[[0,"let"],[1,"pair:fork-apply"],[[0,"lambda"],[1,"pair"],[1,"cb1"],[1,"cb2"],[[0,"array"],[[0,"cb1"],[[0,"array:first"],[1,"pair"]]],[[0,"cb2"],[[0,"array:second"],[1,"pair"]]]]]],[[0,"let"],[1,"pair:add"],[[0,"lambda"],[1,"x"],[[0,"+"],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]],[[0,"let"],[1,"pair:subtract"],[[0,"lambda"],[1,"x"],[[0,"-"],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]],[[0,"let"],[1,"pair:multiply"],[[0,"lambda"],[1,"x"],[[0,"*"],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]],[[0,"let"],[1,"pair:divide"],[[0,"lambda"],[1,"x"],[[0,"/"],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]],[[0,"let"],[1,"pair:swap"],[[0,"lambda"],[1,"x"],[[0,"array"],[[0,"array:second"],[1,"x"]],[[0,"array:first"],[1,"x"]]]]],[[0,"let"],[1,"pair:duplicate"],[[0,"lambda"],[1,"x"],[[0,"array:transform"],[[0,"array"],[1,"x"]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge"],[1,"a"],[[0,"array:append!"],[1,"a"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"pair:swap!"],[[0,"lambda"],[1,"x"],[[0,"do"],[[0,"let"],[1,"temp"],[[0,"array:first"],[1,"x"]]],[[0,"set!"],[1,"x"],[2,0],[[0,"array:second"],[1,"x"]]],[[0,"set!"],[1,"x"],[2,1],[1,"temp"]]]]],[[0,"let"],[1,"pair:unzip"],[[0,"lambda"],[1,"xs"],[[0,"array:unzip"],[1,"xs"]]]],[[0,"let"],[1,"pair:zip"],[[0,"lambda"],[1,"xs"],[[0,"array:zip"],[[0,"array:first"],[1,"xs"]],[[0,"array:second"],[1,"xs"]]]]],[[0,"let"],[1,"pair:list-zip"],[[0,"lambda"],[1,"xs"],[[0,"list:zip"],[[0,"list:head"],[1,"xs"]],[[0,"list:head"],[[0,"list:tail"],[1,"xs"]]]]]],[[0,"let"],[1,"pair:list-unzip"],[[0,"lambda"],[1,"xs"],[[0,"list:unzip"],[1,"xs"]]]],[[0,"let"],[1,"math:range"],[[0,"lambda"],[1,"start"],[1,"end"],[[0,"do"],[[0,"let"],[1,"recursive:math:range"],[[0,"lambda"],[1,"out"],[1,"count"],[[0,"if"],[[0,"<="],[1,"count"],[1,"end"]],[[0,"recursive:math:range"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"count"]],[[0,"+"],[1,"count"],[2,1]]],[1,"out"]]]],[[0,"recursive:math:range"],[[0,"array"]],[1,"start"]]]]],[[0,"let"],[1,"math:sequence"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"end"],[[0,"length"],[1,"xs"]]],[[0,"let"],[1,"recursive:math:sequence"],[[0,"lambda"],[1,"out"],[1,"count"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"end"]],[[0,"recursive:math:sequence"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"count"]],[[0,"+"],[1,"count"],[2,1]]],[1,"out"]]]],[[0,"recursive:math:sequence"],[[0,"array"]],[2,0]]]]],[[0,"let"],[1,"math:sequence-n"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:sequence-n"],[[0,"lambda"],[1,"out"],[1,"count"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:sequence-n"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"count"]],[[0,"+"],[1,"count"],[2,1]]],[1,"out"]]]],[[0,"recursive:sequence-n"],[[0,"array"]],[2,0]]]]],[[0,"let"],[1,"math:zeroes"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:math:zeroes"],[[0,"lambda"],[1,"out"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:math:zeroes"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[2,0]]],[1,"out"]]]],[[0,"recursive:math:zeroes"],[[0,"array"]]]]]],[[0,"let"],[1,"math:ones"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:math:ones"],[[0,"lambda"],[1,"out"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:math:ones"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[2,1]]],[1,"out"]]]],[[0,"recursive:math:ones"],[[0,"array"]]]]]],[[0,"let"],[1,"math:numbers"],[[0,"lambda"],[1,"n"],[1,"num"],[[0,"do"],[[0,"let"],[1,"recursive:math:numbers"],[[0,"lambda"],[1,"out"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:math:numbers"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"num"]]],[1,"out"]]]],[[0,"recursive:math:numbers"],[[0,"array"]]]]]],[[0,"let"],[1,"math:between?"],[[0,"lambda"],[1,"v"],[1,"min"],[1,"max"],[[0,"and"],[[0,">"],[1,"v"],[1,"min"]],[[0,"<"],[1,"v"],[1,"max"]]]]],[[0,"let"],[1,"math:overlap?"],[[0,"lambda"],[1,"v"],[1,"min"],[1,"max"],[[0,"and"],[[0,">="],[1,"v"],[1,"min"]],[[0,"<="],[1,"v"],[1,"max"]]]]],[[0,"let"],[1,"math:permutations"],[[0,"lambda"],[1,"xs"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[2,0]],[[0,"array:flat-one"],[[0,"array:enumerated-map"],[1,"xs"],[[0,"lambda"],[1,"x"],[1,"i"],[[0,"array:map"],[[0,"math:permutations"],[[0,"array:enumerated-exclude"],[1,"xs"],[[0,"lambda"],[1,"."],[1,"j"],[[0,"="],[1,"i"],[1,"j"]]]]],[[0,"lambda"],[1,"vs"],[[0,"array:merge"],[[0,"array"],[1,"x"]],[1,"vs"]]]]]]],[[0,"array"],[[0,"array"]]]]]],[[0,"let"],[1,"math:combinations"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"let"],[1,"combinations"],[[0,"lambda"],[1,"arr"],[1,"size"],[1,"start"],[1,"temp"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"length"],[1,"temp"]],[1,"size"]],[[0,"array:push!"],[1,"out"],[[0,"array:shallow-copy"],[1,"temp"]]],[[0,"loop:for-range"],[1,"start"],[[0,"length"],[1,"arr"]],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"array:push!"],[1,"temp"],[[0,"get"],[1,"arr"],[1,"i"]]],[[0,"combinations"],[1,"arr"],[1,"size"],[[0,"+"],[1,"i"],[2,1]],[1,"temp"]],[[0,"array:pop!"],[1,"temp"]]]]]]]]],[[0,"loop:for-range"],[2,1],[[0,"+"],[2,1],[[0,"length"],[1,"xs"]]],[[0,"lambda"],[1,"i"],[[0,"combinations"],[1,"xs"],[1,"i"],[2,0],[[0,"array"]]]]],[1,"out"]]]],[[0,"let"],[1,"math:greater?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,">"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:lesser?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"<"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:lesser-or-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"<="],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:greater-or-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,">="],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"="],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:addition"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"+"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:multiplication"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"*"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:division"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"/"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:subtraction"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"-"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:fold"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"array:fold"],[1,"xs"],[1,"cb"],[1,"initial"]]]],[[0,"let"],[1,"math:enumerated-fold"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"array:enumerated-fold"],[1,"xs"],[1,"cb"],[1,"initial"]]]],[[0,"let"],[1,"math:map"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"array:map"],[1,"xs"],[1,"cb"]]]],[[0,"let"],[1,"math:select"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"array:select"],[1,"xs"],[1,"cb?"]]]],[[0,"let"],[1,"math:exclude"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"array:exclude"],[1,"xs"],[1,"cb?"]]]],[[0,"let"],[1,"math:max"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[1,"a"],[1,"b"]],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:min"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"<"],[1,"a"],[1,"b"]],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:summation"],[[0,"lambda"],[1,"xs"],[[0,"math:fold"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"+"],[1,"a"],[1,"b"]]],[2,0]]]],[[0,"let"],[1,"math:product"],[[0,"lambda"],[1,"xs"],[[0,"math:fold"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"*"],[1,"a"],[1,"b"]]],[2,1]]]],[[0,"let"],[1,"math:maximum"],[[0,"lambda"],[1,"xs"],[[0,"math:fold"],[1,"xs"],[1,"math:max"],[[0,"array:first"],[1,"xs"]]]]],[[0,"let"],[1,"math:minimum"],[[0,"lambda"],[1,"xs"],[[0,"math:fold"],[1,"xs"],[1,"math:min"],[[0,"array:first"],[1,"xs"]]]]],[[0,"let"],[1,"math:maximum-index"],[[0,"lambda"],[1,"xs"],[[0,"array:second"],[[0,"array:enumerated-fold"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"x"],[1,"i"],[[0,"if"],[[0,">"],[1,"x"],[[0,"array:first"],[1,"a"]]],[[0,"array"],[1,"x"],[1,"i"]],[1,"a"]]],[[0,"array"],[[0,"array:first"],[1,"xs"]],[1,"math:min-safe-integer"]]]]]],[[0,"let"],[1,"math:minimum-index"],[[0,"lambda"],[1,"xs"],[[0,"array:second"],[[0,"array:enumerated-fold"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"x"],[1,"i"],[[0,"if"],[[0,"<"],[1,"x"],[[0,"array:first"],[1,"a"]]],[[0,"array"],[1,"x"],[1,"i"]],[1,"a"]]],[[0,"array"],[[0,"array:first"],[1,"xs"]],[1,"math:max-safe-integer"]]]]]],[[0,"let"],[1,"math:max-length"],[[0,"lambda"],[1,"xs"],[[0,"array:reduce"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"b"]],[1,"a"]],[[0,"length"],[1,"b"]],[1,"a"]]],[1,"math:min-safe-integer"]]]],[[0,"let"],[1,"math:min-length"],[[0,"lambda"],[1,"xs"],[[0,"array:reduce"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"b"]],[1,"a"]],[[0,"length"],[1,"b"]],[1,"a"]]],[1,"math:max-safe-integer"]]]],[[0,"let"],[1,"math:increment"],[[0,"lambda"],[1,"i"],[[0,"+"],[1,"i"],[2,1]]]],[[0,"let"],[1,"math:decrement"],[[0,"lambda"],[1,"i"],[[0,"-"],[1,"i"],[2,1]]]],[[0,"let"],[1,"math:floor"],[[0,"lambda"],[1,"n"],[[0,"|"],[1,"n"],[2,0]]]],[[0,"let"],[1,"math:round"],[[0,"lambda"],[1,"n"],[[0,"|"],[[0,"+"],[1,"n"],[2,0.5]],[2,0]]]],[[0,"let"],[1,"math:ceil"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"="],[1,"n"],[[0,"|"],[1,"n"],[2,0]]],[[0,"|"],[1,"n"],[2,0]],[[0,"+"],[[0,"|"],[1,"n"],[2,0]],[2,1]]]]],[[0,"let"],[1,"math:set-bit"],[[0,"lambda"],[1,"n"],[1,"bit"],[[0,"|"],[1,"n"],[[0,"<<"],[2,1],[1,"bit"]]]]],[[0,"let"],[1,"math:clear-bit"],[[0,"lambda"],[1,"n"],[1,"bit"],[[0,"&"],[1,"n"],[[0,"~"],[[0,"<<"],[2,1],[1,"bit"]]]]]],[[0,"let"],[1,"math:power-of-two-bits"],[[0,"lambda"],[1,"n"],[[0,"<<"],[2,2],[[0,"-"],[1,"n"],[2,1]]]]],[[0,"let"],[1,"math:odd-bit?"],[[0,"lambda"],[1,"n"],[[0,"="],[[0,"&"],[1,"n"],[2,1]],[2,1]]]],[[0,"let"],[1,"math:average-bit"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,">>"],[[0,"+"],[1,"a"],[1,"b"]],[2,1]]]],[[0,"let"],[1,"math:flag-flip"],[[0,"lambda"],[1,"x"],[[0,"-"],[2,1],[[0,"*"],[1,"x"],[1,"x"]]]]],[[0,"let"],[1,"math:toggle-bit"],[[0,"lambda"],[1,"n"],[1,"a"],[1,"b"],[[0,"^"],[[0,"^"],[1,"a"],[1,"b"]],[1,"n"]]]],[[0,"let"],[1,"math:same-sign-bit?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,">="],[[0,"^"],[1,"a"],[1,"b"]],[2,0]]]],[[0,"let"],[1,"math:max-bit"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"-"],[1,"a"],[[0,"&"],[[0,"-"],[1,"a"],[1,"b"]],[[0,">>"],[[0,"-"],[1,"a"],[1,"b"]],[2,31]]]]]],[[0,"let"],[1,"math:min-bit"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"-"],[1,"a"],[[0,"&"],[[0,"-"],[1,"a"],[1,"b"]],[[0,">>"],[[0,"-"],[1,"b"],[1,"a"]],[2,31]]]]]],[[0,"let"],[1,"math:bit-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"<"],[[0,"^"],[1,"a"],[1,"b"]],[2,1]]]],[[0,"let"],[1,"math:modulo-bit"],[[0,"lambda"],[1,"numerator"],[1,"divisor"],[[0,"&"],[1,"numerator"],[[0,"-"],[1,"divisor"],[2,1]]]]],[[0,"let"],[1,"math:n-one-bit?"],[[0,"lambda"],[1,"N"],[1,"nth"],[[0,"not"],[[0,"="],[[0,"&"],[1,"N"],[[0,"<<"],[2,1],[1,"nth"]]],[2,0]]]]],[[0,"let"],[1,"math:percent"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"*"],[2,100],[[0,"/"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"math:median"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"length"],[1,"xs"]]],[[0,"let"],[1,"half"],[[0,"math:floor"],[[0,"/"],[1,"len"],[2,2]]]],[[0,"if"],[[0,"math:odd?"],[1,"len"]],[[0,"get"],[1,"xs"],[1,"half"]],[[0,"/"],[[0,"+"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"half"],[2,1]]],[[0,"get"],[1,"xs"],[1,"half"]]],[2,2]]]]]],[[0,"let"],[1,"math:mean"],[[0,"lambda"],[1,"xs"],[[0,"/"],[[0,"math:summation"],[1,"xs"]],[[0,"length"],[1,"xs"]]]]],[[0,"let"],[1,"math:bit-count32"],[[0,"lambda"],[1,"n0"],[[0,"do"],[[0,"let"],[1,"n1"],[[0,"-"],[1,"n0"],[[0,"&"],[[0,">>"],[1,"n0"],[2,1]],[2,1431655765]]]],[[0,"let"],[1,"n2"],[[0,"+"],[[0,"&"],[1,"n1"],[2,858993459]],[[0,"&"],[[0,">>"],[1,"n1"],[2,2]],[2,858993459]]]],[[0,">>"],[[0,"*"],[[0,"&"],[[0,"+"],[1,"n2"],[[0,">>"],[1,"n2"],[2,4]]],[2,252645135]],[2,16843009]],[2,24]]]]],[[0,"let"],[1,"math:bit-count"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:math:bit-count"],[[0,"lambda"],[1,"n"],[1,"bits"],[[0,"if"],[[0,"="],[1,"n"],[2,0]],[1,"bits"],[[0,"recursive:math:bit-count"],[[0,"/"],[1,"n"],[2,4294967296]],[[0,"+"],[1,"bits"],[[0,"math:bit-count32"],[[0,"|"],[1,"n"],[2,0]]]]]]]],[[0,"recursive:math:bit-count"],[1,"n"],[2,0]]]]],[[0,"let"],[1,"math:square"],[[0,"lambda"],[1,"x"],[[0,"*"],[1,"x"],[1,"x"]]]],[[0,"let"],[1,"math:power"],[[0,"lambda"],[1,"base"],[1,"exp"],[[0,"if"],[[0,"<"],[1,"exp"],[2,0]],[[0,"if"],[[0,"="],[1,"base"],[2,0]],[1,"nil"],[[0,"/"],[2,1],[[0,"*"],[1,"base"],[[0,"math:power"],[1,"base"],[[0,"-"],[[0,"*"],[1,"exp"],[2,-1]],[2,1]]]]]],[[0,"if"],[[0,"="],[1,"exp"],[2,0]],[2,1],[[0,"if"],[[0,"="],[1,"exp"],[2,1]],[1,"base"],[[0,"if"],[[0,"not"],[2,0]],[[0,"*"],[1,"base"],[[0,"math:power"],[1,"base"],[[0,"-"],[1,"exp"],[2,1]]]],[[0,"Any"],[1,"nil"]]]]]]]],[[0,"let"],[1,"math:greatest-common-divisor"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"recursive:math:greatest-common-divisor"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"="],[1,"b"],[2,0]],[1,"a"],[[0,"recursive:math:greatest-common-divisor"],[1,"b"],[[0,"mod"],[1,"a"],[1,"b"]]]]]],[[0,"recursive:math:greatest-common-divisor"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"math:least-common-divisor"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"*"],[1,"a"],[[0,"*"],[1,"b"],[[0,"/"],[2,1],[[0,"math:greatest-common-divisor"],[1,"a"],[1,"b"]]]]]]],[[0,"let"],[1,"math:coprime?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"="],[[0,"math:greatest-common-divisor"],[1,"a"],[1,"b"]],[2,1]]]],[[0,"let"],[1,"math:sqrt"],[[0,"lambda"],[1,"x"],[[0,"do"],[[0,"let"],[1,"good-enough?"],[[0,"lambda"],[1,"g"],[1,"x"],[[0,"<"],[[0,"math:abs"],[[0,"-"],[[0,"math:square"],[1,"g"]],[1,"x"]]],[2,0.01]]]],[[0,"let"],[1,"improve-guess"],[[0,"lambda"],[1,"g"],[1,"x"],[[0,"math:average"],[1,"g"],[[0,"/"],[1,"x"],[1,"g"]]]]],[[0,"let"],[1,"recursive:math:sqrt"],[[0,"lambda"],[1,"g"],[1,"x"],[[0,"if"],[[0,"good-enough?"],[1,"g"],[1,"x"]],[1,"g"],[[0,"recursive:math:sqrt"],[[0,"improve-guess"],[1,"g"],[1,"x"]],[1,"x"]]]]],[[0,"recursive:math:sqrt"],[2,1],[1,"x"]]]]],[[0,"let"],[1,"math:perfect-square?"],[[0,"lambda"],[1,"n"],[[0,"-"],[[0,"math:floor"],[[0,"math:sqrt"],[1,"n"]]],[[0,"math:floor"],[[0,"math:sqrt"],[[0,"-"],[1,"n"],[2,1]]]]]]],[[0,"let"],[1,"math:circumference"],[[0,"lambda"],[1,"radius"],[[0,"*"],[1,"math:pi"],[[0,"*"],[1,"radius"],[2,2]]]]],[[0,"let"],[1,"math:hypotenuse"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"math:sqrt"],[[0,"+"],[[0,"*"],[1,"a"],[1,"a"]],[[0,"*"],[1,"b"],[1,"b"]]]]]],[[0,"let"],[1,"math:abs"],[[0,"lambda"],[1,"n"],[[0,"-"],[[0,"^"],[1,"n"],[[0,">>"],[1,"n"],[2,31]]],[[0,">>"],[1,"n"],[2,31]]]]],[[0,"let"],[1,"math:nth-digit"],[[0,"lambda"],[1,"digit"],[1,"n"],[[0,"|"],[[0,"mod"],[[0,"/"],[1,"digit"],[[0,"math:power"],[2,10],[[0,"-"],[1,"n"],[2,1]]]],[2,10]],[2,0.5]]]],[[0,"let"],[1,"math:remove-nth-digits"],[[0,"lambda"],[1,"digit"],[1,"n"],[[0,"|"],[[0,"/"],[1,"digit"],[[0,"math:power"],[2,10],[1,"n"]]],[2,0.5]]]],[[0,"let"],[1,"math:keep-nth-digits"],[[0,"lambda"],[1,"digit"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:math:keep-nth-digits"],[[0,"lambda"],[1,"i"],[1,"out"],[1,"base"],[[0,"if"],[[0,">"],[1,"i"],[2,0]],[[0,"recursive:math:keep-nth-digits"],[[0,"-"],[1,"i"],[2,1]],[[0,"+"],[1,"out"],[[0,"*"],[1,"base"],[[0,"math:nth-digit"],[1,"digit"],[1,"i"]]]],[[0,"*"],[1,"base"],[2,0.1]]],[1,"out"]]]],[[0,"recursive:math:keep-nth-digits"],[1,"n"],[2,0],[[0,"*"],[[0,"math:power"],[2,10],[1,"n"]],[2,0.1]]]]]],[[0,"let"],[1,"math:normalize"],[[0,"lambda"],[1,"value"],[1,"math:min"],[1,"math:max"],[[0,"*"],[[0,"-"],[1,"value"],[1,"math:min"]],[[0,"/"],[2,1],[[0,"-"],[1,"math:max"],[1,"math:min"]]]]]],[[0,"let"],[1,"math:linear-interpolation"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"n"],[[0,"+"],[[0,"*"],[[0,"-"],[2,1],[1,"n"]],[1,"a"]],[[0,"*"],[1,"n"],[1,"b"]]]]],[[0,"let"],[1,"math:gauss-sum"],[[0,"lambda"],[1,"n"],[[0,"*"],[1,"n"],[[0,"*"],[[0,"+"],[1,"n"],[2,1]],[2,0.5]]]]],[[0,"let"],[1,"math:gauss-sum-sequance"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"*"],[[0,"+"],[1,"a"],[1,"b"]],[[0,"*"],[[0,"+"],[[0,"-"],[1,"b"],[1,"a"]],[2,1]],[2,0.5]]]]],[[0,"let"],[1,"math:clamp"],[[0,"lambda"],[1,"x"],[1,"limit"],[[0,"if"],[[0,">"],[1,"x"],[1,"limit"]],[1,"limit"],[1,"x"]]]],[[0,"let"],[1,"math:clamp-range"],[[0,"lambda"],[1,"x"],[1,"start"],[1,"end"],[[0,"if"],[[0,">"],[1,"x"],[1,"end"]],[1,"end"],[[0,"if"],[[0,"<"],[1,"x"],[1,"start"]],[1,"start"],[[0,"if"],[[0,"not"],[2,0]],[1,"x"],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"math:odd?"],[[0,"lambda"],[1,"x"],[[0,"="],[[0,"mod"],[1,"x"],[2,2]],[2,1]]]],[[0,"let"],[1,"math:even?"],[[0,"lambda"],[1,"x"],[[0,"="],[[0,"mod"],[1,"x"],[2,2]],[2,0]]]],[[0,"let"],[1,"math:enumerated-odd?"],[[0,"lambda"],[1,"."],[1,"i"],[[0,"="],[[0,"mod"],[1,"i"],[2,2]],[2,1]]]],[[0,"let"],[1,"math:enumerated-even?"],[[0,"lambda"],[1,"."],[1,"i"],[[0,"="],[[0,"mod"],[1,"i"],[2,2]],[2,0]]]],[[0,"let"],[1,"math:sign"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"<"],[1,"n"],[2,0]],[2,-1],[2,1]]]],[[0,"let"],[1,"math:radians"],[[0,"lambda"],[1,"deg"],[[0,"/"],[[0,"*"],[1,"deg"],[1,"math:pi"]],[2,180]]]],[[0,"let"],[1,"math:average"],[[0,"lambda"],[1,"x"],[1,"y"],[[0,"*"],[[0,"+"],[1,"x"],[1,"y"]],[2,0.5]]]],[[0,"let"],[1,"math:euclidean-mod"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"mod"],[[0,"+"],[[0,"mod"],[1,"a"],[1,"b"]],[1,"b"]],[1,"b"]]]],[[0,"let"],[1,"math:euclidean-distance"],[[0,"lambda"],[1,"x1"],[1,"y1"],[1,"x2"],[1,"y2"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"-"],[1,"x1"],[1,"x2"]]],[[0,"let"],[1,"b"],[[0,"-"],[1,"y1"],[1,"y2"]]],[[0,"math:sqrt"],[[0,"+"],[[0,"*"],[1,"a"],[1,"a"]],[[0,"*"],[1,"b"],[1,"b"]]]]]]],[[0,"let"],[1,"math:manhattan-distance"],[[0,"lambda"],[1,"x1"],[1,"y1"],[1,"x2"],[1,"y2"],[[0,"+"],[[0,"math:abs"],[[0,"-"],[1,"x2"],[1,"x1"]]],[[0,"math:abs"],[[0,"-"],[1,"y2"],[1,"y1"]]]]]],[[0,"let"],[1,"math:positive?"],[[0,"lambda"],[1,"x"],[[0,">"],[1,"x"],[2,0]]]],[[0,"let"],[1,"math:negative?"],[[0,"lambda"],[1,"x"],[[0,"<"],[1,"x"],[2,0]]]],[[0,"let"],[1,"math:invert"],[[0,"lambda"],[1,"x"],[[0,"*"],[1,"x"],[2,-1]]]],[[0,"let"],[1,"math:zero?"],[[0,"lambda"],[1,"x"],[[0,"="],[1,"x"],[2,0]]]],[[0,"let"],[1,"math:negative-one?"],[[0,"lambda"],[1,"x"],[[0,"="],[1,"x"],[2,-1]]]],[[0,"let"],[1,"math:divisible?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"="],[[0,"mod"],[1,"a"],[1,"b"]],[2,0]]]],[[0,"let"],[1,"math:factorial"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"<="],[1,"n"],[2,0]],[2,1],[[0,"*"],[1,"n"],[[0,"math:factorial"],[[0,"-"],[1,"n"],[2,1]]]]]]],[[0,"let"],[1,"math:mulberry-32-prng"],[[0,"lambda"],[1,"seed"],[[0,"do"],[[0,"let"],[1,"base"],[[0,"math:var-def"],[1,"seed"]]],[[0,"let"],[1,"z"],[[0,"math:var-def"],[[0,"math:var-set-and-get!"],[1,"base"],[[0,"+"],[[0,"math:var-get"],[1,"base"]],[2,2654435769]]]]],[[0,"math:var-set!"],[1,"z"],[[0,"^"],[[0,"math:var-get"],[1,"z"]],[[0,">>"],[[0,"math:var-get"],[1,"z"]],[2,16]]]],[[0,"math:var-set!"],[1,"z"],[[0,"*"],[[0,"math:var-get"],[1,"z"]],[2,569420461]]],[[0,"math:var-set!"],[1,"z"],[[0,"^"],[[0,"math:var-get"],[1,"z"]],[[0,">>"],[[0,"math:var-get"],[1,"z"]],[2,15]]]],[[0,"math:var-set!"],[1,"z"],[[0,"*"],[[0,"math:var-get"],[1,"z"]],[2,1935289751]]],[[0,"math:var-set!"],[1,"z"],[[0,"^"],[[0,"math:var-get"],[1,"z"]],[[0,">>"],[[0,"math:var-get"],[1,"z"]],[2,15]]]],[[0,"math:var-get"],[1,"z"]]]]],[[0,"let"],[1,"math:random"],[[0,"lambda"],[1,"N"],[[0,"do"],[[0,"let"],[1,"n"],[[0,"math:var-def"],[1,"N"]]],[[0,"lambda"],[[0,"math:mulberry-32-prng"],[[0,"math:var-increment-and-get!"],[1,"n"]]]]]]],[[0,"let"],[1,"math:sine"],[[0,"lambda"],[1,"rad"],[1,"terms"],[[0,"do"],[[0,"let"],[1,"sine"],[[0,"math:var-def"],[2,0]]],[[0,"let"],[1,"recursive:math:sine"],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"math:var-set!"],[1,"sine"],[[0,"+"],[[0,"math:var-get"],[1,"sine"]],[[0,"*"],[[0,"/"],[2,1],[[0,"math:factorial"],[[0,"+"],[[0,"*"],[2,2],[1,"i"]],[2,1]]]],[[0,"*"],[[0,"math:power"],[2,-1],[1,"i"]],[[0,"math:power"],[1,"rad"],[[0,"+"],[[0,"*"],[2,2],[1,"i"]],[2,1]]]]]]],[[0,"if"],[[0,"<"],[1,"i"],[1,"terms"]],[[0,"recursive:math:sine"],[[0,"+"],[1,"i"],[2,1]]],[[0,"math:var-get"],[1,"sine"]]]]]],[[0,"recursive:math:sine"],[2,0]]]]],[[0,"let"],[1,"math:cosine"],[[0,"lambda"],[1,"rad"],[1,"terms"],[[0,"do"],[[0,"let"],[1,"cosine"],[[0,"math:var-def"],[2,0]]],[[0,"let"],[1,"recursive:math:cosine"],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"math:var-set!"],[1,"cosine"],[[0,"+"],[[0,"math:var-get"],[1,"cosine"]],[[0,"*"],[[0,"/"],[2,1],[[0,"math:factorial"],[[0,"*"],[2,2],[1,"i"]]]],[[0,"*"],[[0,"math:power"],[2,-1],[1,"i"]],[[0,"math:power"],[1,"rad"],[[0,"*"],[2,2],[1,"i"]]]]]]],[[0,"if"],[[0,"<"],[1,"i"],[1,"terms"]],[[0,"recursive:math:cosine"],[[0,"+"],[1,"i"],[2,1]]],[[0,"math:var-get"],[1,"cosine"]]]]]],[[0,"recursive:math:cosine"],[2,0]]]]],[[0,"let"],[1,"math:prime-factors"],[[0,"lambda"],[1,"N"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"array"]]],[[0,"let"],[1,"n"],[[0,"math:var-def"],[1,"N"]]],[[0,"let"],[1,"f"],[[0,"math:var-def"],[2,2]]],[[0,"let"],[1,"recursive:math:prime-factors"],[[0,"lambda"],[[0,"if"],[[0,">"],[[0,"math:var-get"],[1,"n"]],[2,1]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"mod"],[[0,"math:var-get"],[1,"n"]],[[0,"math:var-get"],[1,"f"]]],[2,0]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[[0,"math:var-get"],[1,"f"]]],[[0,"math:var-set!"],[1,"n"],[[0,"*"],[[0,"math:var-get"],[1,"n"]],[[0,"/"],[2,1],[[0,"math:var-get"],[1,"f"]]]]]]]],[[0,"math:var-set!"],[1,"f"],[[0,"+"],[[0,"math:var-get"],[1,"f"]],[2,1]]]],[[0,"recursive:math:prime-factors"]]]]],[1,"a"]]]],[[0,"recursive:math:prime-factors"]]]]],[[0,"let"],[1,"math:prime?"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"="],[1,"n"],[2,1]],[1,"false"],[[0,"if"],[[0,"<"],[1,"n"],[2,0]],[1,"false"],[[0,"if"],[[0,"not"],[2,0]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"recursive:math:prime?"],[[0,"lambda"],[1,"i"],[1,"end"],[[0,"do"],[[0,"let"],[1,"prime?"],[[0,"not"],[[0,"="],[[0,"mod"],[1,"n"],[1,"i"]],[2,0]]]],[[0,"if"],[[0,"and"],[[0,"<="],[1,"i"],[1,"end"]],[1,"prime?"]],[[0,"recursive:math:prime?"],[[0,"+"],[1,"i"],[2,1]],[1,"end"]],[1,"prime?"]]]]],[[0,"or"],[[0,"="],[1,"n"],[2,2]],[[0,"recursive:math:prime?"],[2,2],[[0,"math:sqrt"],[1,"n"]]]]]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"math:number-of-digits"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"="],[1,"n"],[2,0]],[2,1],[[0,"if"],[[0,"<"],[1,"n"],[2,0]],[[0,"length"],[[0,"from:integer->digits"],[[0,"|"],[[0,"*"],[1,"n"],[2,-1]],[2,0]]]],[[0,"if"],[[0,"not"],[2,0]],[[0,"length"],[[0,"from:integer->digits"],[[0,"|"],[1,"n"],[2,0]]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"math:largest-power"],[[0,"lambda"],[1,"N"],[[0,"do"],[[0,"let"],[1,"N1"],[[0,"|"],[1,"N"],[[0,">>"],[1,"N"],[2,1]]]],[[0,"let"],[1,"N2"],[[0,"|"],[1,"N1"],[[0,">>"],[1,"N1"],[2,2]]]],[[0,"let"],[1,"N3"],[[0,"|"],[1,"N2"],[[0,">>"],[1,"N2"],[2,4]]]],[[0,"let"],[1,"N4"],[[0,"|"],[1,"N3"],[[0,">>"],[1,"N3"],[2,8]]]],[[0,">>"],[[0,"+"],[1,"N4"],[2,1]],[2,1]]]]],[[0,"let"],[1,"math:cartesian-product"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:transform"],[1,"a"],[[0,"lambda"],[1,"p"],[1,"x"],[[0,"array:merge!"],[1,"p"],[[0,"array:map"],[1,"b"],[[0,"lambda"],[1,"y"],[[0,"array"],[1,"x"],[1,"y"]]]]]],[[0,"array"]]]]],[[0,"let"],[1,"math:fibonacci"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"memoized:math:fibonacci"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"<"],[1,"n"],[2,2]],[1,"n"],[[0,"+"],[[0,"memoized:math:fibonacci"],[[0,"-"],[1,"n"],[2,1]]],[[0,"memoized:math:fibonacci"],[[0,"-"],[1,"n"],[2,2]]]]]]],[[0,"memoized:math:fibonacci"],[1,"n"]]]]],[[0,"let"],[1,"math:enumeration"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"I"],[[0,"var:def"],[2,-1]]],[[0,"let"],[1,"enumeration"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"i"],[[0,"+"],[[0,"var:get"],[1,"I"]],[2,1]]],[[0,"var:set!"],[1,"I"],[1,"i"]],[1,"i"]]]]]]],[[0,"let"],[1,"math:palindrome?"],[[0,"lambda"],[1,"xs"],[[0,"array:every?"],[[0,"array:map"],[[0,"array:zip"],[1,"xs"],[[0,"array:reverse"],[1,"xs"]]],[1,"pair:subtract"]],[1,"math:zero?"]]]],[[0,"let"],[1,"math:max-sub-array-sum"],[[0,"lambda"],[1,"xs"],[[0,"get"],[[0,"array:transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"set!"],[1,"a"],[2,1],[[0,"math:max"],[[0,"+"],[[0,"get"],[1,"a"],[2,1]],[1,"b"]],[1,"b"]]],[[0,"set!"],[1,"a"],[2,0],[[0,"math:max"],[[0,"get"],[1,"a"],[2,0]],[[0,"get"],[1,"a"],[2,1]]]],[1,"a"]]],[[0,"array"],[2,0],[[0,"get"],[1,"xs"],[2,0]]]],[2,0]]]],[[0,"let"],[1,"math:list-fold"],[[0,"lambda"],[1,"xs"],[1,"f"],[1,"out"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"Atom"],[1,"out"]],[[0,"math:list-fold"],[[0,"list:tail"],[1,"xs"]],[1,"f"],[[0,"f"],[1,"out"],[[0,"list:head"],[1,"xs"]]]]]]],[[0,"let"],[1,"math:list-maximum"],[[0,"lambda"],[1,"xs"],[[0,"math:list-fold"],[1,"xs"],[1,"math:max"],[1,"math:min-safe-integer"]]]],[[0,"let"],[1,"math:list-minimum"],[[0,"lambda"],[1,"xs"],[[0,"math:list-fold"],[1,"xs"],[1,"math:min"],[1,"math:max-safe-integer"]]]],[[0,"let"],[1,"math:list-summation"],[[0,"lambda"],[1,"xs"],[[0,"math:list-fold"],[1,"xs"],[1,"+"],[2,0]]]],[[0,"let"],[1,"math:list-product"],[[0,"lambda"],[1,"xs"],[[0,"math:list-fold"],[1,"xs"],[1,"*"],[2,1]]]],[[0,"let"],[1,"math:list-range"],[[0,"lambda"],[1,"low"],[1,"high"],[[0,"if"],[[0,">"],[1,"low"],[1,"high"]],[[0,"Numbers"],[[0,"array"]]],[[0,"list:pair"],[1,"low"],[[0,"math:list-range"],[[0,"+"],[1,"low"],[2,1]],[1,"high"]]]]]],[[0,"let"],[1,"list:pair"],[[0,"lambda"],[1,"first"],[1,"second"],[[0,"array"],[1,"first"],[1,"second"]]]],[[0,"let"],[1,"list:car"],[[0,"lambda"],[1,"pair"],[[0,"get"],[1,"pair"],[2,0]]]],[[0,"let"],[1,"list:cdr"],[[0,"lambda"],[1,"pair"],[[0,"get"],[1,"pair"],[2,1]]]],[[0,"let"],[1,"list:head"],[[0,"lambda"],[1,"pair"],[[0,"get"],[1,"pair"],[2,0]]]],[[0,"let"],[1,"list:tail"],[[0,"lambda"],[1,"pair"],[[0,"get"],[1,"pair"],[2,1]]]],[[0,"let"],[1,"list:nil?"],[[0,"lambda"],[1,"pair"],[[0,"="],[[0,"length"],[1,"pair"]],[2,0]]]],[[0,"let"],[1,"list:map"],[[0,"lambda"],[1,"xs"],[1,"f"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"list:pair"],[[0,"f"],[[0,"list:head"],[1,"xs"]]],[[0,"list:map"],[[0,"list:tail"],[1,"xs"]],[1,"f"]]]]]],[[0,"let"],[1,"list:filter"],[[0,"lambda"],[1,"xs"],[1,"f?"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"if"],[[0,"f?"],[[0,"list:head"],[1,"xs"]]],[[0,"list:pair"],[[0,"list:head"],[1,"xs"]],[[0,"list:filter"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]]],[[0,"list:filter"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]]]]]],[[0,"let"],[1,"list:fold"],[[0,"lambda"],[1,"xs"],[1,"f"],[1,"out"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"Any"],[1,"out"]],[[0,"list:fold"],[[0,"list:tail"],[1,"xs"]],[1,"f"],[[0,"f"],[1,"out"],[[0,"list:head"],[1,"xs"]]]]]]],[[0,"let"],[1,"list:transform"],[[0,"lambda"],[1,"xs"],[1,"f"],[1,"out"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"Collection"],[1,"out"]],[[0,"list:transform"],[[0,"list:tail"],[1,"xs"]],[1,"f"],[[0,"f"],[1,"out"],[[0,"list:head"],[1,"xs"]]]]]]],[[0,"let"],[1,"list:zip"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"list:nil?"],[1,"a"]],[[0,"array"]],[[0,"list:pair"],[[0,"list:pair"],[[0,"list:head"],[1,"a"]],[[0,"list:pair"],[[0,"list:head"],[1,"b"]],[[0,"array"]]]],[[0,"list:zip"],[[0,"list:tail"],[1,"a"]],[[0,"list:tail"],[1,"b"]]]]]]],[[0,"let"],[1,"list:unzip"],[[0,"lambda"],[1,"xs"],[[0,"array"],[[0,"list:map"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"list:head"],[1,"x"]]]],[[0,"array"],[[0,"list:map"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"list:head"],[[0,"list:tail"],[1,"x"]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"list:length"],[[0,"lambda"],[1,"list"],[[0,"math:list-fold"],[1,"list"],[[0,"lambda"],[1,"a"],[1,"."],[[0,"+"],[1,"a"],[2,1]]],[2,0]]]],[[0,"let"],[1,"list:enumerate"],[[0,"lambda"],[1,"list"],[[0,"list:zip"],[1,"list"],[[0,"math:list-range"],[2,0],[[0,"list:length"],[1,"list"]]]]]],[[0,"let"],[1,"list:reverse"],[[0,"lambda"],[1,"list"],[[0,"list:transform"],[1,"list"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"list:pair"],[1,"b"],[1,"a"]]],[[0,"array"]]]]],[[0,"let"],[1,"list:find"],[[0,"lambda"],[1,"xs"],[1,"f?"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"if"],[[0,"f?"],[[0,"list:head"],[1,"xs"]]],[[0,"list:head"],[1,"xs"]],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:find"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:find-tail"],[[0,"lambda"],[1,"xs"],[1,"f?"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"if"],[[0,"f?"],[[0,"list:head"],[1,"xs"]]],[1,"xs"],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:find-tail"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:some?"],[[0,"lambda"],[1,"xs"],[1,"f?"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[1,"false"],[[0,"if"],[[0,"f?"],[[0,"list:head"],[1,"xs"]]],[1,"true"],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:some?"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:every?"],[[0,"lambda"],[1,"xs"],[1,"f?"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[1,"true"],[[0,"if"],[[0,"not"],[[0,"f?"],[[0,"list:head"],[1,"xs"]]]],[1,"false"],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:every?"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:remove-at"],[[0,"lambda"],[1,"xs"],[1,"pos"],[[0,"do"],[[0,"let"],[1,"remove"],[[0,"lambda"],[1,"xs"],[1,"ini"],[[0,"if"],[[0,"="],[1,"pos"],[[0,"-"],[1,"ini"],[2,1]]],[[0,"list:tail"],[1,"xs"]],[[0,"list:pair"],[[0,"list:head"],[1,"xs"]],[[0,"remove"],[[0,"list:tail"],[1,"xs"]],[[0,"+"],[1,"ini"],[2,1]]]]]]],[[0,"remove"],[1,"xs"],[2,1]]]]],[[0,"let"],[1,"list:insert-at"],[[0,"lambda"],[1,"xs"],[1,"pos"],[1,"elem"],[[0,"if"],[[0,"or"],[[0,"="],[1,"pos"],[2,0]],[[0,"list:nil?"],[1,"xs"]]],[[0,"list:pair"],[1,"elem"],[1,"xs"]],[[0,"list:pair"],[[0,"list:head"],[1,"xs"]],[[0,"list:insert-at"],[[0,"list:tail"],[1,"xs"]],[[0,"-"],[1,"pos"],[2,1]],[1,"elem"]]]]]],[[0,"let"],[1,"list:get"],[[0,"lambda"],[1,"list"],[1,"i"],[[0,"do"],[[0,"let"],[1,"l"],[[0,"list:find"],[1,"list"],[[0,"lambda"],[1,"x"],[[0,"="],[[0,"list:head"],[[0,"list:tail"],[1,"x"]]],[1,"i"]]]]],[[0,"if"],[[0,"list:nil?"],[1,"l"]],[1,"l"],[[0,"list:head"],[1,"l"]]]]]],[[0,"let"],[1,"list:end"],[[0,"lambda"],[1,"xs"],[[0,"if"],[[0,"list:nil?"],[[0,"list:tail"],[1,"xs"]]],[1,"xs"],[[0,"list:end"],[[0,"list:tail"],[1,"xs"]]]]]],[[0,"let"],[1,"list:rotate-left"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"fst"],[[0,"list:head"],[1,"xs"]]],[[0,"let"],[1,"xss"],[[0,"list:remove-at"],[1,"xs"],[2,0]]],[[0,"list:insert-at"],[1,"xss"],[[0,"list:length"],[1,"xss"]],[1,"fst"]]]]],[[0,"let"],[1,"list:rotate-right"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"lst"],[[0,"list:head"],[[0,"list:end"],[1,"xs"]]]],[[0,"let"],[1,"xss"],[[0,"list:remove-at"],[1,"xs"],[[0,"-"],[[0,"list:length"],[1,"xs"]],[2,1]]]],[[0,"list:insert-at"],[1,"xss"],[2,0],[1,"lst"]]]]],[[0,"let"],[1,"list:concat!"],[[0,"lambda"],[1,"lists"],[[0,"list:transform"],[[0,"list:tail"],[1,"lists"]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"list:merge!"],[1,"a"],[1,"b"]]],[[0,"list:head"],[1,"lists"]]]]],[[0,"let"],[1,"list:merge!"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"set!"],[[0,"list:end"],[1,"a"]],[2,1],[1,"b"]],[1,"a"]]]],[[0,"let"],[1,"list:flatten"],[[0,"lambda"],[1,"xs"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"if"],[[0,"atom?"],[[0,"list:head"],[1,"xs"]]],[[0,"list:merge!"],[[0,"list:pair"],[[0,"list:head"],[1,"xs"]],[[0,"array"]]],[[0,"list:flatten"],[[0,"list:tail"],[1,"xs"]]]],[[0,"list:merge!"],[[0,"list:flatten"],[[0,"list:head"],[1,"xs"]]],[[0,"list:flatten"],[[0,"list:tail"],[1,"xs"]]]]]]]],[[0,"let"],[1,"list:equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:equal?"],[[0,"from:list->array"],[1,"a"]],[[0,"from:list->array"],[1,"b"]]]]],[[0,"let"],[1,"list:count-of"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"math:list-fold"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"cb?"],[1,"b"]],[[0,"+"],[1,"a"],[2,1]],[1,"a"]]],[2,0]]]],[[0,"let"],[1,"list:count"],[[0,"lambda"],[1,"input"],[1,"item"],[[0,"list:count-of"],[1,"input"],[[0,"lambda"],[1,"x"],[[0,"="],[1,"x"],[1,"item"]]]]]],[[0,"let"],[1,"list:take"],[[0,"lambda"],[1,"lista"],[1,"pos"],[[0,"if"],[[0,"<="],[1,"pos"],[2,0]],[[0,"array"]],[[0,"if"],[[0,"list:nil?"],[1,"lista"]],[1,"lista"],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:pair"],[[0,"list:head"],[1,"lista"]],[[0,"list:take"],[[0,"list:tail"],[1,"lista"]],[[0,"-"],[1,"pos"],[2,1]]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:after"],[[0,"lambda"],[1,"lista"],[1,"pos"],[[0,"if"],[[0,"<="],[1,"pos"],[2,0]],[1,"lista"],[[0,"if"],[[0,"list:nil?"],[1,"lista"]],[[0,"array"]],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:after"],[[0,"list:tail"],[1,"lista"]],[[0,"-"],[1,"pos"],[2,1]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:slice"],[[0,"lambda"],[1,"lista"],[1,"i"],[1,"k"],[[0,"if"],[[0,"<="],[1,"i"],[2,0]],[[0,"list:take"],[1,"lista"],[1,"k"]],[[0,"if"],[[0,"list:nil?"],[1,"lista"]],[1,"lista"],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:slice"],[[0,"list:tail"],[1,"lista"]],[[0,"-"],[1,"i"],[2,1]],[[0,"-"],[1,"k"],[2,1]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:for"],[[0,"lambda"],[1,"xs"],[1,"f"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"f"],[[0,"list:head"],[1,"xs"]]],[[0,"list:for"],[[0,"list:tail"],[1,"xs"]],[1,"f"]]]]]]]],[[0,"let"],[1,"array:first"],[[0,"lambda"],[1,"xs"],[[0,"get"],[1,"xs"],[2,0]]]],[[0,"let"],[1,"array:second"],[[0,"lambda"],[1,"xs"],[[0,"get"],[1,"xs"],[2,1]]]],[[0,"let"],[1,"array:third"],[[0,"lambda"],[1,"xs"],[[0,"get"],[1,"xs"],[2,2]]]],[[0,"let"],[1,"array:last"],[[0,"lambda"],[1,"xs"],[[0,"array:at"],[1,"xs"],[2,-1]]]],[[0,"let"],[1,"array:for"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:array:for"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"cb"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"recursive:array:for"],[[0,"+"],[1,"i"],[2,1]]]]]],[2,0]]]],[[0,"recursive:array:for"],[2,0]],[1,"xs"]]]],[[0,"let"],[1,"array:buckets"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"loop:for-n"],[1,"n"],[[0,"lambda"],[1,"."],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"array"]]]]],[1,"out"]]]],[[0,"let"],[1,"array:enumerated-for"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"loop:for-n"],[[0,"length"],[1,"xs"]],[[0,"lambda"],[1,"i"],[[0,"cb"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]]],[1,"xs"]]]],[[0,"let"],[1,"array:fill"],[[0,"lambda"],[1,"n"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:array:fill"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"="],[1,"i"],[2,0]],[1,"xs"],[[0,"recursive:array:fill"],[[0,"array:merge!"],[1,"xs"],[[0,"array"],[[0,"cb"]]]],[[0,"-"],[1,"i"],[2,1]]]]]],[[0,"recursive:array:fill"],[[0,"array"]],[1,"n"]]]]],[[0,"let"],[1,"array:of"],[[0,"lambda"],[1,"n"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:array:of"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"="],[1,"i"],[1,"n"]],[1,"xs"],[[0,"recursive:array:of"],[[0,"array:merge!"],[1,"xs"],[[0,"array"],[[0,"cb"],[1,"i"]]]],[[0,"+"],[1,"i"],[2,1]]]]]],[[0,"recursive:array:of"],[[0,"array"]],[2,0]]]]],[[0,"let"],[1,"array:map"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:array:map"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:map"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"cb"],[[0,"get"],[1,"xs"],[1,"i"]]]]],[1,"out"]]]],[[0,"recursive:array:map"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:select"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"do"],[[0,"let"],[1,"recursive:array:select"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:select"],[[0,"+"],[1,"i"],[2,1]],[[0,"if"],[[0,"cb?"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"out"]]],[1,"out"]]]],[[0,"recursive:array:select"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:exclude"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"do"],[[0,"let"],[1,"recursive:array:exclude"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:exclude"],[[0,"+"],[1,"i"],[2,1]],[[0,"if"],[[0,"not"],[[0,"cb?"],[[0,"get"],[1,"xs"],[1,"i"]]]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"out"]]],[1,"out"]]]],[[0,"recursive:array:exclude"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:fold"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:fold"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:fold"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]]]],[[0,"Any"],[1,"out"]]]]],[[0,"recursive:array:fold"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:transform"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:fold"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:fold"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:array:fold"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:reduce"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:reduce"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:reduce"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:array:reduce"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:enumerated-reduce"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:reduce"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:reduce"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]],[1,"out"]]]],[[0,"recursive:array:reduce"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:every?"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:every?"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]]]],[[0,"recursive:array:every?"],[[0,"+"],[1,"i"],[2,1]]],[[0,"not"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]]]]]],[[0,"recursive:array:every?"],[2,0]]]]],[[0,"let"],[1,"array:some?"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:some?"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"not"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]]]]],[[0,"recursive:array:some?"],[[0,"+"],[1,"i"],[2,1]]],[[0,"not"],[[0,"="],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[2,0]]]]]],[[0,"recursive:array:some?"],[2,0]]]]],[[0,"let"],[1,"array:find"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"get"],[1,"xs"],[[0,"array:find-index"],[1,"xs"],[1,"predicate?"]]]]],[[0,"let"],[1,"array:find-option"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"index"],[[0,"array:find-index"],[1,"xs"],[1,"predicate?"]]],[[0,"if"],[[0,"="],[1,"index"],[2,-1]],[[0,"array"],[[0,"array"]],[[0,"array"],[2,-1]]],[[0,"array"],[[0,"array"],[[0,"get"],[1,"xs"],[1,"index"]]],[[0,"array"]]]]]]],[[0,"let"],[1,"array:has?"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:has"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"if"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"true"],[[0,"recursive:array:has"],[[0,"+"],[1,"i"],[2,1]]]],[1,"false"]]]],[[0,"recursive:array:has"],[2,0]]]]],[[0,"let"],[1,"array:reverse"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"recursive:array:reverse"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:reverse"],[[0,"+"],[1,"i"],[2,1]],[[0,"array:merge!"],[[0,"array"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"out"]]],[1,"out"]]]],[[0,"recursive:array:reverse"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:append!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"set!"],[1,"q"],[[0,"length"],[1,"q"]],[1,"item"]]]],[[0,"let"],[1,"array:set-and-get!"],[[0,"lambda"],[1,"q"],[1,"index"],[1,"item"],[[0,"do"],[[0,"set!"],[1,"q"],[1,"index"],[1,"item"]],[1,"item"]]]],[[0,"let"],[1,"array:tail!"],[[0,"lambda"],[1,"q"],[[0,"del!"],[1,"q"]]]],[[0,"let"],[1,"array:push!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"do"],[[0,"set!"],[1,"q"],[[0,"length"],[1,"q"]],[1,"item"]],[1,"item"]]]],[[0,"let"],[1,"array:pop!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"l"],[[0,"array:at"],[1,"q"],[2,-1]]],[[0,"del!"],[1,"q"]],[1,"l"]]]],[[0,"let"],[1,"array:even-indexed"],[[0,"lambda"],[1,"x"],[[0,"array:enumerated-transform"],[1,"x"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"i"],[[0,"if"],[[0,"math:even?"],[1,"i"]],[[0,"array:append!"],[1,"a"],[1,"b"]],[1,"a"]]],[[0,"array"]]]]],[[0,"let"],[1,"array:odd-indexed"],[[0,"lambda"],[1,"x"],[[0,"array:enumerated-transform"],[1,"x"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"i"],[[0,"if"],[[0,"math:odd?"],[1,"i"]],[[0,"array:append!"],[1,"a"],[1,"b"]],[1,"a"]]],[[0,"array"]]]]],[[0,"let"],[1,"array:unique"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"sorted"],[[0,"array:sort"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,">"],[1,"a"],[1,"b"]]]]],[[0,"mapping:array->atom"],[[0,"array:select"],[[0,"array:zip"],[1,"sorted"],[[0,"math:sequence"],[1,"sorted"]]],[[0,"lambda"],[1,"x"],[[0,"do"],[[0,"let"],[1,"index"],[[0,"array:second"],[1,"x"]]],[[0,"or"],[[0,"not"],[[0,">"],[1,"index"],[2,0]]],[[0,"not"],[[0,"="],[[0,"get"],[1,"sorted"],[[0,"-"],[1,"index"],[2,1]]],[[0,"get"],[1,"sorted"],[1,"index"]]]]]]]],[1,"array:first"]]]]],[[0,"let"],[1,"array:iterate"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"loop:for-n"],[[0,"length"],[1,"xs"]],[1,"cb"]],[1,"xs"]]]],[[0,"let"],[1,"array:empty?"],[[0,"lambda"],[1,"xs"],[[0,"="],[[0,"length"],[1,"xs"]],[2,0]]]],[[0,"let"],[1,"array:not-empty?"],[[0,"lambda"],[1,"xs"],[[0,"not"],[[0,"="],[[0,"length"],[1,"xs"]],[2,0]]]]],[[0,"let"],[1,"array:count-of"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"length"],[[0,"array:select"],[1,"xs"],[1,"cb?"]]]]],[[0,"let"],[1,"array:count"],[[0,"lambda"],[1,"input"],[1,"item"],[[0,"array:count-of"],[1,"input"],[[0,"lambda"],[1,"x"],[[0,"="],[1,"x"],[1,"item"]]]]]],[[0,"let"],[1,"array:empty!"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"recursive:array:empty!"],[[0,"lambda"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[2,0]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"del!"],[1,"xs"]],[[0,"recursive:array:empty!"]]]]],[1,"xs"]]]],[[0,"recursive:array:empty!"]]]]],[[0,"let"],[1,"array:in-bounds?"],[[0,"lambda"],[1,"xs"],[1,"index"],[[0,"and"],[[0,"<"],[1,"index"],[[0,"length"],[1,"xs"]]],[[0,">="],[1,"index"],[2,0]]]]],[[0,"let"],[1,"get-option"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"array:in-bounds?"],[1,"xs"],[1,"i"]],[[0,"array"],[[0,"array"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"array"]]],[[0,"array"],[[0,"array"]],[[0,"array"],[2,-1]]]]]],[[0,"let"],[1,"get-or-default"],[[0,"lambda"],[1,"xs"],[1,"i"],[1,"def"],[[0,"if"],[[0,"array:in-bounds?"],[1,"xs"],[1,"i"]],[[0,"get"],[1,"xs"],[1,"i"]],[1,"def"]]]],[[0,"let"],[1,"array:get-option"],[1,"get-option"]],[[0,"let"],[1,"array:get-or-default"],[1,"get-or-default"]],[[0,"let"],[1,"array:slice"],[[0,"lambda"],[1,"xs"],[1,"start"],[1,"end"],[[0,"do"],[[0,"let"],[1,"bounds"],[[0,"-"],[1,"end"],[1,"start"]]],[[0,"let"],[1,"recursive:array:slice"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:array:slice"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[[0,"+"],[1,"start"],[1,"i"]]]]],[1,"out"]]]],[[0,"Collection"],[[0,"recursive:array:slice"],[2,0],[[0,"array"]]]]]]],[[0,"let"],[1,"car"],[[0,"lambda"],[1,"xs"],[[0,"get"],[1,"xs"],[2,0]]]],[[0,"let"],[1,"cdr"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"bounds"],[[0,"length"],[1,"xs"]]],[[0,"let"],[1,"recursive:cdr"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:cdr"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:cdr"],[2,1],[[0,"array"]]]]]],[[0,"let"],[1,"cons"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"array:for"],[1,"a"],[[0,"lambda"],[1,"x"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"x"]]]],[[0,"array:for"],[1,"b"],[[0,"lambda"],[1,"x"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"x"]]]],[1,"out"]]]],[[0,"let"],[1,"array:take"],[[0,"lambda"],[1,"xs"],[1,"n"],[[0,"array:slice"],[1,"xs"],[2,0],[1,"n"]]]],[[0,"let"],[1,"array:drop"],[[0,"lambda"],[1,"xs"],[1,"n"],[[0,"array:slice"],[1,"xs"],[1,"n"],[[0,"length"],[1,"xs"]]]]],[[0,"let"],[1,"array:binary-search"],[[0,"lambda"],[1,"xs"],[1,"target"],[[0,"do"],[[0,"let"],[1,"recursive:array:binary-search"],[[0,"lambda"],[1,"xs"],[1,"target"],[1,"start"],[1,"end"],[[0,"do"],[[0,"if"],[[0,"<="],[1,"start"],[1,"end"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"index"],[[0,"math:floor"],[[0,"*"],[[0,"+"],[1,"start"],[1,"end"]],[2,0.5]]]],[[0,"let"],[1,"current"],[[0,"get"],[1,"xs"],[1,"index"]]],[[0,"if"],[[0,"="],[1,"target"],[1,"current"]],[1,"target"],[[0,"if"],[[0,">"],[1,"current"],[1,"target"]],[[0,"recursive:array:binary-search"],[1,"xs"],[1,"target"],[1,"start"],[[0,"-"],[1,"index"],[2,1]]],[[0,"recursive:array:binary-search"],[1,"xs"],[1,"target"],[[0,"+"],[1,"index"],[2,1]],[1,"end"]]]]]]],[2,0]]]]],[[0,"recursive:array:binary-search"],[1,"xs"],[1,"target"],[2,0],[[0,"length"],[1,"xs"]]]]]],[[0,"let"],[1,"array:zip"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"recursive:array:zip"],[[0,"lambda"],[1,"i"],[1,"j"],[1,"output"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"a"]],[1,"i"]],[[0,">"],[[0,"length"],[1,"b"]],[1,"j"]]],[[0,"recursive:array:zip"],[[0,"+"],[1,"i"],[2,1]],[[0,"+"],[1,"j"],[2,1]],[[0,"set!"],[1,"output"],[[0,"length"],[1,"output"]],[[0,"array"],[[0,"get"],[1,"a"],[1,"i"]],[[0,"get"],[1,"b"],[1,"j"]]]]],[1,"output"]]]],[[0,"recursive:array:zip"],[2,0],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:unzip"],[[0,"lambda"],[1,"xs"],[[0,"array"],[[0,"array:map"],[1,"xs"],[1,"array:first"]],[[0,"array:map"],[1,"xs"],[1,"array:second"]]]]],[[0,"let"],[1,"array:equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"Collection"],[1,"a"]],[[0,"Collection"],[1,"b"]],[[0,"or"],[[0,"and"],[[0,"atom?"],[1,"a"]],[[0,"and"],[[0,"atom?"],[1,"b"]],[[0,"="],[[0,"Any"],[1,"a"]],[[0,"Any"],[1,"b"]]]]],[[0,"and"],[[0,"array?"],[1,"a"]],[[0,"and"],[[0,"="],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"not"],[[0,"array:some?"],[[0,"math:sequence"],[1,"a"]],[[0,"lambda"],[1,"i"],[[0,"not"],[[0,"array:equal?"],[[0,"get"],[1,"a"],[1,"i"]],[[0,"get"],[1,"b"],[1,"i"]]]]]]]]]]]]],[[0,"let"],[1,"array:not-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"not"],[[0,"array:equal?"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"array:join"],[[0,"lambda"],[1,"xs"],[1,"delim"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[1,"delim"]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:chars"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[1,"a"],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:lines"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:new-line"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:commas"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:comma"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:spaces"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:space"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:dots"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:dot"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:colons"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:colon"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:semi-colons"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:semi-colon"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:dashes"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:dash"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:flat-one"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge!"],[1,"a"],[[0,"if"],[[0,"array?"],[1,"b"]],[1,"b"],[[0,"array"],[1,"b"]]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:flat"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"flatten"],[[0,"lambda"],[1,"item"],[[0,"if"],[[0,"array?"],[1,"item"]],[[0,"array:transform"],[1,"item"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge!"],[1,"a"],[[0,"flatten"],[1,"b"]]]],[[0,"array"]]],[[0,"array"],[1,"item"]]]]],[[0,"flatten"],[1,"xs"]]]]],[[0,"let"],[1,"array:sort"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"if"],[[0,"<="],[[0,"length"],[1,"xs"]],[2,1]],[1,"xs"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"pivot"],[[0,"array:head"],[1,"xs"]]],[[0,"let"],[1,"recursive:array:sort"],[[0,"lambda"],[1,"i"],[1,"bounds"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"current"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"let"],[1,"predicate"],[[0,"cb"],[1,"current"],[1,"pivot"]]],[[0,"let"],[1,"left"],[[0,"if"],[[0,"="],[1,"predicate"],[2,0]],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"current"]]],[1,"a"]]],[[0,"let"],[1,"right"],[[0,"if"],[[0,"="],[1,"predicate"],[2,1]],[[0,"array:merge"],[1,"b"],[[0,"array"],[1,"current"]]],[1,"b"]]],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:array:sort"],[[0,"+"],[1,"i"],[2,1]],[1,"bounds"],[1,"left"],[1,"right"]],[[0,"array"],[1,"left"],[1,"right"]]]]]],[[0,"let"],[1,"sorted"],[[0,"recursive:array:sort"],[2,1],[[0,"-"],[[0,"length"],[1,"xs"]],[2,1]],[[0,"array"]],[[0,"array"]]]],[[0,"let"],[1,"left"],[[0,"array:first"],[1,"sorted"]]],[[0,"let"],[1,"right"],[[0,"array:second"],[1,"sorted"]]],[[0,"array:merge"],[[0,"array:merge"],[[0,"array:sort"],[1,"left"],[1,"cb"]],[[0,"array"],[1,"pivot"]]],[[0,"array:sort"],[1,"right"],[1,"cb"]]]]]]]]]],[[0,"let"],[1,"array:sorted-ascending?"],[[0,"lambda"],[1,"xs"],[[0,"array:enumerated-every?"],[1,"xs"],[[0,"lambda"],[1,"x"],[1,"i"],[[0,"or"],[[0,"="],[1,"i"],[2,0]],[[0,">="],[1,"x"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"i"],[2,1]]]]]]]]],[[0,"let"],[1,"array:sorted-descending?"],[[0,"lambda"],[1,"xs"],[[0,"array:enumerated-every?"],[1,"xs"],[[0,"lambda"],[1,"x"],[1,"i"],[[0,"or"],[[0,"="],[1,"i"],[2,0]],[[0,"<="],[1,"x"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"i"],[2,1]]]]]]]]],[[0,"let"],[1,"array:sorted-by?"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"array:enumerated-every?"],[1,"xs"],[[0,"lambda"],[1,"x"],[1,"i"],[[0,"or"],[[0,"="],[1,"i"],[2,0]],[[0,"cb?"],[1,"x"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"i"],[2,1]]]]]]]]],[[0,"let"],[1,"array:increment!"],[[0,"lambda"],[1,"xs"],[1,"idx"],[1,"value"],[[0,"set!"],[1,"xs"],[1,"idx"],[[0,"+"],[[0,"get"],[1,"xs"],[1,"idx"]],[1,"value"]]]]],[[0,"let"],[1,"array:set"],[[0,"lambda"],[1,"xs"],[1,"index"],[1,"item"],[[0,"set!"],[[0,"array:shallow-copy"],[1,"xs"]],[1,"index"],[1,"item"]]]],[[0,"let"],[1,"set"],[[0,"lambda"],[1,"xs"],[1,"index"],[1,"item"],[[0,"set!"],[[0,"array:shallow-copy"],[1,"xs"]],[1,"index"],[1,"item"]]]],[[0,"let"],[1,"array:sliding-window"],[[0,"lambda"],[1,"xs"],[1,"size"],[[0,"array:enumerated-transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"i"],[[0,"if"],[[0,">"],[[0,"+"],[1,"i"],[1,"size"]],[[0,"length"],[1,"xs"]]],[1,"a"],[[0,"array:merge"],[1,"a"],[[0,"array"],[[0,"array:slice"],[1,"xs"],[1,"i"],[[0,"+"],[1,"i"],[1,"size"]]]]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:adjacent-difference"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"length"],[1,"xs"]]],[[0,"if"],[[0,"="],[1,"len"],[2,1]],[1,"xs"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"array"],[[0,"array:first"],[1,"xs"]]],[[0,"let"],[1,"recursive:array:adjacent-difference"],[[0,"lambda"],[1,"i"],[1,"result"],[[0,"if"],[[0,"<"],[1,"i"],[1,"len"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"recursive:array:adjacent-difference"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"result"],[1,"i"],[[0,"cb"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"i"],[2,1]]],[[0,"get"],[1,"xs"],[1,"i"]]]]]]]],[1,"result"]]]],[[0,"recursive:array:adjacent-difference"],[2,1],[1,"xs"]]]]]]]]],[[0,"let"],[1,"array:partition"],[[0,"lambda"],[1,"xs"],[1,"n"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"x"],[[0,"array:first"],[1,"b"]]],[[0,"let"],[1,"i"],[[0,"array:second"],[1,"b"]]],[[0,"if"],[[0,">"],[[0,"mod"],[1,"i"],[1,"n"]],[2,0]],[[0,"array:push!"],[[0,"array:at"],[1,"a"],[2,-1]],[1,"x"]],[[0,"array:push!"],[1,"a"],[[0,"array"],[1,"x"]]]],[1,"a"]]],[[0,"array"]]]]],[[0,"let"],[1,"array:ranges"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"array:sliding-window"],[[0,"array:enumerated-transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"x"],[1,"i"],[[0,"if"],[[0,"predicate?"],[1,"x"]],[[0,"array:merge!"],[1,"a"],[[0,"array"],[1,"i"]]],[1,"a"]]],[[0,"array"],[2,0]]],[2,2]]]],[[0,"let"],[1,"array:chunks"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"array:map"],[[0,"array:ranges"],[1,"xs"],[1,"predicate?"]],[[0,"lambda"],[1,"_arg1"],[[0,"do"],[[0,"let"],[1,"start"],[[0,"get"],[1,"_arg1"],[2,0]]],[[0,"let"],[1,"end"],[[0,"get"],[1,"_arg1"],[2,1]]],[[0,"array:exclude"],[[0,"array:slice"],[1,"xs"],[1,"start"],[1,"end"]],[1,"predicate?"]]]]]]],[[0,"let"],[1,"array:adjacent-find"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"length"],[1,"xs"]]],[[0,"if"],[[0,"not"],[[0,"="],[1,"len"],[2,1]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"recursive:array:adjacent-find"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"len"]],[[0,"if"],[[0,"cb?"],[[0,"let"],[1,"prev"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"i"],[2,1]]]],[[0,"let"],[1,"current"],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"prev"],[[0,"recursive:array:adjacent-find"],[[0,"+"],[1,"i"],[2,1]]]],[1,"nil"]]]],[[0,"recursive:array:adjacent-find"],[2,1]]]]],[1,"nil"]]]]],[[0,"let"],[1,"matrix:zeroes"],[[0,"lambda"],[1,"W"],[1,"H"],[[0,"array:map"],[[0,"math:zeroes"],[1,"W"]],[[0,"lambda"],[1,"."],[[0,"math:zeroes"],[1,"H"]]]]]],[[0,"let"],[1,"matrix:ones"],[[0,"lambda"],[1,"W"],[1,"H"],[[0,"array:map"],[[0,"math:ones"],[1,"W"]],[[0,"lambda"],[1,"."],[[0,"math:ones"],[1,"H"]]]]]],[[0,"let"],[1,"matrix:truth-table"],[[0,"lambda"],[1,"W"],[1,"H"],[[0,"array:map"],[[0,"bool:truths"],[1,"W"]],[[0,"lambda"],[1,"."],[[0,"bool:truths"],[1,"H"]]]]]],[[0,"let"],[1,"matrix:false-table"],[[0,"lambda"],[1,"W"],[1,"H"],[[0,"array:map"],[[0,"bool:lies"],[1,"W"]],[[0,"lambda"],[1,"."],[[0,"bool:lies"],[1,"H"]]]]]],[[0,"let"],[1,"matrix:points"],[[0,"lambda"],[1,"matrix"],[1,"cb?"],[[0,"do"],[[0,"let"],[1,"coords"],[[0,"array"]]],[[0,"matrix:enumerated-for"],[1,"matrix"],[[0,"lambda"],[1,"cell"],[1,"y"],[1,"x"],[[0,"if"],[[0,"cb?"],[1,"cell"]],[[0,"array:push!"],[1,"coords"],[[0,"array"],[1,"y"],[1,"x"]]],[1,"nil"]]]],[1,"coords"]]]],[[0,"let"],[1,"matrix:for"],[[0,"lambda"],[1,"matrix"],[1,"cb"],[[0,"do"],[[0,"array:for"],[1,"matrix"],[[0,"lambda"],[1,"row"],[[0,"array:for"],[1,"row"],[1,"cb"]]]],[1,"matrix"]]]],[[0,"let"],[1,"matrix:shallow-copy"],[[0,"lambda"],[1,"matrix"],[[0,"array:map"],[1,"matrix"],[[0,"lambda"],[1,"x"],[[0,"array:map"],[1,"x"],[1,"identity"]]]]]],[[0,"let"],[1,"matrix:flat-one"],[[0,"lambda"],[1,"_arg1"],[[0,"do"],[[0,"let"],[1,"head"],[[0,"get"],[1,"_arg1"],[2,0]]],[[0,"let"],[1,"tail"],[[0,"array:drop"],[1,"_arg1"],[2,1]]],[[0,"array:merge"],[[0,"array"]],[[0,"if"],[[0,"array:empty?"],[1,"tail"]],[1,"head"],[[0,"array:merge"],[1,"head"],[[0,"matrix:flat-one"],[1,"tail"]]]]]]]],[[0,"let"],[1,"matrix:find-index"],[[0,"lambda"],[1,"matrix"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"coords"],[[0,"array"],[2,-1],[2,-1]]],[[0,"set!"],[1,"coords"],[2,0],[[0,"array:find-index"],[1,"matrix"],[[0,"lambda"],[1,"row"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"array:find-index"],[1,"row"],[1,"cb"]]],[[0,"let"],[1,"predicate?"],[[0,">"],[1,"idx"],[2,-1]]],[[0,"if"],[1,"predicate?"],[[0,"set!"],[1,"coords"],[2,1],[1,"idx"]],[1,"nil"]],[1,"predicate?"]]]]]]]],[[0,"let"],[1,"matrix:find"],[[0,"lambda"],[1,"matrix"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"coords"],[[0,"matrix:find-index"],[1,"matrix"],[1,"cb"]]],[[0,"matrix:get"],[1,"matrix"],[[0,"array:first"],[1,"coords"]],[[0,"array:second"],[1,"coords"]]]]]],[[0,"let"],[1,"matrix:enumerated-for"],[[0,"lambda"],[1,"matrix"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"width"],[[0,"length"],[[0,"array:first"],[1,"matrix"]]]],[[0,"let"],[1,"height"],[[0,"length"],[1,"matrix"]]],[[0,"loop:for-n"],[1,"height"],[[0,"lambda"],[1,"y"],[[0,"loop:for-n"],[1,"width"],[[0,"lambda"],[1,"x"],[[0,"cb"],[[0,"matrix:get"],[1,"matrix"],[1,"y"],[1,"x"]],[1,"y"],[1,"x"]]]]]],[1,"matrix"]]]],[[0,"let"],[1,"matrix:of"],[[0,"lambda"],[1,"matrix"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"width"],[[0,"length"],[[0,"array:first"],[1,"matrix"]]]],[[0,"let"],[1,"height"],[[0,"length"],[1,"matrix"]]],[[0,"loop:for-n"],[1,"height"],[[0,"lambda"],[1,"y"],[[0,"loop:for-n"],[1,"width"],[[0,"lambda"],[1,"x"],[[0,"cb"],[1,"y"],[1,"x"]]]]]],[1,"matrix"]]]],[[0,"let"],[1,"matrix:fill"],[[0,"lambda"],[1,"W"],[1,"H"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"matrix"],[[0,"array"]]],[[0,"loop:for-n"],[1,"W"],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"array:push!"],[1,"matrix"],[[0,"array"]]],[[0,"loop:for-n"],[1,"H"],[[0,"lambda"],[1,"j"],[[0,"matrix:set!"],[1,"matrix"],[1,"i"],[1,"j"],[[0,"cb"],[1,"i"],[1,"j"]]]]]]]],[1,"matrix"]]]],[[0,"let"],[1,"matrix:rotate"],[[0,"lambda"],[1,"matrix"],[[0,"do"],[[0,"let"],[1,"H"],[[0,"length"],[1,"matrix"]]],[[0,"let"],[1,"W"],[[0,"length"],[[0,"get"],[1,"matrix"],[2,0]]]],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"loop:for-range"],[2,0],[1,"W"],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"array:push!"],[1,"out"],[[0,"array"]]],[[0,"loop:for-range"],[2,0],[1,"H"],[[0,"lambda"],[1,"j"],[[0,"array:push!"],[[0,"array:at"],[1,"out"],[2,-1]],[[0,"matrix:get"],[1,"matrix"],[1,"j"],[1,"i"]]]]]]]],[1,"out"]]]],[[0,"let"],[1,"matrix:rotate-square"],[[0,"lambda"],[1,"matrix"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"length"],[1,"matrix"]]],[[0,"let"],[1,"out"],[[0,"math:zeroes"],[1,"len"]]],[[0,"let"],[1,"recursive:outer:matrix:rotate-square"],[[0,"lambda"],[1,"row"],[[0,"if"],[[0,"<"],[1,"row"],[1,"len"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[1,"out"],[1,"row"],[[0,"array"]]],[[0,"let"],[1,"recursive:inner:matrix:rotate-square"],[[0,"lambda"],[1,"col"],[[0,"if"],[[0,"<"],[1,"col"],[1,"len"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[[0,"get"],[1,"out"],[1,"row"]],[1,"col"],[[0,"get"],[[0,"get"],[1,"matrix"],[1,"col"]],[[0,"-"],[[0,"-"],[1,"len"],[2,1]],[1,"row"]]]],[[0,"recursive:inner:matrix:rotate-square"],[[0,"+"],[1,"col"],[2,1]]]]]],[1,"nil"]]]],[[0,"recursive:inner:matrix:rotate-square"],[2,0]],[[0,"recursive:outer:matrix:rotate-square"],[[0,"+"],[1,"row"],[2,1]]]]]],[1,"nil"]]]],[[0,"recursive:outer:matrix:rotate-square"],[2,0]],[1,"out"]]]],[[0,"let"],[1,"matrix:flip-square"],[[0,"lambda"],[1,"matrix"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"length"],[1,"matrix"]]],[[0,"let"],[1,"out"],[[0,"math:zeroes"],[1,"len"]]],[[0,"let"],[1,"recursive:outer:matrix:flip-square"],[[0,"lambda"],[1,"row"],[[0,"if"],[[0,"<"],[1,"row"],[1,"len"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[1,"out"],[1,"row"],[[0,"array"]]],[[0,"let"],[1,"recursive:inner:matrix:flip-square"],[[0,"lambda"],[1,"col"],[[0,"if"],[[0,"<"],[1,"col"],[1,"len"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[[0,"get"],[1,"out"],[1,"row"]],[1,"col"],[[0,"get"],[[0,"get"],[1,"matrix"],[1,"row"]],[[0,"-"],[[0,"-"],[1,"len"],[2,1]],[1,"col"]]]],[[0,"recursive:inner:matrix:flip-square"],[[0,"+"],[1,"col"],[2,1]]]]]],[[0,"array"]]]]],[[0,"recursive:inner:matrix:flip-square"],[2,0]],[[0,"recursive:outer:matrix:flip-square"],[[0,"+"],[1,"row"],[2,1]]]]]],[[0,"array"]]]]],[[0,"recursive:outer:matrix:flip-square"],[2,0]],[1,"out"]]]],[[0,"let"],[1,"matrix:dimensions"],[[0,"lambda"],[1,"matrix"],[[0,"array"],[[0,"length"],[1,"matrix"]],[[0,"length"],[[0,"get"],[1,"matrix"],[2,0]]]]]],[[0,"let"],[1,"matrix:in-bounds?"],[[0,"lambda"],[1,"matrix"],[1,"y"],[1,"x"],[[0,"and"],[[0,"array:in-bounds?"],[1,"matrix"],[1,"y"]],[[0,"array:in-bounds?"],[[0,"get"],[1,"matrix"],[1,"y"]],[1,"x"]]]]],[[0,"let"],[1,"matrix:diagonal-neighborhood"],[[0,"array"],[[0,"array"],[2,1],[2,-1]],[[0,"array"],[2,-1],[2,-1]],[[0,"array"],[2,1],[2,1]],[[0,"array"],[2,-1],[2,1]]]],[[0,"let"],[1,"matrix:moore-neighborhood"],[[0,"array"],[[0,"array"],[2,0],[2,1]],[[0,"array"],[2,1],[2,0]],[[0,"array"],[2,-1],[2,0]],[[0,"array"],[2,0],[2,-1]],[[0,"array"],[2,1],[2,-1]],[[0,"array"],[2,-1],[2,-1]],[[0,"array"],[2,1],[2,1]],[[0,"array"],[2,-1],[2,1]]]],[[0,"let"],[1,"matrix:von-neumann-neighborhood"],[[0,"array"],[[0,"array"],[2,1],[2,0]],[[0,"array"],[2,0],[2,-1]],[[0,"array"],[2,0],[2,1]],[[0,"array"],[2,-1],[2,0]]]],[[0,"let"],[1,"matrix:adjacent"],[[0,"lambda"],[1,"xs"],[1,"directions"],[1,"y"],[1,"x"],[1,"cb"],[[0,"array:for"],[1,"directions"],[[0,"lambda"],[1,"dir"],[[0,"do"],[[0,"let"],[1,"dy"],[[0,"+"],[[0,"array:first"],[1,"dir"]],[1,"y"]]],[[0,"let"],[1,"dx"],[[0,"+"],[[0,"array:second"],[1,"dir"]],[1,"x"]]],[[0,"if"],[[0,"matrix:in-bounds?"],[1,"xs"],[1,"dy"],[1,"dx"]],[[0,"cb"],[[0,"matrix:get"],[1,"xs"],[1,"dy"],[1,"dx"]],[1,"dir"],[1,"dy"],[1,"dx"]],[[0,"array"]]]]]]]],[[0,"let"],[1,"matrix:adjacent-sum"],[[0,"lambda"],[1,"xs"],[1,"directions"],[1,"y"],[1,"x"],[1,"cb"],[[0,"array:reduce"],[1,"directions"],[[0,"lambda"],[1,"a"],[1,"dir"],[[0,"do"],[[0,"let"],[1,"dy"],[[0,"+"],[[0,"array:first"],[1,"dir"]],[1,"y"]]],[[0,"let"],[1,"dx"],[[0,"+"],[[0,"array:second"],[1,"dir"]],[1,"x"]]],[[0,"if"],[[0,"and"],[[0,"array:in-bounds?"],[1,"xs"],[1,"dy"]],[[0,"array:in-bounds?"],[[0,"get"],[1,"xs"],[1,"dy"]],[1,"dx"]]],[[0,"cb"],[1,"a"],[[0,"matrix:get"],[1,"xs"],[1,"dy"],[1,"dx"]]],[1,"a"]]]],[2,0]]]],[[0,"let"],[1,"matrix:sliding-adjacent-sum"],[[0,"lambda"],[1,"xs"],[1,"directions"],[1,"y"],[1,"x"],[1,"N"],[1,"cb"],[[0,"array:reduce"],[1,"directions"],[[0,"lambda"],[1,"a"],[1,"dir"],[[0,"do"],[[0,"let"],[1,"dy"],[[0,"+"],[[0,"array:first"],[1,"dir"]],[1,"y"]]],[[0,"let"],[1,"dx"],[[0,"+"],[[0,"array:second"],[1,"dir"]],[1,"x"]]],[[0,"cb"],[1,"a"],[[0,"get"],[[0,"get"],[1,"xs"],[[0,"math:euclidean-mod"],[1,"dy"],[1,"N"]]],[[0,"math:euclidean-mod"],[1,"dx"],[1,"N"]]]]]],[2,0]]]],[[0,"let"],[1,"matrix:set!"],[[0,"lambda"],[1,"matrix"],[1,"y"],[1,"x"],[1,"value"],[[0,"set!"],[[0,"get"],[1,"matrix"],[1,"y"]],[1,"x"],[1,"value"]]]],[[0,"let"],[1,"matrix:get"],[[0,"lambda"],[1,"matrix"],[1,"y"],[1,"x"],[[0,"get"],[[0,"get"],[1,"matrix"],[1,"y"]],[1,"x"]]]],[[0,"let"],[1,"matrix:set-and-get!"],[[0,"lambda"],[1,"matrix"],[1,"y"],[1,"x"],[1,"value"],[[0,"do"],[[0,"matrix:set!"],[1,"matrix"],[1,"y"],[1,"x"],[1,"value"]],[1,"value"]]]],[[0,"let"],[1,"matrix:get-option"],[[0,"lambda"],[1,"xs"],[1,"y"],[1,"x"],[[0,"if"],[[0,"matrix:in-bounds?"],[1,"xs"],[1,"y"],[1,"x"]],[[0,"array"],[[0,"array"],[[0,"matrix:get"],[1,"xs"],[1,"y"],[1,"x"]]],[[0,"array"]]],[[0,"array"],[[0,"array"]],[[0,"array"],[2,-1]]]]]],[[0,"let"],[1,"matrix:get-or-default"],[[0,"lambda"],[1,"xs"],[1,"y"],[1,"x"],[1,"def"],[[0,"if"],[[0,"matrix:in-bounds?"],[1,"xs"],[1,"y"],[1,"x"]],[[0,"matrix:get"],[1,"xs"],[1,"y"],[1,"x"]],[1,"def"]]]],[[0,"let"],[1,"from:yx->key"],[[0,"lambda"],[1,"y"],[1,"x"],[[0,"array:concat-with"],[[0,"array:map"],[[0,"array"],[1,"y"],[1,"x"]],[[0,"lambda"],[1,"c"],[[0,"from:digits->chars"],[[0,"from:integer->digits"],[1,"c"]]]]],[1,"char:dash"]]]],[[0,"let"],[1,"from:string-or-number->key"],[[0,"lambda"],[1,"arr"],[[0,"array:commas"],[[0,"array:map"],[1,"arr"],[[0,"lambda"],[1,"x"],[[0,"if"],[[0,"atom?"],[1,"x"]],[[0,"array"],[1,"x"]],[[0,"if"],[[0,"="],[[0,"length"],[1,"x"]],[2,0]],[[0,"array"],[1,"char:comma"]],[[0,"if"],[[0,"not"],[2,0]],[1,"x"],[[0,"Any"],[1,"nil"]]]]]]]]]],[[0,"let"],[1,"from:list->array"],[[0,"lambda"],[1,"list"],[[0,"do"],[[0,"let"],[1,"recursive:from:list->array"],[[0,"lambda"],[1,"lst"],[1,"out"],[[0,"if"],[[0,"list:nil?"],[1,"lst"]],[1,"out"],[[0,"recursive:from:list->array"],[[0,"list:tail"],[1,"lst"]],[[0,"array:merge"],[1,"out"],[[0,"array"],[[0,"list:head"],[1,"lst"]]]]]]]],[[0,"recursive:from:list->array"],[1,"list"],[[0,"array"]]]]]],[[0,"let"],[1,"from:array->list"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"recursive:from:array->list"],[[0,"lambda"],[1,"xs"],[1,"out"],[[0,"if"],[[0,"not"],[[0,">"],[[0,"length"],[1,"xs"]],[2,0]]],[1,"out"],[[0,"recursive:from:array->list"],[[0,"array:tail"],[1,"xs"]],[[0,"list:pair"],[[0,"array:head"],[1,"xs"]],[1,"out"]]]]]],[[0,"recursive:from:array->list"],[[0,"array:reverse"],[1,"xs"]],[[0,"array"]]]]]],[[0,"let"],[1,"from:digit->char"],[[0,"lambda"],[1,"d"],[[0,"if"],[[0,"="],[1,"d"],[2,0]],[1,"char:0"],[[0,"if"],[[0,"="],[1,"d"],[2,1]],[1,"char:1"],[[0,"if"],[[0,"="],[1,"d"],[2,2]],[1,"char:2"],[[0,"if"],[[0,"="],[1,"d"],[2,3]],[1,"char:3"],[[0,"if"],[[0,"="],[1,"d"],[2,4]],[1,"char:4"],[[0,"if"],[[0,"="],[1,"d"],[2,5]],[1,"char:5"],[[0,"if"],[[0,"="],[1,"d"],[2,6]],[1,"char:6"],[[0,"if"],[[0,"="],[1,"d"],[2,7]],[1,"char:7"],[[0,"if"],[[0,"="],[1,"d"],[2,8]],[1,"char:8"],[[0,"if"],[[0,"="],[1,"d"],[2,9]],[1,"char:9"],[[0,"if"],[[0,"not"],[2,0]],[1,"char:space"],[[0,"Any"],[1,"nil"]]]]]]]]]]]]]]],[[0,"let"],[1,"from:char->digit"],[[0,"lambda"],[1,"c"],[[0,"if"],[[0,"="],[1,"c"],[1,"char:0"]],[2,0],[[0,"if"],[[0,"="],[1,"c"],[1,"char:1"]],[2,1],[[0,"if"],[[0,"="],[1,"c"],[1,"char:2"]],[2,2],[[0,"if"],[[0,"="],[1,"c"],[1,"char:3"]],[2,3],[[0,"if"],[[0,"="],[1,"c"],[1,"char:4"]],[2,4],[[0,"if"],[[0,"="],[1,"c"],[1,"char:5"]],[2,5],[[0,"if"],[[0,"="],[1,"c"],[1,"char:6"]],[2,6],[[0,"if"],[[0,"="],[1,"c"],[1,"char:7"]],[2,7],[[0,"if"],[[0,"="],[1,"c"],[1,"char:8"]],[2,8],[[0,"if"],[[0,"="],[1,"c"],[1,"char:9"]],[2,9],[[0,"if"],[[0,"not"],[2,0]],[2,-1],[[0,"Any"],[1,"nil"]]]]]]]]]]]]]]],[[0,"let"],[1,"from:chars->digits"],[[0,"lambda"],[1,"chars"],[[0,"array:map"],[1,"chars"],[[0,"lambda"],[1,"ch"],[[0,"from:char->digit"],[1,"ch"]]]]]],[[0,"let"],[1,"from:chars->positive-or-negative-digits"],[[0,"lambda"],[1,"chars"],[[0,"do"],[[0,"let"],[1,"current-sign"],[[0,"var:def"],[2,1]]],[[0,"array:transform"],[1,"chars"],[[0,"lambda"],[1,"a"],[1,"ch"],[[0,"do"],[[0,"if"],[[0,"="],[1,"ch"],[1,"char:minus"]],[[0,"var:set!"],[1,"current-sign"],[2,-1]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"array:push!"],[1,"a"],[[0,"*"],[[0,"var:get"],[1,"current-sign"]],[[0,"from:char->digit"],[1,"ch"]]]],[[0,"var:set!"],[1,"current-sign"],[2,1]]]]]],[1,"a"]]],[[0,"array"]]]]]],[[0,"let"],[1,"from:digits->chars"],[[0,"lambda"],[1,"numbers"],[[0,"array:map"],[1,"numbers"],[[0,"lambda"],[1,"digit"],[[0,"from:digit->char"],[1,"digit"]]]]]],[[0,"let"],[1,"from:digits->integer"],[[0,"lambda"],[1,"digits"],[[0,"do"],[[0,"let"],[1,"recursive:from:digits->integer"],[[0,"lambda"],[1,"i"],[1,"num"],[1,"base"],[[0,"if"],[[0,">"],[[0,"length"],[1,"digits"]],[1,"i"]],[[0,"recursive:from:digits->integer"],[[0,"+"],[1,"i"],[2,1]],[[0,"+"],[1,"num"],[[0,"*"],[1,"base"],[[0,"get"],[1,"digits"],[1,"i"]]]],[[0,"*"],[1,"base"],[2,0.1]]],[1,"num"]]]],[[0,"recursive:from:digits->integer"],[2,0],[2,0],[[0,"*"],[[0,"math:power"],[2,10],[[0,"length"],[1,"digits"]]],[2,0.1]]]]]],[[0,"let"],[1,"from:positive-or-negative-digits->integer"],[[0,"lambda"],[1,"digits-with-sign"],[[0,"do"],[[0,"let"],[1,"negative?"],[[0,"<"],[[0,"array:first"],[1,"digits-with-sign"]],[2,0]]],[[0,"let"],[1,"digits"],[[0,"if"],[1,"negative?"],[[0,"array:map"],[1,"digits-with-sign"],[1,"math:abs"]],[1,"digits-with-sign"]]],[[0,"let"],[1,"recursive:from:positive-or-negative-digits->integer"],[[0,"lambda"],[1,"i"],[1,"num"],[1,"base"],[[0,"if"],[[0,">"],[[0,"length"],[1,"digits"]],[1,"i"]],[[0,"recursive:from:positive-or-negative-digits->integer"],[[0,"+"],[1,"i"],[2,1]],[[0,"+"],[1,"num"],[[0,"*"],[1,"base"],[[0,"get"],[1,"digits"],[1,"i"]]]],[[0,"*"],[1,"base"],[2,0.1]]],[1,"num"]]]],[[0,"*"],[[0,"recursive:from:positive-or-negative-digits->integer"],[2,0],[2,0],[[0,"*"],[[0,"math:power"],[2,10],[[0,"length"],[1,"digits"]]],[2,0.1]]],[[0,"if"],[1,"negative?"],[2,-1],[2,1]]]]]],[[0,"let"],[1,"from:positive-or-negative-digits->chars"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:map"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"if"],[[0,"math:negative?"],[1,"x"]],[[0,"array"],[2,0],[[0,"*"],[1,"x"],[2,-1]]],[[0,"array"],[2,1],[1,"x"]]]]],[[0,"lambda"],[1,"a"],[1,"x"],[[0,"if"],[[0,"array:first"],[1,"x"]],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[[0,"from:digit->char"],[[0,"array:second"],[1,"x"]]]],[[0,"set!"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[1,"char:dash"]],[[0,"length"],[1,"a"]],[[0,"from:digit->char"],[[0,"array:second"],[1,"x"]]]]]],[[0,"array"]]]]],[[0,"let"],[1,"from:integer->digits"],[[0,"lambda"],[1,"num"],[[0,"do"],[[0,"let"],[1,"recursive:from:integer->digits"],[[0,"lambda"],[1,"num"],[1,"res"],[[0,"if"],[[0,">="],[1,"num"],[2,1]],[[0,"recursive:from:integer->digits"],[[0,"/"],[1,"num"],[2,10]],[[0,"set!"],[1,"res"],[[0,"length"],[1,"res"]],[[0,"|"],[[0,"mod"],[1,"num"],[2,10]],[2,0]]]],[[0,"if"],[[0,"="],[1,"num"],[2,0]],[[0,"array"],[2,0]],[[0,"if"],[[0,"not"],[2,0]],[1,"res"],[[0,"Any"],[1,"nil"]]]]]]],[[0,"array:reverse"],[[0,"recursive:from:integer->digits"],[1,"num"],[[0,"array"]]]]]]],[[0,"let"],[1,"from:number->positive-or-negative-digits"],[[0,"lambda"],[1,"positive-or-negative-num"],[[0,"do"],[[0,"let"],[1,"negative?"],[[0,"math:negative?"],[1,"positive-or-negative-num"]]],[[0,"let"],[1,"num"],[[0,"if"],[1,"negative?"],[[0,"*"],[1,"positive-or-negative-num"],[2,-1]],[1,"positive-or-negative-num"]]],[[0,"let"],[1,"recursive:from:number->positive-or-negative-digits"],[[0,"lambda"],[1,"num"],[1,"res"],[[0,"if"],[[0,">="],[1,"num"],[2,1]],[[0,"recursive:from:number->positive-or-negative-digits"],[[0,"/"],[1,"num"],[2,10]],[[0,"set!"],[1,"res"],[[0,"length"],[1,"res"]],[[0,"|"],[[0,"mod"],[1,"num"],[2,10]],[2,0]]]],[[0,"if"],[[0,"="],[1,"num"],[2,0]],[[0,"array"],[2,0]],[[0,"if"],[[0,"not"],[2,0]],[1,"res"],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"out"],[[0,"array:reverse"],[[0,"recursive:from:number->positive-or-negative-digits"],[1,"num"],[[0,"array"]]]]],[[0,"if"],[1,"negative?"],[[0,"set!"],[1,"out"],[2,0],[[0,"*"],[[0,"get"],[1,"out"],[2,0]],[2,-1]]],[1,"nil"]],[1,"out"]]]],[[0,"let"],[1,"from:integer->bits"],[[0,"lambda"],[1,"num"],[[0,"do"],[[0,"let"],[1,"recursive:from:integer->bits"],[[0,"lambda"],[1,"num"],[1,"res"],[[0,"if"],[[0,">="],[1,"num"],[2,1]],[[0,"recursive:from:integer->bits"],[[0,"/"],[1,"num"],[2,2]],[[0,"set!"],[1,"res"],[[0,"length"],[1,"res"]],[[0,"|"],[[0,"mod"],[1,"num"],[2,2]],[2,0]]]],[[0,"if"],[[0,"="],[1,"num"],[2,0]],[[0,"array"],[2,0]],[[0,"if"],[[0,"not"],[2,0]],[1,"res"],[[0,"Any"],[1,"nil"]]]]]]],[[0,"array:reverse"],[[0,"recursive:from:integer->bits"],[1,"num"],[[0,"array"]]]]]]],[[0,"let"],[1,"from:bits->integer"],[[0,"lambda"],[1,"bits"],[[0,"do"],[[0,"let"],[1,"xs"],[[0,"array:reverse"],[1,"bits"]]],[[0,"let"],[1,"bits->integer"],[[0,"lambda"],[1,"index"],[[0,"if"],[[0,"="],[1,"index"],[[0,"length"],[1,"xs"]]],[2,0],[[0,"+"],[[0,"*"],[[0,"get"],[1,"xs"],[1,"index"]],[[0,"math:power"],[2,2],[1,"index"]]],[[0,"bits->integer"],[[0,"+"],[1,"index"],[2,1]]]]]]],[[0,"bits->integer"],[2,0]]]]],[[0,"let"],[1,"from:numbers->chars"],[[0,"lambda"],[1,"x"],[[0,"array:map"],[1,"x"],[[0,"lambda"],[1,"x"],[[0,"from:digits->chars"],[[0,"from:integer->digits"],[1,"x"]]]]]]],[[0,"let"],[1,"from:chars->integer"],[[0,"lambda"],[1,"n"],[[0,"from:digits->integer"],[[0,"from:chars->digits"],[1,"n"]]]]],[[0,"let"],[1,"from:positive-or-negative-chars->integer"],[[0,"lambda"],[1,"x"],[[0,"from:positive-or-negative-digits->integer"],[[0,"from:chars->positive-or-negative-digits"],[1,"x"]]]]],[[0,"let"],[1,"from:string->integer"],[1,"from:positive-or-negative-chars->integer"]],[[0,"let"],[1,"from:strings->integers"],[[0,"lambda"],[1,"strings"],[[0,"array:map"],[1,"strings"],[1,"from:positive-or-negative-chars->integer"]]]],[[0,"let"],[1,"from:string->float"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"dec"],[[0,"array:find-index"],[1,"str"],[[0,"lambda"],[1,"x"],[[0,"="],[1,"x"],[1,"char:dot"]]]]],[[0,"if"],[[0,"="],[1,"dec"],[2,-1]],[[0,"from:string->integer"],[1,"str"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"neg?"],[[0,"match:negative?"],[1,"str"]]],[[0,"let"],[1,"left"],[[0,"array:slice"],[1,"str"],[[0,"numberp"],[1,"neg?"]],[1,"dec"]]],[[0,"let"],[1,"right"],[[0,"array:slice"],[1,"str"],[[0,"+"],[1,"dec"],[2,1]],[[0,"length"],[1,"str"]]]],[[0,"let"],[1,"n"],[[0,"math:power"],[2,10],[[0,"length"],[1,"right"]]]],[[0,"let"],[1,"sign"],[[0,"if"],[1,"neg?"],[2,-1],[2,1]]],[[0,"let"],[1,"exponent"],[[0,"from:digits->integer"],[[0,"from:chars->digits"],[1,"left"]]]],[[0,"let"],[1,"mantissa"],[[0,"from:digits->integer"],[[0,"from:chars->digits"],[1,"right"]]]],[[0,"*"],[1,"sign"],[[0,"/"],[[0,"+"],[[0,"*"],[1,"exponent"],[1,"n"]],[1,"mantissa"]],[1,"n"]]]]]]]]]],[[0,"let"],[1,"from:strings->floats"],[[0,"lambda"],[1,"strings"],[[0,"array:map"],[1,"strings"],[1,"from:string->float"]]]],[[0,"let"],[1,"from:float->string"],[[0,"lambda"],[1,"x"],[[0,"if"],[[0,"="],[[0,"math:floor"],[1,"x"]],[1,"x"]],[[0,"from:integer->string"],[1,"x"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"flip"],[[0,"if"],[[0,"<"],[1,"x"],[2,0]],[2,-1],[2,1]]],[[0,"let"],[1,"exponent"],[[0,"math:floor"],[1,"x"]]],[[0,"let"],[1,"mantisa"],[[0,"-"],[1,"x"],[1,"exponent"]]],[[0,"let"],[1,"left"],[[0,"from:integer->string"],[1,"exponent"]]],[[0,"let"],[1,"right"],[[0,"from:integer->string"],[[0,"*"],[1,"mantisa"],[[0,"*"],[1,"math:decimal-scaling"],[1,"flip"]]]]],[[0,"let"],[1,"len"],[[0,"length"],[1,"right"]]],[[0,"let"],[1,"recursive:while"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"="],[[0,"get"],[1,"right"],[[0,"-"],[1,"len"],[1,"i"]]],[1,"char:0"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"array:pop!"],[1,"right"]],[[0,"recursive:while"],[[0,"+"],[1,"i"],[2,1]]],[2,0]]]],[1,"nil"]]]],[[0,"recursive:while"],[2,1]],[[0,"array:concat"],[[0,"array"],[1,"left"],[[0,"array"],[1,"char:dot"]],[1,"right"]]]]]]]]],[[0,"let"],[1,"from:floats->strings"],[[0,"lambda"],[1,"xs"],[[0,"array:map"],[1,"xs"],[1,"from:float->string"]]]],[[0,"let"],[1,"from:string->date"],[[0,"lambda"],[1,"str"],[[0,"array:map"],[[0,"string:dashes"],[1,"str"]],[[0,"lambda"],[1,"d"],[[0,"from:digits->integer"],[[0,"from:chars->digits"],[1,"d"]]]]]]],[[0,"let"],[1,"from:integer->string"],[[0,"lambda"],[1,"x"],[[0,"from:positive-or-negative-digits->chars"],[[0,"from:number->positive-or-negative-digits"],[1,"x"]]]]],[[0,"let"],[1,"from:integers->strings"],[[0,"lambda"],[1,"x"],[[0,"array:map"],[1,"x"],[1,"from:integer->string"]]]],[[0,"let"],[1,"from:array->set"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"s"],[[0,"array"],[[0,"array"]],[[0,"array"]],[[0,"array"]],[[0,"array"]]]],[[0,"array:for"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"set:add!"],[1,"s"],[1,"x"]]]],[1,"s"]]]],[[0,"let"],[1,"from:array->table"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"s"],[[0,"array"],[[0,"array"]],[[0,"array"]],[[0,"array"]],[[0,"array"]]]],[[0,"array:for"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"map:set!"],[1,"s"],[1,"x"],[2,0]]]],[1,"s"]]]],[[0,"let"],[1,"from:set->array"],[[0,"lambda"],[1,"set"],[[0,"array:select"],[[0,"array:flat-one"],[1,"set"]],[1,"array:not-empty?"]]]],[[0,"let"],[1,"from:map->array"],[[0,"lambda"],[1,"set"],[[0,"array:select"],[[0,"array:flat-one"],[1,"set"]],[1,"array:not-empty?"]]]],[[0,"let"],[1,"from:set->integers"],[[0,"lambda"],[1,"set"],[[0,"array:map"],[[0,"from:set->array"],[1,"set"]],[[0,"lambda"],[1,"x"],[[0,"from:digits->integer"],[[0,"from:chars->digits"],[1,"x"]]]]]]],[[0,"let"],[1,"from:array->brray"],[[0,"lambda"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"q"],[[0,"new:brray"]]],[[0,"let"],[1,"half"],[[0,"math:floor"],[[0,"*"],[[0,"length"],[1,"initial"]],[2,0.5]]]],[[0,"let"],[1,"recursive:left:from:array->brray"],[[0,"lambda"],[1,"index"],[[0,"do"],[[0,"brray:add-to-left!"],[1,"q"],[[0,"get"],[1,"initial"],[1,"index"]]],[[0,"if"],[[0,">"],[1,"index"],[2,0]],[[0,"recursive:left:from:array->brray"],[[0,"-"],[1,"index"],[2,1]]],[[0,"array"]]]]]],[[0,"recursive:left:from:array->brray"],[[0,"-"],[1,"half"],[2,1]]],[[0,"let"],[1,"recursive:right:from:array->brray"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"brray:add-to-right!"],[1,"q"],[[0,"get"],[1,"initial"],[1,"index"]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:right:from:array->brray"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[[0,"array"]]]]]],[[0,"recursive:right:from:array->brray"],[1,"half"],[[0,"-"],[[0,"length"],[1,"initial"]],[2,1]]],[1,"q"]]]],[[0,"let"],[1,"from:brray->array"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"let"],[1,"recursive:from:brray->array"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"brray:get"],[1,"q"],[1,"index"]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:from:brray->array"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:from:brray->array"],[2,0],[[0,"-"],[[0,"brray:length"],[1,"q"]],[2,1]]],[1,"out"]]]],[[0,"let"],[1,"from:matrix->string"],[[0,"lambda"],[1,"matrix"],[[0,"array:lines"],[[0,"array:map"],[1,"matrix"],[[0,"lambda"],[1,"m"],[[0,"array:spaces"],[1,"m"]]]]]]],[[0,"let"],[1,"array:shallow-copy"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[1,"b"]]],[[0,"array"]]]]],[[0,"let"],[1,"array:deep-copy"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[[0,"if"],[[0,"array?"],[1,"b"]],[[0,"array:deep-copy"],[1,"b"]],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:merge!"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"array:for"],[1,"b"],[[0,"lambda"],[1,"x"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[1,"x"]]]],[1,"a"]]]],[[0,"let"],[1,"array:merge"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"array:for"],[1,"a"],[[0,"lambda"],[1,"x"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"x"]]]],[[0,"array:for"],[1,"b"],[[0,"lambda"],[1,"x"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"x"]]]],[1,"out"]]]],[[0,"let"],[1,"array:concat"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[1,"xs"],[1,"array:merge"],[[0,"array"]]]]],[[0,"let"],[1,"array:concat-with"],[[0,"lambda"],[1,"xs"],[1,"ch"],[[0,"array:enumerated-transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[1,"i"],[2,0]],[[0,"<"],[1,"i"],[[0,"length"],[1,"xs"]]]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"ch"]]],[1,"b"]],[[0,"array:merge"],[1,"a"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"string:concat-with-lines"],[[0,"lambda"],[1,"xs"],[[0,"array:enumerated-transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[1,"i"],[2,0]],[[0,"<"],[1,"i"],[[0,"length"],[1,"xs"]]]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:new-line"]]],[1,"b"]],[[0,"array:merge"],[1,"a"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:swap-remove!"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"do"],[[0,"set!"],[1,"xs"],[1,"i"],[[0,"get"],[1,"xs"],[[0,"-"],[[0,"length"],[1,"xs"]],[2,1]]]],[[0,"del!"],[1,"xs"]]]]],[[0,"let"],[1,"array:swap!"],[[0,"lambda"],[1,"xs"],[1,"i"],[1,"j"],[[0,"do"],[[0,"let"],[1,"temp"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"set!"],[1,"xs"],[1,"i"],[[0,"get"],[1,"xs"],[1,"j"]]],[[0,"set!"],[1,"xs"],[1,"j"],[1,"temp"]]]]],[[0,"let"],[1,"array:index-of"],[[0,"lambda"],[1,"xs"],[1,"item"],[[0,"do"],[[0,"let"],[1,"recursive:array:index-of"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"if"],[[0,"="],[[0,"get"],[1,"xs"],[1,"i"]],[1,"item"]],[1,"i"],[[0,"recursive:array:index-of"],[[0,"+"],[1,"i"],[2,1]]]],[2,-1]]]],[[0,"recursive:array:index-of"],[2,0]]]]],[[0,"let"],[1,"array:enumerate"],[[0,"lambda"],[1,"xs"],[[0,"array:zip"],[[0,"math:sequence"],[1,"xs"]],[1,"xs"]]]],[[0,"let"],[1,"array:enumerated-map"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-map"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:enumerated-map"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"cb"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:array:enumerated-map"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:enumerated-select"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-select"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:enumerated-select"],[[0,"+"],[1,"i"],[2,1]],[[0,"if"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"out"]]],[1,"out"]]]],[[0,"recursive:array:enumerated-select"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:enumerated-exclude"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-exclude"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:enumerated-exclude"],[[0,"+"],[1,"i"],[2,1]],[[0,"if"],[[0,"not"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"out"]]],[1,"out"]]]],[[0,"recursive:array:enumerated-exclude"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:enumerated-fold"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-fold"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:enumerated-fold"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]],[1,"out"]]]],[[0,"recursive:array:enumerated-fold"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:enumerated-transform"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-transform"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:enumerated-transform"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:array:enumerated-transform"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:enumerated-find"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-find"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"if"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]],[[0,"array"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"recursive:array:enumerated-find"],[[0,"+"],[1,"i"],[2,1]]]],[[0,"array"]]]]],[[0,"recursive:array:enumerated-find"],[2,0]]]]],[[0,"let"],[1,"array:enumerated-find-index"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-find-index"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"if"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]],[1,"i"],[[0,"recursive:array:enumerated-find-index"],[[0,"+"],[1,"i"],[2,1]]]],[2,-1]]]],[[0,"recursive:array:enumerated-find-index"],[2,0]]]]],[[0,"let"],[1,"array:enumerated-every?"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-every?"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]],[[0,"recursive:array:enumerated-every?"],[[0,"+"],[1,"i"],[2,1]]],[[0,"not"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]]]]]],[[0,"recursive:array:enumerated-every?"],[2,0]]]]],[[0,"let"],[1,"array:enumerated-some?"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-some?"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"not"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]]],[[0,"recursive:array:enumerated-some?"],[[0,"+"],[1,"i"],[2,1]]],[[0,"not"],[[0,"="],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[2,0]]]]]],[[0,"recursive:array:enumerated-some?"],[2,0]]]]],[[0,"let"],[1,"array:find-index"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"do"],[[0,"let"],[1,"recursive:array:find-index"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"if"],[[0,"cb?"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"i"],[[0,"recursive:array:find-index"],[[0,"+"],[1,"i"],[2,1]]]],[2,-1]]]],[[0,"recursive:array:find-index"],[2,0]]]]],[[0,"let"],[1,"array:remove"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"array:transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"x"],[[0,"do"],[[0,"if"],[[0,"="],[1,"x"],[1,"i"]],[1,"a"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[1,"x"]]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:pad-right"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"array:merge"],[1,"b"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]]],[[0,"array:merge"],[1,"a"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"b"]],[[0,"length"],[1,"a"]]]]]]]],[[0,"let"],[1,"array:pad-left"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"array:merge"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]],[1,"b"]],[[0,"array:merge"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"b"]],[[0,"length"],[1,"a"]]]],[1,"a"]]]]],[[0,"let"],[1,"array:pad-right!"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"array:merge!"],[1,"b"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]]],[[0,"array:merge!"],[1,"a"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"b"]],[[0,"length"],[1,"a"]]]]]]]],[[0,"let"],[1,"array:pad-left!"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"array:merge!"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]],[1,"b"]],[[0,"array:merge!"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"b"]],[[0,"length"],[1,"a"]]]],[1,"a"]]]]],[[0,"let"],[1,"array:rotate-right"],[[0,"lambda"],[1,"xs"],[1,"n"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set!"],[1,"a"],[[0,"mod"],[[0,"+"],[[0,"array:second"],[1,"b"]],[1,"n"]],[[0,"length"],[1,"xs"]]],[[0,"array:first"],[1,"b"]]]],[[0,"math:zeroes"],[[0,"length"],[1,"xs"]]]]]],[[0,"let"],[1,"array:rotate-left"],[[0,"lambda"],[1,"xs"],[1,"n"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set!"],[1,"a"],[[0,"mod"],[[0,"+"],[[0,"array:second"],[1,"b"]],[[0,"-"],[[0,"length"],[1,"xs"]],[1,"n"]]],[[0,"length"],[1,"xs"]]],[[0,"array:first"],[1,"b"]]]],[[0,"math:zeroes"],[[0,"length"],[1,"xs"]]]]]],[[0,"let"],[1,"string:character-occurances"],[[0,"lambda"],[1,"str"],[1,"letter"],[[0,"do"],[[0,"let"],[1,"xs"],[1,"str"]],[[0,"let"],[1,"bitmask"],[[0,"math:var-def"],[2,0]]],[[0,"let"],[1,"zero"],[1,"char:a"]],[[0,"let"],[1,"count"],[[0,"math:var-def"],[2,0]]],[[0,"let"],[1,"at-least-one"],[[0,"bool:false"]]],[[0,"let"],[1,"recursive:string:character-occurances"],[[0,"lambda"],[1,"i"],[1,"bounds"],[[0,"do"],[[0,"let"],[1,"ch"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"let"],[1,"code"],[[0,"-"],[1,"ch"],[1,"zero"]]],[[0,"let"],[1,"mask"],[[0,"<<"],[2,1],[1,"code"]]],[[0,"if"],[[0,"and"],[[0,"if"],[[0,"="],[1,"ch"],[1,"letter"]],[[0,"bool:true?"],[[0,"bool:true!"],[1,"at-least-one"]]],[2,0]],[[0,"not"],[[0,"="],[[0,"&"],[[0,"math:var-get"],[1,"bitmask"]],[1,"mask"]],[2,0]]]],[[0,"math:var-set!"],[1,"count"],[[0,"+"],[[0,"math:var-get"],[1,"count"]],[2,1]]],[[0,"math:var-set!"],[1,"bitmask"],[[0,"|"],[[0,"math:var-get"],[1,"bitmask"]],[1,"mask"]]]],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:string:character-occurances"],[[0,"+"],[1,"i"],[2,1]],[1,"bounds"]],[[0,"+"],[[0,"math:var-get"],[1,"count"]],[[0,"numberp"],[[0,"bool:get"],[1,"at-least-one"]]]]]]]],[[0,"recursive:string:character-occurances"],[2,0],[[0,"-"],[[0,"length"],[1,"xs"]],[2,1]]]]]],[[0,"let"],[1,"string:slice-from"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"index"],[[0,"string:match"],[1,"a"],[1,"b"]]],[[0,"array:slice"],[1,"a"],[1,"index"],[[0,"+"],[1,"index"],[[0,"-"],[[0,"length"],[1,"a"]],[1,"index"]]]]]]],[[0,"let"],[1,"string:slice-after"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"index"],[[0,"string:match"],[1,"a"],[1,"b"]]],[[0,"array:slice"],[1,"a"],[[0,"+"],[1,"index"],[[0,"length"],[1,"b"]]],[[0,"+"],[1,"index"],[[0,"-"],[[0,"length"],[1,"a"]],[1,"index"]]]]]]],[[0,"let"],[1,"string:slice-to"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"array:reverse"],[1,"A"]]],[[0,"let"],[1,"b"],[[0,"array:reverse"],[1,"B"]]],[[0,"let"],[1,"index"],[[0,"string:match"],[1,"a"],[1,"b"]]],[[0,"array:reverse"],[[0,"array:slice"],[1,"a"],[1,"index"],[[0,"+"],[1,"index"],[[0,"-"],[[0,"length"],[1,"a"]],[1,"index"]]]]]]]],[[0,"let"],[1,"string:slice-before"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"array:reverse"],[1,"A"]]],[[0,"let"],[1,"b"],[[0,"array:reverse"],[1,"B"]]],[[0,"let"],[1,"index"],[[0,"string:match"],[1,"a"],[1,"b"]]],[[0,"array:reverse"],[[0,"array:slice"],[1,"a"],[[0,"+"],[1,"index"],[[0,"length"],[1,"b"]]],[[0,"+"],[1,"index"],[[0,"-"],[[0,"length"],[1,"a"]],[1,"index"]]]]]]]],[[0,"let"],[1,"string:split"],[[0,"lambda"],[1,"str"],[1,"char"],[[0,"array:map"],[[0,"array:transform"],[1,"str"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"prev"],[[0,"array:at"],[1,"a"],[2,-1]]],[[0,"if"],[[0,"string:equal?"],[[0,"array"],[1,"b"]],[[0,"array"],[1,"char"]]],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[[0,"array"]]],[[0,"set!"],[1,"prev"],[[0,"length"],[1,"prev"]],[1,"b"]]],[1,"a"]]],[[0,"array"],[[0,"array"]]]],[[0,"lambda"],[1,"x"],[[0,"array:join"],[[0,"array"],[1,"x"]],[[0,"array"],[1,"char:empty"]]]]]]],[[0,"let"],[1,"string:match"],[[0,"lambda"],[1,"str"],[1,"word"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"str"]],[[0,"length"],[1,"word"]]],[2,-1],[[0,"if"],[[0,"string:equal?"],[1,"str"],[1,"word"]],[2,0],[[0,"if"],[[0,"not"],[2,0]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"recursive:string:match"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[2,0]],[[0,">="],[[0,"length"],[1,"xs"]],[[0,"length"],[1,"word"]]]],[[0,"if"],[[0,"string:equal?"],[[0,"array:join"],[[0,"array"],[[0,"array:slice"],[1,"str"],[1,"i"],[[0,"+"],[1,"i"],[[0,"length"],[1,"word"]]]]],[[0,"array"],[1,"char:empty"]]],[1,"word"]],[1,"i"],[[0,"recursive:string:match"],[[0,"array:tail"],[1,"xs"]],[[0,"+"],[1,"i"],[2,1]]]],[2,-1]]]],[[0,"recursive:string:match"],[1,"str"],[2,0]]]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"string:has?"],[[0,"lambda"],[1,"str"],[1,"word"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"str"]],[[0,"length"],[1,"word"]]],[1,"false"],[[0,"if"],[[0,"string:equal?"],[1,"str"],[1,"word"]],[1,"true"],[[0,"if"],[[0,"not"],[2,0]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"recursive:string:has"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[2,0]],[[0,">="],[[0,"length"],[1,"xs"]],[[0,"length"],[1,"word"]]]],[[0,"if"],[[0,"string:equal?"],[[0,"array:join"],[[0,"array"],[[0,"array:slice"],[1,"str"],[1,"i"],[[0,"+"],[1,"i"],[[0,"length"],[1,"word"]]]]],[[0,"array"],[1,"char:empty"]]],[1,"word"]],[1,"true"],[[0,"recursive:string:has"],[[0,"array:tail"],[1,"xs"]],[[0,"+"],[1,"i"],[2,1]]]],[1,"false"]]]],[[0,"recursive:string:has"],[1,"str"],[2,0]]]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"string:lesser?"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"and"],[[0,"not"],[[0,"string:equal?"],[1,"A"],[1,"B"]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]],[[0,"array:merge!"],[1,"A"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"B"]],[[0,"length"],[1,"A"]]]]],[1,"A"]]],[[0,"let"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]],[[0,"array:merge!"],[1,"B"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]]]],[1,"B"]]],[[0,"let"],[1,"pairs"],[[0,"array:reverse"],[[0,"array:zip"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"is"],[[0,"bool:false"]]],[[0,"let"],[1,"recursive:string:lesser"],[[0,"lambda"],[[0,"if"],[[0,"array:empty?"],[1,"pairs"]],[1,"is"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current"],[[0,"array:pop!"],[1,"pairs"]]],[[0,"if"],[[0,"="],[[0,"array:first"],[1,"current"]],[[0,"array:second"],[1,"current"]]],[[0,"recursive:string:lesser"]],[[0,"bool:set!"],[1,"is"],[[0,"<"],[[0,"array:first"],[1,"current"]],[[0,"array:second"],[1,"current"]]]]]]]]]]],[[0,"recursive:string:lesser"]],[[0,"bool:true?"],[1,"is"]]]]]]]],[[0,"let"],[1,"string:greater?"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"and"],[[0,"not"],[[0,"string:equal?"],[1,"A"],[1,"B"]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]],[[0,"array:merge!"],[1,"A"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"B"]],[[0,"length"],[1,"A"]]]]],[1,"A"]]],[[0,"let"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]],[[0,"array:merge!"],[1,"B"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]]]],[1,"B"]]],[[0,"let"],[1,"pairs"],[[0,"array:reverse"],[[0,"array:zip"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"is"],[[0,"bool:false"]]],[[0,"let"],[1,"recursive:string:greater"],[[0,"lambda"],[[0,"if"],[[0,"array:empty?"],[1,"pairs"]],[1,"is"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current"],[[0,"array:pop!"],[1,"pairs"]]],[[0,"if"],[[0,"="],[[0,"array:first"],[1,"current"]],[[0,"array:second"],[1,"current"]]],[[0,"recursive:string:greater"]],[[0,"bool:set!"],[1,"is"],[[0,">"],[[0,"array:first"],[1,"current"]],[[0,"array:second"],[1,"current"]]]]]]]]]]],[[0,"recursive:string:greater"]],[[0,"bool:true?"],[1,"is"]]]]]]]],[[0,"let"],[1,"string:greater-or-equal?"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"or"],[[0,"string:equal?"],[1,"A"],[1,"B"]],[[0,"string:greater?"],[1,"A"],[1,"B"]]]]],[[0,"let"],[1,"string:lesser-or-equal?"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"or"],[[0,"string:equal?"],[1,"A"],[1,"B"]],[[0,"string:lesser?"],[1,"A"],[1,"B"]]]]],[[0,"let"],[1,"string:equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"and"],[[0,"="],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"array:every?"],[[0,"array:zip"],[1,"a"],[1,"b"]],[[0,"lambda"],[1,"x"],[[0,"="],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]]]]],[[0,"let"],[1,"string:not-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"not"],[[0,"string:equal?"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"string:one-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"="],[[0,"array:first"],[1,"a"]],[[0,"array:first"],[1,"b"]]]]],[[0,"let"],[1,"string:two-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"and"],[[0,"string:one-equal?"],[1,"a"],[1,"b"]],[[0,"="],[[0,"array:second"],[1,"a"]],[[0,"array:second"],[1,"b"]]]]]],[[0,"let"],[1,"string:three-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"and"],[[0,"string:two-equal?"],[1,"a"],[1,"b"]],[[0,"="],[[0,"array:third"],[1,"a"]],[[0,"array:third"],[1,"b"]]]]]],[[0,"let"],[1,"string:min"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"string:lesser?"],[1,"a"],[1,"b"]],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"string:max"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"string:lesser?"],[1,"a"],[1,"b"]],[1,"b"],[1,"a"]]]],[[0,"let"],[1,"string:join-as-table-with"],[[0,"lambda"],[1,"table"],[1,"colum"],[1,"row"],[[0,"do"],[[0,"let"],[1,"M"],[[0,"math:maximum"],[[0,"array:map"],[1,"table"],[1,"math:max-length"]]]],[[0,"let"],[1,"row-delimiter2"],[[0,"array:map"],[[0,"math:zeroes"],[[0,"length"],[[0,"array:first"],[1,"table"]]]],[[0,"lambda"],[1,"."],[[0,"array:map"],[[0,"math:zeroes"],[1,"M"]],[[0,"lambda"],[1,"."],[1,"row"]]]]]],[[0,"let"],[1,"row-delimiter"],[[0,"array:map"],[[0,"math:zeroes"],[[0,"length"],[[0,"array:first"],[1,"table"]]]],[[0,"lambda"],[1,"."],[[0,"array:map"],[[0,"math:zeroes"],[1,"M"]],[[0,"lambda"],[1,"."],[1,"row"]]]]]],[[0,"array:join"],[[0,"array:map"],[[0,"array:transform"],[1,"table"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"b"]]],[[0,"array"],[1,"row-delimiter"]]]],[[0,"array"]]],[[0,"lambda"],[1,"x"],[[0,"array:join"],[[0,"array:map"],[1,"x"],[[0,"lambda"],[1,"y"],[[0,"string:pad-right"],[1,"y"],[1,"M"],[[0,"array"],[1,"char:space"]]]]],[1,"colum"]]]],[[0,"array"],[1,"char:new-line"]]]]]],[[0,"let"],[1,"string:starts-with?"],[[0,"lambda"],[1,"str"],[1,"pattern"],[[0,"and"],[[0,"<="],[[0,"length"],[1,"pattern"]],[[0,"length"],[1,"str"]]],[[0,"string:equal?"],[[0,"array:slice"],[1,"str"],[2,0],[[0,"length"],[1,"pattern"]]],[1,"pattern"]]]]],[[0,"let"],[1,"string:ends-with?"],[[0,"lambda"],[1,"str"],[1,"pattern"],[[0,"and"],[[0,"<="],[[0,"length"],[1,"pattern"]],[[0,"length"],[1,"str"]]],[[0,"string:equal?"],[[0,"array:slice"],[[0,"array:reverse"],[1,"str"]],[2,0],[[0,"length"],[1,"pattern"]]],[[0,"array:reverse"],[1,"pattern"]]]]]],[[0,"let"],[1,"string:join-as-table"],[[0,"lambda"],[1,"table"],[[0,"do"],[[0,"let"],[1,"M"],[[0,"math:maximum"],[[0,"array:map"],[1,"table"],[1,"math:max-length"]]]],[[0,"array:join"],[[0,"array:map"],[1,"table"],[[0,"lambda"],[1,"x"],[[0,"array:join"],[[0,"array:map"],[1,"x"],[[0,"lambda"],[1,"y"],[[0,"string:pad-right"],[1,"y"],[1,"M"],[[0,"array"],[1,"char:space"]]]]],[[0,"array"],[1,"char:space"]]]]],[[0,"array"],[1,"char:new-line"]]]]]],[[0,"let"],[1,"string:trim-left"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"tr"],[[0,"bool:true"]]],[[0,"array:transform"],[1,"str"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"and"],[[0,"bool:true?"],[1,"tr"]],[[0,"or"],[[0,"="],[1,"b"],[1,"char:space"]],[[0,"="],[1,"b"],[1,"char:new-line"]]]],[1,"a"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"if"],[[0,"bool:true?"],[1,"tr"]],[[0,"bool:false!"],[1,"tr"]],[1,"nil"]],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"b"]]]]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"string:trim-right"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"tr"],[[0,"bool:true"]]],[[0,"array:transform"],[[0,"array:reverse"],[1,"str"]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"and"],[[0,"bool:true?"],[1,"tr"]],[[0,"or"],[[0,"="],[1,"b"],[1,"char:space"]],[[0,"="],[1,"b"],[1,"char:new-line"]]]],[1,"a"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"if"],[[0,"bool:true?"],[1,"tr"]],[[0,"bool:false!"],[1,"tr"]],[1,"nil"]],[[0,"array:merge"],[[0,"array"],[1,"b"]],[1,"a"]]]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"string:trim"],[[0,"lambda"],[1,"str"],[[0,"string:trim-right"],[[0,"string:trim-left"],[1,"str"]]]]],[[0,"let"],[1,"string:lines"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:new-line"]]]],[[0,"let"],[1,"string:chars"],[[0,"lambda"],[1,"str"],[[0,"array:map"],[1,"str"],[[0,"lambda"],[1,"x"],[[0,"array"],[1,"x"]]]]]],[[0,"let"],[1,"string:words"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:space"]]]],[[0,"let"],[1,"string:commas"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:comma"]]]],[[0,"let"],[1,"string:dots"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:dot"]]]],[[0,"let"],[1,"string:colons"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:colon"]]]],[[0,"let"],[1,"string:semi-colons"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:semi-colon"]]]],[[0,"let"],[1,"string:dashes"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:dash"]]]],[[0,"let"],[1,"string:multilines"],[[0,"lambda"],[1,"input"],[[0,"array:chunks"],[[0,"array:append!"],[[0,"string:lines"],[1,"input"]],[[0,"array"]]],[1,"array:empty?"]]]],[[0,"let"],[1,"string:append"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"string:prepend"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge"],[1,"b"],[1,"a"]]]],[[0,"let"],[1,"string:pad-left"],[[0,"lambda"],[1,"str"],[1,"N"],[1,"ch"],[[0,"do"],[[0,"let"],[1,"n"],[[0,"-"],[1,"N"],[[0,"length"],[1,"str"]]]],[[0,"let"],[1,"recursive:string:pad-left"],[[0,"lambda"],[1,"i"],[1,"str"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"recursive:string:pad-left"],[[0,"+"],[1,"i"],[2,1]],[[0,"array:merge"],[1,"ch"],[1,"str"]]],[1,"str"]]]],[[0,"recursive:string:pad-left"],[2,0],[1,"str"]]]]],[[0,"let"],[1,"string:pad-right"],[[0,"lambda"],[1,"str"],[1,"N"],[1,"ch"],[[0,"do"],[[0,"let"],[1,"n"],[[0,"-"],[1,"N"],[[0,"length"],[1,"str"]]]],[[0,"let"],[1,"recursive:string:pad-right"],[[0,"lambda"],[1,"i"],[1,"str"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"recursive:string:pad-right"],[[0,"+"],[1,"i"],[2,1]],[[0,"array:merge"],[1,"str"],[1,"ch"]]],[1,"str"]]]],[[0,"recursive:string:pad-right"],[2,0],[1,"str"]]]]],[[0,"let"],[1,"string:upper"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"xs"],[[0,"array"]]],[[0,"let"],[1,"n"],[[0,"length"],[1,"str"]]],[[0,"let"],[1,"recursive:string:upper"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current-char"],[[0,"get"],[1,"str"],[1,"i"]]],[[0,"set!"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">="],[1,"current-char"],[2,97]],[[0,"<="],[1,"current-char"],[2,122]]],[[0,"-"],[1,"current-char"],[2,32]],[1,"current-char"]]],[[0,"recursive:string:upper"],[[0,"+"],[1,"i"],[2,1]]]]]],[1,"xs"]]]],[[0,"recursive:string:upper"],[2,0]]]]],[[0,"let"],[1,"string:lower"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"xs"],[[0,"array"]]],[[0,"let"],[1,"n"],[[0,"length"],[1,"str"]]],[[0,"let"],[1,"recursive:string:lower"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current-char"],[[0,"get"],[1,"str"],[1,"i"]]],[[0,"set!"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">="],[1,"current-char"],[2,65]],[[0,"<="],[1,"current-char"],[2,90]]],[[0,"+"],[1,"current-char"],[2,32]],[1,"current-char"]]],[[0,"recursive:string:lower"],[[0,"+"],[1,"i"],[2,1]]]]]],[1,"xs"]]]],[[0,"recursive:string:lower"],[2,0]]]]],[[0,"let"],[1,"new:map"],[[0,"lambda"],[1,"args"],[[0,"array:enumerated-transform"],[1,"args"],[[0,"lambda"],[1,"a"],[1,"."],[1,"i"],[[0,"if"],[[0,"math:even?"],[1,"i"]],[[0,"map:set!"],[1,"a"],[[0,"get"],[1,"args"],[1,"i"]],[[0,"get"],[1,"args"],[[0,"+"],[1,"i"],[2,1]]]],[1,"a"]]],[[0,"array"],[[0,"array"]],[[0,"array"]],[[0,"array"]],[[0,"array"]]]]]],[[0,"let"],[1,"new:set"],[[0,"lambda"],[1,"args"],[[0,"array:transform"],[1,"args"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set:add!"],[1,"a"],[1,"b"]]],[[0,"array"],[[0,"array"]],[[0,"array"]],[[0,"array"]],[[0,"array"]]]]]],[[0,"let"],[1,"new:set4"],[[0,"lambda"],[[0,"array"],[[0,"array"]],[[0,"array"]],[[0,"array"]],[[0,"array"]]]]],[[0,"let"],[1,"new:set8"],[[0,"lambda"],[[0,"array:merge"],[[0,"new:set4"]],[[0,"new:set4"]]]]],[[0,"let"],[1,"new:set16"],[[0,"lambda"],[[0,"array:merge"],[[0,"new:set8"]],[[0,"new:set8"]]]]],[[0,"let"],[1,"new:set32"],[[0,"lambda"],[[0,"array:merge"],[[0,"new:set16"]],[[0,"new:set16"]]]]],[[0,"let"],[1,"new:set64"],[[0,"lambda"],[[0,"array:merge"],[[0,"new:set32"]],[[0,"new:set32"]]]]],[[0,"let"],[1,"new:map4"],[1,"new:set4"]],[[0,"let"],[1,"new:map8"],[1,"new:set8"]],[[0,"let"],[1,"new:map16"],[1,"new:set16"]],[[0,"let"],[1,"new:map32"],[1,"new:set32"]],[[0,"let"],[1,"new:map64"],[1,"new:set64"]],[[0,"let"],[1,"new:array"],[[0,"lambda"],[1,"items"],[[0,"array:shallow-copy"],[1,"items"]]]],[[0,"let"],[1,"new:list"],[[0,"lambda"],[1,"value"],[[0,"array"],[[0,"array"]],[1,"value"],[[0,"array"]]]]],[[0,"let"],[1,"new:set-n"],[[0,"lambda"],[1,"n"],[[0,"array:map"],[[0,"math:zeroes"],[1,"n"]],[[0,"lambda"],[1,"."],[[0,"array"]]]]]],[[0,"let"],[1,"new:date"],[[0,"lambda"],[1,"year"],[1,"month"],[1,"day"],[[0,"array"],[1,"year"],[1,"month"],[1,"day"]]]],[[0,"let"],[1,"new:heap"],[[0,"array"]]],[[0,"let"],[1,"new:brray"],[[0,"lambda"],[[0,"array"],[[0,"array"],[[0,"array"]]],[[0,"array"]]]]],[[0,"let"],[1,"new:queue"],[1,"new:brray"]],[[0,"let"],[1,"new:stack"],[1,"new:brray"]],[[0,"let"],[1,"new:binary-tree"],[[0,"lambda"],[1,"value"],[[0,"do"],[[0,"let"],[1,"xs"],[[0,"array"]]],[[0,"set!"],[1,"xs"],[2,0],[1,"value"]],[[0,"set!"],[1,"xs"],[2,1],[[0,"array"]]],[[0,"set!"],[1,"xs"],[2,2],[[0,"array"]]],[1,"xs"]]]],[[0,"let"],[1,"binary-tree:left"],[[0,"lambda"],[1,"node"],[[0,"get"],[1,"node"],[2,1]]]],[[0,"let"],[1,"binary-tree:right"],[[0,"lambda"],[1,"node"],[[0,"get"],[1,"node"],[2,2]]]],[[0,"let"],[1,"binary-tree:left!"],[[0,"lambda"],[1,"tree"],[1,"node"],[[0,"set!"],[1,"tree"],[2,1],[1,"node"]]]],[[0,"let"],[1,"binary-tree:right!"],[[0,"lambda"],[1,"tree"],[1,"node"],[[0,"set!"],[1,"tree"],[2,2],[1,"node"]]]],[[0,"let"],[1,"binary-tree:value"],[[0,"lambda"],[1,"node"],[[0,"get"],[1,"node"],[2,0]]]],[[0,"let"],[1,"set:index"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"prime-num"],[2,31]],[[0,"let"],[1,"total"],[[0,"array"],[2,0]]],[[0,"let"],[1,"recursive:set:index"],[[0,"lambda"],[1,"i"],[1,"bounds"],[[0,"do"],[[0,"let"],[1,"letter"],[[0,"get"],[1,"key"],[1,"i"]]],[[0,"set!"],[1,"total"],[2,0],[[0,"math:euclidean-mod"],[[0,"+"],[[0,"*"],[[0,"array:first"],[1,"total"]],[1,"prime-num"]],[1,"letter"]],[[0,"length"],[1,"table"]]]],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:set:index"],[[0,"+"],[1,"i"],[2,1]],[1,"bounds"]],[[0,"array:first"],[1,"total"]]]]]],[[0,"recursive:set:index"],[2,0],[[0,"if"],[[0,"<"],[[0,"-"],[[0,"length"],[1,"key"]],[2,1]],[2,100]],[[0,"-"],[[0,"length"],[1,"key"]],[2,1]],[2,100]]]]]],[[0,"let"],[1,"set:add!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"not"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]]],[[0,"set!"],[1,"table"],[1,"idx"],[[0,"array"]]],[1,"nil"]],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"len"],[[0,"length"],[1,"current"]]],[[0,"let"],[1,"index"],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"x"],[1,"key"]]]],[2,-1]]],[[0,"let"],[1,"entry"],[1,"key"]],[[0,"if"],[[0,"="],[1,"index"],[2,-1]],[[0,"set!"],[1,"current"],[[0,"length"],[1,"current"]],[1,"entry"]],[[0,"set!"],[1,"current"],[1,"index"],[1,"entry"]]],[1,"table"]]]],[[0,"let"],[1,"set:remove!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"not"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]]],[[0,"set!"],[1,"table"],[1,"idx"],[[0,"array"]]],[1,"nil"]],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"len"],[[0,"length"],[1,"current"]]],[[0,"let"],[1,"index"],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"x"],[1,"key"]]]],[2,-1]]],[[0,"let"],[1,"entry"],[1,"key"]],[[0,"if"],[[0,"not"],[[0,"="],[1,"index"],[2,-1]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[1,"current"],[1,"index"],[[0,"array:at"],[1,"current"],[2,-1]]],[[0,"del!"],[1,"current"]]]]],[1,"nil"]],[1,"table"]]]],[[0,"let"],[1,"set:has?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"and"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]],[[0,"and"],[[0,">"],[[0,"length"],[1,"current"]],[2,0]],[[0,">="],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"x"],[1,"key"]]]],[2,0]]]]]]],[[0,"let"],[1,"set:exists?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"and"],[[0,">"],[[0,"length"],[1,"key"]],[2,0]],[[0,"set:has?"],[1,"table"],[1,"key"]]]]],[[0,"let"],[1,"set:not-exists?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"not"],[[0,"set:exists?"],[1,"table"],[1,"key"]]]]],[[0,"let"],[1,"set:add-and-get!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"set:add!"],[1,"table"],[1,"key"]],[1,"key"]]]],[[0,"let"],[1,"set:remove-and-get!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"set:remove!"],[1,"table"],[1,"key"]],[1,"key"]]]],[[0,"let"],[1,"set:with!"],[[0,"lambda"],[1,"initial"],[1,"args"],[[0,"array:transform"],[1,"args"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set:add!"],[1,"a"],[1,"b"]]],[1,"initial"]]]],[[0,"let"],[1,"set:max-capacity"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:buckets"],[[0,"math:max"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]]]],[[0,"let"],[1,"set:min-capacity"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:buckets"],[[0,"math:min"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]]]],[[0,"let"],[1,"set:values"],[[0,"lambda"],[1,"table"],[[0,"array:select"],[[0,"array:flat-one"],[1,"table"]],[1,"array:not-empty?"]]]],[[0,"let"],[1,"set:intersection"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:transform"],[[0,"from:set->array"],[1,"b"]],[[0,"lambda"],[1,"out"],[1,"element"],[[0,"do"],[[0,"if"],[[0,"set:has?"],[1,"a"],[1,"element"]],[[0,"set:add!"],[1,"out"],[1,"element"]],[1,"nil"]],[1,"out"]]],[[0,"set:max-capacity"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"set:difference"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:transform"],[[0,"from:set->array"],[1,"a"]],[[0,"lambda"],[1,"out"],[1,"element"],[[0,"do"],[[0,"if"],[[0,"not"],[[0,"set:has?"],[1,"b"],[1,"element"]]],[[0,"set:add!"],[1,"out"],[1,"element"]],[1,"nil"]],[1,"out"]]],[[0,"set:max-capacity"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"set:xor"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"set:max-capacity"],[1,"a"],[1,"b"]]],[[0,"array:for"],[[0,"from:set->array"],[1,"a"]],[[0,"lambda"],[1,"element"],[[0,"if"],[[0,"not"],[[0,"set:has?"],[1,"b"],[1,"element"]]],[[0,"set:add!"],[1,"out"],[1,"element"]],[1,"nil"]]]],[[0,"array:for"],[[0,"from:set->array"],[1,"b"]],[[0,"lambda"],[1,"element"],[[0,"if"],[[0,"not"],[[0,"set:has?"],[1,"a"],[1,"element"]]],[[0,"set:add!"],[1,"out"],[1,"element"]],[1,"nil"]]]],[1,"out"]]]],[[0,"let"],[1,"set:union"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"set:max-capacity"],[1,"a"],[1,"b"]]],[[0,"array:for"],[[0,"from:set->array"],[1,"a"]],[[0,"lambda"],[1,"element"],[[0,"set:add!"],[1,"out"],[1,"element"]]]],[[0,"array:for"],[[0,"from:set->array"],[1,"b"]],[[0,"lambda"],[1,"element"],[[0,"set:add!"],[1,"out"],[1,"element"]]]],[1,"out"]]]],[[0,"let"],[1,"set:empty!"],[[0,"lambda"],[1,"table"],[[0,"array:map"],[1,"table"],[1,"array:empty!"]]]],[[0,"let"],[1,"map:with!"],[[0,"lambda"],[1,"initial"],[1,"args"],[[0,"array:enumerated-transform"],[1,"args"],[[0,"lambda"],[1,"a"],[1,"."],[1,"i"],[[0,"if"],[[0,"math:even?"],[1,"i"]],[[0,"map:set!"],[1,"a"],[[0,"get"],[1,"args"],[1,"i"]],[[0,"get"],[1,"args"],[[0,"+"],[1,"i"],[2,1]]]],[1,"a"]]],[1,"initial"]]]],[[0,"let"],[1,"map:empty!"],[[0,"lambda"],[1,"table"],[[0,"array:map"],[1,"table"],[1,"array:empty!"]]]],[[0,"let"],[1,"map:keys"],[[0,"lambda"],[1,"table"],[[0,"array:map"],[[0,"array:flat-one"],[1,"table"]],[1,"array:first"]]]],[[0,"let"],[1,"map:values"],[[0,"lambda"],[1,"table"],[[0,"array:map"],[[0,"array:flat-one"],[1,"table"]],[1,"array:second"]]]],[[0,"let"],[1,"map:set!"],[[0,"lambda"],[1,"table"],[1,"key"],[1,"value"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"not"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]]],[[0,"set!"],[1,"table"],[1,"idx"],[[0,"array"]]],[1,"nil"]],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"len"],[[0,"length"],[1,"current"]]],[[0,"let"],[1,"index"],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[[0,"array:first"],[1,"x"]],[1,"key"]]]],[2,-1]]],[[0,"let"],[1,"entry"],[[0,"array"],[1,"key"],[1,"value"]]],[[0,"if"],[[0,"="],[1,"index"],[2,-1]],[[0,"set!"],[1,"current"],[[0,"length"],[1,"current"]],[1,"entry"]],[[0,"set!"],[1,"current"],[1,"index"],[1,"entry"]]],[1,"table"]]]],[[0,"let"],[1,"map:remove!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"not"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]]],[[0,"set!"],[1,"table"],[1,"idx"],[[0,"array"]]],[1,"nil"]],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"len"],[[0,"length"],[1,"current"]]],[[0,"let"],[1,"index"],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[[0,"array:first"],[1,"x"]],[1,"key"]]]],[2,-1]]],[[0,"if"],[[0,"not"],[[0,"="],[1,"index"],[2,-1]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[1,"current"],[1,"index"],[[0,"array:at"],[1,"current"],[2,-1]]],[[0,"del!"],[1,"current"]]]]],[1,"nil"]],[1,"table"]]]],[[0,"let"],[1,"map:set-and-get!"],[[0,"lambda"],[1,"table"],[1,"key"],[1,"value"],[[0,"do"],[[0,"map:set!"],[1,"table"],[1,"key"],[1,"value"]],[1,"value"]]]],[[0,"let"],[1,"map:remove-and-get!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"value"],[[0,"map:get"],[1,"table"],[1,"key"]]],[[0,"map:remove!"],[1,"table"],[1,"key"]],[1,"value"]]]],[[0,"let"],[1,"map:get"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"found-index"],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"key"],[[0,"get"],[1,"x"],[2,0]]]]]],[[0,"if"],[[0,"="],[1,"found-index"],[2,-1]],[[0,"Any"],[1,"nil"]],[[0,"get"],[[0,"get"],[1,"current"],[1,"found-index"]],[2,1]]]]]],[[0,"Any"],[1,"nil"]]]]]],[[0,"let"],[1,"map:get-option"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"index"],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"key"],[[0,"get"],[1,"x"],[2,0]]]]]],[[0,"if"],[[0,"="],[1,"index"],[2,-1]],[[0,"array"],[[0,"array"]],[[0,"array"],[2,-1]]],[[0,"array"],[[0,"array"],[[0,"array:second"],[[0,"get"],[1,"current"],[1,"index"]]]],[[0,"array"]]]]]]],[[0,"array"],[[0,"array"]],[[0,"array"]]]]]]],[[0,"let"],[1,"map:has?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"let"],[1,"current"],[[0,"array:map"],[[0,"get"],[1,"table"],[1,"idx"]],[[0,"lambda"],[1,"x"],[[0,"array:first"],[1,"x"]]]]],[[0,"and"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]],[[0,"and"],[[0,">"],[[0,"length"],[1,"current"]],[2,0]],[[0,">="],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"x"],[1,"key"]]]],[2,0]]]]]]],[[0,"let"],[1,"map:exists?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"and"],[[0,">"],[[0,"length"],[1,"key"]],[2,0]],[[0,"map:has?"],[1,"table"],[1,"key"]]]]],[[0,"let"],[1,"map:not-exists?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"not"],[[0,"map:exists?"],[1,"table"],[1,"key"]]]]],[[0,"let"],[1,"map:count"],[[0,"lambda"],[1,"arr"],[[0,"array:transform"],[1,"arr"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"if"],[[0,"map:has?"],[1,"table"],[1,"key"]],[[0,"map:set!"],[1,"table"],[1,"key"],[[0,"+"],[[0,"Atom"],[[0,"map:get"],[1,"table"],[1,"key"]]],[2,1]]],[[0,"map:set!"],[1,"table"],[1,"key"],[2,1]]]]],[[0,"new:map64"]]]]],[[0,"let"],[1,"map:increment!"],[[0,"lambda"],[1,"map"],[1,"key"],[[0,"map:set!"],[1,"map"],[1,"key"],[[0,"+"],[[0,"map:get"],[1,"map"],[1,"key"]],[2,1]]]]],[[0,"let"],[1,"map:increment-and-get!"],[[0,"lambda"],[1,"map"],[1,"key"],[[0,"map:set-and-get!"],[1,"map"],[1,"key"],[[0,"+"],[[0,"map:get"],[1,"map"],[1,"key"]],[2,1]]]]],[[0,"let"],[1,"map:decrement!"],[[0,"lambda"],[1,"map"],[1,"key"],[[0,"map:set!"],[1,"map"],[1,"key"],[[0,"-"],[[0,"map:get"],[1,"map"],[1,"key"]],[2,1]]]]],[[0,"let"],[1,"map:decrement-and-get!"],[[0,"lambda"],[1,"map"],[1,"key"],[[0,"map:set-and-get!"],[1,"map"],[1,"key"],[[0,"-"],[[0,"map:get"],[1,"map"],[1,"key"]],[2,1]]]]],[[0,"let"],[1,"doubly-linked-list:prev!"],[[0,"lambda"],[1,"list"],[1,"node"],[[0,"set!"],[1,"list"],[2,0],[[0,"set!"],[1,"node"],[2,2],[1,"list"]]]]],[[0,"let"],[1,"doubly-linked-list:next!"],[[0,"lambda"],[1,"list"],[1,"node"],[[0,"set!"],[1,"list"],[2,2],[[0,"set!"],[1,"node"],[2,0],[1,"list"]]]]],[[0,"let"],[1,"doubly-linked-list:prev"],[[0,"lambda"],[1,"list"],[[0,"get"],[1,"list"],[2,0]]]],[[0,"let"],[1,"doubly-linked-list:next"],[[0,"lambda"],[1,"list"],[[0,"get"],[1,"list"],[2,2]]]],[[0,"let"],[1,"doubly-linked-list:value"],[[0,"lambda"],[1,"node"],[[0,"get"],[1,"node"],[2,1]]]],[[0,"let"],[1,"var:def"],[[0,"lambda"],[1,"val"],[[0,"array"],[1,"val"]]]],[[0,"let"],[1,"var:get"],[[0,"lambda"],[1,"variable"],[[0,"get"],[1,"variable"],[2,0]]]],[[0,"let"],[1,"var:set!"],[[0,"lambda"],[1,"variable"],[1,"value"],[[0,"set!"],[1,"variable"],[2,0],[1,"value"]]]],[[0,"let"],[1,"var:del!"],[[0,"lambda"],[1,"variable"],[[0,"del!"],[1,"variable"]]]],[[0,"let"],[1,"var:set-and-get!"],[[0,"lambda"],[1,"variable"],[1,"value"],[[0,"do"],[[0,"var:set!"],[1,"variable"],[1,"value"]],[1,"value"]]]],[[0,"let"],[1,"math:var-def"],[[0,"lambda"],[1,"val"],[[0,"array"],[1,"val"]]]],[[0,"let"],[1,"math:var-get"],[[0,"lambda"],[1,"variable"],[[0,"get"],[1,"variable"],[2,0]]]],[[0,"let"],[1,"math:var-set!"],[[0,"lambda"],[1,"variable"],[1,"value"],[[0,"set!"],[1,"variable"],[2,0],[1,"value"]]]],[[0,"let"],[1,"math:var-del!"],[[0,"lambda"],[1,"variable"],[[0,"del!"],[1,"variable"]]]],[[0,"let"],[1,"math:var-set-and-get!"],[[0,"lambda"],[1,"variable"],[1,"value"],[[0,"do"],[[0,"math:var-set!"],[1,"variable"],[1,"value"]],[1,"value"]]]],[[0,"let"],[1,"math:var-increment!"],[[0,"lambda"],[1,"variable"],[[0,"set!"],[1,"variable"],[2,0],[[0,"+"],[[0,"math:var-get"],[1,"variable"]],[2,1]]]]],[[0,"let"],[1,"math:var-decrement!"],[[0,"lambda"],[1,"variable"],[[0,"set!"],[1,"variable"],[2,0],[[0,"-"],[[0,"math:var-get"],[1,"variable"]],[2,1]]]]],[[0,"let"],[1,"math:var-increment-and-get!"],[[0,"lambda"],[1,"variable"],[[0,"do"],[[0,"set!"],[1,"variable"],[2,0],[[0,"+"],[[0,"math:var-get"],[1,"variable"]],[2,1]]],[[0,"math:var-get"],[1,"variable"]]]]],[[0,"let"],[1,"math:var-decrement-and-get!"],[[0,"lambda"],[1,"variable"],[[0,"do"],[[0,"set!"],[1,"variable"],[2,0],[[0,"-"],[[0,"math:var-get"],[1,"variable"]],[2,1]]],[[0,"math:var-get"],[1,"variable"]]]]],[[0,"let"],[1,"bools:fold"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[1,"xs"],[[0,"let"],[1,"recursive:bools:fold"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:bools:fold"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:bools:fold"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"bool:truths"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:bool:truths"],[[0,"lambda"],[1,"out"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:bool:truths"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"true"]]],[1,"out"]]]],[[0,"recursive:bool:truths"],[[0,"array"]]]]]],[[0,"let"],[1,"bool:lies"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:bool:lies"],[[0,"lambda"],[1,"out"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:bool:lies"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"false"]]],[1,"out"]]]],[[0,"recursive:bool:lies"],[[0,"array"]]]]]],[[0,"let"],[1,"bool:def"],[[0,"lambda"],[1,"val"],[[0,"array"],[[0,"truthy?"],[1,"val"]]]]],[[0,"let"],[1,"bool:get"],[[0,"lambda"],[1,"variable"],[[0,"get"],[1,"variable"],[2,0]]]],[[0,"let"],[1,"bool:set!"],[[0,"lambda"],[1,"variable"],[1,"value"],[[0,"set!"],[1,"variable"],[2,0],[[0,"truthy?"],[1,"value"]]]]],[[0,"let"],[1,"bool:toggle!"],[[0,"lambda"],[1,"variable"],[[0,"set!"],[1,"variable"],[2,0],[[0,"not"],[[0,"truthy?"],[[0,"var:get"],[1,"variable"]]]]]]],[[0,"let"],[1,"bool:true"],[[0,"lambda"],[[0,"array"],[1,"true"]]]],[[0,"let"],[1,"bool:false"],[[0,"lambda"],[[0,"array"],[1,"false"]]]],[[0,"let"],[1,"bool:true!"],[[0,"lambda"],[1,"variable"],[[0,"set!"],[1,"variable"],[2,0],[1,"true"]]]],[[0,"let"],[1,"bool:false!"],[[0,"lambda"],[1,"variable"],[[0,"set!"],[1,"variable"],[2,0],[1,"false"]]]],[[0,"let"],[1,"bool:true?"],[[0,"lambda"],[1,"variable"],[[0,"="],[[0,"get"],[1,"variable"],[2,0]],[1,"true"]]]],[[0,"let"],[1,"bool:false?"],[[0,"lambda"],[1,"variable"],[[0,"="],[[0,"get"],[1,"variable"],[2,0]],[1,"false"]]]],[[0,"let"],[1,"curry:ternary"],[[0,"lambda"],[1,"f"],[1,"b"],[1,"c"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"],[1,"b"],[1,"c"]]]]],[[0,"let"],[1,"curry:binary"],[[0,"lambda"],[1,"f"],[1,"b"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"curry:unary"],[[0,"lambda"],[1,"f"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"]]]]],[[0,"let"],[1,"curry:three"],[[0,"lambda"],[1,"f"],[1,"b"],[1,"c"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"],[1,"b"],[1,"c"]]]]],[[0,"let"],[1,"curry:two"],[[0,"lambda"],[1,"f"],[1,"b"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"curry:one"],[[0,"lambda"],[1,"f"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"]]]]],[[0,"let"],[1,"brray:offset-left"],[[0,"lambda"],[1,"q"],[[0,"*"],[[0,"-"],[[0,"length"],[[0,"get"],[1,"q"],[2,0]]],[2,1]],[2,-1]]]],[[0,"let"],[1,"brray:offset-right"],[[0,"lambda"],[1,"q"],[[0,"length"],[[0,"get"],[1,"q"],[2,1]]]]],[[0,"let"],[1,"brray:length"],[[0,"lambda"],[1,"q"],[[0,"+"],[[0,"length"],[[0,"get"],[1,"q"],[2,0]]],[[0,"+"],[[0,"length"],[[0,"get"],[1,"q"],[2,1]]],[2,-1]]]]],[[0,"let"],[1,"brray:empty?"],[[0,"lambda"],[1,"q"],[[0,"="],[[0,"brray:length"],[1,"q"]],[2,0]]]],[[0,"let"],[1,"brray:empty!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"set!"],[1,"q"],[2,0],[[0,"array"],[[0,"array"]]]],[[0,"set!"],[1,"q"],[2,1],[[0,"array"]]],[1,"q"]]]],[[0,"let"],[1,"brray:get"],[[0,"lambda"],[1,"q"],[1,"offset"],[[0,"do"],[[0,"let"],[1,"offset-index"],[[0,"+"],[1,"offset"],[[0,"brray:offset-left"],[1,"q"]]]],[[0,"let"],[1,"index"],[[0,"if"],[[0,"<"],[1,"offset-index"],[2,0]],[[0,"*"],[1,"offset-index"],[2,-1]],[1,"offset-index"]]],[[0,"if"],[[0,">="],[1,"offset-index"],[2,0]],[[0,"get"],[[0,"get"],[1,"q"],[2,1]],[1,"index"]],[[0,"get"],[[0,"get"],[1,"q"],[2,0]],[1,"index"]]]]]],[[0,"let"],[1,"brray:set!"],[[0,"lambda"],[1,"q"],[1,"index"],[1,"value"],[[0,"do"],[[0,"let"],[1,"offset"],[[0,"+"],[1,"index"],[[0,"brray:offset-left"],[1,"q"]]]],[[0,"if"],[[0,">="],[1,"offset"],[2,0]],[[0,"set!"],[[0,"get"],[1,"q"],[2,1]],[1,"offset"],[1,"value"]],[[0,"set!"],[[0,"get"],[1,"q"],[2,0]],[[0,"*"],[1,"offset"],[2,-1]],[1,"value"]]],[1,"q"]]]],[[0,"let"],[1,"brray:add-to-left!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"do"],[[0,"let"],[1,"c"],[[0,"get"],[1,"q"],[2,0]]],[[0,"set!"],[1,"c"],[[0,"length"],[1,"c"]],[1,"item"]]]]],[[0,"let"],[1,"brray:add-to-right!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"do"],[[0,"let"],[1,"c"],[[0,"get"],[1,"q"],[2,1]]],[[0,"set!"],[1,"c"],[[0,"length"],[1,"c"]],[1,"item"]]]]],[[0,"let"],[1,"brray:remove-from-left!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"brray:length"],[1,"q"]]],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"if"],[[0,"="],[1,"len"],[2,1]],[[0,"brray:empty!"],[1,"q"]],[[0,"if"],[[0,">"],[[0,"length"],[[0,"get"],[1,"q"],[2,0]]],[2,0]],[[0,"del!"],[[0,"get"],[1,"q"],[2,0]]],[[0,"if"],[[0,"not"],[2,0]],[1,"q"],[[0,"Any"],[1,"nil"]]]]],[1,"q"]]]]],[[0,"let"],[1,"brray:remove-from-right!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"brray:length"],[1,"q"]]],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"if"],[[0,"="],[1,"len"],[2,1]],[[0,"brray:empty!"],[1,"q"]],[[0,"if"],[[0,">"],[[0,"length"],[[0,"get"],[1,"q"],[2,1]]],[2,0]],[[0,"del!"],[[0,"get"],[1,"q"],[2,1]]],[[0,"if"],[[0,"not"],[2,0]],[1,"q"],[[0,"Any"],[1,"nil"]]]]],[1,"q"]]]]],[[0,"let"],[1,"brray:iter"],[[0,"lambda"],[1,"q"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:brray:iter"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"cb"],[[0,"brray:get"],[1,"q"],[1,"index"]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:brray:iter"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:brray:iter"],[2,0],[[0,"brray:length"],[1,"q"]]]]]],[[0,"let"],[1,"brray:map"],[[0,"lambda"],[1,"q"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"result"],[[0,"new:brray"]]],[[0,"let"],[1,"len"],[[0,"brray:length"],[1,"q"]]],[[0,"let"],[1,"half"],[[0,"math:floor"],[[0,"*"],[1,"len"],[2,0.5]]]],[[0,"let"],[1,"recursive:left:brray:map"],[[0,"lambda"],[1,"index"],[[0,"do"],[[0,"brray:add-to-left!"],[1,"result"],[[0,"cb"],[[0,"brray:get"],[1,"q"],[1,"index"]]]],[[0,"if"],[[0,">"],[1,"index"],[2,0]],[[0,"recursive:left:brray:map"],[[0,"-"],[1,"index"],[2,1]]],[1,"q"]]]]],[[0,"recursive:left:brray:map"],[[0,"-"],[1,"half"],[2,1]]],[[0,"let"],[1,"recursive:right:brray:map"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"brray:add-to-right!"],[1,"result"],[[0,"cb"],[[0,"brray:get"],[1,"q"],[1,"index"]]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:right:brray:map"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:right:brray:map"],[1,"half"],[[0,"-"],[1,"len"],[2,1]]],[1,"result"]]]],[[0,"let"],[1,"brray:balance?"],[[0,"lambda"],[1,"q"],[[0,"="],[[0,"+"],[[0,"brray:offset-right"],[1,"q"]],[[0,"brray:offset-left"],[1,"q"]]],[2,0]]]],[[0,"let"],[1,"brray:balance!"],[[0,"lambda"],[1,"q"],[[0,"if"],[[0,"brray:balance?"],[1,"q"]],[1,"q"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"initial"],[[0,"from:brray->array"],[1,"q"]]],[[0,"brray:empty!"],[1,"q"]],[[0,"let"],[1,"half"],[[0,"math:floor"],[[0,"*"],[[0,"length"],[1,"initial"]],[2,0.5]]]],[[0,"let"],[1,"recursive:left:brray:balance!"],[[0,"lambda"],[1,"index"],[[0,"do"],[[0,"brray:add-to-left!"],[1,"q"],[[0,"get"],[1,"initial"],[1,"index"]]],[[0,"if"],[[0,">"],[1,"index"],[2,0]],[[0,"recursive:left:brray:balance!"],[[0,"-"],[1,"index"],[2,1]]],[1,"nil"]]]]],[[0,"let"],[1,"recursive:right:brray:balance!"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"brray:add-to-right!"],[1,"q"],[[0,"get"],[1,"initial"],[1,"index"]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:right:brray:balance!"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:right:brray:balance!"],[1,"half"],[[0,"-"],[[0,"length"],[1,"initial"]],[2,1]]],[[0,"if"],[[0,">"],[[0,"length"],[1,"initial"]],[2,1]],[[0,"recursive:left:brray:balance!"],[[0,"-"],[1,"half"],[2,1]]],[1,"nil"]],[1,"q"]]]]]]],[[0,"let"],[1,"brray:append!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"do"],[[0,"brray:add-to-right!"],[1,"q"],[1,"item"]],[1,"q"]]]],[[0,"let"],[1,"brray:prepend!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"do"],[[0,"brray:add-to-left!"],[1,"q"],[1,"item"]],[1,"q"]]]],[[0,"let"],[1,"brray:head!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"brray:offset-right"],[1,"q"]],[2,0]],[[0,"brray:balance!"],[1,"q"]],[1,"nil"]],[[0,"brray:remove-from-right!"],[1,"q"]],[1,"q"]]]],[[0,"let"],[1,"brray:tail!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"brray:offset-left"],[1,"q"]],[2,0]],[[0,"brray:balance!"],[1,"q"]],[1,"nil"]],[[0,"brray:remove-from-left!"],[1,"q"]],[1,"q"]]]],[[0,"let"],[1,"brray:first"],[[0,"lambda"],[1,"q"],[[0,"brray:get"],[1,"q"],[2,0]]]],[[0,"let"],[1,"brray:last"],[[0,"lambda"],[1,"q"],[[0,"brray:get"],[1,"q"],[[0,"-"],[[0,"brray:length"],[1,"q"]],[2,1]]]]],[[0,"let"],[1,"brray:pop-right!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"last"],[[0,"brray:last"],[1,"q"]]],[[0,"brray:head!"],[1,"q"]],[1,"last"]]]],[[0,"let"],[1,"brray:pop-left!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"first"],[[0,"brray:first"],[1,"q"]]],[[0,"brray:tail!"],[1,"q"]],[1,"first"]]]],[[0,"let"],[1,"brray:rotate-left!"],[[0,"lambda"],[1,"q"],[1,"n"],[[0,"do"],[[0,"let"],[1,"N"],[[0,"mod"],[1,"n"],[[0,"brray:length"],[1,"q"]]]],[[0,"let"],[1,"recursive:brray:rotate-left!"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"brray:offset-left"],[1,"q"]],[2,0]],[[0,"brray:balance!"],[1,"q"]],[1,"nil"]],[[0,"brray:add-to-right!"],[1,"q"],[[0,"brray:first"],[1,"q"]]],[[0,"brray:remove-from-left!"],[1,"q"]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:brray:rotate-left!"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:brray:rotate-left!"],[2,0],[1,"N"]],[1,"q"]]]],[[0,"let"],[1,"brray:rotate-right!"],[[0,"lambda"],[1,"q"],[1,"n"],[[0,"do"],[[0,"let"],[1,"N"],[[0,"mod"],[1,"n"],[[0,"brray:length"],[1,"q"]]]],[[0,"let"],[1,"recursive:brray:rotate-left!"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"brray:offset-right"],[1,"q"]],[2,0]],[[0,"brray:balance!"],[1,"q"]],[1,"nil"]],[[0,"brray:add-to-left!"],[1,"q"],[[0,"brray:last"],[1,"q"]]],[[0,"brray:remove-from-right!"],[1,"q"]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:brray:rotate-left!"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:brray:rotate-left!"],[2,0],[1,"N"]],[1,"q"]]]],[[0,"let"],[1,"brray:slice"],[[0,"lambda"],[1,"entity"],[1,"s"],[1,"e"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"brray:length"],[1,"entity"]]],[[0,"let"],[1,"start"],[[0,"if"],[[0,"<"],[1,"s"],[2,0]],[[0,"math:max"],[[0,"+"],[1,"len"],[1,"s"]],[2,0]],[[0,"math:min"],[1,"s"],[1,"len"]]]],[[0,"let"],[1,"end"],[[0,"if"],[[0,"<"],[1,"e"],[2,0]],[[0,"math:max"],[[0,"+"],[1,"len"],[1,"e"]],[2,0]],[[0,"math:min"],[1,"e"],[1,"len"]]]],[[0,"let"],[1,"slice"],[[0,"new:brray"]]],[[0,"let"],[1,"slice-len"],[[0,"math:max"],[[0,"-"],[1,"end"],[1,"start"]],[2,0]]],[[0,"let"],[1,"half"],[[0,"math:floor"],[[0,"*"],[1,"slice-len"],[2,0.5]]]],[[0,"let"],[1,"recursive:left:brray:slice"],[[0,"lambda"],[1,"index"],[[0,"do"],[[0,"brray:add-to-left!"],[1,"slice"],[[0,"brray:get"],[1,"entity"],[[0,"+"],[1,"start"],[1,"index"]]]],[[0,"if"],[[0,">"],[1,"index"],[2,0]],[[0,"recursive:left:brray:slice"],[[0,"-"],[1,"index"],[2,1]]],[1,"nil"]]]]],[[0,"recursive:left:brray:slice"],[[0,"-"],[1,"half"],[2,1]]],[[0,"let"],[1,"recursive:right:brray:slice"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"brray:add-to-right!"],[1,"slice"],[[0,"brray:get"],[1,"entity"],[[0,"+"],[1,"start"],[1,"index"]]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:right:brray:slice"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:right:brray:slice"],[1,"half"],[[0,"-"],[1,"slice-len"],[2,1]]],[1,"slice"]]]],[[0,"let"],[1,"queue:empty?"],[1,"brray:empty?"]],[[0,"let"],[1,"queue:not-empty?"],[[0,"lambda"],[1,"q"],[[0,"not"],[[0,"brray:empty?"],[1,"q"]]]]],[[0,"let"],[1,"queue:empty!"],[1,"brray:empty!"]],[[0,"let"],[1,"queue:enqueue!"],[[0,"lambda"],[1,"queue"],[1,"item"],[[0,"brray:append!"],[1,"queue"],[1,"item"]]]],[[0,"let"],[1,"queue:dequeue!"],[[0,"lambda"],[1,"queue"],[[0,"brray:tail!"],[1,"queue"]]]],[[0,"let"],[1,"queue:peek"],[[0,"lambda"],[1,"queue"],[[0,"brray:first"],[1,"queue"]]]],[[0,"let"],[1,"stack:empty?"],[1,"brray:empty?"]],[[0,"let"],[1,"stack:not-empty?"],[[0,"lambda"],[1,"q"],[[0,"not"],[[0,"brray:empty?"],[1,"q"]]]]],[[0,"let"],[1,"stack:empty!"],[1,"brray:empty!"]],[[0,"let"],[1,"stack:push!"],[[0,"lambda"],[1,"stack"],[1,"item"],[[0,"brray:append!"],[1,"stack"],[1,"item"]]]],[[0,"let"],[1,"stack:pop!"],[[0,"lambda"],[1,"stack"],[[0,"brray:head!"],[1,"stack"]]]],[[0,"let"],[1,"stack:peek"],[[0,"lambda"],[1,"stack"],[[0,"brray:last"],[1,"stack"]]]],[[0,"let"],[1,"mapping:atom->atom"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:mapping:atom->atom"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:mapping:atom->atom"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"Atom"],[[0,"cb"],[[0,"Atom"],[[0,"get"],[1,"xs"],[1,"i"]]]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:mapping:atom->atom"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"mapping:atom->array"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:mapping:atom->array"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:mapping:atom->array"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"Collection"],[[0,"cb"],[[0,"Atom"],[[0,"get"],[1,"xs"],[1,"i"]]]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:mapping:atom->array"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"mapping:array->array"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:mapping:array->array"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:mapping:array->array"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"Collection"],[[0,"cb"],[[0,"Collection"],[[0,"get"],[1,"xs"],[1,"i"]]]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:mapping:array->array"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"mapping:array->atom"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:mapping:array->atom"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:mapping:array->atom"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"Atom"],[[0,"cb"],[[0,"Collection"],[[0,"get"],[1,"xs"],[1,"i"]]]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:mapping:array->atom"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"mapping:number->number"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:mapping:number->number"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:mapping:number->number"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"Number"],[[0,"cb"],[[0,"Number"],[[0,"get"],[1,"xs"],[1,"i"]]]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:mapping:number->number"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"mapping:number->array"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:mapping:number->array"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:mapping:number->array"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"Collection"],[[0,"cb"],[[0,"Number"],[[0,"get"],[1,"xs"],[1,"i"]]]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:mapping:number->array"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"mapping:array->number"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:mapping:array->number"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:mapping:array->number"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"Number"],[[0,"cb"],[[0,"Collection"],[[0,"get"],[1,"xs"],[1,"i"]]]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:mapping:array->number"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"mapping-enumerated:atom->atom"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:mapping-enumerated:atom->atom"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:mapping-enumerated:atom->atom"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"Atom"],[[0,"cb"],[[0,"Atom"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"i"]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:mapping-enumerated:atom->atom"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"mapping-enumerated:atom->array"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:mapping-enumerated:atom->array"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:mapping-enumerated:atom->array"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"Collection"],[[0,"cb"],[[0,"Atom"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"i"]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:mapping-enumerated:atom->array"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"mapping-enumerated:array->array"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:mapping-enumerated:array->array"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:mapping-enumerated:array->array"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"Collection"],[[0,"cb"],[[0,"Collection"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"i"]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:mapping-enumerated:array->array"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"mapping-enumerated:array->atom"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:mapping-enumerated:array->atom"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:mapping-enumerated:array->atom"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"Atom"],[[0,"cb"],[[0,"Collection"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"i"]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:mapping-enumerated:array->atom"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"reducing:atom->atom"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:reducing:atom->atom"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:reducing:atom->atom"],[[0,"+"],[1,"i"],[2,1]],[[0,"Atom"],[[0,"cb"],[1,"out"],[[0,"Atom"],[[0,"get"],[1,"xs"],[1,"i"]]]]]],[[0,"Atom"],[1,"out"]]]]],[[0,"recursive:reducing:atom->atom"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"reducing:atom->array"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:reducing:atom->array"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:reducing:atom->array"],[[0,"+"],[1,"i"],[2,1]],[[0,"Collection"],[[0,"cb"],[1,"out"],[[0,"Atom"],[[0,"get"],[1,"xs"],[1,"i"]]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:reducing:atom->array"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"reducing:array->array"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:reducing:array->array"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:reducing:array->array"],[[0,"+"],[1,"i"],[2,1]],[[0,"Collection"],[[0,"cb"],[1,"out"],[[0,"Collection"],[[0,"get"],[1,"xs"],[1,"i"]]]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:reducing:array->array"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"reducing:array->atom"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:reducing:array->array"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:reducing:array->array"],[[0,"+"],[1,"i"],[2,1]],[[0,"Atom"],[[0,"cb"],[1,"out"],[[0,"Collection"],[[0,"get"],[1,"xs"],[1,"i"]]]]]],[[0,"Atom"],[1,"out"]]]]],[[0,"recursive:reducing:array->array"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"reducing-enumerated:atom->atom"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:reducing-enumerated:atom->atom"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:reducing-enumerated:atom->atom"],[[0,"+"],[1,"i"],[2,1]],[[0,"Atom"],[[0,"cb"],[1,"out"],[[0,"Atom"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"i"]]]],[[0,"Atom"],[1,"out"]]]]],[[0,"recursive:reducing-enumerated:atom->atom"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"reducing-enumerated:atom->array"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:reducing-enumerated:atom->array"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:reducing-enumerated:atom->array"],[[0,"+"],[1,"i"],[2,1]],[[0,"Collection"],[[0,"cb"],[1,"out"],[[0,"Atom"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"i"]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:reducing-enumerated:atom->array"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"reducing-enumerated:array->array"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:reducing-enumerated:array->array"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:reducing-enumerated:array->array"],[[0,"+"],[1,"i"],[2,1]],[[0,"Collection"],[[0,"cb"],[1,"out"],[[0,"Collection"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"i"]]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:reducing-enumerated:array->array"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"reducing-enumerated:array->atom"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:reducing-enumerated:array->array"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:reducing-enumerated:array->array"],[[0,"+"],[1,"i"],[2,1]],[[0,"Atom"],[[0,"cb"],[1,"out"],[[0,"Collection"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"i"]]]],[[0,"Atom"],[1,"out"]]]]],[[0,"recursive:reducing-enumerated:array->array"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"time:add-seconds"],[[0,"lambda"],[1,"date-time"],[1,"seconds"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"seconds"],[2,1000]]]]],[[0,"let"],[1,"time:add-minutes"],[[0,"lambda"],[1,"date-time"],[1,"minutes"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"minutes"],[[0,"*"],[2,1000],[2,60]]]]]],[[0,"let"],[1,"time:add-hours"],[[0,"lambda"],[1,"date-time"],[1,"hours"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"hours"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[2,60]]]]]]],[[0,"let"],[1,"time:add-days"],[[0,"lambda"],[1,"date-time"],[1,"days"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"days"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[2,24]]]]]]]],[[0,"let"],[1,"time:add-months"],[[0,"lambda"],[1,"date-time"],[1,"months"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"months"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[[0,"*"],[2,24],[2,30]]]]]]]]],[[0,"let"],[1,"time:add-years"],[[0,"lambda"],[1,"date-time"],[1,"years"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"years"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[[0,"*"],[2,24],[2,365]]]]]]]]],[[0,"let"],[1,"time:sub-seconds"],[[0,"lambda"],[1,"date-time"],[1,"seconds"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"seconds"],[2,1000]]]]],[[0,"let"],[1,"time:sub-minutes"],[[0,"lambda"],[1,"date-time"],[1,"minutes"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"minutes"],[[0,"*"],[2,1000],[2,60]]]]]],[[0,"let"],[1,"time:sub-hours"],[[0,"lambda"],[1,"date-time"],[1,"hours"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"hours"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[2,60]]]]]]],[[0,"let"],[1,"time:sub-days"],[[0,"lambda"],[1,"date-time"],[1,"days"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"days"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[2,24]]]]]]]],[[0,"let"],[1,"time:sub-months"],[[0,"lambda"],[1,"date-time"],[1,"months"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"months"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[[0,"*"],[2,24],[2,30]]]]]]]]],[[0,"let"],[1,"time:sub-years"],[[0,"lambda"],[1,"date-time"],[1,"years"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"years"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[[0,"*"],[2,24],[2,365]]]]]]]]],[[0,"let"],[1,"date:year"],[[0,"lambda"],[1,"date"],[[0,"array:first"],[1,"date"]]]],[[0,"let"],[1,"date:month"],[[0,"lambda"],[1,"date"],[[0,"array:second"],[1,"date"]]]],[[0,"let"],[1,"date:day"],[[0,"lambda"],[1,"date"],[[0,"array:third"],[1,"date"]]]],[[0,"let"],[1,"date:month-day"],[[0,"lambda"],[1,"date"],[[0,"array:tail"],[1,"date"]]]],[[0,"let"],[1,"date:year-month"],[[0,"lambda"],[1,"date"],[[0,"array"],[[0,"array:first"],[1,"date"]],[[0,"array:second"],[1,"date"]]]]],[[0,"let"],[1,"loop:for-range"],[[0,"lambda"],[1,"start"],[1,"end"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:loop:for-range"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"end"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"cb"],[1,"i"]],[[0,"recursive:loop:for-range"],[[0,"+"],[1,"i"],[2,1]]]]]],[1,"nil"]]]],[[0,"recursive:loop:for-range"],[1,"start"]]]]],[[0,"let"],[1,"loop:for-n"],[[0,"lambda"],[1,"n"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:loop:for-n"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"cb"],[1,"i"]],[[0,"recursive:loop:for-n"],[[0,"+"],[1,"i"],[2,1]]]]]],[1,"nil"]]]],[[0,"recursive:loop:for-n"],[2,0]]]]],[[0,"let"],[1,"loop:repeat"],[[0,"lambda"],[1,"n"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:loop:repeat"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"cb"]],[[0,"recursive:loop:repeat"],[[0,"+"],[1,"i"],[2,1]]]]]],[1,"nil"]]]],[[0,"recursive:loop:repeat"],[2,0]]]]],[[0,"let"],[1,"loop:some-n?"],[[0,"lambda"],[1,"n"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:loop:some-n"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"if"],[[0,"predicate?"],[1,"i"]],[2,1],[[0,"recursive:loop:some-n"],[[0,"+"],[1,"i"],[2,1]]]],[1,"nil"]]]],[[0,"recursive:loop:some-n"],[1,"n"]]]]],[[0,"let"],[1,"loop:some-range?"],[[0,"lambda"],[1,"start"],[1,"end"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:loop:some-range"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"end"]],[[0,"if"],[[0,"predicate?"],[1,"i"]],[2,1],[[0,"recursive:loop:some-range"],[[0,"+"],[1,"i"],[2,1]]]],[1,"nil"]]]],[[0,"recursive:loop:some-range"],[1,"start"]]]]],[[0,"let"],[1,"node:parent"],[[0,"lambda"],[1,"i"],[[0,"-"],[[0,">>"],[[0,"+"],[1,"i"],[2,1]],[2,1]],[2,1]]]],[[0,"let"],[1,"node:left"],[[0,"lambda"],[1,"i"],[[0,"+"],[[0,"<<"],[1,"i"],[2,1]],[2,1]]]],[[0,"let"],[1,"node:right"],[[0,"lambda"],[1,"i"],[[0,"<<"],[[0,"+"],[1,"i"],[2,1]],[2,1]]]],[[0,"let"],[1,"heap:top"],[2,0]],[[0,"let"],[1,"heap:greater?"],[[0,"lambda"],[1,"heap"],[1,"i"],[1,"j"],[1,"cb?"],[[0,"cb?"],[[0,"get"],[1,"heap"],[1,"i"]],[[0,"get"],[1,"heap"],[1,"j"]]]]],[[0,"let"],[1,"heap:sift-up!"],[[0,"lambda"],[1,"heap"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"node"],[[0,"var:def"],[[0,"-"],[[0,"length"],[1,"heap"]],[2,1]]]],[[0,"let"],[1,"recursive:heap:sift-up!"],[[0,"lambda"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"var:get"],[1,"node"]],[1,"heap:top"]],[[0,"heap:greater?"],[1,"heap"],[[0,"var:get"],[1,"node"]],[[0,"node:parent"],[[0,"var:get"],[1,"node"]]],[1,"cb"]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"array:swap!"],[1,"heap"],[[0,"var:get"],[1,"node"]],[[0,"node:parent"],[[0,"var:get"],[1,"node"]]]],[[0,"var:set!"],[1,"node"],[[0,"node:parent"],[[0,"var:get"],[1,"node"]]]],[[0,"recursive:heap:sift-up!"]]]]],[1,"nil"]]]],[[0,"recursive:heap:sift-up!"]]]]],[[0,"let"],[1,"heap:sift-down!"],[[0,"lambda"],[1,"heap"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"node"],[[0,"var:def"],[1,"heap:top"]]],[[0,"let"],[1,"recursive:heap:sift-down!"],[[0,"lambda"],[[0,"if"],[[0,"or"],[[0,"and"],[[0,"<"],[[0,"node:left"],[[0,"var:get"],[1,"node"]]],[[0,"length"],[1,"heap"]]],[[0,"heap:greater?"],[1,"heap"],[[0,"node:left"],[[0,"var:get"],[1,"node"]]],[[0,"var:get"],[1,"node"]],[1,"cb"]]],[[0,"and"],[[0,"<"],[[0,"node:right"],[[0,"var:get"],[1,"node"]]],[[0,"length"],[1,"heap"]]],[[0,"heap:greater?"],[1,"heap"],[[0,"node:right"],[[0,"var:get"],[1,"node"]]],[[0,"var:get"],[1,"node"]],[1,"cb"]]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"max-child"],[[0,"if"],[[0,"and"],[[0,"<"],[[0,"node:right"],[[0,"var:get"],[1,"node"]]],[[0,"length"],[1,"heap"]]],[[0,"heap:greater?"],[1,"heap"],[[0,"node:right"],[[0,"var:get"],[1,"node"]]],[[0,"node:left"],[[0,"var:get"],[1,"node"]]],[1,"cb"]]],[[0,"node:right"],[[0,"var:get"],[1,"node"]]],[[0,"node:left"],[[0,"var:get"],[1,"node"]]]]],[[0,"array:swap!"],[1,"heap"],[[0,"var:get"],[1,"node"]],[1,"max-child"]],[[0,"var:set!"],[1,"node"],[1,"max-child"]],[[0,"recursive:heap:sift-down!"]]]]],[1,"nil"]]]],[[0,"recursive:heap:sift-down!"]]]]],[[0,"let"],[1,"heap:peek"],[[0,"lambda"],[1,"heap"],[[0,"get"],[1,"heap"],[1,"heap:top"]]]],[[0,"let"],[1,"heap:push!"],[[0,"lambda"],[1,"heap"],[1,"value"],[1,"cb"],[[0,"do"],[[0,"set!"],[1,"heap"],[[0,"length"],[1,"heap"]],[1,"value"]],[[0,"heap:sift-up!"],[1,"heap"],[1,"cb"]],[1,"heap"]]]],[[0,"let"],[1,"heap:pop!"],[[0,"lambda"],[1,"heap"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"bottom"],[[0,"-"],[[0,"length"],[1,"heap"]],[2,1]]],[[0,"if"],[[0,">"],[1,"bottom"],[1,"heap:top"]],[[0,"array:swap!"],[1,"heap"],[1,"heap:top"],[1,"bottom"]],[1,"nil"]],[[0,"array:pop!"],[1,"heap"]],[[0,"heap:sift-down!"],[1,"heap"],[1,"cb"]],[1,"heap"]]]],[[0,"let"],[1,"heap:replace!"],[[0,"lambda"],[1,"heap"],[1,"value"],[1,"cb"],[[0,"do"],[[0,"set!"],[1,"heap"],[1,"heap:top"],[1,"value"]],[[0,"heap:sift-down!"],[1,"heap"],[1,"cb"]],[1,"heap"]]]],[[0,"let"],[1,"heap:empty?"],[1,"array:empty?"]],[[0,"let"],[1,"heap:not-empty?"],[1,"array:not-empty?"]],[[0,"let"],[1,"heap:empty!"],[1,"array:empty!"]],[[0,"let"],[1,"from:array->heap"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"heap"],[[0,"array"]]],[[0,"array:for"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"heap:push!"],[1,"heap"],[1,"x"],[1,"cb"]]]],[1,"heap"]]]],[[0,"let"],[1,"optimization:tail-call-loop"],[[0,"lambda"],[1,"result"],[[0,"do"],[[0,"loop"],[[0,"lambda?"],[[0,"var:get"],[1,"result"]]],[[0,"var:set!"],[1,"result"],[[0,"apply"],[[0,"var:get"],[1,"result"]]]]],[[0,"var:get"],[1,"result"]]]]],[[0,"let"],[1,"optimization:tail-calls-0"],[[0,"lambda"],[1,"fn"],[[0,"lambda"],[[0,"optimization:tail-call-loop"],[[0,"var:def"],[[0,"fn"]]]]]]],[[0,"let"],[1,"optimization:tail-calls-1"],[[0,"lambda"],[1,"fn"],[[0,"lambda"],[1,"a"],[[0,"optimization:tail-call-loop"],[[0,"var:def"],[[0,"fn"],[1,"a"]]]]]]],[[0,"let"],[1,"optimization:tail-calls-2"],[[0,"lambda"],[1,"fn"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"optimization:tail-call-loop"],[[0,"var:def"],[[0,"fn"],[1,"a"],[1,"b"]]]]]]],[[0,"let"],[1,"optimization:tail-calls-3"],[[0,"lambda"],[1,"fn"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"c"],[[0,"optimization:tail-call-loop"],[[0,"var:def"],[[0,"fn"],[1,"a"],[1,"b"],[1,"c"]]]]]]],[[0,"let"],[1,"optimization:tail-calls-4"],[[0,"lambda"],[1,"fn"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"c"],[1,"d"],[[0,"optimization:tail-call-loop"],[[0,"var:def"],[[0,"fn"],[1,"a"],[1,"b"],[1,"c"],[1,"d"]]]]]]],[[0,"let"],[1,"option:error?"],[[0,"lambda"],[1,"x"],[[0,">"],[[0,"length"],[[0,"array:second"],[1,"x"]]],[2,0]]]],[[0,"let"],[1,"option:value?"],[[0,"lambda"],[1,"x"],[[0,">"],[[0,"length"],[[0,"array:first"],[1,"x"]]],[2,0]]]],[[0,"let"],[1,"option:value"],[[0,"lambda"],[1,"x"],[[0,"array:first"],[[0,"array:first"],[1,"x"]]]]],[[0,"let"],[1,"option:error"],[[0,"lambda"],[1,"x"],[[0,"array:second"],[1,"x"]]]],[[0,"let"],[1,"new:ring-buffer"],[[0,"lambda"],[1,"len"],[[0,"do"],[[0,"let"],[1,"pointer"],[[0,"math:var-def"],[2,0]]],[[0,"let"],[1,"buffer"],[[0,"array"]]],[[0,"array"],[[0,"lambda"],[1,"index"],[[0,"get"],[1,"buffer"],[1,"index"]]],[[0,"lambda"],[1,"item"],[[0,"do"],[[0,"let"],[1,"pt"],[[0,"math:var-get"],[1,"pointer"]]],[[0,"set!"],[1,"buffer"],[1,"pt"],[1,"item"]],[[0,"math:var-set!"],[1,"pointer"],[[0,"mod"],[[0,"+"],[1,"len"],[[0,"+"],[1,"pt"],[2,1]]],[1,"len"]]],[1,"item"]]],[1,"buffer"]]]]],[[0,"let"],[1,"array:get"],[1,"get"]],[[0,"let"],[1,"array:length"],[1,"length"]],[[0,"let"],[1,"array:set!"],[1,"set!"]],[[0,"let"],[1,"array:remove-last!"],[1,"pop!"]],[[0,"let"],[1,"push!"],[[0,"lambda"],[1,"xs"],[1,"x"],[[0,"array:push!"],[1,"xs"],[1,"x"]]]],[[0,"let"],[1,"del!"],[[0,"lambda"],[1,"xs"],[[0,"pop!"],[1,"xs"]]]],[[0,"let"],[1,"array:del!"],[[0,"lambda"],[1,"xs"],[[0,"del!"],[1,"xs"]]]],[[0,"let"],[1,"equal?"],[1,"array:equal?"]],[[0,"let"],[1,"not-equal?"],[1,"array:not-equal?"]],[[0,"let"],[1,"array:at"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[2,0]],[[0,"get"],[1,"xs"],[[0,"+"],[[0,"length"],[1,"xs"]],[1,"i"]]],[[0,"get"],[1,"xs"],[1,"i"]]]]],[[0,"let"],[1,"array:head"],[[0,"lambda"],[1,"xs"],[[0,"get"],[1,"xs"],[2,0]]]],[[0,"let"],[1,"array:tail"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"bounds"],[[0,"length"],[1,"xs"]]],[[0,"let"],[1,"recursive:array:tail"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:array:tail"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:array:tail"],[2,1],[[0,"array"]]]]]],[[0,"let"],[1,"array:car"],[1,"array:head"]],[[0,"let"],[1,"array:cdr"],[1,"array:tail"]],[[0,"let"],[1,"array:for-range"],[1,"loop:for-range"]],[[0,"let"],[1,"π"],[1,"math:pi"]],[[0,"let"],[1,"λ"],[1,"lambda"]],[[0,"let"],[1,"array?"],[[0,"lambda"],[1,"x"],[[0,"and"],[[0,"not"],[[0,"atom?"],[1,"x"]]],[[0,"not"],[[0,"lambda?"],[1,"x"]]]]]],[[0,"let"],[1,"char?"],[[0,"lambda"],[1,"cc"],[[0,"and"],[[0,"atom?"],[1,"cc"]],[[0,"and"],[[0,">="],[1,"cc"],[2,0]],[[0,"<"],[1,"cc"],[2,65535]]]]]],[[0,"let"],[1,"bool?"],[[0,"lambda"],[1,"x"],[[0,"and"],[[0,"atom?"],[1,"x"]],[[0,"or"],[[0,"="],[[0,"Any"],[1,"x"]],[2,0]],[[0,"="],[[0,"Any"],[1,"x"]],[2,1]]]]]],[[0,"let"],[1,"match:negative?"],[[0,"lambda"],[1,"str"],[[0,"="],[[0,"array:first"],[1,"str"]],[1,"char:minus"]]]],[[0,"let"],[1,"match:number?"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"negative?"],[[0,"match:negative?"],[1,"str"]]],[[0,"let"],[1,"digits"],[[0,"if"],[1,"negative?"],[[0,"array:tail"],[1,"str"]],[1,"str"]]],[[0,"array:every?"],[1,"digits"],[[0,"lambda"],[1,"digit"],[[0,"or"],[[0,"and"],[[0,">="],[1,"digit"],[1,"char:0"]],[[0,"<="],[1,"digit"],[1,"char:9"]]],[[0,"="],[1,"digit"],[1,"char:dot"]]]]]]]],[[0,"let"],[1,"match:digit?"],[[0,"lambda"],[1,"char"],[[0,"and"],[[0,">="],[1,"char"],[1,"char:0"]],[[0,"<="],[1,"char"],[1,"char:9"]]]]],[[0,"let"],[1,"match:digits?"],[[0,"lambda"],[1,"str"],[[0,"array:every?"],[1,"str"],[1,"match:digit?"]]]],[[0,"let"],[1,"ast:type"],[2,0]],[[0,"let"],[1,"ast:value"],[2,1]],[[0,"let"],[1,"ast:apply"],[2,0]],[[0,"let"],[1,"ast:word"],[2,1]],[[0,"let"],[1,"ast:atom"],[2,2]],[[0,"let"],[1,"ast:leaf"],[[0,"lambda"],[1,"type"],[1,"value"],[[0,"array"],[1,"type"],[1,"value"]]]],[[0,"let"],[1,"ast:leaf?"],[[0,"lambda"],[1,"arg"],[[0,"do"],[[0,"let"],[1,"c"],[[0,"array:head"],[1,"arg"]]],[[0,"and"],[[0,"atom?"],[1,"c"]],[[0,"or"],[[0,"="],[1,"c"],[1,"ast:apply"]],[[0,"or"],[[0,"="],[1,"c"],[1,"ast:atom"]],[[0,"="],[1,"c"],[1,"ast:word"]]]]]]]],[[0,"let"],[1,"from:chars->ast"],[[0,"lambda"],[1,"source"],[[0,"do"],[[0,"let"],[1,"tree"],[[0,"array"]]],[[0,"let"],[1,"stack"],[[0,"array"],[1,"tree"]]],[[0,"let"],[1,"head"],[[0,"var:def"],[1,"tree"]]],[[0,"let"],[1,"acc"],[[0,"array"]]],[[0,"loop:for-n"],[[0,"length"],[1,"source"]],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"let"],[1,"cursor"],[[0,"get"],[1,"source"],[1,"i"]]],[[0,"if"],[[0,"="],[1,"cursor"],[1,"char:left-brace"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"temp"],[[0,"array"]]],[[0,"let"],[1,"h"],[[0,"var:get"],[1,"head"]]],[[0,"array:push!"],[1,"h"],[1,"temp"]],[[0,"array:push!"],[1,"stack"],[1,"h"]],[[0,"var:set!"],[1,"head"],[1,"temp"]]]]],[[0,"if"],[[0,"or"],[[0,"="],[1,"cursor"],[1,"char:right-brace"]],[[0,"="],[1,"cursor"],[1,"char:space"]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"token"],[[0,"array:shallow-copy"],[1,"acc"]]],[[0,"array:empty!"],[1,"acc"]],[[0,"if"],[[0,"array:not-empty?"],[1,"token"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"h"],[[0,"var:get"],[1,"head"]]],[[0,"if"],[[0,"array:empty?"],[1,"h"]],[[0,"array:push!"],[1,"h"],[[0,"ast:leaf"],[1,"ast:apply"],[1,"token"]]],[[0,"if"],[[0,"match:number?"],[1,"token"]],[[0,"array:push!"],[1,"h"],[[0,"ast:leaf"],[1,"ast:atom"],[[0,"from:string->float"],[1,"token"]]]],[[0,"array:push!"],[1,"h"],[[0,"ast:leaf"],[1,"ast:word"],[1,"token"]]]]]]]],[1,"nil"]],[[0,"if"],[[0,"="],[1,"cursor"],[1,"char:right-brace"]],[[0,"var:set!"],[1,"head"],[[0,"array:pop!"],[1,"stack"]]],[1,"nil"]]]]],[[0,"array:push!"],[1,"acc"],[1,"cursor"]]]]]]],[1,"tree"]]]],[[0,"let"],[1,"special-form:let"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"do"],[[0,"let"],[1,"name"],[[0,"get"],[[0,"get"],[1,"args"],[2,0]],[1,"ast:value"]]],[[0,"let"],[1,"val"],[[0,"Any"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]],[[0,"map:set!"],[[0,"list:head"],[1,"env"]],[1,"name"],[1,"val"]],[1,"val"]]]],[[0,"let"],[1,"special-form:lambda"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"do"],[[0,"let"],[1,"params"],[[0,"array:slice"],[1,"args"],[2,0],[[0,"-"],[[0,"length"],[1,"args"]],[2,1]]]],[[0,"let"],[1,"body"],[[0,"array:at"],[1,"args"],[2,-1]]],[[0,"lambda"],[1,"props"],[1,"scope"],[[0,"do"],[[0,"let"],[1,"local"],[[0,"prototype:create!"],[1,"env"]]],[[0,"loop:for-n"],[[0,"length"],[1,"props"]],[[0,"lambda"],[1,"i"],[[0,"map:set!"],[[0,"list:head"],[1,"local"]],[[0,"get"],[[0,"get"],[1,"params"],[1,"i"]],[1,"ast:value"]],[[0,"Any"],[[0,"evaluate"],[[0,"get"],[1,"props"],[1,"i"]],[1,"scope"]]]]]],[[0,"evaluate"],[1,"body"],[1,"local"]]]]]]],[[0,"let"],[1,"special-form:apply"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"do"],[[0,"let"],[1,"application"],[[0,"Any"],[[0,"evaluate"],[[0,"array:head"],[1,"args"]],[1,"env"]]]],[[0,"application"],[[0,"array:tail"],[1,"args"]],[1,"env"]]]]],[[0,"let"],[1,"special-form:array"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"array:map"],[1,"args"],[[0,"lambda"],[1,"arg"],[[0,"Any"],[[0,"evaluate"],[1,"arg"],[1,"env"]]]]]]],[[0,"let"],[1,"special-form:length"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"length"],[[0,"Collection"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:get"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"get"],[[0,"Collection"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:set!"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"set!"],[[0,"Collection"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]],[[0,"Any"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,2]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:pop!"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"array:del!"],[[0,"Collection"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:equal?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"="],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:add"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"+"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:subtract"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"-"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:multiply"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"*"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:divide"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"/"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:greater-than?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,">"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:less-than?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"<"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:greater-than-or-equal?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,">="],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:less-than-or-equal?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"<="],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:mod"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"mod"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-and"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"&"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-or"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"|"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-xor"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"^"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-right-shift"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,">>"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-left-shift"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"<<"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-not"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"~"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:do"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"array:first"],[[0,"array:transform"],[1,"args"],[[0,"lambda"],[1,"a"],[1,"arg"],[[0,"set!"],[1,"a"],[2,0],[[0,"Any"],[[0,"evaluate"],[1,"arg"],[1,"env"]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"special-form:if"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"if"],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,2]],[1,"env"]]]]],[[0,"let"],[1,"special-form:and?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"and"],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:or?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"or"],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:loop"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"loop"],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]],[[0,"let"],[1,"special-form:atom?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"atom?"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]]]],[[0,"let"],[1,"special-form:lambda?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"lambda?"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]]]],[[0,"let"],[1,"keywords"],[[0,"new:map"],[[0,"array"],[[0,"array"],[2,108],[2,101],[2,116]],[1,"special-form:let"],[[0,"array"],[2,108],[2,97],[2,109],[2,98],[2,100],[2,97]],[1,"special-form:lambda"],[[0,"array"],[2,97],[2,112],[2,112],[2,108],[2,121]],[1,"special-form:apply"],[[0,"array"],[2,97],[2,114],[2,114],[2,97],[2,121]],[1,"special-form:array"],[[0,"array"],[2,108],[2,101],[2,110],[2,103],[2,116],[2,104]],[1,"special-form:length"],[[0,"array"],[2,103],[2,101],[2,116]],[1,"special-form:get"],[[0,"array"],[2,115],[2,101],[2,116],[2,33]],[1,"special-form:set!"],[[0,"array"],[2,112],[2,111],[2,112],[2,33]],[1,"special-form:pop!"],[[0,"array"],[2,61]],[1,"special-form:equal?"],[[0,"array"],[2,43]],[1,"special-form:add"],[[0,"array"],[2,45]],[1,"special-form:subtract"],[[0,"array"],[2,42]],[1,"special-form:multiply"],[[0,"array"],[2,47]],[1,"special-form:divide"],[[0,"array"],[2,62]],[1,"special-form:greater-than?"],[[0,"array"],[2,60]],[1,"special-form:less-than?"],[[0,"array"],[2,62],[2,61]],[1,"special-form:greater-than-or-equal?"],[[0,"array"],[2,60],[2,61]],[1,"special-form:less-than-or-equal?"],[[0,"array"],[2,109],[2,111],[2,100]],[1,"special-form:mod"],[[0,"array"],[2,38]],[1,"special-form:bit-wise-and"],[[0,"array"],[2,124]],[1,"special-form:bit-wise-or"],[[0,"array"],[2,94]],[1,"special-form:bit-wise-xor"],[[0,"array"],[2,62],[2,62]],[1,"special-form:bit-wise-right-shift"],[[0,"array"],[2,60],[2,60]],[1,"special-form:bit-wise-left-shift"],[[0,"array"],[2,126]],[1,"special-form:bit-wise-not"],[[0,"array"],[2,100],[2,111]],[1,"special-form:do"],[[0,"array"],[2,105],[2,102]],[1,"special-form:if"],[[0,"array"],[2,97],[2,110],[2,100]],[1,"special-form:and?"],[[0,"array"],[2,111],[2,114]],[1,"special-form:or?"],[[0,"array"],[2,108],[2,111],[2,111],[2,112]],[1,"special-form:loop"],[[0,"array"],[2,97],[2,116],[2,111],[2,109],[2,63]],[1,"special-form:atom?"],[[0,"array"],[2,108],[2,97],[2,109],[2,98],[2,100],[2,97],[2,63]],[1,"special-form:lambda?"]]]],[[0,"let"],[1,"prototype:get"],[[0,"lambda"],[1,"_arg1"],[1,"key"],[[0,"do"],[[0,"let"],[1,"head"],[[0,"get"],[1,"_arg1"],[2,0]]],[[0,"let"],[1,"tail"],[[0,"get"],[1,"_arg1"],[2,1]]],[[0,"if"],[[0,"map:has?"],[1,"head"],[1,"key"]],[[0,"map:get"],[1,"head"],[1,"key"]],[[0,"prototype:get"],[1,"tail"],[1,"key"]]]]]],[[0,"let"],[1,"prototype:create!"],[[0,"lambda"],[1,"xs"],[[0,"list:merge!"],[[0,"array"],[[0,"new:map4"]],[[0,"array"]]],[1,"xs"]]]],[[0,"let"],[1,"evaluate"],[[0,"lambda"],[1,"exp"],[1,"env"],[[0,"do"],[[0,"let"],[1,"expression"],[[0,"if"],[[0,"and"],[[0,"array?"],[1,"exp"]],[[0,"ast:leaf?"],[1,"exp"]]],[[0,"array"],[1,"exp"]],[1,"exp"]]],[[0,"if"],[[0,"array:not-empty?"],[1,"expression"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"head"],[[0,"array:head"],[1,"expression"]]],[[0,"let"],[1,"tail"],[[0,"array:tail"],[1,"expression"]]],[[0,"let"],[1,"pattern"],[[0,"get"],[1,"head"],[1,"ast:type"]]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:word"]],[[0,"prototype:get"],[1,"env"],[[0,"get"],[1,"head"],[1,"ast:value"]]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:apply"]],[[0,"apply"],[1,"tail"],[1,"env"],[[0,"prototype:get"],[1,"env"],[[0,"get"],[1,"head"],[1,"ast:value"]]]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:atom"]],[[0,"get"],[1,"head"],[1,"ast:value"]],[[0,"if"],[[0,"not"],[2,0]],[[0,"array"]],[[0,"Any"],[1,"nil"]]]]]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"ast:stringify"],[[0,"lambda"],[1,"args"],[[0,"if"],[[0,"ast:leaf?"],[1,"args"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"type"],[[0,"get"],[1,"args"],[2,0]]],[[0,"let"],[1,"value"],[[0,"get"],[1,"args"],[2,1]]],[[0,"array"],[1,"type"],[[0,"if"],[[0,"="],[1,"type"],[1,"ast:atom"]],[1,"value"],[[0,"string"],[1,"value"]]]]]]],[[0,"array:map"],[1,"args"],[1,"ast:stringify"]]]]],[[0,"let"],[1,"ast:get-name"],[[0,"lambda"],[1,"args"],[[0,"array:second"],[[0,"array:first"],[1,"args"]]]]],[[0,"let"],[1,"ast:traverse"],[[0,"lambda"],[1,"exp"],[1,"env"],[1,"atom"],[1,"word"],[1,"application"],[[0,"do"],[[0,"let"],[1,"expression"],[[0,"if"],[[0,"and"],[[0,"array?"],[1,"exp"]],[[0,"ast:leaf?"],[1,"exp"]]],[[0,"array"],[1,"exp"]],[1,"exp"]]],[[0,"if"],[[0,"array:not-empty?"],[1,"expression"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"head"],[[0,"array:head"],[1,"expression"]]],[[0,"let"],[1,"tail"],[[0,"array:tail"],[1,"expression"]]],[[0,"let"],[1,"pattern"],[[0,"get"],[1,"head"],[1,"ast:type"]]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:word"]],[[0,"word"],[[0,"get"],[1,"head"],[1,"ast:value"]]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:apply"]],[[0,"application"],[[0,"get"],[1,"head"],[1,"ast:value"]],[1,"tail"]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:atom"]],[[0,"atom"],[[0,"get"],[1,"head"],[1,"ast:value"]]],[[0,"if"],[[0,"not"],[2,0]],[[0,"array"]],[[0,"Any"],[1,"nil"]]]]]],[[0,"array:for"],[1,"tail"],[[0,"lambda"],[1,"x"],[[0,"ast:traverse"],[1,"x"],[1,"env"],[1,"atom"],[1,"word"],[1,"application"]]]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"lisp:parse"],[[0,"lambda"],[1,"source"],[[0,"from:chars->ast"],[[0,"array:spaces"],[[0,"array:exclude"],[[0,"string:lines"],[1,"source"]],[1,"array:empty?"]]]]]],[[0,"let"],[1,"lisp:eval"],[[0,"lambda"],[1,"source"],[[0,"apply"],[[0,"lisp:parse"],[1,"source"]],[[0,"array"],[1,"keywords"],[[0,"array"]]],[[0,"map:get"],[1,"keywords"],[[0,"array"],[2,100],[2,111]]]]]]]]]]
1
+ export default [[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"char:A"],[2,65]],[[0,"let"],[1,"char:B"],[2,66]],[[0,"let"],[1,"char:C"],[2,67]],[[0,"let"],[1,"char:D"],[2,68]],[[0,"let"],[1,"char:E"],[2,69]],[[0,"let"],[1,"char:F"],[2,70]],[[0,"let"],[1,"char:G"],[2,71]],[[0,"let"],[1,"char:H"],[2,72]],[[0,"let"],[1,"char:I"],[2,73]],[[0,"let"],[1,"char:J"],[2,74]],[[0,"let"],[1,"char:K"],[2,75]],[[0,"let"],[1,"char:L"],[2,76]],[[0,"let"],[1,"char:M"],[2,77]],[[0,"let"],[1,"char:N"],[2,78]],[[0,"let"],[1,"char:O"],[2,79]],[[0,"let"],[1,"char:P"],[2,80]],[[0,"let"],[1,"char:Q"],[2,81]],[[0,"let"],[1,"char:R"],[2,82]],[[0,"let"],[1,"char:S"],[2,83]],[[0,"let"],[1,"char:T"],[2,84]],[[0,"let"],[1,"char:U"],[2,85]],[[0,"let"],[1,"char:V"],[2,86]],[[0,"let"],[1,"char:W"],[2,87]],[[0,"let"],[1,"char:X"],[2,88]],[[0,"let"],[1,"char:Y"],[2,89]],[[0,"let"],[1,"char:Z"],[2,90]],[[0,"let"],[1,"char:a"],[2,97]],[[0,"let"],[1,"char:b"],[2,98]],[[0,"let"],[1,"char:c"],[2,99]],[[0,"let"],[1,"char:d"],[2,100]],[[0,"let"],[1,"char:e"],[2,101]],[[0,"let"],[1,"char:f"],[2,102]],[[0,"let"],[1,"char:g"],[2,103]],[[0,"let"],[1,"char:h"],[2,104]],[[0,"let"],[1,"char:i"],[2,105]],[[0,"let"],[1,"char:j"],[2,106]],[[0,"let"],[1,"char:k"],[2,107]],[[0,"let"],[1,"char:l"],[2,108]],[[0,"let"],[1,"char:m"],[2,109]],[[0,"let"],[1,"char:n"],[2,110]],[[0,"let"],[1,"char:o"],[2,111]],[[0,"let"],[1,"char:p"],[2,112]],[[0,"let"],[1,"char:q"],[2,113]],[[0,"let"],[1,"char:r"],[2,114]],[[0,"let"],[1,"char:s"],[2,115]],[[0,"let"],[1,"char:t"],[2,116]],[[0,"let"],[1,"char:u"],[2,117]],[[0,"let"],[1,"char:v"],[2,118]],[[0,"let"],[1,"char:w"],[2,119]],[[0,"let"],[1,"char:x"],[2,120]],[[0,"let"],[1,"char:y"],[2,121]],[[0,"let"],[1,"char:z"],[2,122]],[[0,"let"],[1,"char:0"],[2,48]],[[0,"let"],[1,"char:1"],[2,49]],[[0,"let"],[1,"char:2"],[2,50]],[[0,"let"],[1,"char:3"],[2,51]],[[0,"let"],[1,"char:4"],[2,52]],[[0,"let"],[1,"char:5"],[2,53]],[[0,"let"],[1,"char:6"],[2,54]],[[0,"let"],[1,"char:7"],[2,55]],[[0,"let"],[1,"char:8"],[2,56]],[[0,"let"],[1,"char:9"],[2,57]],[[0,"let"],[1,"char:empty"],[2,0]],[[0,"let"],[1,"char:double-quote"],[2,34]],[[0,"let"],[1,"char:new-line"],[2,10]],[[0,"let"],[1,"char:space"],[2,32]],[[0,"let"],[1,"char:comma"],[2,44]],[[0,"let"],[1,"char:dot"],[2,46]],[[0,"let"],[1,"char:semi-colon"],[2,59]],[[0,"let"],[1,"char:colon"],[2,58]],[[0,"let"],[1,"char:dash"],[2,45]],[[0,"let"],[1,"char:left-brace"],[2,40]],[[0,"let"],[1,"char:right-brace"],[2,41]],[[0,"let"],[1,"char:curly-left-brace"],[2,123]],[[0,"let"],[1,"char:curly-right-brace"],[2,125]],[[0,"let"],[1,"char:left-bracket"],[2,91]],[[0,"let"],[1,"char:right-bracket"],[2,93]],[[0,"let"],[1,"char:pipe"],[2,124]],[[0,"let"],[1,"char:hash"],[2,35]],[[0,"let"],[1,"char:question-mark"],[2,63]],[[0,"let"],[1,"char:exclamation-mark"],[2,33]],[[0,"let"],[1,"char:minus"],[2,45]],[[0,"let"],[1,"char:plus"],[2,43]],[[0,"let"],[1,"char:equal"],[2,61]],[[0,"let"],[1,"char:asterix"],[2,42]],[[0,"let"],[1,"char:ampersand"],[2,38]],[[0,"let"],[1,"char:at"],[2,64]],[[0,"let"],[1,"char:backtick"],[2,96]],[[0,"let"],[1,"char:digit?"],[[0,"lambda"],[1,"ch"],[[0,"and"],[[0,">="],[1,"ch"],[1,"char:0"]],[[0,"<="],[1,"ch"],[1,"char:9"]]]]],[[0,"let"],[1,"nil"],[2,0]],[[0,"let"],[1,"identity"],[[0,"lambda"],[1,"x"],[1,"x"]]],[[0,"let"],[1,"Scope"],[2,1]],[[0,"let"],[1,"Special"],[2,1]],[[0,"let"],[1,"Library"],[2,1]],[[0,"let"],[1,"Type"],[2,1]],[[0,"let"],[1,"Search"],[2,1]],[[0,"let"],[1,"truthy?"],[[0,"lambda"],[1,"x"],[[0,"if"],[[0,"atom?"],[1,"x"]],[[0,"not"],[[0,"="],[[0,"Any"],[1,"x"]],[2,0]]],[[0,"if"],[[0,"array?"],[1,"x"]],[[0,">"],[[0,"length"],[[0,"Any"],[1,"x"]]],[2,0]],[[0,"if"],[[0,"not"],[2,0]],[2,1],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"falsy?"],[[0,"lambda"],[1,"x"],[[0,"if"],[[0,"atom?"],[1,"x"]],[[0,"="],[[0,"Any"],[1,"x"]],[2,0]],[[0,"if"],[[0,"array?"],[1,"x"]],[[0,"="],[[0,"length"],[[0,"Any"],[1,"x"]]],[2,0]],[[0,"if"],[[0,"not"],[2,0]],[2,0],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"true?"],[[0,"lambda"],[1,"x"],[[0,"and"],[[0,"atom?"],[1,"x"]],[[0,"="],[[0,"Any"],[1,"x"]],[2,1]]]]],[[0,"let"],[1,"false?"],[[0,"lambda"],[1,"x"],[[0,"and"],[[0,"atom?"],[1,"x"]],[[0,"="],[[0,"Any"],[1,"x"]],[2,0]]]]],[[0,"let"],[1,"true"],[[0,"not"],[2,0]]],[[0,"let"],[1,"false"],[[0,"not"],[2,1]]],[[0,"let"],[1,"one"],[2,1]],[[0,"let"],[1,"zero"],[2,0]],[[0,"let"],[1,"math:e"],[2,2.718281828459045]],[[0,"let"],[1,"math:pi"],[2,3.141592653589793]],[[0,"let"],[1,"math:min-safe-integer"],[2,-9007199254740991]],[[0,"let"],[1,"math:max-safe-integer"],[2,9007199254740991]],[[0,"let"],[1,"math:decimal-scaling"],[2,1000000000000]],[[0,"let"],[1,"pair:apply"],[[0,"lambda"],[1,"x"],[1,"cb"],[[0,"cb"],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]],[[0,"let"],[1,"pair:fork-apply"],[[0,"lambda"],[1,"pair"],[1,"cb1"],[1,"cb2"],[[0,"array"],[[0,"cb1"],[[0,"array:first"],[1,"pair"]]],[[0,"cb2"],[[0,"array:second"],[1,"pair"]]]]]],[[0,"let"],[1,"pair:add"],[[0,"lambda"],[1,"x"],[[0,"+"],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]],[[0,"let"],[1,"pair:subtract"],[[0,"lambda"],[1,"x"],[[0,"-"],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]],[[0,"let"],[1,"pair:multiply"],[[0,"lambda"],[1,"x"],[[0,"*"],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]],[[0,"let"],[1,"pair:divide"],[[0,"lambda"],[1,"x"],[[0,"/"],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]],[[0,"let"],[1,"pair:swap"],[[0,"lambda"],[1,"x"],[[0,"array"],[[0,"array:second"],[1,"x"]],[[0,"array:first"],[1,"x"]]]]],[[0,"let"],[1,"pair:duplicate"],[[0,"lambda"],[1,"x"],[[0,"array:transform"],[[0,"array"],[1,"x"]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge"],[1,"a"],[[0,"array:append!"],[1,"a"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"pair:swap!"],[[0,"lambda"],[1,"x"],[[0,"do"],[[0,"let"],[1,"temp"],[[0,"array:first"],[1,"x"]]],[[0,"set!"],[1,"x"],[2,0],[[0,"array:second"],[1,"x"]]],[[0,"set!"],[1,"x"],[2,1],[1,"temp"]]]]],[[0,"let"],[1,"pair:unzip"],[[0,"lambda"],[1,"xs"],[[0,"array:unzip"],[1,"xs"]]]],[[0,"let"],[1,"pair:zip"],[[0,"lambda"],[1,"xs"],[[0,"array:zip"],[[0,"array:first"],[1,"xs"]],[[0,"array:second"],[1,"xs"]]]]],[[0,"let"],[1,"pair:list-zip"],[[0,"lambda"],[1,"xs"],[[0,"list:zip"],[[0,"list:head"],[1,"xs"]],[[0,"list:head"],[[0,"list:tail"],[1,"xs"]]]]]],[[0,"let"],[1,"pair:list-unzip"],[[0,"lambda"],[1,"xs"],[[0,"list:unzip"],[1,"xs"]]]],[[0,"let"],[1,"math:range"],[[0,"lambda"],[1,"start"],[1,"end"],[[0,"do"],[[0,"let"],[1,"recursive:math:range"],[[0,"lambda"],[1,"out"],[1,"count"],[[0,"if"],[[0,"<="],[1,"count"],[1,"end"]],[[0,"recursive:math:range"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"count"]],[[0,"+"],[1,"count"],[2,1]]],[1,"out"]]]],[[0,"recursive:math:range"],[[0,"array"]],[1,"start"]]]]],[[0,"let"],[1,"math:sequence"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"end"],[[0,"length"],[1,"xs"]]],[[0,"let"],[1,"recursive:math:sequence"],[[0,"lambda"],[1,"out"],[1,"count"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"end"]],[[0,"recursive:math:sequence"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"count"]],[[0,"+"],[1,"count"],[2,1]]],[1,"out"]]]],[[0,"recursive:math:sequence"],[[0,"array"]],[2,0]]]]],[[0,"let"],[1,"math:sequence-n"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:sequence-n"],[[0,"lambda"],[1,"out"],[1,"count"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:sequence-n"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"count"]],[[0,"+"],[1,"count"],[2,1]]],[1,"out"]]]],[[0,"recursive:sequence-n"],[[0,"array"]],[2,0]]]]],[[0,"let"],[1,"math:zeroes"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:math:zeroes"],[[0,"lambda"],[1,"out"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:math:zeroes"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[2,0]]],[1,"out"]]]],[[0,"recursive:math:zeroes"],[[0,"array"]]]]]],[[0,"let"],[1,"math:ones"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:math:ones"],[[0,"lambda"],[1,"out"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:math:ones"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[2,1]]],[1,"out"]]]],[[0,"recursive:math:ones"],[[0,"array"]]]]]],[[0,"let"],[1,"math:numbers"],[[0,"lambda"],[1,"n"],[1,"num"],[[0,"do"],[[0,"let"],[1,"recursive:math:numbers"],[[0,"lambda"],[1,"out"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:math:numbers"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"num"]]],[1,"out"]]]],[[0,"recursive:math:numbers"],[[0,"array"]]]]]],[[0,"let"],[1,"math:between?"],[[0,"lambda"],[1,"v"],[1,"min"],[1,"max"],[[0,"and"],[[0,">"],[1,"v"],[1,"min"]],[[0,"<"],[1,"v"],[1,"max"]]]]],[[0,"let"],[1,"math:overlap?"],[[0,"lambda"],[1,"v"],[1,"min"],[1,"max"],[[0,"and"],[[0,">="],[1,"v"],[1,"min"]],[[0,"<="],[1,"v"],[1,"max"]]]]],[[0,"let"],[1,"math:permutations"],[[0,"lambda"],[1,"xs"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[2,0]],[[0,"array:flat-one"],[[0,"array:enumerated-map"],[1,"xs"],[[0,"lambda"],[1,"x"],[1,"i"],[[0,"array:map"],[[0,"math:permutations"],[[0,"array:enumerated-exclude"],[1,"xs"],[[0,"lambda"],[1,"."],[1,"j"],[[0,"="],[1,"i"],[1,"j"]]]]],[[0,"lambda"],[1,"vs"],[[0,"array:merge"],[[0,"array"],[1,"x"]],[1,"vs"]]]]]]],[[0,"array"],[[0,"array"]]]]]],[[0,"let"],[1,"math:combinations"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"let"],[1,"combinations"],[[0,"lambda"],[1,"arr"],[1,"size"],[1,"start"],[1,"temp"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"length"],[1,"temp"]],[1,"size"]],[[0,"array:push!"],[1,"out"],[[0,"array:shallow-copy"],[1,"temp"]]],[[0,"loop:for-range"],[1,"start"],[[0,"length"],[1,"arr"]],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"array:push!"],[1,"temp"],[[0,"get"],[1,"arr"],[1,"i"]]],[[0,"combinations"],[1,"arr"],[1,"size"],[[0,"+"],[1,"i"],[2,1]],[1,"temp"]],[[0,"array:pop!"],[1,"temp"]]]]]]]]],[[0,"loop:for-range"],[2,1],[[0,"+"],[2,1],[[0,"length"],[1,"xs"]]],[[0,"lambda"],[1,"i"],[[0,"combinations"],[1,"xs"],[1,"i"],[2,0],[[0,"array"]]]]],[1,"out"]]]],[[0,"let"],[1,"math:greater?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,">"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:lesser?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"<"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:lesser-or-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"<="],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:greater-or-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,">="],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"="],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:addition"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"+"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:multiplication"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"*"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:division"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"/"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:subtraction"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"-"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:fold"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"array:fold"],[1,"xs"],[1,"cb"],[1,"initial"]]]],[[0,"let"],[1,"math:enumerated-fold"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"array:enumerated-fold"],[1,"xs"],[1,"cb"],[1,"initial"]]]],[[0,"let"],[1,"math:map"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"array:map"],[1,"xs"],[1,"cb"]]]],[[0,"let"],[1,"math:enumerated-map"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"array:enumerated-map"],[1,"xs"],[1,"cb"]]]],[[0,"let"],[1,"math:select"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"array:select"],[1,"xs"],[1,"cb?"]]]],[[0,"let"],[1,"math:exclude"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"array:exclude"],[1,"xs"],[1,"cb?"]]]],[[0,"let"],[1,"math:max"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[1,"a"],[1,"b"]],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:min"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"<"],[1,"a"],[1,"b"]],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"math:summation"],[[0,"lambda"],[1,"xs"],[[0,"math:fold"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"+"],[1,"a"],[1,"b"]]],[2,0]]]],[[0,"let"],[1,"math:product"],[[0,"lambda"],[1,"xs"],[[0,"math:fold"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"*"],[1,"a"],[1,"b"]]],[2,1]]]],[[0,"let"],[1,"math:maximum"],[[0,"lambda"],[1,"xs"],[[0,"math:fold"],[1,"xs"],[1,"math:max"],[[0,"array:first"],[1,"xs"]]]]],[[0,"let"],[1,"math:minimum"],[[0,"lambda"],[1,"xs"],[[0,"math:fold"],[1,"xs"],[1,"math:min"],[[0,"array:first"],[1,"xs"]]]]],[[0,"let"],[1,"math:maximum-index"],[[0,"lambda"],[1,"xs"],[[0,"array:second"],[[0,"array:enumerated-fold"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"x"],[1,"i"],[[0,"if"],[[0,">"],[1,"x"],[[0,"array:first"],[1,"a"]]],[[0,"array"],[1,"x"],[1,"i"]],[1,"a"]]],[[0,"array"],[[0,"array:first"],[1,"xs"]],[1,"math:min-safe-integer"]]]]]],[[0,"let"],[1,"math:minimum-index"],[[0,"lambda"],[1,"xs"],[[0,"array:second"],[[0,"array:enumerated-fold"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"x"],[1,"i"],[[0,"if"],[[0,"<"],[1,"x"],[[0,"array:first"],[1,"a"]]],[[0,"array"],[1,"x"],[1,"i"]],[1,"a"]]],[[0,"array"],[[0,"array:first"],[1,"xs"]],[1,"math:max-safe-integer"]]]]]],[[0,"let"],[1,"math:max-length"],[[0,"lambda"],[1,"xs"],[[0,"array:reduce"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"b"]],[1,"a"]],[[0,"length"],[1,"b"]],[1,"a"]]],[1,"math:min-safe-integer"]]]],[[0,"let"],[1,"math:min-length"],[[0,"lambda"],[1,"xs"],[[0,"array:reduce"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"b"]],[1,"a"]],[[0,"length"],[1,"b"]],[1,"a"]]],[1,"math:max-safe-integer"]]]],[[0,"let"],[1,"math:increment"],[[0,"lambda"],[1,"i"],[[0,"+"],[1,"i"],[2,1]]]],[[0,"let"],[1,"math:decrement"],[[0,"lambda"],[1,"i"],[[0,"-"],[1,"i"],[2,1]]]],[[0,"let"],[1,"math:floor"],[[0,"lambda"],[1,"n"],[[0,"|"],[1,"n"],[2,0]]]],[[0,"let"],[1,"math:round"],[[0,"lambda"],[1,"n"],[[0,"|"],[[0,"+"],[1,"n"],[2,0.5]],[2,0]]]],[[0,"let"],[1,"math:ceil"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"="],[1,"n"],[[0,"|"],[1,"n"],[2,0]]],[[0,"|"],[1,"n"],[2,0]],[[0,"+"],[[0,"|"],[1,"n"],[2,0]],[2,1]]]]],[[0,"let"],[1,"math:set-bit"],[[0,"lambda"],[1,"n"],[1,"bit"],[[0,"|"],[1,"n"],[[0,"<<"],[2,1],[1,"bit"]]]]],[[0,"let"],[1,"math:clear-bit"],[[0,"lambda"],[1,"n"],[1,"bit"],[[0,"&"],[1,"n"],[[0,"~"],[[0,"<<"],[2,1],[1,"bit"]]]]]],[[0,"let"],[1,"math:power-of-two-bits"],[[0,"lambda"],[1,"n"],[[0,"<<"],[2,2],[[0,"-"],[1,"n"],[2,1]]]]],[[0,"let"],[1,"math:odd-bit?"],[[0,"lambda"],[1,"n"],[[0,"="],[[0,"&"],[1,"n"],[2,1]],[2,1]]]],[[0,"let"],[1,"math:average-bit"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,">>"],[[0,"+"],[1,"a"],[1,"b"]],[2,1]]]],[[0,"let"],[1,"math:flag-flip"],[[0,"lambda"],[1,"x"],[[0,"-"],[2,1],[[0,"*"],[1,"x"],[1,"x"]]]]],[[0,"let"],[1,"math:toggle-bit"],[[0,"lambda"],[1,"n"],[1,"a"],[1,"b"],[[0,"^"],[[0,"^"],[1,"a"],[1,"b"]],[1,"n"]]]],[[0,"let"],[1,"math:same-sign-bit?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,">="],[[0,"^"],[1,"a"],[1,"b"]],[2,0]]]],[[0,"let"],[1,"math:max-bit"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"-"],[1,"a"],[[0,"&"],[[0,"-"],[1,"a"],[1,"b"]],[[0,">>"],[[0,"-"],[1,"a"],[1,"b"]],[2,31]]]]]],[[0,"let"],[1,"math:min-bit"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"-"],[1,"a"],[[0,"&"],[[0,"-"],[1,"a"],[1,"b"]],[[0,">>"],[[0,"-"],[1,"b"],[1,"a"]],[2,31]]]]]],[[0,"let"],[1,"math:bit-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"<"],[[0,"^"],[1,"a"],[1,"b"]],[2,1]]]],[[0,"let"],[1,"math:modulo-bit"],[[0,"lambda"],[1,"numerator"],[1,"divisor"],[[0,"&"],[1,"numerator"],[[0,"-"],[1,"divisor"],[2,1]]]]],[[0,"let"],[1,"math:n-one-bit?"],[[0,"lambda"],[1,"N"],[1,"nth"],[[0,"not"],[[0,"="],[[0,"&"],[1,"N"],[[0,"<<"],[2,1],[1,"nth"]]],[2,0]]]]],[[0,"let"],[1,"math:percent"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"*"],[2,100],[[0,"/"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"math:median"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"length"],[1,"xs"]]],[[0,"let"],[1,"half"],[[0,"math:floor"],[[0,"/"],[1,"len"],[2,2]]]],[[0,"if"],[[0,"math:odd?"],[1,"len"]],[[0,"get"],[1,"xs"],[1,"half"]],[[0,"/"],[[0,"+"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"half"],[2,1]]],[[0,"get"],[1,"xs"],[1,"half"]]],[2,2]]]]]],[[0,"let"],[1,"math:mean"],[[0,"lambda"],[1,"xs"],[[0,"/"],[[0,"math:summation"],[1,"xs"]],[[0,"length"],[1,"xs"]]]]],[[0,"let"],[1,"math:bit-count32"],[[0,"lambda"],[1,"n0"],[[0,"do"],[[0,"let"],[1,"n1"],[[0,"-"],[1,"n0"],[[0,"&"],[[0,">>"],[1,"n0"],[2,1]],[2,1431655765]]]],[[0,"let"],[1,"n2"],[[0,"+"],[[0,"&"],[1,"n1"],[2,858993459]],[[0,"&"],[[0,">>"],[1,"n1"],[2,2]],[2,858993459]]]],[[0,">>"],[[0,"*"],[[0,"&"],[[0,"+"],[1,"n2"],[[0,">>"],[1,"n2"],[2,4]]],[2,252645135]],[2,16843009]],[2,24]]]]],[[0,"let"],[1,"math:bit-count"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:math:bit-count"],[[0,"lambda"],[1,"n"],[1,"bits"],[[0,"if"],[[0,"="],[1,"n"],[2,0]],[1,"bits"],[[0,"recursive:math:bit-count"],[[0,"/"],[1,"n"],[2,4294967296]],[[0,"+"],[1,"bits"],[[0,"math:bit-count32"],[[0,"|"],[1,"n"],[2,0]]]]]]]],[[0,"recursive:math:bit-count"],[1,"n"],[2,0]]]]],[[0,"let"],[1,"math:square"],[[0,"lambda"],[1,"x"],[[0,"*"],[1,"x"],[1,"x"]]]],[[0,"let"],[1,"math:power"],[[0,"lambda"],[1,"base"],[1,"exp"],[[0,"if"],[[0,"<"],[1,"exp"],[2,0]],[[0,"if"],[[0,"="],[1,"base"],[2,0]],[1,"nil"],[[0,"/"],[2,1],[[0,"*"],[1,"base"],[[0,"math:power"],[1,"base"],[[0,"-"],[[0,"*"],[1,"exp"],[2,-1]],[2,1]]]]]],[[0,"if"],[[0,"="],[1,"exp"],[2,0]],[2,1],[[0,"if"],[[0,"="],[1,"exp"],[2,1]],[1,"base"],[[0,"if"],[[0,"not"],[2,0]],[[0,"*"],[1,"base"],[[0,"math:power"],[1,"base"],[[0,"-"],[1,"exp"],[2,1]]]],[[0,"Any"],[1,"nil"]]]]]]]],[[0,"let"],[1,"math:greatest-common-divisor"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"recursive:math:greatest-common-divisor"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"="],[1,"b"],[2,0]],[1,"a"],[[0,"recursive:math:greatest-common-divisor"],[1,"b"],[[0,"mod"],[1,"a"],[1,"b"]]]]]],[[0,"recursive:math:greatest-common-divisor"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"math:least-common-divisor"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"*"],[1,"a"],[[0,"*"],[1,"b"],[[0,"/"],[2,1],[[0,"math:greatest-common-divisor"],[1,"a"],[1,"b"]]]]]]],[[0,"let"],[1,"math:coprime?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"="],[[0,"math:greatest-common-divisor"],[1,"a"],[1,"b"]],[2,1]]]],[[0,"let"],[1,"math:sqrt"],[[0,"lambda"],[1,"x"],[[0,"do"],[[0,"let"],[1,"good-enough?"],[[0,"lambda"],[1,"g"],[1,"x"],[[0,"<"],[[0,"math:abs"],[[0,"-"],[[0,"math:square"],[1,"g"]],[1,"x"]]],[2,0.01]]]],[[0,"let"],[1,"improve-guess"],[[0,"lambda"],[1,"g"],[1,"x"],[[0,"math:average"],[1,"g"],[[0,"/"],[1,"x"],[1,"g"]]]]],[[0,"let"],[1,"recursive:math:sqrt"],[[0,"lambda"],[1,"g"],[1,"x"],[[0,"if"],[[0,"good-enough?"],[1,"g"],[1,"x"]],[1,"g"],[[0,"recursive:math:sqrt"],[[0,"improve-guess"],[1,"g"],[1,"x"]],[1,"x"]]]]],[[0,"recursive:math:sqrt"],[2,1],[1,"x"]]]]],[[0,"let"],[1,"math:perfect-square?"],[[0,"lambda"],[1,"n"],[[0,"-"],[[0,"math:floor"],[[0,"math:sqrt"],[1,"n"]]],[[0,"math:floor"],[[0,"math:sqrt"],[[0,"-"],[1,"n"],[2,1]]]]]]],[[0,"let"],[1,"math:circumference"],[[0,"lambda"],[1,"radius"],[[0,"*"],[1,"math:pi"],[[0,"*"],[1,"radius"],[2,2]]]]],[[0,"let"],[1,"math:hypotenuse"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"math:sqrt"],[[0,"+"],[[0,"*"],[1,"a"],[1,"a"]],[[0,"*"],[1,"b"],[1,"b"]]]]]],[[0,"let"],[1,"math:abs"],[[0,"lambda"],[1,"n"],[[0,"-"],[[0,"^"],[1,"n"],[[0,">>"],[1,"n"],[2,31]]],[[0,">>"],[1,"n"],[2,31]]]]],[[0,"let"],[1,"math:nth-digit"],[[0,"lambda"],[1,"digit"],[1,"n"],[[0,"|"],[[0,"mod"],[[0,"/"],[1,"digit"],[[0,"math:power"],[2,10],[[0,"-"],[1,"n"],[2,1]]]],[2,10]],[2,0.5]]]],[[0,"let"],[1,"math:remove-nth-digits"],[[0,"lambda"],[1,"digit"],[1,"n"],[[0,"|"],[[0,"/"],[1,"digit"],[[0,"math:power"],[2,10],[1,"n"]]],[2,0.5]]]],[[0,"let"],[1,"math:keep-nth-digits"],[[0,"lambda"],[1,"digit"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:math:keep-nth-digits"],[[0,"lambda"],[1,"i"],[1,"out"],[1,"base"],[[0,"if"],[[0,">"],[1,"i"],[2,0]],[[0,"recursive:math:keep-nth-digits"],[[0,"-"],[1,"i"],[2,1]],[[0,"+"],[1,"out"],[[0,"*"],[1,"base"],[[0,"math:nth-digit"],[1,"digit"],[1,"i"]]]],[[0,"*"],[1,"base"],[2,0.1]]],[1,"out"]]]],[[0,"recursive:math:keep-nth-digits"],[1,"n"],[2,0],[[0,"*"],[[0,"math:power"],[2,10],[1,"n"]],[2,0.1]]]]]],[[0,"let"],[1,"math:normalize"],[[0,"lambda"],[1,"value"],[1,"math:min"],[1,"math:max"],[[0,"*"],[[0,"-"],[1,"value"],[1,"math:min"]],[[0,"/"],[2,1],[[0,"-"],[1,"math:max"],[1,"math:min"]]]]]],[[0,"let"],[1,"math:linear-interpolation"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"n"],[[0,"+"],[[0,"*"],[[0,"-"],[2,1],[1,"n"]],[1,"a"]],[[0,"*"],[1,"n"],[1,"b"]]]]],[[0,"let"],[1,"math:gauss-sum"],[[0,"lambda"],[1,"n"],[[0,"*"],[1,"n"],[[0,"*"],[[0,"+"],[1,"n"],[2,1]],[2,0.5]]]]],[[0,"let"],[1,"math:gauss-sum-sequance"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"*"],[[0,"+"],[1,"a"],[1,"b"]],[[0,"*"],[[0,"+"],[[0,"-"],[1,"b"],[1,"a"]],[2,1]],[2,0.5]]]]],[[0,"let"],[1,"math:clamp"],[[0,"lambda"],[1,"x"],[1,"limit"],[[0,"if"],[[0,">"],[1,"x"],[1,"limit"]],[1,"limit"],[1,"x"]]]],[[0,"let"],[1,"math:clamp-range"],[[0,"lambda"],[1,"x"],[1,"start"],[1,"end"],[[0,"if"],[[0,">"],[1,"x"],[1,"end"]],[1,"end"],[[0,"if"],[[0,"<"],[1,"x"],[1,"start"]],[1,"start"],[[0,"if"],[[0,"not"],[2,0]],[1,"x"],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"math:odd?"],[[0,"lambda"],[1,"x"],[[0,"="],[[0,"mod"],[1,"x"],[2,2]],[2,1]]]],[[0,"let"],[1,"math:even?"],[[0,"lambda"],[1,"x"],[[0,"="],[[0,"mod"],[1,"x"],[2,2]],[2,0]]]],[[0,"let"],[1,"math:enumerated-odd?"],[[0,"lambda"],[1,"."],[1,"i"],[[0,"="],[[0,"mod"],[1,"i"],[2,2]],[2,1]]]],[[0,"let"],[1,"math:enumerated-even?"],[[0,"lambda"],[1,"."],[1,"i"],[[0,"="],[[0,"mod"],[1,"i"],[2,2]],[2,0]]]],[[0,"let"],[1,"math:sign"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"<"],[1,"n"],[2,0]],[2,-1],[2,1]]]],[[0,"let"],[1,"math:radians"],[[0,"lambda"],[1,"deg"],[[0,"/"],[[0,"*"],[1,"deg"],[1,"math:pi"]],[2,180]]]],[[0,"let"],[1,"math:average"],[[0,"lambda"],[1,"x"],[1,"y"],[[0,"*"],[[0,"+"],[1,"x"],[1,"y"]],[2,0.5]]]],[[0,"let"],[1,"math:euclidean-mod"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"mod"],[[0,"+"],[[0,"mod"],[1,"a"],[1,"b"]],[1,"b"]],[1,"b"]]]],[[0,"let"],[1,"math:euclidean-distance"],[[0,"lambda"],[1,"x1"],[1,"y1"],[1,"x2"],[1,"y2"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"-"],[1,"x1"],[1,"x2"]]],[[0,"let"],[1,"b"],[[0,"-"],[1,"y1"],[1,"y2"]]],[[0,"math:sqrt"],[[0,"+"],[[0,"*"],[1,"a"],[1,"a"]],[[0,"*"],[1,"b"],[1,"b"]]]]]]],[[0,"let"],[1,"math:manhattan-distance"],[[0,"lambda"],[1,"x1"],[1,"y1"],[1,"x2"],[1,"y2"],[[0,"+"],[[0,"math:abs"],[[0,"-"],[1,"x2"],[1,"x1"]]],[[0,"math:abs"],[[0,"-"],[1,"y2"],[1,"y1"]]]]]],[[0,"let"],[1,"math:positive?"],[[0,"lambda"],[1,"x"],[[0,">"],[1,"x"],[2,0]]]],[[0,"let"],[1,"math:negative?"],[[0,"lambda"],[1,"x"],[[0,"<"],[1,"x"],[2,0]]]],[[0,"let"],[1,"math:invert"],[[0,"lambda"],[1,"x"],[[0,"*"],[1,"x"],[2,-1]]]],[[0,"let"],[1,"math:zero?"],[[0,"lambda"],[1,"x"],[[0,"="],[1,"x"],[2,0]]]],[[0,"let"],[1,"math:negative-one?"],[[0,"lambda"],[1,"x"],[[0,"="],[1,"x"],[2,-1]]]],[[0,"let"],[1,"math:divisible?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"="],[[0,"mod"],[1,"a"],[1,"b"]],[2,0]]]],[[0,"let"],[1,"math:factorial"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"<="],[1,"n"],[2,0]],[2,1],[[0,"*"],[1,"n"],[[0,"math:factorial"],[[0,"-"],[1,"n"],[2,1]]]]]]],[[0,"let"],[1,"math:mulberry-32-prng"],[[0,"lambda"],[1,"seed"],[[0,"do"],[[0,"let"],[1,"base"],[[0,"math:var-def"],[1,"seed"]]],[[0,"let"],[1,"z"],[[0,"math:var-def"],[[0,"math:var-set-and-get!"],[1,"base"],[[0,"+"],[[0,"math:var-get"],[1,"base"]],[2,2654435769]]]]],[[0,"math:var-set!"],[1,"z"],[[0,"^"],[[0,"math:var-get"],[1,"z"]],[[0,">>"],[[0,"math:var-get"],[1,"z"]],[2,16]]]],[[0,"math:var-set!"],[1,"z"],[[0,"*"],[[0,"math:var-get"],[1,"z"]],[2,569420461]]],[[0,"math:var-set!"],[1,"z"],[[0,"^"],[[0,"math:var-get"],[1,"z"]],[[0,">>"],[[0,"math:var-get"],[1,"z"]],[2,15]]]],[[0,"math:var-set!"],[1,"z"],[[0,"*"],[[0,"math:var-get"],[1,"z"]],[2,1935289751]]],[[0,"math:var-set!"],[1,"z"],[[0,"^"],[[0,"math:var-get"],[1,"z"]],[[0,">>"],[[0,"math:var-get"],[1,"z"]],[2,15]]]],[[0,"math:var-get"],[1,"z"]]]]],[[0,"let"],[1,"math:random"],[[0,"lambda"],[1,"N"],[[0,"do"],[[0,"let"],[1,"n"],[[0,"math:var-def"],[1,"N"]]],[[0,"lambda"],[[0,"math:mulberry-32-prng"],[[0,"math:var-increment-and-get!"],[1,"n"]]]]]]],[[0,"let"],[1,"math:sine"],[[0,"lambda"],[1,"rad"],[1,"terms"],[[0,"do"],[[0,"let"],[1,"sine"],[[0,"math:var-def"],[2,0]]],[[0,"let"],[1,"recursive:math:sine"],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"math:var-set!"],[1,"sine"],[[0,"+"],[[0,"math:var-get"],[1,"sine"]],[[0,"*"],[[0,"/"],[2,1],[[0,"math:factorial"],[[0,"+"],[[0,"*"],[2,2],[1,"i"]],[2,1]]]],[[0,"*"],[[0,"math:power"],[2,-1],[1,"i"]],[[0,"math:power"],[1,"rad"],[[0,"+"],[[0,"*"],[2,2],[1,"i"]],[2,1]]]]]]],[[0,"if"],[[0,"<"],[1,"i"],[1,"terms"]],[[0,"recursive:math:sine"],[[0,"+"],[1,"i"],[2,1]]],[[0,"math:var-get"],[1,"sine"]]]]]],[[0,"recursive:math:sine"],[2,0]]]]],[[0,"let"],[1,"math:cosine"],[[0,"lambda"],[1,"rad"],[1,"terms"],[[0,"do"],[[0,"let"],[1,"cosine"],[[0,"math:var-def"],[2,0]]],[[0,"let"],[1,"recursive:math:cosine"],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"math:var-set!"],[1,"cosine"],[[0,"+"],[[0,"math:var-get"],[1,"cosine"]],[[0,"*"],[[0,"/"],[2,1],[[0,"math:factorial"],[[0,"*"],[2,2],[1,"i"]]]],[[0,"*"],[[0,"math:power"],[2,-1],[1,"i"]],[[0,"math:power"],[1,"rad"],[[0,"*"],[2,2],[1,"i"]]]]]]],[[0,"if"],[[0,"<"],[1,"i"],[1,"terms"]],[[0,"recursive:math:cosine"],[[0,"+"],[1,"i"],[2,1]]],[[0,"math:var-get"],[1,"cosine"]]]]]],[[0,"recursive:math:cosine"],[2,0]]]]],[[0,"let"],[1,"math:prime-factors"],[[0,"lambda"],[1,"N"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"array"]]],[[0,"let"],[1,"n"],[[0,"math:var-def"],[1,"N"]]],[[0,"let"],[1,"f"],[[0,"math:var-def"],[2,2]]],[[0,"let"],[1,"recursive:math:prime-factors"],[[0,"lambda"],[[0,"if"],[[0,">"],[[0,"math:var-get"],[1,"n"]],[2,1]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"mod"],[[0,"math:var-get"],[1,"n"]],[[0,"math:var-get"],[1,"f"]]],[2,0]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[[0,"math:var-get"],[1,"f"]]],[[0,"math:var-set!"],[1,"n"],[[0,"*"],[[0,"math:var-get"],[1,"n"]],[[0,"/"],[2,1],[[0,"math:var-get"],[1,"f"]]]]]]]],[[0,"math:var-set!"],[1,"f"],[[0,"+"],[[0,"math:var-get"],[1,"f"]],[2,1]]]],[[0,"recursive:math:prime-factors"]]]]],[1,"a"]]]],[[0,"recursive:math:prime-factors"]]]]],[[0,"let"],[1,"math:prime?"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"="],[1,"n"],[2,1]],[1,"false"],[[0,"if"],[[0,"<"],[1,"n"],[2,0]],[1,"false"],[[0,"if"],[[0,"not"],[2,0]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"recursive:math:prime?"],[[0,"lambda"],[1,"i"],[1,"end"],[[0,"do"],[[0,"let"],[1,"prime?"],[[0,"not"],[[0,"="],[[0,"mod"],[1,"n"],[1,"i"]],[2,0]]]],[[0,"if"],[[0,"and"],[[0,"<="],[1,"i"],[1,"end"]],[1,"prime?"]],[[0,"recursive:math:prime?"],[[0,"+"],[1,"i"],[2,1]],[1,"end"]],[1,"prime?"]]]]],[[0,"or"],[[0,"="],[1,"n"],[2,2]],[[0,"recursive:math:prime?"],[2,2],[[0,"math:sqrt"],[1,"n"]]]]]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"math:number-of-digits"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"="],[1,"n"],[2,0]],[2,1],[[0,"if"],[[0,"<"],[1,"n"],[2,0]],[[0,"length"],[[0,"from:integer->digits"],[[0,"|"],[[0,"*"],[1,"n"],[2,-1]],[2,0]]]],[[0,"if"],[[0,"not"],[2,0]],[[0,"length"],[[0,"from:integer->digits"],[[0,"|"],[1,"n"],[2,0]]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"math:largest-power"],[[0,"lambda"],[1,"N"],[[0,"do"],[[0,"let"],[1,"N1"],[[0,"|"],[1,"N"],[[0,">>"],[1,"N"],[2,1]]]],[[0,"let"],[1,"N2"],[[0,"|"],[1,"N1"],[[0,">>"],[1,"N1"],[2,2]]]],[[0,"let"],[1,"N3"],[[0,"|"],[1,"N2"],[[0,">>"],[1,"N2"],[2,4]]]],[[0,"let"],[1,"N4"],[[0,"|"],[1,"N3"],[[0,">>"],[1,"N3"],[2,8]]]],[[0,">>"],[[0,"+"],[1,"N4"],[2,1]],[2,1]]]]],[[0,"let"],[1,"math:cartesian-product"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:transform"],[1,"a"],[[0,"lambda"],[1,"p"],[1,"x"],[[0,"array:merge!"],[1,"p"],[[0,"array:map"],[1,"b"],[[0,"lambda"],[1,"y"],[[0,"array"],[1,"x"],[1,"y"]]]]]],[[0,"array"]]]]],[[0,"let"],[1,"math:fibonacci"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"memoized:math:fibonacci"],[[0,"lambda"],[1,"n"],[[0,"if"],[[0,"<"],[1,"n"],[2,2]],[1,"n"],[[0,"+"],[[0,"memoized:math:fibonacci"],[[0,"-"],[1,"n"],[2,1]]],[[0,"memoized:math:fibonacci"],[[0,"-"],[1,"n"],[2,2]]]]]]],[[0,"memoized:math:fibonacci"],[1,"n"]]]]],[[0,"let"],[1,"math:enumeration"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"I"],[[0,"var:def"],[2,-1]]],[[0,"let"],[1,"enumeration"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"i"],[[0,"+"],[[0,"var:get"],[1,"I"]],[2,1]]],[[0,"var:set!"],[1,"I"],[1,"i"]],[1,"i"]]]]]]],[[0,"let"],[1,"math:palindrome?"],[[0,"lambda"],[1,"xs"],[[0,"array:every?"],[[0,"array:map"],[[0,"array:zip"],[1,"xs"],[[0,"array:reverse"],[1,"xs"]]],[1,"pair:subtract"]],[1,"math:zero?"]]]],[[0,"let"],[1,"math:max-sub-array-sum"],[[0,"lambda"],[1,"xs"],[[0,"get"],[[0,"array:transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"set!"],[1,"a"],[2,1],[[0,"math:max"],[[0,"+"],[[0,"get"],[1,"a"],[2,1]],[1,"b"]],[1,"b"]]],[[0,"set!"],[1,"a"],[2,0],[[0,"math:max"],[[0,"get"],[1,"a"],[2,0]],[[0,"get"],[1,"a"],[2,1]]]],[1,"a"]]],[[0,"array"],[2,0],[[0,"get"],[1,"xs"],[2,0]]]],[2,0]]]],[[0,"let"],[1,"math:list-fold"],[[0,"lambda"],[1,"xs"],[1,"f"],[1,"out"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"Atom"],[1,"out"]],[[0,"math:list-fold"],[[0,"list:tail"],[1,"xs"]],[1,"f"],[[0,"f"],[1,"out"],[[0,"list:head"],[1,"xs"]]]]]]],[[0,"let"],[1,"math:list-maximum"],[[0,"lambda"],[1,"xs"],[[0,"math:list-fold"],[1,"xs"],[1,"math:max"],[1,"math:min-safe-integer"]]]],[[0,"let"],[1,"math:list-minimum"],[[0,"lambda"],[1,"xs"],[[0,"math:list-fold"],[1,"xs"],[1,"math:min"],[1,"math:max-safe-integer"]]]],[[0,"let"],[1,"math:list-summation"],[[0,"lambda"],[1,"xs"],[[0,"math:list-fold"],[1,"xs"],[1,"+"],[2,0]]]],[[0,"let"],[1,"math:list-product"],[[0,"lambda"],[1,"xs"],[[0,"math:list-fold"],[1,"xs"],[1,"*"],[2,1]]]],[[0,"let"],[1,"math:list-range"],[[0,"lambda"],[1,"low"],[1,"high"],[[0,"if"],[[0,">"],[1,"low"],[1,"high"]],[[0,"Numbers"],[[0,"array"]]],[[0,"list:pair"],[1,"low"],[[0,"math:list-range"],[[0,"+"],[1,"low"],[2,1]],[1,"high"]]]]]],[[0,"let"],[1,"list:pair"],[[0,"lambda"],[1,"first"],[1,"second"],[[0,"array"],[1,"first"],[1,"second"]]]],[[0,"let"],[1,"list:car"],[[0,"lambda"],[1,"pair"],[[0,"get"],[1,"pair"],[2,0]]]],[[0,"let"],[1,"list:cdr"],[[0,"lambda"],[1,"pair"],[[0,"get"],[1,"pair"],[2,1]]]],[[0,"let"],[1,"list:head"],[[0,"lambda"],[1,"pair"],[[0,"get"],[1,"pair"],[2,0]]]],[[0,"let"],[1,"list:tail"],[[0,"lambda"],[1,"pair"],[[0,"get"],[1,"pair"],[2,1]]]],[[0,"let"],[1,"list:nil?"],[[0,"lambda"],[1,"pair"],[[0,"="],[[0,"length"],[1,"pair"]],[2,0]]]],[[0,"let"],[1,"list:map"],[[0,"lambda"],[1,"xs"],[1,"f"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"list:pair"],[[0,"f"],[[0,"list:head"],[1,"xs"]]],[[0,"list:map"],[[0,"list:tail"],[1,"xs"]],[1,"f"]]]]]],[[0,"let"],[1,"list:filter"],[[0,"lambda"],[1,"xs"],[1,"f?"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"if"],[[0,"f?"],[[0,"list:head"],[1,"xs"]]],[[0,"list:pair"],[[0,"list:head"],[1,"xs"]],[[0,"list:filter"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]]],[[0,"list:filter"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]]]]]],[[0,"let"],[1,"list:fold"],[[0,"lambda"],[1,"xs"],[1,"f"],[1,"out"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"Any"],[1,"out"]],[[0,"list:fold"],[[0,"list:tail"],[1,"xs"]],[1,"f"],[[0,"f"],[1,"out"],[[0,"list:head"],[1,"xs"]]]]]]],[[0,"let"],[1,"list:transform"],[[0,"lambda"],[1,"xs"],[1,"f"],[1,"out"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"Collection"],[1,"out"]],[[0,"list:transform"],[[0,"list:tail"],[1,"xs"]],[1,"f"],[[0,"f"],[1,"out"],[[0,"list:head"],[1,"xs"]]]]]]],[[0,"let"],[1,"list:zip"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"list:nil?"],[1,"a"]],[[0,"array"]],[[0,"list:pair"],[[0,"list:pair"],[[0,"list:head"],[1,"a"]],[[0,"list:pair"],[[0,"list:head"],[1,"b"]],[[0,"array"]]]],[[0,"list:zip"],[[0,"list:tail"],[1,"a"]],[[0,"list:tail"],[1,"b"]]]]]]],[[0,"let"],[1,"list:unzip"],[[0,"lambda"],[1,"xs"],[[0,"array"],[[0,"list:map"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"list:head"],[1,"x"]]]],[[0,"array"],[[0,"list:map"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"list:head"],[[0,"list:tail"],[1,"x"]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"list:length"],[[0,"lambda"],[1,"list"],[[0,"math:list-fold"],[1,"list"],[[0,"lambda"],[1,"a"],[1,"."],[[0,"+"],[1,"a"],[2,1]]],[2,0]]]],[[0,"let"],[1,"list:enumerate"],[[0,"lambda"],[1,"list"],[[0,"list:zip"],[1,"list"],[[0,"math:list-range"],[2,0],[[0,"list:length"],[1,"list"]]]]]],[[0,"let"],[1,"list:reverse"],[[0,"lambda"],[1,"list"],[[0,"list:transform"],[1,"list"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"list:pair"],[1,"b"],[1,"a"]]],[[0,"array"]]]]],[[0,"let"],[1,"list:find"],[[0,"lambda"],[1,"xs"],[1,"f?"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"if"],[[0,"f?"],[[0,"list:head"],[1,"xs"]]],[[0,"list:head"],[1,"xs"]],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:find"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:find-tail"],[[0,"lambda"],[1,"xs"],[1,"f?"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"if"],[[0,"f?"],[[0,"list:head"],[1,"xs"]]],[1,"xs"],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:find-tail"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:some?"],[[0,"lambda"],[1,"xs"],[1,"f?"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[1,"false"],[[0,"if"],[[0,"f?"],[[0,"list:head"],[1,"xs"]]],[1,"true"],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:some?"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:every?"],[[0,"lambda"],[1,"xs"],[1,"f?"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[1,"true"],[[0,"if"],[[0,"not"],[[0,"f?"],[[0,"list:head"],[1,"xs"]]]],[1,"false"],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:every?"],[[0,"list:tail"],[1,"xs"]],[1,"f?"]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:remove-at"],[[0,"lambda"],[1,"xs"],[1,"pos"],[[0,"do"],[[0,"let"],[1,"remove"],[[0,"lambda"],[1,"xs"],[1,"ini"],[[0,"if"],[[0,"="],[1,"pos"],[[0,"-"],[1,"ini"],[2,1]]],[[0,"list:tail"],[1,"xs"]],[[0,"list:pair"],[[0,"list:head"],[1,"xs"]],[[0,"remove"],[[0,"list:tail"],[1,"xs"]],[[0,"+"],[1,"ini"],[2,1]]]]]]],[[0,"remove"],[1,"xs"],[2,1]]]]],[[0,"let"],[1,"list:insert-at"],[[0,"lambda"],[1,"xs"],[1,"pos"],[1,"elem"],[[0,"if"],[[0,"or"],[[0,"="],[1,"pos"],[2,0]],[[0,"list:nil?"],[1,"xs"]]],[[0,"list:pair"],[1,"elem"],[1,"xs"]],[[0,"list:pair"],[[0,"list:head"],[1,"xs"]],[[0,"list:insert-at"],[[0,"list:tail"],[1,"xs"]],[[0,"-"],[1,"pos"],[2,1]],[1,"elem"]]]]]],[[0,"let"],[1,"list:get"],[[0,"lambda"],[1,"list"],[1,"i"],[[0,"do"],[[0,"let"],[1,"l"],[[0,"list:find"],[1,"list"],[[0,"lambda"],[1,"x"],[[0,"="],[[0,"list:head"],[[0,"list:tail"],[1,"x"]]],[1,"i"]]]]],[[0,"if"],[[0,"list:nil?"],[1,"l"]],[1,"l"],[[0,"list:head"],[1,"l"]]]]]],[[0,"let"],[1,"list:end"],[[0,"lambda"],[1,"xs"],[[0,"if"],[[0,"list:nil?"],[[0,"list:tail"],[1,"xs"]]],[1,"xs"],[[0,"list:end"],[[0,"list:tail"],[1,"xs"]]]]]],[[0,"let"],[1,"list:rotate-left"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"fst"],[[0,"list:head"],[1,"xs"]]],[[0,"let"],[1,"xss"],[[0,"list:remove-at"],[1,"xs"],[2,0]]],[[0,"list:insert-at"],[1,"xss"],[[0,"list:length"],[1,"xss"]],[1,"fst"]]]]],[[0,"let"],[1,"list:rotate-right"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"lst"],[[0,"list:head"],[[0,"list:end"],[1,"xs"]]]],[[0,"let"],[1,"xss"],[[0,"list:remove-at"],[1,"xs"],[[0,"-"],[[0,"list:length"],[1,"xs"]],[2,1]]]],[[0,"list:insert-at"],[1,"xss"],[2,0],[1,"lst"]]]]],[[0,"let"],[1,"list:concat!"],[[0,"lambda"],[1,"lists"],[[0,"list:transform"],[[0,"list:tail"],[1,"lists"]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"list:merge!"],[1,"a"],[1,"b"]]],[[0,"list:head"],[1,"lists"]]]]],[[0,"let"],[1,"list:merge!"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"set!"],[[0,"list:end"],[1,"a"]],[2,1],[1,"b"]],[1,"a"]]]],[[0,"let"],[1,"list:flatten"],[[0,"lambda"],[1,"xs"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"if"],[[0,"atom?"],[[0,"list:head"],[1,"xs"]]],[[0,"list:merge!"],[[0,"list:pair"],[[0,"list:head"],[1,"xs"]],[[0,"array"]]],[[0,"list:flatten"],[[0,"list:tail"],[1,"xs"]]]],[[0,"list:merge!"],[[0,"list:flatten"],[[0,"list:head"],[1,"xs"]]],[[0,"list:flatten"],[[0,"list:tail"],[1,"xs"]]]]]]]],[[0,"let"],[1,"list:equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:equal?"],[[0,"from:list->array"],[1,"a"]],[[0,"from:list->array"],[1,"b"]]]]],[[0,"let"],[1,"list:count-of"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"math:list-fold"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"cb?"],[1,"b"]],[[0,"+"],[1,"a"],[2,1]],[1,"a"]]],[2,0]]]],[[0,"let"],[1,"list:count"],[[0,"lambda"],[1,"input"],[1,"item"],[[0,"list:count-of"],[1,"input"],[[0,"lambda"],[1,"x"],[[0,"="],[1,"x"],[1,"item"]]]]]],[[0,"let"],[1,"list:take"],[[0,"lambda"],[1,"lista"],[1,"pos"],[[0,"if"],[[0,"<="],[1,"pos"],[2,0]],[[0,"array"]],[[0,"if"],[[0,"list:nil?"],[1,"lista"]],[1,"lista"],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:pair"],[[0,"list:head"],[1,"lista"]],[[0,"list:take"],[[0,"list:tail"],[1,"lista"]],[[0,"-"],[1,"pos"],[2,1]]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:after"],[[0,"lambda"],[1,"lista"],[1,"pos"],[[0,"if"],[[0,"<="],[1,"pos"],[2,0]],[1,"lista"],[[0,"if"],[[0,"list:nil?"],[1,"lista"]],[[0,"array"]],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:after"],[[0,"list:tail"],[1,"lista"]],[[0,"-"],[1,"pos"],[2,1]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:slice"],[[0,"lambda"],[1,"lista"],[1,"i"],[1,"k"],[[0,"if"],[[0,"<="],[1,"i"],[2,0]],[[0,"list:take"],[1,"lista"],[1,"k"]],[[0,"if"],[[0,"list:nil?"],[1,"lista"]],[1,"lista"],[[0,"if"],[[0,"not"],[2,0]],[[0,"list:slice"],[[0,"list:tail"],[1,"lista"]],[[0,"-"],[1,"i"],[2,1]],[[0,"-"],[1,"k"],[2,1]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"list:for"],[[0,"lambda"],[1,"xs"],[1,"f"],[[0,"if"],[[0,"list:nil?"],[1,"xs"]],[[0,"array"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"f"],[[0,"list:head"],[1,"xs"]]],[[0,"list:for"],[[0,"list:tail"],[1,"xs"]],[1,"f"]]]]]]]],[[0,"let"],[1,"array:first"],[[0,"lambda"],[1,"xs"],[[0,"get"],[1,"xs"],[2,0]]]],[[0,"let"],[1,"array:second"],[[0,"lambda"],[1,"xs"],[[0,"get"],[1,"xs"],[2,1]]]],[[0,"let"],[1,"array:third"],[[0,"lambda"],[1,"xs"],[[0,"get"],[1,"xs"],[2,2]]]],[[0,"let"],[1,"array:last"],[[0,"lambda"],[1,"xs"],[[0,"array:at"],[1,"xs"],[2,-1]]]],[[0,"let"],[1,"array:for"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:array:for"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"cb"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"recursive:array:for"],[[0,"+"],[1,"i"],[2,1]]]]]],[2,0]]]],[[0,"recursive:array:for"],[2,0]],[1,"xs"]]]],[[0,"let"],[1,"array:buckets"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"loop:for-n"],[1,"n"],[[0,"lambda"],[1,"."],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"array"]]]]],[1,"out"]]]],[[0,"let"],[1,"array:enumerated-for"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"loop:for-n"],[[0,"length"],[1,"xs"]],[[0,"lambda"],[1,"i"],[[0,"cb"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]]],[1,"xs"]]]],[[0,"let"],[1,"array:fill"],[[0,"lambda"],[1,"n"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:array:fill"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"="],[1,"i"],[2,0]],[1,"xs"],[[0,"recursive:array:fill"],[[0,"array:merge!"],[1,"xs"],[[0,"array"],[[0,"cb"]]]],[[0,"-"],[1,"i"],[2,1]]]]]],[[0,"recursive:array:fill"],[[0,"array"]],[1,"n"]]]]],[[0,"let"],[1,"array:of"],[[0,"lambda"],[1,"n"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:array:of"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"="],[1,"i"],[1,"n"]],[1,"xs"],[[0,"recursive:array:of"],[[0,"array:merge!"],[1,"xs"],[[0,"array"],[[0,"cb"],[1,"i"]]]],[[0,"+"],[1,"i"],[2,1]]]]]],[[0,"recursive:array:of"],[[0,"array"]],[2,0]]]]],[[0,"let"],[1,"array:map"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:array:map"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:map"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"cb"],[[0,"get"],[1,"xs"],[1,"i"]]]]],[1,"out"]]]],[[0,"recursive:array:map"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:select"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"do"],[[0,"let"],[1,"recursive:array:select"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:select"],[[0,"+"],[1,"i"],[2,1]],[[0,"if"],[[0,"cb?"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"out"]]],[1,"out"]]]],[[0,"recursive:array:select"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:exclude"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"do"],[[0,"let"],[1,"recursive:array:exclude"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:exclude"],[[0,"+"],[1,"i"],[2,1]],[[0,"if"],[[0,"not"],[[0,"cb?"],[[0,"get"],[1,"xs"],[1,"i"]]]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"out"]]],[1,"out"]]]],[[0,"recursive:array:exclude"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:fold"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:fold"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:fold"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]]]],[[0,"Any"],[1,"out"]]]]],[[0,"recursive:array:fold"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:transform"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:fold"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:fold"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:array:fold"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:reduce"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:reduce"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:reduce"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:array:reduce"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:enumerated-reduce"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:reduce"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:reduce"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]],[1,"out"]]]],[[0,"recursive:array:reduce"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:every?"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:every?"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]]]],[[0,"recursive:array:every?"],[[0,"+"],[1,"i"],[2,1]]],[[0,"not"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]]]]]],[[0,"recursive:array:every?"],[2,0]]]]],[[0,"let"],[1,"array:some?"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:some?"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"not"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]]]]],[[0,"recursive:array:some?"],[[0,"+"],[1,"i"],[2,1]]],[[0,"not"],[[0,"="],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[2,0]]]]]],[[0,"recursive:array:some?"],[2,0]]]]],[[0,"let"],[1,"array:find"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"get"],[1,"xs"],[[0,"array:find-index"],[1,"xs"],[1,"predicate?"]]]]],[[0,"let"],[1,"array:find-option"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"index"],[[0,"array:find-index"],[1,"xs"],[1,"predicate?"]]],[[0,"if"],[[0,"="],[1,"index"],[2,-1]],[[0,"array"],[[0,"array"]],[[0,"array"],[2,-1]]],[[0,"array"],[[0,"array"],[[0,"get"],[1,"xs"],[1,"index"]]],[[0,"array"]]]]]]],[[0,"let"],[1,"array:has?"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:has"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"if"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"true"],[[0,"recursive:array:has"],[[0,"+"],[1,"i"],[2,1]]]],[1,"false"]]]],[[0,"recursive:array:has"],[2,0]]]]],[[0,"let"],[1,"array:reverse"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"recursive:array:reverse"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:reverse"],[[0,"+"],[1,"i"],[2,1]],[[0,"array:merge!"],[[0,"array"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"out"]]],[1,"out"]]]],[[0,"recursive:array:reverse"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:append!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"set!"],[1,"q"],[[0,"length"],[1,"q"]],[1,"item"]]]],[[0,"let"],[1,"array:set-and-get!"],[[0,"lambda"],[1,"q"],[1,"index"],[1,"item"],[[0,"do"],[[0,"set!"],[1,"q"],[1,"index"],[1,"item"]],[1,"item"]]]],[[0,"let"],[1,"array:tail!"],[[0,"lambda"],[1,"q"],[[0,"del!"],[1,"q"]]]],[[0,"let"],[1,"array:push!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"do"],[[0,"set!"],[1,"q"],[[0,"length"],[1,"q"]],[1,"item"]],[1,"item"]]]],[[0,"let"],[1,"array:pop!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"l"],[[0,"array:at"],[1,"q"],[2,-1]]],[[0,"del!"],[1,"q"]],[1,"l"]]]],[[0,"let"],[1,"array:even-indexed"],[[0,"lambda"],[1,"x"],[[0,"array:enumerated-transform"],[1,"x"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"i"],[[0,"if"],[[0,"math:even?"],[1,"i"]],[[0,"array:append!"],[1,"a"],[1,"b"]],[1,"a"]]],[[0,"array"]]]]],[[0,"let"],[1,"array:odd-indexed"],[[0,"lambda"],[1,"x"],[[0,"array:enumerated-transform"],[1,"x"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"i"],[[0,"if"],[[0,"math:odd?"],[1,"i"]],[[0,"array:append!"],[1,"a"],[1,"b"]],[1,"a"]]],[[0,"array"]]]]],[[0,"let"],[1,"array:unique"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"sorted"],[[0,"array:sort"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,">"],[1,"a"],[1,"b"]]]]],[[0,"mapping:array->atom"],[[0,"array:select"],[[0,"array:zip"],[1,"sorted"],[[0,"math:sequence"],[1,"sorted"]]],[[0,"lambda"],[1,"x"],[[0,"do"],[[0,"let"],[1,"index"],[[0,"array:second"],[1,"x"]]],[[0,"or"],[[0,"not"],[[0,">"],[1,"index"],[2,0]]],[[0,"not"],[[0,"="],[[0,"get"],[1,"sorted"],[[0,"-"],[1,"index"],[2,1]]],[[0,"get"],[1,"sorted"],[1,"index"]]]]]]]],[1,"array:first"]]]]],[[0,"let"],[1,"array:iterate"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"loop:for-n"],[[0,"length"],[1,"xs"]],[1,"cb"]],[1,"xs"]]]],[[0,"let"],[1,"array:empty?"],[[0,"lambda"],[1,"xs"],[[0,"="],[[0,"length"],[1,"xs"]],[2,0]]]],[[0,"let"],[1,"array:not-empty?"],[[0,"lambda"],[1,"xs"],[[0,"not"],[[0,"="],[[0,"length"],[1,"xs"]],[2,0]]]]],[[0,"let"],[1,"array:count-of"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"length"],[[0,"array:select"],[1,"xs"],[1,"cb?"]]]]],[[0,"let"],[1,"array:count"],[[0,"lambda"],[1,"input"],[1,"item"],[[0,"array:count-of"],[1,"input"],[[0,"lambda"],[1,"x"],[[0,"="],[1,"x"],[1,"item"]]]]]],[[0,"let"],[1,"array:empty!"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"recursive:array:empty!"],[[0,"lambda"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[2,0]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"del!"],[1,"xs"]],[[0,"recursive:array:empty!"]]]]],[1,"xs"]]]],[[0,"recursive:array:empty!"]]]]],[[0,"let"],[1,"array:in-bounds?"],[[0,"lambda"],[1,"xs"],[1,"index"],[[0,"and"],[[0,"<"],[1,"index"],[[0,"length"],[1,"xs"]]],[[0,">="],[1,"index"],[2,0]]]]],[[0,"let"],[1,"get-option"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"array:in-bounds?"],[1,"xs"],[1,"i"]],[[0,"array"],[[0,"array"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"array"]]],[[0,"array"],[[0,"array"]],[[0,"array"],[2,-1]]]]]],[[0,"let"],[1,"get-or-default"],[[0,"lambda"],[1,"xs"],[1,"i"],[1,"def"],[[0,"if"],[[0,"array:in-bounds?"],[1,"xs"],[1,"i"]],[[0,"get"],[1,"xs"],[1,"i"]],[1,"def"]]]],[[0,"let"],[1,"array:get-option"],[1,"get-option"]],[[0,"let"],[1,"array:get-or-default"],[1,"get-or-default"]],[[0,"let"],[1,"array:slice"],[[0,"lambda"],[1,"xs"],[1,"start"],[1,"end"],[[0,"do"],[[0,"let"],[1,"bounds"],[[0,"-"],[1,"end"],[1,"start"]]],[[0,"let"],[1,"recursive:array:slice"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:array:slice"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[[0,"+"],[1,"start"],[1,"i"]]]]],[1,"out"]]]],[[0,"Collection"],[[0,"recursive:array:slice"],[2,0],[[0,"array"]]]]]]],[[0,"let"],[1,"car"],[[0,"lambda"],[1,"xs"],[[0,"get"],[1,"xs"],[2,0]]]],[[0,"let"],[1,"cdr"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"bounds"],[[0,"length"],[1,"xs"]]],[[0,"let"],[1,"recursive:cdr"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:cdr"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:cdr"],[2,1],[[0,"array"]]]]]],[[0,"let"],[1,"cons"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"array:for"],[1,"a"],[[0,"lambda"],[1,"x"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"x"]]]],[[0,"array:for"],[1,"b"],[[0,"lambda"],[1,"x"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"x"]]]],[1,"out"]]]],[[0,"let"],[1,"array:take"],[[0,"lambda"],[1,"xs"],[1,"n"],[[0,"array:slice"],[1,"xs"],[2,0],[1,"n"]]]],[[0,"let"],[1,"array:drop"],[[0,"lambda"],[1,"xs"],[1,"n"],[[0,"array:slice"],[1,"xs"],[1,"n"],[[0,"length"],[1,"xs"]]]]],[[0,"let"],[1,"array:binary-search"],[[0,"lambda"],[1,"xs"],[1,"target"],[[0,"do"],[[0,"let"],[1,"recursive:array:binary-search"],[[0,"lambda"],[1,"xs"],[1,"target"],[1,"start"],[1,"end"],[[0,"do"],[[0,"if"],[[0,"<="],[1,"start"],[1,"end"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"index"],[[0,"math:floor"],[[0,"*"],[[0,"+"],[1,"start"],[1,"end"]],[2,0.5]]]],[[0,"let"],[1,"current"],[[0,"get"],[1,"xs"],[1,"index"]]],[[0,"if"],[[0,"="],[1,"target"],[1,"current"]],[1,"target"],[[0,"if"],[[0,">"],[1,"current"],[1,"target"]],[[0,"recursive:array:binary-search"],[1,"xs"],[1,"target"],[1,"start"],[[0,"-"],[1,"index"],[2,1]]],[[0,"recursive:array:binary-search"],[1,"xs"],[1,"target"],[[0,"+"],[1,"index"],[2,1]],[1,"end"]]]]]]],[2,0]]]]],[[0,"recursive:array:binary-search"],[1,"xs"],[1,"target"],[2,0],[[0,"length"],[1,"xs"]]]]]],[[0,"let"],[1,"array:zip"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"recursive:array:zip"],[[0,"lambda"],[1,"i"],[1,"j"],[1,"output"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"a"]],[1,"i"]],[[0,">"],[[0,"length"],[1,"b"]],[1,"j"]]],[[0,"recursive:array:zip"],[[0,"+"],[1,"i"],[2,1]],[[0,"+"],[1,"j"],[2,1]],[[0,"set!"],[1,"output"],[[0,"length"],[1,"output"]],[[0,"array"],[[0,"get"],[1,"a"],[1,"i"]],[[0,"get"],[1,"b"],[1,"j"]]]]],[1,"output"]]]],[[0,"recursive:array:zip"],[2,0],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:unzip"],[[0,"lambda"],[1,"xs"],[[0,"array"],[[0,"array:map"],[1,"xs"],[1,"array:first"]],[[0,"array:map"],[1,"xs"],[1,"array:second"]]]]],[[0,"let"],[1,"array:equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"Collection"],[1,"a"]],[[0,"Collection"],[1,"b"]],[[0,"or"],[[0,"and"],[[0,"atom?"],[1,"a"]],[[0,"and"],[[0,"atom?"],[1,"b"]],[[0,"="],[[0,"Any"],[1,"a"]],[[0,"Any"],[1,"b"]]]]],[[0,"and"],[[0,"array?"],[1,"a"]],[[0,"and"],[[0,"="],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"not"],[[0,"array:some?"],[[0,"math:sequence"],[1,"a"]],[[0,"lambda"],[1,"i"],[[0,"not"],[[0,"array:equal?"],[[0,"get"],[1,"a"],[1,"i"]],[[0,"get"],[1,"b"],[1,"i"]]]]]]]]]]]]],[[0,"let"],[1,"array:not-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"not"],[[0,"array:equal?"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"array:join"],[[0,"lambda"],[1,"xs"],[1,"delim"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[1,"delim"]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:chars"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[1,"a"],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:lines"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:new-line"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:commas"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:comma"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:spaces"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:space"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:dots"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:dot"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:colons"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:colon"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:semi-colons"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:semi-colon"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:dashes"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"array:second"],[1,"b"]],[2,0]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:dash"]]],[[0,"array:first"],[1,"b"]]],[[0,"array:first"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:flat-one"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge!"],[1,"a"],[[0,"if"],[[0,"array?"],[1,"b"]],[1,"b"],[[0,"array"],[1,"b"]]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:flat"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"flatten"],[[0,"lambda"],[1,"item"],[[0,"if"],[[0,"array?"],[1,"item"]],[[0,"array:transform"],[1,"item"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge!"],[1,"a"],[[0,"flatten"],[1,"b"]]]],[[0,"array"]]],[[0,"array"],[1,"item"]]]]],[[0,"flatten"],[1,"xs"]]]]],[[0,"let"],[1,"array:sort"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"if"],[[0,"<="],[[0,"length"],[1,"xs"]],[2,1]],[1,"xs"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"pivot"],[[0,"array:head"],[1,"xs"]]],[[0,"let"],[1,"recursive:array:sort"],[[0,"lambda"],[1,"i"],[1,"bounds"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"current"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"let"],[1,"predicate"],[[0,"cb"],[1,"current"],[1,"pivot"]]],[[0,"let"],[1,"left"],[[0,"if"],[[0,"="],[1,"predicate"],[2,0]],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"current"]]],[1,"a"]]],[[0,"let"],[1,"right"],[[0,"if"],[[0,"="],[1,"predicate"],[2,1]],[[0,"array:merge"],[1,"b"],[[0,"array"],[1,"current"]]],[1,"b"]]],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:array:sort"],[[0,"+"],[1,"i"],[2,1]],[1,"bounds"],[1,"left"],[1,"right"]],[[0,"array"],[1,"left"],[1,"right"]]]]]],[[0,"let"],[1,"sorted"],[[0,"recursive:array:sort"],[2,1],[[0,"-"],[[0,"length"],[1,"xs"]],[2,1]],[[0,"array"]],[[0,"array"]]]],[[0,"let"],[1,"left"],[[0,"array:first"],[1,"sorted"]]],[[0,"let"],[1,"right"],[[0,"array:second"],[1,"sorted"]]],[[0,"array:merge"],[[0,"array:merge"],[[0,"array:sort"],[1,"left"],[1,"cb"]],[[0,"array"],[1,"pivot"]]],[[0,"array:sort"],[1,"right"],[1,"cb"]]]]]]]]]],[[0,"let"],[1,"array:sorted-ascending?"],[[0,"lambda"],[1,"xs"],[[0,"array:enumerated-every?"],[1,"xs"],[[0,"lambda"],[1,"x"],[1,"i"],[[0,"or"],[[0,"="],[1,"i"],[2,0]],[[0,">="],[1,"x"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"i"],[2,1]]]]]]]]],[[0,"let"],[1,"array:sorted-descending?"],[[0,"lambda"],[1,"xs"],[[0,"array:enumerated-every?"],[1,"xs"],[[0,"lambda"],[1,"x"],[1,"i"],[[0,"or"],[[0,"="],[1,"i"],[2,0]],[[0,"<="],[1,"x"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"i"],[2,1]]]]]]]]],[[0,"let"],[1,"array:sorted-by?"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"array:enumerated-every?"],[1,"xs"],[[0,"lambda"],[1,"x"],[1,"i"],[[0,"or"],[[0,"="],[1,"i"],[2,0]],[[0,"cb?"],[1,"x"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"i"],[2,1]]]]]]]]],[[0,"let"],[1,"array:increment!"],[[0,"lambda"],[1,"xs"],[1,"idx"],[1,"value"],[[0,"set!"],[1,"xs"],[1,"idx"],[[0,"+"],[[0,"get"],[1,"xs"],[1,"idx"]],[1,"value"]]]]],[[0,"let"],[1,"array:set"],[[0,"lambda"],[1,"xs"],[1,"index"],[1,"item"],[[0,"set!"],[[0,"array:shallow-copy"],[1,"xs"]],[1,"index"],[1,"item"]]]],[[0,"let"],[1,"set"],[[0,"lambda"],[1,"xs"],[1,"index"],[1,"item"],[[0,"set!"],[[0,"array:shallow-copy"],[1,"xs"]],[1,"index"],[1,"item"]]]],[[0,"let"],[1,"array:sliding-window"],[[0,"lambda"],[1,"xs"],[1,"size"],[[0,"array:enumerated-transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"i"],[[0,"if"],[[0,">"],[[0,"+"],[1,"i"],[1,"size"]],[[0,"length"],[1,"xs"]]],[1,"a"],[[0,"array:merge"],[1,"a"],[[0,"array"],[[0,"array:slice"],[1,"xs"],[1,"i"],[[0,"+"],[1,"i"],[1,"size"]]]]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:adjacent-difference"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"length"],[1,"xs"]]],[[0,"if"],[[0,"="],[1,"len"],[2,1]],[1,"xs"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"array"],[[0,"array:first"],[1,"xs"]]],[[0,"let"],[1,"recursive:array:adjacent-difference"],[[0,"lambda"],[1,"i"],[1,"result"],[[0,"if"],[[0,"<"],[1,"i"],[1,"len"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"recursive:array:adjacent-difference"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"result"],[1,"i"],[[0,"cb"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"i"],[2,1]]],[[0,"get"],[1,"xs"],[1,"i"]]]]]]]],[1,"result"]]]],[[0,"recursive:array:adjacent-difference"],[2,1],[1,"xs"]]]]]]]]],[[0,"let"],[1,"array:partition"],[[0,"lambda"],[1,"xs"],[1,"n"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"x"],[[0,"array:first"],[1,"b"]]],[[0,"let"],[1,"i"],[[0,"array:second"],[1,"b"]]],[[0,"if"],[[0,">"],[[0,"mod"],[1,"i"],[1,"n"]],[2,0]],[[0,"array:push!"],[[0,"array:at"],[1,"a"],[2,-1]],[1,"x"]],[[0,"array:push!"],[1,"a"],[[0,"array"],[1,"x"]]]],[1,"a"]]],[[0,"array"]]]]],[[0,"let"],[1,"array:ranges"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"array:sliding-window"],[[0,"array:enumerated-transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"x"],[1,"i"],[[0,"if"],[[0,"predicate?"],[1,"x"]],[[0,"array:merge!"],[1,"a"],[[0,"array"],[1,"i"]]],[1,"a"]]],[[0,"array"],[2,0]]],[2,2]]]],[[0,"let"],[1,"array:chunks"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"array:map"],[[0,"array:ranges"],[1,"xs"],[1,"predicate?"]],[[0,"lambda"],[1,"_arg1"],[[0,"do"],[[0,"let"],[1,"start"],[[0,"get"],[1,"_arg1"],[2,0]]],[[0,"let"],[1,"end"],[[0,"get"],[1,"_arg1"],[2,1]]],[[0,"array:exclude"],[[0,"array:slice"],[1,"xs"],[1,"start"],[1,"end"]],[1,"predicate?"]]]]]]],[[0,"let"],[1,"array:adjacent-find"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"length"],[1,"xs"]]],[[0,"if"],[[0,"not"],[[0,"="],[1,"len"],[2,1]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"recursive:array:adjacent-find"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"len"]],[[0,"if"],[[0,"cb?"],[[0,"let"],[1,"prev"],[[0,"get"],[1,"xs"],[[0,"-"],[1,"i"],[2,1]]]],[[0,"let"],[1,"current"],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"prev"],[[0,"recursive:array:adjacent-find"],[[0,"+"],[1,"i"],[2,1]]]],[1,"nil"]]]],[[0,"recursive:array:adjacent-find"],[2,1]]]]],[1,"nil"]]]]],[[0,"let"],[1,"matrix:zeroes"],[[0,"lambda"],[1,"W"],[1,"H"],[[0,"array:map"],[[0,"math:zeroes"],[1,"W"]],[[0,"lambda"],[1,"."],[[0,"math:zeroes"],[1,"H"]]]]]],[[0,"let"],[1,"matrix:ones"],[[0,"lambda"],[1,"W"],[1,"H"],[[0,"array:map"],[[0,"math:ones"],[1,"W"]],[[0,"lambda"],[1,"."],[[0,"math:ones"],[1,"H"]]]]]],[[0,"let"],[1,"matrix:truth-table"],[[0,"lambda"],[1,"W"],[1,"H"],[[0,"array:map"],[[0,"bool:truths"],[1,"W"]],[[0,"lambda"],[1,"."],[[0,"bool:truths"],[1,"H"]]]]]],[[0,"let"],[1,"matrix:false-table"],[[0,"lambda"],[1,"W"],[1,"H"],[[0,"array:map"],[[0,"bool:lies"],[1,"W"]],[[0,"lambda"],[1,"."],[[0,"bool:lies"],[1,"H"]]]]]],[[0,"let"],[1,"matrix:points"],[[0,"lambda"],[1,"matrix"],[1,"cb?"],[[0,"do"],[[0,"let"],[1,"coords"],[[0,"array"]]],[[0,"matrix:enumerated-for"],[1,"matrix"],[[0,"lambda"],[1,"cell"],[1,"y"],[1,"x"],[[0,"if"],[[0,"cb?"],[1,"cell"]],[[0,"array:push!"],[1,"coords"],[[0,"array"],[1,"y"],[1,"x"]]],[1,"nil"]]]],[1,"coords"]]]],[[0,"let"],[1,"matrix:for"],[[0,"lambda"],[1,"matrix"],[1,"cb"],[[0,"do"],[[0,"array:for"],[1,"matrix"],[[0,"lambda"],[1,"row"],[[0,"array:for"],[1,"row"],[1,"cb"]]]],[1,"matrix"]]]],[[0,"let"],[1,"matrix:shallow-copy"],[[0,"lambda"],[1,"matrix"],[[0,"array:map"],[1,"matrix"],[[0,"lambda"],[1,"x"],[[0,"array:map"],[1,"x"],[1,"identity"]]]]]],[[0,"let"],[1,"matrix:flat-one"],[[0,"lambda"],[1,"_arg1"],[[0,"do"],[[0,"let"],[1,"head"],[[0,"get"],[1,"_arg1"],[2,0]]],[[0,"let"],[1,"tail"],[[0,"array:drop"],[1,"_arg1"],[2,1]]],[[0,"array:merge"],[[0,"array"]],[[0,"if"],[[0,"array:empty?"],[1,"tail"]],[1,"head"],[[0,"array:merge"],[1,"head"],[[0,"matrix:flat-one"],[1,"tail"]]]]]]]],[[0,"let"],[1,"matrix:find-index"],[[0,"lambda"],[1,"matrix"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"coords"],[[0,"array"],[2,-1],[2,-1]]],[[0,"set!"],[1,"coords"],[2,0],[[0,"array:find-index"],[1,"matrix"],[[0,"lambda"],[1,"row"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"array:find-index"],[1,"row"],[1,"cb"]]],[[0,"let"],[1,"predicate?"],[[0,">"],[1,"idx"],[2,-1]]],[[0,"if"],[1,"predicate?"],[[0,"set!"],[1,"coords"],[2,1],[1,"idx"]],[1,"nil"]],[1,"predicate?"]]]]]]]],[[0,"let"],[1,"matrix:find"],[[0,"lambda"],[1,"matrix"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"coords"],[[0,"matrix:find-index"],[1,"matrix"],[1,"cb"]]],[[0,"matrix:get"],[1,"matrix"],[[0,"array:first"],[1,"coords"]],[[0,"array:second"],[1,"coords"]]]]]],[[0,"let"],[1,"matrix:enumerated-for"],[[0,"lambda"],[1,"matrix"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"width"],[[0,"length"],[[0,"array:first"],[1,"matrix"]]]],[[0,"let"],[1,"height"],[[0,"length"],[1,"matrix"]]],[[0,"loop:for-n"],[1,"height"],[[0,"lambda"],[1,"y"],[[0,"loop:for-n"],[1,"width"],[[0,"lambda"],[1,"x"],[[0,"cb"],[[0,"matrix:get"],[1,"matrix"],[1,"y"],[1,"x"]],[1,"y"],[1,"x"]]]]]],[1,"matrix"]]]],[[0,"let"],[1,"matrix:of"],[[0,"lambda"],[1,"matrix"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"width"],[[0,"length"],[[0,"array:first"],[1,"matrix"]]]],[[0,"let"],[1,"height"],[[0,"length"],[1,"matrix"]]],[[0,"loop:for-n"],[1,"height"],[[0,"lambda"],[1,"y"],[[0,"loop:for-n"],[1,"width"],[[0,"lambda"],[1,"x"],[[0,"cb"],[1,"y"],[1,"x"]]]]]],[1,"matrix"]]]],[[0,"let"],[1,"matrix:fill"],[[0,"lambda"],[1,"W"],[1,"H"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"matrix"],[[0,"array"]]],[[0,"loop:for-n"],[1,"W"],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"array:push!"],[1,"matrix"],[[0,"array"]]],[[0,"loop:for-n"],[1,"H"],[[0,"lambda"],[1,"j"],[[0,"matrix:set!"],[1,"matrix"],[1,"i"],[1,"j"],[[0,"cb"],[1,"i"],[1,"j"]]]]]]]],[1,"matrix"]]]],[[0,"let"],[1,"matrix:rotate"],[[0,"lambda"],[1,"matrix"],[[0,"do"],[[0,"let"],[1,"H"],[[0,"length"],[1,"matrix"]]],[[0,"let"],[1,"W"],[[0,"length"],[[0,"get"],[1,"matrix"],[2,0]]]],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"loop:for-range"],[2,0],[1,"W"],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"array:push!"],[1,"out"],[[0,"array"]]],[[0,"loop:for-range"],[2,0],[1,"H"],[[0,"lambda"],[1,"j"],[[0,"array:push!"],[[0,"array:at"],[1,"out"],[2,-1]],[[0,"matrix:get"],[1,"matrix"],[1,"j"],[1,"i"]]]]]]]],[1,"out"]]]],[[0,"let"],[1,"matrix:rotate-square"],[[0,"lambda"],[1,"matrix"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"length"],[1,"matrix"]]],[[0,"let"],[1,"out"],[[0,"math:zeroes"],[1,"len"]]],[[0,"let"],[1,"recursive:outer:matrix:rotate-square"],[[0,"lambda"],[1,"row"],[[0,"if"],[[0,"<"],[1,"row"],[1,"len"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[1,"out"],[1,"row"],[[0,"array"]]],[[0,"let"],[1,"recursive:inner:matrix:rotate-square"],[[0,"lambda"],[1,"col"],[[0,"if"],[[0,"<"],[1,"col"],[1,"len"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[[0,"get"],[1,"out"],[1,"row"]],[1,"col"],[[0,"get"],[[0,"get"],[1,"matrix"],[1,"col"]],[[0,"-"],[[0,"-"],[1,"len"],[2,1]],[1,"row"]]]],[[0,"recursive:inner:matrix:rotate-square"],[[0,"+"],[1,"col"],[2,1]]]]]],[1,"nil"]]]],[[0,"recursive:inner:matrix:rotate-square"],[2,0]],[[0,"recursive:outer:matrix:rotate-square"],[[0,"+"],[1,"row"],[2,1]]]]]],[1,"nil"]]]],[[0,"recursive:outer:matrix:rotate-square"],[2,0]],[1,"out"]]]],[[0,"let"],[1,"matrix:flip-square"],[[0,"lambda"],[1,"matrix"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"length"],[1,"matrix"]]],[[0,"let"],[1,"out"],[[0,"math:zeroes"],[1,"len"]]],[[0,"let"],[1,"recursive:outer:matrix:flip-square"],[[0,"lambda"],[1,"row"],[[0,"if"],[[0,"<"],[1,"row"],[1,"len"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[1,"out"],[1,"row"],[[0,"array"]]],[[0,"let"],[1,"recursive:inner:matrix:flip-square"],[[0,"lambda"],[1,"col"],[[0,"if"],[[0,"<"],[1,"col"],[1,"len"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[[0,"get"],[1,"out"],[1,"row"]],[1,"col"],[[0,"get"],[[0,"get"],[1,"matrix"],[1,"row"]],[[0,"-"],[[0,"-"],[1,"len"],[2,1]],[1,"col"]]]],[[0,"recursive:inner:matrix:flip-square"],[[0,"+"],[1,"col"],[2,1]]]]]],[[0,"array"]]]]],[[0,"recursive:inner:matrix:flip-square"],[2,0]],[[0,"recursive:outer:matrix:flip-square"],[[0,"+"],[1,"row"],[2,1]]]]]],[[0,"array"]]]]],[[0,"recursive:outer:matrix:flip-square"],[2,0]],[1,"out"]]]],[[0,"let"],[1,"matrix:dimensions"],[[0,"lambda"],[1,"matrix"],[[0,"array"],[[0,"length"],[1,"matrix"]],[[0,"length"],[[0,"get"],[1,"matrix"],[2,0]]]]]],[[0,"let"],[1,"matrix:in-bounds?"],[[0,"lambda"],[1,"matrix"],[1,"y"],[1,"x"],[[0,"and"],[[0,"array:in-bounds?"],[1,"matrix"],[1,"y"]],[[0,"array:in-bounds?"],[[0,"get"],[1,"matrix"],[1,"y"]],[1,"x"]]]]],[[0,"let"],[1,"matrix:diagonal-neighborhood"],[[0,"array"],[[0,"array"],[2,1],[2,-1]],[[0,"array"],[2,-1],[2,-1]],[[0,"array"],[2,1],[2,1]],[[0,"array"],[2,-1],[2,1]]]],[[0,"let"],[1,"matrix:moore-neighborhood"],[[0,"array"],[[0,"array"],[2,0],[2,1]],[[0,"array"],[2,1],[2,0]],[[0,"array"],[2,-1],[2,0]],[[0,"array"],[2,0],[2,-1]],[[0,"array"],[2,1],[2,-1]],[[0,"array"],[2,-1],[2,-1]],[[0,"array"],[2,1],[2,1]],[[0,"array"],[2,-1],[2,1]]]],[[0,"let"],[1,"matrix:von-neumann-neighborhood"],[[0,"array"],[[0,"array"],[2,1],[2,0]],[[0,"array"],[2,0],[2,-1]],[[0,"array"],[2,0],[2,1]],[[0,"array"],[2,-1],[2,0]]]],[[0,"let"],[1,"matrix:adjacent"],[[0,"lambda"],[1,"xs"],[1,"directions"],[1,"y"],[1,"x"],[1,"cb"],[[0,"array:for"],[1,"directions"],[[0,"lambda"],[1,"dir"],[[0,"do"],[[0,"let"],[1,"dy"],[[0,"+"],[[0,"array:first"],[1,"dir"]],[1,"y"]]],[[0,"let"],[1,"dx"],[[0,"+"],[[0,"array:second"],[1,"dir"]],[1,"x"]]],[[0,"if"],[[0,"matrix:in-bounds?"],[1,"xs"],[1,"dy"],[1,"dx"]],[[0,"cb"],[[0,"matrix:get"],[1,"xs"],[1,"dy"],[1,"dx"]],[1,"dir"],[1,"dy"],[1,"dx"]],[[0,"array"]]]]]]]],[[0,"let"],[1,"matrix:adjacent-sum"],[[0,"lambda"],[1,"xs"],[1,"directions"],[1,"y"],[1,"x"],[1,"cb"],[[0,"array:reduce"],[1,"directions"],[[0,"lambda"],[1,"a"],[1,"dir"],[[0,"do"],[[0,"let"],[1,"dy"],[[0,"+"],[[0,"array:first"],[1,"dir"]],[1,"y"]]],[[0,"let"],[1,"dx"],[[0,"+"],[[0,"array:second"],[1,"dir"]],[1,"x"]]],[[0,"if"],[[0,"and"],[[0,"array:in-bounds?"],[1,"xs"],[1,"dy"]],[[0,"array:in-bounds?"],[[0,"get"],[1,"xs"],[1,"dy"]],[1,"dx"]]],[[0,"cb"],[1,"a"],[[0,"matrix:get"],[1,"xs"],[1,"dy"],[1,"dx"]]],[1,"a"]]]],[2,0]]]],[[0,"let"],[1,"matrix:sliding-adjacent-sum"],[[0,"lambda"],[1,"xs"],[1,"directions"],[1,"y"],[1,"x"],[1,"N"],[1,"cb"],[[0,"array:reduce"],[1,"directions"],[[0,"lambda"],[1,"a"],[1,"dir"],[[0,"do"],[[0,"let"],[1,"dy"],[[0,"+"],[[0,"array:first"],[1,"dir"]],[1,"y"]]],[[0,"let"],[1,"dx"],[[0,"+"],[[0,"array:second"],[1,"dir"]],[1,"x"]]],[[0,"cb"],[1,"a"],[[0,"get"],[[0,"get"],[1,"xs"],[[0,"math:euclidean-mod"],[1,"dy"],[1,"N"]]],[[0,"math:euclidean-mod"],[1,"dx"],[1,"N"]]]]]],[2,0]]]],[[0,"let"],[1,"matrix:set!"],[[0,"lambda"],[1,"matrix"],[1,"y"],[1,"x"],[1,"value"],[[0,"set!"],[[0,"get"],[1,"matrix"],[1,"y"]],[1,"x"],[1,"value"]]]],[[0,"let"],[1,"matrix:get"],[[0,"lambda"],[1,"matrix"],[1,"y"],[1,"x"],[[0,"get"],[[0,"get"],[1,"matrix"],[1,"y"]],[1,"x"]]]],[[0,"let"],[1,"matrix:set-and-get!"],[[0,"lambda"],[1,"matrix"],[1,"y"],[1,"x"],[1,"value"],[[0,"do"],[[0,"matrix:set!"],[1,"matrix"],[1,"y"],[1,"x"],[1,"value"]],[1,"value"]]]],[[0,"let"],[1,"matrix:get-option"],[[0,"lambda"],[1,"xs"],[1,"y"],[1,"x"],[[0,"if"],[[0,"matrix:in-bounds?"],[1,"xs"],[1,"y"],[1,"x"]],[[0,"array"],[[0,"array"],[[0,"matrix:get"],[1,"xs"],[1,"y"],[1,"x"]]],[[0,"array"]]],[[0,"array"],[[0,"array"]],[[0,"array"],[2,-1]]]]]],[[0,"let"],[1,"matrix:get-or-default"],[[0,"lambda"],[1,"xs"],[1,"y"],[1,"x"],[1,"def"],[[0,"if"],[[0,"matrix:in-bounds?"],[1,"xs"],[1,"y"],[1,"x"]],[[0,"matrix:get"],[1,"xs"],[1,"y"],[1,"x"]],[1,"def"]]]],[[0,"let"],[1,"from:yx->key"],[[0,"lambda"],[1,"y"],[1,"x"],[[0,"array:concat-with"],[[0,"array:map"],[[0,"array"],[1,"y"],[1,"x"]],[[0,"lambda"],[1,"c"],[[0,"from:digits->chars"],[[0,"from:integer->digits"],[1,"c"]]]]],[1,"char:dash"]]]],[[0,"let"],[1,"from:string-or-number->key"],[[0,"lambda"],[1,"arr"],[[0,"array:commas"],[[0,"array:map"],[1,"arr"],[[0,"lambda"],[1,"x"],[[0,"if"],[[0,"atom?"],[1,"x"]],[[0,"array"],[1,"x"]],[[0,"if"],[[0,"="],[[0,"length"],[1,"x"]],[2,0]],[[0,"array"],[1,"char:comma"]],[[0,"if"],[[0,"not"],[2,0]],[1,"x"],[[0,"Any"],[1,"nil"]]]]]]]]]],[[0,"let"],[1,"from:list->array"],[[0,"lambda"],[1,"list"],[[0,"do"],[[0,"let"],[1,"recursive:from:list->array"],[[0,"lambda"],[1,"lst"],[1,"out"],[[0,"if"],[[0,"list:nil?"],[1,"lst"]],[1,"out"],[[0,"recursive:from:list->array"],[[0,"list:tail"],[1,"lst"]],[[0,"array:merge"],[1,"out"],[[0,"array"],[[0,"list:head"],[1,"lst"]]]]]]]],[[0,"recursive:from:list->array"],[1,"list"],[[0,"array"]]]]]],[[0,"let"],[1,"from:array->list"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"recursive:from:array->list"],[[0,"lambda"],[1,"xs"],[1,"out"],[[0,"if"],[[0,"not"],[[0,">"],[[0,"length"],[1,"xs"]],[2,0]]],[1,"out"],[[0,"recursive:from:array->list"],[[0,"array:tail"],[1,"xs"]],[[0,"list:pair"],[[0,"array:head"],[1,"xs"]],[1,"out"]]]]]],[[0,"recursive:from:array->list"],[[0,"array:reverse"],[1,"xs"]],[[0,"array"]]]]]],[[0,"let"],[1,"from:digit->char"],[[0,"lambda"],[1,"d"],[[0,"if"],[[0,"="],[1,"d"],[2,0]],[1,"char:0"],[[0,"if"],[[0,"="],[1,"d"],[2,1]],[1,"char:1"],[[0,"if"],[[0,"="],[1,"d"],[2,2]],[1,"char:2"],[[0,"if"],[[0,"="],[1,"d"],[2,3]],[1,"char:3"],[[0,"if"],[[0,"="],[1,"d"],[2,4]],[1,"char:4"],[[0,"if"],[[0,"="],[1,"d"],[2,5]],[1,"char:5"],[[0,"if"],[[0,"="],[1,"d"],[2,6]],[1,"char:6"],[[0,"if"],[[0,"="],[1,"d"],[2,7]],[1,"char:7"],[[0,"if"],[[0,"="],[1,"d"],[2,8]],[1,"char:8"],[[0,"if"],[[0,"="],[1,"d"],[2,9]],[1,"char:9"],[[0,"if"],[[0,"not"],[2,0]],[1,"char:space"],[[0,"Any"],[1,"nil"]]]]]]]]]]]]]]],[[0,"let"],[1,"from:char->digit"],[[0,"lambda"],[1,"c"],[[0,"if"],[[0,"="],[1,"c"],[1,"char:0"]],[2,0],[[0,"if"],[[0,"="],[1,"c"],[1,"char:1"]],[2,1],[[0,"if"],[[0,"="],[1,"c"],[1,"char:2"]],[2,2],[[0,"if"],[[0,"="],[1,"c"],[1,"char:3"]],[2,3],[[0,"if"],[[0,"="],[1,"c"],[1,"char:4"]],[2,4],[[0,"if"],[[0,"="],[1,"c"],[1,"char:5"]],[2,5],[[0,"if"],[[0,"="],[1,"c"],[1,"char:6"]],[2,6],[[0,"if"],[[0,"="],[1,"c"],[1,"char:7"]],[2,7],[[0,"if"],[[0,"="],[1,"c"],[1,"char:8"]],[2,8],[[0,"if"],[[0,"="],[1,"c"],[1,"char:9"]],[2,9],[[0,"if"],[[0,"not"],[2,0]],[2,-1],[[0,"Any"],[1,"nil"]]]]]]]]]]]]]]],[[0,"let"],[1,"from:chars->digits"],[[0,"lambda"],[1,"chars"],[[0,"array:map"],[1,"chars"],[[0,"lambda"],[1,"ch"],[[0,"from:char->digit"],[1,"ch"]]]]]],[[0,"let"],[1,"from:chars->positive-or-negative-digits"],[[0,"lambda"],[1,"chars"],[[0,"do"],[[0,"let"],[1,"current-sign"],[[0,"var:def"],[2,1]]],[[0,"array:transform"],[1,"chars"],[[0,"lambda"],[1,"a"],[1,"ch"],[[0,"do"],[[0,"if"],[[0,"="],[1,"ch"],[1,"char:minus"]],[[0,"var:set!"],[1,"current-sign"],[2,-1]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"array:push!"],[1,"a"],[[0,"*"],[[0,"var:get"],[1,"current-sign"]],[[0,"from:char->digit"],[1,"ch"]]]],[[0,"var:set!"],[1,"current-sign"],[2,1]]]]]],[1,"a"]]],[[0,"array"]]]]]],[[0,"let"],[1,"from:digits->chars"],[[0,"lambda"],[1,"numbers"],[[0,"array:map"],[1,"numbers"],[[0,"lambda"],[1,"digit"],[[0,"from:digit->char"],[1,"digit"]]]]]],[[0,"let"],[1,"from:digits->integer"],[[0,"lambda"],[1,"digits"],[[0,"do"],[[0,"let"],[1,"recursive:from:digits->integer"],[[0,"lambda"],[1,"i"],[1,"num"],[1,"base"],[[0,"if"],[[0,">"],[[0,"length"],[1,"digits"]],[1,"i"]],[[0,"recursive:from:digits->integer"],[[0,"+"],[1,"i"],[2,1]],[[0,"+"],[1,"num"],[[0,"*"],[1,"base"],[[0,"get"],[1,"digits"],[1,"i"]]]],[[0,"*"],[1,"base"],[2,0.1]]],[1,"num"]]]],[[0,"recursive:from:digits->integer"],[2,0],[2,0],[[0,"*"],[[0,"math:power"],[2,10],[[0,"length"],[1,"digits"]]],[2,0.1]]]]]],[[0,"let"],[1,"from:positive-or-negative-digits->integer"],[[0,"lambda"],[1,"digits-with-sign"],[[0,"do"],[[0,"let"],[1,"negative?"],[[0,"<"],[[0,"array:first"],[1,"digits-with-sign"]],[2,0]]],[[0,"let"],[1,"digits"],[[0,"if"],[1,"negative?"],[[0,"array:map"],[1,"digits-with-sign"],[1,"math:abs"]],[1,"digits-with-sign"]]],[[0,"let"],[1,"recursive:from:positive-or-negative-digits->integer"],[[0,"lambda"],[1,"i"],[1,"num"],[1,"base"],[[0,"if"],[[0,">"],[[0,"length"],[1,"digits"]],[1,"i"]],[[0,"recursive:from:positive-or-negative-digits->integer"],[[0,"+"],[1,"i"],[2,1]],[[0,"+"],[1,"num"],[[0,"*"],[1,"base"],[[0,"get"],[1,"digits"],[1,"i"]]]],[[0,"*"],[1,"base"],[2,0.1]]],[1,"num"]]]],[[0,"*"],[[0,"recursive:from:positive-or-negative-digits->integer"],[2,0],[2,0],[[0,"*"],[[0,"math:power"],[2,10],[[0,"length"],[1,"digits"]]],[2,0.1]]],[[0,"if"],[1,"negative?"],[2,-1],[2,1]]]]]],[[0,"let"],[1,"from:positive-or-negative-digits->chars"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[[0,"array:map"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"if"],[[0,"math:negative?"],[1,"x"]],[[0,"array"],[2,0],[[0,"*"],[1,"x"],[2,-1]]],[[0,"array"],[2,1],[1,"x"]]]]],[[0,"lambda"],[1,"a"],[1,"x"],[[0,"if"],[[0,"array:first"],[1,"x"]],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[[0,"from:digit->char"],[[0,"array:second"],[1,"x"]]]],[[0,"set!"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[1,"char:dash"]],[[0,"length"],[1,"a"]],[[0,"from:digit->char"],[[0,"array:second"],[1,"x"]]]]]],[[0,"array"]]]]],[[0,"let"],[1,"from:integer->digits"],[[0,"lambda"],[1,"num"],[[0,"do"],[[0,"let"],[1,"recursive:from:integer->digits"],[[0,"lambda"],[1,"num"],[1,"res"],[[0,"if"],[[0,">="],[1,"num"],[2,1]],[[0,"recursive:from:integer->digits"],[[0,"/"],[1,"num"],[2,10]],[[0,"set!"],[1,"res"],[[0,"length"],[1,"res"]],[[0,"|"],[[0,"mod"],[1,"num"],[2,10]],[2,0]]]],[[0,"if"],[[0,"="],[1,"num"],[2,0]],[[0,"array"],[2,0]],[[0,"if"],[[0,"not"],[2,0]],[1,"res"],[[0,"Any"],[1,"nil"]]]]]]],[[0,"array:reverse"],[[0,"recursive:from:integer->digits"],[1,"num"],[[0,"array"]]]]]]],[[0,"let"],[1,"from:number->positive-or-negative-digits"],[[0,"lambda"],[1,"positive-or-negative-num"],[[0,"do"],[[0,"let"],[1,"negative?"],[[0,"math:negative?"],[1,"positive-or-negative-num"]]],[[0,"let"],[1,"num"],[[0,"if"],[1,"negative?"],[[0,"*"],[1,"positive-or-negative-num"],[2,-1]],[1,"positive-or-negative-num"]]],[[0,"let"],[1,"recursive:from:number->positive-or-negative-digits"],[[0,"lambda"],[1,"num"],[1,"res"],[[0,"if"],[[0,">="],[1,"num"],[2,1]],[[0,"recursive:from:number->positive-or-negative-digits"],[[0,"/"],[1,"num"],[2,10]],[[0,"set!"],[1,"res"],[[0,"length"],[1,"res"]],[[0,"|"],[[0,"mod"],[1,"num"],[2,10]],[2,0]]]],[[0,"if"],[[0,"="],[1,"num"],[2,0]],[[0,"array"],[2,0]],[[0,"if"],[[0,"not"],[2,0]],[1,"res"],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"out"],[[0,"array:reverse"],[[0,"recursive:from:number->positive-or-negative-digits"],[1,"num"],[[0,"array"]]]]],[[0,"if"],[1,"negative?"],[[0,"set!"],[1,"out"],[2,0],[[0,"*"],[[0,"get"],[1,"out"],[2,0]],[2,-1]]],[1,"nil"]],[1,"out"]]]],[[0,"let"],[1,"from:integer->bits"],[[0,"lambda"],[1,"num"],[[0,"do"],[[0,"let"],[1,"recursive:from:integer->bits"],[[0,"lambda"],[1,"num"],[1,"res"],[[0,"if"],[[0,">="],[1,"num"],[2,1]],[[0,"recursive:from:integer->bits"],[[0,"/"],[1,"num"],[2,2]],[[0,"set!"],[1,"res"],[[0,"length"],[1,"res"]],[[0,"|"],[[0,"mod"],[1,"num"],[2,2]],[2,0]]]],[[0,"if"],[[0,"="],[1,"num"],[2,0]],[[0,"array"],[2,0]],[[0,"if"],[[0,"not"],[2,0]],[1,"res"],[[0,"Any"],[1,"nil"]]]]]]],[[0,"array:reverse"],[[0,"recursive:from:integer->bits"],[1,"num"],[[0,"array"]]]]]]],[[0,"let"],[1,"from:bits->integer"],[[0,"lambda"],[1,"bits"],[[0,"do"],[[0,"let"],[1,"xs"],[[0,"array:reverse"],[1,"bits"]]],[[0,"let"],[1,"bits->integer"],[[0,"lambda"],[1,"index"],[[0,"if"],[[0,"="],[1,"index"],[[0,"length"],[1,"xs"]]],[2,0],[[0,"+"],[[0,"*"],[[0,"get"],[1,"xs"],[1,"index"]],[[0,"math:power"],[2,2],[1,"index"]]],[[0,"bits->integer"],[[0,"+"],[1,"index"],[2,1]]]]]]],[[0,"bits->integer"],[2,0]]]]],[[0,"let"],[1,"from:numbers->chars"],[[0,"lambda"],[1,"x"],[[0,"array:map"],[1,"x"],[[0,"lambda"],[1,"x"],[[0,"from:digits->chars"],[[0,"from:integer->digits"],[1,"x"]]]]]]],[[0,"let"],[1,"from:chars->integer"],[[0,"lambda"],[1,"n"],[[0,"from:digits->integer"],[[0,"from:chars->digits"],[1,"n"]]]]],[[0,"let"],[1,"from:positive-or-negative-chars->integer"],[[0,"lambda"],[1,"x"],[[0,"from:positive-or-negative-digits->integer"],[[0,"from:chars->positive-or-negative-digits"],[1,"x"]]]]],[[0,"let"],[1,"from:string->integer"],[1,"from:positive-or-negative-chars->integer"]],[[0,"let"],[1,"from:strings->integers"],[[0,"lambda"],[1,"strings"],[[0,"array:map"],[1,"strings"],[1,"from:positive-or-negative-chars->integer"]]]],[[0,"let"],[1,"from:string->float"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"dec"],[[0,"array:find-index"],[1,"str"],[[0,"lambda"],[1,"x"],[[0,"="],[1,"x"],[1,"char:dot"]]]]],[[0,"if"],[[0,"="],[1,"dec"],[2,-1]],[[0,"from:string->integer"],[1,"str"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"neg?"],[[0,"match:negative?"],[1,"str"]]],[[0,"let"],[1,"left"],[[0,"array:slice"],[1,"str"],[[0,"numberp"],[1,"neg?"]],[1,"dec"]]],[[0,"let"],[1,"right"],[[0,"array:slice"],[1,"str"],[[0,"+"],[1,"dec"],[2,1]],[[0,"length"],[1,"str"]]]],[[0,"let"],[1,"n"],[[0,"math:power"],[2,10],[[0,"length"],[1,"right"]]]],[[0,"let"],[1,"sign"],[[0,"if"],[1,"neg?"],[2,-1],[2,1]]],[[0,"let"],[1,"exponent"],[[0,"from:digits->integer"],[[0,"from:chars->digits"],[1,"left"]]]],[[0,"let"],[1,"mantissa"],[[0,"from:digits->integer"],[[0,"from:chars->digits"],[1,"right"]]]],[[0,"*"],[1,"sign"],[[0,"/"],[[0,"+"],[[0,"*"],[1,"exponent"],[1,"n"]],[1,"mantissa"]],[1,"n"]]]]]]]]]],[[0,"let"],[1,"from:strings->floats"],[[0,"lambda"],[1,"strings"],[[0,"array:map"],[1,"strings"],[1,"from:string->float"]]]],[[0,"let"],[1,"from:float->string"],[[0,"lambda"],[1,"x"],[[0,"if"],[[0,"="],[[0,"math:floor"],[1,"x"]],[1,"x"]],[[0,"from:integer->string"],[1,"x"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"flip"],[[0,"if"],[[0,"<"],[1,"x"],[2,0]],[2,-1],[2,1]]],[[0,"let"],[1,"exponent"],[[0,"math:floor"],[1,"x"]]],[[0,"let"],[1,"mantisa"],[[0,"-"],[1,"x"],[1,"exponent"]]],[[0,"let"],[1,"left"],[[0,"from:integer->string"],[1,"exponent"]]],[[0,"let"],[1,"right"],[[0,"from:integer->string"],[[0,"*"],[1,"mantisa"],[[0,"*"],[1,"math:decimal-scaling"],[1,"flip"]]]]],[[0,"let"],[1,"len"],[[0,"length"],[1,"right"]]],[[0,"let"],[1,"recursive:while"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"="],[[0,"get"],[1,"right"],[[0,"-"],[1,"len"],[1,"i"]]],[1,"char:0"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"array:pop!"],[1,"right"]],[[0,"recursive:while"],[[0,"+"],[1,"i"],[2,1]]],[2,0]]]],[1,"nil"]]]],[[0,"recursive:while"],[2,1]],[[0,"array:concat"],[[0,"array"],[1,"left"],[[0,"array"],[1,"char:dot"]],[1,"right"]]]]]]]]],[[0,"let"],[1,"from:floats->strings"],[[0,"lambda"],[1,"xs"],[[0,"array:map"],[1,"xs"],[1,"from:float->string"]]]],[[0,"let"],[1,"from:string->date"],[[0,"lambda"],[1,"str"],[[0,"array:map"],[[0,"string:dashes"],[1,"str"]],[[0,"lambda"],[1,"d"],[[0,"from:digits->integer"],[[0,"from:chars->digits"],[1,"d"]]]]]]],[[0,"let"],[1,"from:integer->string"],[[0,"lambda"],[1,"x"],[[0,"from:positive-or-negative-digits->chars"],[[0,"from:number->positive-or-negative-digits"],[1,"x"]]]]],[[0,"let"],[1,"from:integers->strings"],[[0,"lambda"],[1,"x"],[[0,"array:map"],[1,"x"],[1,"from:integer->string"]]]],[[0,"let"],[1,"from:array->set"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"s"],[[0,"array"],[[0,"array"]],[[0,"array"]],[[0,"array"]],[[0,"array"]]]],[[0,"array:for"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"set:add!"],[1,"s"],[1,"x"]]]],[1,"s"]]]],[[0,"let"],[1,"from:array->table"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"s"],[[0,"array"],[[0,"array"]],[[0,"array"]],[[0,"array"]],[[0,"array"]]]],[[0,"array:for"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"map:set!"],[1,"s"],[1,"x"],[2,0]]]],[1,"s"]]]],[[0,"let"],[1,"from:set->array"],[[0,"lambda"],[1,"set"],[[0,"array:select"],[[0,"array:flat-one"],[1,"set"]],[1,"array:not-empty?"]]]],[[0,"let"],[1,"from:map->array"],[[0,"lambda"],[1,"set"],[[0,"array:select"],[[0,"array:flat-one"],[1,"set"]],[1,"array:not-empty?"]]]],[[0,"let"],[1,"from:set->integers"],[[0,"lambda"],[1,"set"],[[0,"array:map"],[[0,"from:set->array"],[1,"set"]],[[0,"lambda"],[1,"x"],[[0,"from:digits->integer"],[[0,"from:chars->digits"],[1,"x"]]]]]]],[[0,"let"],[1,"from:array->brray"],[[0,"lambda"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"q"],[[0,"new:brray"]]],[[0,"let"],[1,"half"],[[0,"math:floor"],[[0,"*"],[[0,"length"],[1,"initial"]],[2,0.5]]]],[[0,"let"],[1,"recursive:left:from:array->brray"],[[0,"lambda"],[1,"index"],[[0,"do"],[[0,"brray:add-to-left!"],[1,"q"],[[0,"get"],[1,"initial"],[1,"index"]]],[[0,"if"],[[0,">"],[1,"index"],[2,0]],[[0,"recursive:left:from:array->brray"],[[0,"-"],[1,"index"],[2,1]]],[[0,"array"]]]]]],[[0,"recursive:left:from:array->brray"],[[0,"-"],[1,"half"],[2,1]]],[[0,"let"],[1,"recursive:right:from:array->brray"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"brray:add-to-right!"],[1,"q"],[[0,"get"],[1,"initial"],[1,"index"]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:right:from:array->brray"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[[0,"array"]]]]]],[[0,"recursive:right:from:array->brray"],[1,"half"],[[0,"-"],[[0,"length"],[1,"initial"]],[2,1]]],[1,"q"]]]],[[0,"let"],[1,"from:brray->array"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"let"],[1,"recursive:from:brray->array"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"brray:get"],[1,"q"],[1,"index"]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:from:brray->array"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:from:brray->array"],[2,0],[[0,"-"],[[0,"brray:length"],[1,"q"]],[2,1]]],[1,"out"]]]],[[0,"let"],[1,"from:matrix->string"],[[0,"lambda"],[1,"matrix"],[[0,"array:lines"],[[0,"array:map"],[1,"matrix"],[[0,"lambda"],[1,"m"],[[0,"array:spaces"],[1,"m"]]]]]]],[[0,"let"],[1,"array:shallow-copy"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[1,"b"]]],[[0,"array"]]]]],[[0,"let"],[1,"array:deep-copy"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[[0,"if"],[[0,"array?"],[1,"b"]],[[0,"array:deep-copy"],[1,"b"]],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:merge!"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"array:for"],[1,"b"],[[0,"lambda"],[1,"x"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[1,"x"]]]],[1,"a"]]]],[[0,"let"],[1,"array:merge"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"array"]]],[[0,"array:for"],[1,"a"],[[0,"lambda"],[1,"x"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"x"]]]],[[0,"array:for"],[1,"b"],[[0,"lambda"],[1,"x"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"x"]]]],[1,"out"]]]],[[0,"let"],[1,"array:concat"],[[0,"lambda"],[1,"xs"],[[0,"array:transform"],[1,"xs"],[1,"array:merge"],[[0,"array"]]]]],[[0,"let"],[1,"array:concat-with"],[[0,"lambda"],[1,"xs"],[1,"ch"],[[0,"array:enumerated-transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[1,"i"],[2,0]],[[0,"<"],[1,"i"],[[0,"length"],[1,"xs"]]]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"ch"]]],[1,"b"]],[[0,"array:merge"],[1,"a"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"string:concat-with-lines"],[[0,"lambda"],[1,"xs"],[[0,"array:enumerated-transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[1,"i"],[2,0]],[[0,"<"],[1,"i"],[[0,"length"],[1,"xs"]]]],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"char:new-line"]]],[1,"b"]],[[0,"array:merge"],[1,"a"],[1,"b"]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:swap-remove!"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"do"],[[0,"set!"],[1,"xs"],[1,"i"],[[0,"get"],[1,"xs"],[[0,"-"],[[0,"length"],[1,"xs"]],[2,1]]]],[[0,"del!"],[1,"xs"]]]]],[[0,"let"],[1,"array:swap!"],[[0,"lambda"],[1,"xs"],[1,"i"],[1,"j"],[[0,"do"],[[0,"let"],[1,"temp"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"set!"],[1,"xs"],[1,"i"],[[0,"get"],[1,"xs"],[1,"j"]]],[[0,"set!"],[1,"xs"],[1,"j"],[1,"temp"]]]]],[[0,"let"],[1,"array:index-of"],[[0,"lambda"],[1,"xs"],[1,"item"],[[0,"do"],[[0,"let"],[1,"recursive:array:index-of"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"if"],[[0,"="],[[0,"get"],[1,"xs"],[1,"i"]],[1,"item"]],[1,"i"],[[0,"recursive:array:index-of"],[[0,"+"],[1,"i"],[2,1]]]],[2,-1]]]],[[0,"recursive:array:index-of"],[2,0]]]]],[[0,"let"],[1,"array:enumerate"],[[0,"lambda"],[1,"xs"],[[0,"array:zip"],[[0,"math:sequence"],[1,"xs"]],[1,"xs"]]]],[[0,"let"],[1,"array:enumerated-map"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-map"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:enumerated-map"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"cb"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:array:enumerated-map"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:enumerated-select"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-select"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:enumerated-select"],[[0,"+"],[1,"i"],[2,1]],[[0,"if"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"out"]]],[1,"out"]]]],[[0,"recursive:array:enumerated-select"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:enumerated-exclude"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-exclude"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:enumerated-exclude"],[[0,"+"],[1,"i"],[2,1]],[[0,"if"],[[0,"not"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"out"]]],[1,"out"]]]],[[0,"recursive:array:enumerated-exclude"],[2,0],[[0,"array"]]]]]],[[0,"let"],[1,"array:enumerated-fold"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-fold"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:enumerated-fold"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]],[1,"out"]]]],[[0,"recursive:array:enumerated-fold"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:enumerated-transform"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-transform"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:array:enumerated-transform"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]],[[0,"Collection"],[1,"out"]]]]],[[0,"recursive:array:enumerated-transform"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"array:enumerated-find"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-find"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"if"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]],[[0,"array"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"recursive:array:enumerated-find"],[[0,"+"],[1,"i"],[2,1]]]],[[0,"array"]]]]],[[0,"recursive:array:enumerated-find"],[2,0]]]]],[[0,"let"],[1,"array:enumerated-find-index"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-find-index"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"if"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]],[1,"i"],[[0,"recursive:array:enumerated-find-index"],[[0,"+"],[1,"i"],[2,1]]]],[2,-1]]]],[[0,"recursive:array:enumerated-find-index"],[2,0]]]]],[[0,"let"],[1,"array:enumerated-every?"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-every?"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]],[[0,"recursive:array:enumerated-every?"],[[0,"+"],[1,"i"],[2,1]]],[[0,"not"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]]]]]],[[0,"recursive:array:enumerated-every?"],[2,0]]]]],[[0,"let"],[1,"array:enumerated-some?"],[[0,"lambda"],[1,"xs"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:array:enumerated-some?"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"not"],[[0,"predicate?"],[[0,"get"],[1,"xs"],[1,"i"]],[1,"i"]]]],[[0,"recursive:array:enumerated-some?"],[[0,"+"],[1,"i"],[2,1]]],[[0,"not"],[[0,"="],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[2,0]]]]]],[[0,"recursive:array:enumerated-some?"],[2,0]]]]],[[0,"let"],[1,"array:find-index"],[[0,"lambda"],[1,"xs"],[1,"cb?"],[[0,"do"],[[0,"let"],[1,"recursive:array:find-index"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"if"],[[0,"cb?"],[[0,"get"],[1,"xs"],[1,"i"]]],[1,"i"],[[0,"recursive:array:find-index"],[[0,"+"],[1,"i"],[2,1]]]],[2,-1]]]],[[0,"recursive:array:find-index"],[2,0]]]]],[[0,"let"],[1,"array:remove"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"array:transform"],[1,"xs"],[[0,"lambda"],[1,"a"],[1,"x"],[[0,"do"],[[0,"if"],[[0,"="],[1,"x"],[1,"i"]],[1,"a"],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[1,"x"]]]]],[[0,"array"]]]]],[[0,"let"],[1,"array:pad-right"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"array:merge"],[1,"b"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]]],[[0,"array:merge"],[1,"a"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"b"]],[[0,"length"],[1,"a"]]]]]]]],[[0,"let"],[1,"array:pad-left"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"array:merge"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]],[1,"b"]],[[0,"array:merge"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"b"]],[[0,"length"],[1,"a"]]]],[1,"a"]]]]],[[0,"let"],[1,"array:pad-right!"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"array:merge!"],[1,"b"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]]],[[0,"array:merge!"],[1,"a"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"b"]],[[0,"length"],[1,"a"]]]]]]]],[[0,"let"],[1,"array:pad-left!"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"array:merge!"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]],[1,"b"]],[[0,"array:merge!"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"b"]],[[0,"length"],[1,"a"]]]],[1,"a"]]]]],[[0,"let"],[1,"array:rotate-right"],[[0,"lambda"],[1,"xs"],[1,"n"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set!"],[1,"a"],[[0,"mod"],[[0,"+"],[[0,"array:second"],[1,"b"]],[1,"n"]],[[0,"length"],[1,"xs"]]],[[0,"array:first"],[1,"b"]]]],[[0,"math:zeroes"],[[0,"length"],[1,"xs"]]]]]],[[0,"let"],[1,"array:rotate-left"],[[0,"lambda"],[1,"xs"],[1,"n"],[[0,"array:transform"],[[0,"array:zip"],[1,"xs"],[[0,"math:sequence"],[1,"xs"]]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set!"],[1,"a"],[[0,"mod"],[[0,"+"],[[0,"array:second"],[1,"b"]],[[0,"-"],[[0,"length"],[1,"xs"]],[1,"n"]]],[[0,"length"],[1,"xs"]]],[[0,"array:first"],[1,"b"]]]],[[0,"math:zeroes"],[[0,"length"],[1,"xs"]]]]]],[[0,"let"],[1,"string:character-occurances"],[[0,"lambda"],[1,"str"],[1,"letter"],[[0,"do"],[[0,"let"],[1,"xs"],[1,"str"]],[[0,"let"],[1,"bitmask"],[[0,"math:var-def"],[2,0]]],[[0,"let"],[1,"zero"],[1,"char:a"]],[[0,"let"],[1,"count"],[[0,"math:var-def"],[2,0]]],[[0,"let"],[1,"at-least-one"],[[0,"bool:false"]]],[[0,"let"],[1,"recursive:string:character-occurances"],[[0,"lambda"],[1,"i"],[1,"bounds"],[[0,"do"],[[0,"let"],[1,"ch"],[[0,"get"],[1,"xs"],[1,"i"]]],[[0,"let"],[1,"code"],[[0,"-"],[1,"ch"],[1,"zero"]]],[[0,"let"],[1,"mask"],[[0,"<<"],[2,1],[1,"code"]]],[[0,"if"],[[0,"and"],[[0,"if"],[[0,"="],[1,"ch"],[1,"letter"]],[[0,"bool:true?"],[[0,"bool:true!"],[1,"at-least-one"]]],[2,0]],[[0,"not"],[[0,"="],[[0,"&"],[[0,"math:var-get"],[1,"bitmask"]],[1,"mask"]],[2,0]]]],[[0,"math:var-set!"],[1,"count"],[[0,"+"],[[0,"math:var-get"],[1,"count"]],[2,1]]],[[0,"math:var-set!"],[1,"bitmask"],[[0,"|"],[[0,"math:var-get"],[1,"bitmask"]],[1,"mask"]]]],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:string:character-occurances"],[[0,"+"],[1,"i"],[2,1]],[1,"bounds"]],[[0,"+"],[[0,"math:var-get"],[1,"count"]],[[0,"numberp"],[[0,"bool:get"],[1,"at-least-one"]]]]]]]],[[0,"recursive:string:character-occurances"],[2,0],[[0,"-"],[[0,"length"],[1,"xs"]],[2,1]]]]]],[[0,"let"],[1,"string:slice-from"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"index"],[[0,"string:match"],[1,"a"],[1,"b"]]],[[0,"array:slice"],[1,"a"],[1,"index"],[[0,"+"],[1,"index"],[[0,"-"],[[0,"length"],[1,"a"]],[1,"index"]]]]]]],[[0,"let"],[1,"string:slice-after"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"index"],[[0,"string:match"],[1,"a"],[1,"b"]]],[[0,"array:slice"],[1,"a"],[[0,"+"],[1,"index"],[[0,"length"],[1,"b"]]],[[0,"+"],[1,"index"],[[0,"-"],[[0,"length"],[1,"a"]],[1,"index"]]]]]]],[[0,"let"],[1,"string:slice-to"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"array:reverse"],[1,"A"]]],[[0,"let"],[1,"b"],[[0,"array:reverse"],[1,"B"]]],[[0,"let"],[1,"index"],[[0,"string:match"],[1,"a"],[1,"b"]]],[[0,"array:reverse"],[[0,"array:slice"],[1,"a"],[1,"index"],[[0,"+"],[1,"index"],[[0,"-"],[[0,"length"],[1,"a"]],[1,"index"]]]]]]]],[[0,"let"],[1,"string:slice-before"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"array:reverse"],[1,"A"]]],[[0,"let"],[1,"b"],[[0,"array:reverse"],[1,"B"]]],[[0,"let"],[1,"index"],[[0,"string:match"],[1,"a"],[1,"b"]]],[[0,"array:reverse"],[[0,"array:slice"],[1,"a"],[[0,"+"],[1,"index"],[[0,"length"],[1,"b"]]],[[0,"+"],[1,"index"],[[0,"-"],[[0,"length"],[1,"a"]],[1,"index"]]]]]]]],[[0,"let"],[1,"string:split"],[[0,"lambda"],[1,"str"],[1,"char"],[[0,"array:map"],[[0,"array:transform"],[1,"str"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"prev"],[[0,"array:at"],[1,"a"],[2,-1]]],[[0,"if"],[[0,"string:equal?"],[[0,"array"],[1,"b"]],[[0,"array"],[1,"char"]]],[[0,"set!"],[1,"a"],[[0,"length"],[1,"a"]],[[0,"array"]]],[[0,"set!"],[1,"prev"],[[0,"length"],[1,"prev"]],[1,"b"]]],[1,"a"]]],[[0,"array"],[[0,"array"]]]],[[0,"lambda"],[1,"x"],[[0,"array:join"],[[0,"array"],[1,"x"]],[[0,"array"],[1,"char:empty"]]]]]]],[[0,"let"],[1,"string:match"],[[0,"lambda"],[1,"str"],[1,"word"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"str"]],[[0,"length"],[1,"word"]]],[2,-1],[[0,"if"],[[0,"string:equal?"],[1,"str"],[1,"word"]],[2,0],[[0,"if"],[[0,"not"],[2,0]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"recursive:string:match"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[2,0]],[[0,">="],[[0,"length"],[1,"xs"]],[[0,"length"],[1,"word"]]]],[[0,"if"],[[0,"string:equal?"],[[0,"array:join"],[[0,"array"],[[0,"array:slice"],[1,"str"],[1,"i"],[[0,"+"],[1,"i"],[[0,"length"],[1,"word"]]]]],[[0,"array"],[1,"char:empty"]]],[1,"word"]],[1,"i"],[[0,"recursive:string:match"],[[0,"array:tail"],[1,"xs"]],[[0,"+"],[1,"i"],[2,1]]]],[2,-1]]]],[[0,"recursive:string:match"],[1,"str"],[2,0]]]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"string:has?"],[[0,"lambda"],[1,"str"],[1,"word"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"str"]],[[0,"length"],[1,"word"]]],[1,"false"],[[0,"if"],[[0,"string:equal?"],[1,"str"],[1,"word"]],[1,"true"],[[0,"if"],[[0,"not"],[2,0]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"recursive:string:has"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"length"],[1,"xs"]],[2,0]],[[0,">="],[[0,"length"],[1,"xs"]],[[0,"length"],[1,"word"]]]],[[0,"if"],[[0,"string:equal?"],[[0,"array:join"],[[0,"array"],[[0,"array:slice"],[1,"str"],[1,"i"],[[0,"+"],[1,"i"],[[0,"length"],[1,"word"]]]]],[[0,"array"],[1,"char:empty"]]],[1,"word"]],[1,"true"],[[0,"recursive:string:has"],[[0,"array:tail"],[1,"xs"]],[[0,"+"],[1,"i"],[2,1]]]],[1,"false"]]]],[[0,"recursive:string:has"],[1,"str"],[2,0]]]]],[[0,"Any"],[1,"nil"]]]]]]],[[0,"let"],[1,"string:lesser?"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"and"],[[0,"not"],[[0,"string:equal?"],[1,"A"],[1,"B"]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]],[[0,"array:merge!"],[1,"A"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"B"]],[[0,"length"],[1,"A"]]]]],[1,"A"]]],[[0,"let"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]],[[0,"array:merge!"],[1,"B"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]]]],[1,"B"]]],[[0,"let"],[1,"pairs"],[[0,"array:reverse"],[[0,"array:zip"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"is"],[[0,"bool:false"]]],[[0,"let"],[1,"recursive:string:lesser"],[[0,"lambda"],[[0,"if"],[[0,"array:empty?"],[1,"pairs"]],[1,"is"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current"],[[0,"array:pop!"],[1,"pairs"]]],[[0,"if"],[[0,"="],[[0,"array:first"],[1,"current"]],[[0,"array:second"],[1,"current"]]],[[0,"recursive:string:lesser"]],[[0,"bool:set!"],[1,"is"],[[0,"<"],[[0,"array:first"],[1,"current"]],[[0,"array:second"],[1,"current"]]]]]]]]]]],[[0,"recursive:string:lesser"]],[[0,"bool:true?"],[1,"is"]]]]]]]],[[0,"let"],[1,"string:greater?"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"and"],[[0,"not"],[[0,"string:equal?"],[1,"A"],[1,"B"]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"a"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]],[[0,"array:merge!"],[1,"A"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"B"]],[[0,"length"],[1,"A"]]]]],[1,"A"]]],[[0,"let"],[1,"b"],[[0,"if"],[[0,">"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]],[[0,"array:merge!"],[1,"B"],[[0,"math:zeroes"],[[0,"-"],[[0,"length"],[1,"A"]],[[0,"length"],[1,"B"]]]]],[1,"B"]]],[[0,"let"],[1,"pairs"],[[0,"array:reverse"],[[0,"array:zip"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"is"],[[0,"bool:false"]]],[[0,"let"],[1,"recursive:string:greater"],[[0,"lambda"],[[0,"if"],[[0,"array:empty?"],[1,"pairs"]],[1,"is"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current"],[[0,"array:pop!"],[1,"pairs"]]],[[0,"if"],[[0,"="],[[0,"array:first"],[1,"current"]],[[0,"array:second"],[1,"current"]]],[[0,"recursive:string:greater"]],[[0,"bool:set!"],[1,"is"],[[0,">"],[[0,"array:first"],[1,"current"]],[[0,"array:second"],[1,"current"]]]]]]]]]]],[[0,"recursive:string:greater"]],[[0,"bool:true?"],[1,"is"]]]]]]]],[[0,"let"],[1,"string:greater-or-equal?"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"or"],[[0,"string:equal?"],[1,"A"],[1,"B"]],[[0,"string:greater?"],[1,"A"],[1,"B"]]]]],[[0,"let"],[1,"string:lesser-or-equal?"],[[0,"lambda"],[1,"A"],[1,"B"],[[0,"or"],[[0,"string:equal?"],[1,"A"],[1,"B"]],[[0,"string:lesser?"],[1,"A"],[1,"B"]]]]],[[0,"let"],[1,"string:equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"and"],[[0,"="],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]],[[0,"array:every?"],[[0,"array:zip"],[1,"a"],[1,"b"]],[[0,"lambda"],[1,"x"],[[0,"="],[[0,"array:first"],[1,"x"]],[[0,"array:second"],[1,"x"]]]]]]]],[[0,"let"],[1,"string:not-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"not"],[[0,"string:equal?"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"string:one-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"="],[[0,"array:first"],[1,"a"]],[[0,"array:first"],[1,"b"]]]]],[[0,"let"],[1,"string:two-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"and"],[[0,"string:one-equal?"],[1,"a"],[1,"b"]],[[0,"="],[[0,"array:second"],[1,"a"]],[[0,"array:second"],[1,"b"]]]]]],[[0,"let"],[1,"string:three-equal?"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"and"],[[0,"string:two-equal?"],[1,"a"],[1,"b"]],[[0,"="],[[0,"array:third"],[1,"a"]],[[0,"array:third"],[1,"b"]]]]]],[[0,"let"],[1,"string:min"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"string:lesser?"],[1,"a"],[1,"b"]],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"string:max"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"string:lesser?"],[1,"a"],[1,"b"]],[1,"b"],[1,"a"]]]],[[0,"let"],[1,"string:join-as-table-with"],[[0,"lambda"],[1,"table"],[1,"colum"],[1,"row"],[[0,"do"],[[0,"let"],[1,"M"],[[0,"math:maximum"],[[0,"array:map"],[1,"table"],[1,"math:max-length"]]]],[[0,"let"],[1,"row-delimiter2"],[[0,"array:map"],[[0,"math:zeroes"],[[0,"length"],[[0,"array:first"],[1,"table"]]]],[[0,"lambda"],[1,"."],[[0,"array:map"],[[0,"math:zeroes"],[1,"M"]],[[0,"lambda"],[1,"."],[1,"row"]]]]]],[[0,"let"],[1,"row-delimiter"],[[0,"array:map"],[[0,"math:zeroes"],[[0,"length"],[[0,"array:first"],[1,"table"]]]],[[0,"lambda"],[1,"."],[[0,"array:map"],[[0,"math:zeroes"],[1,"M"]],[[0,"lambda"],[1,"."],[1,"row"]]]]]],[[0,"array:join"],[[0,"array:map"],[[0,"array:transform"],[1,"table"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge"],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"b"]]],[[0,"array"],[1,"row-delimiter"]]]],[[0,"array"]]],[[0,"lambda"],[1,"x"],[[0,"array:join"],[[0,"array:map"],[1,"x"],[[0,"lambda"],[1,"y"],[[0,"string:pad-right"],[1,"y"],[1,"M"],[[0,"array"],[1,"char:space"]]]]],[1,"colum"]]]],[[0,"array"],[1,"char:new-line"]]]]]],[[0,"let"],[1,"string:starts-with?"],[[0,"lambda"],[1,"str"],[1,"pattern"],[[0,"and"],[[0,"<="],[[0,"length"],[1,"pattern"]],[[0,"length"],[1,"str"]]],[[0,"string:equal?"],[[0,"array:slice"],[1,"str"],[2,0],[[0,"length"],[1,"pattern"]]],[1,"pattern"]]]]],[[0,"let"],[1,"string:ends-with?"],[[0,"lambda"],[1,"str"],[1,"pattern"],[[0,"and"],[[0,"<="],[[0,"length"],[1,"pattern"]],[[0,"length"],[1,"str"]]],[[0,"string:equal?"],[[0,"array:slice"],[[0,"array:reverse"],[1,"str"]],[2,0],[[0,"length"],[1,"pattern"]]],[[0,"array:reverse"],[1,"pattern"]]]]]],[[0,"let"],[1,"string:join-as-table"],[[0,"lambda"],[1,"table"],[[0,"do"],[[0,"let"],[1,"M"],[[0,"math:maximum"],[[0,"array:map"],[1,"table"],[1,"math:max-length"]]]],[[0,"array:join"],[[0,"array:map"],[1,"table"],[[0,"lambda"],[1,"x"],[[0,"array:join"],[[0,"array:map"],[1,"x"],[[0,"lambda"],[1,"y"],[[0,"string:pad-right"],[1,"y"],[1,"M"],[[0,"array"],[1,"char:space"]]]]],[[0,"array"],[1,"char:space"]]]]],[[0,"array"],[1,"char:new-line"]]]]]],[[0,"let"],[1,"string:trim-left"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"tr"],[[0,"bool:true"]]],[[0,"array:transform"],[1,"str"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"and"],[[0,"bool:true?"],[1,"tr"]],[[0,"or"],[[0,"="],[1,"b"],[1,"char:space"]],[[0,"="],[1,"b"],[1,"char:new-line"]]]],[1,"a"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"if"],[[0,"bool:true?"],[1,"tr"]],[[0,"bool:false!"],[1,"tr"]],[1,"nil"]],[[0,"array:merge"],[1,"a"],[[0,"array"],[1,"b"]]]]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"string:trim-right"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"tr"],[[0,"bool:true"]]],[[0,"array:transform"],[[0,"array:reverse"],[1,"str"]],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"if"],[[0,"and"],[[0,"bool:true?"],[1,"tr"]],[[0,"or"],[[0,"="],[1,"b"],[1,"char:space"]],[[0,"="],[1,"b"],[1,"char:new-line"]]]],[1,"a"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"if"],[[0,"bool:true?"],[1,"tr"]],[[0,"bool:false!"],[1,"tr"]],[1,"nil"]],[[0,"array:merge"],[[0,"array"],[1,"b"]],[1,"a"]]]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"string:trim"],[[0,"lambda"],[1,"str"],[[0,"string:trim-right"],[[0,"string:trim-left"],[1,"str"]]]]],[[0,"let"],[1,"string:lines"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:new-line"]]]],[[0,"let"],[1,"string:chars"],[[0,"lambda"],[1,"str"],[[0,"array:map"],[1,"str"],[[0,"lambda"],[1,"x"],[[0,"array"],[1,"x"]]]]]],[[0,"let"],[1,"string:words"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:space"]]]],[[0,"let"],[1,"string:commas"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:comma"]]]],[[0,"let"],[1,"string:dots"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:dot"]]]],[[0,"let"],[1,"string:colons"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:colon"]]]],[[0,"let"],[1,"string:semi-colons"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:semi-colon"]]]],[[0,"let"],[1,"string:dashes"],[[0,"lambda"],[1,"str"],[[0,"string:split"],[1,"str"],[1,"char:dash"]]]],[[0,"let"],[1,"string:multilines"],[[0,"lambda"],[1,"input"],[[0,"array:chunks"],[[0,"array:append!"],[[0,"string:lines"],[1,"input"]],[[0,"array"]]],[1,"array:empty?"]]]],[[0,"let"],[1,"string:append"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge"],[1,"a"],[1,"b"]]]],[[0,"let"],[1,"string:prepend"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:merge"],[1,"b"],[1,"a"]]]],[[0,"let"],[1,"string:pad-left"],[[0,"lambda"],[1,"str"],[1,"N"],[1,"ch"],[[0,"do"],[[0,"let"],[1,"n"],[[0,"-"],[1,"N"],[[0,"length"],[1,"str"]]]],[[0,"let"],[1,"recursive:string:pad-left"],[[0,"lambda"],[1,"i"],[1,"str"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"recursive:string:pad-left"],[[0,"+"],[1,"i"],[2,1]],[[0,"array:merge"],[1,"ch"],[1,"str"]]],[1,"str"]]]],[[0,"recursive:string:pad-left"],[2,0],[1,"str"]]]]],[[0,"let"],[1,"string:pad-right"],[[0,"lambda"],[1,"str"],[1,"N"],[1,"ch"],[[0,"do"],[[0,"let"],[1,"n"],[[0,"-"],[1,"N"],[[0,"length"],[1,"str"]]]],[[0,"let"],[1,"recursive:string:pad-right"],[[0,"lambda"],[1,"i"],[1,"str"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"recursive:string:pad-right"],[[0,"+"],[1,"i"],[2,1]],[[0,"array:merge"],[1,"str"],[1,"ch"]]],[1,"str"]]]],[[0,"recursive:string:pad-right"],[2,0],[1,"str"]]]]],[[0,"let"],[1,"string:upper"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"xs"],[[0,"array"]]],[[0,"let"],[1,"n"],[[0,"length"],[1,"str"]]],[[0,"let"],[1,"recursive:string:upper"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current-char"],[[0,"get"],[1,"str"],[1,"i"]]],[[0,"set!"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">="],[1,"current-char"],[2,97]],[[0,"<="],[1,"current-char"],[2,122]]],[[0,"-"],[1,"current-char"],[2,32]],[1,"current-char"]]],[[0,"recursive:string:upper"],[[0,"+"],[1,"i"],[2,1]]]]]],[1,"xs"]]]],[[0,"recursive:string:upper"],[2,0]]]]],[[0,"let"],[1,"string:lower"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"xs"],[[0,"array"]]],[[0,"let"],[1,"n"],[[0,"length"],[1,"str"]]],[[0,"let"],[1,"recursive:string:lower"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current-char"],[[0,"get"],[1,"str"],[1,"i"]]],[[0,"set!"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"and"],[[0,">="],[1,"current-char"],[2,65]],[[0,"<="],[1,"current-char"],[2,90]]],[[0,"+"],[1,"current-char"],[2,32]],[1,"current-char"]]],[[0,"recursive:string:lower"],[[0,"+"],[1,"i"],[2,1]]]]]],[1,"xs"]]]],[[0,"recursive:string:lower"],[2,0]]]]],[[0,"let"],[1,"new:map"],[[0,"lambda"],[1,"args"],[[0,"array:enumerated-transform"],[1,"args"],[[0,"lambda"],[1,"a"],[1,"."],[1,"i"],[[0,"if"],[[0,"math:even?"],[1,"i"]],[[0,"map:set!"],[1,"a"],[[0,"get"],[1,"args"],[1,"i"]],[[0,"get"],[1,"args"],[[0,"+"],[1,"i"],[2,1]]]],[1,"a"]]],[[0,"array"],[[0,"array"]],[[0,"array"]],[[0,"array"]],[[0,"array"]]]]]],[[0,"let"],[1,"new:set"],[[0,"lambda"],[1,"args"],[[0,"array:transform"],[1,"args"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set:add!"],[1,"a"],[1,"b"]]],[[0,"array"],[[0,"array"]],[[0,"array"]],[[0,"array"]],[[0,"array"]]]]]],[[0,"let"],[1,"new:set4"],[[0,"lambda"],[[0,"array"],[[0,"array"]],[[0,"array"]],[[0,"array"]],[[0,"array"]]]]],[[0,"let"],[1,"new:set8"],[[0,"lambda"],[[0,"array:merge"],[[0,"new:set4"]],[[0,"new:set4"]]]]],[[0,"let"],[1,"new:set16"],[[0,"lambda"],[[0,"array:merge"],[[0,"new:set8"]],[[0,"new:set8"]]]]],[[0,"let"],[1,"new:set32"],[[0,"lambda"],[[0,"array:merge"],[[0,"new:set16"]],[[0,"new:set16"]]]]],[[0,"let"],[1,"new:set64"],[[0,"lambda"],[[0,"array:merge"],[[0,"new:set32"]],[[0,"new:set32"]]]]],[[0,"let"],[1,"new:map4"],[1,"new:set4"]],[[0,"let"],[1,"new:map8"],[1,"new:set8"]],[[0,"let"],[1,"new:map16"],[1,"new:set16"]],[[0,"let"],[1,"new:map32"],[1,"new:set32"]],[[0,"let"],[1,"new:map64"],[1,"new:set64"]],[[0,"let"],[1,"new:array"],[[0,"lambda"],[1,"items"],[[0,"array:shallow-copy"],[1,"items"]]]],[[0,"let"],[1,"new:list"],[[0,"lambda"],[1,"value"],[[0,"array"],[[0,"array"]],[1,"value"],[[0,"array"]]]]],[[0,"let"],[1,"new:set-n"],[[0,"lambda"],[1,"n"],[[0,"array:map"],[[0,"math:zeroes"],[1,"n"]],[[0,"lambda"],[1,"."],[[0,"array"]]]]]],[[0,"let"],[1,"new:date"],[[0,"lambda"],[1,"year"],[1,"month"],[1,"day"],[[0,"array"],[1,"year"],[1,"month"],[1,"day"]]]],[[0,"let"],[1,"new:heap"],[[0,"array"]]],[[0,"let"],[1,"new:brray"],[[0,"lambda"],[[0,"array"],[[0,"array"],[[0,"array"]]],[[0,"array"]]]]],[[0,"let"],[1,"new:queue"],[1,"new:brray"]],[[0,"let"],[1,"new:stack"],[1,"new:brray"]],[[0,"let"],[1,"new:binary-tree"],[[0,"lambda"],[1,"value"],[[0,"do"],[[0,"let"],[1,"xs"],[[0,"array"]]],[[0,"set!"],[1,"xs"],[2,0],[1,"value"]],[[0,"set!"],[1,"xs"],[2,1],[[0,"array"]]],[[0,"set!"],[1,"xs"],[2,2],[[0,"array"]]],[1,"xs"]]]],[[0,"let"],[1,"binary-tree:left"],[[0,"lambda"],[1,"node"],[[0,"get"],[1,"node"],[2,1]]]],[[0,"let"],[1,"binary-tree:right"],[[0,"lambda"],[1,"node"],[[0,"get"],[1,"node"],[2,2]]]],[[0,"let"],[1,"binary-tree:left!"],[[0,"lambda"],[1,"tree"],[1,"node"],[[0,"set!"],[1,"tree"],[2,1],[1,"node"]]]],[[0,"let"],[1,"binary-tree:right!"],[[0,"lambda"],[1,"tree"],[1,"node"],[[0,"set!"],[1,"tree"],[2,2],[1,"node"]]]],[[0,"let"],[1,"binary-tree:value"],[[0,"lambda"],[1,"node"],[[0,"get"],[1,"node"],[2,0]]]],[[0,"let"],[1,"set:index"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"prime-num"],[2,31]],[[0,"let"],[1,"total"],[[0,"array"],[2,0]]],[[0,"let"],[1,"recursive:set:index"],[[0,"lambda"],[1,"i"],[1,"bounds"],[[0,"do"],[[0,"let"],[1,"letter"],[[0,"get"],[1,"key"],[1,"i"]]],[[0,"set!"],[1,"total"],[2,0],[[0,"math:euclidean-mod"],[[0,"+"],[[0,"*"],[[0,"array:first"],[1,"total"]],[1,"prime-num"]],[1,"letter"]],[[0,"length"],[1,"table"]]]],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:set:index"],[[0,"+"],[1,"i"],[2,1]],[1,"bounds"]],[[0,"array:first"],[1,"total"]]]]]],[[0,"recursive:set:index"],[2,0],[[0,"if"],[[0,"<"],[[0,"-"],[[0,"length"],[1,"key"]],[2,1]],[2,100]],[[0,"-"],[[0,"length"],[1,"key"]],[2,1]],[2,100]]]]]],[[0,"let"],[1,"set:add!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"not"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]]],[[0,"set!"],[1,"table"],[1,"idx"],[[0,"array"]]],[1,"nil"]],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"len"],[[0,"length"],[1,"current"]]],[[0,"let"],[1,"index"],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"x"],[1,"key"]]]],[2,-1]]],[[0,"let"],[1,"entry"],[1,"key"]],[[0,"if"],[[0,"="],[1,"index"],[2,-1]],[[0,"set!"],[1,"current"],[[0,"length"],[1,"current"]],[1,"entry"]],[[0,"set!"],[1,"current"],[1,"index"],[1,"entry"]]],[1,"table"]]]],[[0,"let"],[1,"set:remove!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"not"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]]],[[0,"set!"],[1,"table"],[1,"idx"],[[0,"array"]]],[1,"nil"]],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"len"],[[0,"length"],[1,"current"]]],[[0,"let"],[1,"index"],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"x"],[1,"key"]]]],[2,-1]]],[[0,"let"],[1,"entry"],[1,"key"]],[[0,"if"],[[0,"not"],[[0,"="],[1,"index"],[2,-1]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[1,"current"],[1,"index"],[[0,"array:at"],[1,"current"],[2,-1]]],[[0,"del!"],[1,"current"]]]]],[1,"nil"]],[1,"table"]]]],[[0,"let"],[1,"set:has?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"and"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]],[[0,"and"],[[0,">"],[[0,"length"],[1,"current"]],[2,0]],[[0,">="],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"x"],[1,"key"]]]],[2,0]]]]]]],[[0,"let"],[1,"set:exists?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"and"],[[0,">"],[[0,"length"],[1,"key"]],[2,0]],[[0,"set:has?"],[1,"table"],[1,"key"]]]]],[[0,"let"],[1,"set:not-exists?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"not"],[[0,"set:exists?"],[1,"table"],[1,"key"]]]]],[[0,"let"],[1,"set:add-and-get!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"set:add!"],[1,"table"],[1,"key"]],[1,"key"]]]],[[0,"let"],[1,"set:remove-and-get!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"set:remove!"],[1,"table"],[1,"key"]],[1,"key"]]]],[[0,"let"],[1,"set:with!"],[[0,"lambda"],[1,"initial"],[1,"args"],[[0,"array:transform"],[1,"args"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"set:add!"],[1,"a"],[1,"b"]]],[1,"initial"]]]],[[0,"let"],[1,"set:max-capacity"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:buckets"],[[0,"math:max"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]]]],[[0,"let"],[1,"set:min-capacity"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:buckets"],[[0,"math:min"],[[0,"length"],[1,"a"]],[[0,"length"],[1,"b"]]]]]],[[0,"let"],[1,"set:values"],[[0,"lambda"],[1,"table"],[[0,"array:select"],[[0,"array:flat-one"],[1,"table"]],[1,"array:not-empty?"]]]],[[0,"let"],[1,"set:intersection"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:transform"],[[0,"from:set->array"],[1,"b"]],[[0,"lambda"],[1,"out"],[1,"element"],[[0,"do"],[[0,"if"],[[0,"set:has?"],[1,"a"],[1,"element"]],[[0,"set:add!"],[1,"out"],[1,"element"]],[1,"nil"]],[1,"out"]]],[[0,"set:max-capacity"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"set:difference"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"array:transform"],[[0,"from:set->array"],[1,"a"]],[[0,"lambda"],[1,"out"],[1,"element"],[[0,"do"],[[0,"if"],[[0,"not"],[[0,"set:has?"],[1,"b"],[1,"element"]]],[[0,"set:add!"],[1,"out"],[1,"element"]],[1,"nil"]],[1,"out"]]],[[0,"set:max-capacity"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"set:xor"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"set:max-capacity"],[1,"a"],[1,"b"]]],[[0,"array:for"],[[0,"from:set->array"],[1,"a"]],[[0,"lambda"],[1,"element"],[[0,"if"],[[0,"not"],[[0,"set:has?"],[1,"b"],[1,"element"]]],[[0,"set:add!"],[1,"out"],[1,"element"]],[1,"nil"]]]],[[0,"array:for"],[[0,"from:set->array"],[1,"b"]],[[0,"lambda"],[1,"element"],[[0,"if"],[[0,"not"],[[0,"set:has?"],[1,"a"],[1,"element"]]],[[0,"set:add!"],[1,"out"],[1,"element"]],[1,"nil"]]]],[1,"out"]]]],[[0,"let"],[1,"set:union"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"do"],[[0,"let"],[1,"out"],[[0,"set:max-capacity"],[1,"a"],[1,"b"]]],[[0,"array:for"],[[0,"from:set->array"],[1,"a"]],[[0,"lambda"],[1,"element"],[[0,"set:add!"],[1,"out"],[1,"element"]]]],[[0,"array:for"],[[0,"from:set->array"],[1,"b"]],[[0,"lambda"],[1,"element"],[[0,"set:add!"],[1,"out"],[1,"element"]]]],[1,"out"]]]],[[0,"let"],[1,"set:empty!"],[[0,"lambda"],[1,"table"],[[0,"array:map"],[1,"table"],[1,"array:empty!"]]]],[[0,"let"],[1,"map:with!"],[[0,"lambda"],[1,"initial"],[1,"args"],[[0,"array:enumerated-transform"],[1,"args"],[[0,"lambda"],[1,"a"],[1,"."],[1,"i"],[[0,"if"],[[0,"math:even?"],[1,"i"]],[[0,"map:set!"],[1,"a"],[[0,"get"],[1,"args"],[1,"i"]],[[0,"get"],[1,"args"],[[0,"+"],[1,"i"],[2,1]]]],[1,"a"]]],[1,"initial"]]]],[[0,"let"],[1,"map:empty!"],[[0,"lambda"],[1,"table"],[[0,"array:map"],[1,"table"],[1,"array:empty!"]]]],[[0,"let"],[1,"map:keys"],[[0,"lambda"],[1,"table"],[[0,"array:map"],[[0,"array:flat-one"],[1,"table"]],[1,"array:first"]]]],[[0,"let"],[1,"map:values"],[[0,"lambda"],[1,"table"],[[0,"array:map"],[[0,"array:flat-one"],[1,"table"]],[1,"array:second"]]]],[[0,"let"],[1,"map:set!"],[[0,"lambda"],[1,"table"],[1,"key"],[1,"value"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"not"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]]],[[0,"set!"],[1,"table"],[1,"idx"],[[0,"array"]]],[1,"nil"]],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"len"],[[0,"length"],[1,"current"]]],[[0,"let"],[1,"index"],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[[0,"array:first"],[1,"x"]],[1,"key"]]]],[2,-1]]],[[0,"let"],[1,"entry"],[[0,"array"],[1,"key"],[1,"value"]]],[[0,"if"],[[0,"="],[1,"index"],[2,-1]],[[0,"set!"],[1,"current"],[[0,"length"],[1,"current"]],[1,"entry"]],[[0,"set!"],[1,"current"],[1,"index"],[1,"entry"]]],[1,"table"]]]],[[0,"let"],[1,"map:remove!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"not"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]]],[[0,"set!"],[1,"table"],[1,"idx"],[[0,"array"]]],[1,"nil"]],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"len"],[[0,"length"],[1,"current"]]],[[0,"let"],[1,"index"],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[[0,"array:first"],[1,"x"]],[1,"key"]]]],[2,-1]]],[[0,"if"],[[0,"not"],[[0,"="],[1,"index"],[2,-1]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"set!"],[1,"current"],[1,"index"],[[0,"array:at"],[1,"current"],[2,-1]]],[[0,"del!"],[1,"current"]]]]],[1,"nil"]],[1,"table"]]]],[[0,"let"],[1,"map:set-and-get!"],[[0,"lambda"],[1,"table"],[1,"key"],[1,"value"],[[0,"do"],[[0,"map:set!"],[1,"table"],[1,"key"],[1,"value"]],[1,"value"]]]],[[0,"let"],[1,"map:remove-and-get!"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"value"],[[0,"map:get"],[1,"table"],[1,"key"]]],[[0,"map:remove!"],[1,"table"],[1,"key"]],[1,"value"]]]],[[0,"let"],[1,"map:get"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"found-index"],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"key"],[[0,"get"],[1,"x"],[2,0]]]]]],[[0,"if"],[[0,"="],[1,"found-index"],[2,-1]],[[0,"Any"],[1,"nil"]],[[0,"get"],[[0,"get"],[1,"current"],[1,"found-index"]],[2,1]]]]]],[[0,"Any"],[1,"nil"]]]]]],[[0,"let"],[1,"map:get-option"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"if"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"current"],[[0,"get"],[1,"table"],[1,"idx"]]],[[0,"let"],[1,"index"],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"key"],[[0,"get"],[1,"x"],[2,0]]]]]],[[0,"if"],[[0,"="],[1,"index"],[2,-1]],[[0,"array"],[[0,"array"]],[[0,"array"],[2,-1]]],[[0,"array"],[[0,"array"],[[0,"array:second"],[[0,"get"],[1,"current"],[1,"index"]]]],[[0,"array"]]]]]]],[[0,"array"],[[0,"array"]],[[0,"array"]]]]]]],[[0,"let"],[1,"map:has?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"let"],[1,"idx"],[[0,"set:index"],[1,"table"],[1,"key"]]],[[0,"let"],[1,"current"],[[0,"array:map"],[[0,"get"],[1,"table"],[1,"idx"]],[[0,"lambda"],[1,"x"],[[0,"array:first"],[1,"x"]]]]],[[0,"and"],[[0,"array:in-bounds?"],[1,"table"],[1,"idx"]],[[0,"and"],[[0,">"],[[0,"length"],[1,"current"]],[2,0]],[[0,">="],[[0,"array:find-index"],[1,"current"],[[0,"lambda"],[1,"x"],[[0,"string:equal?"],[1,"x"],[1,"key"]]]],[2,0]]]]]]],[[0,"let"],[1,"map:exists?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"and"],[[0,">"],[[0,"length"],[1,"key"]],[2,0]],[[0,"map:has?"],[1,"table"],[1,"key"]]]]],[[0,"let"],[1,"map:not-exists?"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"not"],[[0,"map:exists?"],[1,"table"],[1,"key"]]]]],[[0,"let"],[1,"map:count"],[[0,"lambda"],[1,"arr"],[[0,"array:transform"],[1,"arr"],[[0,"lambda"],[1,"table"],[1,"key"],[[0,"do"],[[0,"if"],[[0,"map:has?"],[1,"table"],[1,"key"]],[[0,"map:set!"],[1,"table"],[1,"key"],[[0,"+"],[[0,"Atom"],[[0,"map:get"],[1,"table"],[1,"key"]]],[2,1]]],[[0,"map:set!"],[1,"table"],[1,"key"],[2,1]]]]],[[0,"new:map64"]]]]],[[0,"let"],[1,"map:increment!"],[[0,"lambda"],[1,"map"],[1,"key"],[[0,"map:set!"],[1,"map"],[1,"key"],[[0,"+"],[[0,"map:get"],[1,"map"],[1,"key"]],[2,1]]]]],[[0,"let"],[1,"map:increment-and-get!"],[[0,"lambda"],[1,"map"],[1,"key"],[[0,"map:set-and-get!"],[1,"map"],[1,"key"],[[0,"+"],[[0,"map:get"],[1,"map"],[1,"key"]],[2,1]]]]],[[0,"let"],[1,"map:decrement!"],[[0,"lambda"],[1,"map"],[1,"key"],[[0,"map:set!"],[1,"map"],[1,"key"],[[0,"-"],[[0,"map:get"],[1,"map"],[1,"key"]],[2,1]]]]],[[0,"let"],[1,"map:decrement-and-get!"],[[0,"lambda"],[1,"map"],[1,"key"],[[0,"map:set-and-get!"],[1,"map"],[1,"key"],[[0,"-"],[[0,"map:get"],[1,"map"],[1,"key"]],[2,1]]]]],[[0,"let"],[1,"doubly-linked-list:prev!"],[[0,"lambda"],[1,"list"],[1,"node"],[[0,"set!"],[1,"list"],[2,0],[[0,"set!"],[1,"node"],[2,2],[1,"list"]]]]],[[0,"let"],[1,"doubly-linked-list:next!"],[[0,"lambda"],[1,"list"],[1,"node"],[[0,"set!"],[1,"list"],[2,2],[[0,"set!"],[1,"node"],[2,0],[1,"list"]]]]],[[0,"let"],[1,"doubly-linked-list:prev"],[[0,"lambda"],[1,"list"],[[0,"get"],[1,"list"],[2,0]]]],[[0,"let"],[1,"doubly-linked-list:next"],[[0,"lambda"],[1,"list"],[[0,"get"],[1,"list"],[2,2]]]],[[0,"let"],[1,"doubly-linked-list:value"],[[0,"lambda"],[1,"node"],[[0,"get"],[1,"node"],[2,1]]]],[[0,"let"],[1,"var:def"],[[0,"lambda"],[1,"val"],[[0,"array"],[1,"val"]]]],[[0,"let"],[1,"var:get"],[[0,"lambda"],[1,"variable"],[[0,"get"],[1,"variable"],[2,0]]]],[[0,"let"],[1,"var:set!"],[[0,"lambda"],[1,"variable"],[1,"value"],[[0,"set!"],[1,"variable"],[2,0],[1,"value"]]]],[[0,"let"],[1,"var:del!"],[[0,"lambda"],[1,"variable"],[[0,"del!"],[1,"variable"]]]],[[0,"let"],[1,"var:set-and-get!"],[[0,"lambda"],[1,"variable"],[1,"value"],[[0,"do"],[[0,"var:set!"],[1,"variable"],[1,"value"]],[1,"value"]]]],[[0,"let"],[1,"math:var-def"],[[0,"lambda"],[1,"val"],[[0,"array"],[1,"val"]]]],[[0,"let"],[1,"math:var-get"],[[0,"lambda"],[1,"variable"],[[0,"get"],[1,"variable"],[2,0]]]],[[0,"let"],[1,"math:var-set!"],[[0,"lambda"],[1,"variable"],[1,"value"],[[0,"set!"],[1,"variable"],[2,0],[1,"value"]]]],[[0,"let"],[1,"math:var-del!"],[[0,"lambda"],[1,"variable"],[[0,"del!"],[1,"variable"]]]],[[0,"let"],[1,"math:var-set-and-get!"],[[0,"lambda"],[1,"variable"],[1,"value"],[[0,"do"],[[0,"math:var-set!"],[1,"variable"],[1,"value"]],[1,"value"]]]],[[0,"let"],[1,"math:var-increment!"],[[0,"lambda"],[1,"variable"],[[0,"set!"],[1,"variable"],[2,0],[[0,"+"],[[0,"math:var-get"],[1,"variable"]],[2,1]]]]],[[0,"let"],[1,"math:var-decrement!"],[[0,"lambda"],[1,"variable"],[[0,"set!"],[1,"variable"],[2,0],[[0,"-"],[[0,"math:var-get"],[1,"variable"]],[2,1]]]]],[[0,"let"],[1,"math:var-increment-and-get!"],[[0,"lambda"],[1,"variable"],[[0,"do"],[[0,"set!"],[1,"variable"],[2,0],[[0,"+"],[[0,"math:var-get"],[1,"variable"]],[2,1]]],[[0,"math:var-get"],[1,"variable"]]]]],[[0,"let"],[1,"math:var-decrement-and-get!"],[[0,"lambda"],[1,"variable"],[[0,"do"],[[0,"set!"],[1,"variable"],[2,0],[[0,"-"],[[0,"math:var-get"],[1,"variable"]],[2,1]]],[[0,"math:var-get"],[1,"variable"]]]]],[[0,"let"],[1,"bools:fold"],[[0,"lambda"],[1,"xs"],[1,"cb"],[1,"initial"],[[0,"do"],[1,"xs"],[[0,"let"],[1,"recursive:bools:fold"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,">"],[[0,"length"],[1,"xs"]],[1,"i"]],[[0,"recursive:bools:fold"],[[0,"+"],[1,"i"],[2,1]],[[0,"cb"],[1,"out"],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:bools:fold"],[2,0],[1,"initial"]]]]],[[0,"let"],[1,"bool:truths"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:bool:truths"],[[0,"lambda"],[1,"out"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:bool:truths"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"true"]]],[1,"out"]]]],[[0,"recursive:bool:truths"],[[0,"array"]]]]]],[[0,"let"],[1,"bool:lies"],[[0,"lambda"],[1,"n"],[[0,"do"],[[0,"let"],[1,"recursive:bool:lies"],[[0,"lambda"],[1,"out"],[[0,"if"],[[0,"<"],[[0,"length"],[1,"out"]],[1,"n"]],[[0,"recursive:bool:lies"],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[1,"false"]]],[1,"out"]]]],[[0,"recursive:bool:lies"],[[0,"array"]]]]]],[[0,"let"],[1,"bool:def"],[[0,"lambda"],[1,"val"],[[0,"array"],[[0,"truthy?"],[1,"val"]]]]],[[0,"let"],[1,"bool:get"],[[0,"lambda"],[1,"variable"],[[0,"get"],[1,"variable"],[2,0]]]],[[0,"let"],[1,"bool:set!"],[[0,"lambda"],[1,"variable"],[1,"value"],[[0,"set!"],[1,"variable"],[2,0],[[0,"truthy?"],[1,"value"]]]]],[[0,"let"],[1,"bool:toggle!"],[[0,"lambda"],[1,"variable"],[[0,"set!"],[1,"variable"],[2,0],[[0,"not"],[[0,"truthy?"],[[0,"var:get"],[1,"variable"]]]]]]],[[0,"let"],[1,"bool:true"],[[0,"lambda"],[[0,"array"],[1,"true"]]]],[[0,"let"],[1,"bool:false"],[[0,"lambda"],[[0,"array"],[1,"false"]]]],[[0,"let"],[1,"bool:true!"],[[0,"lambda"],[1,"variable"],[[0,"set!"],[1,"variable"],[2,0],[1,"true"]]]],[[0,"let"],[1,"bool:false!"],[[0,"lambda"],[1,"variable"],[[0,"set!"],[1,"variable"],[2,0],[1,"false"]]]],[[0,"let"],[1,"bool:true?"],[[0,"lambda"],[1,"variable"],[[0,"="],[[0,"get"],[1,"variable"],[2,0]],[1,"true"]]]],[[0,"let"],[1,"bool:false?"],[[0,"lambda"],[1,"variable"],[[0,"="],[[0,"get"],[1,"variable"],[2,0]],[1,"false"]]]],[[0,"let"],[1,"curry:ternary"],[[0,"lambda"],[1,"f"],[1,"b"],[1,"c"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"],[1,"b"],[1,"c"]]]]],[[0,"let"],[1,"curry:binary"],[[0,"lambda"],[1,"f"],[1,"b"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"curry:unary"],[[0,"lambda"],[1,"f"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"]]]]],[[0,"let"],[1,"curry:three"],[[0,"lambda"],[1,"f"],[1,"b"],[1,"c"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"],[1,"b"],[1,"c"]]]]],[[0,"let"],[1,"curry:two"],[[0,"lambda"],[1,"f"],[1,"b"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"],[1,"b"]]]]],[[0,"let"],[1,"curry:one"],[[0,"lambda"],[1,"f"],[[0,"lambda"],[1,"a"],[[0,"f"],[1,"a"]]]]],[[0,"let"],[1,"brray:offset-left"],[[0,"lambda"],[1,"q"],[[0,"*"],[[0,"-"],[[0,"length"],[[0,"get"],[1,"q"],[2,0]]],[2,1]],[2,-1]]]],[[0,"let"],[1,"brray:offset-right"],[[0,"lambda"],[1,"q"],[[0,"length"],[[0,"get"],[1,"q"],[2,1]]]]],[[0,"let"],[1,"brray:length"],[[0,"lambda"],[1,"q"],[[0,"+"],[[0,"length"],[[0,"get"],[1,"q"],[2,0]]],[[0,"+"],[[0,"length"],[[0,"get"],[1,"q"],[2,1]]],[2,-1]]]]],[[0,"let"],[1,"brray:empty?"],[[0,"lambda"],[1,"q"],[[0,"="],[[0,"brray:length"],[1,"q"]],[2,0]]]],[[0,"let"],[1,"brray:empty!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"set!"],[1,"q"],[2,0],[[0,"array"],[[0,"array"]]]],[[0,"set!"],[1,"q"],[2,1],[[0,"array"]]],[1,"q"]]]],[[0,"let"],[1,"brray:get"],[[0,"lambda"],[1,"q"],[1,"offset"],[[0,"do"],[[0,"let"],[1,"offset-index"],[[0,"+"],[1,"offset"],[[0,"brray:offset-left"],[1,"q"]]]],[[0,"let"],[1,"index"],[[0,"if"],[[0,"<"],[1,"offset-index"],[2,0]],[[0,"*"],[1,"offset-index"],[2,-1]],[1,"offset-index"]]],[[0,"if"],[[0,">="],[1,"offset-index"],[2,0]],[[0,"get"],[[0,"get"],[1,"q"],[2,1]],[1,"index"]],[[0,"get"],[[0,"get"],[1,"q"],[2,0]],[1,"index"]]]]]],[[0,"let"],[1,"brray:set!"],[[0,"lambda"],[1,"q"],[1,"index"],[1,"value"],[[0,"do"],[[0,"let"],[1,"offset"],[[0,"+"],[1,"index"],[[0,"brray:offset-left"],[1,"q"]]]],[[0,"if"],[[0,">="],[1,"offset"],[2,0]],[[0,"set!"],[[0,"get"],[1,"q"],[2,1]],[1,"offset"],[1,"value"]],[[0,"set!"],[[0,"get"],[1,"q"],[2,0]],[[0,"*"],[1,"offset"],[2,-1]],[1,"value"]]],[1,"q"]]]],[[0,"let"],[1,"brray:add-to-left!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"do"],[[0,"let"],[1,"c"],[[0,"get"],[1,"q"],[2,0]]],[[0,"set!"],[1,"c"],[[0,"length"],[1,"c"]],[1,"item"]]]]],[[0,"let"],[1,"brray:add-to-right!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"do"],[[0,"let"],[1,"c"],[[0,"get"],[1,"q"],[2,1]]],[[0,"set!"],[1,"c"],[[0,"length"],[1,"c"]],[1,"item"]]]]],[[0,"let"],[1,"brray:remove-from-left!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"brray:length"],[1,"q"]]],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"if"],[[0,"="],[1,"len"],[2,1]],[[0,"brray:empty!"],[1,"q"]],[[0,"if"],[[0,">"],[[0,"length"],[[0,"get"],[1,"q"],[2,0]]],[2,0]],[[0,"del!"],[[0,"get"],[1,"q"],[2,0]]],[[0,"if"],[[0,"not"],[2,0]],[1,"q"],[[0,"Any"],[1,"nil"]]]]],[1,"q"]]]]],[[0,"let"],[1,"brray:remove-from-right!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"brray:length"],[1,"q"]]],[[0,"if"],[[0,">"],[1,"len"],[2,0]],[[0,"if"],[[0,"="],[1,"len"],[2,1]],[[0,"brray:empty!"],[1,"q"]],[[0,"if"],[[0,">"],[[0,"length"],[[0,"get"],[1,"q"],[2,1]]],[2,0]],[[0,"del!"],[[0,"get"],[1,"q"],[2,1]]],[[0,"if"],[[0,"not"],[2,0]],[1,"q"],[[0,"Any"],[1,"nil"]]]]],[1,"q"]]]]],[[0,"let"],[1,"brray:iter"],[[0,"lambda"],[1,"q"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:brray:iter"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"cb"],[[0,"brray:get"],[1,"q"],[1,"index"]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:brray:iter"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:brray:iter"],[2,0],[[0,"brray:length"],[1,"q"]]]]]],[[0,"let"],[1,"brray:map"],[[0,"lambda"],[1,"q"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"result"],[[0,"new:brray"]]],[[0,"let"],[1,"len"],[[0,"brray:length"],[1,"q"]]],[[0,"let"],[1,"half"],[[0,"math:floor"],[[0,"*"],[1,"len"],[2,0.5]]]],[[0,"let"],[1,"recursive:left:brray:map"],[[0,"lambda"],[1,"index"],[[0,"do"],[[0,"brray:add-to-left!"],[1,"result"],[[0,"cb"],[[0,"brray:get"],[1,"q"],[1,"index"]]]],[[0,"if"],[[0,">"],[1,"index"],[2,0]],[[0,"recursive:left:brray:map"],[[0,"-"],[1,"index"],[2,1]]],[1,"q"]]]]],[[0,"recursive:left:brray:map"],[[0,"-"],[1,"half"],[2,1]]],[[0,"let"],[1,"recursive:right:brray:map"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"brray:add-to-right!"],[1,"result"],[[0,"cb"],[[0,"brray:get"],[1,"q"],[1,"index"]]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:right:brray:map"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:right:brray:map"],[1,"half"],[[0,"-"],[1,"len"],[2,1]]],[1,"result"]]]],[[0,"let"],[1,"brray:balance?"],[[0,"lambda"],[1,"q"],[[0,"="],[[0,"+"],[[0,"brray:offset-right"],[1,"q"]],[[0,"brray:offset-left"],[1,"q"]]],[2,0]]]],[[0,"let"],[1,"brray:balance!"],[[0,"lambda"],[1,"q"],[[0,"if"],[[0,"brray:balance?"],[1,"q"]],[1,"q"],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"initial"],[[0,"from:brray->array"],[1,"q"]]],[[0,"brray:empty!"],[1,"q"]],[[0,"let"],[1,"half"],[[0,"math:floor"],[[0,"*"],[[0,"length"],[1,"initial"]],[2,0.5]]]],[[0,"let"],[1,"recursive:left:brray:balance!"],[[0,"lambda"],[1,"index"],[[0,"do"],[[0,"brray:add-to-left!"],[1,"q"],[[0,"get"],[1,"initial"],[1,"index"]]],[[0,"if"],[[0,">"],[1,"index"],[2,0]],[[0,"recursive:left:brray:balance!"],[[0,"-"],[1,"index"],[2,1]]],[1,"nil"]]]]],[[0,"let"],[1,"recursive:right:brray:balance!"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"brray:add-to-right!"],[1,"q"],[[0,"get"],[1,"initial"],[1,"index"]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:right:brray:balance!"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:right:brray:balance!"],[1,"half"],[[0,"-"],[[0,"length"],[1,"initial"]],[2,1]]],[[0,"if"],[[0,">"],[[0,"length"],[1,"initial"]],[2,1]],[[0,"recursive:left:brray:balance!"],[[0,"-"],[1,"half"],[2,1]]],[1,"nil"]],[1,"q"]]]]]]],[[0,"let"],[1,"brray:append!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"do"],[[0,"brray:add-to-right!"],[1,"q"],[1,"item"]],[1,"q"]]]],[[0,"let"],[1,"brray:prepend!"],[[0,"lambda"],[1,"q"],[1,"item"],[[0,"do"],[[0,"brray:add-to-left!"],[1,"q"],[1,"item"]],[1,"q"]]]],[[0,"let"],[1,"brray:head!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"brray:offset-right"],[1,"q"]],[2,0]],[[0,"brray:balance!"],[1,"q"]],[1,"nil"]],[[0,"brray:remove-from-right!"],[1,"q"]],[1,"q"]]]],[[0,"let"],[1,"brray:tail!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"brray:offset-left"],[1,"q"]],[2,0]],[[0,"brray:balance!"],[1,"q"]],[1,"nil"]],[[0,"brray:remove-from-left!"],[1,"q"]],[1,"q"]]]],[[0,"let"],[1,"brray:first"],[[0,"lambda"],[1,"q"],[[0,"brray:get"],[1,"q"],[2,0]]]],[[0,"let"],[1,"brray:last"],[[0,"lambda"],[1,"q"],[[0,"brray:get"],[1,"q"],[[0,"-"],[[0,"brray:length"],[1,"q"]],[2,1]]]]],[[0,"let"],[1,"brray:pop-right!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"last"],[[0,"brray:last"],[1,"q"]]],[[0,"brray:head!"],[1,"q"]],[1,"last"]]]],[[0,"let"],[1,"brray:pop-left!"],[[0,"lambda"],[1,"q"],[[0,"do"],[[0,"let"],[1,"first"],[[0,"brray:first"],[1,"q"]]],[[0,"brray:tail!"],[1,"q"]],[1,"first"]]]],[[0,"let"],[1,"brray:rotate-left!"],[[0,"lambda"],[1,"q"],[1,"n"],[[0,"do"],[[0,"let"],[1,"N"],[[0,"mod"],[1,"n"],[[0,"brray:length"],[1,"q"]]]],[[0,"let"],[1,"recursive:brray:rotate-left!"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"brray:offset-left"],[1,"q"]],[2,0]],[[0,"brray:balance!"],[1,"q"]],[1,"nil"]],[[0,"brray:add-to-right!"],[1,"q"],[[0,"brray:first"],[1,"q"]]],[[0,"brray:remove-from-left!"],[1,"q"]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:brray:rotate-left!"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:brray:rotate-left!"],[2,0],[1,"N"]],[1,"q"]]]],[[0,"let"],[1,"brray:rotate-right!"],[[0,"lambda"],[1,"q"],[1,"n"],[[0,"do"],[[0,"let"],[1,"N"],[[0,"mod"],[1,"n"],[[0,"brray:length"],[1,"q"]]]],[[0,"let"],[1,"recursive:brray:rotate-left!"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"if"],[[0,"="],[[0,"brray:offset-right"],[1,"q"]],[2,0]],[[0,"brray:balance!"],[1,"q"]],[1,"nil"]],[[0,"brray:add-to-left!"],[1,"q"],[[0,"brray:last"],[1,"q"]]],[[0,"brray:remove-from-right!"],[1,"q"]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:brray:rotate-left!"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:brray:rotate-left!"],[2,0],[1,"N"]],[1,"q"]]]],[[0,"let"],[1,"brray:slice"],[[0,"lambda"],[1,"entity"],[1,"s"],[1,"e"],[[0,"do"],[[0,"let"],[1,"len"],[[0,"brray:length"],[1,"entity"]]],[[0,"let"],[1,"start"],[[0,"if"],[[0,"<"],[1,"s"],[2,0]],[[0,"math:max"],[[0,"+"],[1,"len"],[1,"s"]],[2,0]],[[0,"math:min"],[1,"s"],[1,"len"]]]],[[0,"let"],[1,"end"],[[0,"if"],[[0,"<"],[1,"e"],[2,0]],[[0,"math:max"],[[0,"+"],[1,"len"],[1,"e"]],[2,0]],[[0,"math:min"],[1,"e"],[1,"len"]]]],[[0,"let"],[1,"slice"],[[0,"new:brray"]]],[[0,"let"],[1,"slice-len"],[[0,"math:max"],[[0,"-"],[1,"end"],[1,"start"]],[2,0]]],[[0,"let"],[1,"half"],[[0,"math:floor"],[[0,"*"],[1,"slice-len"],[2,0.5]]]],[[0,"let"],[1,"recursive:left:brray:slice"],[[0,"lambda"],[1,"index"],[[0,"do"],[[0,"brray:add-to-left!"],[1,"slice"],[[0,"brray:get"],[1,"entity"],[[0,"+"],[1,"start"],[1,"index"]]]],[[0,"if"],[[0,">"],[1,"index"],[2,0]],[[0,"recursive:left:brray:slice"],[[0,"-"],[1,"index"],[2,1]]],[1,"nil"]]]]],[[0,"recursive:left:brray:slice"],[[0,"-"],[1,"half"],[2,1]]],[[0,"let"],[1,"recursive:right:brray:slice"],[[0,"lambda"],[1,"index"],[1,"bounds"],[[0,"do"],[[0,"brray:add-to-right!"],[1,"slice"],[[0,"brray:get"],[1,"entity"],[[0,"+"],[1,"start"],[1,"index"]]]],[[0,"if"],[[0,"<"],[1,"index"],[1,"bounds"]],[[0,"recursive:right:brray:slice"],[[0,"+"],[1,"index"],[2,1]],[1,"bounds"]],[1,"nil"]]]]],[[0,"recursive:right:brray:slice"],[1,"half"],[[0,"-"],[1,"slice-len"],[2,1]]],[1,"slice"]]]],[[0,"let"],[1,"queue:empty?"],[1,"brray:empty?"]],[[0,"let"],[1,"queue:not-empty?"],[[0,"lambda"],[1,"q"],[[0,"not"],[[0,"brray:empty?"],[1,"q"]]]]],[[0,"let"],[1,"queue:empty!"],[1,"brray:empty!"]],[[0,"let"],[1,"queue:enqueue!"],[[0,"lambda"],[1,"queue"],[1,"item"],[[0,"brray:append!"],[1,"queue"],[1,"item"]]]],[[0,"let"],[1,"queue:dequeue!"],[[0,"lambda"],[1,"queue"],[[0,"brray:tail!"],[1,"queue"]]]],[[0,"let"],[1,"queue:peek"],[[0,"lambda"],[1,"queue"],[[0,"brray:first"],[1,"queue"]]]],[[0,"let"],[1,"stack:empty?"],[1,"brray:empty?"]],[[0,"let"],[1,"stack:not-empty?"],[[0,"lambda"],[1,"q"],[[0,"not"],[[0,"brray:empty?"],[1,"q"]]]]],[[0,"let"],[1,"stack:empty!"],[1,"brray:empty!"]],[[0,"let"],[1,"stack:push!"],[[0,"lambda"],[1,"stack"],[1,"item"],[[0,"brray:append!"],[1,"stack"],[1,"item"]]]],[[0,"let"],[1,"stack:pop!"],[[0,"lambda"],[1,"stack"],[[0,"brray:head!"],[1,"stack"]]]],[[0,"let"],[1,"stack:peek"],[[0,"lambda"],[1,"stack"],[[0,"brray:last"],[1,"stack"]]]],[[0,"let"],[1,"time:add-seconds"],[[0,"lambda"],[1,"date-time"],[1,"seconds"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"seconds"],[2,1000]]]]],[[0,"let"],[1,"time:add-minutes"],[[0,"lambda"],[1,"date-time"],[1,"minutes"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"minutes"],[[0,"*"],[2,1000],[2,60]]]]]],[[0,"let"],[1,"time:add-hours"],[[0,"lambda"],[1,"date-time"],[1,"hours"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"hours"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[2,60]]]]]]],[[0,"let"],[1,"time:add-days"],[[0,"lambda"],[1,"date-time"],[1,"days"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"days"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[2,24]]]]]]]],[[0,"let"],[1,"time:add-months"],[[0,"lambda"],[1,"date-time"],[1,"months"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"months"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[[0,"*"],[2,24],[2,30]]]]]]]]],[[0,"let"],[1,"time:add-years"],[[0,"lambda"],[1,"date-time"],[1,"years"],[[0,"+"],[1,"date-time"],[[0,"*"],[1,"years"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[[0,"*"],[2,24],[2,365]]]]]]]]],[[0,"let"],[1,"time:sub-seconds"],[[0,"lambda"],[1,"date-time"],[1,"seconds"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"seconds"],[2,1000]]]]],[[0,"let"],[1,"time:sub-minutes"],[[0,"lambda"],[1,"date-time"],[1,"minutes"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"minutes"],[[0,"*"],[2,1000],[2,60]]]]]],[[0,"let"],[1,"time:sub-hours"],[[0,"lambda"],[1,"date-time"],[1,"hours"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"hours"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[2,60]]]]]]],[[0,"let"],[1,"time:sub-days"],[[0,"lambda"],[1,"date-time"],[1,"days"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"days"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[2,24]]]]]]]],[[0,"let"],[1,"time:sub-months"],[[0,"lambda"],[1,"date-time"],[1,"months"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"months"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[[0,"*"],[2,24],[2,30]]]]]]]]],[[0,"let"],[1,"time:sub-years"],[[0,"lambda"],[1,"date-time"],[1,"years"],[[0,"-"],[1,"date-time"],[[0,"*"],[1,"years"],[[0,"*"],[2,1000],[[0,"*"],[2,60],[[0,"*"],[2,60],[[0,"*"],[2,24],[2,365]]]]]]]]],[[0,"let"],[1,"date:year"],[[0,"lambda"],[1,"date"],[[0,"array:first"],[1,"date"]]]],[[0,"let"],[1,"date:month"],[[0,"lambda"],[1,"date"],[[0,"array:second"],[1,"date"]]]],[[0,"let"],[1,"date:day"],[[0,"lambda"],[1,"date"],[[0,"array:third"],[1,"date"]]]],[[0,"let"],[1,"date:month-day"],[[0,"lambda"],[1,"date"],[[0,"array:tail"],[1,"date"]]]],[[0,"let"],[1,"date:year-month"],[[0,"lambda"],[1,"date"],[[0,"array"],[[0,"array:first"],[1,"date"]],[[0,"array:second"],[1,"date"]]]]],[[0,"let"],[1,"loop:for-range"],[[0,"lambda"],[1,"start"],[1,"end"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:loop:for-range"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"end"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"cb"],[1,"i"]],[[0,"recursive:loop:for-range"],[[0,"+"],[1,"i"],[2,1]]]]]],[1,"nil"]]]],[[0,"recursive:loop:for-range"],[1,"start"]]]]],[[0,"let"],[1,"loop:for-n"],[[0,"lambda"],[1,"n"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:loop:for-n"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"cb"],[1,"i"]],[[0,"recursive:loop:for-n"],[[0,"+"],[1,"i"],[2,1]]]]]],[1,"nil"]]]],[[0,"recursive:loop:for-n"],[2,0]]]]],[[0,"let"],[1,"loop:repeat"],[[0,"lambda"],[1,"n"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"recursive:loop:repeat"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"cb"]],[[0,"recursive:loop:repeat"],[[0,"+"],[1,"i"],[2,1]]]]]],[1,"nil"]]]],[[0,"recursive:loop:repeat"],[2,0]]]]],[[0,"let"],[1,"loop:some-n?"],[[0,"lambda"],[1,"n"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:loop:some-n"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"n"]],[[0,"if"],[[0,"predicate?"],[1,"i"]],[2,1],[[0,"recursive:loop:some-n"],[[0,"+"],[1,"i"],[2,1]]]],[1,"nil"]]]],[[0,"recursive:loop:some-n"],[1,"n"]]]]],[[0,"let"],[1,"loop:some-range?"],[[0,"lambda"],[1,"start"],[1,"end"],[1,"predicate?"],[[0,"do"],[[0,"let"],[1,"recursive:loop:some-range"],[[0,"lambda"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[1,"end"]],[[0,"if"],[[0,"predicate?"],[1,"i"]],[2,1],[[0,"recursive:loop:some-range"],[[0,"+"],[1,"i"],[2,1]]]],[1,"nil"]]]],[[0,"recursive:loop:some-range"],[1,"start"]]]]],[[0,"let"],[1,"node:parent"],[[0,"lambda"],[1,"i"],[[0,"-"],[[0,">>"],[[0,"+"],[1,"i"],[2,1]],[2,1]],[2,1]]]],[[0,"let"],[1,"node:left"],[[0,"lambda"],[1,"i"],[[0,"+"],[[0,"<<"],[1,"i"],[2,1]],[2,1]]]],[[0,"let"],[1,"node:right"],[[0,"lambda"],[1,"i"],[[0,"<<"],[[0,"+"],[1,"i"],[2,1]],[2,1]]]],[[0,"let"],[1,"heap:top"],[2,0]],[[0,"let"],[1,"heap:greater?"],[[0,"lambda"],[1,"heap"],[1,"i"],[1,"j"],[1,"cb?"],[[0,"cb?"],[[0,"get"],[1,"heap"],[1,"i"]],[[0,"get"],[1,"heap"],[1,"j"]]]]],[[0,"let"],[1,"heap:sift-up!"],[[0,"lambda"],[1,"heap"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"node"],[[0,"var:def"],[[0,"-"],[[0,"length"],[1,"heap"]],[2,1]]]],[[0,"let"],[1,"recursive:heap:sift-up!"],[[0,"lambda"],[[0,"if"],[[0,"and"],[[0,">"],[[0,"var:get"],[1,"node"]],[1,"heap:top"]],[[0,"heap:greater?"],[1,"heap"],[[0,"var:get"],[1,"node"]],[[0,"node:parent"],[[0,"var:get"],[1,"node"]]],[1,"cb"]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"array:swap!"],[1,"heap"],[[0,"var:get"],[1,"node"]],[[0,"node:parent"],[[0,"var:get"],[1,"node"]]]],[[0,"var:set!"],[1,"node"],[[0,"node:parent"],[[0,"var:get"],[1,"node"]]]],[[0,"recursive:heap:sift-up!"]]]]],[1,"nil"]]]],[[0,"recursive:heap:sift-up!"]]]]],[[0,"let"],[1,"heap:sift-down!"],[[0,"lambda"],[1,"heap"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"node"],[[0,"var:def"],[1,"heap:top"]]],[[0,"let"],[1,"recursive:heap:sift-down!"],[[0,"lambda"],[[0,"if"],[[0,"or"],[[0,"and"],[[0,"<"],[[0,"node:left"],[[0,"var:get"],[1,"node"]]],[[0,"length"],[1,"heap"]]],[[0,"heap:greater?"],[1,"heap"],[[0,"node:left"],[[0,"var:get"],[1,"node"]]],[[0,"var:get"],[1,"node"]],[1,"cb"]]],[[0,"and"],[[0,"<"],[[0,"node:right"],[[0,"var:get"],[1,"node"]]],[[0,"length"],[1,"heap"]]],[[0,"heap:greater?"],[1,"heap"],[[0,"node:right"],[[0,"var:get"],[1,"node"]]],[[0,"var:get"],[1,"node"]],[1,"cb"]]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"max-child"],[[0,"if"],[[0,"and"],[[0,"<"],[[0,"node:right"],[[0,"var:get"],[1,"node"]]],[[0,"length"],[1,"heap"]]],[[0,"heap:greater?"],[1,"heap"],[[0,"node:right"],[[0,"var:get"],[1,"node"]]],[[0,"node:left"],[[0,"var:get"],[1,"node"]]],[1,"cb"]]],[[0,"node:right"],[[0,"var:get"],[1,"node"]]],[[0,"node:left"],[[0,"var:get"],[1,"node"]]]]],[[0,"array:swap!"],[1,"heap"],[[0,"var:get"],[1,"node"]],[1,"max-child"]],[[0,"var:set!"],[1,"node"],[1,"max-child"]],[[0,"recursive:heap:sift-down!"]]]]],[1,"nil"]]]],[[0,"recursive:heap:sift-down!"]]]]],[[0,"let"],[1,"heap:peek"],[[0,"lambda"],[1,"heap"],[[0,"get"],[1,"heap"],[1,"heap:top"]]]],[[0,"let"],[1,"heap:push!"],[[0,"lambda"],[1,"heap"],[1,"value"],[1,"cb"],[[0,"do"],[[0,"set!"],[1,"heap"],[[0,"length"],[1,"heap"]],[1,"value"]],[[0,"heap:sift-up!"],[1,"heap"],[1,"cb"]],[1,"heap"]]]],[[0,"let"],[1,"heap:pop!"],[[0,"lambda"],[1,"heap"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"bottom"],[[0,"-"],[[0,"length"],[1,"heap"]],[2,1]]],[[0,"if"],[[0,">"],[1,"bottom"],[1,"heap:top"]],[[0,"array:swap!"],[1,"heap"],[1,"heap:top"],[1,"bottom"]],[1,"nil"]],[[0,"array:pop!"],[1,"heap"]],[[0,"heap:sift-down!"],[1,"heap"],[1,"cb"]],[1,"heap"]]]],[[0,"let"],[1,"heap:replace!"],[[0,"lambda"],[1,"heap"],[1,"value"],[1,"cb"],[[0,"do"],[[0,"set!"],[1,"heap"],[1,"heap:top"],[1,"value"]],[[0,"heap:sift-down!"],[1,"heap"],[1,"cb"]],[1,"heap"]]]],[[0,"let"],[1,"heap:empty?"],[1,"array:empty?"]],[[0,"let"],[1,"heap:not-empty?"],[1,"array:not-empty?"]],[[0,"let"],[1,"heap:empty!"],[1,"array:empty!"]],[[0,"let"],[1,"from:array->heap"],[[0,"lambda"],[1,"xs"],[1,"cb"],[[0,"do"],[[0,"let"],[1,"heap"],[[0,"array"]]],[[0,"array:for"],[1,"xs"],[[0,"lambda"],[1,"x"],[[0,"heap:push!"],[1,"heap"],[1,"x"],[1,"cb"]]]],[1,"heap"]]]],[[0,"let"],[1,"optimization:tail-call-loop"],[[0,"lambda"],[1,"result"],[[0,"do"],[[0,"loop"],[[0,"lambda?"],[[0,"var:get"],[1,"result"]]],[[0,"var:set!"],[1,"result"],[[0,"apply"],[[0,"var:get"],[1,"result"]]]]],[[0,"var:get"],[1,"result"]]]]],[[0,"let"],[1,"optimization:tail-calls-0"],[[0,"lambda"],[1,"fn"],[[0,"lambda"],[[0,"optimization:tail-call-loop"],[[0,"var:def"],[[0,"fn"]]]]]]],[[0,"let"],[1,"optimization:tail-calls-1"],[[0,"lambda"],[1,"fn"],[[0,"lambda"],[1,"a"],[[0,"optimization:tail-call-loop"],[[0,"var:def"],[[0,"fn"],[1,"a"]]]]]]],[[0,"let"],[1,"optimization:tail-calls-2"],[[0,"lambda"],[1,"fn"],[[0,"lambda"],[1,"a"],[1,"b"],[[0,"optimization:tail-call-loop"],[[0,"var:def"],[[0,"fn"],[1,"a"],[1,"b"]]]]]]],[[0,"let"],[1,"optimization:tail-calls-3"],[[0,"lambda"],[1,"fn"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"c"],[[0,"optimization:tail-call-loop"],[[0,"var:def"],[[0,"fn"],[1,"a"],[1,"b"],[1,"c"]]]]]]],[[0,"let"],[1,"optimization:tail-calls-4"],[[0,"lambda"],[1,"fn"],[[0,"lambda"],[1,"a"],[1,"b"],[1,"c"],[1,"d"],[[0,"optimization:tail-call-loop"],[[0,"var:def"],[[0,"fn"],[1,"a"],[1,"b"],[1,"c"],[1,"d"]]]]]]],[[0,"let"],[1,"option:error?"],[[0,"lambda"],[1,"x"],[[0,">"],[[0,"length"],[[0,"array:second"],[1,"x"]]],[2,0]]]],[[0,"let"],[1,"option:value?"],[[0,"lambda"],[1,"x"],[[0,">"],[[0,"length"],[[0,"array:first"],[1,"x"]]],[2,0]]]],[[0,"let"],[1,"option:value"],[[0,"lambda"],[1,"x"],[[0,"array:first"],[[0,"array:first"],[1,"x"]]]]],[[0,"let"],[1,"option:error"],[[0,"lambda"],[1,"x"],[[0,"array:second"],[1,"x"]]]],[[0,"let"],[1,"new:ring-buffer"],[[0,"lambda"],[1,"len"],[[0,"do"],[[0,"let"],[1,"pointer"],[[0,"math:var-def"],[2,0]]],[[0,"let"],[1,"buffer"],[[0,"array"]]],[[0,"array"],[[0,"lambda"],[1,"index"],[[0,"get"],[1,"buffer"],[1,"index"]]],[[0,"lambda"],[1,"item"],[[0,"do"],[[0,"let"],[1,"pt"],[[0,"math:var-get"],[1,"pointer"]]],[[0,"set!"],[1,"buffer"],[1,"pt"],[1,"item"]],[[0,"math:var-set!"],[1,"pointer"],[[0,"mod"],[[0,"+"],[1,"len"],[[0,"+"],[1,"pt"],[2,1]]],[1,"len"]]],[1,"item"]]],[1,"buffer"]]]]],[[0,"let"],[1,"array:get"],[1,"get"]],[[0,"let"],[1,"array:length"],[1,"length"]],[[0,"let"],[1,"array:set!"],[1,"set!"]],[[0,"let"],[1,"array:remove-last!"],[1,"pop!"]],[[0,"let"],[1,"push!"],[[0,"lambda"],[1,"xs"],[1,"x"],[[0,"array:push!"],[1,"xs"],[1,"x"]]]],[[0,"let"],[1,"del!"],[[0,"lambda"],[1,"xs"],[[0,"pop!"],[1,"xs"]]]],[[0,"let"],[1,"array:del!"],[[0,"lambda"],[1,"xs"],[[0,"del!"],[1,"xs"]]]],[[0,"let"],[1,"equal?"],[1,"array:equal?"]],[[0,"let"],[1,"not-equal?"],[1,"array:not-equal?"]],[[0,"let"],[1,"array:at"],[[0,"lambda"],[1,"xs"],[1,"i"],[[0,"if"],[[0,"<"],[1,"i"],[2,0]],[[0,"get"],[1,"xs"],[[0,"+"],[[0,"length"],[1,"xs"]],[1,"i"]]],[[0,"get"],[1,"xs"],[1,"i"]]]]],[[0,"let"],[1,"array:head"],[[0,"lambda"],[1,"xs"],[[0,"get"],[1,"xs"],[2,0]]]],[[0,"let"],[1,"array:tail"],[[0,"lambda"],[1,"xs"],[[0,"do"],[[0,"let"],[1,"bounds"],[[0,"length"],[1,"xs"]]],[[0,"let"],[1,"recursive:array:tail"],[[0,"lambda"],[1,"i"],[1,"out"],[[0,"if"],[[0,"<"],[1,"i"],[1,"bounds"]],[[0,"recursive:array:tail"],[[0,"+"],[1,"i"],[2,1]],[[0,"set!"],[1,"out"],[[0,"length"],[1,"out"]],[[0,"get"],[1,"xs"],[1,"i"]]]],[1,"out"]]]],[[0,"recursive:array:tail"],[2,1],[[0,"array"]]]]]],[[0,"let"],[1,"array:car"],[1,"array:head"]],[[0,"let"],[1,"array:cdr"],[1,"array:tail"]],[[0,"let"],[1,"array:for-range"],[1,"loop:for-range"]],[[0,"let"],[1,"π"],[1,"math:pi"]],[[0,"let"],[1,"λ"],[1,"lambda"]],[[0,"let"],[1,"array?"],[[0,"lambda"],[1,"x"],[[0,"and"],[[0,"not"],[[0,"atom?"],[1,"x"]]],[[0,"not"],[[0,"lambda?"],[1,"x"]]]]]],[[0,"let"],[1,"char?"],[[0,"lambda"],[1,"cc"],[[0,"and"],[[0,"atom?"],[1,"cc"]],[[0,"and"],[[0,">="],[1,"cc"],[2,0]],[[0,"<"],[1,"cc"],[2,65535]]]]]],[[0,"let"],[1,"bool?"],[[0,"lambda"],[1,"x"],[[0,"and"],[[0,"atom?"],[1,"x"]],[[0,"or"],[[0,"="],[[0,"Any"],[1,"x"]],[2,0]],[[0,"="],[[0,"Any"],[1,"x"]],[2,1]]]]]],[[0,"let"],[1,"match:negative?"],[[0,"lambda"],[1,"str"],[[0,"="],[[0,"array:first"],[1,"str"]],[1,"char:minus"]]]],[[0,"let"],[1,"match:number?"],[[0,"lambda"],[1,"str"],[[0,"do"],[[0,"let"],[1,"negative?"],[[0,"match:negative?"],[1,"str"]]],[[0,"let"],[1,"digits"],[[0,"if"],[1,"negative?"],[[0,"array:tail"],[1,"str"]],[1,"str"]]],[[0,"array:every?"],[1,"digits"],[[0,"lambda"],[1,"digit"],[[0,"or"],[[0,"and"],[[0,">="],[1,"digit"],[1,"char:0"]],[[0,"<="],[1,"digit"],[1,"char:9"]]],[[0,"="],[1,"digit"],[1,"char:dot"]]]]]]]],[[0,"let"],[1,"match:digit?"],[[0,"lambda"],[1,"char"],[[0,"and"],[[0,">="],[1,"char"],[1,"char:0"]],[[0,"<="],[1,"char"],[1,"char:9"]]]]],[[0,"let"],[1,"match:digits?"],[[0,"lambda"],[1,"str"],[[0,"array:every?"],[1,"str"],[1,"match:digit?"]]]],[[0,"let"],[1,"ast:type"],[2,0]],[[0,"let"],[1,"ast:value"],[2,1]],[[0,"let"],[1,"ast:apply"],[2,0]],[[0,"let"],[1,"ast:word"],[2,1]],[[0,"let"],[1,"ast:atom"],[2,2]],[[0,"let"],[1,"ast:leaf"],[[0,"lambda"],[1,"type"],[1,"value"],[[0,"array"],[1,"type"],[1,"value"]]]],[[0,"let"],[1,"ast:leaf?"],[[0,"lambda"],[1,"arg"],[[0,"do"],[[0,"let"],[1,"c"],[[0,"array:head"],[1,"arg"]]],[[0,"and"],[[0,"atom?"],[1,"c"]],[[0,"or"],[[0,"="],[1,"c"],[1,"ast:apply"]],[[0,"or"],[[0,"="],[1,"c"],[1,"ast:atom"]],[[0,"="],[1,"c"],[1,"ast:word"]]]]]]]],[[0,"let"],[1,"from:chars->ast"],[[0,"lambda"],[1,"source"],[[0,"do"],[[0,"let"],[1,"tree"],[[0,"array"]]],[[0,"let"],[1,"stack"],[[0,"array"],[1,"tree"]]],[[0,"let"],[1,"head"],[[0,"var:def"],[1,"tree"]]],[[0,"let"],[1,"acc"],[[0,"array"]]],[[0,"loop:for-n"],[[0,"length"],[1,"source"]],[[0,"lambda"],[1,"i"],[[0,"do"],[[0,"let"],[1,"cursor"],[[0,"get"],[1,"source"],[1,"i"]]],[[0,"if"],[[0,"="],[1,"cursor"],[1,"char:left-brace"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"temp"],[[0,"array"]]],[[0,"let"],[1,"h"],[[0,"var:get"],[1,"head"]]],[[0,"array:push!"],[1,"h"],[1,"temp"]],[[0,"array:push!"],[1,"stack"],[1,"h"]],[[0,"var:set!"],[1,"head"],[1,"temp"]]]]],[[0,"if"],[[0,"or"],[[0,"="],[1,"cursor"],[1,"char:right-brace"]],[[0,"="],[1,"cursor"],[1,"char:space"]]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"token"],[[0,"array:shallow-copy"],[1,"acc"]]],[[0,"array:empty!"],[1,"acc"]],[[0,"if"],[[0,"array:not-empty?"],[1,"token"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"h"],[[0,"var:get"],[1,"head"]]],[[0,"if"],[[0,"array:empty?"],[1,"h"]],[[0,"array:push!"],[1,"h"],[[0,"ast:leaf"],[1,"ast:apply"],[1,"token"]]],[[0,"if"],[[0,"match:number?"],[1,"token"]],[[0,"array:push!"],[1,"h"],[[0,"ast:leaf"],[1,"ast:atom"],[[0,"from:string->float"],[1,"token"]]]],[[0,"array:push!"],[1,"h"],[[0,"ast:leaf"],[1,"ast:word"],[1,"token"]]]]]]]],[1,"nil"]],[[0,"if"],[[0,"="],[1,"cursor"],[1,"char:right-brace"]],[[0,"var:set!"],[1,"head"],[[0,"array:pop!"],[1,"stack"]]],[1,"nil"]]]]],[[0,"array:push!"],[1,"acc"],[1,"cursor"]]]]]]],[1,"tree"]]]],[[0,"let"],[1,"special-form:let"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"do"],[[0,"let"],[1,"name"],[[0,"get"],[[0,"get"],[1,"args"],[2,0]],[1,"ast:value"]]],[[0,"let"],[1,"val"],[[0,"Any"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]],[[0,"map:set!"],[[0,"list:head"],[1,"env"]],[1,"name"],[1,"val"]],[1,"val"]]]],[[0,"let"],[1,"special-form:lambda"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"do"],[[0,"let"],[1,"params"],[[0,"array:slice"],[1,"args"],[2,0],[[0,"-"],[[0,"length"],[1,"args"]],[2,1]]]],[[0,"let"],[1,"body"],[[0,"array:at"],[1,"args"],[2,-1]]],[[0,"lambda"],[1,"props"],[1,"scope"],[[0,"do"],[[0,"let"],[1,"local"],[[0,"prototype:create!"],[1,"env"]]],[[0,"loop:for-n"],[[0,"length"],[1,"props"]],[[0,"lambda"],[1,"i"],[[0,"map:set!"],[[0,"list:head"],[1,"local"]],[[0,"get"],[[0,"get"],[1,"params"],[1,"i"]],[1,"ast:value"]],[[0,"Any"],[[0,"evaluate"],[[0,"get"],[1,"props"],[1,"i"]],[1,"scope"]]]]]],[[0,"evaluate"],[1,"body"],[1,"local"]]]]]]],[[0,"let"],[1,"special-form:apply"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"do"],[[0,"let"],[1,"application"],[[0,"Any"],[[0,"evaluate"],[[0,"array:head"],[1,"args"]],[1,"env"]]]],[[0,"application"],[[0,"array:tail"],[1,"args"]],[1,"env"]]]]],[[0,"let"],[1,"special-form:array"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"array:map"],[1,"args"],[[0,"lambda"],[1,"arg"],[[0,"Any"],[[0,"evaluate"],[1,"arg"],[1,"env"]]]]]]],[[0,"let"],[1,"special-form:length"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"length"],[[0,"Collection"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:get"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"get"],[[0,"Collection"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:set!"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"set!"],[[0,"Collection"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]],[[0,"Any"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,2]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:pop!"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"array:del!"],[[0,"Collection"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:equal?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"="],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:add"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"+"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:subtract"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"-"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:multiply"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"*"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:divide"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"/"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:greater-than?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,">"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:less-than?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"<"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:greater-than-or-equal?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,">="],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:less-than-or-equal?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"<="],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:mod"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"mod"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-and"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"&"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-or"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"|"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-xor"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"^"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-right-shift"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,">>"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-left-shift"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"<<"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:bit-wise-not"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"~"],[[0,"Number"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:do"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"array:first"],[[0,"array:transform"],[1,"args"],[[0,"lambda"],[1,"a"],[1,"arg"],[[0,"set!"],[1,"a"],[2,0],[[0,"Any"],[[0,"evaluate"],[1,"arg"],[1,"env"]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"special-form:if"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"if"],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,2]],[1,"env"]]]]],[[0,"let"],[1,"special-form:and?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"and"],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:or?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"or"],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]]],[[0,"let"],[1,"special-form:loop"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"loop"],[[0,"Boolean"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,1]],[1,"env"]]]]],[[0,"let"],[1,"special-form:atom?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"atom?"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]]]],[[0,"let"],[1,"special-form:lambda?"],[[0,"lambda"],[1,"args"],[1,"env"],[[0,"lambda?"],[[0,"evaluate"],[[0,"get"],[1,"args"],[2,0]],[1,"env"]]]]],[[0,"let"],[1,"keywords"],[[0,"new:map"],[[0,"array"],[[0,"array"],[2,108],[2,101],[2,116]],[1,"special-form:let"],[[0,"array"],[2,108],[2,97],[2,109],[2,98],[2,100],[2,97]],[1,"special-form:lambda"],[[0,"array"],[2,97],[2,112],[2,112],[2,108],[2,121]],[1,"special-form:apply"],[[0,"array"],[2,97],[2,114],[2,114],[2,97],[2,121]],[1,"special-form:array"],[[0,"array"],[2,108],[2,101],[2,110],[2,103],[2,116],[2,104]],[1,"special-form:length"],[[0,"array"],[2,103],[2,101],[2,116]],[1,"special-form:get"],[[0,"array"],[2,115],[2,101],[2,116],[2,33]],[1,"special-form:set!"],[[0,"array"],[2,112],[2,111],[2,112],[2,33]],[1,"special-form:pop!"],[[0,"array"],[2,61]],[1,"special-form:equal?"],[[0,"array"],[2,43]],[1,"special-form:add"],[[0,"array"],[2,45]],[1,"special-form:subtract"],[[0,"array"],[2,42]],[1,"special-form:multiply"],[[0,"array"],[2,47]],[1,"special-form:divide"],[[0,"array"],[2,62]],[1,"special-form:greater-than?"],[[0,"array"],[2,60]],[1,"special-form:less-than?"],[[0,"array"],[2,62],[2,61]],[1,"special-form:greater-than-or-equal?"],[[0,"array"],[2,60],[2,61]],[1,"special-form:less-than-or-equal?"],[[0,"array"],[2,109],[2,111],[2,100]],[1,"special-form:mod"],[[0,"array"],[2,38]],[1,"special-form:bit-wise-and"],[[0,"array"],[2,124]],[1,"special-form:bit-wise-or"],[[0,"array"],[2,94]],[1,"special-form:bit-wise-xor"],[[0,"array"],[2,62],[2,62]],[1,"special-form:bit-wise-right-shift"],[[0,"array"],[2,60],[2,60]],[1,"special-form:bit-wise-left-shift"],[[0,"array"],[2,126]],[1,"special-form:bit-wise-not"],[[0,"array"],[2,100],[2,111]],[1,"special-form:do"],[[0,"array"],[2,105],[2,102]],[1,"special-form:if"],[[0,"array"],[2,97],[2,110],[2,100]],[1,"special-form:and?"],[[0,"array"],[2,111],[2,114]],[1,"special-form:or?"],[[0,"array"],[2,108],[2,111],[2,111],[2,112]],[1,"special-form:loop"],[[0,"array"],[2,97],[2,116],[2,111],[2,109],[2,63]],[1,"special-form:atom?"],[[0,"array"],[2,108],[2,97],[2,109],[2,98],[2,100],[2,97],[2,63]],[1,"special-form:lambda?"]]]],[[0,"let"],[1,"prototype:get"],[[0,"lambda"],[1,"_arg1"],[1,"key"],[[0,"do"],[[0,"let"],[1,"head"],[[0,"get"],[1,"_arg1"],[2,0]]],[[0,"let"],[1,"tail"],[[0,"get"],[1,"_arg1"],[2,1]]],[[0,"if"],[[0,"map:has?"],[1,"head"],[1,"key"]],[[0,"map:get"],[1,"head"],[1,"key"]],[[0,"prototype:get"],[1,"tail"],[1,"key"]]]]]],[[0,"let"],[1,"prototype:create!"],[[0,"lambda"],[1,"xs"],[[0,"list:merge!"],[[0,"array"],[[0,"new:map4"]],[[0,"array"]]],[1,"xs"]]]],[[0,"let"],[1,"evaluate"],[[0,"lambda"],[1,"exp"],[1,"env"],[[0,"do"],[[0,"let"],[1,"expression"],[[0,"if"],[[0,"and"],[[0,"array?"],[1,"exp"]],[[0,"ast:leaf?"],[1,"exp"]]],[[0,"array"],[1,"exp"]],[1,"exp"]]],[[0,"if"],[[0,"array:not-empty?"],[1,"expression"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"head"],[[0,"array:head"],[1,"expression"]]],[[0,"let"],[1,"tail"],[[0,"array:tail"],[1,"expression"]]],[[0,"let"],[1,"pattern"],[[0,"get"],[1,"head"],[1,"ast:type"]]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:word"]],[[0,"prototype:get"],[1,"env"],[[0,"get"],[1,"head"],[1,"ast:value"]]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:apply"]],[[0,"apply"],[1,"tail"],[1,"env"],[[0,"prototype:get"],[1,"env"],[[0,"get"],[1,"head"],[1,"ast:value"]]]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:atom"]],[[0,"get"],[1,"head"],[1,"ast:value"]],[[0,"if"],[[0,"not"],[2,0]],[[0,"array"]],[[0,"Any"],[1,"nil"]]]]]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"ast:stringify"],[[0,"lambda"],[1,"args"],[[0,"if"],[[0,"ast:leaf?"],[1,"args"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"type"],[[0,"get"],[1,"args"],[2,0]]],[[0,"let"],[1,"value"],[[0,"get"],[1,"args"],[2,1]]],[[0,"array"],[1,"type"],[[0,"if"],[[0,"="],[1,"type"],[1,"ast:atom"]],[1,"value"],[[0,"string"],[1,"value"]]]]]]],[[0,"array:map"],[1,"args"],[1,"ast:stringify"]]]]],[[0,"let"],[1,"ast:get-name"],[[0,"lambda"],[1,"args"],[[0,"array:second"],[[0,"array:first"],[1,"args"]]]]],[[0,"let"],[1,"ast:traverse"],[[0,"lambda"],[1,"exp"],[1,"env"],[1,"atom"],[1,"word"],[1,"application"],[[0,"do"],[[0,"let"],[1,"expression"],[[0,"if"],[[0,"and"],[[0,"array?"],[1,"exp"]],[[0,"ast:leaf?"],[1,"exp"]]],[[0,"array"],[1,"exp"]],[1,"exp"]]],[[0,"if"],[[0,"array:not-empty?"],[1,"expression"]],[[0,"apply"],[[0,"lambda"],[[0,"do"],[[0,"let"],[1,"head"],[[0,"array:head"],[1,"expression"]]],[[0,"let"],[1,"tail"],[[0,"array:tail"],[1,"expression"]]],[[0,"let"],[1,"pattern"],[[0,"get"],[1,"head"],[1,"ast:type"]]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:word"]],[[0,"word"],[[0,"get"],[1,"head"],[1,"ast:value"]]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:apply"]],[[0,"application"],[[0,"get"],[1,"head"],[1,"ast:value"]],[1,"tail"]],[[0,"if"],[[0,"="],[1,"pattern"],[1,"ast:atom"]],[[0,"atom"],[[0,"get"],[1,"head"],[1,"ast:value"]]],[[0,"if"],[[0,"not"],[2,0]],[[0,"array"]],[[0,"Any"],[1,"nil"]]]]]],[[0,"array:for"],[1,"tail"],[[0,"lambda"],[1,"x"],[[0,"ast:traverse"],[1,"x"],[1,"env"],[1,"atom"],[1,"word"],[1,"application"]]]]]]],[[0,"array"]]]]]],[[0,"let"],[1,"lisp:parse"],[[0,"lambda"],[1,"source"],[[0,"from:chars->ast"],[[0,"array:spaces"],[[0,"array:exclude"],[[0,"string:lines"],[1,"source"]],[1,"array:empty?"]]]]]],[[0,"let"],[1,"lisp:eval"],[[0,"lambda"],[1,"source"],[[0,"apply"],[[0,"lisp:parse"],[1,"source"]],[[0,"array"],[1,"keywords"],[[0,"array"]]],[[0,"map:get"],[1,"keywords"],[[0,"array"],[2,100],[2,111]]]]]]]]]]