From d6f73d0bf0b6cf781366fad9dfa76898e3f1bc26 Mon Sep 17 00:00:00 2001 From: JeffBezanson Date: Tue, 21 Apr 2009 15:35:46 +0000 Subject: [PATCH] implementing #vu8 read and print syntax for uint8 vectors much more compact string representation of bytecode --- femtolisp/flisp.boot | 542 +++++++++++++++++++++---------------------- femtolisp/flisp.c | 20 +- femtolisp/opcodes.h | 4 +- femtolisp/print.c | 13 +- femtolisp/read.c | 4 + 5 files changed, 287 insertions(+), 296 deletions(-) diff --git a/femtolisp/flisp.boot b/femtolisp/flisp.boot index 1c7fb2d..b27ab8b 100644 --- a/femtolisp/flisp.boot +++ b/femtolisp/flisp.boot @@ -1,508 +1,484 @@ zero? -#function(#array(uint8 62 1 53 0 47 38 11) []) +#function("n1e0_V;" []) vector.map -#function(#array(uint8 62 2 50 0 52 1 53 1 3 1 64 4 2 11) [#function(#array(uint8 65 2 50 0 52 1 53 0 3 1 64 4 2 11) [#function(#array(uint8 65 2 47 54 0 0 48 35 2 50 0 60 66 2 53 0 11) [#function(#array(uint8 62 1 54 0 0 53 0 54 2 0 54 2 1 53 0 42 3 1 43 11) [])]) - vector.alloc]) length]) +#function("n2b0d1e131p42;" [#function("q2b0d1e031p42;" [#function("q2_f00`S2b0lr2e0;" [#function("n1f00e0f20f21e0Z31[;" [])]) + vector.alloc]) length]) vector->list -#function(#array(uint8 62 1 50 0 52 1 53 0 3 1 46 64 4 3 11) [#function(#array(uint8 65 3 48 53 0 50 0 60 66 2 53 1 11) [#function(#array(uint8 62 1 54 1 0 54 0 0 53 0 35 2 42 54 0 1 27 58 0 1 11) [])]) - length]) +#function("n1b0d1e031^p43;" [#function("q3`e0b0lr2e1;" [#function("n1f10f00e0S2Zf01Kj01;" [])]) + length]) untrace -#function(#array(uint8 62 1 50 0 52 1 53 0 3 1 64 4 2 11) [#function(#array(uint8 65 2 53 0 29 50 0 13 6 37 0 52 1 54 0 0 52 2 52 3 52 4 52 5 53 0 3 1 3 1 3 1 3 1 4 2 11 45 11) [trace-lambda +#function("n1b0d1e031p42;" [#function("q2e0Mb0=6U0d1f00d2d3d4d5e03131313142;];" [trace-lambda set-top-level-value! cadr caar last-pair caddr]) top-level-value]) transpose -#function(#array(uint8 62 1 52 0 52 1 53 0 27 12 11) [mapcar list]) +#function("n1d0d1e0K<;" [mapcar list]) trace -#function(#array(uint8 62 1 50 0 52 1 53 0 3 1 64 3 2 2 50 2 11) [#function(#array(uint8 65 2 50 0 52 1 53 0 3 1 64 4 2 11) [#function(#array(uint8 65 2 50 0 52 1 53 0 3 1 64 4 2 11) [#function(#array(uint8 65 2 54 1 0 29 50 0 13 17 6 99 0 52 1 54 2 0 50 0 54 0 0 52 2 50 3 28 1 50 4 50 5 28 2 28 1 50 6 50 7 54 2 0 28 2 28 2 28 1 52 8 52 9 50 10 60 53 0 3 2 3 1 50 4 50 11 28 2 28 1 52 2 50 7 54 1 0 28 2 28 1 52 8 53 0 3 1 3 2 28 1 3 6 28 3 4 2 11 45 11) [trace-lambda - set-top-level-value! nconc begin princ "(" print quote copy-list map #function(#array(uint8 62 1 50 0 50 1 50 2 28 2 50 3 53 0 28 2 28 3 11) [begin +#function("n1b0d1e031p322b2;" [#function("q2b0d1e031p42;" [#function("q2b0d1e031p42;" [#function("q2f10Mb0=A6\x930d1f20b0f00d2b3L1b4b5L2L1b6b7f20L2L2L1d8d9b:le03231b4b;L2L1d2b7f10L2L1d8e03132L136L342;];" [trace-lambda + set-top-level-value! nconc begin princ "(" print quote copy-list map #function("n1b0b1b2L2b3e0L2L3;" [begin princ " " print]) ")\n"]) to-proper]) cadr]) top-level-value ok]) to-proper -#function(#array(uint8 62 1 53 0 18 6 11 0 53 0 11 53 0 16 6 22 0 53 0 28 1 11 53 0 29 52 0 53 0 30 3 1 27 11) [to-proper]) +#function("n1e0B6;0e0;e0@6F0e0L1;e0Md0e0N31K;" [to-proper]) table.values -#function(#array(uint8 62 1 52 0 50 1 60 46 53 0 4 3 11) [table.foldl #function(#array(uint8 62 3 53 1 53 2 27 11) [])]) +#function("n1d0b1l^e043;" [table.foldl #function("n3e1e2K;" [])]) table.foreach -#function(#array(uint8 62 2 52 0 50 1 60 46 53 1 4 3 11) [table.foldl #function(#array(uint8 62 3 54 0 0 53 0 53 1 3 2 2 44 11) [])]) +#function("n2d0b1l^e143;" [table.foldl #function("n3f00e0e1322\\;" [])]) table.invert -#function(#array(uint8 62 1 50 0 52 1 3 0 64 4 2 11) [#function(#array(uint8 65 2 52 0 50 1 60 46 54 0 0 3 3 2 53 0 11) [table.foldl - #function(#array(uint8 62 3 52 0 54 0 0 53 1 53 0 4 3 11) [put!])]) table]) +#function("n1b0d130p42;" [#function("q2d0b1l^f00332e0;" [table.foldl #function("n3d0f00e1e043;" [put!])]) + table]) table.keys -#function(#array(uint8 62 1 52 0 50 1 60 46 53 0 4 3 11) [table.foldl #function(#array(uint8 62 3 53 0 53 2 27 11) [])]) +#function("n1d0b1l^e043;" [table.foldl #function("n3e0e2K;" [])]) table.pairs -#function(#array(uint8 62 1 52 0 50 1 60 46 53 0 4 3 11) [table.foldl #function(#array(uint8 62 3 53 0 53 1 27 53 2 27 11) [])]) +#function("n1d0b1l^e043;" [table.foldl #function("n3e0e1Ke2K;" [])]) table.clone -#function(#array(uint8 62 1 50 0 52 1 3 0 64 4 2 11) [#function(#array(uint8 65 2 52 0 50 1 60 46 54 0 0 3 3 2 53 0 11) [table.foldl - #function(#array(uint8 62 3 52 0 54 0 0 53 0 53 1 4 3 11) [put!])]) table]) +#function("n1b0d130p42;" [#function("q2d0b1l^f00332e0;" [table.foldl #function("n3d0f00e0e143;" [put!])]) + table]) symbol-syntax -#function(#array(uint8 62 1 52 0 52 1 53 0 45 4 3 11) [get *syntax-environment*]) +#function("n1d0d1e0]43;" [get *syntax-environment*]) string.trim -#function(#array(uint8 62 3 50 0 45 45 64 4 3 11) [#function(#array(uint8 65 3 50 0 60 57 0 2 50 1 60 57 1 2 50 2 52 3 54 0 0 3 1 64 4 2 11) [#function(#array(uint8 62 4 53 2 53 3 39 1 6 26 0 2 52 0 53 1 52 1 53 0 53 2 3 2 3 2 6 49 0 54 0 0 53 0 53 1 52 2 53 0 53 2 3 2 53 3 4 4 11 53 2 11) [string.find - string.char string.inc]) #function(#array(uint8 62 3 52 0 53 2 47 3 2 1 6 34 0 2 52 1 53 1 52 2 53 0 52 3 53 0 53 2 3 2 3 2 3 2 6 55 0 54 0 1 53 0 53 1 52 3 53 0 53 2 3 2 4 3 11 53 2 11) [> - string.find string.char string.dec]) #function(#array(uint8 65 2 52 0 54 1 0 54 0 0 54 1 0 54 1 1 47 53 0 3 4 54 0 1 54 1 0 54 1 2 53 0 3 3 4 3 11) [string.sub]) - length])]) +#function("n3b0]]p43;" [#function("q3b0li02b1li12b2d3f0031p42;" [#function("n4e2e3W16J02d0e1d1e0e232326a0f00e0e1d2e0e232e344;e2;" [string.find + string.char string.inc]) #function("n3d0e2_3216R02d1e1d2e0d3e0e23232326g0f01e0e1d3e0e23243;e2;" [> + string.find string.char string.dec]) #function("q2d0f10f00f10f11_e034f01f10f12e03343;" [string.sub]) + length])]) string.tail -#function(#array(uint8 62 2 52 0 53 0 52 1 53 0 47 53 1 3 3 52 2 53 0 3 1 4 3 11) [string.sub - string.inc sizeof]) +#function("n2d0e0d1e0_e133d2e03143;" [string.sub string.inc sizeof]) string.rep -#function(#array(uint8 62 2 53 1 49 4 39 6 65 0 52 0 53 1 47 3 2 6 23 0 50 1 11 53 1 48 38 6 37 0 52 2 53 0 4 1 11 53 1 49 2 38 6 54 0 52 2 53 0 53 0 4 2 11 52 2 53 0 53 0 53 0 4 3 11 52 3 53 1 3 1 6 92 0 52 2 53 0 52 4 53 0 53 1 48 35 2 3 2 4 2 11 52 4 52 2 53 0 53 0 3 2 53 1 49 2 37 2 4 2 11) [<= +#function("n2e1a4W6q0d0e1_326G0b1;e1`V6U0d2e041;e1a2V6f0d2e0e042;d2e0e0e043;d3e1316\x8c0d2e0d4e0e1`S23242;d4d2e0e032e1a2U242;" [<= "" string odd? string.rep]) string.join -#function(#array(uint8 62 2 53 0 18 6 11 0 50 0 11 50 1 52 2 3 0 64 4 2 11) ["" - #function(#array(uint8 65 2 52 0 53 0 54 0 0 29 3 2 2 52 1 50 2 60 54 0 0 30 3 2 2 52 3 53 0 4 1 11) [io.write - for-each #function(#array(uint8 62 1 52 0 54 0 0 54 1 1 3 2 2 52 0 54 0 0 53 0 4 2 11) [io.write]) - io.tostring!]) buffer]) +#function("n2e0B6;0b0;b1d230p42;" ["" #function("q2d0e0f00M322d1b2lf00N322d3e041;" [io.write + for-each #function("n1d0f00f11322d0f00e042;" [io.write]) io.tostring!]) + buffer]) string.map -#function(#array(uint8 62 2 50 0 52 1 3 0 52 2 53 1 3 1 64 4 3 11) [#function(#array(uint8 65 3 50 0 47 64 3 2 2 52 1 53 0 4 1 11) [#function(#array(uint8 65 2 45 53 0 54 0 1 39 6 49 0 2 52 0 54 0 0 54 1 0 52 1 54 1 1 53 0 3 2 3 1 3 2 2 52 2 54 1 1 53 0 3 2 57 0 5 3 0 11) [io.putc +#function("n2b0d130d2e131p43;" [#function("q3b0_p322d1e041;" [#function("q2]e0f01W6a02d0f00f10d1f11e03231322d2f11e032i0530;" [io.putc string.char string.inc]) io.tostring!]) buffer length]) splice-form? -#function(#array(uint8 62 1 53 0 23 1 6 27 0 2 53 0 29 50 0 13 1 7 27 0 2 53 0 29 50 1 13 1 7 37 0 2 53 0 50 2 13 11) [*comma-at* - *comma-dot* *comma*]) +#function("n1e0G16K02e0Mb0=17K02e0Mb1=17U02e0b2=;" [*comma-at* *comma-dot* + *comma*]) set-syntax! -#function(#array(uint8 62 2 52 0 52 1 53 0 53 1 4 3 11) [put! - *syntax-environment*]) +#function("n2d0d1e0e143;" [put! *syntax-environment*]) self-evaluating? -#function(#array(uint8 62 1 53 0 16 1 6 14 0 2 53 0 20 17 1 7 47 0 2 52 0 53 0 3 1 1 6 47 0 2 53 0 20 1 6 47 0 2 53 0 52 1 53 0 3 1 13 11) [constant? - top-level-value]) +#function("n1e0@16>02e0DA17_02d0e03116_02e0D16_02e0d1e031=;" [constant? + top-level-value]) repl -#function(#array(uint8 62 0 50 0 45 45 64 4 3 11) [#function(#array(uint8 65 3 50 0 60 57 0 2 50 1 60 57 1 2 53 1 3 0 2 52 2 4 0 11) [#function(#array(uint8 62 0 52 0 50 1 3 1 2 52 2 52 3 3 1 2 50 4 50 5 60 50 6 60 61 64 4 2 11) [princ - "> " io.flush *output-stream* #function(#array(uint8 65 2 52 0 52 1 3 1 17 1 6 25 0 2 50 2 52 3 53 0 3 1 64 4 2 11) [io.eof? - *input-stream* #function(#array(uint8 65 2 52 0 53 0 3 1 2 53 0 56 1 2 44 11) [print - that]) load-process]) #function(#array(uint8 62 0 52 0 4 0 11) [read]) - #function(#array(uint8 62 1 52 0 52 1 3 1 2 52 2 53 0 4 1 11) [io.discardbuffer - *input-stream* - raise])]) - #function(#array(uint8 62 0 50 0 60 50 1 60 61 6 23 0 52 2 3 0 2 54 0 1 4 0 11 45 11) [#function(#array(uint8 62 0 54 0 0 3 0 1 6 16 0 2 52 0 4 0 11) [newline]) - #function(#array(uint8 62 1 52 0 53 0 4 1 11) [print-exception]) newline]) - newline])]) +#function("n0b0]]p43;" [#function("q3b0li02b1li12e1302d240;" [#function("n0d0b1312d2d3312b4b5lb6lmp42;" [princ + "> " io.flush *output-stream* #function("q2d0d131A16I02b2d3e031p42;" [io.eof? + *input-stream* #function("q2d0e0312e0h12\\;" [print that]) load-process]) + #function("n0d040;" [read]) #function("n1d0d1312d2e041;" [io.discardbuffer + *input-stream* + raise])]) + #function("n0b0lb1lm6G0d2302f0140;];" [#function("n0f003016@02d040;" [newline]) + #function("n1d0e041;" [print-exception]) newline]) newline])]) ref-uint16-LE -#function(#array(uint8 62 2 52 0 53 0 53 1 47 34 2 42 47 3 2 52 0 53 0 53 1 48 34 2 42 49 8 3 2 34 2 11) [ash]) +#function("n2d0e0e1_R2Z_32d0e0e1`R2Za832R2;" [ash]) ref-uint32-LE -#function(#array(uint8 62 2 52 0 53 0 53 1 47 34 2 42 47 3 2 52 0 53 0 53 1 48 34 2 42 49 8 3 2 52 0 53 0 53 1 49 2 34 2 42 49 16 3 2 52 0 53 0 53 1 49 3 34 2 42 49 24 3 2 34 4 11) [ash]) +#function("n2d0e0e1_R2Z_32d0e0e1`R2Za832d0e0e1a2R2Za@32d0e0e1a3R2ZaH32R4;" [ash]) remainder -#function(#array(uint8 62 2 53 0 53 0 53 1 37 2 53 1 36 2 35 2 11) []) +#function("n2e0e0e1U2e1T2S2;" []) revappend -#function(#array(uint8 62 2 52 0 52 1 53 0 3 1 53 1 4 2 11) [nconc reverse]) +#function("n2d0d1e031e142;" [nconc reverse]) reverse -#function(#array(uint8 62 1 52 0 52 1 46 53 0 4 3 11) [foldl cons]) +#function("n1d0d1^e043;" [foldl cons]) separate -#function(#array(uint8 62 2 54 0 0 53 0 53 1 46 46 4 4 11) [] #0=[#function(#array(uint8 62 4 53 1 18 6 14 0 53 2 53 3 27 11 53 0 53 1 29 3 1 6 43 0 54 0 0 53 0 53 1 30 53 1 29 53 2 27 53 3 4 4 11 44 6 66 0 54 0 0 53 0 53 1 30 53 2 53 1 29 53 3 27 4 4 11 45 11) [] #0#) - ()]) +#function("n2f00e0e1^^44;" [] #0=[#function("n4e1B6>0e2e3K;e0e1M316[0f00e0e1Ne1Me2Ke344;\\6r0f00e0e1Ne2e1Me3K44;];" [] #0#) + ()]) quote-value -#function(#array(uint8 62 1 52 0 53 0 3 1 6 14 0 53 0 11 50 1 53 0 28 2 11) [self-evaluating? - quote]) +#function("n1d0e0316>0e0;b1e0L2;" [self-evaluating? quote]) print-to-string -#function(#array(uint8 62 1 50 0 52 1 3 0 64 4 2 11) [#function(#array(uint8 65 2 52 0 53 0 54 0 0 3 2 2 52 1 53 0 4 1 11) [io.print - io.tostring!]) buffer]) +#function("n1b0d130p42;" [#function("q2d0e0f00322d1e041;" [io.print + io.tostring!]) + buffer]) println -#function(#array(uint8 63 0 52 0 53 0 33 52 1 3 0 2 11) [print newline]) +#function("o0d0e0Qd1302;" [print newline]) procedure? -#function(#array(uint8 62 1 53 0 24 1 7 38 0 2 52 0 53 0 3 1 50 1 13 1 7 38 0 2 53 0 23 1 6 38 0 2 53 0 29 50 2 13 11) [typeof - function lambda]) +#function("n1e0H17V02d0e031b1=17V02e0G16V02e0Mb2=;" [typeof function lambda]) print-exception -#function(#array(uint8 62 1 53 0 23 1 6 29 0 2 53 0 29 50 0 13 1 6 29 0 2 52 1 53 0 49 4 3 2 6 72 0 52 2 52 3 50 4 52 5 53 0 3 1 50 6 52 7 53 0 3 1 50 8 3 6 2 52 9 52 3 52 10 53 0 3 1 3 2 5 9 1 53 0 23 1 6 95 0 2 53 0 29 50 11 13 1 6 95 0 2 53 0 30 23 6 117 0 52 2 52 3 50 12 52 5 53 0 3 1 50 13 3 4 5 9 1 53 0 23 1 6 131 0 2 53 0 29 50 14 13 6 155 0 52 2 52 3 50 15 3 2 2 52 2 52 3 53 0 30 27 33 5 9 1 53 0 23 1 6 169 0 2 53 0 29 50 16 13 6 200 0 52 17 52 7 53 0 3 1 3 1 2 52 2 52 3 50 18 52 5 53 0 3 1 3 3 5 9 1 52 19 53 0 3 1 1 6 219 0 2 52 1 53 0 49 2 3 2 6 248 0 52 2 52 3 53 0 29 50 20 3 3 2 50 21 52 5 53 0 3 1 64 3 2 5 9 1 52 2 52 3 50 22 3 2 2 52 9 52 3 53 0 3 2 2 52 2 52 3 52 23 3 2 2 44 11) [type-error +#function("n1e0G16M02e0Mb0=16M02d1e0a4326x0d2d3b4d5e031b6d7e031b8362d9d3d:e03132591e0G16\x8f02e0Mb;=16\x8f02e0NG6\xa50d2d3b=6\xcb0d2d3b?322d2d3e0NKQ591e0G16\xd902e0Mb@=6\xf80dAd7e031312d2d3bBd5e03133591dCe03116\x0b02d1e0a2326(0d2d3e0MbD332bEd5e031p32591d2d3bF322d9d3e0322d2d3dG322\\;" [type-error length= io.princ *stderr* "type-error: " cadr ": expected " caddr ", got " io.print cadddr unbound-error "unbound-error: eval: variable " " has no value" - error "error: " load-error print-exception "in file " list? ": " #function(#array(uint8 65 2 52 0 53 0 3 1 1 7 16 0 2 53 0 20 6 24 0 52 1 5 26 0 52 2 52 3 53 0 4 2 11) [string? + error "error: " load-error print-exception "in file " list? ": " #function("q2d0e03117@02e0D6H0d15J0d2d3e042;" [string? io.princ io.print *stderr*]) "*** Unhandled exception: " *linefeed*]) print -#function(#array(uint8 63 0 52 0 52 1 53 0 27 12 11) [io.print *output-stream*]) +#function("o0d0d1e0K<;" [io.print *output-stream*]) positive? -#function(#array(uint8 62 1 52 0 53 0 47 4 2 11) [>]) +#function("n1d0e0_42;" [>]) princ -#function(#array(uint8 63 0 52 0 52 1 53 0 27 12 11) [io.princ *output-stream*]) +#function("o0d0d1e0K<;" [io.princ *output-stream*]) peephole -#function(#array(uint8 62 1 53 0 11) []) +#function("n1e0;" []) pad-r -#function(#array(uint8 62 3 52 0 53 0 52 1 53 2 53 1 52 2 53 0 3 1 35 2 3 2 4 2 11) [string - string.rep length]) +#function("n3d0e0d1e2e1d2e031S23242;" [string string.rep length]) pad-l -#function(#array(uint8 62 3 52 0 52 1 53 2 53 1 52 2 53 0 3 1 35 2 3 2 53 0 4 2 11) [string - string.rep length]) +#function("n3d0d1e2e1d2e031S232e042;" [string string.rep length]) odd? -#function(#array(uint8 62 1 52 0 53 0 3 1 17 11) [even?]) +#function("n1d0e031A;" [even?]) nreconc -#function(#array(uint8 62 2 52 0 52 1 53 0 3 1 53 1 4 2 11) [nconc nreverse]) +#function("n2d0d1e031e142;" [nconc nreverse]) nreverse -#function(#array(uint8 62 1 50 0 46 64 4 2 11) [#function(#array(uint8 65 2 45 54 0 0 23 6 34 0 2 54 0 0 30 54 0 0 53 0 54 0 0 57 0 2 32 2 58 0 0 5 3 0 2 53 0 11) [])]) +#function("n1b0^p42;" [#function("q2]f00G6R02f00Nf00e0f00i02P2j005302e0;" [])]) nlist* -#function(#array(uint8 63 0 53 0 30 16 6 13 0 53 0 29 11 53 0 52 0 53 0 30 33 32 11) [nlist*]) +#function("o0e0N@6=0e0M;e0d0e0NQP;" [nlist*]) nestlist -#function(#array(uint8 62 3 52 0 53 2 47 3 2 6 14 0 46 11 53 1 52 1 53 0 53 0 53 1 3 1 53 2 48 35 2 3 3 27 11) [<= - nestlist]) +#function("n3d0e2_326>0^;e1d1e0e0e131e2`S233K;" [<= nestlist]) negative? -#function(#array(uint8 62 1 53 0 47 39 11) []) +#function("n1e0_W;" []) newline -#function(#array(uint8 62 0 52 0 52 1 3 1 2 44 11) [princ *linefeed*]) +#function("n0d0d1312\\;" [princ *linefeed*]) mod -#function(#array(uint8 62 2 53 0 53 0 53 1 37 2 53 1 36 2 35 2 11) []) +#function("n2e0e0e1U2e1T2S2;" []) memv -#function(#array(uint8 62 2 53 1 16 6 10 0 45 11 53 1 29 53 0 14 6 22 0 53 1 11 44 6 36 0 52 0 53 0 53 1 30 4 2 11 45 11) [memv]) +#function("n2e1@6:0];e1Me0>6F0e1;\\6T0d0e0e1N42;];" [memv]) mark-label -#function(#array(uint8 62 2 52 0 53 0 52 1 53 1 4 3 11) [emit :label]) +#function("n2d0e0d1e143;" [emit :label]) member -#function(#array(uint8 62 2 53 1 16 6 10 0 45 11 53 1 29 53 0 15 6 22 0 53 1 11 44 6 36 0 52 0 53 0 53 1 30 4 2 11 45 11) [member]) +#function("n2e1@6:0];e1Me0?6F0e1;\\6T0d0e0e1N42;];" [member]) map-int -#function(#array(uint8 62 2 52 0 53 1 47 3 2 6 14 0 46 11 50 1 53 0 47 3 1 46 27 46 64 4 3 11) [<= - #function(#array(uint8 65 3 53 0 57 1 2 48 54 0 1 48 35 2 50 0 60 66 2 53 0 11) [#function(#array(uint8 62 1 54 0 1 54 1 0 53 0 3 1 46 27 32 2 54 0 1 30 58 0 1 11) [])])]) +#function("n2d0e1_326>0^;b1e0_31^K^p43;" [<= #function("q3e0i12`f01`S2b0lr2e0;" [#function("n1f01f10e031^KP2f01Nj01;" [])])]) map! -#function(#array(uint8 62 2 53 1 45 53 1 23 6 31 0 2 53 1 53 0 53 1 29 3 1 31 2 53 1 30 57 1 5 5 0 2 11) []) +#function("n2e1]e1G6O02e1e0e1M31O2e1Ni15502;" []) make-label -#function(#array(uint8 62 1 52 0 4 0 11) [gensym]) +#function("n1d040;" [gensym]) make-code-emitter -#function(#array(uint8 62 0 46 52 0 3 0 47 41 3 11) [table]) +#function("n0^d030_Y3;" [table]) macroexpand-in -#function(#array(uint8 62 2 53 0 16 6 11 0 53 0 11 50 0 52 1 53 0 29 53 1 3 2 64 4 2 11) [#function(#array(uint8 65 2 53 0 6 29 0 52 0 52 1 53 0 3 1 54 0 0 30 33 52 2 53 0 3 1 4 2 11 50 3 52 4 54 0 0 3 1 64 4 2 11) [macroexpand-in - cadr caddr #function(#array(uint8 65 2 53 0 6 22 0 52 0 53 0 54 1 0 30 33 54 1 1 4 2 11 54 1 0 29 50 1 13 6 36 0 54 1 0 11 54 1 0 29 50 2 13 6 81 0 52 3 50 2 52 4 54 1 0 3 1 52 0 52 5 54 1 0 3 1 54 1 1 3 2 52 6 54 1 0 3 1 4 4 11 54 1 0 29 50 7 13 6 115 0 50 8 52 4 54 1 0 3 1 52 9 52 10 54 1 0 3 1 3 1 64 4 3 11 52 11 50 12 60 54 1 0 4 2 11) [macroexpand-in - quote lambda nlist* cadr caddr cdddr let-syntax #function(#array(uint8 65 3 52 0 53 1 52 1 52 2 50 3 60 53 0 3 2 54 2 1 3 2 4 2 11) [macroexpand-in - nconc map #function(#array(uint8 62 1 53 0 29 52 0 52 1 53 0 3 1 54 3 1 3 2 54 3 1 28 3 11) [macroexpand-in - cadr])]) f-body cddr map #function(#array(uint8 62 1 52 0 53 0 54 2 1 4 2 11) [macroexpand-in])]) - macrocall?]) assq]) +#function("n2e0@6;0e0;b0d1e0Me132p42;" [#function("q2e06M0d0d1e031f00NQd2e03142;b3d4f0031p42;" [macroexpand-in + cadr caddr #function("q2e06F0d0e0f10NQf1142;f10Mb1=6T0f10;f10Mb2=6\x810d3b2d4f1031d0d5f1031f1132d6f103144;f10Mb7=6\xa30b8d4f1031d9d:f103131p43;d;b +#function("n5e0@6O0d0e2_326L0d1e331e4K;e4;d2e2e1326n0d3e0e1_^d1e331e4K45;d3e0Ne1`e2R2e0Me3Ke445;" [> nreverse >= list-part-]) list->vector -#function(#array(uint8 62 1 52 0 53 0 12 11) [vector]) +#function("n1d0e0<;" [vector]) list* -#function(#array(uint8 63 0 53 0 30 16 6 13 0 53 0 29 11 53 0 29 52 0 53 0 30 33 27 11) [list*]) +#function("o0e0N@6=0e0M;e0Md0e0NQK;" [list*]) list-head -#function(#array(uint8 62 2 52 0 53 1 47 3 2 6 14 0 46 11 53 0 29 52 1 53 0 30 53 1 48 35 2 3 2 27 11) [<= - list-head]) +#function("n2d0e1_326>0^;e0Md1e0Ne1`S232K;" [<= list-head]) list-ref -#function(#array(uint8 62 2 52 0 53 0 53 1 3 2 29 11) [list-tail]) +#function("n2d0e0e132M;" [list-tail]) list-tail -#function(#array(uint8 62 2 52 0 53 1 47 3 2 6 15 0 53 0 11 52 1 53 0 30 53 1 48 35 2 4 2 11) [<= - list-tail]) +#function("n2d0e1_326?0e0;d1e0Ne1`S242;" [<= list-tail]) list? -#function(#array(uint8 62 1 53 0 18 1 7 25 0 2 53 0 23 1 6 25 0 2 52 0 53 0 30 4 1 11) [list?]) +#function("n1e0B17I02e0G16I02d0e0N41;" [list?]) load-process -#function(#array(uint8 62 1 52 0 53 0 4 1 11) [eval]) +#function("n1d0e041;" [eval]) length> -#function(#array(uint8 62 2 53 1 47 39 6 12 0 53 0 11 53 1 47 38 6 30 0 53 0 23 1 6 29 0 2 53 0 11 53 0 18 6 41 0 53 1 47 39 11 52 0 53 0 30 53 1 48 35 2 4 2 11) [length>]) +#function("n2e1_W6<0e0;e1_V6N0e0G16M02e0;e0B6Y0e1_W;d0e0Ne1`S242;" [length>]) length= -#function(#array(uint8 62 2 53 1 47 39 6 11 0 45 11 53 1 47 38 6 22 0 53 0 18 11 53 0 18 6 33 0 53 1 47 38 11 52 0 53 0 30 53 1 48 35 2 4 2 11) [length=]) +#function("n2e1_W6;0];e1_V6F0e0B;e0B6Q0e1_V;d0e0Ne1`S242;" [length=]) lastcdr -#function(#array(uint8 62 1 53 0 16 6 11 0 53 0 11 52 0 53 0 30 4 1 11) [lastcdr]) +#function("n1e0@6;0e0;d0e0N41;" [lastcdr]) last-pair -#function(#array(uint8 62 1 53 0 16 6 11 0 53 0 11 53 0 30 16 6 21 0 53 0 11 44 6 33 0 52 0 53 0 30 4 1 11 45 11) [last-pair]) +#function("n1e0@6;0e0;e0N@6E0e0;\\6Q0d0e0N41;];" [last-pair]) just-compile-args -#function(#array(uint8 62 3 52 0 50 1 60 53 1 4 2 11) [for-each #function(#array(uint8 62 1 52 0 54 0 0 54 0 2 45 53 0 4 4 11) [compile-in])]) +#function("n3d0b1le142;" [for-each #function("n1d0f00f02]e044;" [compile-in])]) iota -#function(#array(uint8 62 1 52 0 52 1 53 0 4 2 11) [map-int identity]) +#function("n1d0d1e042;" [map-int identity]) io.readline -#function(#array(uint8 62 1 52 0 53 0 50 1 4 2 11) [io.readuntil #\x000a]) +#function("n1d0e0b142;" [io.readuntil #\x000a]) in-env? -#function(#array(uint8 62 2 53 1 23 1 6 33 0 2 52 0 53 0 53 1 29 3 2 1 7 33 0 2 52 1 53 0 53 1 30 4 2 11) [memq - in-env?]) +#function("n2e1G16Q02d0e0e1M3217Q02d1e0e1N42;" [memq in-env?]) hex5 -#function(#array(uint8 62 1 52 0 52 1 53 0 49 16 3 2 49 5 50 2 4 3 11) [pad-l - number->string #\0]) +#function("n1d0d1e0a@32a5b243;" [pad-l number->string #\0]) identity -#function(#array(uint8 62 1 53 0 11) []) +#function("n1e0;" []) index-of -#function(#array(uint8 62 3 53 1 18 6 10 0 45 11 53 0 53 1 29 13 6 22 0 53 2 11 44 6 41 0 52 0 53 0 53 1 30 53 2 48 34 2 4 3 11 45 11) [index-of]) +#function("n3e1B6:0];e0e1M=6F0e2;\\6Y0d0e0e1Ne2`R243;];" [index-of]) get-defined-vars -#function(#array(uint8 62 1 52 0 54 0 0 53 0 3 1 4 1 11) [delete-duplicates] #0=[#function(#array(uint8 62 1 53 0 16 6 10 0 46 11 53 0 29 50 0 13 1 6 25 0 2 53 0 30 23 6 92 0 52 1 53 0 3 1 20 1 6 48 0 2 52 1 53 0 3 1 28 1 1 7 91 0 2 52 1 53 0 3 1 23 1 6 85 0 2 52 2 53 0 3 1 20 1 6 85 0 2 52 2 53 0 3 1 28 1 1 7 91 0 2 46 11 53 0 29 50 3 13 6 115 0 52 4 52 5 54 0 0 53 0 30 3 2 12 11 46 11) [define +#function("n1d0f00e03141;" [delete-duplicates] #0=[#function("n1e0@6:0^;e0Mb0=16I02e0NG6\x8c0d1e031D16`02d1e031L117\x8b02d1e031G16\x8502d2e031D16\x8502d2e031L117\x8b02^;e0Mb3=6\xa30d4d5f00e0N32<;^;" [define cadr caadr begin append map] #0#) ()]) function? -#function(#array(uint8 62 1 53 0 24 1 7 38 0 2 52 0 53 0 3 1 50 1 13 1 7 38 0 2 53 0 23 1 6 38 0 2 53 0 29 50 2 13 11) [typeof - function lambda]) +#function("n1e0H17V02d0e031b1=17V02e0G16V02e0Mb2=;" [typeof function lambda]) for-each -#function(#array(uint8 62 2 53 1 23 6 26 0 53 0 53 1 29 3 1 2 52 0 53 0 53 1 30 4 2 11 44 11) [for-each]) +#function("n2e1G6J0e0e1M312d0e0e1N42;\\;" [for-each]) foldr -#function(#array(uint8 62 3 53 2 18 6 11 0 53 1 11 53 0 53 2 29 52 0 53 0 53 1 53 2 30 3 3 4 2 11) [foldr]) +#function("n3e2B6;0e1;e0e2Md0e0e1e2N3342;" [foldr]) foldl -#function(#array(uint8 62 3 53 2 18 6 11 0 53 1 11 52 0 53 0 53 0 53 2 29 53 1 3 2 53 2 30 4 3 11) [foldl]) +#function("n3e2B6;0e1;d0e0e0e2Me132e2N43;" [foldl]) filter -#function(#array(uint8 62 2 54 0 0 53 0 53 1 46 4 3 11) [] #0=[#function(#array(uint8 62 3 53 1 18 6 11 0 53 2 11 53 0 53 1 29 3 1 6 38 0 54 0 0 53 0 53 1 30 53 1 29 53 2 27 4 3 11 44 6 55 0 54 0 0 53 0 53 1 30 53 2 4 3 11 45 11) [] #0#) - ()]) +#function("n2f00e0e1^43;" [] #0=[#function("n3e1B6;0e2;e0e1M316V0f00e0e1Ne1Me2K43;\\6g0f00e0e1Ne243;];" [] #0#) + ()]) f-body -#function(#array(uint8 62 1 50 0 54 0 0 53 0 3 1 64 4 2 11) [#function(#array(uint8 65 2 50 0 52 1 53 0 3 1 64 4 2 11) [#function(#array(uint8 65 2 53 0 18 6 12 0 54 0 0 11 50 0 53 0 54 0 0 28 3 52 1 50 2 60 53 0 3 2 27 11) [lambda - map #function(#array(uint8 62 1 45 11) [])]) get-defined-vars])] [#function(#array(uint8 62 1 53 0 16 6 10 0 45 11 53 0 30 46 13 6 22 0 53 0 29 11 44 6 32 0 50 0 53 0 27 11 45 11) [begin]) - ()]) +#function("n1b0f00e031p42;" [#function("q2b0d1e031p42;" [#function("q2e0B6<0f00;b0e0f00L3d1b2le032K;" [lambda + map #function("n1];" [])]) get-defined-vars])] [#function("n1e0@6:0];e0N^=6F0e0M;\\6P0b0e0K;];" [begin]) + ()]) expand -#function(#array(uint8 62 1 52 0 53 0 4 1 11) [macroexpand]) +#function("n1d0e041;" [macroexpand]) every -#function(#array(uint8 62 2 53 1 16 1 7 31 0 2 53 0 53 1 29 3 1 1 6 31 0 2 52 0 53 0 53 1 30 4 2 11) [every]) +#function("n2e1@17O02e0e1M3116O02d0e0e1N42;" [every]) even? -#function(#array(uint8 62 1 52 0 53 0 48 3 2 47 38 11) [logand]) +#function("n1d0e0`32_V;" [logand]) eval -#function(#array(uint8 62 1 52 0 52 1 53 0 3 1 3 1 4 0 11) [compile-thunk - expand]) +#function("n1d0d1e0313140;" [compile-thunk expand]) error -#function(#array(uint8 63 0 52 0 50 1 53 0 27 4 1 11) [raise error]) +#function("o0d0b1e0K41;" [raise error]) emit-nothing -#function(#array(uint8 62 1 53 0 11) []) +#function("n1e0;" []) encode-byte-code -#function(#array(uint8 62 1 50 0 52 1 52 2 53 0 3 1 3 1 64 4 2 11) [#function(#array(uint8 65 2 50 0 52 1 52 2 53 0 3 1 49 3 52 3 50 4 60 53 0 3 2 36 2 34 2 50 5 3 2 64 4 2 11) [#function(#array(uint8 65 2 50 0 52 1 54 0 0 3 1 64 4 2 11) [#function(#array(uint8 65 2 50 0 52 1 53 0 3 1 47 52 2 3 0 52 2 3 0 52 3 3 0 45 64 4 7 11) [#function(#array(uint8 65 7 45 53 1 53 0 39 6 144 0 2 54 0 0 53 1 42 57 5 2 53 5 52 0 13 6 62 0 52 1 53 2 54 0 0 53 1 48 34 2 42 52 2 53 4 3 1 3 3 2 53 1 49 2 34 2 57 1 5 141 0 52 3 53 4 52 4 52 5 52 6 54 1 0 1 6 88 0 2 52 7 53 5 50 8 3 2 6 101 0 50 9 53 5 64 3 2 5 103 0 53 5 3 2 3 1 3 2 2 53 1 48 34 2 57 1 2 53 1 53 0 39 6 140 0 50 10 54 0 0 53 1 42 64 3 2 5 141 0 45 5 3 0 2 52 11 50 12 60 53 3 3 2 2 52 13 53 4 4 1 11) [:label +#function("n1b0d1d2e03131p42;" [#function("q2b0d1d2e031a3d3b4le032T2R2b532p42;" [#function("q2b0d1f0031p42;" [#function("q2b0d1e031_d230d230d330]p47;" [#function("q7]e1e0W6\xc002f00e1Zi52e5d0=6n0d1e2f00e1`R2Zd2e431332e1a2R2i15\xbd0d3e4d4d5d6f1016\x8802d7e5b8326\x950b9e5p325\x970e53231322e1`R2i12e1e0W6\xbc0b:f00e1Zp325\xbd0]5302d;b6=0d1;e0d2>6H0d3;e0d4>6S0d5;];" [:jmp :jmp.l :brt :brt.l + :brf :brf.l]) + #function("q2b0f05p42;" [#function("q2d0e0b1326V0d2f14d3f0031322f11`R2j11;d0e0b4326z0d2f14d5f0031322f11`R2j11;d0e0b6326\xbb0d2f14d5f0031322f11`R2j112d2f14d5f20f11Z31322f11`R2j11;d0e0b7326\xfa0d8f13d9f1431f00332d2f14f306\xe80d35\xea0d:_31322f11`R2j11;];" [memv (:loadv.l :loadg.l :setg.l) io.write uint32 (:loada :seta :call :tcall :loadv :loadg :setg :list :+ :- :* :/ :vector :argc :vargc :loadi8 :let) uint8 (:loadc :setc) - (:jmp :brf :brt) put! sizeof uint16])]) table.foreach #function(#array(uint8 62 2 52 0 54 0 4 53 0 3 2 2 52 1 54 0 4 54 2 0 6 28 0 52 2 5 30 0 52 3 52 4 54 0 2 53 1 3 2 3 1 4 2 11) [io.seek + (:jmp :brf :brt) put! sizeof uint16])]) table.foreach #function("n2d0f04e0322d1f04f206L0d25N0d3d4f02e1323142;" [io.seek io.write uint32 uint16 get]) io.tostring!]) length table buffer]) - list->vector]) >= length count #function(#array(uint8 62 1 52 0 53 0 50 1 4 2 11) [memq - (:loadv :loadg :setg :jmp :brt :brf)]) 65536]) peephole nreverse]) + list->vector]) >= length count #function("n1d0e0b142;" [memq (:loadv :loadg + :setg :jmp :brt :brf)]) 65536]) peephole nreverse]) emit -#function(#array(uint8 63 2 52 0 53 1 50 1 3 2 6 25 0 50 2 53 0 48 42 64 3 2 5 26 0 45 2 53 0 47 52 3 53 1 53 2 27 53 0 47 42 3 2 43 2 53 0 11) [memq - (:loadv :loadg :setg) #function(#array(uint8 65 2 50 0 54 0 0 49 2 42 64 4 2 11) [#function(#array(uint8 65 2 50 0 54 1 2 29 64 4 2 11) [#function(#array(uint8 65 2 50 0 52 1 54 1 0 53 0 3 2 6 28 0 52 2 54 1 0 53 0 3 2 5 57 0 52 3 54 1 0 53 0 54 0 0 3 3 2 54 0 0 48 34 2 58 0 0 2 54 0 0 48 35 2 64 4 2 11) [#function(#array(uint8 65 2 54 3 0 49 2 54 1 0 43 2 53 0 28 1 58 3 2 2 52 0 53 0 50 1 3 2 6 43 0 50 2 54 3 1 64 3 2 58 3 1 11 45 11) [>= - 256 #function(#array(uint8 65 2 53 0 52 0 14 6 13 0 52 1 11 53 0 52 2 14 6 24 0 52 3 11 53 0 52 4 14 6 35 0 52 5 11 45 11) [:loadv - :loadv.l :loadg :loadg.l :setg :setg.l])]) has? get put!])])]) nreconc]) +#function("o2d0e1b1326I0b2e0`Zp325J0]2e0_d3e1e2Ke0_Z32[2e0;" [memq (:loadv + :loadg + :setg) + #function("q2b0f00a2Zp42;" [#function("q2b0f12Mp42;" [#function("q2b0d1f10e0326L0d2f10e0325i0d3f10e0f00332f00`R2j002f00`S2p42;" [#function("q2f30a2f10[2e0L1j322d0e0b1326[0b2f31p32j31;];" [>= + 256 #function("q2e0d0>6=0d1;e0d2>6H0d3;e0d4>6S0d5;];" [:loadv :loadv.l :loadg + :loadg.l :setg :setg.l])]) + has? get put!])])]) nreconc]) disassemble -#function(#array(uint8 62 1 52 0 53 0 47 3 2 2 52 1 4 0 11) [disassemble- - newline]) +#function("n1d0e0_322d140;" [disassemble- newline]) disassemble- -#function(#array(uint8 62 2 50 0 52 1 53 0 3 1 64 4 2 11) [#function(#array(uint8 65 2 50 0 53 0 47 42 53 0 48 42 64 4 3 11) [#function(#array(uint8 65 3 50 0 45 64 4 2 11) [#function(#array(uint8 65 2 50 0 60 57 0 2 50 1 47 52 2 54 0 0 3 1 64 4 3 11) [#function(#array(uint8 62 1 53 0 23 1 6 16 0 2 53 0 29 50 0 13 6 39 0 52 1 50 2 3 1 2 52 3 53 0 54 3 1 48 34 2 4 2 11 52 4 53 0 4 1 11) [compiled-lambda - princ "\n" disassemble- print]) #function(#array(uint8 65 3 45 53 0 53 1 39 6 32 0 2 50 0 52 1 52 2 54 1 0 53 0 42 3 2 64 3 2 5 3 0 11) [#function(#array(uint8 65 2 52 0 54 0 0 47 3 2 6 20 0 52 1 3 0 5 21 0 45 2 47 54 4 1 48 35 2 50 2 60 66 2 52 3 52 4 54 0 0 3 1 50 5 52 6 52 7 53 0 3 1 48 3 2 50 8 3 4 2 54 0 0 48 34 2 58 0 0 2 50 9 53 0 64 4 2 11) [> - newline #function(#array(uint8 62 1 52 0 50 1 4 1 11) [princ "\t"]) princ - hex5 ": " string.tail string "\t" #function(#array(uint8 65 2 52 0 53 0 50 1 3 2 6 44 0 54 2 0 54 3 1 52 2 54 3 0 54 1 0 3 2 42 3 1 2 54 1 0 49 4 34 2 58 1 0 11 52 0 53 0 50 3 3 2 6 82 0 54 2 0 54 3 1 54 3 0 54 1 0 42 42 3 1 2 54 1 0 48 34 2 58 1 0 11 52 0 53 0 50 4 3 2 6 119 0 52 5 52 6 54 3 0 54 1 0 42 3 1 3 1 2 54 1 0 48 34 2 58 1 0 11 52 0 53 0 50 7 3 2 6 184 0 52 5 52 6 54 3 0 54 1 0 42 3 1 50 8 3 2 2 54 1 0 48 34 2 58 1 0 2 52 5 52 6 54 3 0 54 1 0 42 3 1 3 1 2 54 1 0 48 34 2 58 1 0 11 52 0 53 0 50 9 3 2 6 227 0 52 5 50 10 52 11 52 12 54 3 0 54 1 0 3 2 3 1 3 2 2 54 1 0 49 2 34 2 58 1 0 11 52 0 53 0 50 13 3 2 6 14 1 52 5 50 10 52 11 52 2 54 3 0 54 1 0 3 2 3 1 3 2 2 54 1 0 49 4 34 2 58 1 0 11 45 11) [memv +#function("n2b0d1e031p42;" [#function("q2b0e0_Ze0`Zp43;" [#function("q3b0]p42;" [#function("q2b0li02b1_d2f0031p43;" [#function("n1e0G16@02e0Mb0=6W0d1b2312d3e0f31`R242;d4e041;" [compiled-lambda + princ "\n" disassemble- print]) #function("q3]e0e1W6P02b0d1d2f10e0Z32p32530;" [#function("q2d0f00_326D0d1305E0]2_f41`S2b2lr2d3d4f0031b5d6d7e031`32b8342f00`R2j002b9e0p42;" [> + newline #function("n1d0b141;" [princ "\t"]) princ hex5 ": " string.tail + string "\t" #function("q2d0e0b1326\\0f20f31d2f30f1032Z312f10a4R2j10;d0e0b3326\x820f20f31f30f10ZZ312f10`R2j10;d0e0b4326\xa70d5d6f30f10Z31312f10`R2j10;d0e0b7326\xe80d5d6f30f10Z31b8322f10`R2j102d5d6f30f10Z31312f10`R2j10;d0e0b9326\x130d5b:d;d1d5b:d;d2f30f103231322f10a4R2j10;];" [memv (:loadv.l :loadg.l :setg.l) ref-uint32-LE (:loadv :loadg :setg) (:loada :seta :call :tcall :list :+ :- :* :/ :vector :argc :vargc :loadi8 :let) princ number->string (:loadc :setc) " " (:jmp :brf :brt) "@" hex5 ref-uint16-LE (:jmp.l :brf.l :brt.l)])]) get 1/Instructions]) length])])]) - function->vector]) + function->vector]) display -#function(#array(uint8 62 1 52 0 53 0 3 1 2 44 11) [princ]) +#function("n1d0e0312\\;" [princ]) delete-duplicates -#function(#array(uint8 62 1 53 0 16 6 11 0 53 0 11 50 0 53 0 29 53 0 30 64 4 3 11) [#function(#array(uint8 65 3 52 0 53 0 53 1 3 2 6 20 0 52 1 53 1 4 1 11 53 0 52 1 53 1 3 1 27 11) [member +#function("n1e0@6;0e0;b0e0Me0Np43;" [#function("q3d0e0e1326D0d1e141;e0d1e131K;" [member delete-duplicates])]) count- -#function(#array(uint8 62 3 53 1 18 6 11 0 53 2 11 52 0 53 0 53 1 30 53 0 53 1 29 3 1 6 36 0 53 2 48 34 2 5 38 0 53 2 4 3 11) [count-]) +#function("n3e1B6;0e2;d0e0e1Ne0e1M316T0e2`R25V0e243;" [count-]) copy-tree -#function(#array(uint8 62 1 53 0 16 6 11 0 53 0 11 52 0 53 0 29 3 1 52 0 53 0 30 3 1 27 11) [copy-tree]) +#function("n1e0@6;0e0;d0e0M31d0e0N31K;" [copy-tree]) count -#function(#array(uint8 62 2 52 0 53 0 53 1 47 4 3 11) [count-]) +#function("n2d0e0e1_43;" [count-]) copy-list -#function(#array(uint8 62 1 53 0 16 6 11 0 53 0 11 53 0 29 52 0 53 0 30 3 1 27 11) [copy-list]) +#function("n1e0@6;0e0;e0Md0e0N31K;" [copy-list]) const-to-idx-vec -#function(#array(uint8 62 1 50 0 53 0 48 42 53 0 49 2 42 64 4 3 11) [#function(#array(uint8 65 3 50 0 52 1 53 1 3 1 64 4 2 11) [#function(#array(uint8 65 2 52 0 50 1 60 54 0 0 3 2 2 53 0 11) [table.foreach - #function(#array(uint8 62 2 54 0 0 53 1 53 0 43 11) [])]) vector.alloc])]) +#function("n1b0e0`Ze0a2Zp43;" [#function("q3b0d1e131p42;" [#function("q2d0b1lf00322e0;" [table.foreach + #function("n2f00e1e0[;" [])]) vector.alloc])]) cond->if -#function(#array(uint8 62 1 52 0 53 0 30 4 1 11) [cond-clauses->if]) +#function("n1d0e0N41;" [cond-clauses->if]) cond-clauses->if -#function(#array(uint8 62 1 53 0 16 6 10 0 45 11 50 0 53 0 29 64 4 2 11) [#function(#array(uint8 65 2 53 0 29 50 0 13 6 18 0 50 1 53 0 30 27 11 50 2 53 0 29 50 1 53 0 30 27 52 3 54 0 0 30 3 1 28 4 11) [else +#function("n1e0@6:0];b0e0Mp42;" [#function("q2e0Mb0=6B0b1e0NK;b2e0Mb1e0NKd3f00N31L4;" [else begin if cond-clauses->if])]) compile-while -#function(#array(uint8 62 4 50 0 52 1 53 0 3 1 52 1 53 0 3 1 64 4 3 11) [#function(#array(uint8 65 3 52 0 54 0 0 54 0 1 45 45 3 4 2 52 1 54 0 0 53 0 3 2 2 52 0 54 0 0 54 0 1 45 54 0 2 3 4 2 52 2 54 0 0 52 3 53 1 3 3 2 52 2 54 0 0 52 4 3 2 2 52 0 54 0 0 54 0 1 45 54 0 3 3 4 2 52 2 54 0 0 52 5 53 0 3 3 2 52 1 54 0 0 53 1 4 2 11) [compile-in +#function("n4b0d1e031d1e031p43;" [#function("q3d0f00f01]]342d1f00e0322d0f00f01]f02342d2f00d3e1332d2f00d4322d0f00f01]f03342d2f00d5e0332d1f00e142;" [compile-in mark-label emit :brf :pop :jmp]) make-label]) compile-short-circuit -#function(#array(uint8 62 6 53 3 16 6 21 0 52 0 53 0 53 1 53 2 53 4 4 4 11 53 3 30 16 6 42 0 52 0 53 0 53 1 53 2 53 3 29 4 4 11 50 1 52 2 53 0 3 1 64 4 2 11) [compile-in - #function(#array(uint8 65 2 52 0 54 0 0 54 0 1 45 54 0 3 29 3 4 2 52 1 54 0 0 52 2 3 2 2 52 1 54 0 0 54 0 5 53 0 3 3 2 52 1 54 0 0 52 3 3 2 2 52 4 54 0 0 54 0 1 54 0 2 54 0 3 30 54 0 4 54 0 5 3 6 2 52 5 54 0 0 53 0 4 2 11) [compile-in +#function("n6e3@6E0d0e0e1e2e444;e3N@6Z0d0e0e1e2e3M44;b1d2e031p42;" [compile-in + #function("q2d0f00f01]f03M342d1f00d2322d1f00f05e0332d1f00d3322d4f00f01f02f03Nf04f05362d5f00e042;" [compile-in emit :dup :pop compile-short-circuit mark-label]) make-label]) compile-let -#function(#array(uint8 62 4 50 0 53 3 29 53 3 30 64 4 3 11) [#function(#array(uint8 65 3 52 0 53 1 52 1 52 2 53 0 3 1 3 1 3 2 6 25 0 45 5 37 0 52 3 52 4 50 5 53 0 3 2 3 1 2 52 6 54 0 0 52 7 52 8 54 0 1 53 0 44 3 3 3 3 2 50 9 52 10 54 0 0 54 0 1 53 1 3 3 64 4 2 11) [length= +#function("n4b0e3Me3Np43;" [#function("q3d0e1d1d2e03131326I0]5U0d3d4b5e032312d6f00d7d8f01e0\\33332b9d:f00f01e133p42;" [length= length cadr error string "apply: incorrect number of arguments to " emit - :loadv compile-f #function(#array(uint8 65 2 52 0 54 1 0 52 1 3 2 2 52 0 54 1 0 54 1 2 6 28 0 52 2 5 30 0 52 3 48 53 0 34 2 4 3 11) [emit + :loadv compile-f #function("q2d0f10d1322d0f10f126L0d25N0d3`e0R243;" [emit :close :tcall :call]) compile-arglist])]) compile-or -#function(#array(uint8 62 4 52 0 53 0 53 1 53 2 53 3 45 52 1 4 6 11) [compile-short-circuit - :brt]) +#function("n4d0e0e1e2e3]d146;" [compile-short-circuit :brt]) compile-prog1 -#function(#array(uint8 62 3 52 0 53 0 53 1 45 52 1 53 2 3 1 3 4 2 52 2 53 2 3 1 23 6 53 0 52 3 53 0 53 1 45 52 2 53 2 3 1 3 4 2 52 4 53 0 52 5 4 2 11 45 11) [compile-in +#function("n3d0e0e1]d1e231342d2e231G6e0d3e0e1]d2e231342d4e0d542;];" [compile-in cadr cddr compile-begin emit :pop]) compile-sym -#function(#array(uint8 62 4 50 0 52 1 53 2 53 1 47 44 3 4 64 4 2 11) [#function(#array(uint8 65 2 50 0 53 0 29 64 4 2 11) [#function(#array(uint8 65 2 53 0 50 0 14 6 30 0 52 1 54 1 0 54 1 3 47 42 52 2 54 0 0 3 1 4 3 11 53 0 50 3 14 6 65 0 52 1 54 1 0 54 1 3 48 42 52 2 54 0 0 3 1 52 4 54 0 0 3 1 4 4 11 52 1 54 1 0 54 1 3 49 2 42 54 1 2 4 3 11) [arg +#function("n4b0d1e2e1_\\34p42;" [#function("q2b0e0Mp42;" [#function("q2e0b0>6N0d1f10f13_Zd2f003143;e0b3>6q0d1f10f13`Zd2f0031d4f003144;d1f10f13a2Zf1243;" [arg emit cadr closed caddr])]) lookup-sym]) compile-thunk -#function(#array(uint8 62 1 52 0 50 1 46 53 0 28 3 4 1 11) [compile lambda]) +#function("n1d0b1^e0L341;" [compile lambda]) compile-for -#function(#array(uint8 62 5 52 0 53 4 3 1 6 56 0 52 1 53 0 53 1 45 53 2 3 4 2 52 1 53 0 53 1 45 53 3 3 4 2 52 1 53 0 53 1 45 53 4 3 4 2 52 2 53 0 52 3 4 2 11 52 4 50 5 4 1 11) [1arg-lambda? +#function("n5d0e4316h0d1e0e1]e2342d1e0e1]e3342d1e0e1]e4342d2e0d342;d4b541;" [1arg-lambda? compile-in emit :for error "for: third form must be a 1-argument lambda"]) compile-if -#function(#array(uint8 62 4 50 0 52 1 53 0 3 1 52 1 53 0 3 1 64 4 3 11) [#function(#array(uint8 65 3 52 0 54 0 0 54 0 1 45 52 1 54 0 3 3 1 3 4 2 52 2 54 0 0 52 3 53 0 3 3 2 52 0 54 0 0 54 0 1 54 0 2 52 4 54 0 3 3 1 3 4 2 54 0 2 6 72 0 52 2 54 0 0 52 5 3 2 5 83 0 52 2 54 0 0 52 6 53 1 3 3 2 52 7 54 0 0 53 0 3 2 2 52 0 54 0 0 54 0 1 54 0 2 52 8 54 0 3 3 1 23 6 126 0 52 9 54 0 3 3 1 5 127 0 45 3 4 2 52 7 54 0 0 53 1 4 2 11) [compile-in +#function("n4b0d1e031d1e031p43;" [#function("q3d0f00f01]d1f0331342d2f00d3e0332d0f00f01f02d4f0331342f026x0d2f00d5325\x830d2f00d6e1332d7f00e0322d0f00f01f02d8f0331G6\xae0d9f03315\xaf0]342d7f00e142;" [compile-in cadr emit :brf caddr :ret :jmp mark-label cdddr cadddr]) make-label]) compile-call -#function(#array(uint8 62 4 50 0 53 3 29 64 4 2 11) [#function(#array(uint8 65 2 50 0 53 0 20 1 6 53 0 2 52 1 53 0 54 0 1 3 2 17 1 6 53 0 2 53 0 22 1 6 53 0 2 52 2 53 0 3 1 1 6 53 0 2 52 3 53 0 3 1 24 6 65 0 52 3 53 0 3 1 5 67 0 53 0 64 4 2 11) [#function(#array(uint8 65 2 50 0 53 0 24 1 6 18 0 2 52 1 53 0 3 1 64 4 2 11) [#function(#array(uint8 65 2 53 0 17 6 25 0 52 0 54 2 0 54 2 1 45 54 0 0 3 4 5 26 0 45 2 50 1 52 2 54 2 0 54 2 1 54 2 3 30 3 3 64 4 2 11) [compile-in - #function(#array(uint8 65 2 54 0 0 6 24 0 50 0 52 1 52 2 54 0 0 45 3 3 64 4 2 11 52 3 54 3 0 54 3 2 6 40 0 52 4 5 42 0 52 5 53 0 4 3 11) [#function(#array(uint8 65 2 53 0 1 6 20 0 2 52 0 54 4 3 30 53 0 3 2 17 6 35 0 52 1 54 2 0 53 0 3 2 5 36 0 45 2 50 2 54 1 0 64 4 2 11) [length= - argc-error #function(#array(uint8 65 2 53 0 52 0 14 6 42 0 54 1 0 47 38 6 28 0 52 1 54 5 0 52 2 4 2 11 52 1 54 5 0 54 2 0 54 1 0 4 3 11 53 0 52 3 14 6 82 0 54 1 0 47 38 6 68 0 52 1 54 5 0 52 4 4 2 11 52 1 54 5 0 54 2 0 54 1 0 4 3 11 53 0 52 5 14 6 121 0 54 1 0 47 38 6 107 0 52 6 54 3 0 48 4 2 11 52 1 54 5 0 54 2 0 54 1 0 4 3 11 53 0 52 7 14 6 161 0 54 1 0 47 38 6 147 0 52 1 54 5 0 52 8 4 2 11 52 1 54 5 0 54 2 0 54 1 0 4 3 11 53 0 52 9 14 6 200 0 54 1 0 47 38 6 186 0 52 6 54 3 0 48 4 2 11 52 1 54 5 0 54 2 0 54 1 0 4 3 11 53 0 52 10 14 6 242 0 54 1 0 47 38 6 228 0 52 1 54 5 0 52 11 50 12 4 3 11 52 1 54 5 0 54 2 0 54 1 0 4 3 11 52 1 54 5 0 54 5 2 1 6 5 1 2 54 2 0 52 13 13 6 13 1 52 14 5 16 1 54 2 0 4 2 11) [:list +#function("n4b0e3Mp42;" [#function("q2b0e0D16e02d1e0f0132A16e02e0F16e02d2e03116e02d3e031H6q0d3e0315s0e0p42;" [#function("q2b0e0H16B02d1e031p42;" [#function("q2e0A6I0d0f20f21]f00345J0]2b1d2f20f21f23N33p42;" [compile-in + #function("q2f006H0b0d1d2f00]33p42;d3f30f326X0d45Z0d5e043;" [#function("q2e016D02d0f43Ne032A6S0d1f20e0325T0]2b2f10p42;" [length= + argc-error #function("q2e0d0>6Z0f10_V6L0d1f50d242;d1f50f20f1043;e0d3>6\x820f10_V6t0d1f50d442;d1f50f20f1043;e0d5>6\xa90f10_V6\x9b0d6f30`42;d1f50f20f1043;e0d7>6\xd10f10_V6\xc30d1f50d842;d1f50f20f1043;e0d9>6\xf80f10_V6\xea0d6f30`42;d1f50f20f1043;e0d:>6\"0f10_V6\x140d1f50d;b<43;d1f50f20f1043;d1f50f5216512f20d==6=1d>5@1f2042;" [:list emit :loadnil :+ :load0 :- argc-error :* :load1 :/ :vector :loadv [] :apply :tapply])]) get arg-counts emit :tcall :call]) compile-arglist]) builtin->instruction]) in-env? constant? top-level-value])]) compile-f -#function(#array(uint8 63 2 50 0 52 1 3 0 52 2 53 1 3 1 64 4 3 11) [#function(#array(uint8 65 3 54 0 2 18 17 6 31 0 52 0 53 0 52 1 52 2 52 3 53 1 3 1 3 1 3 3 5 82 0 52 4 53 1 3 1 18 6 58 0 52 0 53 0 52 5 52 3 53 1 3 1 3 3 5 82 0 52 0 53 0 52 6 53 1 16 6 74 0 47 5 80 0 52 3 53 1 3 1 3 3 2 52 7 53 0 52 8 53 1 3 1 54 0 0 27 44 52 9 54 0 1 3 1 3 4 2 52 0 53 0 52 10 3 2 2 52 11 52 12 53 0 47 42 3 1 52 13 53 0 3 1 4 2 11) [emit +#function("o2b0d130d2e131p43;" [#function("q3f02BA6O0d0e0d1d2d3e13131335\x820d4e131B6j0d0e0d5d3e131335\x820d0e0d6e1@6z0_5\x800d3e131332d7e0d8e131f00K\\d9f0131342d0e0d:322d;d MAX_ARGS]) +#function("n3b0d1e2d232p42;" [#function("q2e06i0d0f00d1f02d232f01332b3d4d5b6ld7e0d23232Kp322d2`R2;d0f00f02f01332d8f0241;" [just-compile-args + list-head MAX_ARGS #function("q2d0f10f11]e044;" [compile-in]) nconc map #function("n1d0e0K;" [list]) + list-partition length]) length> MAX_ARGS]) compile-begin -#function(#array(uint8 62 4 53 3 16 6 20 0 52 0 53 0 53 1 53 2 45 4 4 11 53 3 30 16 6 41 0 52 0 53 0 53 1 53 2 53 3 29 4 4 11 52 0 53 0 53 1 45 53 3 29 3 4 2 52 1 53 0 52 2 3 2 2 52 3 53 0 53 1 53 2 53 3 30 4 4 11) [compile-in +#function("n4e3@6D0d0e0e1e2]44;e3N@6Y0d0e0e1e2e3M44;d0e0e1]e3M342d1e0d2322d3e0e1e2e3N44;" [compile-in emit :pop compile-begin]) compile-in -#function(#array(uint8 62 4 53 3 20 6 21 0 52 0 53 0 53 1 53 3 50 1 4 4 11 53 3 16 6 161 0 53 3 47 13 6 43 0 52 2 53 0 52 3 4 2 11 53 3 48 13 6 59 0 52 2 53 0 52 4 4 2 11 53 3 44 13 6 75 0 52 2 53 0 52 5 4 2 11 53 3 45 13 6 91 0 52 2 53 0 52 6 4 2 11 53 3 46 13 6 107 0 52 2 53 0 52 7 4 2 11 53 3 26 1 6 136 0 2 52 8 53 3 49 128 3 2 1 6 136 0 2 52 9 53 3 49 127 3 2 6 150 0 52 2 53 0 52 10 53 3 4 3 11 52 2 53 0 52 11 53 3 4 3 11 50 12 53 3 29 64 4 2 11) [compile-sym +#function("n4e3D6E0d0e0e1e3b144;e3@6\xd10e3_=6[0d2e0d342;e3`=6k0d2e0d442;e3\\=6{0d2e0d542;e3]=6\x8b0d2e0d642;e3^=6\x9b0d2e0d742;e3J16\xb802d8e3a\xb03216\xb802d9e3a\xaf326\xc60d2e0d:e343;d2e0d;e343;b= <= - :loadi8 :loadv #function(#array(uint8 65 2 53 0 50 0 14 6 27 0 52 1 54 0 0 52 2 52 3 54 0 3 3 1 4 3 11 53 0 50 4 14 6 56 0 52 5 54 0 0 54 0 1 54 0 2 52 6 54 0 3 3 1 4 4 11 53 0 50 7 14 6 81 0 52 8 54 0 0 54 0 1 54 0 2 54 0 3 4 4 11 53 0 50 9 14 6 107 0 52 10 54 0 0 54 0 1 54 0 2 54 0 3 30 4 4 11 53 0 50 11 14 6 129 0 52 12 54 0 0 54 0 1 54 0 3 4 3 11 53 0 50 13 14 6 167 0 52 1 54 0 0 52 2 52 14 54 0 1 54 0 3 3 2 3 3 2 52 1 54 0 0 52 15 4 2 11 53 0 50 16 14 6 193 0 52 17 54 0 0 54 0 1 54 0 2 54 0 3 30 4 4 11 53 0 50 18 14 6 219 0 52 19 54 0 0 54 0 1 54 0 2 54 0 3 30 4 4 11 53 0 50 20 14 6 255 0 52 21 54 0 0 54 0 1 52 3 54 0 3 3 1 50 9 52 22 54 0 3 3 1 27 4 4 11 53 0 50 23 14 6 39 1 52 24 54 0 0 54 0 1 52 3 54 0 3 3 1 52 25 54 0 3 3 1 52 26 54 0 3 3 1 4 5 11 53 0 50 27 14 6 86 1 52 5 54 0 0 54 0 1 45 52 25 54 0 3 3 1 3 4 2 52 28 54 0 0 54 0 1 52 3 54 0 3 3 1 50 29 4 4 11 53 0 50 30 14 6 172 1 52 5 54 0 0 54 0 1 45 50 13 46 52 3 54 0 3 3 1 28 3 3 4 2 52 31 52 25 54 0 3 3 1 3 1 6 136 1 45 5 142 1 52 32 50 33 3 1 2 52 5 54 0 0 54 0 1 45 52 25 54 0 3 3 1 3 4 2 52 1 54 0 0 52 34 4 2 11 52 35 54 0 0 54 0 1 54 0 2 54 0 3 4 4 11) [quote + :loadi8 :loadv #function("q2e0b0>6K0d1f00d2d3f033143;e0b4>6h0d5f00f01f02d6f033144;e0b7>6\x810d8f00f01f02f0344;e0b9>6\x9b0d:f00f01f02f03N44;e0b;>6\xb10d6\xd70d1f00d2d>f01f0332332d1f00d?42;e0b@>6\xf10dAf00f01f02f03N44;e0bB>6\x0b0dCf00f01f02f03N44;e0bD>6/0dEf00f01d3f0331b9dFf0331K44;e0bG>6W1dHf00f01d3f0331dIf0331dJf033145;e0bK>6\x861d5f00f01]dIf0331342dLf00f01d3f0331bM44;e0bN>6\xdc1d5f00f01]b=^d3f0331L3342dOdIf0331316\xb81]5\xbe1dPbQ312d5f00f01]dIf0331342d1f00dR42;dSf00f01f02f0344;" [quote emit :loadv cadr cond compile-in cond->if if compile-if begin compile-begin prog1 compile-prog1 lambda compile-f :closure and compile-and or compile-or while compile-while cddr for compile-for caddr cadddr set! compile-sym [:seta :setc :setg] trycatch 1arg-lambda? error "trycatch: second form must be a 1-argument lambda" :trycatch compile-app])]) char? -#function(#array(uint8 62 1 52 0 53 0 3 1 50 1 13 11) [typeof wchar]) +#function("n1d0e031b1=;" [typeof wchar]) cddr -#function(#array(uint8 62 1 53 0 30 30 11) []) +#function("n1e0NN;" []) cddar -#function(#array(uint8 62 1 53 0 29 30 30 11) []) +#function("n1e0MNN;" []) cdadr -#function(#array(uint8 62 1 53 0 30 29 30 11) []) +#function("n1e0NMN;" []) cdaar -#function(#array(uint8 62 1 53 0 29 29 30 11) []) +#function("n1e0MMN;" []) cdar -#function(#array(uint8 62 1 53 0 29 30 11) []) +#function("n1e0MN;" []) cdddr -#function(#array(uint8 62 1 53 0 30 30 30 11) []) +#function("n1e0NNN;" []) cadar -#function(#array(uint8 62 1 53 0 29 30 29 11) []) +#function("n1e0MNM;" []) cadddr -#function(#array(uint8 62 1 53 0 30 30 30 29 11) []) +#function("n1e0NNNM;" []) caddr -#function(#array(uint8 62 1 53 0 30 30 29 11) []) +#function("n1e0NNM;" []) caaar -#function(#array(uint8 62 1 53 0 29 29 29 11) []) +#function("n1e0MMM;" []) caadr -#function(#array(uint8 62 1 53 0 30 29 29 11) []) +#function("n1e0NMM;" []) caar -#function(#array(uint8 62 1 53 0 29 29 11) []) +#function("n1e0MM;" []) cadr -#function(#array(uint8 62 1 53 0 30 29 11) []) +#function("n1e0NM;" []) builtin->instruction -#function(#array(uint8 62 1 50 0 52 1 52 2 50 3 53 0 3 2 3 1 64 4 2 11) [#function(#array(uint8 65 2 52 0 52 1 53 0 3 2 1 6 17 0 2 53 0 11) [has? - Instructions]) intern string #\:]) -bq-process -#function(#array(uint8 62 1 52 0 53 0 3 1 6 36 0 53 0 25 6 33 0 50 1 52 2 52 3 53 0 3 1 3 1 64 4 2 11 53 0 11 53 0 16 6 49 0 50 4 53 0 28 2 11 53 0 29 50 5 13 6 73 0 52 2 52 2 52 6 53 0 3 1 3 1 4 1 11 53 0 29 50 7 13 6 89 0 52 6 53 0 4 1 11 52 8 52 9 53 0 3 2 17 6 121 0 50 10 52 11 53 0 3 1 52 12 52 13 53 0 3 2 64 4 3 11 44 6 134 0 50 14 53 0 46 64 4 3 11 45 11) [self-evaluating? - #function(#array(uint8 65 2 53 0 29 50 0 13 6 18 0 52 1 53 0 30 27 11 52 2 52 1 53 0 28 3 11) [list - vector apply]) bq-process vector->list quote backquote cadr *comma* any - splice-form? #function(#array(uint8 65 3 53 0 18 6 14 0 50 0 53 1 27 11 52 1 50 2 53 1 27 52 3 53 0 3 1 28 1 4 2 11) [list - nconc nlist* bq-process]) lastcdr map bq-bracket1 #function(#array(uint8 65 3 45 53 0 23 1 6 18 0 2 53 0 29 50 0 13 17 6 43 0 2 52 1 53 0 29 3 1 53 1 27 57 1 2 53 0 30 57 0 5 3 0 2 50 2 53 0 23 6 69 0 52 3 53 1 52 4 53 0 3 1 28 1 3 2 5 106 0 53 0 18 6 84 0 52 5 53 1 3 1 5 106 0 44 6 105 0 52 3 53 1 52 6 53 0 3 1 28 1 3 2 5 106 0 45 64 4 2 11) [*comma* - bq-bracket #function(#array(uint8 65 2 53 0 30 18 6 13 0 53 0 29 11 50 0 53 0 27 11) [nconc]) - nreconc cadr nreverse bq-process])]) -bq-bracket -#function(#array(uint8 62 1 53 0 16 6 19 0 52 0 52 1 53 0 3 1 28 2 11 53 0 29 50 2 13 6 39 0 52 0 52 3 53 0 3 1 28 2 11 53 0 29 50 4 13 6 59 0 50 5 52 3 53 0 3 1 28 2 11 53 0 29 50 6 13 6 75 0 52 3 53 0 4 1 11 44 6 90 0 52 0 52 1 53 0 3 1 28 2 11 45 11) [list - bq-process *comma* cadr *comma-at* copy-list *comma-dot*]) +#function("n1b0d1d2b3e03231p42;" [#function("q2d0d1e03216A02e0;" [has? + Instructions]) + intern string #\:]) bq-bracket1 -#function(#array(uint8 62 1 53 0 23 1 6 16 0 2 53 0 29 50 0 13 6 26 0 52 1 53 0 4 1 11 52 2 53 0 4 1 11) [*comma* - cadr bq-process]) +#function("n1e0G16@02e0Mb0=6J0d1e041;d2e041;" [*comma* cadr bq-process]) +bq-process +#function("n1d0e0316T0e0I6Q0b1d2d3e03131p42;e0;e0@6a0b4e0L2;e0Mb5=6y0d2d2d6e0313141;e0Mb7=6\x890d6e041;d8d9e032A6\xa90b:d;e031de0^p43;];" [self-evaluating? + #function("q2e0Mb0=6B0d1e0NK;d2d1e0L3;" [list vector apply]) bq-process + vector->list quote backquote cadr *comma* any splice-form? #function("q3e0B6>0b0e1K;d1b2e1Kd3e031L142;" [list + nconc nlist* bq-process]) lastcdr map bq-bracket1 #function("q3]e0G16B02e0Mb0=A6[02d1e0M31e1Ki12e0Ni05302b2e0G6u0d3e1d4e031L1325\x9a0e0B6\x840d5e1315\x9a0\\6\x990d3e1d6e031L1325\x9a0]p42;" [*comma* + bq-bracket #function("q2e0NB6=0e0M;b0e0K;" [nconc]) nreconc cadr nreverse + bq-process])]) +bq-bracket +#function("n1e0@6C0d0d1e031L2;e0Mb2=6W0d0d3e031L2;e0Mb4=6k0b5d3e031L2;e0Mb6=6{0d3e041;\\6\x8a0d0d1e031L2;];" [list + bq-process *comma* cadr *comma-at* copy-list *comma-dot*]) assv -#function(#array(uint8 62 2 53 1 16 6 10 0 45 11 52 0 53 1 3 1 53 0 14 6 26 0 53 1 29 11 44 6 40 0 52 1 53 0 53 1 30 4 2 11 45 11) [caar - assv]) +#function("n2e1@6:0];d0e131e0>6J0e1M;\\6X0d1e0e1N42;];" [caar assv]) assoc -#function(#array(uint8 62 2 53 1 16 6 10 0 45 11 52 0 53 1 3 1 53 0 15 6 26 0 53 1 29 11 44 6 40 0 52 1 53 0 53 1 30 4 2 11 45 11) [caar - assoc]) +#function("n2e1@6:0];d0e131e0?6J0e1M;\\6X0d1e0e1N42;];" [caar assoc]) argc-error -#function(#array(uint8 62 2 52 0 52 1 50 2 53 0 50 3 53 1 53 1 48 38 6 26 0 50 4 5 28 0 50 5 3 5 4 1 11) [error - string "compile error: " " expects " " argument." " arguments."]) +#function("n2d0d1b2e0b3e1e1`V6J0b45L0b53541;" [error string "compile error: " + " expects " " argument." " arguments."]) arg-counts #table(:not 1 :set-cdr! 2 :cons 2 :number? 1 :equal? 2 :cdr 1 :vector? 1 :eqv? 2 :apply 2 := 2 :atom? 1 :aref 2 :compare 2 :< 2 :null? 1 :eq? 2 :car 1 :set-car! 2 :builtin? 1 :aset! 3 :bound? 1 :boolean? 1 :pair? 1 :symbol? 1 :fixnum? 1) append2 -#function(#array(uint8 62 2 53 0 18 6 11 0 53 1 11 53 0 29 52 0 53 0 30 53 1 3 2 27 11) [append2]) +#function("n2e0B6;0e1;e0Md0e0Ne132K;" [append2]) any -#function(#array(uint8 62 2 53 1 23 1 6 31 0 2 53 0 53 1 29 3 1 1 7 31 0 2 52 0 53 0 53 1 30 4 2 11) [any]) +#function("n2e1G16O02e0e1M3117O02d0e0e1N42;" [any]) __start -#function(#array(uint8 62 1 52 0 3 0 2 53 0 30 23 6 33 0 53 0 30 56 1 2 52 2 52 3 53 0 3 1 3 1 5 49 0 53 0 56 1 2 52 4 52 5 3 1 2 52 6 3 0 2 52 7 47 4 1 11) [__init_globals +#function("n1d0302e0NG6Q0e0Nh12d2d3e031315a0e0h12d4d5312d6302d7_41;" [__init_globals *argv* __script cadr princ *banner* repl exit]) __init_globals -#function(#array(uint8 62 0 52 0 50 1 13 1 7 27 0 2 52 0 50 2 13 1 7 27 0 2 52 0 50 3 13 6 42 0 50 4 56 5 2 50 6 56 7 5 51 0 50 8 56 5 2 50 9 56 7 2 52 10 56 11 2 52 12 56 13 11) [*os-name* +#function("n0d0b1=17K02d0b2=17K02d0b3=6Z0b4h52b6h75c0b8h52b9h72d:h;2d0e0S1;e0;" []) append -#function(#array(uint8 63 0 53 0 18 6 10 0 46 11 53 0 30 18 6 21 0 53 0 29 11 44 6 39 0 52 0 53 0 29 52 1 53 0 30 33 4 2 11 45 11) [append2 - append]) +#function("o0e0B6:0^;e0NB6E0e0M;\\6W0d0e0Md1e0NQ42;];" [append2 append]) MAX_ARGS 127 Instructions #table(:set-cdr! 32 :/ 37 :call 3 := 38 :aref 42 :let 65 :argc 62 :loadg 52 :car 29 :brt.l 10 :vargc 63 :loada 53 :aset! 43 :pair? 23 :fixnum? 26 :brf 6 :closure 60 :number? 21 :loadv.l 51 :seta 57 :brf.l 9 :for 66 :dup 1 :compare 40 :eq? 13 :+ 34 :jmp 5 :loadt 44 :brt 7 :builtin? 24 :close 64 :tcall 4 :ret 11 :loadf 45 :jmp.l 8 :nop 0 :tapply 12 :setc 58 :cons 27 :equal? 15 :cdr 30 :setg.l 59 :eqv? 14 :list 28 :atom? 16 :load0 47 :< 39 :null? 18 :load1 48 :set-car! 31 :setg 56 :bound? 22 :symbol? 20 :loadi8 49 :not 17 :* 36 :pop 2 :loadnil 46 :loadv 50 :vector 41 :- 35 :trycatch 61 :vector? 25 :apply 33 :loadc 54 :loadg.l 55 :boolean? 19) >= -#function(#array(uint8 62 2 53 1 53 0 39 1 7 17 0 2 53 0 53 1 38 11) []) +#function("n2e1e0W17A02e0e1V;" []) > -#function(#array(uint8 62 2 53 1 53 0 39 11) []) +#function("n2e1e0W;" []) <= -#function(#array(uint8 62 2 53 0 53 1 39 1 7 17 0 2 53 0 53 1 38 11) []) +#function("n2e0e1W17A02e0e1V;" []) 1arg-lambda? -#function(#array(uint8 62 1 53 0 23 1 6 53 0 2 53 0 29 50 0 13 1 6 53 0 2 53 0 30 23 1 6 53 0 2 52 1 53 0 3 1 23 1 6 53 0 2 52 2 52 1 53 0 3 1 48 4 2 11) [lambda - cadr length=]) +#function("n1e0G16e02e0Mb0=16e02e0NG16e02d1e031G16e02d2d1e031`42;" [lambda cadr + length=]) 1/Instructions #table(2 :pop 15 :equal? 38 := 14 :eqv? 40 :compare 22 :bound? 36 :* 60 :closure 56 :setg 23 :pair? 3 :call 58 :setc 21 :number? 8 :jmp.l 51 :loadv.l 66 :for 65 :let 55 :loadg.l 5 :jmp 27 :cons 46 :loadnil 42 :aref 25 :vector? 13 :eq? 35 :- 12 :tapply 32 :set-cdr! 62 :argc 20 :symbol? 7 :brt 49 :loadi8 18 :null? 52 :loadg 1 :dup 45 :loadf 59 :setg.l 50 :loadv 61 :trycatch 11 :ret 30 :cdr 28 :list 48 :load1 41 :vector 0 :nop 29 :car 17 :not 4 :tcall 43 :aset! 39 :< 63 :vargc 53 :loada 44 :loadt 34 :+ 6 :brf 16 :atom? 10 :brt.l 31 :set-car! 54 :loadc 19 :boolean? 47 :load0 9 :brf.l 26 :fixnum? 37 :/ 24 :builtin? 64 :close 33 :apply 57 :seta) /= -#function(#array(uint8 62 2 53 0 53 1 38 17 11) []) +#function("n2e0e1VA;" []) 1+ -#function(#array(uint8 62 1 53 0 48 34 2 11) []) +#function("n1e0`R2;" []) 1- -#function(#array(uint8 62 1 53 0 48 35 2 11) []) +#function("n1e0`S2;" []) *whitespace* "\t\n\v\f\r \u0085  ᠎           \u2028\u2029   " *syntax-environment* -#table(letrec #function(#array(uint8 63 1 50 0 52 1 52 2 53 0 3 2 52 3 52 4 52 1 50 5 60 53 0 3 2 53 1 3 2 3 1 28 3 52 1 50 6 60 53 0 3 2 27 11) [lambda - map car f-body nconc #function(#array(uint8 62 1 50 0 53 0 27 11) [set!]) - #function(#array(uint8 62 1 45 11) [])]) backquote #function(#array(uint8 62 1 52 0 53 0 4 1 11) [bq-process]) when #function(#array(uint8 63 1 50 0 53 0 52 1 53 1 3 1 45 28 4 11) [if - f-body]) dotimes #function(#array(uint8 63 1 50 0 53 0 29 52 1 53 0 3 1 64 4 3 11) [#function(#array(uint8 65 3 50 0 47 50 1 53 1 48 28 3 50 2 53 0 28 1 52 3 54 0 1 3 1 28 3 28 4 11) [for - - lambda f-body]) cadr]) unwind-protect #function(#array(uint8 62 2 50 0 52 1 3 0 64 4 2 11) [#function(#array(uint8 65 2 50 0 50 1 54 0 0 50 2 53 0 28 1 50 3 54 0 1 50 4 53 0 28 2 28 3 28 3 28 3 54 0 1 28 3 11) [prog1 - trycatch lambda begin raise]) gensym]) define-macro #function(#array(uint8 63 1 50 0 50 1 53 0 29 28 2 50 2 53 0 30 52 3 53 1 3 1 28 3 28 3 11) [set-syntax! - quote lambda f-body]) unless #function(#array(uint8 63 1 50 0 53 0 45 52 1 53 1 3 1 28 4 11) [if - f-body]) let* #function(#array(uint8 63 1 53 0 16 6 15 0 52 0 53 1 4 1 11 50 1 52 2 53 0 3 1 28 1 52 3 50 4 28 1 53 0 30 28 1 52 5 53 1 3 1 3 3 28 3 52 6 53 0 3 1 28 2 11) [f-body - lambda caar nconc let* copy-list cadar]) case #function(#array(uint8 63 1 50 0 45 64 4 2 11) [#function(#array(uint8 65 2 50 0 60 57 0 2 50 1 52 2 3 0 64 4 2 11) [#function(#array(uint8 62 2 53 1 50 0 13 6 13 0 50 0 11 53 1 18 6 21 0 45 11 53 1 16 6 40 0 50 1 53 0 52 2 53 1 3 1 28 3 11 53 1 30 18 6 61 0 50 1 53 0 52 2 53 1 29 3 1 28 3 11 50 3 53 0 50 4 53 1 28 2 28 3 11) [else - eqv? quote-value memv quote]) #function(#array(uint8 65 2 50 0 53 0 54 1 0 28 2 28 1 52 1 50 2 28 1 52 3 52 4 50 5 60 54 1 1 3 2 3 1 3 2 28 3 11) [let - nconc cond copy-list map #function(#array(uint8 62 1 54 1 0 54 0 0 53 0 29 3 2 53 0 30 27 11) [])]) - gensym])]) define #function(#array(uint8 63 1 53 0 20 6 18 0 50 0 53 0 53 1 29 28 3 11 50 0 53 0 29 50 1 53 0 30 52 2 53 1 3 1 28 3 28 3 11) [set! - lambda f-body]) assert #function(#array(uint8 62 1 50 0 53 0 44 50 1 50 2 50 3 53 0 28 2 28 2 28 2 28 4 11) [if - raise quote assert-failed]) catch #function(#array(uint8 62 2 50 0 52 1 3 0 64 4 2 11) [#function(#array(uint8 65 2 50 0 54 0 1 50 1 53 0 28 1 50 2 50 3 50 4 53 0 28 2 50 5 50 6 53 0 28 2 50 7 50 8 28 2 28 3 50 5 50 9 53 0 28 2 54 0 0 28 3 28 4 50 10 53 0 28 2 50 11 53 0 28 2 28 4 28 3 28 3 11) [trycatch - lambda if and pair? eq car quote thrown-value cadr caddr raise]) gensym]) label #function(#array(uint8 62 2 50 0 53 0 28 1 50 1 53 0 53 1 28 3 28 3 45 28 2 11) [lambda - set!]) do #function(#array(uint8 63 2 50 0 52 1 3 0 53 1 29 52 2 52 3 53 0 3 2 52 2 52 4 53 0 3 2 52 2 50 5 60 53 0 3 2 64 4 6 11) [#function(#array(uint8 65 6 50 0 53 0 50 1 53 2 50 2 53 1 52 3 50 4 28 1 52 5 54 0 1 30 3 1 3 2 52 3 50 4 28 1 52 5 54 0 2 3 1 52 3 53 0 28 1 52 5 53 4 3 1 3 2 28 1 3 3 28 4 28 3 28 2 28 1 52 3 53 0 28 1 52 5 53 3 3 1 3 2 28 3 11) [letrec - lambda if nconc begin copy-list]) gensym map car cadr #function(#array(uint8 62 1 52 0 53 0 3 1 23 6 19 0 52 1 53 0 4 1 11 53 0 29 11) [cddr - caddr])]) let #function(#array(uint8 63 1 50 0 45 64 4 2 11) [#function(#array(uint8 65 2 54 0 0 20 6 33 0 54 0 0 57 0 2 54 0 1 29 58 0 0 2 54 0 1 30 58 0 1 5 34 0 45 2 50 0 50 1 52 2 50 3 60 54 0 0 3 2 52 4 54 0 1 3 1 28 3 52 2 50 5 60 54 0 0 3 2 64 4 3 11) [#function(#array(uint8 65 3 54 0 0 6 20 0 50 0 54 0 0 53 0 28 3 5 22 0 53 0 53 1 27 11) [label]) - lambda map #function(#array(uint8 62 1 53 0 23 6 12 0 53 0 29 11 53 0 11) []) - f-body #function(#array(uint8 62 1 53 0 23 6 15 0 52 0 53 0 4 1 11 45 11) [cadr])])]) throw #function(#array(uint8 62 2 50 0 50 1 50 2 50 3 28 2 53 0 53 1 28 4 28 2 11) [raise - list quote thrown-value]) time #function(#array(uint8 62 1 50 0 52 1 3 0 64 4 2 11) [#function(#array(uint8 65 2 50 0 53 0 50 1 28 1 28 2 28 1 50 2 54 0 0 50 3 50 4 50 5 50 1 28 1 53 0 28 3 50 6 28 4 28 3 28 3 11) [let +#table(letrec #function("o1b0d1d2e032d3d4d1b5le032e13231L3d1b6le032K;" [lambda + map car f-body nconc #function("n1b0e0K;" [set!]) + #function("n1];" [])]) backquote #function("n1d0e041;" [bq-process]) when #function("o1b0e0d1e131]L4;" [if + f-body]) dotimes #function("o1b0e0Md1e031p43;" [#function("q3b0_b1e1`L3b2e0L1d3f0131L3L4;" [for + - lambda f-body]) cadr]) unwind-protect #function("n2b0d130p42;" [#function("q2b0b1f00b2e0L1b3f01b4e0L2L3L3L3f01L3;" [prog1 + trycatch lambda begin raise]) gensym]) define-macro #function("o1b0b1e0ML2b2e0Nd3e131L3L3;" [set-syntax! + quote lambda f-body]) unless #function("o1b0e0]d1e131L4;" [if f-body]) let* #function("o1e0@6?0d0e141;b1d2e031L1d3b4L1e0NL1d5e13133L3d6e031L2;" [f-body + lambda caar nconc let* copy-list cadar]) case #function("o1b0]p42;" [#function("q2b0li02b1d230p42;" [#function("n2e1b0=6=0b0;e1B6E0];e1@6X0b1e0d2e131L3;e1NB6m0b1e0d2e1M31L3;b3e0b4e1L2L3;" [else + eqv? quote-value memv quote]) #function("q2b0e0f10L2L1d1b2L1d3d4b5lf11323132L3;" [let + nconc cond copy-list map #function("n1f10f00e0M32e0NK;" [])]) gensym])]) define #function("o1e0D6B0b0e0e1ML3;b0e0Mb1e0Nd2e131L3L3;" [set! + lambda f-body]) assert #function("n1b0e0\\b1b2b3e0L2L2L2L4;" [if raise quote + assert-failed]) catch #function("n2b0d130p42;" [#function("q2b0f01b1e0L1b2b3b4e0L2b5b6e0L2b7b8L2L3b5b9e0L2f00L3L4b:e0L2b;e0L2L4L3L3;" [trycatch + lambda if and pair? eq car quote thrown-value cadr caddr raise]) gensym]) label #function("n2b0e0L1b1e0e1L3L3]L2;" [lambda + set!]) do #function("o2b0d130e1Md2d3e032d2d4e032d2b5le032p46;" [#function("q6b0e0b1e2b2e1d3b4L1d5f01N3132d3b4L1d5f0231d3e0L1d5e43132L133L4L3L2L1d3e0L1d5e33132L3;" [letrec + lambda if nconc begin copy-list]) gensym map car cadr #function("n1d0e031G6C0d1e041;e0M;" [cddr + caddr])]) let #function("o1b0]p42;" [#function("q2f00D6Q0f00i02f01Mj002f01Nj015R0]2b0b1d2b3lf0032d4f0131L3d2b5lf0032p43;" [#function("q3f006D0b0f00e0L35F0e0e1K;" [label]) + lambda map #function("n1e0G6<0e0M;e0;" []) f-body #function("n1e0G6?0d0e041;];" [cadr])])]) throw #function("n2b0b1b2b3L2e0e1L4L2;" [raise + list quote thrown-value]) time #function("n1b0d130p42;" [#function("q2b0e0b1L1L2L1b2f00b3b4b5b1L1e0L3b6L4L3L3;" [let time.now prog1 princ "Elapsed time: " - " seconds\n"]) gensym])) *print-width* 80 diff --git a/femtolisp/flisp.c b/femtolisp/flisp.c index 8bb1288..9e4c98c 100644 --- a/femtolisp/flisp.c +++ b/femtolisp/flisp.c @@ -91,7 +91,7 @@ value_t NIL, FL_T, FL_F, LAMBDA, QUOTE, IF, TRYCATCH; value_t BACKQUOTE, COMMA, COMMAAT, COMMADOT, FUNCTION; value_t IOError, ParseError, TypeError, ArgError, UnboundError, MemoryError; value_t DivideError, BoundsError, Error, KeyError, EnumerationError; -value_t conssym, symbolsym, fixnumsym, vectorsym, builtinsym; +value_t conssym, symbolsym, fixnumsym, vectorsym, builtinsym, vu8sym; value_t definesym, defmacrosym, forsym, labelsym, printprettysym, setqsym; value_t printwidthsym, tsym, Tsym, fsym, Fsym, booleansym, nullsym, evalsym; static fltype_t *functiontype; @@ -1365,13 +1365,12 @@ static void print_function(value_t v, ios_t *f, int princ) (void)princ; function_t *fn = value2c(function_t*,v); outs("#function(", f); - /* char *data = cvalue_data(fn->bcode); size_t sz = cvalue_len(fn->bcode); outc('"', f); size_t i; uint8_t c; for(i=0; i < sz; i++) { - c = data[i]; + c = data[i]+48; if (c == '\\') outsn("\\\\", f, 2); else if (c == '"') @@ -1382,9 +1381,8 @@ static void print_function(value_t v, ios_t *f, int princ) ios_printf(f, "\\x%02x", c); } outsn("\" ", f, 2); - */ - fl_print_child(f, fn->bcode, 0); - outc(' ', f); + //fl_print_child(f, fn->bcode, 0); + //outc(' ', f); fl_print_child(f, fn->vals, 0); if (fn->env != NIL) { outc(' ', f); @@ -1416,10 +1414,15 @@ static value_t fl_function(value_t *args, uint32_t nargs) argcount("function", nargs, 2); if (!isvector(args[1])) type_error("function", "vector", args[1]); - fltype_t *uint8array = get_array_type(uint8sym); cvalue_t *arr = (cvalue_t*)ptr(args[0]); - arr->type = uint8array; cv_pin(arr); + char *data = cv_data(arr); + if (data[0] >= N_OPCODES) { + // read syntax, shifted 48 for compact text representation + size_t i, sz = cv_len(arr); + for(i=0; i < sz; i++) + data[i] -= 48; + } value_t fv = cvalue(functiontype, sizeof(function_t)); function_t *fn = value2c(function_t*,fv); fn->bcode = args[0]; @@ -1505,6 +1508,7 @@ static void lisp_init(void) labelsym = symbol("label"); setqsym = symbol("set!"); evalsym = symbol("eval"); + vu8sym = symbol("vu8"); tsym = symbol("t"); Tsym = symbol("T"); fsym = symbol("f"); Fsym = symbol("F"); set(printprettysym=symbol("*print-pretty*"), FL_T); diff --git a/femtolisp/opcodes.h b/femtolisp/opcodes.h index 32439a8..bf59b16 100644 --- a/femtolisp/opcodes.h +++ b/femtolisp/opcodes.h @@ -20,7 +20,9 @@ enum { OP_LOADV, OP_LOADVL, OP_LOADG, OP_LOADA, OP_LOADC, OP_LOADGL, OP_SETG, OP_SETA, OP_SETC, OP_SETGL, - OP_CLOSURE, OP_TRYCATCH, OP_ARGC, OP_VARGC, OP_CLOSE, OP_LET, OP_FOR + OP_CLOSURE, OP_TRYCATCH, OP_ARGC, OP_VARGC, OP_CLOSE, OP_LET, OP_FOR, + + N_OPCODES }; #endif diff --git a/femtolisp/print.c b/femtolisp/print.c index e383064..33eeec2 100644 --- a/femtolisp/print.c +++ b/femtolisp/print.c @@ -591,10 +591,15 @@ static void cvalue_printdata(ios_t *f, void *data, size_t len, value_t type, } size_t i; if (!weak) { - outsn("#array(", f, 7); - fl_print_child(f, eltype, princ); - if (cnt > 0) - outc(' ', f); + if (eltype == uint8sym) { + outsn("#vu8(", f, 5); + } + else { + outsn("#array(", f, 7); + fl_print_child(f, eltype, princ); + if (cnt > 0) + outc(' ', f); + } } else { outc('[', f); diff --git a/femtolisp/read.c b/femtolisp/read.c index 3963990..4b08336 100644 --- a/femtolisp/read.c +++ b/femtolisp/read.c @@ -557,6 +557,10 @@ static value_t do_read_sexpr(value_t label) } PUSH(NIL); read_list(&Stack[SP-1], UNBOUND); + if (sym == vu8sym) { + sym = arraysym; + Stack[SP-1] = fl_cons(uint8sym, Stack[SP-1]); + } v = symbol_value(sym); if (v == UNBOUND) raise(list2(UnboundError, sym));