fez-lisp 1.0.22 → 1.0.23
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/baked/std.js +1 -1
- package/package.json +1 -1
- package/src/compiler.js +6 -8
- package/src/enums.js +2 -2
- package/src/interpreter.js +2 -1
- package/src/parser.js +9 -14
- package/src/tokeniser.js +8 -6
- package/src/utils.js +22 -16
package/lib/baked/std.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export default [[{"t":"f","v":"let"},{"t":"w","v":"math:E"},{"t":"a","v":2.718281828459045}],[{"t":"f","v":"let"},{"t":"w","v":"math:PI"},{"t":"a","v":3.141592653589793}],[{"t":"f","v":"let*"},{"t":"w","v":"array:for"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"when"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"do"},[{"t":"f","v":"callback"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]],[{"t":"f","v":"array:for"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}],{"t":"w","v":"callback"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:map"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"out"},[{"t":"f","v":"if"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}],[{"t":"f","v":"array:merge"},{"t":"w","v":"out"},[{"t":"f","v":"array"},[{"t":"f","v":"callback"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]]]]],{"t":"w","v":"out"}]]],[{"t":"f","v":"iterate"},{"t":"w","v":"arr"},[]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:select"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"out"},[{"t":"f","v":"if"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}],[{"t":"f","v":"if"},[{"t":"f","v":"callback"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]],[{"t":"f","v":"array:merge"},{"t":"w","v":"out"},[{"t":"f","v":"array"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]]],{"t":"w","v":"out"}]],{"t":"w","v":"out"}]]],[{"t":"f","v":"iterate"},{"t":"w","v":"arr"},[]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:exclude"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"out"},[{"t":"f","v":"if"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}],[{"t":"f","v":"if"},[{"t":"f","v":"not"},[{"t":"f","v":"callback"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]]],[{"t":"f","v":"array:merge"},{"t":"w","v":"out"},[{"t":"f","v":"array"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]]],{"t":"w","v":"out"}]],{"t":"w","v":"out"}]]],[{"t":"f","v":"iterate"},{"t":"w","v":"arr"},[]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},{"t":"w","v":"initial"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"out"},[{"t":"f","v":"if"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}],[{"t":"f","v":"callback"},{"t":"w","v":"out"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]]],{"t":"w","v":"out"}]]],[{"t":"f","v":"iterate"},{"t":"w","v":"arr"},{"t":"w","v":"initial"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:every?"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"if"},[{"t":"f","v":"and"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"callback"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]]],[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}]],[{"t":"f","v":"not"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}]]]]],[{"t":"f","v":"iterate"},{"t":"w","v":"arr"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:some?"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"if"},[{"t":"f","v":"and"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"not"},[{"t":"f","v":"callback"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]]]],[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}]],[{"t":"f","v":"type"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],{"t":"w","v":"boolean"}]]]],[{"t":"f","v":"iterate"},{"t":"w","v":"arr"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:find"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"if"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"if"},[{"t":"f","v":"callback"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]],[{"t":"f","v":"car"},{"t":"w","v":"arr"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}]]],[]]]],[{"t":"f","v":"iterate"},{"t":"w","v":"arr"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:has?"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"when"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"if"},[{"t":"f","v":"callback"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]],{"t":"a","v":1},[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}]]]]]],[{"t":"f","v":"iterate"},{"t":"w","v":"arr"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:reverse"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"out"},[{"t":"f","v":"if"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}],[{"t":"f","v":"array:merge"},[{"t":"f","v":"array"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]],{"t":"w","v":"out"}]],{"t":"w","v":"out"}]]],[{"t":"f","v":"iterate"},{"t":"w","v":"arr"},[]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:range"},[{"t":"f","v":"lambda"},{"t":"w","v":"start"},{"t":"w","v":"end"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"out"},{"t":"w","v":"count"},[{"t":"f","v":"if"},[{"t":"f","v":"<="},{"t":"w","v":"count"},{"t":"w","v":"end"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"array:merge"},{"t":"w","v":"out"},[{"t":"f","v":"array"},{"t":"w","v":"count"}]],[{"t":"f","v":"+"},{"t":"w","v":"count"},{"t":"a","v":1}]],{"t":"w","v":"out"}]]],[{"t":"f","v":"iterate"},[],{"t":"w","v":"start"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:sequence"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"end"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}]],[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"out"},{"t":"w","v":"count"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},[{"t":"f","v":"length"},{"t":"w","v":"out"}],{"t":"w","v":"end"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"array:merge"},{"t":"w","v":"out"},[{"t":"f","v":"array"},{"t":"w","v":"count"}]],[{"t":"f","v":"+"},{"t":"w","v":"count"},{"t":"a","v":1}]],{"t":"w","v":"out"}]]],[{"t":"f","v":"iterate"},[],{"t":"a","v":0}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:sequence-n"},[{"t":"f","v":"lambda"},{"t":"w","v":"n"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"out"},{"t":"w","v":"count"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},[{"t":"f","v":"length"},{"t":"w","v":"out"}],{"t":"w","v":"n"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"array:merge"},{"t":"w","v":"out"},[{"t":"f","v":"array"},{"t":"w","v":"count"}]],[{"t":"f","v":"+"},{"t":"w","v":"count"},{"t":"a","v":1}]],{"t":"w","v":"out"}]]],[{"t":"f","v":"iterate"},[],{"t":"a","v":0}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:unique"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"pi"},[{"t":"f","v":"let"},{"t":"w","v":"sorted"},[{"t":"f","v":"array:sort"},{"t":"w","v":"arr"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":">"},{"t":"w","v":"a"},{"t":"w","v":"b"}]]]],[{"t":"f","v":"array:zip"},[{"t":"f","v":"math:sequence"},{"t":"w","v":"sorted"}]],[{"t":"f","v":"array:select"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"or"},[{"t":"f","v":"not"},[{"t":"f","v":"let"},{"t":"w","v":"index"},[{"t":"f","v":"car"},[{"t":"f","v":"cdr"},{"t":"w","v":"x"}]]]],[{"t":"f","v":"not"},[{"t":"f","v":"="},[{"t":"f","v":"array:get"},{"t":"w","v":"sorted"},[{"t":"f","v":"-"},{"t":"w","v":"index"},{"t":"a","v":1}]],[{"t":"f","v":"array:get"},{"t":"w","v":"sorted"},{"t":"w","v":"index"}]]]]]],[{"t":"f","v":"array:map"},{"t":"w","v":"car"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:for-range"},[{"t":"f","v":"lambda"},{"t":"w","v":"start"},{"t":"w","v":"end"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"i"},[{"t":"f","v":"when"},[{"t":"f","v":"<"},{"t":"w","v":"i"},{"t":"w","v":"end"}],[{"t":"f","v":"do"},[{"t":"f","v":"callback"},{"t":"w","v":"i"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}]]]]]],[{"t":"f","v":"iterate"},{"t":"w","v":"start"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:traverse"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},{"t":"w","v":"callback"},[{"t":"f","v":"if"},[{"t":"f","v":"atom?"},{"t":"w","v":"x"}],[{"t":"f","v":"callback"},{"t":"w","v":"x"}],[{"t":"f","v":"iterate"},{"t":"w","v":"x"},[{"t":"f","v":"lambda"},{"t":"w","v":"y"},[{"t":"f","v":"array:traverse"},{"t":"w","v":"y"},{"t":"w","v":"callback"}]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:summation"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"array:fold"},{"t":"w","v":"arr"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"+"},{"t":"w","v":"a"},{"t":"w","v":"b"}]],[{"t":"f","v":"+"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:product"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"array:fold"},{"t":"w","v":"arr"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"*"},{"t":"w","v":"a"},{"t":"w","v":"b"}]],[{"t":"f","v":"*"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:maximum"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"array:fold"},{"t":"w","v":"arr"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":">"},{"t":"w","v":"a"},{"t":"w","v":"b"}],{"t":"w","v":"a"},{"t":"w","v":"b"}]],[{"t":"f","v":"car"},{"t":"w","v":"arr"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:minimum"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"array:fold"},{"t":"w","v":"arr"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},{"t":"w","v":"a"},{"t":"w","v":"b"}],{"t":"w","v":"a"},{"t":"w","v":"b"}]],[{"t":"f","v":"car"},{"t":"w","v":"arr"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:max"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":">"},{"t":"w","v":"a"},{"t":"w","v":"b"}],{"t":"w","v":"a"},{"t":"w","v":"b"}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:min"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},{"t":"w","v":"a"},{"t":"w","v":"b"}],{"t":"w","v":"a"},{"t":"w","v":"b"}]]],[{"t":"f","v":"let"},{"t":"w","v":"array:count-of"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"pi"},{"t":"w","v":"arr"},[{"t":"f","v":"array:select"},{"t":"w","v":"callback"}],[{"t":"f","v":"length"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:increment"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"i"},[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:floor"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"n"},[{"t":"f","v":"|"},{"t":"w","v":"n"},{"t":"a","v":0}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:round"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"n"},[{"t":"f","v":"|"},[{"t":"f","v":"+"},{"t":"w","v":"n"},{"t":"a","v":0.5}],{"t":"a","v":0}]]],[{"t":"f","v":"let"},{"t":"w","v":"array:empty?"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"not"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:empty!"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},[{"t":"f","v":"if"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"do"},[{"t":"f","v":"array:set!"},{"t":"w","v":"arr"},{"t":"a","v":-1}],[{"t":"f","v":"iterate"}]],{"t":"w","v":"arr"}]]],[{"t":"f","v":"iterate"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:in-bounds?"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"index"},[{"t":"f","v":"and"},[{"t":"f","v":"<"},{"t":"w","v":"index"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}]],[{"t":"f","v":">="},{"t":"w","v":"index"},{"t":"a","v":0}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:largest-power"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"N"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"N1"},[{"t":"f","v":"|"},{"t":"w","v":"N"},[{"t":"f","v":">>"},{"t":"w","v":"N"},{"t":"a","v":1}]]],[{"t":"f","v":"let"},{"t":"w","v":"N2"},[{"t":"f","v":"|"},{"t":"w","v":"N1"},[{"t":"f","v":">>"},{"t":"w","v":"N1"},{"t":"a","v":2}]]],[{"t":"f","v":"let"},{"t":"w","v":"N3"},[{"t":"f","v":"|"},{"t":"w","v":"N2"},[{"t":"f","v":">>"},{"t":"w","v":"N2"},{"t":"a","v":4}]]],[{"t":"f","v":"let"},{"t":"w","v":"N4"},[{"t":"f","v":"|"},{"t":"w","v":"N3"},[{"t":"f","v":">>"},{"t":"w","v":"N3"},{"t":"a","v":8}]]],[{"t":"f","v":">>"},[{"t":"f","v":"+"},{"t":"w","v":"N4"},{"t":"a","v":1}],{"t":"a","v":1}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:set-bit"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"n"},{"t":"w","v":"bit"},[{"t":"f","v":"|"},{"t":"w","v":"n"},[{"t":"f","v":"<<"},{"t":"a","v":1},{"t":"w","v":"bit"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:clear-bit"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"n"},{"t":"w","v":"bit"},[{"t":"f","v":"&"},{"t":"w","v":"n"},[{"t":"f","v":"~"},[{"t":"f","v":"<<"},{"t":"a","v":1},{"t":"w","v":"bit"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:odd-bit?"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"n"},[{"t":"f","v":"="},[{"t":"f","v":"&"},{"t":"w","v":"n"},{"t":"a","v":1}],{"t":"a","v":1}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:average-bit"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":">>"},[{"t":"f","v":"+"},{"t":"w","v":"a"},{"t":"w","v":"b"}],{"t":"a","v":1}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:toggle-bit"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"n"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"^"},{"t":"w","v":"a"},{"t":"w","v":"b"},{"t":"w","v":"n"}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:same-sign-bit?"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":">="},[{"t":"f","v":"^"},{"t":"w","v":"a"},{"t":"w","v":"b"}],{"t":"a","v":0}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:max-bit"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"-"},{"t":"w","v":"a"},[{"t":"f","v":"&"},[{"t":"f","v":"-"},{"t":"w","v":"a"},{"t":"w","v":"b"}],[{"t":"f","v":">>"},[{"t":"f","v":"-"},{"t":"w","v":"a"},{"t":"w","v":"b"}],{"t":"a","v":31}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:min-bit"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"-"},{"t":"w","v":"a"},[{"t":"f","v":"&"},[{"t":"f","v":"-"},{"t":"w","v":"a"},{"t":"w","v":"b"}],[{"t":"f","v":">>"},[{"t":"f","v":"-"},{"t":"w","v":"b"},{"t":"w","v":"a"}],{"t":"a","v":31}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:modulo-bit"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"numerator"},{"t":"w","v":"divisor"},[{"t":"f","v":"&"},{"t":"w","v":"numerator"},[{"t":"f","v":"-"},{"t":"w","v":"divisor"},{"t":"a","v":1}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:n-one-bit?"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"N"},{"t":"w","v":"nth"},[{"t":"f","v":"type"},[{"t":"f","v":"&"},{"t":"w","v":"N"},[{"t":"f","v":"<<"},{"t":"a","v":1},{"t":"w","v":"nth"}]],{"t":"w","v":"boolean"}]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:string->chars"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"str"},[{"t":"f","v":"type"},{"t":"w","v":"str"},{"t":"w","v":"array"}]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:chars->string"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"array:fold"},{"t":"w","v":"arr"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"x"},[{"t":"f","v":"string:merge"},{"t":"w","v":"a"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"string"}]]],{"t":"a","v":""}]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:string->number"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"str"},[{"t":"f","v":"type"},{"t":"w","v":"str"},{"t":"w","v":"number"}]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:number->string"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"n"},[{"t":"f","v":"type"},{"t":"w","v":"n"},{"t":"w","v":"string"}]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:strings->numbers"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"array:map"},{"t":"w","v":"arr"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"number"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:numbers->strings"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"array:map"},{"t":"w","v":"arr"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"string"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:string->char-codes"},[{"t":"f","v":"lambda"},{"t":"w","v":"str"},[{"t":"f","v":"pi"},{"t":"w","v":"str"},[{"t":"f","v":"type"},{"t":"w","v":"array"}],[{"t":"f","v":"array:map"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"char-code"}]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:chars->char-codes"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"pi"},{"t":"w","v":"arr"},[{"t":"f","v":"array:map"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"char-code"}]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:chars->numbers"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"pi"},{"t":"w","v":"arr"},[{"t":"f","v":"array:map"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"number"}]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:char->number"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"ch"},[{"t":"f","v":"type"},{"t":"w","v":"ch"},{"t":"w","v":"number"}]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:char->char-code"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"ch"},[{"t":"f","v":"type"},{"t":"w","v":"ch"},{"t":"w","v":"char-code"}]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:char-code->char"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"ch"},[{"t":"f","v":"type"},{"t":"w","v":"ch"},{"t":"w","v":"char"}]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:char-codes->chars"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"pi"},{"t":"w","v":"arr"},[{"t":"f","v":"array:map"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"char"}]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:char-codes->string"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"pi"},{"t":"w","v":"arr"},[{"t":"f","v":"array:map"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"char"}]]],[{"t":"f","v":"cast:chars->string"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:square"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"*"},{"t":"w","v":"x"},{"t":"w","v":"x"}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:power"},[{"t":"f","v":"lambda"},{"t":"w","v":"base"},{"t":"w","v":"exp"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},{"t":"w","v":"exp"},{"t":"a","v":0}],[{"t":"f","v":"if"},[{"t":"f","v":"="},{"t":"w","v":"base"},{"t":"a","v":0}],[{"t":"f","v":"throw"},{"t":"a","v":"Attempting to divide by 0 in (math:power)"}],[{"t":"f","v":"/"},[{"t":"f","v":"*"},{"t":"w","v":"base"},[{"t":"f","v":"math:power"},{"t":"w","v":"base"},[{"t":"f","v":"-"},[{"t":"f","v":"*"},{"t":"w","v":"exp"},{"t":"a","v":-1}],{"t":"a","v":1}]]]]],[{"t":"f","v":"cond"},[{"t":"f","v":"="},{"t":"w","v":"exp"},{"t":"a","v":0}],{"t":"a","v":1},[{"t":"f","v":"="},{"t":"w","v":"exp"},{"t":"a","v":1}],{"t":"w","v":"base"},[{"t":"f","v":"*"}],[{"t":"f","v":"*"},{"t":"w","v":"base"},[{"t":"f","v":"math:power"},{"t":"w","v":"base"},[{"t":"f","v":"-"},{"t":"w","v":"exp"},{"t":"a","v":1}]]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:greatest-common-divisor"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"gcd"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":"="},{"t":"w","v":"b"},{"t":"a","v":0}],{"t":"w","v":"a"},[{"t":"f","v":"gcd"},{"t":"w","v":"b"},[{"t":"f","v":"mod"},{"t":"w","v":"a"},{"t":"w","v":"b"}]]]]],[{"t":"f","v":"gcd"},{"t":"w","v":"a"},{"t":"w","v":"b"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:least-common-divisor"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"*"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"/"},[{"t":"f","v":"math:greatest-common-divisor"},{"t":"w","v":"a"},{"t":"w","v":"b"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:sqrt"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"is-good-enough"},[{"t":"f","v":"lambda"},{"t":"w","v":"g"},{"t":"w","v":"x"},[{"t":"f","v":"<"},[{"t":"f","v":"math:abs"},[{"t":"f","v":"-"},[{"t":"f","v":"math:square"},{"t":"w","v":"g"}],{"t":"w","v":"x"}]],{"t":"a","v":0.01}]]],[{"t":"f","v":"let"},{"t":"w","v":"improve-guess"},[{"t":"f","v":"lambda"},{"t":"w","v":"g"},{"t":"w","v":"x"},[{"t":"f","v":"math:average"},{"t":"w","v":"g"},[{"t":"f","v":"*"},{"t":"w","v":"x"},[{"t":"f","v":"/"},{"t":"w","v":"g"}]]]]],[{"t":"f","v":"let*"},{"t":"w","v":"math:sqrt-iter"},[{"t":"f","v":"lambda"},{"t":"w","v":"g"},{"t":"w","v":"x"},[{"t":"f","v":"if"},[{"t":"f","v":"is-good-enough"},{"t":"w","v":"g"},{"t":"w","v":"x"}],{"t":"w","v":"g"},[{"t":"f","v":"math:sqrt-iter"},[{"t":"f","v":"improve-guess"},{"t":"w","v":"g"},{"t":"w","v":"x"}],{"t":"w","v":"x"}]]]],[{"t":"f","v":"math:sqrt-iter"},{"t":"a","v":1},{"t":"w","v":"x"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:circumference"},[{"t":"f","v":"lambda"},{"t":"w","v":"radius"},[{"t":"f","v":"*"},{"t":"w","v":"math:PI"},[{"t":"f","v":"*"},{"t":"w","v":"radius"},{"t":"a","v":2}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:hypotenuse"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"math:sqrt"},[{"t":"f","v":"+"},[{"t":"f","v":"*"},{"t":"w","v":"a"},{"t":"w","v":"a"}],[{"t":"f","v":"*"},{"t":"w","v":"b"},{"t":"w","v":"b"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:abs"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"n"},[{"t":"f","v":"-"},[{"t":"f","v":"^"},{"t":"w","v":"n"},[{"t":"f","v":">>"},{"t":"w","v":"n"},{"t":"a","v":31}]],[{"t":"f","v":">>"},{"t":"w","v":"n"},{"t":"a","v":31}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:nth-digit"},[{"t":"f","v":"lambda"},{"t":"w","v":"digit"},{"t":"w","v":"n"},[{"t":"f","v":"|"},[{"t":"f","v":"mod"},[{"t":"f","v":"/"},{"t":"w","v":"digit"},[{"t":"f","v":"math:power"},{"t":"a","v":10},[{"t":"f","v":"-"},{"t":"w","v":"n"},{"t":"a","v":1}]]],{"t":"a","v":10}],{"t":"a","v":0.5}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:normalize"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"value"},{"t":"w","v":"math:min"},{"t":"w","v":"math:max"},[{"t":"f","v":"*"},[{"t":"f","v":"-"},{"t":"w","v":"value"},{"t":"w","v":"math:min"}],[{"t":"f","v":"/"},[{"t":"f","v":"-"},{"t":"w","v":"math:max"},{"t":"w","v":"math:min"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:linear-interpolation"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},{"t":"w","v":"n"},[{"t":"f","v":"+"},[{"t":"f","v":"*"},[{"t":"f","v":"-"},{"t":"a","v":1},{"t":"w","v":"n"}],{"t":"w","v":"a"}],[{"t":"f","v":"*"},{"t":"w","v":"n"},{"t":"w","v":"b"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:gauss-sum"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"n"},[{"t":"f","v":"*"},{"t":"w","v":"n"},[{"t":"f","v":"+"},{"t":"w","v":"n"},{"t":"a","v":1}],{"t":"a","v":0.5}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:gauss-sum-sequance"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"*"},[{"t":"f","v":"+"},{"t":"w","v":"a"},{"t":"w","v":"b"}],[{"t":"f","v":"+"},[{"t":"f","v":"-"},{"t":"w","v":"b"},{"t":"w","v":"a"}],{"t":"a","v":1}],{"t":"a","v":0.5}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:clamp"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},{"t":"w","v":"limit"},[{"t":"f","v":"if"},[{"t":"f","v":">"},{"t":"w","v":"x"},{"t":"w","v":"limit"}],{"t":"w","v":"limit"},{"t":"w","v":"x"}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:odd?"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"="},[{"t":"f","v":"mod"},{"t":"w","v":"x"},{"t":"a","v":2}],{"t":"a","v":1}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:even?"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"="},[{"t":"f","v":"mod"},{"t":"w","v":"x"},{"t":"a","v":2}],{"t":"a","v":0}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:sign"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"n"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},{"t":"w","v":"n"},{"t":"a","v":0}],{"t":"a","v":-1},{"t":"a","v":1}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:radians"},[{"t":"f","v":"lambda"},{"t":"w","v":"deg"},[{"t":"f","v":"*"},{"t":"w","v":"deg"},{"t":"w","v":"math:PI"},[{"t":"f","v":"/"},{"t":"a","v":180}]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:average"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"x"},{"t":"w","v":"y"},[{"t":"f","v":"*"},[{"t":"f","v":"+"},{"t":"w","v":"x"},{"t":"w","v":"y"}],{"t":"a","v":0.5}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:euclidean-mod"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"mod"},[{"t":"f","v":"+"},[{"t":"f","v":"mod"},{"t":"w","v":"a"},{"t":"w","v":"b"}],{"t":"w","v":"b"}],{"t":"w","v":"b"}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:euclidean-distance"},[{"t":"f","v":"lambda"},{"t":"w","v":"x1"},{"t":"w","v":"y1"},{"t":"w","v":"x2"},{"t":"w","v":"y2"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"a"},[{"t":"f","v":"-"},{"t":"w","v":"x1"},{"t":"w","v":"x2"}]],[{"t":"f","v":"let"},{"t":"w","v":"b"},[{"t":"f","v":"-"},{"t":"w","v":"y1"},{"t":"w","v":"y2"}]],[{"t":"f","v":"math:sqrt"},[{"t":"f","v":"+"},[{"t":"f","v":"*"},{"t":"w","v":"a"},{"t":"w","v":"a"}],[{"t":"f","v":"*"},{"t":"w","v":"b"},{"t":"w","v":"b"}]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:manhattan-distance"},[{"t":"f","v":"lambda"},{"t":"w","v":"x1"},{"t":"w","v":"y1"},{"t":"w","v":"x2"},{"t":"w","v":"y2"},[{"t":"f","v":"+"},[{"t":"f","v":"math:abs"},[{"t":"f","v":"-"},{"t":"w","v":"x2"},{"t":"w","v":"x1"}]],[{"t":"f","v":"math:abs"},[{"t":"f","v":"-"},{"t":"w","v":"y2"},{"t":"w","v":"y1"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:positive?"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"num"},[{"t":"f","v":">"},{"t":"w","v":"num"},{"t":"a","v":0}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:negative?"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"num"},[{"t":"f","v":"<"},{"t":"w","v":"num"},{"t":"a","v":0}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:zero?"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"num"},[{"t":"f","v":"="},{"t":"w","v":"num"},{"t":"a","v":0}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:divisible?"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"="},[{"t":"f","v":"mod"},{"t":"w","v":"a"},{"t":"w","v":"b"}],{"t":"a","v":0}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:ascending?"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":">"},{"t":"w","v":"a"},{"t":"w","v":"b"}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:descending?"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"<"},{"t":"w","v":"a"},{"t":"w","v":"b"}]]],[{"t":"f","v":"let"},{"t":"w","v":"math:prime?"},[{"t":"f","v":"lambda"},{"t":"w","v":"n"},[{"t":"f","v":"cond"},[{"t":"f","v":"="},{"t":"w","v":"n"},{"t":"a","v":1}],{"t":"a","v":0},[{"t":"f","v":"<"},{"t":"w","v":"n"},{"t":"a","v":0}],{"t":"a","v":0},[{"t":"f","v":"*"}],[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iter"},[{"t":"f","v":"lambda"},{"t":"w","v":"i"},{"t":"w","v":"end"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"is-prime"},[{"t":"f","v":"not"},[{"t":"f","v":"="},[{"t":"f","v":"mod"},{"t":"w","v":"n"},{"t":"w","v":"i"}],{"t":"a","v":0}]]],[{"t":"f","v":"if"},[{"t":"f","v":"and"},[{"t":"f","v":"<="},{"t":"w","v":"i"},{"t":"w","v":"end"}],{"t":"w","v":"is-prime"}],[{"t":"f","v":"iter"},[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}],{"t":"w","v":"end"}],{"t":"w","v":"is-prime"}]]]],[{"t":"f","v":"or"},[{"t":"f","v":"="},{"t":"w","v":"n"},{"t":"a","v":2}],[{"t":"f","v":"iter"},{"t":"a","v":2},[{"t":"f","v":"math:sqrt"},{"t":"w","v":"n"}]]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:slice"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"start"},{"t":"w","v":"end"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"bounds"},[{"t":"f","v":"-"},{"t":"w","v":"end"},{"t":"w","v":"start"}]],[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"i"},{"t":"w","v":"out"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},{"t":"w","v":"i"},{"t":"w","v":"bounds"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}],[{"t":"f","v":"array:merge"},{"t":"w","v":"out"},[{"t":"f","v":"array"},[{"t":"f","v":"array:get"},{"t":"w","v":"arr"},[{"t":"f","v":"+"},{"t":"w","v":"start"},{"t":"w","v":"i"}]]]]],{"t":"w","v":"out"}]]],[{"t":"f","v":"iterate"},{"t":"a","v":0},[]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:binary-search"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"target"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"search"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"target"},{"t":"w","v":"start"},{"t":"w","v":"end"},[{"t":"f","v":"do"},[{"t":"f","v":"when"},[{"t":"f","v":"<="},{"t":"w","v":"start"},{"t":"w","v":"end"}],[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"index"},[{"t":"f","v":"math:floor"},[{"t":"f","v":"*"},[{"t":"f","v":"+"},{"t":"w","v":"start"},{"t":"w","v":"end"}],{"t":"a","v":0.5}]]],[{"t":"f","v":"let"},{"t":"w","v":"current"},[{"t":"f","v":"array:get"},{"t":"w","v":"arr"},{"t":"w","v":"index"}]],[{"t":"f","v":"if"},[{"t":"f","v":"="},{"t":"w","v":"target"},{"t":"w","v":"current"}],{"t":"w","v":"target"},[{"t":"f","v":"if"},[{"t":"f","v":">"},{"t":"w","v":"current"},{"t":"w","v":"target"}],[{"t":"f","v":"search"},{"t":"w","v":"arr"},{"t":"w","v":"target"},{"t":"w","v":"start"},[{"t":"f","v":"-"},{"t":"w","v":"index"},{"t":"a","v":1}]],[{"t":"f","v":"search"},{"t":"w","v":"arr"},{"t":"w","v":"target"},[{"t":"f","v":"+"},{"t":"w","v":"index"},{"t":"a","v":1}],{"t":"w","v":"end"}]]]]]]]],[{"t":"f","v":"search"},{"t":"w","v":"arr"},{"t":"w","v":"target"},{"t":"a","v":0},[{"t":"f","v":"length"},{"t":"w","v":"arr"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:zip"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"A"},{"t":"w","v":"B"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},{"t":"w","v":"output"},[{"t":"f","v":"if"},[{"t":"f","v":"and"},[{"t":"f","v":"length"},{"t":"w","v":"a"}],[{"t":"f","v":"length"},{"t":"w","v":"b"}]],[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"a"}],[{"t":"f","v":"cdr"},{"t":"w","v":"b"}],[{"t":"f","v":"array:merge"},{"t":"w","v":"output"},[{"t":"f","v":"array"},[{"t":"f","v":"array"},[{"t":"f","v":"car"},{"t":"w","v":"a"}],[{"t":"f","v":"car"},{"t":"w","v":"b"}]]]]],{"t":"w","v":"output"}]]],[{"t":"f","v":"iterate"},{"t":"w","v":"A"},{"t":"w","v":"B"},[]]]]],[{"t":"f","v":"let"},{"t":"w","v":"math:cartesian-product"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"array:fold"},{"t":"w","v":"a"},[{"t":"f","v":"lambda"},{"t":"w","v":"p"},{"t":"w","v":"x"},[{"t":"f","v":"array:merge"},{"t":"w","v":"p"},[{"t":"f","v":"array:map"},{"t":"w","v":"b"},[{"t":"f","v":"lambda"},{"t":"w","v":"y"},[{"t":"f","v":"array"},{"t":"w","v":"x"},{"t":"w","v":"y"}]]]]],[]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:equal?"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"or"},[{"t":"f","v":"and"},[{"t":"f","v":"number?"},{"t":"w","v":"a"}],[{"t":"f","v":"number?"},{"t":"w","v":"b"}],[{"t":"f","v":"="},{"t":"w","v":"a"},{"t":"w","v":"b"}]],[{"t":"f","v":"and"},[{"t":"f","v":"string?"},{"t":"w","v":"a"}],[{"t":"f","v":"string?"},{"t":"w","v":"b"}],[{"t":"f","v":"string:equal?"},{"t":"w","v":"a"},{"t":"w","v":"b"}]],[{"t":"f","v":"and"},[{"t":"f","v":"array?"},{"t":"w","v":"a"}],[{"t":"f","v":"="},[{"t":"f","v":"length"},{"t":"w","v":"a"}],[{"t":"f","v":"length"},{"t":"w","v":"b"}]],[{"t":"f","v":"not"},[{"t":"f","v":"array:some?"},[{"t":"f","v":"math:sequence"},{"t":"w","v":"a"}],[{"t":"f","v":"lambda"},{"t":"w","v":"i"},[{"t":"f","v":"not"},[{"t":"f","v":"array:equal?"},[{"t":"f","v":"array:get"},{"t":"w","v":"a"},{"t":"w","v":"i"}],[{"t":"f","v":"array:get"},{"t":"w","v":"b"},{"t":"w","v":"i"}]]]]]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:join"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"delim"},[{"t":"f","v":"array:fold"},[{"t":"f","v":"array:zip"},{"t":"w","v":"arr"},[{"t":"f","v":"math:sequence"},{"t":"w","v":"arr"}]],[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":">"},[{"t":"f","v":"car"},[{"t":"f","v":"cdr"},{"t":"w","v":"b"}]],{"t":"a","v":0}],[{"t":"f","v":"string:merge"},{"t":"w","v":"a"},{"t":"w","v":"delim"},[{"t":"f","v":"type"},[{"t":"f","v":"car"},{"t":"w","v":"b"}],{"t":"w","v":"string"}]],[{"t":"f","v":"type"},[{"t":"f","v":"car"},{"t":"w","v":"b"}],{"t":"w","v":"string"}]]],{"t":"a","v":""}]]],[{"t":"f","v":"let"},{"t":"w","v":"array:flat"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"flatten"},[{"t":"f","v":"lambda"},{"t":"w","v":"item"},[{"t":"f","v":"if"},[{"t":"f","v":"and"},[{"t":"f","v":"array?"},{"t":"w","v":"item"}],[{"t":"f","v":"length"},{"t":"w","v":"item"}]],[{"t":"f","v":"array:fold"},{"t":"w","v":"item"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"array:merge"},{"t":"w","v":"a"},[{"t":"f","v":"flatten"},{"t":"w","v":"b"}]]],[]],[{"t":"f","v":"array"},{"t":"w","v":"item"}]]]],[{"t":"f","v":"flatten"},{"t":"w","v":"arr"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:sort"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"if"},[{"t":"f","v":"<="},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],{"t":"a","v":1}],{"t":"w","v":"arr"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"pivot"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]],[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"i"},{"t":"w","v":"bounds"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"current"},[{"t":"f","v":"array:get"},{"t":"w","v":"arr"},{"t":"w","v":"i"}]],[{"t":"f","v":"let"},{"t":"w","v":"predicate"},[{"t":"f","v":"callback"},{"t":"w","v":"current"},{"t":"w","v":"pivot"}]],[{"t":"f","v":"let"},{"t":"w","v":"left"},[{"t":"f","v":"if"},[{"t":"f","v":"="},{"t":"w","v":"predicate"},{"t":"a","v":0}],[{"t":"f","v":"array:merge"},{"t":"w","v":"a"},[{"t":"f","v":"array"},{"t":"w","v":"current"}]],{"t":"w","v":"a"}]],[{"t":"f","v":"let"},{"t":"w","v":"right"},[{"t":"f","v":"if"},[{"t":"f","v":"="},{"t":"w","v":"predicate"},{"t":"a","v":1}],[{"t":"f","v":"array:merge"},{"t":"w","v":"b"},[{"t":"f","v":"array"},{"t":"w","v":"current"}]],{"t":"w","v":"b"}]],[{"t":"f","v":"if"},[{"t":"f","v":"<"},{"t":"w","v":"i"},{"t":"w","v":"bounds"}],[{"t":"f","v":"iterate"},[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}],{"t":"w","v":"bounds"},{"t":"w","v":"left"},{"t":"w","v":"right"}],[{"t":"f","v":"array"},{"t":"w","v":"left"},{"t":"w","v":"right"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"sorted"},[{"t":"f","v":"iterate"},{"t":"a","v":1},[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],{"t":"a","v":1}],[],[]]],[{"t":"f","v":"let"},{"t":"w","v":"left"},[{"t":"f","v":"car"},{"t":"w","v":"sorted"}]],[{"t":"f","v":"let"},{"t":"w","v":"right"},[{"t":"f","v":"car"},[{"t":"f","v":"cdr"},{"t":"w","v":"sorted"}]]],[{"t":"f","v":"array:merge"},[{"t":"f","v":"array:sort"},{"t":"w","v":"left"},{"t":"w","v":"callback"}],[{"t":"f","v":"array"},{"t":"w","v":"pivot"}],[{"t":"f","v":"array:sort"},{"t":"w","v":"right"},{"t":"w","v":"callback"}]]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:set"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"i"},{"t":"w","v":"value"},[{"t":"f","v":"if"},[{"t":"f","v":"array:in-bounds?"},{"t":"w","v":"arr"},{"t":"w","v":"i"}],[{"t":"f","v":"array:map"},[{"t":"f","v":"math:sequence"},{"t":"w","v":"arr"}],[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"if"},[{"t":"f","v":"="},{"t":"w","v":"x"},{"t":"w","v":"i"}],{"t":"w","v":"value"},[{"t":"f","v":"array:get"},{"t":"w","v":"arr"},{"t":"w","v":"x"}]]]],[{"t":"f","v":"throw"},[{"t":"f","v":"string:merge"},[{"t":"f","v":"type"},{"t":"w","v":"i"},{"t":"w","v":"string"}],{"t":"a","v":" is outside of the array bounds"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:adjacent-difference"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"len"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}]],[{"t":"f","v":"unless"},[{"t":"f","v":"="},{"t":"w","v":"len"},{"t":"a","v":1}],[{"t":"f","v":"do"},[{"t":"f","v":"array"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]],[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"i"},{"t":"w","v":"result"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},{"t":"w","v":"i"},{"t":"w","v":"len"}],[{"t":"f","v":"do"},[{"t":"f","v":"iterate"},[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}],[{"t":"f","v":"array:set!"},{"t":"w","v":"result"},{"t":"w","v":"i"},[{"t":"f","v":"callback"},[{"t":"f","v":"array:get"},{"t":"w","v":"arr"},[{"t":"f","v":"-"},{"t":"w","v":"i"},{"t":"a","v":1}]],[{"t":"f","v":"array:get"},{"t":"w","v":"arr"},{"t":"w","v":"i"}]]]]],{"t":"w","v":"result"}]]],[{"t":"f","v":"iterate"},{"t":"a","v":1},{"t":"w","v":"arr"}]],{"t":"w","v":"arr"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:adjacent-find"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"len"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}]],[{"t":"f","v":"otherwise"},[{"t":"f","v":"="},{"t":"w","v":"len"},{"t":"a","v":1}],[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"i"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},{"t":"w","v":"i"},{"t":"w","v":"len"}],[{"t":"f","v":"if"},[{"t":"f","v":"callback"},[{"t":"f","v":"let"},{"t":"w","v":"prev"},[{"t":"f","v":"array:get"},{"t":"w","v":"arr"},[{"t":"f","v":"-"},{"t":"w","v":"i"},{"t":"a","v":1}]]],[{"t":"f","v":"let"},{"t":"w","v":"current"},[{"t":"f","v":"array:get"},{"t":"w","v":"arr"},{"t":"w","v":"i"}]]],{"t":"w","v":"prev"},[{"t":"f","v":"iterate"},[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}]]],[]]]],[{"t":"f","v":"iterate"},{"t":"a","v":1}]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:partition"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"n"},[{"t":"f","v":"array:fold"},[{"t":"f","v":"array:zip"},{"t":"w","v":"arr"},[{"t":"f","v":"math:sequence"},{"t":"w","v":"arr"}]],[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"x"},[{"t":"f","v":"car"},{"t":"w","v":"b"}]],[{"t":"f","v":"let"},{"t":"w","v":"i"},[{"t":"f","v":"car"},[{"t":"f","v":"cdr"},{"t":"w","v":"b"}]]],[{"t":"f","v":"if"},[{"t":"f","v":"mod"},{"t":"w","v":"i"},{"t":"w","v":"n"}],[{"t":"f","v":"array:set!"},[{"t":"f","v":"let"},{"t":"w","v":"last-a"},[{"t":"f","v":"array:get"},{"t":"w","v":"a"},{"t":"a","v":-1}]],[{"t":"f","v":"length"},{"t":"w","v":"last-a"}],{"t":"w","v":"x"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"a"},[{"t":"f","v":"length"},{"t":"w","v":"a"}],[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"mut-arr"},[]],[{"t":"f","v":"array:set!"},{"t":"w","v":"mut-arr"},[{"t":"f","v":"length"},{"t":"w","v":"mut-arr"}],{"t":"w","v":"x"}]]]],{"t":"w","v":"a"}]],[]]]],[{"t":"f","v":"let"},{"t":"w","v":"string:split"},[{"t":"f","v":"lambda"},{"t":"w","v":"str"},{"t":"w","v":"delim"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"locals"},[]],[{"t":"f","v":"let"},{"t":"w","v":"delim-arr"},[{"t":"f","v":"type"},{"t":"w","v":"delim"},{"t":"w","v":"array"}]],[{"t":"f","v":"array:set!"},{"t":"w","v":"locals"},[{"t":"f","v":"length"},{"t":"w","v":"locals"}],{"t":"w","v":"delim-arr"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"locals"},[{"t":"f","v":"length"},{"t":"w","v":"locals"}],[{"t":"f","v":"type"},{"t":"w","v":"str"},{"t":"w","v":"array"}]],[{"t":"f","v":"array:set!"},{"t":"w","v":"locals"},[{"t":"f","v":"length"},{"t":"w","v":"locals"}],[{"t":"f","v":"length"},{"t":"w","v":"delim-arr"}]],[{"t":"f","v":"array:set!"},{"t":"w","v":"locals"},[{"t":"f","v":"length"},{"t":"w","v":"locals"}],{"t":"a","v":""}],[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"result"},{"t":"w","v":"i"},{"t":"w","v":"bounds"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},[{"t":"f","v":"if"},[{"t":"f","v":"array:every?"},[{"t":"f","v":"array:zip"},[{"t":"f","v":"array:get"},{"t":"w","v":"locals"},{"t":"a","v":0}],[{"t":"f","v":"math:sequence"},{"t":"w","v":"locals"}]],[{"t":"f","v":"lambda"},{"t":"w","v":"item"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"y"},[{"t":"f","v":"car"},{"t":"w","v":"item"}]],[{"t":"f","v":"let"},{"t":"w","v":"j"},[{"t":"f","v":"car"},[{"t":"f","v":"cdr"},{"t":"w","v":"item"}]]],[{"t":"f","v":"or"},[{"t":"f","v":"<="},[{"t":"f","v":"length"},[{"t":"f","v":"array:get"},{"t":"w","v":"locals"},{"t":"a","v":1}]],[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"w","v":"j"}]],[{"t":"f","v":"="},[{"t":"f","v":"type"},[{"t":"f","v":"array:get"},[{"t":"f","v":"array:get"},{"t":"w","v":"locals"},{"t":"a","v":1}],[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"w","v":"j"}]],{"t":"w","v":"char-code"}],[{"t":"f","v":"type"},{"t":"w","v":"y"},{"t":"w","v":"char-code"}]]]]]],[{"t":"f","v":"do"},[{"t":"f","v":"array:set!"},{"t":"w","v":"result"},[{"t":"f","v":"length"},{"t":"w","v":"result"}],[{"t":"f","v":"array:get"},{"t":"w","v":"locals"},{"t":"a","v":3}]],[{"t":"f","v":"array:set!"},{"t":"w","v":"locals"},{"t":"a","v":3},{"t":"a","v":""}],[{"t":"f","v":"+"},{"t":"w","v":"i"},[{"t":"f","v":"array:get"},{"t":"w","v":"locals"},{"t":"a","v":2}],{"t":"a","v":-1}]],[{"t":"f","v":"do"},[{"t":"f","v":"array:set!"},{"t":"w","v":"locals"},{"t":"a","v":3},[{"t":"f","v":"string:merge"},[{"t":"f","v":"array:get"},{"t":"w","v":"locals"},{"t":"a","v":3}],[{"t":"f","v":"array:get"},[{"t":"f","v":"array:get"},{"t":"w","v":"locals"},{"t":"a","v":1}],{"t":"w","v":"i"}]]],{"t":"w","v":"i"}]],{"t":"w","v":"bounds"}],[{"t":"f","v":"iterate"},{"t":"w","v":"result"},[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}],{"t":"w","v":"bounds"}],{"t":"w","v":"result"}]]],[{"t":"f","v":"array:set!"},[{"t":"f","v":"let"},{"t":"w","v":"iteration-result"},[{"t":"f","v":"iterate"},[],{"t":"a","v":0},[{"t":"f","v":"-"},[{"t":"f","v":"length"},[{"t":"f","v":"array:get"},{"t":"w","v":"locals"},{"t":"a","v":1}]],{"t":"a","v":1}]]],[{"t":"f","v":"length"},{"t":"w","v":"iteration-result"}],[{"t":"f","v":"array:get"},{"t":"w","v":"locals"},{"t":"a","v":3}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:copy"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"array:fold"},{"t":"w","v":"arr"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"array:set!"},{"t":"w","v":"a"},[{"t":"f","v":"length"},{"t":"w","v":"a"}],{"t":"w","v":"b"}]],[]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:merge!"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"do"},[{"t":"f","v":"array:for"},{"t":"w","v":"b"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"array:set!"},{"t":"w","v":"a"},[{"t":"f","v":"length"},{"t":"w","v":"a"}],{"t":"w","v":"x"}]]],{"t":"w","v":"a"}]]],[{"t":"f","v":"let"},{"t":"w","v":"array:swap-remove!"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"i"},[{"t":"f","v":"do"},[{"t":"f","v":"array:set!"},{"t":"w","v":"arr"},{"t":"w","v":"i"},[{"t":"f","v":"array:get"},{"t":"w","v":"arr"},[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],{"t":"a","v":1}]]],[{"t":"f","v":"array:set!"},{"t":"w","v":"arr"},{"t":"a","v":-1}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:index-of"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"item"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"i"},[{"t":"f","v":"if"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"if"},[{"t":"f","v":"="},[{"t":"f","v":"car"},{"t":"w","v":"arr"}],{"t":"w","v":"item"}],{"t":"w","v":"i"},[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}],[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}]]],{"t":"a","v":-1}]]],[{"t":"f","v":"iterate"},{"t":"w","v":"arr"},{"t":"a","v":0}]]]],[{"t":"f","v":"let"},{"t":"w","v":"string:index-of-char"},[{"t":"f","v":"lambda"},{"t":"w","v":"str"},{"t":"w","v":"character"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"i"},[{"t":"f","v":"if"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"if"},[{"t":"f","v":"string:equal?"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}],{"t":"w","v":"character"}],{"t":"w","v":"i"},[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}],[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}]]],{"t":"a","v":-1}]]],[{"t":"f","v":"iterate"},[{"t":"f","v":"type"},{"t":"w","v":"str"},{"t":"w","v":"array"}],{"t":"a","v":0}]]]],[{"t":"f","v":"let"},{"t":"w","v":"string:match"},[{"t":"f","v":"lambda"},{"t":"w","v":"str"},{"t":"w","v":"word"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"string-arr"},[{"t":"f","v":"type"},{"t":"w","v":"str"},{"t":"w","v":"array"}]],[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"i"},[{"t":"f","v":"if"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"if"},[{"t":"f","v":"string:equal?"},[{"t":"f","v":"pi"},{"t":"w","v":"string-arr"},[{"t":"f","v":"array:slice"},{"t":"w","v":"i"},[{"t":"f","v":"+"},{"t":"w","v":"i"},[{"t":"f","v":"length"},{"t":"w","v":"word"}]]],[{"t":"f","v":"array:join"},{"t":"a","v":""}]],{"t":"w","v":"word"}],{"t":"w","v":"i"},[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}],[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}]]],{"t":"a","v":-1}]]],[{"t":"f","v":"iterate"},{"t":"w","v":"toArr"},{"t":"a","v":0}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:find-index"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"callback"},[{"t":"f","v":"do"},[{"t":"f","v":"let*"},{"t":"w","v":"iterate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"i"},[{"t":"f","v":"if"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],[{"t":"f","v":"if"},[{"t":"f","v":"callback"},[{"t":"f","v":"car"},{"t":"w","v":"arr"}]],{"t":"w","v":"i"},[{"t":"f","v":"iterate"},[{"t":"f","v":"cdr"},{"t":"w","v":"arr"}],[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}]]],{"t":"a","v":-1}]]],[{"t":"f","v":"iterate"},{"t":"w","v":"arr"},{"t":"a","v":0}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:remove"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"i"},[{"t":"f","v":"array:fold"},{"t":"w","v":"arr"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"x"},[{"t":"f","v":"do"},[{"t":"f","v":"unless"},[{"t":"f","v":"="},{"t":"w","v":"x"},{"t":"w","v":"i"}],[{"t":"f","v":"array:merge"},{"t":"w","v":"a"},[{"t":"f","v":"array"},{"t":"w","v":"x"}]],{"t":"w","v":"a"}]]],[{"t":"f","v":"array"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:pad-right"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":">"},[{"t":"f","v":"length"},{"t":"w","v":"a"}],[{"t":"f","v":"length"},{"t":"w","v":"b"}]],[{"t":"f","v":"array:merge"},{"t":"w","v":"b"},[{"t":"f","v":"array"},[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"a"}],[{"t":"f","v":"length"},{"t":"w","v":"b"}]],{"t":"w","v":"length"}]],[{"t":"f","v":"array:merge"},{"t":"w","v":"a"},[{"t":"f","v":"array"},[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"b"}],[{"t":"f","v":"length"},{"t":"w","v":"a"}]],{"t":"w","v":"length"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:pad-left"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":">"},[{"t":"f","v":"length"},{"t":"w","v":"a"}],[{"t":"f","v":"length"},{"t":"w","v":"b"}]],[{"t":"f","v":"array:merge"},[{"t":"f","v":"array"},[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"a"}],[{"t":"f","v":"length"},{"t":"w","v":"b"}]],{"t":"w","v":"length"}],{"t":"w","v":"b"}],[{"t":"f","v":"array:merge"},[{"t":"f","v":"array"},[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"b"}],[{"t":"f","v":"length"},{"t":"w","v":"a"}]],{"t":"w","v":"length"}],{"t":"w","v":"a"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"string:greater?"},[{"t":"f","v":"lambda"},{"t":"w","v":"L"},{"t":"w","v":"R"},[{"t":"f","v":"otherwise"},[{"t":"f","v":"string:equal?"},{"t":"w","v":"L"},{"t":"w","v":"R"}],[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"A"},[{"t":"f","v":"cast:string->char-codes"},[{"t":"f","v":"type"},{"t":"w","v":"L"},{"t":"w","v":"string"}]]],[{"t":"f","v":"let"},{"t":"w","v":"B"},[{"t":"f","v":"cast:string->char-codes"},[{"t":"f","v":"type"},{"t":"w","v":"R"},{"t":"w","v":"string"}]]],[{"t":"f","v":"let"},{"t":"w","v":"a"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},[{"t":"f","v":"length"},{"t":"w","v":"A"}],[{"t":"f","v":"length"},{"t":"w","v":"B"}]],[{"t":"f","v":"array:merge"},{"t":"w","v":"A"},[{"t":"f","v":"array"},[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"B"}],[{"t":"f","v":"length"},{"t":"w","v":"A"}]],{"t":"w","v":"length"}]],{"t":"w","v":"A"}]],[{"t":"f","v":"let"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":">"},[{"t":"f","v":"length"},{"t":"w","v":"A"}],[{"t":"f","v":"length"},{"t":"w","v":"B"}]],[{"t":"f","v":"array:merge"},{"t":"w","v":"B"},[{"t":"f","v":"array"},[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"A"}],[{"t":"f","v":"length"},{"t":"w","v":"B"}]],{"t":"w","v":"length"}]],{"t":"w","v":"B"}]],[{"t":"f","v":"pi"},{"t":"w","v":"a"},[{"t":"f","v":"array:zip"},{"t":"w","v":"b"}],[{"t":"f","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"acc"},{"t":"w","v":"pair"},[{"t":"f","v":"if"},[{"t":"f","v":">"},[{"t":"f","v":"car"},{"t":"w","v":"pair"}],[{"t":"f","v":"car"},[{"t":"f","v":"cdr"},{"t":"w","v":"pair"}]]],{"t":"a","v":0},{"t":"w","v":"acc"}]],{"t":"a","v":1}]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"string:lesser?"},[{"t":"f","v":"lambda"},{"t":"w","v":"L"},{"t":"w","v":"R"},[{"t":"f","v":"otherwise"},[{"t":"f","v":"string:equal?"},{"t":"w","v":"L"},{"t":"w","v":"R"}],[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"A"},[{"t":"f","v":"cast:string->char-codes"},[{"t":"f","v":"type"},{"t":"w","v":"L"},{"t":"w","v":"string"}]]],[{"t":"f","v":"let"},{"t":"w","v":"B"},[{"t":"f","v":"cast:string->char-codes"},[{"t":"f","v":"type"},{"t":"w","v":"R"},{"t":"w","v":"string"}]]],[{"t":"f","v":"let"},{"t":"w","v":"a"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},[{"t":"f","v":"length"},{"t":"w","v":"A"}],[{"t":"f","v":"length"},{"t":"w","v":"B"}]],[{"t":"f","v":"array:merge"},{"t":"w","v":"A"},[{"t":"f","v":"array"},[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"B"}],[{"t":"f","v":"length"},{"t":"w","v":"A"}]],{"t":"w","v":"length"}]],{"t":"w","v":"A"}]],[{"t":"f","v":"let"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":">"},[{"t":"f","v":"length"},{"t":"w","v":"A"}],[{"t":"f","v":"length"},{"t":"w","v":"B"}]],[{"t":"f","v":"array:merge"},{"t":"w","v":"B"},[{"t":"f","v":"array"},[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"A"}],[{"t":"f","v":"length"},{"t":"w","v":"B"}]],{"t":"w","v":"length"}]],{"t":"w","v":"B"}]],[{"t":"f","v":"pi"},{"t":"w","v":"a"},[{"t":"f","v":"array:zip"},{"t":"w","v":"b"}],[{"t":"f","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"acc"},{"t":"w","v":"pair"},[{"t":"f","v":"if"},[{"t":"f","v":"<"},[{"t":"f","v":"car"},{"t":"w","v":"pair"}],[{"t":"f","v":"car"},[{"t":"f","v":"cdr"},{"t":"w","v":"pair"}]]],{"t":"a","v":0},{"t":"w","v":"acc"}]],{"t":"a","v":1}]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"string:equal?"},[{"t":"f","v":"lambda"},{"t":"w","v":"L"},{"t":"w","v":"R"},[{"t":"f","v":"when"},[{"t":"f","v":"="},[{"t":"f","v":"length"},{"t":"w","v":"L"}],[{"t":"f","v":"length"},{"t":"w","v":"R"}]],[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"a"},[{"t":"f","v":"cast:string->char-codes"},[{"t":"f","v":"type"},{"t":"w","v":"R"},{"t":"w","v":"string"}]]],[{"t":"f","v":"let"},{"t":"w","v":"b"},[{"t":"f","v":"cast:string->char-codes"},[{"t":"f","v":"type"},{"t":"w","v":"L"},{"t":"w","v":"string"}]]],[{"t":"f","v":"pi"},{"t":"w","v":"a"},[{"t":"f","v":"array:zip"},{"t":"w","v":"b"}],[{"t":"f","v":"array:every?"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"="},[{"t":"f","v":"car"},{"t":"w","v":"x"}],[{"t":"f","v":"car"},[{"t":"f","v":"cdr"},{"t":"w","v":"x"}]]]]]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"new:set"},[{"t":"f","v":"lambda"},{"t":"w","v":"items"},[{"t":"f","v":"set:add!"},[{"t":"f","v":"array"},[],[],[],[]],{"t":"w","v":"items"}]]],[{"t":"f","v":"let"},{"t":"w","v":"new:array"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"items"},[{"t":"f","v":"type"},{"t":"w","v":"items"},{"t":"w","v":"array"}]]],[{"t":"f","v":"let"},{"t":"w","v":"new:list"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"value"},[{"t":"f","v":"array"},[],{"t":"w","v":"value"},[]]]],[{"t":"f","v":"let"},{"t":"w","v":"new:binary-tree"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"value"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"arr"},[]],[{"t":"f","v":"array:set!"},{"t":"w","v":"arr"},{"t":"a","v":0},{"t":"w","v":"value"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"arr"},{"t":"a","v":1},[]],[{"t":"f","v":"array:set!"},{"t":"w","v":"arr"},{"t":"a","v":2},[]],{"t":"w","v":"arr"}]]],[{"t":"f","v":"let"},{"t":"w","v":"binary-tree:left"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"node"},[{"t":"f","v":"array:get"},{"t":"w","v":"node"},{"t":"a","v":1}]]],[{"t":"f","v":"let"},{"t":"w","v":"binary-tree:right"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"node"},[{"t":"f","v":"array:get"},{"t":"w","v":"node"},{"t":"a","v":2}]]],[{"t":"f","v":"let"},{"t":"w","v":"binary-tree:left!"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"tree"},{"t":"w","v":"node"},[{"t":"f","v":"array:set!"},{"t":"w","v":"tree"},{"t":"a","v":1},{"t":"w","v":"node"}]]],[{"t":"f","v":"let"},{"t":"w","v":"binary-tree:right!"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"tree"},{"t":"w","v":"node"},[{"t":"f","v":"array:set!"},{"t":"w","v":"tree"},{"t":"a","v":2},{"t":"w","v":"node"}]]],[{"t":"f","v":"let"},{"t":"w","v":"binary-tree:value"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"node"},[{"t":"f","v":"car"},{"t":"w","v":"node"}]]],[{"t":"f","v":"let"},{"t":"w","v":"set:index"},[{"t":"f","v":"lambda"},{"t":"w","v":"table"},{"t":"w","v":"key"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"prime-num"},{"t":"a","v":31}],[{"t":"f","v":"let"},{"t":"w","v":"key-arr"},[{"t":"f","v":"type"},[{"t":"f","v":"type"},{"t":"w","v":"key"},{"t":"w","v":"string"}],{"t":"w","v":"array"}]],[{"t":"f","v":"let"},{"t":"w","v":"total"},[{"t":"f","v":"array"},{"t":"a","v":0}]],[{"t":"f","v":"let*"},{"t":"w","v":"find-hash-index"},[{"t":"f","v":"lambda"},{"t":"w","v":"i"},{"t":"w","v":"bounds"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"letter"},[{"t":"f","v":"array:get"},{"t":"w","v":"key-arr"},{"t":"w","v":"i"}]],[{"t":"f","v":"let"},{"t":"w","v":"value"},[{"t":"f","v":"-"},[{"t":"f","v":"type"},{"t":"w","v":"letter"},{"t":"w","v":"char-code"}],{"t":"a","v":96}]],[{"t":"f","v":"array:set!"},{"t":"w","v":"total"},{"t":"a","v":0},[{"t":"f","v":"math:euclidean-mod"},[{"t":"f","v":"+"},[{"t":"f","v":"*"},[{"t":"f","v":"car"},{"t":"w","v":"total"}],{"t":"w","v":"prime-num"}],{"t":"w","v":"value"}],[{"t":"f","v":"length"},{"t":"w","v":"table"}]]],[{"t":"f","v":"if"},[{"t":"f","v":"<"},{"t":"w","v":"i"},{"t":"w","v":"bounds"}],[{"t":"f","v":"find-hash-index"},[{"t":"f","v":"+"},{"t":"w","v":"i"},{"t":"a","v":1}],{"t":"w","v":"bounds"}],[{"t":"f","v":"car"},{"t":"w","v":"total"}]]]]],[{"t":"f","v":"find-hash-index"},{"t":"a","v":0},[{"t":"f","v":"if"},[{"t":"f","v":"<"},[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"key-arr"}],{"t":"a","v":1}],{"t":"a","v":100}],[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"key-arr"}],{"t":"a","v":1}],{"t":"a","v":100}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"set:add!"},[{"t":"f","v":"lambda"},{"t":"w","v":"table"},{"t":"w","v":"key"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"idx"},[{"t":"f","v":"set:index"},{"t":"w","v":"table"},{"t":"w","v":"key"}]],[{"t":"f","v":"otherwise"},[{"t":"f","v":"array:in-bounds?"},{"t":"w","v":"table"},{"t":"w","v":"idx"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"table"},{"t":"w","v":"idx"},[{"t":"f","v":"array"}]]],[{"t":"f","v":"let"},{"t":"w","v":"current"},[{"t":"f","v":"array:get"},{"t":"w","v":"table"},{"t":"w","v":"idx"}]],[{"t":"f","v":"let"},{"t":"w","v":"len"},[{"t":"f","v":"length"},{"t":"w","v":"current"}]],[{"t":"f","v":"let"},{"t":"w","v":"index"},[{"t":"f","v":"if"},{"t":"w","v":"len"},[{"t":"f","v":"array:find-index"},{"t":"w","v":"current"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"string:equal?"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"string"}],[{"t":"f","v":"type"},{"t":"w","v":"key"},{"t":"w","v":"string"}]]]],{"t":"a","v":-1}]],[{"t":"f","v":"let"},{"t":"w","v":"entry"},{"t":"w","v":"key"}],[{"t":"f","v":"if"},[{"t":"f","v":"="},{"t":"w","v":"index"},{"t":"a","v":-1}],[{"t":"f","v":"array:set!"},{"t":"w","v":"current"},[{"t":"f","v":"length"},{"t":"w","v":"current"}],{"t":"w","v":"entry"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"current"},{"t":"w","v":"index"},{"t":"w","v":"entry"}]],{"t":"w","v":"table"}]]],[{"t":"f","v":"let"},{"t":"w","v":"set:remove!"},[{"t":"f","v":"lambda"},{"t":"w","v":"table"},{"t":"w","v":"key"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"idx"},[{"t":"f","v":"set:index"},{"t":"w","v":"table"},{"t":"w","v":"key"}]],[{"t":"f","v":"otherwise"},[{"t":"f","v":"array:in-bounds?"},{"t":"w","v":"table"},{"t":"w","v":"idx"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"table"},{"t":"w","v":"idx"},[{"t":"f","v":"Array"}]]],[{"t":"f","v":"let"},{"t":"w","v":"current"},[{"t":"f","v":"array:get"},{"t":"w","v":"table"},{"t":"w","v":"idx"}]],[{"t":"f","v":"let"},{"t":"w","v":"len"},[{"t":"f","v":"length"},{"t":"w","v":"current"}]],[{"t":"f","v":"let"},{"t":"w","v":"index"},[{"t":"f","v":"if"},{"t":"w","v":"len"},[{"t":"f","v":"array:find-index"},{"t":"w","v":"current"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"string:equal?"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"string"}],[{"t":"f","v":"type"},{"t":"w","v":"key"},{"t":"w","v":"string"}]]]],{"t":"a","v":-1}]],[{"t":"f","v":"let"},{"t":"w","v":"entry"},{"t":"w","v":"key"}],[{"t":"f","v":"otherwise"},[{"t":"f","v":"="},{"t":"w","v":"index"},{"t":"a","v":-1}],[{"t":"f","v":"and"},[{"t":"f","v":"array:set!"},{"t":"w","v":"current"},{"t":"w","v":"index"},[{"t":"f","v":"array:get"},{"t":"w","v":"current"},{"t":"a","v":-1}]],[{"t":"f","v":"array:set!"},{"t":"w","v":"current"},{"t":"a","v":-1}]]],{"t":"w","v":"table"}]]],[{"t":"f","v":"let"},{"t":"w","v":"set:has?"},[{"t":"f","v":"lambda"},{"t":"w","v":"table"},{"t":"w","v":"key"},[{"t":"f","v":"and"},[{"t":"f","v":"array:in-bounds?"},{"t":"w","v":"table"},[{"t":"f","v":"let"},{"t":"w","v":"idx"},[{"t":"f","v":"set:index"},{"t":"w","v":"table"},{"t":"w","v":"key"}]]],[{"t":"f","v":"and"},[{"t":"f","v":"length"},[{"t":"f","v":"let"},{"t":"w","v":"current"},[{"t":"f","v":"array:get"},{"t":"w","v":"table"},{"t":"w","v":"idx"}]]],[{"t":"f","v":">="},[{"t":"f","v":"array:find-index"},{"t":"w","v":"current"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"string:equal?"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"string"}],[{"t":"f","v":"type"},{"t":"w","v":"key"},{"t":"w","v":"string"}]]]],{"t":"a","v":0}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"set:intersection"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"pi"},{"t":"w","v":"b"},[{"t":"f","v":"cast:table->array"}],[{"t":"f","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"out"},{"t":"w","v":"element"},[{"t":"f","v":"do"},[{"t":"f","v":"when"},[{"t":"f","v":"set:has?"},{"t":"w","v":"a"},{"t":"w","v":"element"}],[{"t":"f","v":"set:add!"},{"t":"w","v":"out"},{"t":"w","v":"element"}]],{"t":"w","v":"out"}]],[{"t":"f","v":"array"},[],[],[],[],[]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"set:difference"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"pi"},{"t":"w","v":"a"},[{"t":"f","v":"cast:table->array"}],[{"t":"f","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"out"},{"t":"w","v":"element"},[{"t":"f","v":"do"},[{"t":"f","v":"when"},[{"t":"f","v":"not"},[{"t":"f","v":"set:has?"},{"t":"w","v":"b"},{"t":"w","v":"element"}]],[{"t":"f","v":"set:add!"},{"t":"w","v":"out"},{"t":"w","v":"element"}]],{"t":"w","v":"out"}]],[{"t":"f","v":"array"},[],[],[],[],[]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"set:xor"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"out"},[{"t":"f","v":"array"},[],[],[],[],[]]],[{"t":"f","v":"pi"},{"t":"w","v":"a"},[{"t":"f","v":"cast:table->array"}],[{"t":"f","v":"array:for"},[{"t":"f","v":"lambda"},{"t":"w","v":"element"},[{"t":"f","v":"when"},[{"t":"f","v":"not"},[{"t":"f","v":"set:has?"},{"t":"w","v":"b"},{"t":"w","v":"element"}]],[{"t":"f","v":"set:add!"},{"t":"w","v":"out"},{"t":"w","v":"element"}]]]]],[{"t":"f","v":"pi"},{"t":"w","v":"b"},[{"t":"f","v":"cast:table->array"}],[{"t":"f","v":"array:for"},[{"t":"f","v":"lambda"},{"t":"w","v":"element"},[{"t":"f","v":"when"},[{"t":"f","v":"not"},[{"t":"f","v":"set:has?"},{"t":"w","v":"a"},{"t":"w","v":"element"}]],[{"t":"f","v":"set:add!"},{"t":"w","v":"out"},{"t":"w","v":"element"}]]]]],{"t":"w","v":"out"}]]],[{"t":"f","v":"let"},{"t":"w","v":"set:union"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"out"},[{"t":"f","v":"array"},[],[],[],[],[]]],[{"t":"f","v":"pi"},{"t":"w","v":"a"},[{"t":"f","v":"cast:table->array"}],[{"t":"f","v":"array:for"},[{"t":"f","v":"lambda"},{"t":"w","v":"element"},[{"t":"f","v":"set:add!"},{"t":"w","v":"out"},{"t":"w","v":"element"}]]]],[{"t":"f","v":"pi"},{"t":"w","v":"b"},[{"t":"f","v":"cast:table->array"}],[{"t":"f","v":"array:for"},[{"t":"f","v":"lambda"},{"t":"w","v":"element"},[{"t":"f","v":"set:add!"},{"t":"w","v":"out"},{"t":"w","v":"element"}]]]],{"t":"w","v":"out"}]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:table->array"},[{"t":"f","v":"lambda"},{"t":"w","v":"set"},[{"t":"f","v":"array:select"},[{"t":"f","v":"array:flat"},{"t":"w","v":"set"}],{"t":"w","v":"atom?"}]]],[{"t":"f","v":"let"},{"t":"w","v":"set:empty!"},[{"t":"f","v":"lambda"},{"t":"w","v":"table"},[{"t":"f","v":"array:map"},{"t":"w","v":"table"},{"t":"w","v":"empty!"}]]],[{"t":"f","v":"let"},{"t":"w","v":"map:empty!"},[{"t":"f","v":"lambda"},{"t":"w","v":"table"},[{"t":"f","v":"array:map"},{"t":"w","v":"table"},{"t":"w","v":"empty!"}]]],[{"t":"f","v":"let"},{"t":"w","v":"map:set!"},[{"t":"f","v":"lambda"},{"t":"w","v":"table"},{"t":"w","v":"key"},{"t":"w","v":"value"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"idx"},[{"t":"f","v":"set:index"},{"t":"w","v":"table"},{"t":"w","v":"key"}]],[{"t":"f","v":"otherwise"},[{"t":"f","v":"array:in-bounds?"},{"t":"w","v":"table"},{"t":"w","v":"idx"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"table"},{"t":"w","v":"idx"},[]]],[{"t":"f","v":"let"},{"t":"w","v":"current"},[{"t":"f","v":"array:get"},{"t":"w","v":"table"},{"t":"w","v":"idx"}]],[{"t":"f","v":"let"},{"t":"w","v":"len"},[{"t":"f","v":"length"},{"t":"w","v":"current"}]],[{"t":"f","v":"let"},{"t":"w","v":"index"},[{"t":"f","v":"if"},{"t":"w","v":"len"},[{"t":"f","v":"array:find-index"},{"t":"w","v":"current"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"string:equal?"},[{"t":"f","v":"type"},[{"t":"f","v":"car"},{"t":"w","v":"x"}],{"t":"w","v":"string"}],[{"t":"f","v":"type"},{"t":"w","v":"key"},{"t":"w","v":"string"}]]]],{"t":"a","v":-1}]],[{"t":"f","v":"let"},{"t":"w","v":"entry"},[{"t":"f","v":"array"},{"t":"w","v":"key"},{"t":"w","v":"value"}]],[{"t":"f","v":"if"},[{"t":"f","v":"="},{"t":"w","v":"index"},{"t":"a","v":-1}],[{"t":"f","v":"array:set!"},{"t":"w","v":"current"},[{"t":"f","v":"length"},{"t":"w","v":"current"}],{"t":"w","v":"entry"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"current"},{"t":"w","v":"index"},{"t":"w","v":"entry"}]],{"t":"w","v":"table"}]]],[{"t":"f","v":"let"},{"t":"w","v":"map:remove!"},[{"t":"f","v":"lambda"},{"t":"w","v":"table"},{"t":"w","v":"key"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"idx"},[{"t":"f","v":"set:index"},{"t":"w","v":"table"},{"t":"w","v":"key"}]],[{"t":"f","v":"otherwise"},[{"t":"f","v":"array:in-bounds?"},{"t":"w","v":"table"},{"t":"w","v":"idx"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"table"},{"t":"w","v":"idx"},[]]],[{"t":"f","v":"let"},{"t":"w","v":"current"},[{"t":"f","v":"array:get"},{"t":"w","v":"table"},{"t":"w","v":"idx"}]],[{"t":"f","v":"let"},{"t":"w","v":"len"},[{"t":"f","v":"length"},{"t":"w","v":"current"}]],[{"t":"f","v":"let"},{"t":"w","v":"index"},[{"t":"f","v":"if"},{"t":"w","v":"len"},[{"t":"f","v":"array:find-index"},{"t":"w","v":"current"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"string:equal?"},[{"t":"f","v":"type"},[{"t":"f","v":"car"},{"t":"w","v":"x"}],{"t":"w","v":"string"}],[{"t":"f","v":"type"},{"t":"w","v":"key"},{"t":"w","v":"string"}]]]],{"t":"a","v":-1}]],[{"t":"f","v":"otherwise"},[{"t":"f","v":"="},{"t":"w","v":"index"},{"t":"a","v":-1}],[{"t":"f","v":"and"},[{"t":"f","v":"array:set!"},{"t":"w","v":"current"},{"t":"w","v":"index"},[{"t":"f","v":"array:get"},{"t":"w","v":"current"},{"t":"a","v":-1}]],[{"t":"f","v":"array:set!"},{"t":"w","v":"current"},{"t":"a","v":-1}]]],{"t":"w","v":"table"}]]],[{"t":"f","v":"let"},{"t":"w","v":"map:get"},[{"t":"f","v":"lambda"},{"t":"w","v":"table"},{"t":"w","v":"key"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"idx"},[{"t":"f","v":"set:index"},{"t":"w","v":"table"},{"t":"w","v":"key"}]],[{"t":"f","v":"when"},[{"t":"f","v":"array:in-bounds?"},{"t":"w","v":"table"},{"t":"w","v":"idx"}],[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"current"},[{"t":"f","v":"array:get"},{"t":"w","v":"table"},{"t":"w","v":"idx"}]],[{"t":"f","v":"let"},{"t":"w","v":"found"},[{"t":"f","v":"array:find"},{"t":"w","v":"current"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"string:equal?"},[{"t":"f","v":"type"},{"t":"w","v":"key"},{"t":"w","v":"string"}],[{"t":"f","v":"type"},[{"t":"f","v":"array:get"},{"t":"w","v":"x"},{"t":"a","v":0}],{"t":"w","v":"string"}]]]]],[{"t":"f","v":"when"},[{"t":"f","v":"length"},{"t":"w","v":"found"}],[{"t":"f","v":"array:get"},{"t":"w","v":"found"},{"t":"a","v":1}]]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"cast:map->string"},[{"t":"f","v":"lambda"},{"t":"w","v":"table"},[{"t":"f","v":"pi"},{"t":"w","v":"table"},[{"t":"f","v":"array:select"},{"t":"w","v":"length"}],[{"t":"f","v":"array:map"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"array:join"},[{"t":"f","v":"array:map"},{"t":"w","v":"x"},[{"t":"f","v":"lambda"},{"t":"w","v":"y"},[{"t":"f","v":"array:join"},{"t":"w","v":"y"},{"t":"a","v":" -> "}]]],{"t":"a","v":" "}]]],[{"t":"f","v":"array:join"},{"t":"a","v":"\n"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"map:has?"},[{"t":"f","v":"lambda"},{"t":"w","v":"table"},{"t":"w","v":"key"},[{"t":"f","v":"and"},[{"t":"f","v":"array:in-bounds?"},{"t":"w","v":"table"},[{"t":"f","v":"let"},{"t":"w","v":"idx"},[{"t":"f","v":"set:index"},{"t":"w","v":"table"},{"t":"w","v":"key"}]]],[{"t":"f","v":"and"},[{"t":"f","v":"length"},[{"t":"f","v":"let"},{"t":"w","v":"current"},[{"t":"f","v":"array:get"},{"t":"w","v":"table"},{"t":"w","v":"idx"}]]],[{"t":"f","v":">="},[{"t":"f","v":"array:find-index"},[{"t":"f","v":"car"},{"t":"w","v":"current"}],[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"string:equal?"},[{"t":"f","v":"type"},{"t":"w","v":"x"},{"t":"w","v":"string"}],[{"t":"f","v":"type"},{"t":"w","v":"key"},{"t":"w","v":"string"}]]]],{"t":"a","v":0}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"list:prev!"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"list"},{"t":"w","v":"node"},[{"t":"f","v":"array:set!"},{"t":"w","v":"list"},{"t":"a","v":0},[{"t":"f","v":"array:set!"},{"t":"w","v":"node"},{"t":"a","v":2},{"t":"w","v":"list"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"list:next!"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"list"},{"t":"w","v":"node"},[{"t":"f","v":"array:set!"},{"t":"w","v":"list"},{"t":"a","v":2},[{"t":"f","v":"array:set!"},{"t":"w","v":"node"},{"t":"a","v":0},{"t":"w","v":"list"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"list:prev"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"list"},[{"t":"f","v":"array:get"},{"t":"w","v":"list"},{"t":"a","v":0}]]],[{"t":"f","v":"let"},{"t":"w","v":"list:next"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"list"},[{"t":"f","v":"array:get"},{"t":"w","v":"list"},{"t":"a","v":2}]]],[{"t":"f","v":"let"},{"t":"w","v":"list:value"},[{"t":"f","v":"lambda"},{"t":"w","v":"node"},[{"t":"f","v":"array:get"},{"t":"w","v":"node"},{"t":"a","v":1}]]],[{"t":"f","v":"let"},{"t":"w","v":"array:rotate-right"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"n"},[{"t":"f","v":"pi"},{"t":"w","v":"arr"},[{"t":"f","v":"array:zip"},[{"t":"f","v":"math:sequence"},{"t":"w","v":"arr"}]],[{"t":"f","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"array:set!"},{"t":"w","v":"a"},[{"t":"f","v":"mod"},[{"t":"f","v":"+"},[{"t":"f","v":"car"},[{"t":"f","v":"cdr"},{"t":"w","v":"b"}]],{"t":"w","v":"n"}],[{"t":"f","v":"length"},{"t":"w","v":"arr"}]],[{"t":"f","v":"car"},{"t":"w","v":"b"}]]],[{"t":"f","v":"array"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],{"t":"w","v":"length"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:rotate-left"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},{"t":"w","v":"n"},[{"t":"f","v":"pi"},{"t":"w","v":"arr"},[{"t":"f","v":"array:zip"},[{"t":"f","v":"math:sequence"},{"t":"w","v":"arr"}]],[{"t":"f","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"array:set!"},{"t":"w","v":"a"},[{"t":"f","v":"mod"},[{"t":"f","v":"+"},[{"t":"f","v":"car"},[{"t":"f","v":"cdr"},{"t":"w","v":"b"}]],[{"t":"f","v":"-"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],{"t":"w","v":"n"}]],[{"t":"f","v":"length"},{"t":"w","v":"arr"}]],[{"t":"f","v":"car"},{"t":"w","v":"b"}]]],[{"t":"f","v":"array"},[{"t":"f","v":"length"},{"t":"w","v":"arr"}],{"t":"w","v":"length"}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"var:def"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"val"},[{"t":"f","v":"array"},{"t":"w","v":"val"}]]],[{"t":"f","v":"let"},{"t":"w","v":"var:get"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"variable"},[{"t":"f","v":"car"},{"t":"w","v":"variable"}]]],[{"t":"f","v":"let"},{"t":"w","v":"var:set!"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"variable"},{"t":"w","v":"value"},[{"t":"f","v":"array:set!"},{"t":"w","v":"variable"},{"t":"a","v":0},{"t":"w","v":"value"}]]],[{"t":"f","v":"let"},{"t":"w","v":"var:del!"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"variable"},[{"t":"f","v":"array:set!"},{"t":"w","v":"variable"},{"t":"a","v":-1}]]],[{"t":"f","v":"let"},{"t":"w","v":"array:first"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"array:get"},{"t":"w","v":"arr"},{"t":"a","v":0}]]],[{"t":"f","v":"let"},{"t":"w","v":"array:last"},[{"t":"f","v":"safety"},{"t":"w","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"array:get"},{"t":"w","v":"arr"},{"t":"a","v":-1}]]],[{"t":"f","v":"let"},{"t":"w","v":"string:trim-left"},[{"t":"f","v":"lambda"},{"t":"w","v":"str"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"tr"},[{"t":"f","v":"array"},{"t":"a","v":1}]],[{"t":"f","v":"pi"},{"t":"w","v":"str"},[{"t":"f","v":"type"},{"t":"w","v":"array"}],[{"t":"f","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":"and"},[{"t":"f","v":"car"},{"t":"w","v":"tr"}],[{"t":"f","v":"string:equal?"},{"t":"w","v":"b"},{"t":"a","v":" "}]],{"t":"w","v":"a"},[{"t":"f","v":"do"},[{"t":"f","v":"when"},[{"t":"f","v":"car"},{"t":"w","v":"tr"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"tr"},{"t":"a","v":0},{"t":"a","v":0}]],[{"t":"f","v":"string:merge"},{"t":"w","v":"a"},{"t":"w","v":"b"}]]]],{"t":"a","v":""}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"string:trim-right"},[{"t":"f","v":"lambda"},{"t":"w","v":"str"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"tr"},[{"t":"f","v":"array"},{"t":"a","v":1}]],[{"t":"f","v":"pi"},{"t":"w","v":"str"},[{"t":"f","v":"type"},{"t":"w","v":"array"}],[{"t":"f","v":"array:reverse"}],[{"t":"f","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"if"},[{"t":"f","v":"and"},[{"t":"f","v":"car"},{"t":"w","v":"tr"}],[{"t":"f","v":"string:equal?"},{"t":"w","v":"b"},{"t":"a","v":" "}]],{"t":"w","v":"a"},[{"t":"f","v":"do"},[{"t":"f","v":"when"},[{"t":"f","v":"car"},{"t":"w","v":"tr"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"tr"},{"t":"a","v":0},{"t":"a","v":0}]],[{"t":"f","v":"string:merge"},{"t":"w","v":"b"},{"t":"w","v":"a"}]]]],{"t":"a","v":""}]]]]],[{"t":"f","v":"let"},{"t":"w","v":"string:trim"},[{"t":"f","v":"lambda"},{"t":"w","v":"str"},[{"t":"f","v":"pi"},{"t":"w","v":"str"},[{"t":"f","v":"string:trim-left"}],[{"t":"f","v":"string:trim-right"}]]]],[{"t":"f","v":"let"},{"t":"w","v":"array:enumerate"},[{"t":"f","v":"lambda"},{"t":"w","v":"arr"},[{"t":"f","v":"array:zip"},[{"t":"f","v":"math:sequence"},{"t":"w","v":"arr"}],{"t":"w","v":"arr"}]]],[{"t":"f","v":"let"},{"t":"w","v":"string:lines"},[{"t":"f","v":"lambda"},{"t":"w","v":"str"},[{"t":"f","v":"pi"},{"t":"w","v":"str"},[{"t":"f","v":"type"},{"t":"w","v":"array"}],[{"t":"f","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"prev"},[{"t":"f","v":"array:get"},{"t":"w","v":"a"},{"t":"a","v":-1}]],[{"t":"f","v":"if"},[{"t":"f","v":"string:equal?"},{"t":"w","v":"b"},{"t":"a","v":"\n"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"a"},[{"t":"f","v":"length"},{"t":"w","v":"a"}],[]],[{"t":"f","v":"array:set!"},{"t":"w","v":"prev"},[{"t":"f","v":"length"},{"t":"w","v":"prev"}],{"t":"w","v":"b"}]],{"t":"w","v":"a"}]],[{"t":"f","v":"array"},[]]],[{"t":"f","v":"array:map"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"array:join"},{"t":"w","v":"x"},{"t":"a","v":""}]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"string:words"},[{"t":"f","v":"lambda"},{"t":"w","v":"str"},[{"t":"f","v":"pi"},{"t":"w","v":"str"},[{"t":"f","v":"type"},{"t":"w","v":"array"}],[{"t":"f","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"prev"},[{"t":"f","v":"array:get"},{"t":"w","v":"a"},{"t":"a","v":-1}]],[{"t":"f","v":"if"},[{"t":"f","v":"string:equal?"},{"t":"w","v":"b"},{"t":"a","v":" "}],[{"t":"f","v":"array:set!"},{"t":"w","v":"a"},[{"t":"f","v":"length"},{"t":"w","v":"a"}],[]],[{"t":"f","v":"array:set!"},{"t":"w","v":"prev"},[{"t":"f","v":"length"},{"t":"w","v":"prev"}],{"t":"w","v":"b"}]],{"t":"w","v":"a"}]],[{"t":"f","v":"array"},[]]],[{"t":"f","v":"array:map"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"array:join"},{"t":"w","v":"x"},{"t":"a","v":""}]]]]]],[{"t":"f","v":"let"},{"t":"w","v":"string:seprator"},[{"t":"f","v":"lambda"},{"t":"w","v":"str"},{"t":"w","v":"separator"},[{"t":"f","v":"pi"},{"t":"w","v":"str"},[{"t":"f","v":"type"},{"t":"w","v":"array"}],[{"t":"f","v":"array:fold"},[{"t":"f","v":"lambda"},{"t":"w","v":"a"},{"t":"w","v":"b"},[{"t":"f","v":"do"},[{"t":"f","v":"let"},{"t":"w","v":"prev"},[{"t":"f","v":"array:get"},{"t":"w","v":"a"},{"t":"a","v":-1}]],[{"t":"f","v":"if"},[{"t":"f","v":"string:equal?"},{"t":"w","v":"b"},{"t":"w","v":"separator"}],[{"t":"f","v":"array:set!"},{"t":"w","v":"a"},[{"t":"f","v":"length"},{"t":"w","v":"a"}],[]],[{"t":"f","v":"array:set!"},{"t":"w","v":"prev"},[{"t":"f","v":"length"},{"t":"w","v":"prev"}],{"t":"w","v":"b"}]],{"t":"w","v":"a"}]],[{"t":"f","v":"array"},[]]],[{"t":"f","v":"array:map"},[{"t":"f","v":"lambda"},{"t":"w","v":"x"},[{"t":"f","v":"array:join"},{"t":"w","v":"x"},{"t":"a","v":""}]]]]]]]
|
1
|
+
export default [[["f","let"],["w","math:E"],["a",2.718281828459045]],[["f","let"],["w","math:PI"],["a",3.141592653589793]],[["f","let*"],["w","array:for"],[["f","lambda"],["w","arr"],["w","callback"],[["f","when"],[["f","length"],["w","arr"]],[["f","do"],[["f","callback"],[["f","car"],["w","arr"]]],[["f","array:for"],[["f","cdr"],["w","arr"]],["w","callback"]]]]]],[["f","let"],["w","array:map"],[["f","lambda"],["w","arr"],["w","callback"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],["w","out"],[["f","if"],[["f","length"],["w","arr"]],[["f","iterate"],[["f","cdr"],["w","arr"]],[["f","array:merge!"],["w","out"],[["f","array"],[["f","callback"],[["f","car"],["w","arr"]]]]]],["w","out"]]]],[["f","iterate"],["w","arr"],[]]]]],[["f","let"],["w","array:select"],[["f","lambda"],["w","arr"],["w","callback"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],["w","out"],[["f","if"],[["f","length"],["w","arr"]],[["f","iterate"],[["f","cdr"],["w","arr"]],[["f","if"],[["f","callback"],[["f","car"],["w","arr"]]],[["f","array:merge!"],["w","out"],[["f","array"],[["f","car"],["w","arr"]]]],["w","out"]]],["w","out"]]]],[["f","iterate"],["w","arr"],[]]]]],[["f","let"],["w","array:exclude"],[["f","lambda"],["w","arr"],["w","callback"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],["w","out"],[["f","if"],[["f","length"],["w","arr"]],[["f","iterate"],[["f","cdr"],["w","arr"]],[["f","if"],[["f","not"],[["f","callback"],[["f","car"],["w","arr"]]]],[["f","array:merge!"],["w","out"],[["f","array"],[["f","car"],["w","arr"]]]],["w","out"]]],["w","out"]]]],[["f","iterate"],["w","arr"],[]]]]],[["f","let"],["w","array:fold"],[["f","lambda"],["w","arr"],["w","callback"],["w","initial"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],["w","out"],[["f","if"],[["f","length"],["w","arr"]],[["f","iterate"],[["f","cdr"],["w","arr"]],[["f","callback"],["w","out"],[["f","car"],["w","arr"]]]],["w","out"]]]],[["f","iterate"],["w","arr"],["w","initial"]]]]],[["f","let"],["w","array:every?"],[["f","lambda"],["w","arr"],["w","callback"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],[["f","if"],[["f","and"],[["f","length"],["w","arr"]],[["f","callback"],[["f","car"],["w","arr"]]]],[["f","iterate"],[["f","cdr"],["w","arr"]]],[["f","not"],[["f","length"],["w","arr"]]]]]],[["f","iterate"],["w","arr"]]]]],[["f","let"],["w","array:some?"],[["f","lambda"],["w","arr"],["w","callback"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],[["f","if"],[["f","and"],[["f","length"],["w","arr"]],[["f","not"],[["f","callback"],[["f","car"],["w","arr"]]]]],[["f","iterate"],[["f","cdr"],["w","arr"]]],[["f","type"],[["f","length"],["w","arr"]],["w","boolean"]]]]],[["f","iterate"],["w","arr"]]]]],[["f","let"],["w","array:find"],[["f","lambda"],["w","arr"],["w","callback"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],[["f","if"],[["f","length"],["w","arr"]],[["f","if"],[["f","callback"],[["f","car"],["w","arr"]]],[["f","car"],["w","arr"]],[["f","iterate"],[["f","cdr"],["w","arr"]]]],[]]]],[["f","iterate"],["w","arr"]]]]],[["f","let"],["w","array:has?"],[["f","lambda"],["w","arr"],["w","callback"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],[["f","when"],[["f","length"],["w","arr"]],[["f","if"],[["f","callback"],[["f","car"],["w","arr"]]],["a",1],[["f","iterate"],[["f","cdr"],["w","arr"]]]]]]],[["f","iterate"],["w","arr"]]]]],[["f","let"],["w","array:reverse"],[["f","lambda"],["w","arr"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],["w","out"],[["f","if"],[["f","length"],["w","arr"]],[["f","iterate"],[["f","cdr"],["w","arr"]],[["f","array:merge!"],[["f","array"],[["f","car"],["w","arr"]]],["w","out"]]],["w","out"]]]],[["f","iterate"],["w","arr"],[]]]]],[["f","let"],["w","math:range"],[["f","lambda"],["w","start"],["w","end"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","out"],["w","count"],[["f","if"],[["f","<="],["w","count"],["w","end"]],[["f","iterate"],[["f","array:merge!"],["w","out"],[["f","array"],["w","count"]]],[["f","+"],["w","count"],["a",1]]],["w","out"]]]],[["f","iterate"],[],["w","start"]]]]],[["f","let"],["w","math:sequence"],[["f","lambda"],["w","arr"],[["f","do"],[["f","let"],["w","end"],[["f","length"],["w","arr"]]],[["f","let*"],["w","iterate"],[["f","lambda"],["w","out"],["w","count"],[["f","if"],[["f","<"],[["f","length"],["w","out"]],["w","end"]],[["f","iterate"],[["f","array:merge!"],["w","out"],[["f","array"],["w","count"]]],[["f","+"],["w","count"],["a",1]]],["w","out"]]]],[["f","iterate"],[],["a",0]]]]],[["f","let"],["w","math:sequence-n"],[["f","lambda"],["w","n"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","out"],["w","count"],[["f","if"],[["f","<"],[["f","length"],["w","out"]],["w","n"]],[["f","iterate"],[["f","array:merge!"],["w","out"],[["f","array"],["w","count"]]],[["f","+"],["w","count"],["a",1]]],["w","out"]]]],[["f","iterate"],[],["a",0]]]]],[["f","let"],["w","array:unique"],[["f","lambda"],["w","arr"],[["f","pi"],[["f","let"],["w","sorted"],[["f","array:sort"],["w","arr"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f",">"],["w","a"],["w","b"]]]]],[["f","array:zip"],[["f","math:sequence"],["w","sorted"]]],[["f","array:select"],[["f","lambda"],["w","x"],[["f","or"],[["f","not"],[["f","let"],["w","index"],[["f","car"],[["f","cdr"],["w","x"]]]]],[["f","not"],[["f","="],[["f","array:get"],["w","sorted"],[["f","-"],["w","index"],["a",1]]],[["f","array:get"],["w","sorted"],["w","index"]]]]]]],[["f","array:map"],["w","car"]]]]],[["f","let"],["w","array:for-range"],[["f","lambda"],["w","start"],["w","end"],["w","callback"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","i"],[["f","when"],[["f","<"],["w","i"],["w","end"]],[["f","do"],[["f","callback"],["w","i"]],[["f","iterate"],[["f","+"],["w","i"],["a",1]]]]]]],[["f","iterate"],["w","start"]]]]],[["f","let"],["w","array:traverse"],[["f","lambda"],["w","x"],["w","callback"],[["f","if"],[["f","atom?"],["w","x"]],[["f","callback"],["w","x"]],[["f","iterate"],["w","x"],[["f","lambda"],["w","y"],[["f","array:traverse"],["w","y"],["w","callback"]]]]]]],[["f","let"],["w","math:summation"],[["f","lambda"],["w","arr"],[["f","array:fold"],["w","arr"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f","+"],["w","a"],["w","b"]]],[["f","+"]]]]],[["f","let"],["w","math:product"],[["f","lambda"],["w","arr"],[["f","array:fold"],["w","arr"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f","*"],["w","a"],["w","b"]]],[["f","*"]]]]],[["f","let"],["w","math:maximum"],[["f","lambda"],["w","arr"],[["f","array:fold"],["w","arr"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f","if"],[["f",">"],["w","a"],["w","b"]],["w","a"],["w","b"]]],[["f","car"],["w","arr"]]]]],[["f","let"],["w","math:minimum"],[["f","lambda"],["w","arr"],[["f","array:fold"],["w","arr"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f","if"],[["f","<"],["w","a"],["w","b"]],["w","a"],["w","b"]]],[["f","car"],["w","arr"]]]]],[["f","let"],["w","math:max"],[["f","lambda"],["w","a"],["w","b"],[["f","if"],[["f",">"],["w","a"],["w","b"]],["w","a"],["w","b"]]]],[["f","let"],["w","math:min"],[["f","lambda"],["w","a"],["w","b"],[["f","if"],[["f","<"],["w","a"],["w","b"]],["w","a"],["w","b"]]]],[["f","let"],["w","array:count-of"],[["f","lambda"],["w","arr"],["w","callback"],[["f","pi"],["w","arr"],[["f","array:select"],["w","callback"]],[["f","length"]]]]],[["f","let"],["w","math:increment"],[["f","safety"],["w","lambda"],["w","i"],[["f","+"],["w","i"],["a",1]]]],[["f","let"],["w","math:floor"],[["f","safety"],["w","lambda"],["w","n"],[["f","|"],["w","n"],["a",0]]]],[["f","let"],["w","math:round"],[["f","safety"],["w","lambda"],["w","n"],[["f","|"],[["f","+"],["w","n"],["a",0.5]],["a",0]]]],[["f","let"],["w","array:empty?"],[["f","safety"],["w","lambda"],["w","arr"],[["f","not"],[["f","length"],["w","arr"]]]]],[["f","let"],["w","array:empty!"],[["f","safety"],["w","lambda"],["w","arr"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],[["f","if"],[["f","length"],["w","arr"]],[["f","do"],[["f","array:set!"],["w","arr"],["a",-1]],[["f","iterate"]]],["w","arr"]]]],[["f","iterate"]]]]],[["f","let"],["w","array:in-bounds?"],[["f","safety"],["w","lambda"],["w","arr"],["w","index"],[["f","and"],[["f","<"],["w","index"],[["f","length"],["w","arr"]]],[["f",">="],["w","index"],["a",0]]]]],[["f","let"],["w","math:largest-power"],[["f","safety"],["w","lambda"],["w","N"],[["f","do"],[["f","let"],["w","N1"],[["f","|"],["w","N"],[["f",">>"],["w","N"],["a",1]]]],[["f","let"],["w","N2"],[["f","|"],["w","N1"],[["f",">>"],["w","N1"],["a",2]]]],[["f","let"],["w","N3"],[["f","|"],["w","N2"],[["f",">>"],["w","N2"],["a",4]]]],[["f","let"],["w","N4"],[["f","|"],["w","N3"],[["f",">>"],["w","N3"],["a",8]]]],[["f",">>"],[["f","+"],["w","N4"],["a",1]],["a",1]]]]],[["f","let"],["w","math:set-bit"],[["f","safety"],["w","lambda"],["w","n"],["w","bit"],[["f","|"],["w","n"],[["f","<<"],["a",1],["w","bit"]]]]],[["f","let"],["w","math:clear-bit"],[["f","safety"],["w","lambda"],["w","n"],["w","bit"],[["f","&"],["w","n"],[["f","~"],[["f","<<"],["a",1],["w","bit"]]]]]],[["f","let"],["w","math:odd-bit?"],[["f","safety"],["w","lambda"],["w","n"],[["f","="],[["f","&"],["w","n"],["a",1]],["a",1]]]],[["f","let"],["w","math:average-bit"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f",">>"],[["f","+"],["w","a"],["w","b"]],["a",1]]]],[["f","let"],["w","math:toggle-bit"],[["f","safety"],["w","lambda"],["w","n"],["w","a"],["w","b"],[["f","^"],["w","a"],["w","b"],["w","n"]]]],[["f","let"],["w","math:same-sign-bit?"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f",">="],[["f","^"],["w","a"],["w","b"]],["a",0]]]],[["f","let"],["w","math:max-bit"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f","-"],["w","a"],[["f","&"],[["f","-"],["w","a"],["w","b"]],[["f",">>"],[["f","-"],["w","a"],["w","b"]],["a",31]]]]]],[["f","let"],["w","math:min-bit"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f","-"],["w","a"],[["f","&"],[["f","-"],["w","a"],["w","b"]],[["f",">>"],[["f","-"],["w","b"],["w","a"]],["a",31]]]]]],[["f","let"],["w","math:modulo-bit"],[["f","safety"],["w","lambda"],["w","numerator"],["w","divisor"],[["f","&"],["w","numerator"],[["f","-"],["w","divisor"],["a",1]]]]],[["f","let"],["w","math:n-one-bit?"],[["f","safety"],["w","lambda"],["w","N"],["w","nth"],[["f","type"],[["f","&"],["w","N"],[["f","<<"],["a",1],["w","nth"]]],["w","boolean"]]]],[["f","let"],["w","cast:string->chars"],[["f","safety"],["w","lambda"],["w","str"],[["f","type"],["w","str"],["w","array"]]]],[["f","let"],["w","cast:chars->string"],[["f","lambda"],["w","arr"],[["f","array:fold"],["w","arr"],[["f","safety"],["w","lambda"],["w","a"],["w","x"],[["f","string:merge"],["w","a"],[["f","type"],["w","x"],["w","string"]]]],["a",""]]]],[["f","let"],["w","cast:string->number"],[["f","safety"],["w","lambda"],["w","str"],[["f","type"],["w","str"],["w","number"]]]],[["f","let"],["w","cast:number->string"],[["f","safety"],["w","lambda"],["w","n"],[["f","type"],["w","n"],["w","string"]]]],[["f","let"],["w","cast:strings->numbers"],[["f","lambda"],["w","arr"],[["f","array:map"],["w","arr"],[["f","safety"],["w","lambda"],["w","x"],[["f","type"],["w","x"],["w","number"]]]]]],[["f","let"],["w","cast:numbers->strings"],[["f","lambda"],["w","arr"],[["f","array:map"],["w","arr"],[["f","safety"],["w","lambda"],["w","x"],[["f","type"],["w","x"],["w","string"]]]]]],[["f","let"],["w","cast:string->char-codes"],[["f","lambda"],["w","str"],[["f","pi"],["w","str"],[["f","type"],["w","array"]],[["f","array:map"],[["f","safety"],["w","lambda"],["w","x"],[["f","type"],["w","x"],["w","char-code"]]]]]]],[["f","let"],["w","cast:chars->char-codes"],[["f","lambda"],["w","arr"],[["f","pi"],["w","arr"],[["f","array:map"],[["f","safety"],["w","lambda"],["w","x"],[["f","type"],["w","x"],["w","char-code"]]]]]]],[["f","let"],["w","cast:chars->numbers"],[["f","lambda"],["w","arr"],[["f","pi"],["w","arr"],[["f","array:map"],[["f","safety"],["w","lambda"],["w","x"],[["f","type"],["w","x"],["w","number"]]]]]]],[["f","let"],["w","cast:char->number"],[["f","safety"],["w","lambda"],["w","ch"],[["f","type"],["w","ch"],["w","number"]]]],[["f","let"],["w","cast:char->char-code"],[["f","safety"],["w","lambda"],["w","ch"],[["f","type"],["w","ch"],["w","char-code"]]]],[["f","let"],["w","cast:char-code->char"],[["f","safety"],["w","lambda"],["w","ch"],[["f","type"],["w","ch"],["w","char"]]]],[["f","let"],["w","cast:char-codes->chars"],[["f","lambda"],["w","arr"],[["f","pi"],["w","arr"],[["f","array:map"],[["f","safety"],["w","lambda"],["w","x"],[["f","type"],["w","x"],["w","char"]]]]]]],[["f","let"],["w","cast:char-codes->string"],[["f","lambda"],["w","arr"],[["f","pi"],["w","arr"],[["f","array:map"],[["f","safety"],["w","lambda"],["w","x"],[["f","type"],["w","x"],["w","char"]]]],[["f","cast:chars->string"]]]]],[["f","let"],["w","math:square"],[["f","safety"],["w","lambda"],["w","x"],[["f","*"],["w","x"],["w","x"]]]],[["f","let"],["w","math:power"],[["f","lambda"],["w","base"],["w","exp"],[["f","if"],[["f","<"],["w","exp"],["a",0]],[["f","if"],[["f","="],["w","base"],["a",0]],[["f","throw"],["a","Attempting to divide by 0 in (math:power)"]],[["f","/"],[["f","*"],["w","base"],[["f","math:power"],["w","base"],[["f","-"],[["f","*"],["w","exp"],["a",-1]],["a",1]]]]]],[["f","cond"],[["f","="],["w","exp"],["a",0]],["a",1],[["f","="],["w","exp"],["a",1]],["w","base"],[["f","*"]],[["f","*"],["w","base"],[["f","math:power"],["w","base"],[["f","-"],["w","exp"],["a",1]]]]]]]],[["f","let"],["w","math:greatest-common-divisor"],[["f","lambda"],["w","a"],["w","b"],[["f","do"],[["f","let*"],["w","gcd"],[["f","lambda"],["w","a"],["w","b"],[["f","if"],[["f","="],["w","b"],["a",0]],["w","a"],[["f","gcd"],["w","b"],[["f","mod"],["w","a"],["w","b"]]]]]],[["f","gcd"],["w","a"],["w","b"]]]]],[["f","let"],["w","math:least-common-divisor"],[["f","lambda"],["w","a"],["w","b"],[["f","*"],["w","a"],["w","b"],[["f","/"],[["f","math:greatest-common-divisor"],["w","a"],["w","b"]]]]]],[["f","let"],["w","math:sqrt"],[["f","lambda"],["w","x"],[["f","do"],[["f","let"],["w","is-good-enough"],[["f","lambda"],["w","g"],["w","x"],[["f","<"],[["f","math:abs"],[["f","-"],[["f","math:square"],["w","g"]],["w","x"]]],["a",0.01]]]],[["f","let"],["w","improve-guess"],[["f","lambda"],["w","g"],["w","x"],[["f","math:average"],["w","g"],[["f","*"],["w","x"],[["f","/"],["w","g"]]]]]],[["f","let*"],["w","math:sqrt-iter"],[["f","lambda"],["w","g"],["w","x"],[["f","if"],[["f","is-good-enough"],["w","g"],["w","x"]],["w","g"],[["f","math:sqrt-iter"],[["f","improve-guess"],["w","g"],["w","x"]],["w","x"]]]]],[["f","math:sqrt-iter"],["a",1],["w","x"]]]]],[["f","let"],["w","math:circumference"],[["f","lambda"],["w","radius"],[["f","*"],["w","math:PI"],[["f","*"],["w","radius"],["a",2]]]]],[["f","let"],["w","math:hypotenuse"],[["f","lambda"],["w","a"],["w","b"],[["f","math:sqrt"],[["f","+"],[["f","*"],["w","a"],["w","a"]],[["f","*"],["w","b"],["w","b"]]]]]],[["f","let"],["w","math:abs"],[["f","safety"],["w","lambda"],["w","n"],[["f","-"],[["f","^"],["w","n"],[["f",">>"],["w","n"],["a",31]]],[["f",">>"],["w","n"],["a",31]]]]],[["f","let"],["w","math:nth-digit"],[["f","lambda"],["w","digit"],["w","n"],[["f","|"],[["f","mod"],[["f","/"],["w","digit"],[["f","math:power"],["a",10],[["f","-"],["w","n"],["a",1]]]],["a",10]],["a",0.5]]]],[["f","let"],["w","math:normalize"],[["f","safety"],["w","lambda"],["w","value"],["w","math:min"],["w","math:max"],[["f","*"],[["f","-"],["w","value"],["w","math:min"]],[["f","/"],[["f","-"],["w","math:max"],["w","math:min"]]]]]],[["f","let"],["w","math:linear-interpolation"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],["w","n"],[["f","+"],[["f","*"],[["f","-"],["a",1],["w","n"]],["w","a"]],[["f","*"],["w","n"],["w","b"]]]]],[["f","let"],["w","math:gauss-sum"],[["f","safety"],["w","lambda"],["w","n"],[["f","*"],["w","n"],[["f","+"],["w","n"],["a",1]],["a",0.5]]]],[["f","let"],["w","math:gauss-sum-sequance"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f","*"],[["f","+"],["w","a"],["w","b"]],[["f","+"],[["f","-"],["w","b"],["w","a"]],["a",1]],["a",0.5]]]],[["f","let"],["w","math:clamp"],[["f","safety"],["w","lambda"],["w","x"],["w","limit"],[["f","if"],[["f",">"],["w","x"],["w","limit"]],["w","limit"],["w","x"]]]],[["f","let"],["w","math:odd?"],[["f","safety"],["w","lambda"],["w","x"],[["f","="],[["f","mod"],["w","x"],["a",2]],["a",1]]]],[["f","let"],["w","math:even?"],[["f","safety"],["w","lambda"],["w","x"],[["f","="],[["f","mod"],["w","x"],["a",2]],["a",0]]]],[["f","let"],["w","math:sign"],[["f","safety"],["w","lambda"],["w","n"],[["f","if"],[["f","<"],["w","n"],["a",0]],["a",-1],["a",1]]]],[["f","let"],["w","math:radians"],[["f","lambda"],["w","deg"],[["f","*"],["w","deg"],["w","math:PI"],[["f","/"],["a",180]]]]],[["f","let"],["w","math:average"],[["f","safety"],["w","lambda"],["w","x"],["w","y"],[["f","*"],[["f","+"],["w","x"],["w","y"]],["a",0.5]]]],[["f","let"],["w","math:euclidean-mod"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f","mod"],[["f","+"],[["f","mod"],["w","a"],["w","b"]],["w","b"]],["w","b"]]]],[["f","let"],["w","math:euclidean-distance"],[["f","lambda"],["w","x1"],["w","y1"],["w","x2"],["w","y2"],[["f","do"],[["f","let"],["w","a"],[["f","-"],["w","x1"],["w","x2"]]],[["f","let"],["w","b"],[["f","-"],["w","y1"],["w","y2"]]],[["f","math:sqrt"],[["f","+"],[["f","*"],["w","a"],["w","a"]],[["f","*"],["w","b"],["w","b"]]]]]]],[["f","let"],["w","math:manhattan-distance"],[["f","lambda"],["w","x1"],["w","y1"],["w","x2"],["w","y2"],[["f","+"],[["f","math:abs"],[["f","-"],["w","x2"],["w","x1"]]],[["f","math:abs"],[["f","-"],["w","y2"],["w","y1"]]]]]],[["f","let"],["w","math:positive?"],[["f","safety"],["w","lambda"],["w","num"],[["f",">"],["w","num"],["a",0]]]],[["f","let"],["w","math:negative?"],[["f","safety"],["w","lambda"],["w","num"],[["f","<"],["w","num"],["a",0]]]],[["f","let"],["w","math:zero?"],[["f","safety"],["w","lambda"],["w","num"],[["f","="],["w","num"],["a",0]]]],[["f","let"],["w","math:divisible?"],[["f","safety"],["w","lambda"],["w","a"],["w","b"],[["f","="],[["f","mod"],["w","a"],["w","b"]],["a",0]]]],[["f","let"],["w","math:ascending?"],[["f","lambda"],["w","a"],["w","b"],[["f",">"],["w","a"],["w","b"]]]],[["f","let"],["w","math:descending?"],[["f","lambda"],["w","a"],["w","b"],[["f","<"],["w","a"],["w","b"]]]],[["f","let"],["w","math:prime?"],[["f","lambda"],["w","n"],[["f","cond"],[["f","="],["w","n"],["a",1]],["a",0],[["f","<"],["w","n"],["a",0]],["a",0],[["f","*"]],[["f","do"],[["f","let*"],["w","iter"],[["f","lambda"],["w","i"],["w","end"],[["f","do"],[["f","let"],["w","is-prime"],[["f","not"],[["f","="],[["f","mod"],["w","n"],["w","i"]],["a",0]]]],[["f","if"],[["f","and"],[["f","<="],["w","i"],["w","end"]],["w","is-prime"]],[["f","iter"],[["f","+"],["w","i"],["a",1]],["w","end"]],["w","is-prime"]]]]],[["f","or"],[["f","="],["w","n"],["a",2]],[["f","iter"],["a",2],[["f","math:sqrt"],["w","n"]]]]]]]],[["f","let"],["w","array:slice"],[["f","lambda"],["w","arr"],["w","start"],["w","end"],[["f","do"],[["f","let"],["w","bounds"],[["f","-"],["w","end"],["w","start"]]],[["f","let*"],["w","iterate"],[["f","lambda"],["w","i"],["w","out"],[["f","if"],[["f","<"],["w","i"],["w","bounds"]],[["f","iterate"],[["f","+"],["w","i"],["a",1]],[["f","array:merge!"],["w","out"],[["f","array"],[["f","array:get"],["w","arr"],[["f","+"],["w","start"],["w","i"]]]]]],["w","out"]]]],[["f","iterate"],["a",0],[]]]]],[["f","let"],["w","array:binary-search"],[["f","lambda"],["w","arr"],["w","target"],[["f","do"],[["f","let*"],["w","search"],[["f","lambda"],["w","arr"],["w","target"],["w","start"],["w","end"],[["f","do"],[["f","when"],[["f","<="],["w","start"],["w","end"]],[["f","do"],[["f","let"],["w","index"],[["f","math:floor"],[["f","*"],[["f","+"],["w","start"],["w","end"]],["a",0.5]]]],[["f","let"],["w","current"],[["f","array:get"],["w","arr"],["w","index"]]],[["f","if"],[["f","="],["w","target"],["w","current"]],["w","target"],[["f","if"],[["f",">"],["w","current"],["w","target"]],[["f","search"],["w","arr"],["w","target"],["w","start"],[["f","-"],["w","index"],["a",1]]],[["f","search"],["w","arr"],["w","target"],[["f","+"],["w","index"],["a",1]],["w","end"]]]]]]]]],[["f","search"],["w","arr"],["w","target"],["a",0],[["f","length"],["w","arr"]]]]]],[["f","let"],["w","array:zip"],[["f","lambda"],["w","A"],["w","B"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","a"],["w","b"],["w","output"],[["f","if"],[["f","and"],[["f","length"],["w","a"]],[["f","length"],["w","b"]]],[["f","iterate"],[["f","cdr"],["w","a"]],[["f","cdr"],["w","b"]],[["f","array:merge!"],["w","output"],[["f","array"],[["f","array"],[["f","car"],["w","a"]],[["f","car"],["w","b"]]]]]],["w","output"]]]],[["f","iterate"],["w","A"],["w","B"],[]]]]],[["f","let"],["w","math:cartesian-product"],[["f","lambda"],["w","a"],["w","b"],[["f","array:fold"],["w","a"],[["f","lambda"],["w","p"],["w","x"],[["f","array:merge!"],["w","p"],[["f","array:map"],["w","b"],[["f","lambda"],["w","y"],[["f","array"],["w","x"],["w","y"]]]]]],[]]]],[["f","let"],["w","array:equal?"],[["f","lambda"],["w","a"],["w","b"],[["f","or"],[["f","and"],[["f","number?"],["w","a"]],[["f","number?"],["w","b"]],[["f","="],["w","a"],["w","b"]]],[["f","and"],[["f","string?"],["w","a"]],[["f","string?"],["w","b"]],[["f","string:equal?"],["w","a"],["w","b"]]],[["f","and"],[["f","array?"],["w","a"]],[["f","="],[["f","length"],["w","a"]],[["f","length"],["w","b"]]],[["f","not"],[["f","array:some?"],[["f","math:sequence"],["w","a"]],[["f","lambda"],["w","i"],[["f","not"],[["f","array:equal?"],[["f","array:get"],["w","a"],["w","i"]],[["f","array:get"],["w","b"],["w","i"]]]]]]]]]]],[["f","let"],["w","array:join"],[["f","lambda"],["w","arr"],["w","delim"],[["f","array:fold"],[["f","array:zip"],["w","arr"],[["f","math:sequence"],["w","arr"]]],[["f","lambda"],["w","a"],["w","b"],[["f","if"],[["f",">"],[["f","car"],[["f","cdr"],["w","b"]]],["a",0]],[["f","string:merge"],["w","a"],["w","delim"],[["f","type"],[["f","car"],["w","b"]],["w","string"]]],[["f","type"],[["f","car"],["w","b"]],["w","string"]]]],["a",""]]]],[["f","let"],["w","array:flat"],[["f","lambda"],["w","arr"],[["f","do"],[["f","let"],["w","flatten"],[["f","lambda"],["w","item"],[["f","if"],[["f","and"],[["f","array?"],["w","item"]],[["f","length"],["w","item"]]],[["f","array:fold"],["w","item"],[["f","lambda"],["w","a"],["w","b"],[["f","array:merge!"],["w","a"],[["f","flatten"],["w","b"]]]],[]],[["f","array"],["w","item"]]]]],[["f","flatten"],["w","arr"]]]]],[["f","let"],["w","array:sort"],[["f","lambda"],["w","arr"],["w","callback"],[["f","do"],[["f","if"],[["f","<="],[["f","length"],["w","arr"]],["a",1]],["w","arr"],[["f","do"],[["f","let"],["w","pivot"],[["f","car"],["w","arr"]]],[["f","let*"],["w","iterate"],[["f","lambda"],["w","i"],["w","bounds"],["w","a"],["w","b"],[["f","do"],[["f","let"],["w","current"],[["f","array:get"],["w","arr"],["w","i"]]],[["f","let"],["w","predicate"],[["f","callback"],["w","current"],["w","pivot"]]],[["f","let"],["w","left"],[["f","if"],[["f","="],["w","predicate"],["a",0]],[["f","array:merge"],["w","a"],[["f","array"],["w","current"]]],["w","a"]]],[["f","let"],["w","right"],[["f","if"],[["f","="],["w","predicate"],["a",1]],[["f","array:merge"],["w","b"],[["f","array"],["w","current"]]],["w","b"]]],[["f","if"],[["f","<"],["w","i"],["w","bounds"]],[["f","iterate"],[["f","+"],["w","i"],["a",1]],["w","bounds"],["w","left"],["w","right"]],[["f","array"],["w","left"],["w","right"]]]]]],[["f","let"],["w","sorted"],[["f","iterate"],["a",1],[["f","-"],[["f","length"],["w","arr"]],["a",1]],[],[]]],[["f","let"],["w","left"],[["f","car"],["w","sorted"]]],[["f","let"],["w","right"],[["f","car"],[["f","cdr"],["w","sorted"]]]],[["f","array:merge"],[["f","array:sort"],["w","left"],["w","callback"]],[["f","array"],["w","pivot"]],[["f","array:sort"],["w","right"],["w","callback"]]]]]]]],[["f","let"],["w","array:set"],[["f","lambda"],["w","arr"],["w","i"],["w","value"],[["f","if"],[["f","array:in-bounds?"],["w","arr"],["w","i"]],[["f","array:map"],[["f","math:sequence"],["w","arr"]],[["f","lambda"],["w","x"],[["f","if"],[["f","="],["w","x"],["w","i"]],["w","value"],[["f","array:get"],["w","arr"],["w","x"]]]]],[["f","throw"],[["f","string:merge"],[["f","type"],["w","i"],["w","string"]],["a"," is outside of the array bounds"]]]]]],[["f","let"],["w","array:adjacent-difference"],[["f","lambda"],["w","arr"],["w","callback"],[["f","do"],[["f","let"],["w","len"],[["f","length"],["w","arr"]]],[["f","unless"],[["f","="],["w","len"],["a",1]],[["f","do"],[["f","array"],[["f","car"],["w","arr"]]],[["f","let*"],["w","iterate"],[["f","lambda"],["w","i"],["w","result"],[["f","if"],[["f","<"],["w","i"],["w","len"]],[["f","do"],[["f","iterate"],[["f","+"],["w","i"],["a",1]],[["f","array:set!"],["w","result"],["w","i"],[["f","callback"],[["f","array:get"],["w","arr"],[["f","-"],["w","i"],["a",1]]],[["f","array:get"],["w","arr"],["w","i"]]]]]],["w","result"]]]],[["f","iterate"],["a",1],["w","arr"]]],["w","arr"]]]]],[["f","let"],["w","array:adjacent-find"],[["f","lambda"],["w","arr"],["w","callback"],[["f","do"],[["f","let"],["w","len"],[["f","length"],["w","arr"]]],[["f","otherwise"],[["f","="],["w","len"],["a",1]],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","i"],[["f","if"],[["f","<"],["w","i"],["w","len"]],[["f","if"],[["f","callback"],[["f","let"],["w","prev"],[["f","array:get"],["w","arr"],[["f","-"],["w","i"],["a",1]]]],[["f","let"],["w","current"],[["f","array:get"],["w","arr"],["w","i"]]]],["w","prev"],[["f","iterate"],[["f","+"],["w","i"],["a",1]]]],[]]]],[["f","iterate"],["a",1]]]]]]],[["f","let"],["w","array:adjacent"],[["f","lambda"],["w","arr"],["w","directions"],["w","y"],["w","x"],["w","callback"],[["f","array:for"],["w","directions"],[["f","lambda"],["w","dir"],[["f","do"],[["f","let"],["w","dy"],[["f","+"],[["f","car"],["w","dir"]],["w","y"]]],[["f","let"],["w","dx"],[["f","+"],[["f","car"],[["f","cdr"],["w","dir"]]],["w","x"]]],[["f","when"],[["f","and"],[["f","array:in-bounds?"],["w","arr"],["w","dy"]],[["f","array:in-bounds?"],[["f","array:get"],["w","arr"],["w","dy"]],["w","dx"]]],[["f","callback"],[["f","array:get"],[["f","array:get"],["w","arr"],["w","dy"]],["w","dx"]],["w","dir"]]]]]]]],[["f","let"],["w","array:partition"],[["f","lambda"],["w","arr"],["w","n"],[["f","array:fold"],[["f","array:zip"],["w","arr"],[["f","math:sequence"],["w","arr"]]],[["f","lambda"],["w","a"],["w","b"],[["f","do"],[["f","let"],["w","x"],[["f","car"],["w","b"]]],[["f","let"],["w","i"],[["f","car"],[["f","cdr"],["w","b"]]]],[["f","if"],[["f","mod"],["w","i"],["w","n"]],[["f","array:set!"],[["f","let"],["w","last-a"],[["f","array:get"],["w","a"],["a",-1]]],[["f","length"],["w","last-a"]],["w","x"]],[["f","array:set!"],["w","a"],[["f","length"],["w","a"]],[["f","do"],[["f","let"],["w","mut-arr"],[]],[["f","array:set!"],["w","mut-arr"],[["f","length"],["w","mut-arr"]],["w","x"]]]]],["w","a"]]],[]]]],[["f","let"],["w","string:split"],[["f","lambda"],["w","str"],["w","delim"],[["f","do"],[["f","let"],["w","locals"],[]],[["f","let"],["w","delim-arr"],[["f","type"],["w","delim"],["w","array"]]],[["f","array:set!"],["w","locals"],[["f","length"],["w","locals"]],["w","delim-arr"]],[["f","array:set!"],["w","locals"],[["f","length"],["w","locals"]],[["f","type"],["w","str"],["w","array"]]],[["f","array:set!"],["w","locals"],[["f","length"],["w","locals"]],[["f","length"],["w","delim-arr"]]],[["f","array:set!"],["w","locals"],[["f","length"],["w","locals"]],["a",""]],[["f","let*"],["w","iterate"],[["f","lambda"],["w","result"],["w","i"],["w","bounds"],[["f","if"],[["f","<"],[["f","if"],[["f","array:every?"],[["f","array:zip"],[["f","array:get"],["w","locals"],["a",0]],[["f","math:sequence"],["w","locals"]]],[["f","lambda"],["w","item"],[["f","do"],[["f","let"],["w","y"],[["f","car"],["w","item"]]],[["f","let"],["w","j"],[["f","car"],[["f","cdr"],["w","item"]]]],[["f","or"],[["f","<="],[["f","length"],[["f","array:get"],["w","locals"],["a",1]]],[["f","+"],["w","i"],["w","j"]]],[["f","="],[["f","type"],[["f","array:get"],[["f","array:get"],["w","locals"],["a",1]],[["f","+"],["w","i"],["w","j"]]],["w","char-code"]],[["f","type"],["w","y"],["w","char-code"]]]]]]],[["f","do"],[["f","array:set!"],["w","result"],[["f","length"],["w","result"]],[["f","array:get"],["w","locals"],["a",3]]],[["f","array:set!"],["w","locals"],["a",3],["a",""]],[["f","+"],["w","i"],[["f","array:get"],["w","locals"],["a",2]],["a",-1]]],[["f","do"],[["f","array:set!"],["w","locals"],["a",3],[["f","string:merge"],[["f","array:get"],["w","locals"],["a",3]],[["f","array:get"],[["f","array:get"],["w","locals"],["a",1]],["w","i"]]]],["w","i"]]],["w","bounds"]],[["f","iterate"],["w","result"],[["f","+"],["w","i"],["a",1]],["w","bounds"]],["w","result"]]]],[["f","array:set!"],[["f","let"],["w","iteration-result"],[["f","iterate"],[],["a",0],[["f","-"],[["f","length"],[["f","array:get"],["w","locals"],["a",1]]],["a",1]]]],[["f","length"],["w","iteration-result"]],[["f","array:get"],["w","locals"],["a",3]]]]]],[["f","let"],["w","array:copy"],[["f","lambda"],["w","arr"],[["f","array:fold"],["w","arr"],[["f","lambda"],["w","a"],["w","b"],[["f","array:set!"],["w","a"],[["f","length"],["w","a"]],["w","b"]]],[]]]],[["f","let"],["w","array:merge!"],[["f","lambda"],["w","a"],["w","b"],[["f","do"],[["f","array:for"],["w","b"],[["f","lambda"],["w","x"],[["f","array:set!"],["w","a"],[["f","length"],["w","a"]],["w","x"]]]],["w","a"]]]],[["f","let"],["w","array:swap-remove!"],[["f","lambda"],["w","arr"],["w","i"],[["f","do"],[["f","array:set!"],["w","arr"],["w","i"],[["f","array:get"],["w","arr"],[["f","-"],[["f","length"],["w","arr"]],["a",1]]]],[["f","array:set!"],["w","arr"],["a",-1]]]]],[["f","let"],["w","array:index-of"],[["f","safety"],["w","lambda"],["w","arr"],["w","item"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],["w","i"],[["f","if"],[["f","length"],["w","arr"]],[["f","if"],[["f","="],[["f","car"],["w","arr"]],["w","item"]],["w","i"],[["f","iterate"],[["f","cdr"],["w","arr"]],[["f","+"],["w","i"],["a",1]]]],["a",-1]]]],[["f","iterate"],["w","arr"],["a",0]]]]],[["f","let"],["w","string:index-of-char"],[["f","lambda"],["w","str"],["w","character"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],["w","i"],[["f","if"],[["f","length"],["w","arr"]],[["f","if"],[["f","string:equal?"],[["f","car"],["w","arr"]],["w","character"]],["w","i"],[["f","iterate"],[["f","cdr"],["w","arr"]],[["f","+"],["w","i"],["a",1]]]],["a",-1]]]],[["f","iterate"],[["f","type"],["w","str"],["w","array"]],["a",0]]]]],[["f","let"],["w","string:match"],[["f","lambda"],["w","str"],["w","word"],[["f","do"],[["f","let"],["w","string-arr"],[["f","type"],["w","str"],["w","array"]]],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],["w","i"],[["f","if"],[["f","length"],["w","arr"]],[["f","if"],[["f","string:equal?"],[["f","pi"],["w","string-arr"],[["f","array:slice"],["w","i"],[["f","+"],["w","i"],[["f","length"],["w","word"]]]],[["f","array:join"],["a",""]]],["w","word"]],["w","i"],[["f","iterate"],[["f","cdr"],["w","arr"]],[["f","+"],["w","i"],["a",1]]]],["a",-1]]]],[["f","iterate"],["w","toArr"],["a",0]]]]],[["f","let"],["w","array:find-index"],[["f","safety"],["w","lambda"],["w","arr"],["w","callback"],[["f","do"],[["f","let*"],["w","iterate"],[["f","lambda"],["w","arr"],["w","i"],[["f","if"],[["f","length"],["w","arr"]],[["f","if"],[["f","callback"],[["f","car"],["w","arr"]]],["w","i"],[["f","iterate"],[["f","cdr"],["w","arr"]],[["f","+"],["w","i"],["a",1]]]],["a",-1]]]],[["f","iterate"],["w","arr"],["a",0]]]]],[["f","let"],["w","array:remove"],[["f","lambda"],["w","arr"],["w","i"],[["f","array:fold"],["w","arr"],[["f","lambda"],["w","a"],["w","x"],[["f","do"],[["f","unless"],[["f","="],["w","x"],["w","i"]],[["f","array:merge!"],["w","a"],[["f","array"],["w","x"]]],["w","a"]]]],[]]]],[["f","let"],["w","array:pad-right"],[["f","lambda"],["w","a"],["w","b"],[["f","if"],[["f",">"],[["f","length"],["w","a"]],[["f","length"],["w","b"]]],[["f","array:merge"],["w","b"],[["f","array"],[["f","-"],[["f","length"],["w","a"]],[["f","length"],["w","b"]]],["w","length"]]],[["f","array:merge"],["w","a"],[["f","array"],[["f","-"],[["f","length"],["w","b"]],[["f","length"],["w","a"]]],["w","length"]]]]]],[["f","let"],["w","array:pad-left"],[["f","lambda"],["w","a"],["w","b"],[["f","if"],[["f",">"],[["f","length"],["w","a"]],[["f","length"],["w","b"]]],[["f","array:merge"],[["f","array"],[["f","-"],[["f","length"],["w","a"]],[["f","length"],["w","b"]]],["w","length"]],["w","b"]],[["f","array:merge"],[["f","array"],[["f","-"],[["f","length"],["w","b"]],[["f","length"],["w","a"]]],["w","length"]],["w","a"]]]]],[["f","let"],["w","array:pad-right!"],[["f","lambda"],["w","a"],["w","b"],[["f","if"],[["f",">"],[["f","length"],["w","a"]],[["f","length"],["w","b"]]],[["f","array:merge!"],["w","b"],[["f","array"],[["f","-"],[["f","length"],["w","a"]],[["f","length"],["w","b"]]],["w","length"]]],[["f","array:merge!"],["w","a"],[["f","array"],[["f","-"],[["f","length"],["w","b"]],[["f","length"],["w","a"]]],["w","length"]]]]]],[["f","let"],["w","array:pad-left!"],[["f","lambda"],["w","a"],["w","b"],[["f","if"],[["f",">"],[["f","length"],["w","a"]],[["f","length"],["w","b"]]],[["f","array:merge!"],[["f","array"],[["f","-"],[["f","length"],["w","a"]],[["f","length"],["w","b"]]],["w","length"]],["w","b"]],[["f","array:merge!"],[["f","array"],[["f","-"],[["f","length"],["w","b"]],[["f","length"],["w","a"]]],["w","length"]],["w","a"]]]]],[["f","let"],["w","string:greater?"],[["f","lambda"],["w","L"],["w","R"],[["f","otherwise"],[["f","string:equal?"],["w","L"],["w","R"]],[["f","do"],[["f","let"],["w","A"],[["f","cast:string->char-codes"],[["f","type"],["w","L"],["w","string"]]]],[["f","let"],["w","B"],[["f","cast:string->char-codes"],[["f","type"],["w","R"],["w","string"]]]],[["f","let"],["w","a"],[["f","if"],[["f","<"],[["f","length"],["w","A"]],[["f","length"],["w","B"]]],[["f","array:merge!"],["w","A"],[["f","array"],[["f","-"],[["f","length"],["w","B"]],[["f","length"],["w","A"]]],["w","length"]]],["w","A"]]],[["f","let"],["w","b"],[["f","if"],[["f",">"],[["f","length"],["w","A"]],[["f","length"],["w","B"]]],[["f","array:merge!"],["w","B"],[["f","array"],[["f","-"],[["f","length"],["w","A"]],[["f","length"],["w","B"]]],["w","length"]]],["w","B"]]],[["f","pi"],["w","a"],[["f","array:zip"],["w","b"]],[["f","array:fold"],[["f","lambda"],["w","acc"],["w","pair"],[["f","if"],[["f",">"],[["f","car"],["w","pair"]],[["f","car"],[["f","cdr"],["w","pair"]]]],["a",0],["w","acc"]]],["a",1]]]]]]],[["f","let"],["w","string:lesser?"],[["f","lambda"],["w","L"],["w","R"],[["f","otherwise"],[["f","string:equal?"],["w","L"],["w","R"]],[["f","do"],[["f","let"],["w","A"],[["f","cast:string->char-codes"],[["f","type"],["w","L"],["w","string"]]]],[["f","let"],["w","B"],[["f","cast:string->char-codes"],[["f","type"],["w","R"],["w","string"]]]],[["f","let"],["w","a"],[["f","if"],[["f","<"],[["f","length"],["w","A"]],[["f","length"],["w","B"]]],[["f","array:merge!"],["w","A"],[["f","array"],[["f","-"],[["f","length"],["w","B"]],[["f","length"],["w","A"]]],["w","length"]]],["w","A"]]],[["f","let"],["w","b"],[["f","if"],[["f",">"],[["f","length"],["w","A"]],[["f","length"],["w","B"]]],[["f","array:merge!"],["w","B"],[["f","array"],[["f","-"],[["f","length"],["w","A"]],[["f","length"],["w","B"]]],["w","length"]]],["w","B"]]],[["f","pi"],["w","a"],[["f","array:zip"],["w","b"]],[["f","array:fold"],[["f","lambda"],["w","acc"],["w","pair"],[["f","if"],[["f","<"],[["f","car"],["w","pair"]],[["f","car"],[["f","cdr"],["w","pair"]]]],["a",0],["w","acc"]]],["a",1]]]]]]],[["f","let"],["w","string:equal?"],[["f","lambda"],["w","L"],["w","R"],[["f","when"],[["f","="],[["f","length"],["w","L"]],[["f","length"],["w","R"]]],[["f","do"],[["f","let"],["w","a"],[["f","cast:string->char-codes"],[["f","type"],["w","R"],["w","string"]]]],[["f","let"],["w","b"],[["f","cast:string->char-codes"],[["f","type"],["w","L"],["w","string"]]]],[["f","pi"],["w","a"],[["f","array:zip"],["w","b"]],[["f","array:every?"],[["f","lambda"],["w","x"],[["f","="],[["f","car"],["w","x"]],[["f","car"],[["f","cdr"],["w","x"]]]]]]]]]]],[["f","let"],["w","new:set"],[["f","lambda"],["w","items"],[["f","set:add!"],[["f","array"],[],[],[],[]],["w","items"]]]],[["f","let"],["w","new:array"],[["f","safety"],["w","lambda"],["w","items"],[["f","type"],["w","items"],["w","array"]]]],[["f","let"],["w","new:list"],[["f","safety"],["w","lambda"],["w","value"],[["f","array"],[],["w","value"],[]]]],[["f","let"],["w","new:binary-tree"],[["f","safety"],["w","lambda"],["w","value"],[["f","do"],[["f","let"],["w","arr"],[]],[["f","array:set!"],["w","arr"],["a",0],["w","value"]],[["f","array:set!"],["w","arr"],["a",1],[]],[["f","array:set!"],["w","arr"],["a",2],[]],["w","arr"]]]],[["f","let"],["w","binary-tree:left"],[["f","safety"],["w","lambda"],["w","node"],[["f","array:get"],["w","node"],["a",1]]]],[["f","let"],["w","binary-tree:right"],[["f","safety"],["w","lambda"],["w","node"],[["f","array:get"],["w","node"],["a",2]]]],[["f","let"],["w","binary-tree:left!"],[["f","safety"],["w","lambda"],["w","tree"],["w","node"],[["f","array:set!"],["w","tree"],["a",1],["w","node"]]]],[["f","let"],["w","binary-tree:right!"],[["f","safety"],["w","lambda"],["w","tree"],["w","node"],[["f","array:set!"],["w","tree"],["a",2],["w","node"]]]],[["f","let"],["w","binary-tree:value"],[["f","safety"],["w","lambda"],["w","node"],[["f","car"],["w","node"]]]],[["f","let"],["w","set:index"],[["f","lambda"],["w","table"],["w","key"],[["f","do"],[["f","let"],["w","prime-num"],["a",31]],[["f","let"],["w","key-arr"],[["f","type"],[["f","type"],["w","key"],["w","string"]],["w","array"]]],[["f","let"],["w","total"],[["f","array"],["a",0]]],[["f","let*"],["w","find-hash-index"],[["f","lambda"],["w","i"],["w","bounds"],[["f","do"],[["f","let"],["w","letter"],[["f","array:get"],["w","key-arr"],["w","i"]]],[["f","let"],["w","value"],[["f","-"],[["f","type"],["w","letter"],["w","char-code"]],["a",96]]],[["f","array:set!"],["w","total"],["a",0],[["f","math:euclidean-mod"],[["f","+"],[["f","*"],[["f","car"],["w","total"]],["w","prime-num"]],["w","value"]],[["f","length"],["w","table"]]]],[["f","if"],[["f","<"],["w","i"],["w","bounds"]],[["f","find-hash-index"],[["f","+"],["w","i"],["a",1]],["w","bounds"]],[["f","car"],["w","total"]]]]]],[["f","find-hash-index"],["a",0],[["f","if"],[["f","<"],[["f","-"],[["f","length"],["w","key-arr"]],["a",1]],["a",100]],[["f","-"],[["f","length"],["w","key-arr"]],["a",1]],["a",100]]]]]],[["f","let"],["w","set:add!"],[["f","lambda"],["w","table"],["w","key"],[["f","do"],[["f","let"],["w","idx"],[["f","set:index"],["w","table"],["w","key"]]],[["f","otherwise"],[["f","array:in-bounds?"],["w","table"],["w","idx"]],[["f","array:set!"],["w","table"],["w","idx"],[["f","array"]]]],[["f","let"],["w","current"],[["f","array:get"],["w","table"],["w","idx"]]],[["f","let"],["w","len"],[["f","length"],["w","current"]]],[["f","let"],["w","index"],[["f","if"],["w","len"],[["f","array:find-index"],["w","current"],[["f","lambda"],["w","x"],[["f","string:equal?"],[["f","type"],["w","x"],["w","string"]],[["f","type"],["w","key"],["w","string"]]]]],["a",-1]]],[["f","let"],["w","entry"],["w","key"]],[["f","if"],[["f","="],["w","index"],["a",-1]],[["f","array:set!"],["w","current"],[["f","length"],["w","current"]],["w","entry"]],[["f","array:set!"],["w","current"],["w","index"],["w","entry"]]],["w","table"]]]],[["f","let"],["w","set:remove!"],[["f","lambda"],["w","table"],["w","key"],[["f","do"],[["f","let"],["w","idx"],[["f","set:index"],["w","table"],["w","key"]]],[["f","otherwise"],[["f","array:in-bounds?"],["w","table"],["w","idx"]],[["f","array:set!"],["w","table"],["w","idx"],[["f","Array"]]]],[["f","let"],["w","current"],[["f","array:get"],["w","table"],["w","idx"]]],[["f","let"],["w","len"],[["f","length"],["w","current"]]],[["f","let"],["w","index"],[["f","if"],["w","len"],[["f","array:find-index"],["w","current"],[["f","lambda"],["w","x"],[["f","string:equal?"],[["f","type"],["w","x"],["w","string"]],[["f","type"],["w","key"],["w","string"]]]]],["a",-1]]],[["f","let"],["w","entry"],["w","key"]],[["f","otherwise"],[["f","="],["w","index"],["a",-1]],[["f","and"],[["f","array:set!"],["w","current"],["w","index"],[["f","array:get"],["w","current"],["a",-1]]],[["f","array:set!"],["w","current"],["a",-1]]]],["w","table"]]]],[["f","let"],["w","set:has?"],[["f","lambda"],["w","table"],["w","key"],[["f","and"],[["f","array:in-bounds?"],["w","table"],[["f","let"],["w","idx"],[["f","set:index"],["w","table"],["w","key"]]]],[["f","and"],[["f","length"],[["f","let"],["w","current"],[["f","array:get"],["w","table"],["w","idx"]]]],[["f",">="],[["f","array:find-index"],["w","current"],[["f","lambda"],["w","x"],[["f","string:equal?"],[["f","type"],["w","x"],["w","string"]],[["f","type"],["w","key"],["w","string"]]]]],["a",0]]]]]],[["f","let"],["w","set:intersection"],[["f","lambda"],["w","a"],["w","b"],[["f","pi"],["w","b"],[["f","cast:table->array"]],[["f","array:fold"],[["f","lambda"],["w","out"],["w","element"],[["f","do"],[["f","when"],[["f","set:has?"],["w","a"],["w","element"]],[["f","set:add!"],["w","out"],["w","element"]]],["w","out"]]],[["f","array"],[],[],[],[],[]]]]]],[["f","let"],["w","set:difference"],[["f","lambda"],["w","a"],["w","b"],[["f","pi"],["w","a"],[["f","cast:table->array"]],[["f","array:fold"],[["f","lambda"],["w","out"],["w","element"],[["f","do"],[["f","when"],[["f","not"],[["f","set:has?"],["w","b"],["w","element"]]],[["f","set:add!"],["w","out"],["w","element"]]],["w","out"]]],[["f","array"],[],[],[],[],[]]]]]],[["f","let"],["w","set:xor"],[["f","lambda"],["w","a"],["w","b"],[["f","do"],[["f","let"],["w","out"],[["f","array"],[],[],[],[],[]]],[["f","pi"],["w","a"],[["f","cast:table->array"]],[["f","array:for"],[["f","lambda"],["w","element"],[["f","when"],[["f","not"],[["f","set:has?"],["w","b"],["w","element"]]],[["f","set:add!"],["w","out"],["w","element"]]]]]],[["f","pi"],["w","b"],[["f","cast:table->array"]],[["f","array:for"],[["f","lambda"],["w","element"],[["f","when"],[["f","not"],[["f","set:has?"],["w","a"],["w","element"]]],[["f","set:add!"],["w","out"],["w","element"]]]]]],["w","out"]]]],[["f","let"],["w","set:union"],[["f","lambda"],["w","a"],["w","b"],[["f","do"],[["f","let"],["w","out"],[["f","array"],[],[],[],[],[]]],[["f","pi"],["w","a"],[["f","cast:table->array"]],[["f","array:for"],[["f","lambda"],["w","element"],[["f","set:add!"],["w","out"],["w","element"]]]]],[["f","pi"],["w","b"],[["f","cast:table->array"]],[["f","array:for"],[["f","lambda"],["w","element"],[["f","set:add!"],["w","out"],["w","element"]]]]],["w","out"]]]],[["f","let"],["w","cast:table->array"],[["f","lambda"],["w","set"],[["f","array:select"],[["f","array:flat"],["w","set"]],["w","atom?"]]]],[["f","let"],["w","set:empty!"],[["f","lambda"],["w","table"],[["f","array:map"],["w","table"],["w","empty!"]]]],[["f","let"],["w","map:empty!"],[["f","lambda"],["w","table"],[["f","array:map"],["w","table"],["w","empty!"]]]],[["f","let"],["w","map:set!"],[["f","lambda"],["w","table"],["w","key"],["w","value"],[["f","do"],[["f","let"],["w","idx"],[["f","set:index"],["w","table"],["w","key"]]],[["f","otherwise"],[["f","array:in-bounds?"],["w","table"],["w","idx"]],[["f","array:set!"],["w","table"],["w","idx"],[]]],[["f","let"],["w","current"],[["f","array:get"],["w","table"],["w","idx"]]],[["f","let"],["w","len"],[["f","length"],["w","current"]]],[["f","let"],["w","index"],[["f","if"],["w","len"],[["f","array:find-index"],["w","current"],[["f","lambda"],["w","x"],[["f","string:equal?"],[["f","type"],[["f","car"],["w","x"]],["w","string"]],[["f","type"],["w","key"],["w","string"]]]]],["a",-1]]],[["f","let"],["w","entry"],[["f","array"],["w","key"],["w","value"]]],[["f","if"],[["f","="],["w","index"],["a",-1]],[["f","array:set!"],["w","current"],[["f","length"],["w","current"]],["w","entry"]],[["f","array:set!"],["w","current"],["w","index"],["w","entry"]]],["w","table"]]]],[["f","let"],["w","map:remove!"],[["f","lambda"],["w","table"],["w","key"],[["f","do"],[["f","let"],["w","idx"],[["f","set:index"],["w","table"],["w","key"]]],[["f","otherwise"],[["f","array:in-bounds?"],["w","table"],["w","idx"]],[["f","array:set!"],["w","table"],["w","idx"],[]]],[["f","let"],["w","current"],[["f","array:get"],["w","table"],["w","idx"]]],[["f","let"],["w","len"],[["f","length"],["w","current"]]],[["f","let"],["w","index"],[["f","if"],["w","len"],[["f","array:find-index"],["w","current"],[["f","lambda"],["w","x"],[["f","string:equal?"],[["f","type"],[["f","car"],["w","x"]],["w","string"]],[["f","type"],["w","key"],["w","string"]]]]],["a",-1]]],[["f","otherwise"],[["f","="],["w","index"],["a",-1]],[["f","and"],[["f","array:set!"],["w","current"],["w","index"],[["f","array:get"],["w","current"],["a",-1]]],[["f","array:set!"],["w","current"],["a",-1]]]],["w","table"]]]],[["f","let"],["w","map:get"],[["f","lambda"],["w","table"],["w","key"],[["f","do"],[["f","let"],["w","idx"],[["f","set:index"],["w","table"],["w","key"]]],[["f","when"],[["f","array:in-bounds?"],["w","table"],["w","idx"]],[["f","do"],[["f","let"],["w","current"],[["f","array:get"],["w","table"],["w","idx"]]],[["f","let"],["w","found"],[["f","array:find"],["w","current"],[["f","lambda"],["w","x"],[["f","string:equal?"],[["f","type"],["w","key"],["w","string"]],[["f","type"],[["f","array:get"],["w","x"],["a",0]],["w","string"]]]]]],[["f","when"],[["f","length"],["w","found"]],[["f","array:get"],["w","found"],["a",1]]]]]]]],[["f","let"],["w","cast:map->string"],[["f","lambda"],["w","table"],[["f","pi"],["w","table"],[["f","array:select"],["w","length"]],[["f","array:map"],[["f","lambda"],["w","x"],[["f","array:join"],[["f","array:map"],["w","x"],[["f","lambda"],["w","y"],[["f","array:join"],["w","y"],["a"," -> "]]]],["a"," "]]]],[["f","array:join"],["a","\n"]]]]],[["f","let"],["w","map:has?"],[["f","lambda"],["w","table"],["w","key"],[["f","and"],[["f","array:in-bounds?"],["w","table"],[["f","let"],["w","idx"],[["f","set:index"],["w","table"],["w","key"]]]],[["f","and"],[["f","length"],[["f","let"],["w","current"],[["f","array:get"],["w","table"],["w","idx"]]]],[["f",">="],[["f","array:find-index"],[["f","car"],["w","current"]],[["f","lambda"],["w","x"],[["f","string:equal?"],[["f","type"],["w","x"],["w","string"]],[["f","type"],["w","key"],["w","string"]]]]],["a",0]]]]]],[["f","let"],["w","list:prev!"],[["f","safety"],["w","lambda"],["w","list"],["w","node"],[["f","array:set!"],["w","list"],["a",0],[["f","array:set!"],["w","node"],["a",2],["w","list"]]]]],[["f","let"],["w","list:next!"],[["f","safety"],["w","lambda"],["w","list"],["w","node"],[["f","array:set!"],["w","list"],["a",2],[["f","array:set!"],["w","node"],["a",0],["w","list"]]]]],[["f","let"],["w","list:prev"],[["f","safety"],["w","lambda"],["w","list"],[["f","array:get"],["w","list"],["a",0]]]],[["f","let"],["w","list:next"],[["f","safety"],["w","lambda"],["w","list"],[["f","array:get"],["w","list"],["a",2]]]],[["f","let"],["w","list:value"],[["f","lambda"],["w","node"],[["f","array:get"],["w","node"],["a",1]]]],[["f","let"],["w","array:rotate-right"],[["f","lambda"],["w","arr"],["w","n"],[["f","pi"],["w","arr"],[["f","array:zip"],[["f","math:sequence"],["w","arr"]]],[["f","array:fold"],[["f","lambda"],["w","a"],["w","b"],[["f","array:set!"],["w","a"],[["f","mod"],[["f","+"],[["f","car"],[["f","cdr"],["w","b"]]],["w","n"]],[["f","length"],["w","arr"]]],[["f","car"],["w","b"]]]],[["f","array"],[["f","length"],["w","arr"]],["w","length"]]]]]],[["f","let"],["w","array:rotate-left"],[["f","lambda"],["w","arr"],["w","n"],[["f","pi"],["w","arr"],[["f","array:zip"],[["f","math:sequence"],["w","arr"]]],[["f","array:fold"],[["f","lambda"],["w","a"],["w","b"],[["f","array:set!"],["w","a"],[["f","mod"],[["f","+"],[["f","car"],[["f","cdr"],["w","b"]]],[["f","-"],[["f","length"],["w","arr"]],["w","n"]]],[["f","length"],["w","arr"]]],[["f","car"],["w","b"]]]],[["f","array"],[["f","length"],["w","arr"]],["w","length"]]]]]],[["f","let"],["w","var:def"],[["f","safety"],["w","lambda"],["w","val"],[["f","array"],["w","val"]]]],[["f","let"],["w","var:get"],[["f","safety"],["w","lambda"],["w","variable"],[["f","car"],["w","variable"]]]],[["f","let"],["w","var:set!"],[["f","safety"],["w","lambda"],["w","variable"],["w","value"],[["f","array:set!"],["w","variable"],["a",0],["w","value"]]]],[["f","let"],["w","var:del!"],[["f","safety"],["w","lambda"],["w","variable"],[["f","array:set!"],["w","variable"],["a",-1]]]],[["f","let"],["w","array:first"],[["f","safety"],["w","lambda"],["w","arr"],[["f","array:get"],["w","arr"],["a",0]]]],[["f","let"],["w","array:last"],[["f","safety"],["w","lambda"],["w","arr"],[["f","array:get"],["w","arr"],["a",-1]]]],[["f","let"],["w","string:trim-left"],[["f","lambda"],["w","str"],[["f","do"],[["f","let"],["w","tr"],[["f","array"],["a",1]]],[["f","pi"],["w","str"],[["f","type"],["w","array"]],[["f","array:fold"],[["f","lambda"],["w","a"],["w","b"],[["f","if"],[["f","and"],[["f","car"],["w","tr"]],[["f","string:equal?"],["w","b"],["a"," "]]],["w","a"],[["f","do"],[["f","when"],[["f","car"],["w","tr"]],[["f","array:set!"],["w","tr"],["a",0],["a",0]]],[["f","string:merge"],["w","a"],["w","b"]]]]],["a",""]]]]]],[["f","let"],["w","string:trim-right"],[["f","lambda"],["w","str"],[["f","do"],[["f","let"],["w","tr"],[["f","array"],["a",1]]],[["f","pi"],["w","str"],[["f","type"],["w","array"]],[["f","array:reverse"]],[["f","array:fold"],[["f","lambda"],["w","a"],["w","b"],[["f","if"],[["f","and"],[["f","car"],["w","tr"]],[["f","string:equal?"],["w","b"],["a"," "]]],["w","a"],[["f","do"],[["f","when"],[["f","car"],["w","tr"]],[["f","array:set!"],["w","tr"],["a",0],["a",0]]],[["f","string:merge"],["w","b"],["w","a"]]]]],["a",""]]]]]],[["f","let"],["w","string:trim"],[["f","lambda"],["w","str"],[["f","pi"],["w","str"],[["f","string:trim-left"]],[["f","string:trim-right"]]]]],[["f","let"],["w","array:enumerate"],[["f","lambda"],["w","arr"],[["f","array:zip"],[["f","math:sequence"],["w","arr"]],["w","arr"]]]],[["f","let"],["w","string:lines"],[["f","lambda"],["w","str"],[["f","pi"],["w","str"],[["f","type"],["w","array"]],[["f","array:fold"],[["f","lambda"],["w","a"],["w","b"],[["f","do"],[["f","let"],["w","prev"],[["f","array:get"],["w","a"],["a",-1]]],[["f","if"],[["f","string:equal?"],["w","b"],["a","\n"]],[["f","array:set!"],["w","a"],[["f","length"],["w","a"]],[]],[["f","array:set!"],["w","prev"],[["f","length"],["w","prev"]],["w","b"]]],["w","a"]]],[["f","array"],[]]],[["f","array:map"],[["f","lambda"],["w","x"],[["f","array:join"],["w","x"],["a",""]]]]]]],[["f","let"],["w","string:words"],[["f","lambda"],["w","str"],[["f","pi"],["w","str"],[["f","type"],["w","array"]],[["f","array:fold"],[["f","lambda"],["w","a"],["w","b"],[["f","do"],[["f","let"],["w","prev"],[["f","array:get"],["w","a"],["a",-1]]],[["f","if"],[["f","string:equal?"],["w","b"],["a"," "]],[["f","array:set!"],["w","a"],[["f","length"],["w","a"]],[]],[["f","array:set!"],["w","prev"],[["f","length"],["w","prev"]],["w","b"]]],["w","a"]]],[["f","array"],[]]],[["f","array:map"],[["f","lambda"],["w","x"],[["f","array:join"],["w","x"],["a",""]]]]]]],[["f","let"],["w","string:seprator"],[["f","lambda"],["w","str"],["w","separator"],[["f","pi"],["w","str"],[["f","type"],["w","array"]],[["f","array:fold"],[["f","lambda"],["w","a"],["w","b"],[["f","do"],[["f","let"],["w","prev"],[["f","array:get"],["w","a"],["a",-1]]],[["f","if"],[["f","string:equal?"],["w","b"],["w","separator"]],[["f","array:set!"],["w","a"],[["f","length"],["w","a"]],[]],[["f","array:set!"],["w","prev"],[["f","length"],["w","prev"]],["w","b"]]],["w","a"]]],[["f","array"],[]]],[["f","array:map"],[["f","lambda"],["w","x"],[["f","array:join"],["w","x"],["a",""]]]]]]],[["f","let"],["w","new:brray"],[["f","lambda"],[["f","array"],[["f","array"],[]],[]]]],[["f","let"],["w","brray:offset-left"],[["f","lambda"],["w","q"],[["f","*"],[["f","-"],[["f","length"],[["f","array:get"],["w","q"],["a",0]]],["a",1]],["a",-1]]]],[["f","let"],["w","brray:offset-right"],[["f","lambda"],["w","q"],[["f","length"],[["f","array:get"],["w","q"],["a",1]]]]],[["f","let"],["w","brray:length"],[["f","lambda"],["w","q"],[["f","+"],[["f","length"],[["f","array:get"],["w","q"],["a",0]]],[["f","length"],[["f","array:get"],["w","q"],["a",1]]],["a",-1]]]],[["f","let"],["w","brray:empty?"],[["f","lambda"],["w","q"],[["f","not"],[["f","brray:length"],["w","q"]]]]],[["f","let"],["w","brray:empty!"],[["f","lambda"],["w","q"],[["f","do"],[["f","array:set!"],["w","q"],["a",0],[["f","array"],[]]],[["f","array:set!"],["w","q"],["a",1],[]],["w","q"]]]],[["f","let"],["w","brray:get"],[["f","lambda"],["w","q"],["w","offset"],[["f","do"],[["f","let"],["w","offset-index"],[["f","+"],["w","offset"],[["f","brray:offset-left"],["w","q"]]]],[["f","let"],["w","index"],[["f","if"],[["f","<"],["w","offset-index"],["a",0]],[["f","*"],["w","offset-index"],["a",-1]],["w","offset-index"]]],[["f","if"],[["f",">="],["w","offset-index"],["a",0]],[["f","array:get"],[["f","array:get"],["w","q"],["a",1]],["w","index"]],[["f","array:get"],[["f","array:get"],["w","q"],["a",0]],["w","index"]]]]]],[["f","let"],["w","brray:set!"],[["f","lambda"],["w","q"],["w","index"],["w","value"],[["f","do"],[["f","let"],["w","offset"],[["f","+"],["w","offset"],[["f","brray:offset-left"],["w","q"]]]],[["f","if"],[["f",">="],["w","offset"],["a",0]],[["f","array:set!"],[["f","array:get"],["w","q"],["a",1]],["w","offset"],["w","value"]],[["f","array:set!"],[["f","array:get"],["w","q"],["a",0]],[["f","*"],["w","offset"],["a",-1]],["w","value"]]],["w","q"]]]],[["f","let"],["w","brray:add-to-left!"],[["f","lambda"],["w","q"],["w","item"],[["f","array:set!"],[["f","let"],["w","c"],[["f","array:get"],["w","q"],["a",0]]],[["f","length"],["w","c"]],["w","item"]]]],[["f","let"],["w","brray:add-to-right!"],[["f","lambda"],["w","q"],["w","item"],[["f","array:set!"],[["f","let"],["w","c"],[["f","array:get"],["w","q"],["a",1]]],[["f","length"],["w","c"]],["w","item"]]]],[["f","let"],["w","brray:remove-from-left!"],[["f","lambda"],["w","q"],[["f","do"],[["f","let"],["w","len"],[["f","brray:length"],["w","q"]]],[["f","when"],["w","len"],[["f","cond"],[["f","="],["w","len"],["a",1]],[["f","brray:empty!"],["w","q"]],[["f",">"],[["f","length"],[["f","array:get"],["w","q"],["a",0]]],["a",0]],[["f","array:set!"],[["f","array:get"],["w","q"],["a",0]],["a",-1]]]]]]],[["f","let"],["w","brray:remove-from-right!"],[["f","lambda"],["w","q"],[["f","do"],[["f","let"],["w","len"],[["f","brray:length"],["w","q"]]],[["f","when"],["w","len"],[["f","cond"],[["f","="],["w","len"],["a",1]],[["f","brray:empty!"],["w","q"]],[["f",">"],[["f","length"],[["f","array:get"],["w","q"],["a",1]]],["a",0]],[["f","array:set!"],[["f","array:get"],["w","q"],["a",1]],["a",-1]]]]]]],[["f","let"],["w","brray:iter"],[["f","lambda"],["w","q"],["w","callback"],[["f","do"],[["f","let*"],["w","iter"],[["f","lambda"],["w","index"],["w","bounds"],[["f","do"],[["f","callback"],[["f","brray:get"],["w","q"],["w","index"]]],[["f","when"],[["f","<"],["w","index"],["w","bounds"]],[["f","iter"],[["f","+"],["w","index"],["a",1]],["w","bounds"]]]]]],[["f","iter"],["a",0],[["f","brray:length"],["w","q"]]]]]],[["f","let"],["w","cast:brray->array"],[["f","lambda"],["w","q"],[["f","do"],[["f","let"],["w","out"],[]],[["f","let*"],["w","iter"],[["f","lambda"],["w","index"],["w","bounds"],[["f","do"],[["f","array:set!"],["w","out"],[["f","length"],["w","out"]],[["f","brray:get"],["w","q"],["w","index"]]],[["f","when"],[["f","<"],["w","index"],["w","bounds"]],[["f","iter"],[["f","+"],["w","index"],["a",1]],["w","bounds"]]]]]],[["f","iter"],["a",0],[["f","-"],[["f","brray:length"],["w","q"]],["a",1]]],["w","out"]]]],[["f","let"],["w","brray:balance?"],[["f","lambda"],["w","q"],[["f","="],[["f","+"],[["f","brray:offset-right"],["w","q"]],[["f","brray:offset-left"],["w","q"]]],["a",0]]]],[["f","let"],["w","brray:balance!"],[["f","lambda"],["w","q"],[["f","if"],[["f","brray:balance?"],["w","q"]],["w","q"],[["f","do"],[["f","let"],["w","initial"],[["f","cast:brray->array"],["w","q"]]],[["f","brray:empty!"],["w","q"]],[["f","let"],["w","half"],[["f","math:floor"],[["f","*"],[["f","length"],["w","initial"]],["a",0.5]]]],[["f","let*"],["w","left"],[["f","lambda"],["w","index"],[["f","do"],[["f","brray:add-to-left!"],["w","q"],[["f","array:get"],["w","initial"],["w","index"]]],[["f","when"],[["f",">"],["w","index"],["a",0]],[["f","left"],[["f","-"],["w","index"],["a",1]]]]]]],[["f","left"],[["f","-"],["w","half"],["a",1]]],[["f","let*"],["w","rigth"],[["f","lambda"],["w","index"],["w","bounds"],[["f","do"],[["f","brray:add-to-right!"],["w","q"],[["f","array:get"],["w","initial"],["w","index"]]],[["f","when"],[["f","<"],["w","index"],["w","bounds"]],[["f","rigth"],[["f","+"],["w","index"],["a",1]],["w","bounds"]]]]]],[["f","rigth"],["w","half"],[["f","-"],[["f","length"],["w","initial"]],["a",1]]],["w","q"]]]]],[["f","let"],["w","brray:append!"],[["f","lambda"],["w","q"],["w","item"],[["f","do"],[["f","brray:add-to-right!"],["w","q"],["w","item"]],["w","q"]]]],[["f","let"],["w","brray:prepend!"],[["f","lambda"],["w","q"],["w","item"],[["f","do"],[["f","brray:add-to-left!"],["w","q"],["w","item"]],["w","q"]]]],[["f","let"],["w","brray:head!"],[["f","lambda"],["w","q"],[["f","do"],[["f","when"],[["f","="],[["f","brray:offset-right"],["w","q"]],["a",0]],[["f","brray:balance!"],["w","q"]]],[["f","brray:remove-from-right!"],["w","q"]],["w","q"]]]],[["f","let"],["w","brray:tail!"],[["f","lambda"],["w","q"],[["f","do"],[["f","when"],[["f","="],[["f","brray:offset-left"],["w","q"]],["a",0]],[["f","brray:balance!"],["w","q"]]],[["f","brray:remove-from-left!"],["w","q"]],["w","q"]]]],[["f","let"],["w","brray:first"],[["f","lambda"],["w","q"],[["f","brray:get"],["w","q"],["a",0]]]],[["f","let"],["w","brray:last"],[["f","lambda"],["w","q"],[["f","brray:get"],["w","q"],[["f","-"],[["f","brray:length"],["w","q"]],["a",1]]]]],[["f","let"],["w","brray:pop-right!"],[["f","lambda"],["w","q"],[["f","do"],[["f","let"],["w","last"],[["f","brray:last"],["w","q"]]],[["f","brray:head!"],["w","q"]],["w","last"]]]],[["f","let"],["w","brray:pop-left!"],[["f","lambda"],["w","q"],[["f","do"],[["f","let"],["w","first"],[["f","brray:first"],["w","q"]]],[["f","brray:tail!"],["w","q"]],["w","first"]]]],[["f","let"],["w","brray:rotate-left!"],[["f","lambda"],["w","q"],["w","n"],[["f","do"],[["f","let"],["w","N"],[["f","mod"],["w","n"],[["f","brray:length"],["w","q"]]]],[["f","let*"],["w","iter"],[["f","lambda"],["w","index"],["w","bounds"],[["f","do"],[["f","when"],[["f","="],[["f","brray:offset-left"],["w","q"]],["a",0]],[["f","brray:balance!"],["w","q"]]],[["f","brray:add-to-right!"],["w","q"],[["f","brray:first"],["w","q"]]],[["f","brray:remove-from-left!"],["w","q"]],[["f","when"],[["f","<"],["w","index"],["w","bounds"]],[["f","iter"],[["f","+"],["w","index"],["a",1]],["w","bounds"]]]]]],[["f","iter"],["a",0],["w","N"]],["w","q"]]]],[["f","let"],["w","brray:rotate-right!"],[["f","lambda"],["w","q"],["w","n"],[["f","do"],[["f","let"],["w","N"],[["f","mod"],["w","n"],[["f","brray:length"],["w","q"]]]],[["f","let*"],["w","iter"],[["f","lambda"],["w","index"],["w","bounds"],[["f","do"],[["f","when"],[["f","="],[["f","brray:offset-right"],["w","q"]],["a",0]],[["f","brray:balance!"],["w","q"]]],[["f","brray:add-to-left!"],["w","q"],[["f","brray:last"],["w","q"]]],[["f","brray:remove-from-right!"],["w","q"]],[["f","when"],[["f","<"],["w","index"],["w","bounds"]],[["f","iter"],[["f","+"],["w","index"],["a",1]],["w","bounds"]]]]]],[["f","iter"],["a",0],["w","N"]],["w","q"]]]],[["f","let"],["w","cast:array->brray"],[["f","lambda"],["w","initial"],[["f","do"],[["f","let"],["w","q"],[["f","new:brray"]]],[["f","let"],["w","half"],[["f","math:floor"],[["f","*"],[["f","length"],["w","initial"]],["a",0.5]]]],[["f","let*"],["w","left"],[["f","lambda"],["w","index"],[["f","do"],[["f","brray:add-to-left!"],["w","q"],[["f","array:get"],["w","initial"],["w","index"]]],[["f","when"],[["f",">"],["w","index"],["a",0]],[["f","left"],[["f","-"],["w","index"],["a",1]]]]]]],[["f","left"],[["f","-"],["w","half"],["a",1]]],[["f","let*"],["w","rigth"],[["f","lambda"],["w","index"],["w","bounds"],[["f","do"],[["f","brray:add-to-right!"],["w","q"],[["f","array:get"],["w","initial"],["w","index"]]],[["f","when"],[["f","<"],["w","index"],["w","bounds"]],[["f","rigth"],[["f","+"],["w","index"],["a",1]],["w","bounds"]]]]]],[["f","rigth"],["w","half"],[["f","-"],[["f","length"],["w","initial"]],["a",1]]],["w","q"]]]]]
|
package/package.json
CHANGED
package/src/compiler.js
CHANGED
@@ -7,6 +7,7 @@ import {
|
|
7
7
|
VALUE,
|
8
8
|
WORD,
|
9
9
|
} from './enums.js'
|
10
|
+
import { leaf, isLeaf } from './parser.js'
|
10
11
|
import { deepRename, lispToJavaScriptVariableName } from './utils.js'
|
11
12
|
const Helpers = {
|
12
13
|
log: `var logEffect=(msg)=>{console.log(msg);return msg}`,
|
@@ -45,7 +46,7 @@ return result
|
|
45
46
|
return array
|
46
47
|
}`,
|
47
48
|
serialise:
|
48
|
-
"serialise=(ast)=>{\n if(ast==undefined) return '()'\n else if(
|
49
|
+
"serialise=(ast)=>{\n if(ast==undefined) return '()'\n else if(typeof ast==='object')\n if(Array.isArray(ast)) return `(array ${ast.map(stringify).join(' ')})`\n else\n return `(array ${ast.map(([key, value]) => `(\"${key}\" ${stringify(value)})`).join(' ')})`\n else if(typeof ast==='string') return `\"${ast}\"`\n else if(typeof ast==='function') return '()'\n else return ast\n}",
|
49
50
|
cast: `_cast=(type,value)=>{
|
50
51
|
switch (type) {
|
51
52
|
case '${KEYWORDS.NUMBER_TYPE}':
|
@@ -95,7 +96,7 @@ const parseArgs = (Arguments, Variables, separator = ',') =>
|
|
95
96
|
parse(Arguments, Variables).join(separator)
|
96
97
|
const compile = (tree, Variables) => {
|
97
98
|
if (!tree) return ''
|
98
|
-
const [first, ...Arguments] =
|
99
|
+
const [first, ...Arguments] = !isLeaf(tree) ? tree : [tree]
|
99
100
|
if (first == undefined) return '[];'
|
100
101
|
const token = first[VALUE]
|
101
102
|
if (first[TYPE] === APPLY) {
|
@@ -186,8 +187,8 @@ const compile = (tree, Variables) => {
|
|
186
187
|
return `((${parseArgs(
|
187
188
|
functionArgs.map((node, index) =>
|
188
189
|
node[VALUE] === PLACEHOLDER
|
189
|
-
?
|
190
|
-
:
|
190
|
+
? leaf(node[TYPE], `_${index}`)
|
191
|
+
: leaf(node[TYPE], node[VALUE])
|
191
192
|
),
|
192
193
|
Variables
|
193
194
|
)})=>{${vars}return ${evaluatedBody.toString().trimStart()}});`
|
@@ -318,10 +319,7 @@ const compile = (tree, Variables) => {
|
|
318
319
|
}
|
319
320
|
case KEYWORDS.IMMUTABLE_FUNCTION: {
|
320
321
|
const [first, ...rest] = Arguments
|
321
|
-
return compile(
|
322
|
-
[{ [TYPE]: APPLY, [VALUE]: first[VALUE] }, ...rest],
|
323
|
-
Variables
|
324
|
-
)
|
322
|
+
return compile([leaf(APPLY, first[VALUE]), ...rest], Variables)
|
325
323
|
}
|
326
324
|
case KEYWORDS.SERIALISE:
|
327
325
|
return `serialise(${compile(Arguments[0], Variables)});`
|
package/src/enums.js
CHANGED
package/src/interpreter.js
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
import { APPLY, ATOM, KEYWORDS, TYPE, VALUE, WORD } from './enums.js'
|
2
|
+
import { isLeaf } from './parser.js'
|
2
3
|
import { keywords } from './tokeniser.js'
|
3
4
|
import { stringifyArgs } from './utils.js'
|
4
5
|
|
5
6
|
export const evaluate = (exp, env) => {
|
6
|
-
const [first, ...rest] =
|
7
|
+
const [first, ...rest] = !isLeaf(exp) ? exp : [exp]
|
7
8
|
if (first == undefined) return []
|
8
9
|
switch (first[TYPE]) {
|
9
10
|
case WORD: {
|
package/src/parser.js
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
import { APPLY, ATOM,
|
1
|
+
import { APPLY, ATOM, WORD } from './enums.js'
|
2
2
|
import { escape } from './utils.js'
|
3
|
-
|
3
|
+
export const leaf = (type, value) => [type, value]
|
4
|
+
export const isLeaf = (tree) => typeof tree[0] === 'string'
|
4
5
|
export const parse = (source) => {
|
5
6
|
const tree = []
|
6
7
|
let head = tree,
|
@@ -25,18 +26,12 @@ export const parse = (source) => {
|
|
25
26
|
let token = acc
|
26
27
|
acc = ''
|
27
28
|
if (token) {
|
28
|
-
if (!head.length) head.push(
|
29
|
+
if (!head.length) head.push(leaf(APPLY, token))
|
29
30
|
else if (token.match(/^"([^"]*)"/))
|
30
|
-
head.push(
|
31
|
-
[TYPE]: ATOM,
|
32
|
-
[VALUE]: token.substring(1, token.length - 1),
|
33
|
-
})
|
31
|
+
head.push(leaf(ATOM, token.substring(1, token.length - 1)))
|
34
32
|
else if (token.match(/^-?[0-9]\d*(\.\d+)?$/))
|
35
|
-
head.push(
|
36
|
-
|
37
|
-
[VALUE]: Number(token),
|
38
|
-
})
|
39
|
-
else head.push({ [TYPE]: WORD, [VALUE]: token })
|
33
|
+
head.push(leaf(ATOM, Number(token)))
|
34
|
+
else head.push(leaf(WORD, token))
|
40
35
|
}
|
41
36
|
if (cursor === ')') head = stack.pop()
|
42
37
|
} else acc += cursor
|
@@ -46,10 +41,10 @@ export const parse = (source) => {
|
|
46
41
|
export const stringify = (ast) => {
|
47
42
|
if (ast == undefined) return '()'
|
48
43
|
else if (typeof ast === 'object')
|
49
|
-
if (
|
44
|
+
if (!isLeaf(ast))
|
50
45
|
return ast.length ? `(array ${ast.map(stringify).join(' ')})` : '()'
|
51
46
|
else
|
52
|
-
return `(array ${
|
47
|
+
return `(array ${ast
|
53
48
|
.map(([key, value]) => `("${key}" ${stringify(value)})`)
|
54
49
|
.join(' ')})`
|
55
50
|
else if (typeof ast === 'string') return `"${ast}"`
|
package/src/tokeniser.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { TYPE, VALUE, WORD, KEYWORDS } from './enums.js'
|
1
|
+
import { TYPE, VALUE, WORD, KEYWORDS, APPLY } from './enums.js'
|
2
2
|
import { evaluate } from './interpreter.js'
|
3
|
-
import { stringify } from './parser.js'
|
3
|
+
import { isLeaf, stringify } from './parser.js'
|
4
4
|
import {
|
5
5
|
isAtom,
|
6
6
|
isEqual,
|
@@ -870,11 +870,13 @@ const keywords = {
|
|
870
870
|
)
|
871
871
|
let inp = args[0]
|
872
872
|
for (let i = 1; i < args.length; ++i) {
|
873
|
-
if (!
|
873
|
+
if (!args[i].length || args[i][0][TYPE] !== APPLY)
|
874
874
|
throw new TypeError(
|
875
|
-
`Argument at position (${i}) of (${
|
876
|
-
KEYWORDS.
|
877
|
-
})
|
875
|
+
`Argument at position (${i}) of (${
|
876
|
+
KEYWORDS.PIPE
|
877
|
+
}) is not an invoked (${KEYWORDS.ANONYMOUS_FUNCTION}). (${
|
878
|
+
KEYWORDS.PIPE
|
879
|
+
} ${stringifyArgs(args)})`
|
878
880
|
)
|
879
881
|
const [first, ...rest] = args[i]
|
880
882
|
const arr = [first, inp, ...rest]
|
package/src/utils.js
CHANGED
@@ -1,8 +1,16 @@
|
|
1
1
|
import std from '../lib/baked/std.js'
|
2
2
|
import { comp } from './compiler.js'
|
3
|
-
import {
|
3
|
+
import {
|
4
|
+
APPLY,
|
5
|
+
ATOM,
|
6
|
+
KEYWORDS,
|
7
|
+
PLACEHOLDER,
|
8
|
+
TYPE,
|
9
|
+
VALUE,
|
10
|
+
WORD,
|
11
|
+
} from './enums.js'
|
4
12
|
import { evaluate, run } from './interpreter.js'
|
5
|
-
import { parse } from './parser.js'
|
13
|
+
import { isLeaf, parse } from './parser.js'
|
6
14
|
export const logError = (error) => console.log('\x1b[31m', error, '\x1b[0m')
|
7
15
|
export const logSuccess = (output) => console.log(output, '\x1b[0m')
|
8
16
|
export const removeNoCode = (source) =>
|
@@ -39,13 +47,13 @@ export const escape = (Char) => {
|
|
39
47
|
}
|
40
48
|
}
|
41
49
|
export const stringifyType = (type) =>
|
42
|
-
|
50
|
+
!isLeaf(type)
|
43
51
|
? `(array ${type.map((t) => stringifyType(t)).join(' ')})`
|
44
52
|
: typeof type
|
45
53
|
export const stringifyArgs = (args) =>
|
46
54
|
args
|
47
55
|
.map((x) =>
|
48
|
-
|
56
|
+
!isLeaf(x)
|
49
57
|
? `(${stringifyArgs(x)})`
|
50
58
|
: x[TYPE] === APPLY || x[TYPE] === WORD
|
51
59
|
? x[VALUE]
|
@@ -132,7 +140,7 @@ export const treeShake = (ast, libs) => {
|
|
132
140
|
const deps = libs.reduce((a, x) => a.add(x.at(1)[VALUE]), new Set())
|
133
141
|
const visited = new Set()
|
134
142
|
const dfs = (tree) => {
|
135
|
-
if (
|
143
|
+
if (!isLeaf(tree)) tree.forEach(dfs)
|
136
144
|
else if (
|
137
145
|
(tree[TYPE] === APPLY || tree[TYPE] === WORD) &&
|
138
146
|
deps.has(tree[VALUE]) &&
|
@@ -153,20 +161,18 @@ export const runFromCompiled = (source) => {
|
|
153
161
|
const tree = parse(
|
154
162
|
handleUnbalancedQuotes(handleUnbalancedParens(removeNoCode(source)))
|
155
163
|
)
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
return eval(JavaScript)
|
160
|
-
}
|
164
|
+
const compiled = comp(tree)
|
165
|
+
const JavaScript = `${compiled.top}${compiled.program}`
|
166
|
+
return eval(JavaScript)
|
161
167
|
}
|
162
168
|
export const runFromInterpreted = (source, env = {}) => {
|
163
169
|
const tree = parse(
|
164
170
|
handleUnbalancedQuotes(handleUnbalancedParens(removeNoCode(source)))
|
165
171
|
)
|
166
|
-
|
172
|
+
run(tree, env)
|
167
173
|
}
|
168
174
|
export const dfs = (tree, callback) => {
|
169
|
-
if (
|
175
|
+
if (!isLeaf(tree)) for (const leaf of tree) dfs(leaf)
|
170
176
|
else callback(tree)
|
171
177
|
}
|
172
178
|
export const deepClone = (ast) => JSON.parse(JSON.stringify(ast))
|
@@ -227,12 +233,12 @@ export const toCamelCase = (name) => {
|
|
227
233
|
return out
|
228
234
|
}
|
229
235
|
export const deepRename = (name, newName, tree) => {
|
230
|
-
if (
|
231
|
-
for (const
|
236
|
+
if (!isLeaf(tree))
|
237
|
+
for (const leaf of tree) {
|
232
238
|
// Figure out a non mutable solution so
|
233
239
|
// I can get rid of deep copy
|
234
|
-
if (
|
235
|
-
deepRename(name, newName,
|
240
|
+
if (leaf[VALUE] === name) leaf[VALUE] = `()=>${newName}`
|
241
|
+
deepRename(name, newName, leaf)
|
236
242
|
}
|
237
243
|
}
|
238
244
|
export const lispToJavaScriptVariableName = (name) =>
|