ref: 411b3ba63a012680ac6ad43d5412099c67687208
parent: 85b8f6520675b049b629998b26d12f2175eea76e
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Tue Oct 22 07:31:09 EDT 2024
remove banner
--- a/flisp.boot
+++ b/flisp.boot
@@ -1,34 +1,25 @@
-(*banner* "; _\n; |_ _ _ |_ _ | . _ _\n; | (-||||_(_)|__|_)|_)\n;-------------------|----------------------------------------------------------\n\n"
- *builtins* #(0 0 0 0 0 0 0 0 0 0 0 0 #fn("6000n10<:" #())- #fn("6000n10=:" #()) 0 0 0 0 #fn("6000n10B:" #()) 0 0 0- 0 #fn("7000n201G:" #())- #fn("6000n10H:" #()) 0 0 0 #fn("7000n201L:" #()) 0 #fn("7000n201N:" #())- 0 #fn("7000n201P:" #())- #fn("7000n201Q:" #())- #fn("6000n10R:" #())- #fn("6000n10S:" #())- #fn("6000n10T:" #()) 0 #fn("6000n10V:" #())- #fn("6000n10W:" #())- #fn("6000n10X:" #())- #fn("6000n10Y:" #())- #fn("6000n10Z:" #())- #fn("6000n10[:" #())- #fn("6000n10\\:" #())- #fn("6000n10]:" #()) 0 #fn("7000n201_:" #()) 0 0 0 #fn("7000n201c:" #())- #fn("7000n201d:" #())- #fn("8000|00:" #())- #fn("9000|0200\x7f2:" #(#.apply))- #fn("9000|0200\x7f2:" #(#.+))- #fn("9000|0200\x7f2:" #(#.-))- #fn("9000|0200\x7f2:" #(#.*))- #fn("9000|0200\x7f2:" #(#./))- #fn("9000|0200\x7f2:" #(#.div0))- #fn("7000n201l:" #())- #fn("7000n201m:" #()) 0 #fn("9000|0200\x7f2:" #(#.vector))- #fn("8000n30182p:" #()) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
- *interactive* #f *syntax-environment*
- #table(letrec #fn("?000|1202021e12223052e122240522515154e1222605262:" #(#fn(nconc)+(*builtins* #(0 0 0 0 0 0 0 0 0 0 0 0 #fn("6000n10<:" #())+ #fn("6000n10=:" #()) 0 0 0 0 #fn("6000n10B:" #()) 0 0 0 0 #fn("7000n201G:" #())+ #fn("6000n10H:" #()) 0 0 0 #fn("7000n201L:" #()) 0 #fn("7000n201N:" #())+ 0 #fn("7000n201P:" #()) #fn("7000n201Q:" #())+ #fn("6000n10R:" #()) #fn("6000n10S:" #())+ #fn("6000n10T:" #()) 0 #fn("6000n10V:" #())+ #fn("6000n10W:" #()) #fn("6000n10X:" #())+ #fn("6000n10Y:" #()) #fn("6000n10Z:" #())+ #fn("6000n10[:" #()) #fn("6000n10\\:" #())+ #fn("6000n10]:" #()) 0 #fn("7000n201_:" #()) 0 0 0 #fn("7000n201c:" #())+ #fn("7000n201d:" #()) #fn("8000|00:" #())+ #fn("9000|0200\x7f2:" #(#.apply))+ #fn("9000|0200\x7f2:" #(#.+))+ #fn("9000|0200\x7f2:" #(#.-))+ #fn("9000|0200\x7f2:" #(#.*))+ #fn("9000|0200\x7f2:" #(#./))+ #fn("9000|0200\x7f2:" #(#.div0))+ #fn("7000n201l:" #()) #fn("7000n201m:" #()) 0 #fn("9000|0200\x7f2:" #(#.vector))+ #fn("8000n30182p:" #()) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0+ 0 0 0 0 0 0 0 0 0 0 0)
+ *interactive* #f *syntax-environment*
+ #table(letrec #fn("?000|1202021e12223052e122240522515154e1222605262:" #(#fn(nconc) lambda #fn(map) #.car #fn("9000n12021e12205162:" #(#fn(nconc) set! #fn(copy-list))) #fn(copy-list) #fn("6000n17060:" #(void)))) quasiquote #fn("8000n1700E62:" #(bq-process)) when #fn("<000|1200211POe4:" #(if begin)) unwind-protect #fn("8000n220>2150215062:" #(#fn("@000n220121qFe3e2e12223A210e1241e1250e2e3e3e31e1e3e3:" #(let@@ -59,55 +50,55 @@
let #fn(map) #.list #fn(copy-list) #fn("8000n22001e3:" #(set!)) unwind-protect begin #fn("8000n22001e3:" #(set!)))) #fn(map) #.car #.cadr #fn("6000n12060:" #(#fn(gensym))))))- *whitespace* "\t\n\v\f\r \u0085 \u2028\u2029 " 1+
- #fn("7000n10KM:" #() 1+) 1- #fn("7000n10K\x80:" #() 1-) 1arg-lambda?- #fn("8000n10B;3^040<20Q;I8040<20Q;3J040=B;3B040TB;3:04710TK62:" #(lambda+ *whitespace* "\t\n\v\f\r \u0085 \u2028\u2029 " 1+
+ #fn("7000n10KM:" #() 1+) 1- #fn("7000n10K\x80:" #() 1-)+ 1arg-lambda? #fn("8000n10B;3^040<20Q;I8040<20Q;3J040=B;3B040TB;3:04710TK62:" #(lambdalength=) 1arg-lambda?)
- <= #fn("7000n210L;IB0470051;380470151S:" #(nan?) <=) >- #fn("7000n210L:" #() >) >= #fn("7000n201L;IB0470051;380470151S:" #(nan?) >=)- Instructions #table(not 35 vargc 76 load1 27 = 60 setc.l 75 sub2 80 brne.l 85 largc 81 brnn 26 loadc.l 70 loadi8 66 < 28 nop 46 set-cdr! 30 loada 8 neg 37 bound? 42 / 58 brn.l 88 lvargc 82 brt 25 trycatch 77 null? 38 load0 21 jmp.l 48 loadv 2 seta 15 keyargs 91 * 57 function? 44 builtin? 43 aref 23 optargs 89 loadt 20 vector? 45 cdr 13 brf 3 loadc00 17 symbol? 34 cadr 36 pop 4 pair? 18 for 78 closure 14 loadf 31 compare 61 loadv.l 67 setg.l 72 brn 87 eqv? 51 aset! 64 atom? 24 eq? 33 boolean? 39 brt.l 50 tapply 79 dummy_nil 94 loada0 0 brbound 90 dup 11 loadc01 22 list 53 loadc 9 apply 54 dummy_t 93 setg 71 loada1 1 tcall.l 84 jmp 16 fixnum? 41 cons 32 loadg.l 68 tcall 6 dummy_eof 95 call 5 - 56 brf.l 49 + 55 dummy_f 92 add2 29 seta.l 73 loadnil 65 brnn.l 86 setc 74 set-car! 47 loadg 7 vector 63 loada.l 69 argc 62 div0 59 ret 10 car 12 number? 40 equal? 52 call.l 83 brne 19)
- __init_globals #fn("6000n020w1422w3474w5476w7478w9:" #("/"- *directory-separator*
- "\n"
- *linefeed*
- *stdout*
- *output-stream*
- *stdin*
- *input-stream*
- *stderr*
- *error-stream*) __init_globals)
- __rcscript #fn("8000n02021725161:" #(#fn("7000n12005138071061:D:" #(#fn(path.exists?)+ <= #fn("7000n210L;IB0470051;380470151S:" #(nan?) <=) >+ #fn("7000n210L:" #() >) >= #fn("7000n201L;IB0470051;380470151S:" #(nan?) >=)+ Instructions #table(brne 19 vargc 76 load1 27 = 60 setc.l 75 sub2 80 brne.l 85 largc 81 brnn 26 loadc.l 70 loadi8 66 < 28 nop 46 set-cdr! 30 loada 8 neg 37 bound? 42 / 58 brn.l 88 lvargc 82 brt 25 trycatch 77 null? 38 load0 21 jmp.l 48 loadv 2 seta 15 keyargs 91 * 57 function? 44 builtin? 43 aref 23 optargs 89 loadt 20 vector? 45 cdr 13 brf 3 loadc00 17 symbol? 34 cadr 36 pop 4 pair? 18 for 78 closure 14 loadf 31 compare 61 loadv.l 67 setg.l 72 brn 87 eqv? 51 aset! 64 atom? 24 eq? 33 boolean? 39 brt.l 50 tapply 79 dummy_nil 94 loada0 0 brbound 90 dup 11 loadc01 22 list 53 loadc 9 apply 54 dummy_t 93 setg 71 loada1 1 tcall.l 84 jmp 16 fixnum? 41 cons 32 loadg.l 68 tcall 6 dummy_eof 95 call 5 - 56 brf.l 49 + 55 dummy_f 92 add2 29 seta.l 73 loadnil 65 brnn.l 86 setc 74 set-car! 47 loadg 7 vector 63 loada.l 69 argc 62 div0 59 ret 10 car 12 number? 40 equal? 52 call.l 83 not 35)
+ __init_globals #fn("6000n020w1422w3474w5476w7478w9:" #("/"+ *directory-separator*
+ "\n"
+ *linefeed*
+ *stdout*
+ *output-stream*
+ *stdin*
+ *input-stream*
+ *stderr*
+ *error-stream*) __init_globals)
+ __rcscript #fn("8000n02021725161:" #(#fn("7000n12005138071061:D:" #(#fn(path.exists?) load)) #fn("8000n1020c35021:022c3?0232425512662:232427512862:" #(unknown ""plan9 #fn(string)
#fn(os.getenv)
"home" "/lib/flisprc"
"HOME" "/.flisprc"))
- *os-name*) __rcscript)
- __script #fn("7000n120>21}:" #(#fn("7000n070A61:" #(load))- #fn("7000n170051421K61:" #(top-level-exception-handler- #fn(exit)))) __script)
- __start #fn("8000n1705040=B3D00=w14Ow24730T51@J00w14Dw247475514765047750428E61:" #(__init_globals- *argv* *interactive* __script princ *banner* __rcscript repl #fn(exit)) __start)
- abs #fn("7000n10EL3500U:0:" #() abs) any- #fn("8000n21B;3D0401<51;I:047001=62:" #(any) any) arg-counts #table(null? 1 atom? 1 eq? 2 boolean? 1 function? 1 builtin? 1 = 2 aref 2 vector? 1 cdr 1 symbol? 1 cadr 1 pair? 1 set-car! 2 compare 2 < 2 fixnum? 1 div0 2 car 1 set-cdr! 2 number? 1 equal? 2 cons 2 bound? 1 eqv? 2 aset! 3 not 1)- argc-error #fn("<000n2702102211Kl37023@402465:" #(error "compile error: "- " expects " " argument."
- " arguments.") argc-error)
- array? #fn("8000n10];I<04202105161:" #(#fn("7000n10B;38040<20Q:" #(array))- #fn(typeof)) array?)
- assoc #fn("8000n21H340O:701510d3501<:7101=62:" #(caar assoc) assoc)- assv #fn("8000n21H340O:701510c3501<:7101=62:" #(caar assv) assv)- bcode:cdepth #fn(":000n20r3700r3G152p:" #(min) bcode:cdepth)- bcode:code #fn("7000n10EG:" #() bcode:code) bcode:ctable- #fn("7000n10KG:" #() bcode:ctable) bcode:indexfor #fn("9000n220>710517205162:" #(#fn(":000n2200F52390210F62:220F15341Ar21KMp4:" #(#fn(has?)+ *os-name*) __rcscript)
+ __script #fn("7000n120>21}:" #(#fn("7000n070A61:" #(load))+ #fn("7000n170051421K61:" #(top-level-exception-handler+ #fn(exit)))) __script)
+ __start #fn("8000n1705040=B3D00=w14Ow24730T51@C00w14Dw24745047550426E61:" #(__init_globals+ *argv* *interactive* __script __rcscript repl #fn(exit)) __start)
+ abs #fn("7000n10EL3500U:0:" #() abs) any+ #fn("8000n21B;3D0401<51;I:047001=62:" #(any) any) arg-counts #table(null? 1 atom? 1 eq? 2 boolean? 1 function? 1 builtin? 1 = 2 aref 2 vector? 1 cdr 1 symbol? 1 cadr 1 pair? 1 set-car! 2 compare 2 < 2 fixnum? 1 div0 2 car 1 set-cdr! 2 number? 1 equal? 2 cons 2 bound? 1 eqv? 2 aset! 3 not 1)+ argc-error #fn("<000n2702102211Kl37023@402465:" #(error "compile error: "+ " expects " " argument."
+ " arguments.") argc-error)
+ array? #fn("8000n10];I<04202105161:" #(#fn("7000n10B;38040<20Q:" #(array))+ #fn(typeof)) array?)
+ assoc #fn("8000n21H340O:701510d3501<:7101=62:" #(caar assoc) assoc)+ assv #fn("8000n21H340O:701510c3501<:7101=62:" #(caar assv) assv)+ bcode:cdepth #fn(":000n20r3700r3G152p:" #(min) bcode:cdepth)+ bcode:code #fn("7000n10EG:" #() bcode:code) bcode:ctable+ #fn("7000n10KG:" #() bcode:ctable) bcode:indexfor #fn("9000n220>710517205162:" #(#fn(":000n2200F52390210F62:220F15341Ar21KMp4:" #(#fn(has?)#fn(get) #fn(put!))) bcode:ctable bcode:nconst) bcode:indexfor)
- bcode:nconst #fn("7000n10r2G:" #() bcode:nconst) bq-bracket- #fn("<000n20H3=020710152e2:0<22CR01El380200=P:202324710=1K\x8052e3e2:0<25CS01El390260Te2:202027710T1K\x8052e3e2:0<28CO01El3500T:202029710T1K\x8052e3e2:20710152e2:" #(#.list+ bcode:nconst #fn("7000n10r2G:" #() bcode:nconst) bq-bracket+ #fn("<000n20H3=020710152e2:0<22CR01El380200=P:202324710=1K\x8052e3e2:0<25CS01El390260Te2:202027710T1K\x8052e3e2:0<28CO01El3500T:202029710T1K\x8052e3e2:20710152e2:" #(#.listbq-process unquote #.cons 'unquote unquote-splicing copy-list 'unquote-splicing
unquote-nsplicing 'unquote-nsplicing) bq-bracket)
- bq-bracket1 #fn(";000n20B;38040<20Q3K01El3500T:2122730=1K\x8052e3:730162:" #(unquote+ bq-bracket1 #fn(";000n20B;38040<20Q3K01El3500T:2122730=1K\x8052e3:730162:" #(unquote#.cons 'unquote bq-process) bq-bracket1)
- bq-process #fn(";000n20R380200e2:0]3A021727305115261:0H3400:0<24CB02526720T1KM52e3:0<27CW01El;3:04780r2523500T:292:720=1K\x8052e3:7;7<052IE02=>7>0512?2@>05262:2A>D510q62:" #(quote+ bq-process #fn(";000n20R380200e2:0]3A021727305115261:0H3400:0<24CB02526720T1KM52e3:0<27CW01El;3:04780r2523500T:292:720=1K\x8052e3:7;7<052IE02=>7>0512?2@>05262:2A>D510q62:" #(quote #fn("8000n10<20C80210=P:22210e3:" #(#.list #.vector #.apply)) bq-processvector->list quasiquote #.list 'quasiquote unquote length= #.cons 'unquote
any splice-form? #fn(":000n20J70201P:1=J?0211<720F52e3:23241P720F52e162:" #(#.list@@ -114,47 +105,50 @@
#.cons bq-process #fn(nconc) #fn(list*))) lastcdr #fn(map)
#fn("8000n1700F62:" #(bq-bracket1)) #fn("6000n120>?040:" #(#fn(">000n20J;02071151P:0B3s00<22C[020731911El3700=@E02425e2760=911K\x8052e252P:A0=770<911521P62:2071760911521P51P:" #(nconcreverse! unquote nreconc #.list 'unquote bq-process bq-bracket))))) bq-process)
- builtin->instruction #fn("9000n120A0O63:" #(#fn(get)) #(#table(#.cadr cadr #.aset! aset! #.+ + #.- - #.equal? equal? #.eq? eq? #.builtin? builtin? #.not not #.pair? pair? #.aref aref #.cdr cdr #./ / #.div0 div0 #.set-car! set-car! #.vector vector #.set-cdr! set-cdr! #.< < #.cons cons #.apply apply #.eqv? eqv? #.vector? vector? #.list list #.car car #.bound? bound? #.function? function? #.null? null? #.symbol? symbol? #.compare compare #.boolean? boolean? #.fixnum? fixnum? #.atom? atom? #.= = #.number? number? #.* *)- ()))
- caaaar #fn("6000n10<<<<:" #() caaaar) caaadr- #fn("6000n10T<<:" #() caaadr) caaar #fn("6000n10<<<:" #() caaar)- caadar #fn("6000n10<T<:" #() caadar) caaddr- #fn("6000n10=T<:" #() caaddr) caadr #fn("6000n10T<:" #() caadr) caar- #fn("6000n10<<:" #() caar) cadaar #fn("6000n10<<T:" #() cadaar)- cadadr #fn("6000n10TT:" #() cadadr) cadar- #fn("6000n10<T:" #() cadar) caddar #fn("6000n10<=T:" #() caddar)- cadddr #fn("6000n10==T:" #() cadddr) caddr- #fn("6000n10=T:" #() caddr) call-with-values #fn("7000n220>05061:" #(#fn("7000n10B;39049100<Q380F0=\x7f2:F061:" #())) #2=#((*values*)+ builtin->instruction #fn("9000n120A0O63:" #(#fn(get)) #(#table(#.cadr cadr #.aset! aset! #.+ + #.- - #.equal? equal? #.eq? eq? #.builtin? builtin? #.not not #.pair? pair? #.aref aref #.cdr cdr #./ / #.div0 div0 #.set-car! set-car! #.vector vector #.set-cdr! set-cdr! #.< < #.cons cons #.apply apply #.eqv? eqv? #.vector? vector? #.list list #.car car #.bound? bound? #.function? function? #.null? null? #.symbol? symbol? #.compare compare #.boolean? boolean? #.fixnum? fixnum? #.atom? atom? #.= = #.number? number? #.* *)+ ()))
+ caaaar #fn("6000n10<<<<:" #() caaaar) caaadr+ #fn("6000n10T<<:" #() caaadr) caaar #fn("6000n10<<<:" #() caaar)+ caadar #fn("6000n10<T<:" #() caadar) caaddr+ #fn("6000n10=T<:" #() caaddr) caadr #fn("6000n10T<:" #() caadr)+ caar #fn("6000n10<<:" #() caar) cadaar+ #fn("6000n10<<T:" #() cadaar) cadadr #fn("6000n10TT:" #() cadadr)+ cadar #fn("6000n10<T:" #() cadar) caddar+ #fn("6000n10<=T:" #() caddar) cadddr #fn("6000n10==T:" #() cadddr)+ caddr #fn("6000n10=T:" #() caddr) call-with-values+ #fn("7000n220>05061:" #(#fn("7000n10B;39049100<Q380F0=\x7f2:F061:" #())) #2=#((*values*)()))
- cdaaar #fn("6000n10<<<=:" #() cdaaar) cdaadr- #fn("6000n10T<=:" #() cdaadr) cdaar #fn("6000n10<<=:" #() cdaar)- cdadar #fn("6000n10<T=:" #() cdadar) cdaddr- #fn("6000n10=T=:" #() cdaddr) cdadr #fn("6000n10T=:" #() cdadr) cdar- #fn("6000n10<=:" #() cdar) cddaar #fn("6000n10<<==:" #() cddaar)- cddadr #fn("6000n10T==:" #() cddadr) cddar- #fn("6000n10<==:" #() cddar) cdddar #fn("6000n10<===:" #() cdddar)- cddddr #fn("6000n10====:" #() cddddr) cdddr- #fn("6000n10===:" #() cdddr) cddr #fn("6000n10==:" #() cddr) char?- #fn("7000n12005121Q:" #(#fn(typeof) wchar) char?) closure? #fn("7000n10\\;36040[S:" #() closure?)- compile #fn("8000n170q062:" #(compile-f) compile) compile-and- #fn("<000n470018283D2166:" #(compile-short-circuit brf) compile-and)- compile-app #fn("7000n420>83<61:" #(#fn("9000n120>0R;3V04710F52S;3J040Z;3C0422051;390423051[3:023051@30061:" #(#fn(":000n170913=21523S072910911O054423>74910911913=5361:25>0[;38047605161:" #(length>+ cdaaar #fn("6000n10<<<=:" #() cdaaar) cdaadr+ #fn("6000n10T<=:" #() cdaadr) cdaar #fn("6000n10<<=:" #() cdaar)+ cdadar #fn("6000n10<T=:" #() cdadar) cdaddr+ #fn("6000n10=T=:" #() cdaddr) cdadr #fn("6000n10T=:" #() cdadr)+ cdar #fn("6000n10<=:" #() cdar) cddaar+ #fn("6000n10<<==:" #() cddaar) cddadr #fn("6000n10T==:" #() cddadr)+ cddar #fn("6000n10<==:" #() cddar) cdddar+ #fn("6000n10<===:" #() cdddar) cddddr #fn("6000n10====:" #() cddddr)+ cdddr #fn("6000n10===:" #() cdddr) cddr+ #fn("6000n10==:" #() cddr) char? #fn("7000n12005121Q:" #(#fn(typeof)+ wchar) char?)
+ closure? #fn("7000n10\\;36040[S:" #() closure?) compile+ #fn("8000n170q062:" #(compile-f) compile) compile-and #fn("<000n470018283D2166:" #(compile-short-circuit+ brf) compile-and)
+ compile-app #fn("7000n420>83<61:" #(#fn("9000n120>0R;3V04710F52S;3J040Z;3C0422051;390423051[3:023051@30061:" #(#fn(":000n170913=21523S072910911O054423>74910911913=5361:25>0[;38047605161:" #(length> 255 compile-in #fn(":000n17092092237021@4022063:" #(emit tcall.l call.l)) compile-arglist #fn(";000n1A20Q;3X0471A92152S;3J0422205123d;3<0474923r2523L075920921O923T544769202062:0IA075920921OA54@30D427>78920921923=5361:" #(cadr in-env? #fn(top-level-value) #.cadr length= compile-in emit #fn("=000n1A3H070930931932933910A067:7193093237022@4023063:" #(compile-builtin-callemit tcall call)) compile-arglist)) builtin->instruction)) in-env? #fn(constant?)
#fn(top-level-value)))) compile-app)
- compile-arglist #fn("8000n37021>82524228261:" #(for-each #fn(":000n170AFO064:" #(compile-in))- #fn(length)) compile-arglist)
- compile-begin #fn(":000n483H3?0700182715064:83=H3>070018283<64:7001O83<5447202352474018283=64:" #(compile-in+ compile-arglist #fn("8000n37021>82524228261:" #(for-each #fn(":000n170AFO064:" #(compile-in))+ #fn(length)) compile-arglist)
+ compile-begin #fn(":000n483H3?0700182715064:83=H3>070018283<64:7001O83<5447202352474018283=64:" #(compile-invoid emit pop compile-begin) compile-begin)
- compile-builtin-call #fn(":000n720>217284O5361:" #(#fn("8000n10;3=0470903=052S3=071905052@30D422>90561:" #(length=+ compile-builtin-call #fn(":000n720>217284O5361:" #(#fn("8000n10;3=0470903=052S3=071905052@30D422>90561:" #(length= argc-error #fn(":000n1020CR0916El3<0719102262:7191091591663:023Ce0916El3<0719102462:916r2l3<0719102562:7191091591663:026Cv0916El3;077915K62:916Kl3<0719102862:916r2l3<0719102962:7191091591663:02:CR0916El3<0719102;62:7191091591663:02<CQ0916El3;077915K62:7191091591663:02=CT0916El3>0719102>2?63:7191091591663:02@C]0916r2L3<077915r262:719109123702A@402@91663:7191091562:" #(listemit loadnil + load0 add2 - argc-error neg sub2 * load1 / vector loadv #()
apply tapply)))) #fn(get) arg-counts) compile-builtin-call)
- compile-f #fn("8000n27021>2262:" #(call-with-values #fn("8000n070AF62:" #(compile-f-))- #fn("6000n20:" #())) compile-f)- compile-f- #fn("8000n220>DD62:" #(#fn(">000n220>?0421>?1422>7350FT74FT5175FT517627FT5274F51910C7028@7074F5166:" #(#fn("9000n120>71051B3N072051B3=02371051P@7074051@60755061:" #(#fn("8000n120>7105161:" #(#fn(":000n10J40A:20210A940542223052P:" #(#fn(list*)+ compile-f #fn("8000n27021>2262:" #(call-with-values #fn("8000n070AF62:" #(compile-f-))+ #fn("6000n20:" #())) compile-f)+ compile-f- #fn("8000n220>DD62:" #(#fn(">000n220>?0421>?1422>7350FT74FT5175FT517627FT5274F51910C7028@7074F5166:" #(#fn("9000n120>71051B3N072051B3=02371051P@7074051@60755061:" #(#fn("8000n120>7105161:" #(#fn(":000n10J40A:20210A940542223052P:" #(#fn(list*) lambda #fn(map) #fn("6000n17060:" #(void)))) get-defined-vars)) cddr cdddr begin caddr void) lambda-body) #fn("7000n170051920C8071061:A061:" #(lastcdr caddr) lam:body) #fn("9000n620>1H360E@702115161:" #(#fn("9000n120>02190451\x8061:" #(#fn("9000n120>71729145261:" #(#fn("C000n1924\x87\xa900JO07092021A922J80910@60910U54@s072920732425242605277280515153515247092029A28051922J80910@60910U5547:920940924923A55@30D47;9102<523L070920922J702=@402>91053@]0922\x87A0709202?91053@H0924JA0709202@91053@30O47A920923940PD93194151544709202B5247C2D7E7F92051517G9205192553920r3G62:" #(emit@@ -164,11 +158,11 @@
bcode:code const-to-idx-vec)) filter keyword-arg?))
#fn(length))) #fn(length))) make-code-emitter lastcdr lambda-vars filter #.pair?
lambda))) #0=#(#:g724 ()))
- compile-for #fn(":000n57084513X07101O825447101O835447101O845447202362:742561:" #(1arg-lambda?+ compile-for #fn(":000n57084513X07101O825447101O835447101O845447202362:742561:" #(1arg-lambda?compile-in emit for error "for: third form must be a 1-argument lambda") compile-for)
- compile-if #fn("<000n420>710517105183T728351738351B3;0748351@60755065:" #(#fn(";000n582DC>070AF9028364:82OC>070AF9028464:70AFO8254471A22053470AF902835449023<071A2352@:071A24153475A052470AF9028454475A162:" #(compile-in+ compile-if #fn("<000n420>710517105183T728351738351B3;0748351@60755065:" #(#fn(";000n582DC>070AF9028364:82OC>070AF9028464:70AFO8254471A22053470AF902835449023<071A2352@:071A24153475A052470AF9028454475A162:" #(compile-inemit brf ret jmp mark-label)) make-label caddr cdddr cadddr void) compile-if)
- compile-in #fn(";000n483R3=07001832164:83H3\xaf083EC:07202362:83KC:07202462:83DC:07202562:83OC:07202662:83qC:07202762:7883513<0720298363:2:83513C07;01822<2=51e164:7202>8363:83<RS;ID0483<Z;I;047?83<1523=07@01828364:2A>83<61:" #(compile-sym+ compile-in #fn(";000n483R3=07001832164:83H3\xaf083EC:07202362:83KC:07202462:83DC:07202562:83OC:07202662:83qC:07202762:7883513<0720298363:2:83513C07;01822<2=51e164:7202>8363:83<RS;ID0483<Z;I;047?83<1523=07@01828364:2A>83<61:" #(compile-sym#(loada loadc loadg) emit load0 load1 loadt loadf loadnil fits-i8 loadi8 #fn(eof-object?)
compile-in #fn(top-level-value) eof-object loadv in-env? compile-app #fn("<000n1020CW071903T513@072AF902903T64:73A24903T63:025C?076AF90290364:027C@078AF902903=64:029C<07:AF90363:02;C=07<2=>2>>62:02?C@07@AF902903=64:02AC@07BAF902903=64:02CCG07DAF903T277E90351P64:02FCK07GAF903T7H903517I9035165:02JCF072AFD903T54473A2K62:02LC_072AFO7H90351544903TR;I9047M2N5147OAF903T2P64:02QCC072AF9027R9035164:02SCs072AFO2;q903Te35447T7H9035151360O@807M2U51472AFO7H9035154473A2S62:7VAF90290364:" #(quoteself-evaluating? compile-in emit loadv if compile-if begin compile-begin
@@ -180,28 +174,28 @@
cadddr return ret set! error "set!: second argument must be a symbol"
compile-sym #(seta setc setg) define expand-define trycatch 1arg-lambda? "trycatch: second form must be a 1-argument lambda"
compile-app))) compile-in)
- compile-or #fn("<000n470018283O2166:" #(compile-short-circuit brt) compile-or)- compile-prog1 #fn(";000n37001O82T544718251B3H07201O7182515447302462:D:" #(compile-in+ compile-or #fn("<000n470018283O2166:" #(compile-short-circuit brt) compile-or)+ compile-prog1 #fn(";000n37001O82T544718251B3H07201O7182515447302462:D:" #(compile-incddr compile-begin emit pop) compile-prog1)
- compile-short-circuit #fn(":000n683H3=07001828464:83=H3>070018283<64:21>7205161:" #(compile-in+ compile-short-circuit #fn(":000n683H3=07001828464:83=H3>070018283<64:21>7205161:" #(compile-in #fn("<000n170AFO903<54471A2252471A905053471A2352474AF902903=90490556475A062:" #(compile-inemit dup pop compile-short-circuit mark-label)) make-label) compile-short-circuit)
- compile-sym #fn(";000n420>71821ED5461:" #(#fn(":000n10X3>070A903EG063:0<X3R070A903KG0<0=54471A72F=51K0<h362:2390251;3>04742590251513A070A26259025163:70A903r2G90263:" #(emit+ compile-sym #fn(";000n420>71821ED5461:" #(#fn(":000n10X3>070A903EG063:0<X3R070A903KG0<0=54471A72F=51K0<h362:2390251;3>04742590251513A070A26259025163:70A903r2G90263:" #(emitbcode:cdepth nnn #fn(constant?) printable? #fn(top-level-value) loadv))
- lookup-sym) compile-sym)
- compile-thunk #fn(";000n1702122e1qe10e1A5461:" #(compile #fn(nconc)- lambda) #0#)
- compile-while #fn("9000n420>710517105162:" #(#fn(":000n270AFO715054472A052470AFO90254473A24153473A2552470AFO90354473A26053472A162:" #(compile-in+ lookup-sym) compile-sym)
+ compile-thunk #fn(";000n1702122e1qe10e1A5461:" #(compile #fn(nconc)+ lambda) #0#)
+ compile-while #fn("9000n420>710517105162:" #(#fn(":000n270AFO715054472A052470AFO90254473A24153473A2552470AFO90354473A26053472A162:" #(compile-invoid mark-label emit brf pop jmp)) make-label) compile-while)
- const-to-idx-vec #fn("9000n120>21720515161:" #(#fn("9000n17021>72A515240:" #(table.foreach+ const-to-idx-vec #fn("9000n120>21720515161:" #(#fn("9000n17021>72A515240:" #(table.foreach #fn("8000n2A10p:" #()) bcode:ctable)) #fn(vector.alloc) bcode:nconst) const-to-idx-vec)- copy-tree #fn("8000n10H3400:700<51700=51P:" #(copy-tree) copy-tree)- count #fn("7000n220>D61:" #(#fn("9000n120>?040AFE63:" #(#fn(":000n31J5082:A01=01<5139082KM@408263:" #() count-)))) count)- delete-duplicates #fn("8000n1700rD523<021>225061:0H3400:230<0=62:" #(length>+ copy-tree #fn("8000n10H3400:700<51700=51P:" #(copy-tree) copy-tree)+ count #fn("7000n220>D61:" #(#fn("9000n120>?040AFE63:" #(#fn(":000n31J5082:A01=01<5139082KM@408263:" #() count-)))) count)+ delete-duplicates #fn("8000n1700rD523<021>225061:0H3400:230<0=62:" #(length> #fn("8000n120>D51Aq62:" #(#fn("6000n120>?040:" #(#fn("9000n20H38070161:219100<52390A0=162:229100<D534A0=0<1P62:" #(reverse! #fn(has?) #fn(put!))))))) #fn(table) #fn("8000n270015238071161:071151P:" #(memberdelete-duplicates))) delete-duplicates)
- disassemble #fn("=000|11JC0700E52471504D:@30D4221<230512405163:" #(disassemble+ disassemble #fn("=000|11JC0700E52471504D:@30D4221<230512405163:" #(disassemble newline #fn("7000n320>D61:" #(#fn(":000n120>?04EAK\x8021~4722374FE522553426>r427F5162:" #(#fn("9000n10\\;36040[S3D07021514720910KM62:73061:" #(princ "\n" disassemble print) print-val) #fn("7000n1702161:" #(princ "\t")) princ "maxstack " ref-int32-LE "\n" #fn(":000n2D01L3E0420>2122>O735351@\x19/:" #(#fn(";000n170Ar4523907150@30D4E920K\x8022~47374Ar4\x8051252605127544AKMz00428>061:" #(>@@ -215,8 +209,8 @@
hex5 ref-int16-LE (jmp.l brf.l brt.l brne.l brnn.l brn.l)))))
#fn(table.foldl) #fn("8000n382;I@041921AGQ;34040:" #()) Instructions))#fn(length))))) #fn(function:code) #fn(function:vals)) disassemble)
- div #fn("8000n201k0EL;3C041EL;3404K;I504r/;I404EM:" #() div) emit- #fn("G000|282Jb0120Q;3C040EGB;3:040EG<21Q3;00EG22_@:00E10EGPp@\xe2023124523A075082<52e1?2@30D426>271285251429>2712:5251412;C\\0822<d3=02=?14q?2@F0822>d3=02??14q?2@30O@30D412@C\\0822Ad3=02B?14q?2@F0822Cd3=02D?14q?2@30O@30D42E>0EGB3900EG<@30q0EG5240:" #(car+ div #fn("8000n201k0EL;3C041EL;3404K;I504r/;I404EM:" #() div) emit+ #fn("G000|282Jb0120Q;3C040EGB;3:040EG<21Q3;00EG22_@:00E10EGPp@\xe2023124523A075082<52e1?2@30D426>271285251429>2712:5251412;C\\0822<d3=02=?14q?2@F0822>d3=02??14q?2@30O@30D412@C\\0822Ad3=02B?14q?2@F0822Cd3=02D?14q?2@30O@30D42E>0EGB3900EG<@30q0EG5240:" #(car cdr cadr #fn(memq) (loadv loadg setg) bcode:indexfor #fn("8000n10;3=0470902<21523800Tz01:D:" #(>255)) #fn(assq) ((loadv loadv.l) (loadg loadg.l) (setg setg.l) (loada loada.l)
(seta seta.l))
@@ -224,10 +218,10 @@
((loadc loadc.l) (setc setc.l)) loada (0) loada0 (1) loada1 loadc (0 0)
loadc00 (0 1) loadc01 #fn(">000n2F20Q;3\x9a04021Q;38041T22Q3E0AE902<2374151PPp@u0021CB0AE902<251=PPp@_0026CB0AE902<271=PPp@I0022CB0AE902<281=PPp@30O;I^04F25Q;3704022Q3@0AE902<231=PPp:AE79F902P152p:" #(brfnot null? brn cddr brt eq? brne brnn nreconc))) emit)
- emit-optional-arg-inits #fn("8000n582B3=020>7105161:D:" #(#fn("<000n170A2190453470A22053473A7490390452FPO759025154470A2690453470A2752478A052479AF902=903904KM65:" #(emit+ emit-optional-arg-inits #fn("8000n582B3=020>7105161:D:" #(#fn("<000n170A2190453470A22053473A7490390452FPO759025154470A2690453470A2752478A052479AF902=903904KM65:" #(emitbrbound brt compile-in list-head cadar seta pop mark-label
emit-optional-arg-inits)) make-label) emit-optional-arg-inits)
- encode-byte-code #fn("8000n1207105161:" #(#fn("8000n1207105161:" #(#fn(";000n120>7122051r322051r2ki2M235261:" #(#fn("=000n120>21A51E225022502350OO67:" #(#fn("?000n7208421524D10L3\xff049101G?548522CO023829101KMG2484515341r2M?1@\xcf02084752677A3<028>8551@408552515241KM?1410L3:09101G@30O?6429852:523^02383248451865342084A3707;@407<E515241KM?1@_0852=CG020847;86515241KM?1@C086X3<02>>8551@30O@_/47?2@>835242A8461:" #(#fn(io.write)+ encode-byte-code #fn("8000n1207105161:" #(#fn("8000n1207105161:" #(#fn(";000n120>7122051r322051r2ki2M235261:" #(#fn("=000n120>21A51E225022502350OO67:" #(#fn("?000n7208421524D10L3\xff049101G?548522CO023829101KMG2484515341r2M?1@\xcf02084752677A3<028>8551@408552515241KM?1410L3:09101G@30O?6429852:523^02383248451865342084A3707;@407<E515241KM?1@_0852=CG020847;86515241KM?1@C086X3<02>>8551@30O@_/47?2@>835242A8461:" #(#fn(io.write) #int32(0) label #fn(put!) #fn(sizeof) byte #fn(get) Instructions #fn("7000n1020C5021:022C5023:024C5025:026C5027:028C5029:02:C502;:905:" #(jmpjmp.l brt brt.l brf brf.l brne brne.l brnn brnn.l brn brn.l))
#fn(memq) (jmp brf brt brne brnn brn) int32 int16 brbound #fn(":000n120021523H0229047390651524FKMz01:20024523`0229047590651524FKMz0142290475920FG51524FKMz01:20026523\x820229047390651524FKMz0142290473920FG51524FKMz01490527CJ02290473920FG51524FKMz01:D:229047590651524FKMz01:" #(#fn(memq)@@ -236,11 +230,11 @@
keyargs)) table.foreach #fn("<000n22090405242190491037072@4073249021520\x805162:" #(#fn(io.seek)#fn(io.write) int32 int16 #fn(get))) #fn(io.tostring!)))
#fn(length) #fn(table) #fn(buffer))) >= #fn(length) 65536)) list->vector))
- reverse!) encode-byte-code)
- error #fn(":000|020210P61:" #(#fn(raise) error) error) eval- #fn("8000n170710515160:" #(compile-thunk expand) eval) even? #fn("8000n1200K52El:" #(#fn(logand)) even?)- every #fn("8000n21H;ID0401<51;3:047001=62:" #(every) every) expand- #fn("A000n120>DDDDDDDDDDD6;:" #(#fn("8000n;20?0421>?1422e1?2423>?3424>?4425>?5426>?6427>?7428>?8429?942:>?:48:Aq62:" #(#fn("8000n20Z;I904200152S:" #(#fn(assq)) top?)+ reverse!) encode-byte-code)
+ error #fn(":000|020210P61:" #(#fn(raise) error) error) eval+ #fn("8000n170710515160:" #(compile-thunk expand) eval) even? #fn("8000n1200K52El:" #(#fn(logand)) even?)+ every #fn("8000n21H;ID0401<51;3:047001=62:" #(every) every) expand+ #fn("A000n120>DDDDDDDDDDD6;:" #(#fn("8000n;20?0421>?1422e1?2423>?3424>?4425>?5426>?6427>?7428>?8429?942:>?:48:Aq62:" #(#fn("8000n20Z;I904200152S:" #(#fn(assq)) top?) #fn("9000n10H3400:020d3400:0<B;3;047105122Q3D023F7405151F0=5162:0<F0=51P:" #(((begin)) caar begin #fn(append) cdar) splice-begin) *expanded* #fn("9000n20H3400:20>A21152390F051@30061:" #(#fn("9000n120>91021F5261:" #(#fn("8000n120>03:071A51@30q61:" #(#fn(":000n120>2122230529215261:" #(#fn("8000n1910I=02021>92062:22>23>D519205161:" #(#fn(map) #fn("8000n195:0A62:" #()) #fn("7000n120>061:" #(#fn("9000n1D0B3]0496270051QIA0096:0<91052_@90071051_40=?0@\x02/4A:" #(caar@@ -266,65 +260,66 @@
lambda define let-syntax)) macrocall?))
#fn("7000n020>D5192061:" #(#fn("6000n120>?040:" #(#fn("9000n10H3400:0<H3700<@<094:0<93152A0=51P:" #())))))))#fn(assq)))) expand-in)))) expand)
- expand-define #fn("=000n1200T71051B3:071051@L00TR3;07250e1@=07324750515262:" #(#fn("<000n20R3:02001<e3:200<2122e10=e1231510<54e3:" #(set!+ expand-define #fn("=000n1200T71051B3:071051@L00TR3;07250e1@=07324750515262:" #(#fn("<000n20R3:02001<e3:200<2122e10=e1231510<54e3:" #(set!#fn(nconc) lambda #fn(copy-list))) cddr void error "compile error: invalid syntax "
print-to-string) expand-define)
- filter #fn("7000n220>D61:" #(#fn("9000n120>?040AFqe163:" #(#fn("9000n382D1B3S049101<513?0821<qPN=?2@30D41=?1@\f/4=:" #() filter-)))) filter)- fits-i8 #fn("8000n10Y;3F04700r\xb052;3:04710r\xaf62:" #(>= <=) fits-i8)- foldl #fn(":000n382J401:700082<15282=63:" #(foldl) foldl) foldr- #fn(";000n382J401:082<700182=5362:" #(foldr) foldr) for-each #fn(";000|220>D61:" #(#fn(":000n120>?04902JJ0DFB3A04AF<514F=z01@\x1e/@;00AF902P524D:" #(#fn(":000n21<B3I002021152f24A0202215262:D:" #(#fn(map)+ filter #fn("7000n220>D61:" #(#fn("9000n120>?040AFqe163:" #(#fn("9000n382D1B3S049101<513?0821<qPN=?2@30D41=?1@\f/4=:" #() filter-)))) filter)+ fits-i8 #fn("8000n10Y;3F04700r\xb052;3:04710r\xaf62:" #(>= <=) fits-i8)+ foldl #fn(":000n382J401:700082<15282=63:" #(foldl) foldl) foldr+ #fn(";000n382J401:082<700182=5362:" #(foldr) foldr) for-each #fn(";000|220>D61:" #(#fn(":000n120>?04902JJ0DFB3A04AF<514F=z01@\x1e/@;00AF902P524D:" #(#fn(":000n21<B3I002021152f24A0202215262:D:" #(#fn(map)#.car #.cdr) for-each-n)))) for-each)
- get-defined-vars #fn("8000n170A05161:" #(delete-duplicates) #1=#(#fn("9000n10H340q:0<20Q;36040=B3d00TR;37040Te1;IS040TB;3E0471051R;3:0471051e1;I404q:0<22C>02324A0=52\x7f2:q:" #(define+ get-defined-vars #fn("8000n170A05161:" #(delete-duplicates) #1=#(#fn("9000n10H340q:0<20Q;36040=B3d00TR;37040Te1;IS040TB;3E0471051R;3:0471051e1;I404q:0<22C>02324A0=52\x7f2:q:" #(definecaadr begin #fn(nconc) #fn(map)) #1#) ()))
- hex5 #fn("9000n170210r@52r52263:" #(string.lpad #fn(number->string)- #\0) hex5)
- identity #fn("6000n10:" #() identity) in-env?- #fn("8000n21B;3F042001<52;I:047101=62:" #(#fn(memq) in-env?) in-env?)- index-of #fn(":000n31J40O:01<C5082:7001=82KM63:" #(index-of) index-of)- io.readall #fn("7000n120>215061:" #(#fn("8000n1200A52421>2205161:" #(#fn(io.copy)+ hex5 #fn("9000n170210r@52r52263:" #(string.lpad #fn(number->string)+ #\0) hex5)
+ identity #fn("6000n10:" #() identity) in-env?+ #fn("8000n21B;3F042001<52;I:047101=62:" #(#fn(memq) in-env?) in-env?)+ index-of #fn(":000n31J40O:01<C5082:7001=82KM63:" #(index-of) index-of)+ io.readall #fn("7000n120>215061:" #(#fn("8000n1200A52421>2205161:" #(#fn(io.copy) #fn("7000n1020d;3:0421910513702260:0:" #("" #fn(io.eof?)#fn(eof-object)))
#fn(io.tostring!))) #fn(buffer)) io.readall)
- io.readline #fn("8000n12002162:" #(#fn(io.readuntil) #\newline) io.readline)- io.readlines #fn("8000n17071062:" #(read-all-of io.readline) io.readlines)- iota #fn("8000n17071062:" #(map-int identity) iota) keyword->symbol- #fn("9000n1200513@02122230515161:0:" #(#fn(keyword?)- #fn(symbol)
- #fn("<000n1200E210220515263:" #(#fn(string.sub)+ io.readline #fn("8000n12002162:" #(#fn(io.readuntil) #\newline) io.readline)+ io.readlines #fn("8000n17071062:" #(read-all-of io.readline) io.readlines)+ iota #fn("8000n17071062:" #(map-int identity) iota) keyword->symbol+ #fn("9000n1200513@02122230515161:0:" #(#fn(keyword?)+ #fn(symbol)
+ #fn("<000n1200E210220515263:" #(#fn(string.sub)#fn(string.dec) #fn(length))) #fn(string)) keyword->symbol)
- keyword-arg? #fn("7000n10B;3904200<61:" #(#fn(keyword?)) keyword-arg?)- lambda-arg-names #fn("9000n170217205162:" #(map! #fn("7000n10B390700<61:0:" #(keyword->symbol))- to-proper) lambda-arg-names)
- lambda-vars #fn("7000n120>D61:" #(#fn(":000n120>?040AAOO54471A61:" #(#fn(";000n40V;I5040R340D:0B;36040<R3S082;I504833<0702112263:A0=1828364:0B;36040<B3\x870730<r252;390474051R360O@=070250<2615442774051513<0A0=182D64:833<0702112863:A0=1D8364:0B3>070290<26164:01C:07021162:7029026164:" #(error+ keyword-arg? #fn("7000n10B;3904200<61:" #(#fn(keyword?)) keyword-arg?)+ lambda-arg-names #fn("9000n170217205162:" #(map! #fn("7000n10B390700<61:0:" #(keyword->symbol))+ to-proper) lambda-arg-names)
+ lambda-vars #fn("7000n120>D61:" #(#fn(":000n120>?040AAOO54471A61:" #(#fn(";000n40V;I5040R340D:0B;36040<R3S082;I504833<0702112263:A0=1828364:0B;36040<B3\x870730<r252;390474051R360O@=070250<2615442774051513<0A0=182D64:833<0702112863:A0=1D8364:0B3>070290<26164:01C:07021162:7029026164:" #(error"compile error: invalid argument list "
". optional arguments must come after required." length= caar "compile error: invalid optional argument "
" in list " #fn(keyword?) ". keyword arguments must come last."
"compile error: invalid formal argument ") check-formals) lambda-arg-names))) lambda-vars)
- last-pair #fn("7000n10=H3400:700=61:" #(last-pair) last-pair) lastcdr- #fn("7000n10H3400:70051=:" #(last-pair) lastcdr) length= #fn("9000n21EL340O:1El3500H:0H3601El:700=1K\x8062:" #(length=) length=)- length> #fn("9000n21EL3400:1El3;00B;34040:0H3601EL:700=1K\x8062:" #(length>) length>)- list->vector #fn("7000n1200\x7f2:" #(#.vector) list->vector)- list-head #fn(":000n2701E52340q:0<710=1K\x8052P:" #(<= list-head) list-head)- list-ref #fn("8000n2700152<:" #(list-tail) list-ref) list-tail- #fn("9000n2701E523400:710=1K\x8062:" #(<= list-tail) list-tail) list?- #fn("7000n10V;I@040B;3904700=61:" #(list?) list?) load #fn("9000n120>210225261:" #(#fn("7000n120>21>}:" #(#fn("9000n020>D51DDD63:" #(#fn("6000n120>?040:" #(#fn(":000n32091051IC0A219105107215163:2391051472161:" #(#fn(io.eof?)+ last-pair #fn("7000n10=H3400:700=61:" #(last-pair) last-pair)+ lastcdr #fn("7000n10H3400:70051=:" #(last-pair) lastcdr) length=+ #fn("9000n21EL340O:1El3500H:0H3601El:700=1K\x8062:" #(length=) length=)+ length> #fn("9000n21EL3400:1El3;00B;34040:0H3601EL:700=1K\x8062:" #(length>) length>)+ list->vector #fn("7000n1200\x7f2:" #(#.vector) list->vector)+ list-head #fn(":000n2701E52340q:0<710=1K\x8052P:" #(<= list-head) list-head)+ list-ref #fn("8000n2700152<:" #(list-tail) list-ref) list-tail+ #fn("9000n2701E523400:710=1K\x8062:" #(<= list-tail) list-tail)+ list? #fn("7000n10V;I@040B;3904700=61:" #(list?) list?) load+ #fn("9000n120>210225261:" #(#fn("7000n120>21>}:" #(#fn("9000n020>D51DDD63:" #(#fn("6000n120>?040:" #(#fn(":000n32091051IC0A219105107215163:2391051472161:" #(#fn(io.eof?)#fn(read) load-process #fn(io.close)))))))
- #fn("9000n120A51421229100e361:" #(#fn(io.close)- #fn(raise) load-error))))
- #fn(file) :read) load)
- load-process #fn("7000n170061:" #(eval) load-process) lookup-sym- #fn("7000n41J5020:21>1<61:" #((global)- #fn(":000n120>71A0E5361:" #(#fn(";000n103@09133400:9120P:70910911=913;I504AV380912@70912KMO64:" #(lookup-sym))- index-of))) lookup-sym)
- macrocall? #fn("7000n10<R;3904700<61:" #(symbol-syntax) macrocall?)- macroexpand-1 #fn("8000n10H3400:20>7105161:" #(#fn("7000n103800A=\x7f2:A:" #())- macrocall?) macroexpand-1)
- make-code-emitter #fn("9000n0q2050E21o4:" #(#fn(table) +inf.0) make-code-emitter)- make-label #fn("6000n12060:" #(#fn(gensym)) make-label)- make-perfect-hash-table #fn("7000n120>D61:" #(#fn("8000n120?0421>D5122A5161:" #(#fn("9000n270712205151162:" #(mod0+ #fn("9000n120A51421229100e361:" #(#fn(io.close)+ #fn(raise) load-error)))) #fn(file) :read) load)
+ load-process #fn("7000n170061:" #(eval) load-process) lookup-sym+ #fn("7000n41J5020:21>1<61:" #((global)+ #fn(":000n120>71A0E5361:" #(#fn(";000n103@09133400:9120P:70910911=913;I504AV380912@70912KMO64:" #(lookup-sym))+ index-of))) lookup-sym)
+ macrocall? #fn("7000n10<R;3904700<61:" #(symbol-syntax) macrocall?)+ macroexpand-1 #fn("8000n10H3400:20>7105161:" #(#fn("7000n103800A=\x7f2:A:" #())+ macrocall?) macroexpand-1)
+ make-code-emitter #fn("9000n0q2050E21o4:" #(#fn(table) +inf.0) make-code-emitter)+ make-label #fn("6000n12060:" #(#fn(gensym)) make-label)+ make-perfect-hash-table #fn("7000n120>D61:" #(#fn("8000n120?0421>D5122A5161:" #(#fn("9000n270712205151162:" #(mod0 abs #fn(hash)) $hash-keyword) #fn("6000n120>?040:" #(#fn("9000n120>21r20i2O5261:" #(#fn("7000n120>D5193061:" #(#fn("6000n120>?040:" #(#fn("8000n10B3=020>7105161:910:" #(#fn(":000n120>r2950093052i261:" #(#fn("9000n19300G3=0950940KM61:9300Ap49300KM7091051p4920910=61:" #(cdar))))caar)))))) #fn(vector.alloc))))) #fn(length)))) make-perfect-hash-table)
- make-system-image #fn(";000n120210222324542562:" #(#fn("8000n220>717262:" #(#fn("7000n2Dw04Dw1422>23>61:" #(*print-pretty*+ make-system-image #fn(";000n120210222324542562:" #(#fn("8000n220>717262:" #(#fn("7000n2Dw04Dw1422>23>61:" #(*print-pretty* *print-readably* #fn("7000n120>21>}0504:" #(#fn(":000n020>7122>73245051525142592061:" #(#fn("=000n1202122230222405253f2920524259207662:" #(#fn(write)#fn(nconc) #fn(map) #.list #fn(top-level-value)
#fn(io.write) *linefeed*)) filter #fn("9000n10Z;3w0420051S;3l0421051[S;IC0422051222105151dS;3K0423092152S;3=04242105151S:" #(#fn(constant?)@@ -341,36 +336,35 @@
*print-level*
*print-length*
*os-name*)) make-system-image)
- map! #fn("9000n21D1B3B04101<51_41=?1@\x1d/4:" #() map!) map-int- #fn("8000n2701E52340q:21>0E51qPq62:" #(<= #fn(":000n20?14KFK\x8020>~40:" #(#fn("8000n1F910051qPN4F=z01:" #())))) map-int)- mark-label #fn("9000n270021163:" #(emit label) mark-label) max- #fn("<000|11J400:70210163:" #(foldl #fn("7000n201L3401:0:" #())) max)- member #fn("8000n21H340O:1<0d3401:7001=62:" #(member) member) memv- #fn("8000n21H340O:1<0c3401:7001=62:" #(memv) memv) min #fn("<000|11J400:70210163:" #(foldl+ map! #fn("9000n21D1B3B04101<51_41=?1@\x1d/4:" #() map!) map-int+ #fn("8000n2701E52340q:21>0E51qPq62:" #(<= #fn(":000n20?14KFK\x8020>~40:" #(#fn("8000n1F910051qPN4F=z01:" #())))) map-int)+ mark-label #fn("9000n270021163:" #(emit label) mark-label) max+ #fn("<000|11J400:70210163:" #(foldl #fn("7000n201L3401:0:" #())) max)+ member #fn("8000n21H340O:1<0d3401:7001=62:" #(member) member) memv+ #fn("8000n21H340O:1<0c3401:7001=62:" #(memv) memv) min #fn("<000|11J400:70210163:" #(foldl #fn("7000n201L3400:1:" #())) min)- mod #fn("9000n207001521i2\x80:" #(div) mod) mod0- #fn("8000n2001k1i2\x80:" #() mod0) nan? #fn("7000n1020d;I704021d:" #(+nan.0+ mod #fn("9000n207001521i2\x80:" #(div) mod) mod0+ #fn("8000n2001k1i2\x80:" #() mod0) nan? #fn("7000n1020d;I704021d:" #(+nan.0-nan.0) nan?)
- negative? #fn("7000n10EL:" #() negative?) nestlist- #fn(";000n37082E52340q:1710015182K\x8053P:" #(<= nestlist) nestlist)- newline #fn("9000\x8900001000\x8a0000I7070?0421072524D:" #(*output-stream*+ negative? #fn("7000n10EL:" #() negative?) nestlist+ #fn(";000n37082E52340q:1710015182K\x8053P:" #(<= nestlist) nestlist)+ newline #fn("9000\x8900001000\x8a0000I7070?0421072524D:" #(*output-stream*#fn(io.write) *linefeed*) newline)
- nnn #fn("8000n17021062:" #(count #fn("6000n10VS:" #())) nnn) nreconc- #fn("8000n2701062:" #(reverse!-) nreconc) odd? #fn("7000n170051S:" #(even?) odd?)- positive? #fn("8000n1700E62:" #(>) positive?) princ- #fn("9000|020>7161:" #(#fn("7000n1Ow0421>22>61:" #(*print-readably*- #fn("7000n120>21>}0504:" #(#fn("8000n0702192062:" #(for-each- #fn(write))) #fn("7000n1A50420061:" #(#fn(raise)))))- #fn("6000n0Aw0:" #(*print-readably*))))- *print-readably*) princ)
- print #fn(":000|07021062:" #(for-each #fn(write)) print)- print-exception #fn("=000n10B;3D040<20Q;3:04710r4523P072230T247505126554777805151@\x0a00B;3D040<29Q;3:04710r4523N0720T2:780512;544777505151@\xd300B;3@040<2<Q;36040=B3B0722=750512>53@\xac00B;38040<2?Q3B0722@514720=f2@\x8d00B;38040<2AQ3G07B75051514722C0T52@i07D051;3:04710r2523I0770<514722E5142F0T51@>0722G514770514727H61:" #(type-error+ nnn #fn("8000n17021062:" #(count #fn("6000n10VS:" #())) nnn)+ nreconc #fn("8000n2701062:" #(reverse!-) nreconc) odd?+ #fn("7000n170051S:" #(even?) odd?) positive? #fn("8000n1700E62:" #(>) positive?)+ princ #fn("9000|020>7161:" #(#fn("7000n1Ow0421>22>61:" #(*print-readably*+ #fn("7000n120>21>}0504:" #(#fn("8000n0702192062:" #(for-each #fn(write)))+ #fn("7000n1A50420061:" #(#fn(raise)))))+ #fn("6000n0Aw0:" #(*print-readably*)))) *print-readably*) princ)+ print #fn(":000|07021062:" #(for-each #fn(write)) print)+ print-exception #fn("=000n10B;3D040<20Q;3:04710r4523P072230T247505126554777805151@\x0a00B;3D040<29Q;3:04710r4523N0720T2:780512;544777505151@\xd300B;3@040<2<Q;36040=B3B0722=750512>53@\xac00B;38040<2?Q3B0722@514720=f2@\x8d00B;38040<2AQ3G07B75051514722C0T52@i07D051;3:04710r2523I0770<514722E5142F0T51@>0722G514770514727H61:" #(type-errorlength= princ "type error: " ": expected " caddr ", got " print cadddr
bounds-error ": index " " out of bounds for " unbound-error "eval: variable "
" has no value" error "error: " load-error print-exception "in file " list?
": " #fn("8000n120051;I5040R37071@4072061:" #(#fn(string?) princ print))"*** Unhandled exception: " *linefeed*) print-exception)
- print-stack-trace #fn("8000n120>DD62:" #(#fn("=000n220>?0421>?1422>7374A75370r5@40r45251767728292:505252E63:" #(#fn("8000n320>2105182P61:" #(#fn("9000n120A5120F51C>02122230e361:24>25A5161:" #(#fn(function:code)+ print-stack-trace #fn("8000n120>DD62:" #(#fn("=000n220>?0421>?1422>7374A75370r5@40r45251767728292:505252E63:" #(#fn("8000n320>2105182P61:" #(#fn("9000n120A5120F51C>02122230e361:24>25A5161:" #(#fn(function:code) #fn(raise) thrown-value ffound #fn(":000n1E70210515122>~:" #(1- #fn(length) #fn("9000n170A0G513A0930A0G92191063:D:" #(closure?))))#fn(function:vals))) #fn(function:name)) find-in-f)
@@ -382,20 +376,21 @@
"#" " " print vector->list newline)))) reverse! list-tail *interactive*
filter closure? #fn(map) #fn("7000n10Z;380420061:" #(#fn(top-level-value)))#fn(environment)))) print-stack-trace)
- print-to-string #fn("7000n120>215061:" #(#fn("8000n120A052421061:" #(#fn(write)+ print-to-string #fn("7000n120>215061:" #(#fn("8000n120A052421061:" #(#fn(write)#fn(io.tostring!))) #fn(buffer)) print-to-string)
- printable? #fn("7000n120051;I80421051S:" #(#fn(iostream?)- #fn(eof-object?)) printable?)
- quote-value #fn("7000n1700513400:210e2:" #(self-evaluating? quote) quote-value)- random #fn("8000n1200513<0712250062:23500i2:" #(#fn(integer?) mod #fn(rand)- #fn(rand.double)) random)
- read-all #fn("8000n17021062:" #(read-all-of #fn(read)) read-all)- read-all-of #fn("9000n220>D51q015162:" #(#fn("6000n120>?040:" #(#fn("9000n2209115138071061:A10P9109115162:" #(#fn(io.eof?)+ printable? #fn("7000n120051;I80421051S:" #(#fn(iostream?)+ #fn(eof-object?)) printable?)
+ quote-value #fn("7000n1700513400:210e2:" #(self-evaluating? quote) quote-value)+ random #fn("8000n1200513<0712250062:23500i2:" #(#fn(integer?) mod+ #fn(rand)
+ #fn(rand.double)) random)
+ read-all #fn("8000n17021062:" #(read-all-of #fn(read)) read-all)+ read-all-of #fn("9000n220>D51q015162:" #(#fn("6000n120>?040:" #(#fn("9000n2209115138071061:A10P9109115162:" #(#fn(io.eof?)reverse!))))) read-all-of)
- ref-int16-LE #fn(";000n2702101EMGE522101KMGr852M61:" #(int16 #fn(ash)) ref-int16-LE)- ref-int32-LE #fn("=000n2702101EMGE522101KMGr8522101r2MGr@522101r3MGrH52g461:" #(int32+ ref-int16-LE #fn(";000n2702101EMGE522101KMGr852M61:" #(int16 #fn(ash)) ref-int16-LE)+ ref-int32-LE #fn("=000n2702101EMGE522101KMGr8522101r2MGr@522101r3MGrH52g461:" #(int32#fn(ash)) ref-int32-LE)
- repl #fn("8000n020DD62:" #(#fn("6000n220?0421>?1415047260:" #(#fn("8000n070215142273514242526}61:" #(princ+ repl #fn("8000n020DD62:" #(#fn("6000n220?0421>?1415047260:" #(#fn("8000n070215142273514242526}61:" #(princ "> " #fn(io.flush) *output-stream* #fn("8000n1207151S;3<04227305161:" #(#fn(io.eof?) *input-stream* #fn("7000n17005140w14D:" #(print that)) load-process)) #fn("6000n02060:" #(#fn(read))) #fn("7000n1207151422061:" #(#fn(io.discardbuffer)@@ -403,36 +398,36 @@
#fn("7000n020>21}3;072504F60:O:" #(#fn("7000n0A50;37047060:" #(newline)) #fn("7000n1700514D:" #(top-level-exception-handler))newline) reploop) newline))) repl)
- revappend #fn("8000n2701062:" #(reverse-) revappend) reverse- #fn("8000n170q062:" #(reverse-) reverse) reverse! #fn("8000n170q062:" #(reverse!-) reverse!)- reverse!- #fn("9000n2D1B3B041=101?04N4?1@\x1d/40:" #() reverse!-)- reverse- #fn("8000n21J400:701<0P1=62:" #(reverse-) reverse-)- self-evaluating? #fn("8000n10H;36040RS;IK0420051;3A040R;3:04021051Q:" #(#fn(constant?)+ revappend #fn("8000n2701062:" #(reverse-) revappend) reverse+ #fn("8000n170q062:" #(reverse-) reverse) reverse! #fn("8000n170q062:" #(reverse!-) reverse!)+ reverse!- #fn("9000n2D1B3B041=101?04N4?1@\x1d/40:" #() reverse!-)+ reverse- #fn("8000n21J400:701<0P1=62:" #(reverse-) reverse-)+ self-evaluating? #fn("8000n10H;36040RS;IK0420051;3A040R;3:04021051Q:" #(#fn(constant?)#fn(top-level-value)) self-evaluating?)
- separate #fn("7000n220>D61:" #(#fn(":000n120?040AFqe1qe164:" #(#fn(";000n4208283PD1B3Z0401<513?0821<qPN=?2@<0831<qPN=?341=?1@\x05/461:" #(#fn("8000n1700<=0==62:" #(values))) separate-)))) separate)- set-syntax! #fn("9000n220710163:" #(#fn(put!)- *syntax-environment*) set-syntax!)
- simple-sort #fn("7000n10V;I6040=V3400:20>0<61:" #(#fn("8000n17021>22>62:" #(call-with-values+ separate #fn("7000n220>D61:" #(#fn(":000n120?040AFqe1qe164:" #(#fn(";000n4208283PD1B3Z0401<513?0821<qPN=?2@<0831<qPN=?341=?1@\x05/461:" #(#fn("8000n1700<=0==62:" #(values))) separate-)))) separate)+ set-syntax! #fn("9000n220710163:" #(#fn(put!)+ *syntax-environment*) set-syntax!)
+ simple-sort #fn("7000n10V;I6040=V3400:20>0<61:" #(#fn("8000n17021>22>62:" #(call-with-values #fn("8000n07021>910=62:" #(separate #fn("7000n10AL:" #()))) #fn(":000n22071051Ae17115163:" #(#fn(nconc) simple-sort))))) simple-sort)- splice-form? #fn("8000n10B;3X040<20Q;IN040<21Q;ID040<22Q;3:04730r252;I704022Q:" #(unquote-splicing+ splice-form? #fn("8000n10B;3X040<20Q;IN040<21Q;ID040<22Q;3:04730r252;I704022Q:" #(unquote-splicingunquote-nsplicing unquote length>) splice-form?)
- string.join #fn("7000n20J5020:21>225061:" #("" #fn("8000n1200A<5247122>A=52423061:" #(#fn(io.write)+ string.join #fn("7000n20J5020:21>225061:" #("" #fn("8000n1200A<5247122>A=52423061:" #(#fn(io.write) for-each #fn("8000n120A91152420A062:" #(#fn(io.write)))#fn(io.tostring!))) #fn(buffer)) string.join)
- string.lpad #fn(";000n3207182122051\x8052062:" #(#fn(string)- string.rep #fn(string.count)) string.lpad)
- string.map #fn("9000n220>21502215162:" #(#fn("7000n220>E51421061:" #(#fn(";000n1D0FL3S0420A910219110525152422911052?0@\v/:" #(#fn(io.putc)+ string.lpad #fn(";000n3207182122051\x8052062:" #(#fn(string)+ string.rep #fn(string.count)) string.lpad)
+ string.map #fn("9000n220>21502215162:" #(#fn("7000n220>E51421061:" #(#fn(";000n1D0FL3S0420A910219110525152422911052?0@\v/:" #(#fn(io.putc)#fn(string.char) #fn(string.inc))) #fn(io.tostring!)))
- #fn(buffer)
- #fn(length)) string.map)
- string.rep #fn(";000n21r4L3`0701E5235021:1Kl38022061:1r2l390220062:2200063:731513@02207401K\x805262:742200521r2j262:" #(<=+ #fn(buffer)
+ #fn(length)) string.map)
+ string.rep #fn(";000n21r4L3`0701E5235021:1Kl38022061:1r2l390220062:2200063:731513@02207401K\x805262:742200521r2j262:" #(<="" #fn(string) odd? string.rep) string.rep)
- string.rpad #fn("<000n32007182122051\x805262:" #(#fn(string)- string.rep #fn(string.count)) string.rpad)
- string.tail #fn(";000n2200210E15362:" #(#fn(string.sub)- #fn(string.inc)) string.tail)
- string.trim #fn("8000n320>DD62:" #(#fn("8000n220>?0421>?1422>23A5161:" #(#fn(";000n48283L;3?042012108252523A0A0122082528364:82:" #(#fn(string.find)+ string.rpad #fn("<000n32007182122051\x805262:" #(#fn(string)+ string.rep #fn(string.count)) string.rpad)
+ string.tail #fn(";000n2200210E15362:" #(#fn(string.sub)+ #fn(string.inc)) string.tail)
+ string.trim #fn("8000n320>DD62:" #(#fn("8000n220>?0421>?1422>23A5161:" #(#fn(";000n48283L;3?042012108252523A0A0122082528364:82:" #(#fn(string.find)#fn(string.char) #fn(string.inc)) trim-start)
#fn("<000n37082E52;3D04211220230825252523?0F01230825263:82:" #(> #fn(string.find)#fn(string.char)
@@ -439,37 +434,37 @@
#fn(string.dec)) trim-end)
#fn("<000n120910A910911E054F91091205363:" #(#fn(string.sub)))#fn(length)))) string.trim)
- symbol-syntax #fn("9000n120710O63:" #(#fn(get)- *syntax-environment*) symbol-syntax)
- table.clone #fn("7000n120>215061:" #(#fn("9000n12021>qA5340:" #(#fn(table.foldl)+ symbol-syntax #fn("9000n120710O63:" #(#fn(get)+ *syntax-environment*) symbol-syntax)
+ table.clone #fn("7000n120>215061:" #(#fn("9000n12021>qA5340:" #(#fn(table.foldl) #fn("9000n320A0163:" #(#fn(put!))))) #fn(table)) table.clone)- table.foreach #fn("9000n22021>q163:" #(#fn(table.foldl)- #fn("8000n3A01524D:" #())) table.foreach)- table.invert #fn("7000n120>215061:" #(#fn("9000n12021>qA5340:" #(#fn(table.foldl)+ table.foreach #fn("9000n22021>q163:" #(#fn(table.foldl)+ #fn("8000n3A01524D:" #())) table.foreach)+ table.invert #fn("7000n120>215061:" #(#fn("9000n12021>qA5340:" #(#fn(table.foldl) #fn("9000n320A1063:" #(#fn(put!))))) #fn(table)) table.invert)- table.keys #fn("9000n12021q063:" #(#fn(table.foldl)- #fn("7000n3082P:" #())) table.keys)- table.pairs #fn("9000n12021q063:" #(#fn(table.foldl)- #fn("7000n301P82P:" #())) table.pairs)- table.values #fn("9000n12021q063:" #(#fn(table.foldl)- #fn("7000n3182P:" #())) table.values)- to-proper #fn("8000n10J400:0H3600e1:0<700=51P:" #(to-proper) to-proper)- top-level-exception-handler #fn("7000n120>7161:" #(#fn("7000n170w1422>23>61:" #(*stderr*+ table.keys #fn("9000n12021q063:" #(#fn(table.foldl)+ #fn("7000n3082P:" #())) table.keys)+ table.pairs #fn("9000n12021q063:" #(#fn(table.foldl)+ #fn("7000n301P82P:" #())) table.pairs)+ table.values #fn("9000n12021q063:" #(#fn(table.foldl)+ #fn("7000n3182P:" #())) table.values)+ to-proper #fn("8000n10J400:0H3600e1:0<700=51P:" #(to-proper) to-proper)+ top-level-exception-handler #fn("7000n120>7161:" #(#fn("7000n170w1422>23>61:" #(*stderr* *output-stream* #fn("7000n120>21>}0504:" #(#fn("7000n07092051471225061:" #(print-exception print-stack-trace #fn(stacktrace))) #fn("7000n1A50420061:" #(#fn(raise))))) #fn("6000n0Aw0:" #(*output-stream*)))) *output-stream*) top-level-exception-handler)- trace #fn("8000n120>2105151422:" #(#fn("7000n120>215061:" #(#fn("@000n170A51Ie0219107223024252627910e20e3e228e12927Ae20e3e4e35162:D:" #(traced?+ trace #fn("8000n120>2105151422:" #(#fn("7000n120>215061:" #(#fn("@000n170A51Ie0219107223024252627910e20e3e228e12927Ae20e3e4e35162:D:" #(traced?#fn(set-top-level-value!) eval lambda begin write cons quote newline apply))
#fn(gensym))) #fn(top-level-value) ok) trace)
- traced? #fn("8000n170051;3>042105121A51d:" #(closure? #fn(function:code)) #(#fn(":000|020210P51472504230\x7f2:" #(#fn(write)+ traced? #fn("8000n170051;3>042105121A51d:" #(closure? #fn(function:code)) #(#fn(":000|020210P51472504230\x7f2:" #(#fn(write)x newline #.apply)) ()))
- untrace #fn("8000n120>2105161:" #(#fn("9000n1700513@021A22051r2G62:D:" #(traced?+ untrace #fn("8000n120>2105161:" #(#fn("9000n1700513@021A22051r2G62:D:" #(traced?#fn(set-top-level-value!) #fn(function:vals)))
- #fn(top-level-value)) untrace)
- values #fn("9000|00B;36040=V3500<:A0P:" #() #2#) vector->list- #fn("8000n120>21051q62:" #(#fn(":000n2K020>~41:" #(#fn("8000n1910A0\x80GFPz01:" #())))- #fn(length)) vector->list)
- vector.map #fn("8000n220>2115161:" #(#fn("8000n120>2105161:" #(#fn(":000n1EAK\x8020>~40:" #(#fn(":000n1A09209210G51p:" #())))+ #fn(top-level-value)) untrace)
+ values #fn("9000|00B;36040=V3500<:A0P:" #() #2#) vector->list+ #fn("8000n120>21051q62:" #(#fn(":000n2K020>~41:" #(#fn("8000n1910A0\x80GFPz01:" #())))+ #fn(length)) vector->list)
+ vector.map #fn("8000n220>2115161:" #(#fn("8000n120>2105161:" #(#fn(":000n1EAK\x8020>~40:" #(#fn(":000n1A09209210G51p:" #())))#fn(vector.alloc))) #fn(length)) vector.map)
- void #fn("6000n0D:" #() void) zero?- #fn("7000n10El:" #() zero?))+ void #fn("6000n0D:" #() void) zero?+ #fn("7000n10El:" #() zero?))--- a/system.lsp
+++ b/system.lsp
@@ -894,14 +894,6 @@
(io.close F)
(raise `(load-error ,filename ,e)))))))
-(define *banner* (string.tail "
-; _
-; |_ _ _ |_ _ | . _ _
-; | (-||||_(_)|__|_)|_)
-;-------------------|----------------------------------------------------------
-
-" 1))
-
(define (repl)
(define (prompt)
(princ "> ") (io.flush *output-stream*)
@@ -1061,7 +1053,6 @@
(__script (cadr argv)))
(begin (set! *argv* argv)
(set! *interactive* #t)
- (princ *banner*)
(__rcscript)
(repl)))
(exit 0))
--
⑨