ref: 79d9a3789b58d821eda59843f7b90211001765f1
parent: 4fa105ade6e760c4575e73c14393d94eb9fed096
author: Sigrid Solveig Haflínudóttir <[email protected]>
date: Mon Nov 25 20:20:45 EST 2024
remove setc and setc.l (unused)
--- a/flisp.boot
+++ b/flisp.boot
@@ -8,52 +8,47 @@
#fn("5000n10Y:" #()) #fn("5000n10Z:" #())
#fn("5000n10[:" #()) #fn("5000n10\\:" #())
#fn("5000n10]:" #()) 0 #fn("6000n201_:" #()) 0 0 0 #fn("6000n201c:" #())
- #fn("6000n201d:" #()) #fn("7000|00:" #())
- #fn("8000|0200\x7f2:" #(#.apply))
- #fn("8000|0200\x7f2:" #(#.+))
- #fn("8000|0200\x7f2:" #(#.-))
- #fn("8000|0200\x7f2:" #(#.*))
- #fn("8000|0200\x7f2:" #(#./))
- #fn("8000|0200\x7f2:" #(#.div0))
- #fn("6000n201l:" #()) #fn("6000n201m:" #()) 0 #fn("8000|0200\x7f2:" #(#.vector))
+ #fn("6000n201d:" #()) #fn("7000z00:" #())
+ #fn("8000z0200}2:" #(#.apply))
+ #fn("8000z0200}2:" #(#.+)) #fn("8000z0200}2:" #(#.-))
+ #fn("8000z0200}2:" #(#.*)) #fn("8000z0200}2:" #(#./))
+ #fn("8000z0200}2:" #(#.div0))
+ #fn("6000n201l:" #()) #fn("6000n201m:" #()) 0 #fn("8000z0200}2:" #(#.vector))
#fn("7000n30182p:" #()) 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 0 0 0)
+ 0 0 0 0 0 0 0 0 0 0 0 0)
*interactive* #f *syntax-environment*
- #table(with-input-from #fn("<000|12021e1220e2e1e12315163:" #(#fn(nconc)
- with-bindings *input-stream* #fn(copy-list))) unless #fn("<000|1200O211Pe4:" #(if
- begin)) time #fn(">000n12050218522e1e2e123024252622e185e327e4e3e3:" #(#fn(gensym)
- let time-now prog1 princ "Elapsed time: " - " seconds\n")) cond #fn(":000|0D\x8c5852085>1_485<061:" #(#fn(">000n10H340O:0<85<20Q;I80485<DQ3C085=J6085<:2185=P:85=J@02285<A<0=51e3:85T23C\x98074758551513c07675855151278685<e2e12886217975855151PA<0=51e4e3:2:50278685<e2e1288675855186e2A<0=51e4e3:2885<2185=PA<0=51e4:" #(else
- begin or => 1arg-lambda? caddr caadr let if cddr #fn(gensym)) cond-clauses->if))) do #fn("J000|220501<2122052212305221240522587268927882829e12:1=51522829e12:82512887e18;52e153e4e3e2e12887e18:52e3:" #(#fn(gensym)
- #fn(map) #.car #.cadr #fn("6000n170051B38071061:0<:" #(cddr caddr)) letrec λ
- if #fn(nconc) begin #fn(copy-list))) with-bindings #fn("G000|12021052202205220230522425e12026888653e12720288687535129242:e12715152242:e127202;8688535152e3e164:" #(#fn(map)
- #.car #.cadr #fn("5000n12060:" #(#fn(gensym)))
- #fn(nconc) let #.list #fn(copy-list) #fn("7000n22001e3:" #(set!))
- unwind-protect begin #fn("7000n22001e3:" #(set!)))) let #fn(">000|1O0R3B00?641<?041=?1@30D42021e12223052e124151532225052863C0268687e2e186e3@408788P:" #(#fn(nconc)
- λ #fn(map) #fn("5000n10B3500<:0:" #()) #fn(copy-list)
- #fn("5000n10B3500T:7060:" #(void)) letrec)) define-macro #fn(">000|120210<e22223e10=e12415153e3:" #(set-syntax!
- quote #fn(nconc) λ #fn(copy-list))) quasiquote #fn("7000n1700E62:" #(bq-process)) when #fn(";000|1200211POe4:" #(if
- begin)) with-output-to #fn("<000|12021e1220e2e1e12315163:" #(#fn(nconc)
- with-bindings
- *output-stream*
- #fn(copy-list))) catch #fn("@000n220502112286e123242586e2262786e22829e2e3262:86e20e3e42;86e22<86e2e4e3e3:" #(#fn(gensym)
- trycatch λ if and pair? eq? car quote thrown-value cadr caddr raise)) let* #fn("@000|10H3E02021e1qe12215153e1:2021e173051e1e1220=B3H02024e10=e12215153e1@301515375051e2:" #(#fn(nconc)
- λ #fn(copy-list) caar let* cadar)) letrec #fn(">000|1202021e12223052e122240522515154e1222605262:" #(#fn(nconc)
+ #table(when #fn(";000z1200211POe4:" #(if begin)) with-output-to #fn("<000z12021e1220e2e1e12315163:" #(#fn(nconc)
+ with-bindings *output-stream* #fn(copy-list))) catch #fn("@000n220502112286e123242586e2262786e22829e2e3262:86e20e3e42;86e22<86e2e4e3e3:" #(#fn(gensym)
+ trycatch λ if and pair? eq? car quote thrown-value cadr caddr raise)) let* #fn("@000z10H3E02021e1qe12215153e1:2021e173051e1e1220=B3H02024e10=e12215153e1@301515375051e2:" #(#fn(nconc)
+ λ #fn(copy-list) caar let* cadar)) with-input-from #fn("<000z12021e1220e2e1e12315163:" #(#fn(nconc)
+ with-bindings *input-stream* #fn(copy-list))) unless #fn("<000z1200O211Pe4:" #(if
+ begin)) letrec #fn(">000z1202021e12223052e122240522515154e1222605262:" #(#fn(nconc)
λ #fn(map) #.car #fn("8000n12021e12205162:" #(#fn(nconc) set! #fn(copy-list)))
- #fn(copy-list) #fn("5000n17060:" #(void)))) assert #fn(";000n1200D2122230e2e2e2e4:" #(if
- raise quote assert-failed)) case #fn("A000|1D\x8c68620_4215022870e2e12324e125268687>215252e3:" #(#fn("8000n2120C5020:1J40O:1R3=021072151e3:1H3=023072151e3:1=J>0230721<51e3:74251523=0260271e2e3:280271e2e3:" #(else
+ #fn(copy-list) #fn("5000n17060:" #(void)))) time #fn(">000n12050218522e1e2e123024252622e185e327e4e3e3:" #(#fn(gensym)
+ let time-now prog1 princ "Elapsed time: " - " seconds\n")) cond #fn(":000z0D\x8a5852085>1_485<061:" #(#fn(">000n10H340O:0<85<20Q;I80485<DQ3C085=J6085<:2185=P:85=J@02285<A<0=51e3:85T23C\x98074758551513c07675855151278685<e2e12886217975855151PA<0=51e4e3:2:50278685<e2e1288675855186e2A<0=51e4e3:2885<2185=PA<0=51e4:" #(else
+ begin or => 1arg-lambda? caddr caadr let if cddr #fn(gensym)) cond-clauses->if))) do #fn("J000z220501<2122052212305221240522587268927882829e12:1=51522829e12:82512887e18;52e153e4e3e2e12887e18:52e3:" #(#fn(gensym)
+ #fn(map) #.car #.cadr #fn("6000n170051B38071061:0<:" #(cddr caddr)) letrec λ
+ if #fn(nconc) begin #fn(copy-list))) assert #fn(";000n1200D2122230e2e2e2e4:" #(if
+ raise quote assert-failed)) case #fn("A000z1D\x8a68620_4215022870e2e12324e125268687>215252e3:" #(#fn("8000n2120C5020:1J40O:1R3=021072151e3:1H3=023072151e3:1=J>0230721<51e3:74251523=0260271e2e3:280271e2e3:" #(else
eq? quote-value eqv? every #.symbol? memq quote memv) vals->cond)
#fn(gensym) let #fn(nconc) cond #fn(map)
- #fn("7000n1A<F0<520=P:" #()))) receive #fn("?000|22021q1e32221e10e123825153e3:" #(call-with-values
- λ #fn(nconc) #fn(copy-list))) dotimes #fn("A000|10<0T20E2187Ke32223e186e1e12415153e4:" #(for
+ #fn("7000n1A<F0<520=P:" #()))) let #fn(">000z1O0R3B00?641<?041=?1@30D42021e12223052e124151532225052863C0268687e2e186e3@408788P:" #(#fn(nconc)
+ λ #fn(map) #fn("5000n10B3500<:0:" #()) #fn(copy-list)
+ #fn("5000n10B3500T:7060:" #(void)) letrec)) with-bindings #fn("G000z12021052202205220230522425e12026888653e12720288687535129242:e12715152242:e127202;8688535152e3e164:" #(#fn(map)
+ #.car #.cadr #fn("5000n12060:" #(#fn(gensym)))
+ #fn(nconc) let #.list #fn(copy-list) #fn("7000n22001e3:" #(set!))
+ unwind-protect begin #fn("7000n22001e3:" #(set!)))) define-macro #fn(">000z120210<e22223e10=e12415153e3:" #(set-syntax!
+ quote #fn(nconc) λ #fn(copy-list))) receive #fn("?000z22021q1e32221e10e123825153e3:" #(call-with-values
+ λ #fn(nconc) #fn(copy-list))) dotimes #fn("A000z10<0T20E2187Ke32223e186e1e12415153e4:" #(for
- #fn(nconc) λ #fn(copy-list))) unwind-protect #fn("A000n220502050218722q1e3e2e1232402286e12587e12686e2e3e3e387e1e3e3:" #(#fn(gensym)
let λ prog1 trycatch begin raise)) throw #fn("9000n220212223e201e4e2:" #(raise
- list quote thrown-value)))
+ list quote thrown-value)) quasiquote #fn("7000n1700E62:" #(bq-process)))
1+ #fn("6000n10KM:" #() 1+) 1-
- #fn("6000n10K\x80:" #() 1-) 1arg-lambda? #fn("7000n10B;3U04700<51;3J040=B;3B040TB;3:04710TK62:" #(is-lambda?
+ #fn("6000n10K~:" #() 1-) 1arg-lambda? #fn("7000n10B;3U04700<51;3J040=B;3B040TB;3:04710TK62:" #(is-lambda?
length=) 1arg-lambda?)
<= #fn("6000n210L;IB0470051;380470151S:" #(nan?) <=) >
#fn("6000n210L:" #() >) >= #fn("6000n201L;IB0470051;380470151S:" #(nan?) >=)
- Instructions #table(call.l 83 trycatch 77 largc 81 loadg.l 68 box 92 cadr 36 argc 62 setg 71 load0 21 vector? 45 fixnum? 41 loadc0 17 loada0 0 div0 59 keyargs 91 call 5 loada.l 69 brt.l 50 pair? 18 sub2 80 add2 29 loadc.l 70 loadc 9 builtin? 43 set-car! 47 brt 25 ret 10 loadi8 66 tapply 79 loada1 1 shift 94 boolean? 39 atom? 24 cdr 13 brne.l 85 / 58 loadf 31 equal? 52 apply 54 dup 11 loadt 20 jmp.l 48 null? 38 not 35 = 60 set-cdr! 30 eq? 33 * 57 load1 27 dummy_t 96 bound? 42 brf 3 function? 44 box.l 93 setc.l 75 < 28 brnn.l 86 jmp 16 loadv 2 for 78 lvargc 82 dummy_eof 98 + 55 dummy_f 95 setc 74 brne 19 compare 61 neg 37 loadv.l 67 number? 40 vargc 76 brn 87 brbound 90 vector 63 loadc1 22 setg.l 72 aref 23 brf.l 49 symbol? 34 aset! 64 car 12 cons 32 tcall.l 84 - 56 brn.l 88 optargs 89 nop 46 closure 14 pop 4 eqv? 51 list 53 seta 15 seta.l 73 brnn 26 loadnil 65 loadg 7 loada 8 dummy_nil 97 tcall 6)
+ Instructions #table(call.l 81 trycatch 75 largc 79 loadg.l 68 box 90 cadr 36 argc 62 setg 71 load0 21 vector? 45 fixnum? 41 loadc0 17 loada0 0 div0 59 keyargs 89 call 5 loada.l 69 brt.l 50 pair? 18 sub2 78 add2 29 loadc.l 70 loadc 9 builtin? 43 set-car! 47 brt 25 ret 10 loadi8 66 tapply 77 loada1 1 shift 92 boolean? 39 atom? 24 cdr 13 brne.l 83 / 58 loadf 31 equal? 52 apply 54 dup 11 loadt 20 jmp.l 48 null? 38 not 35 = 60 set-cdr! 30 eq? 33 * 57 load1 27 dummy_t 94 bound? 42 brf 3 function? 44 box.l 91 < 28 brnn.l 84 jmp 16 loadv 2 for 76 lvargc 80 dummy_eof 96 + 55 dummy_f 93 brne 19 compare 61 neg 37 loadv.l 67 number? 40 vargc 74 brn 85 brbound 88 vector 63 loadc1 22 setg.l 72 aref 23 brf.l 49 symbol? 34 aset! 64 car 12 cons 32 tcall.l 82 - 56 brn.l 86 optargs 87 nop 46 closure 14 pop 4 eqv? 51 list 53 seta 15 seta.l 73 brnn 26 loadnil 65 loadg 7 loada 8 dummy_nil 95 tcall 6)
__init_globals #fn("5000n020w1422w3474w5476w7478w9:" #("/"
*directory-separator*
"\n"
@@ -64,10 +59,10 @@
*input-stream*
*stderr*
*error-stream*) __init_globals)
- __rcscript #fn(":000n0708421c37022@U08423c3A0242526512752@>0242528512952\x8e12:84513907;8461:D:" #(*os-name*
+ __rcscript #fn(":000n0708421c37022@U08423c3A0242526512752@>0242528512952\x8c12:84513907;8461:D:" #(*os-name*
unknown "" plan9 #fn(string) #fn(os-getenv) "home" "/lib/flisprc" "HOME" "/.flisprc"
#fn(path-exists?) load) __rcscript)
- __script #fn("6000n1200>121}:" #(#fn("6000n070A61:" #(load))
+ __script #fn("6000n1200>121{:" #(#fn("6000n070A61:" #(load))
#fn("6000n170051421K61:" #(top-level-exception-handler
#fn(exit)))) __script)
__start #fn("7000n1705040=B3D00=w14Ow24730T51@C00w14Dw24745047550426E61:" #(__init_globals
@@ -86,18 +81,18 @@
bcode:nconst #fn(has?) #fn(get) #fn(put!)) bcode:indexfor)
bcode:nconst #fn("6000n10r2G:" #() bcode:nconst) bcode:sp
#fn("6000n10r4G:" #() bcode:sp) bcode:stack #fn("8000n20r40r4G1Mp:" #() bcode:stack)
- box-vars #fn("9000n2D\x8c68620086>2_486<\x8e1161:" #(#fn("9000n10B3Q00<T3B070A21720<5153@30D4F<0=61:D:" #(emit
+ box-vars #fn("9000n2D\x8a68620086>2_486<\x8c1161:" #(#fn("9000n10B3Q00<T3B070A21720<5153@30D4F<0=61:D:" #(emit
box caddr))) box-vars)
- bq-bracket #fn(";000n20H3=020710152e2:0<22CR01El380200=P:202324710=1K\x8052e3e2:0<25CS01El390260Te2:202027710T1K\x8052e3e2:0<28CO01El3500T:202029710T1K\x8052e3e2:20710152e2:" #(#.list
+ bq-bracket #fn(";000n20H3=020710152e2:0<22CR01El380200=P:202324710=1K~52e3e2:0<25CS01El390260Te2:202027710T1K~52e3e2:0<28CO01El3500T:202029710T1K~52e3e2:20710152e2:" #(#.list
bq-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~52e3:730162:" #(unquote
#.cons 'unquote bq-process) bq-bracket1)
- bq-process #fn("<000n20R380200e2:0]3T0717205115286<23C902486=P:252486e3:0H3400:0<26CB02327710T1KM52e3:0<28CW01El;3:04790r2523500T:2:2;710=1K\x8052e3:7<7=052It07>0512?2@1>105286J802387P:87=JA02:87<7186152e3:2A2B87P7186152e162:D\x8c6862C186>2_486<\x8e10q62:" #(quote
+ bq-process #fn("<000n20R380200e2:0]3T0717205115286<23C902486=P:252486e3:0H3400:0<26CB02327710T1KM52e3:0<28CW01El;3:04790r2523500T:2:2;710=1K~52e3:7<7=052It07>0512?2@1>105286J802387P:87=JA02:87<7186152e3:2A2B87P7186152e162:D\x8a6862C186>2_486<\x8c10q62:" #(quote
bq-process vector->list #.list #.vector #.apply quasiquote 'quasiquote
unquote length= #.cons 'unquote any splice-form? lastcdr #fn(map)
#fn("7000n1700A62:" #(bq-bracket1)) #fn(nconc)
- #fn(list*) #fn("=000n20J;02071151P:0B3n00<22CW020731AEl3700=@C02425e2760=AK\x8052e252P:F<0=770<A521P62:2071760A521P51P:" #(nconc
+ #fn(list*) #fn("=000n20J;02071151P:0B3n00<22CW020731AEl3700=@C02425e2760=AK~52e252P:F<0=770<A521P62:2071760A521P51P:" #(nconc
reverse! unquote nreconc #.list 'unquote bq-process bq-bracket))) bq-process)
builtin->instruction #fn("8000n120A0O63:" #(#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("5000n10<<<<:" #() caaaar) caaadr
@@ -109,7 +104,7 @@
cadar #fn("5000n10<T:" #() cadar) caddar
#fn("5000n10<=T:" #() caddar) cadddr #fn("5000n10==T:" #() cadddr)
caddr #2=#fn("5000n10=T:" #() caddr) call-with-values
- #fn("7000n205086B;3804A86<Q390186=\x7f2:18661:" #() #(#1=(*values*)))
+ #fn("7000n205086B;3804A86<Q390186=}2:18661:" #() #(#1=(*values*)))
capture-var! #fn("<000n27005171186E5387;IG042286510r323861e152p4:" #(bcode:cenv
index-of #fn(length) #fn(nconc)) capture-var!)
cdaaar #fn("5000n10<<<=:" #() cdaaar) cdaadr
@@ -139,7 +134,7 @@
load1 / vector loadv #() apply tapply) compile-builtin-call)
compile-f #fn("8000n2702101>22262:" #(call-with-values #fn("7000n070AF62:" #(compile-f-))
#fn("5000n20:" #())) compile-f)
- compile-f- #fn("O000n270501T711T517215173241T52711518;J7025@408;87H360E@802687518=268:51\x8073778:528:\x87\xa208?JL07886298>88J708=@508=U54@r07:867;2<2=2<2>8?527?268?5151535152478862@8>268?5188J708=@508=U5547A8608:898>55@30D47B8=2C523I0788688J702D@402E8=53@W088\x87?078862F8=53@E08:J?078862G8=53@30O47H0897I7J1518952537K868@<52486r4268951r4Mp47L868@D7J15154478862M5247N2O7P7Q8651517R86518<537S865162:" #(make-code-emitter
+ compile-f- #fn("O000n270501T711T517215173241T52711518;J7025@408;87H360E@802687518=268:51~73778:528:\x85\xa208?JL07886298>88J708=@508=U54@r07:867;2<2=2<2>8?527?268?5151535152478862@8>268?5188J708=@508=U5547A8608:898>55@30D47B8=2C523I0788688J702D@402E8=53@W088\x85?078862F8=53@E08:J?078862G8=53@30O47H0897I7J1518952537K868@<52486r4268951r4Mp47L868@D7J15154478862M5247N2O7P7Q8651517R86518<537S865162:" #(make-code-emitter
lastcdr lambda:vars filter #.pair? λ #fn(length) keyword-arg? emit optargs
bcode:indexfor make-perfect-hash-table #fn(map) #.cons #.car iota keyargs
emit-optional-arg-inits > 255 largc lvargc vargc argc extend-env
@@ -154,7 +149,7 @@
compile-in #fn(top-level-value) eof-object loadv in-env? compile-app quote
self-evaluating? if compile-if begin compile-begin prog1 compile-prog1 λ
call-with-values #fn("7000n070AF62:" #(compile-f-))
- #fn("9000n270A2105341\x87K07223AF>2152470A242515163:D:" #(emit loadv for-each
+ #fn("9000n270A2105341\x85K07223AF>2152470A242515163:D:" #(emit loadv for-each
#fn("9000n170AF0O64:" #(compile-sym))
closure #fn(length)))
and compile-and or compile-or while compile-while cddr for compile-for caddr
@@ -187,17 +182,17 @@
const-to-idx-vec #fn("9000n1207105151722385>17405152485:" #(#fn(vector-alloc)
bcode:nconst table-foreach #fn("7000n2A10p:" #()) bcode:ctable) const-to-idx-vec)
copy-tree #fn("7000n10H3400:700<51700=51P:" #(copy-tree) copy-tree)
- count #fn("9000n2D\x8c6862086>1_486<01E63:" #(#fn("9000n31J5082:A<01=01<5139082KM@408263:" #() count-)) count)
- delete-duplicates #fn(":000n1700rD523O02150D\x8c686228586>2_486<\x8e10q62:0H3400:0<0=73858652390748661:85748651P:" #(length>
+ count #fn("9000n2D\x8a6862086>1_486<01E63:" #(#fn("9000n31J5082:A<01=01<5139082KM@408263:" #() count-)) count)
+ delete-duplicates #fn(":000n1700rD523O02150D\x8a686228586>2_486<\x8c10q62:0H3400:0<0=73858652390748661:85748651P:" #(length>
#fn(table) #fn("8000n20H38070161:21A0<523:0F<0=162:22A0<D534F<0=0<1P62:" #(reverse!
#fn(has?) #fn(put!))) member delete-duplicates) delete-duplicates)
diff #fn("8000n20J40q:200<1523:0710=162:0<710=152P:" #(#fn(memq)
diff) diff)
- disassemble #fn("T000\x891000.///\x8a1000I60O?14|282JD07001E53471504D:@30D482<2205123051DD2487>1?:425187>2?;4r4268851\x8c<D8<<8=L3\x85242728888<>2O79537:8<<r4523907150@30D4E87K\x802;~48<8<<KM_48>2<8?2=523[08;8>8<<r45348:897>888<<52G5148<8<<r4M_@\x1112<8?2?523V08;8>8<<K5348:89888<<GG5148<8<<KM_@\xe212<8?2@523W08;8>8<<K5347A2B888<<G515148<8<<KM_@\xb212<8?2C523\\08;8>8<<r45347A2B7>888<<52515148<8<<r4M_@}12<8?2D523\xb808;8>8<<r88>2EC70r4@30EM5347A2B7>888<<52512F5248<8<<r4M_47A2B7>888<<52515148<8<<r4M_48>2ECY07A2F5147A2B7>888<<52512F5248<8<<r4M_@30D@\xec08?2Gc3^08;8>8<<r45347A2B7>888<<52512F5248<8<<r4M_@\xb802<8?2H523e08;8>8<<r25347A2I7J8<<r,7K888<<52g3515248<8<<r2M_@z02<8?2L523e08;8>8<<r45347A2I7J8<<r,7>888<<52g3515248<8<<r4M_@<08;8>8<<E53\x8e1\x8e1@\xd6-:" #(disassemble
+ disassemble #fn("T000\x871000.///\x881000I60O?14z282JD07001E53471504D:@30D482<2205123051DD2487>1?:425187>2?;4r4268851\x8a<D8<<8=L3\x85242728888<>2O79537:8<<r4523907150@30D4E87K~2;|48<8<<KM_48>2<8?2=523[08;8>8<<r45348:897>888<<52G5148<8<<r4M_@\x1112<8?2?523V08;8>8<<K5348:89888<<GG5148<8<<KM_@\xe212<8?2@523W08;8>8<<K5347A2B888<<G515148<8<<KM_@\xb212<8?2C523\\08;8>8<<r45347A2B7>888<<52515148<8<<r4M_@}12<8?2D523\xb808;8>8<<r88>2EC70r4@30EM5347A2B7>888<<52512F5248<8<<r4M_47A2B7>888<<52515148<8<<r4M_48>2ECY07A2F5147A2B7>888<<52512F5248<8<<r4M_@30D@\xec08?2Gc3^08;8>8<<r45347A2B7>888<<52512F5248<8<<r4M_@\xb802<8?2H523e08;8>8<<r25347A2I7J8<<r,7K888<<52g3515248<8<<r2M_@z02<8?2L523e08;8>8<<r45347A2I7J8<<r,7>888<<52g3515248<8<<r4M_@<08;8>8<<E53\x8c1\x8c1@\xd6-:" #(disassemble
newline #fn(function:code) #fn(function:vals)
#fn("9000n10\\;36040[S3C07021514720OAKM63:73061:" #(princ "\n" disassemble
print) print-val)
- #fn(";000n370A;3P04FEl;3H0471A7215152;3904A182ML37023@4024751r5\x80512602765:" #(princ
+ #fn(";000n370A;3P04FEl;3H0471A7215152;3904A182ML37023@4024751r5~512602765:" #(princ
>= 1- " >" " " hex5 ": " " ") print-inst)
#fn(length) #fn(table-foldl) #fn("7000n382;I?041AF<GQ;34040:" #())
Instructions > #fn("6000n1702161:" #(princ "\t"))
@@ -208,7 +203,7 @@
keyargs " " brbound (jmp brf brt brne brnn brn) "@" hex5 ref-int16-LE (jmp.l
brf.l brt.l brne.l brnn.l brn.l)) disassemble)
div #fn("7000n201k0EL;3C041EL;3404K;I504r/;I404EM:" #() div) emit
- #fn("P000|282Jb0120Q;3C040EGB;3:040EG<21Q3;00EG22_@:00E10EGPp@\xb9123124523A075082<52e1?2@30D4261275287;3<047882<29523:087T?1@30D\x8e142612:5287;3<047882<29523:087T?1@30D\x8e1412;C\\0822<d3=02=?14q?2@F0822>d3=02??14q?2@30O@30D412@C\\0822<d3=02A?14q?2@F0822>d3=02B?14q?2@30O@30D40EGB3900EG<@30q0EG12CQ;3\x9f04872DQ;390488T2EQ3E00E82<2F7G8851PPp@x0872DCB00E82<2H88=PPp@a0872ICB00E82<2J88=PPp@J0872ECB00E82<2K88=PPp@30O;Ia0412HQ;3804872EQ3B00E82<2F88=PPp@?00E7L182P8852p\x8e240:" #(car
+ #fn("P000z282Jb0120Q;3C040EGB;3:040EG<21Q3;00EG22_@:00E10EGPp@\xb9123124523A075082<52e1?2@30D4261275287;3<047882<29523:087T?1@30D\x8c142612:5287;3<047882<29523:087T?1@30D\x8c1412;C\\0822<d3=02=?14q?2@F0822>d3=02??14q?2@30O@30D412@C\\0822<d3=02A?14q?2@F0822>d3=02B?14q?2@30O@30D40EGB3900EG<@30q0EG12CQ;3\x9f04872DQ;390488T2EQ3E00E82<2F7G8851PPp@x0872DCB00E82<2H88=PPp@a0872ICB00E82<2J88=PPp@J0872ECB00E82<2K88=PPp@30O;Ia0412HQ;3804872EQ3B00E82<2F88=PPp@?00E7L182P8852p\x8c240:" #(car
cdr cadr #fn(memq) (loadv loadg setg) bcode:indexfor #fn(assq)
((loadv loadv.l) (loadg loadg.l) (setg setg.l) (loada loada.l) (seta seta.l)
(box box.l)) > 255 ((loadc loadc.l)) loada (0) loada0 (1)
@@ -216,7 +211,7 @@
emit-optional-arg-inits #fn("<000n582B3\x900700517102284534710238953474075176838452q53O7782515447102884534710295247:0895247;0182=8384KM65:D:" #(make-label
emit brbound brt compile-in extend-env list-head cadar seta pop mark-label
emit-optional-arg-inits) emit-optional-arg-inits)
- encode-byte-code #fn("S000n17005171855172238651r3238651r2ki2M2452238651E255025502650OO278<28524D8988L3\xd9148689G?=48=29CP02:8:8689KMG2;8<5153489r2M?9@\xa81278<7<2=7>873\x8308=8D2?C702@@p08D2AC702B@d08D2CC702D@X08D2EC702F@L08D2GC702H@@08D2IC702J@408=\x8e1@408=525152489KM?948988L3:08689G@30O?>42K8=2L523`02:8;2;8<518>534278<873707M@407NE5152489KM?9@\xeb08=2OCH0278<7M8>5152489KM?9@\xce08>X3\xc708=2K8?2P523H0278<7M8>5152489KM?9@\x9f02K8?2Q523\x810278<7M8>5152489KM?94278<7M8689G5152489KM?948=2RCK0278<7M8689G5152489KM?9@30D@E0278<7S8>5152489KM?9\x8e1@30O@\x83.47T2U8<878:>38;5242V8<61:" #(reverse!
+ encode-byte-code #fn("S000n17005171855172238651r3238651r2ki2M2452238651E255025502650OO278<28524D8988L3\xd9148689G?=48=29CP02:8:8689KMG2;8<5153489r2M?9@\xa81278<7<2=7>873\x8308=8D2?C702@@p08D2AC702B@d08D2CC702D@X08D2EC702F@L08D2GC702H@@08D2IC702J@408=\x8c1@408=525152489KM?948988L3:08689G@30O?>42K8=2L523`02:8;2;8<518>534278<873707M@407NE5152489KM?9@\xeb08=2OCH0278<7M8>5152489KM?9@\xce08>X3\xc708=2K8?2P523H0278<7M8>5152489KM?9@\x9f02K8?2Q523\x810278<7M8>5152489KM?94278<7M8689G5152489KM?948=2RCK0278<7M8689G5152489KM?9@30D@E0278<7S8>5152489KM?9\x8c1@30O@\x83.47T2U8<878:>38;5242V8<61:" #(reverse!
list->vector >= #fn(length) 65536 #fn(table)
#fn(buffer) #fn(io-write) #int32(0) label #fn(put!)
#fn(sizeof) byte #fn(get) Instructions jmp jmp.l brt brt.l brf brf.l brne
@@ -223,14 +218,17 @@
brne.l brnn brnn.l brn brn.l #fn(memq) (jmp brf brt brne brnn brn) int32
int16 brbound (loadv.l loadg.l setg.l loada.l seta.l largc lvargc call.l
tcall.l loadc.l box.l) (optargs keyargs) keyargs uint8
- table-foreach #fn(";000n220A052421AF37072@407324921520\x805162:" #(#fn(io-seek)
- #fn(io-write) int32 int16 #fn(get))) #fn(iostream->string)) encode-byte-code)
- error #fn("9000|020210P61:" #(#fn(raise) error) error) eval
+ table-foreach #fn(";000n220A052421AF37072@407324921520~5162:" #(#fn(io-seek)
+ #fn(io-write)
+ int32 int16
+ #fn(get)))
+ #fn(iostream->string)) encode-byte-code)
+ error #fn("9000z020210P61:" #(#fn(raise) error) error) eval
#fn("7000n170710515160:" #(compile-thunk expand) eval) even? #fn("7000n1200K52El:" #(#fn(logand)) even?)
every #fn("7000n21H;ID0401<51;3:047001=62:" #(every) every) expand
- #fn("F000n1DDDDDDDDDDD\x8c5\x8c6\x8c7\x8c8\x8c9\x8c:\x8c;\x8c<\x8c=\x8c>\x8c?8520_4862186>1_48722e1_4882385868?87>4_489248?89>2_48:258:>1_48;268:8988>3_48<278?8:8988>4_48=28888?>2_48>29_48?2:8?8>8;8<8=>5_48?<0q62:" #(#fn("7000n20Z;I904200152S:" #(#fn(assq)) top?)
+ #fn("F000n1DDDDDDDDDDD\x8a5\x8a6\x8a7\x8a8\x8a9\x8a:\x8a;\x8a<\x8a=\x8a>\x8a?8520_4862186>1_48722e1_4882385868?87>4_489248?89>2_48:258:>1_48;268:8988>3_48<278?8:8988>4_48=28888?>2_48>29_48?2:8?8>8;8<8=>5_48?<0q62:" #(#fn("7000n20Z;I904200152S:" #(#fn(assq)) top?)
#fn("8000n10H3400:020d3400:0<B;3;047105122Q3F023A<7405151A<0=5162:0<A<0=51P:" #(((begin))
- caar begin #fn(append) cdar) splice-begin) *expanded* #fn("A000n20H3400:A<201523:0F<051@300A<21152873;0728651@30q2324258852152\x8c987IA024269289>28662:D\x8c:8:278:928993>4_48:<\x8e186518:D8;B3c0493<788;51QIC08;92<8;<89<52_@;08;798;51_48;=?;@\xfb/48::" #(begin
+ caar begin #fn(append) cdar) splice-begin) *expanded* #fn("A000n20H3400:A<201523:0F<051@300A<21152873;0728651@30q2324258852152\x8a987IA024269289>28662:D\x8a:8:278:928993>4_48:<\x8c186518:D8;B3c0493<788;51QIC08;92<8;<89<52_@;08;798;51_48;=?;@\xfb/48::" #(begin
define get-defined-vars #fn(nconc) #fn(map) #.list #fn("7000n1A<0F<62:" #())
#fn(";000n10H3400:0<B;3;042071051Q3<00<A<0=51P:F<0<92<52922223247585515292<52_493<85PA<0=51P:" #(define
caar #fn(nconc) #fn(map) #.list get-defined-vars)) caar cdar) expand-body)
@@ -245,7 +243,7 @@
#fn("9000n10<70A<0TF525150Fe3:" #(compile-thunk))) expand-let-syntax)
#fn("5000n20:" #() local-expansion-env)
#fn("<000n20H3400:0<208615221A10>387;370487=B3I0A<87T0=f2F<72875115262:87;I?0486RS;I60486Z3708860:73051893>0A<890=f2162:8624C400:8625C:092<0162:8625C:092<0162:8626C:093<0162:8627C:094<0162:8860:" #(#fn(assq)
- #fn(":000n0D\x8c48420AF84>3_484<\x8e19261:" #(#fn("8000n10H3400:0<H3700<@90A<0<F5292<0=51P:" #())))
+ #fn(":000n0D\x8a48420AF84>3_484<\x8c19261:" #(#fn("8000n10H3400:0<H3700<@90A<0<F5292<0=51P:" #())))
caddr macrocall? quote λ define let-syntax) expand-in)) expand)
expand-define #fn("?000n10T70051B3:070051@L00TR3;07150e1@=07223740515285R3<0258586<e3:2585<2627e185=e128865185<54e3:" #(cddr
void error "compile error: invalid syntax " print-to-string set! #fn(nconc)
@@ -254,9 +252,9 @@
filter #fn("9000n2D200>1?648601qe163:" #(#fn("8000n382D1B3Q04A1<513?0821<qPN=?2@30D41=?1@\x0e/4=:" #() filter-)) filter)
fits-i8 #fn("7000n10Y;3F04700r\xb052;3:04710r\xaf62:" #(>= <=) fits-i8)
foldl #fn("9000n382J401:700082<15282=63:" #(foldl) foldl) foldr
- #fn(":000n382J401:082<700182=5362:" #(foldr) foldr) for-each #fn(">000|2D\x8c7872087>1_482JI0D1B3@0401<5141=?1@\x1f/@<087<0182P524D:" #(#fn("9000n21<B3J002021152f24A<0202215262:D:" #(#fn(map)
+ #fn(":000n382J401:082<700182=5362:" #(foldr) foldr) for-each #fn(">000z2D\x8a7872087>1_482JI0D1B3@0401<5141=?1@\x1f/@<087<0182P524D:" #(#fn("9000n21<B3J002021152f24A<0202215262:D:" #(#fn(map)
#.car #.cdr) for-each-n)) for-each)
- get-defined-vars #fn("7000n170A<05161:" #(delete-duplicates) #(#0=(#fn("8000n10H340q:0<20Q;36040=B3d00TR;37040Te1;IS040TB;3E0471051R;3:0471051e1;I404q:0<22C?02324A<0=52\x7f2:q:" #(define
+ get-defined-vars #fn("7000n170A<05161:" #(delete-duplicates) #(#0=(#fn("8000n10H340q:0<20Q;36040=B3d00TR;37040Te1;IS040TB;3E0471051R;3:0471051e1;I404q:0<22C?02324A<0=52}2:q:" #(define
caadr begin #fn(nconc) #fn(map)) #(#0#)))))
hex5 #fn("8000n170210r@52r52263:" #(string-lpad #fn(number->string)
#\0) hex5)
@@ -271,10 +269,10 @@
io-readline #fn("7000n12002162:" #(#fn(io-readuntil) #\newline) io-readline)
io-readlines #fn("7000n17071062:" #(read-all-of io-readline) io-readlines)
iota #fn("7000n17071062:" #(map-int identity) iota) is-lambda?
- #fn("6000n1020Q;I704020Q:" #(λ) is-lambda?) keyword->symbol #fn("<000n1200513O021220512386E742586515153\x8e161:0:" #(#fn(keyword?)
+ #fn("6000n1020Q;I704020Q:" #(λ) is-lambda?) keyword->symbol #fn("<000n1200513O021220512386E742586515153\x8c161:0:" #(#fn(keyword?)
#fn(symbol) #fn(string) #fn(string-sub) 1- #fn(string-length)) keyword->symbol)
keyword-arg? #fn("6000n10B;3904200<61:" #(#fn(keyword?)) keyword-arg?)
- lambda-vars #fn(":000n1D\x8c5852085>1_485<00OO54421227305162:" #(#fn(":000n40V;I5040R340D:0B;36040<R3T082;I504833<0702112263:A<0=1828364:0B;36040<B3\x890730<r252;390474051R360O@=070250<2615442774051513=0A<0=182D64:833<0702112863:A<0=1D8364:0B3>070290<26164:01C:07021162:7029026164:" #(error
+ lambda-vars #fn(":000n1D\x8a5852085>1_485<00OO54421227305162:" #(#fn(":000n40V;I5040R340D:0B;36040<R3T082;I504833<0702112263:A<0=1828364:0B;36040<B3\x890730<r252;390474051R360O@=070250<2615442774051513=0A<0=182D64:833<0702112863:A<0=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."
@@ -283,17 +281,17 @@
lambda:body #fn("6000n170061:" #(caddr) lambda:body) lambda:vars
#fn("6000n1700T61:" #(lambda-vars) lambda:vars) last-pair #fn("6000n10=H3400:700=61:" #(last-pair) last-pair)
lastcdr #fn("6000n10H3400:70051=:" #(last-pair) lastcdr) length=
- #fn("8000n21EL340O:1El3500H:0H3601El:700=1K\x8062:" #(length=) length=)
- length> #fn("8000n21EL3400:1El3;00B;34040:0H3601EL:700=1K\x8062:" #(length>) length>)
- list->vector #fn("6000n1200\x7f2:" #(#.vector) list->vector)
- list-head #fn("9000n2701E52340q:0<710=1K\x8052P:" #(<= list-head) list-head)
+ #fn("8000n21EL340O:1El3500H:0H3601El:700=1K~62:" #(length=) length=)
+ length> #fn("8000n21EL3400:1El3;00B;34040:0H3601EL:700=1K~62:" #(length>) length>)
+ list->vector #fn("6000n1200}2:" #(#.vector) list->vector) list-head
+ #fn("9000n2701E52340q:0<710=1K~52P:" #(<= list-head) list-head)
list-ref #fn("7000n2700152<:" #(list-tail) list-ref) list-tail
- #fn("8000n2701E523400:710=1K\x8062:" #(<= list-tail) list-tail)
- list? #fn("6000n10V;I@040B;3904700=61:" #(list?) list?) load
- #fn("9000n120021522285>123850>2}:" #(#fn(file) :read #fn("9000n0D\x8c48420A84>2_484<\x8e1DDD63:" #(#fn("9000n320A51IB0F<21A5107215163:23A51472161:" #(#fn(io-eof?)
+ #fn("8000n2701E523400:710=1K~62:" #(<= list-tail) list-tail) list?
+ #fn("6000n10V;I@040B;3904700=61:" #(list?) list?) load #fn("9000n120021522285>123850>2{:" #(#fn(file)
+ :read #fn("9000n0D\x8a48420A84>2_484<\x8c1DDD63:" #(#fn("9000n320A51IB0F<21A5107215163:23A51472161:" #(#fn(io-eof?)
#fn(read) load-process #fn(io-close)))))
- #fn("8000n120A5142122F0e361:" #(#fn(io-close)
- #fn(raise) load-error))) load)
+ #fn("8000n120A5142122F0e361:" #(#fn(io-close)
+ #fn(raise) load-error))) load)
load-process #fn("6000n170061:" #(eval) load-process) lookup-sym
#fn(";000n31J5020:1<2108752883808288P:7201=82KM63:" #(global #fn(assq)
lookup-sym) lookup-sym)
@@ -302,20 +300,20 @@
#fn("5000n17060:" #(void))) λ-body) quoted? define lower-define expand-define
is-lambda? #fn(nconc) λ lastcdr #fn(map)) lower-define)
macrocall? #fn("6000n10<R;3904700<61:" #(symbol-syntax) macrocall?)
- macroexpand-1 #fn("7000n10H3400:7005185390850=\x7f2:0:" #(macrocall?) macroexpand-1)
+ macroexpand-1 #fn("7000n10H3400:7005185390850=}2:0:" #(macrocall?) macroexpand-1)
make-code-emitter #fn("9000n0q2050EqEo5:" #(#fn(table)) make-code-emitter)
make-label #fn("5000n12060:" #(#fn(gensym)) make-label)
- make-perfect-hash-table #fn(";000n1D\x8c58520_4D\x8c6862185860>3_486<\x8e12205161:" #(#fn("8000n270712205151162:" #(mod0
- abs #fn(hash)) $hash-keyword) #fn("=000n120r20i2O52D\x8c68621A085F86>5_486<\x8e19261:" #(#fn(vector-alloc)
+ make-perfect-hash-table #fn(";000n1D\x8a58520_4D\x8a6862185860>3_486<\x8c12205161:" #(#fn("8000n270712205151162:" #(mod0
+ abs #fn(hash)) $hash-keyword) #fn("=000n120r20i2O52D\x8a68621A085F86>5_486<\x8c19261:" #(#fn(vector-alloc)
#fn(":000n10B3p070051r2A<85F52i29286G3;093<FKM61:928685p49286KM71051p494<0=61:92:" #(caar
cdar)))) #fn(length)) make-perfect-hash-table)
- make-system-image #fn("<000n120021222354247576Dw54Dw64278788>2288685>22989>1}89504:" #(#fn(file)
+ make-system-image #fn("<000n120021222354247576Dw54Dw64278788>2288685>22989>1{89504:" #(#fn(file)
:write :create :truncate (*linefeed* *directory-separator* *argv* that
*print-pretty* *print-width*
*print-readably* *print-level*
*print-length* *os-name*) *print-pretty*
*print-readably* #fn("5000n0Aw04Fw1:" #(*print-pretty* *print-readably*))
- #fn("=000n07021A>1722350515224252627842628845253f2F52429F7:52\x8e142;F61:" #(filter
+ #fn("=000n07021A>1722350515224252627842628845253f2F52429F7:52\x8c142;F61:" #(filter
#fn("8000n10Z;3u0420051S;3j0421051[S;IC0422051222105151dS;3I04230A52S;3=04242105151S:" #(#fn(constant?)
#fn(top-level-value) #fn(string) #fn(memq)
#fn(iostream?))) simple-sort #fn(environment)
@@ -323,36 +321,35 @@
#fn(io-write) *linefeed* #fn(io-close)))
#fn("6000n1A50420061:" #(#fn(raise)))) make-system-image)
map! #fn("8000n21D1B3B04101<51_41=?1@\x1d/4:" #() map!) map-int
- #fn(";000n2701E52340q:0E51qPq\x8c78786_4K1K\x8021870>2~486:" #(<=
- #fn("7000n1A<F051qPN4AA<=_:" #())) map-int)
+ #fn(";000n2701E52340q:0E51qPq\x8a78786_4K1K~21870>2|486:" #(<= #fn("7000n1A<F051qPN4AA<=_:" #())) map-int)
mark-label #fn("8000n270021163:" #(emit label) mark-label) max
- #fn(";000|11J400:70210163:" #(foldl #fn("6000n201L3401:0:" #())) max)
+ #fn(";000z11J400:70210163:" #(foldl #fn("6000n201L3401:0:" #())) max)
member #fn("7000n21H340O:1<0d3401:7001=62:" #(member) member) memv
- #fn("7000n21H340O:1<0c3401:7001=62:" #(memv) memv) min #fn(";000|11J400:70210163:" #(foldl
+ #fn("7000n21H340O:1<0c3401:7001=62:" #(memv) memv) min #fn(";000z11J400:70210163:" #(foldl
#fn("6000n201L3400:1:" #())) min)
- mod #fn("8000n207001521i2\x80:" #(div) mod) mod0
- #fn("7000n2001k1i2\x80:" #() mod0) nan? #fn("6000n1020d;I704021d:" #(+nan.0
+ mod #fn("8000n207001521i2~:" #(div) mod) mod0
+ #fn("7000n2001k1i2~:" #() mod0) nan? #fn("6000n1020d;I704021d:" #(+nan.0
-nan.0) nan?)
negative? #fn("6000n10EL:" #() negative?) nestlist
- #fn(":000n37082E52340q:1710015182K\x8053P:" #(<= nestlist) nestlist)
- newline #fn("8000\x8900001000\x8a0000I7070?0421072524D:" #(*output-stream*
+ #fn(":000n37082E52340q:1710015182K~53P:" #(<= nestlist) nestlist)
+ newline #fn("8000\x8700001000\x880000I7070?0421072524D:" #(*output-stream*
#fn(io-write) *linefeed*) newline)
nreconc #fn("7000n2701062:" #(reverse!-) nreconc) odd?
#fn("6000n170051S:" #(even?) odd?) positive? #fn("7000n1700E62:" #(>) positive?)
- princ #fn(";000|070Ow042185>1220>12386>1}86504:" #(*print-readably*
+ princ #fn(";000z070Ow042185>1220>12386>1{86504:" #(*print-readably*
#fn("5000n0Aw0:" #(*print-readably*))
#fn("7000n07021A62:" #(for-each
#fn(write))) #fn("6000n1A50420061:" #(#fn(raise)))) princ)
- print #fn("9000|07021062:" #(for-each #fn(write)) print)
- print-exception #fn("=000n10B;3D040<20Q;3:04710r3523I072230T24534757605151@ 00B;3D040<27Q;3:04710r3523I072287605129534750T51@\xee00B;3D040<2:Q;3:04710r2523?0722;0T2<53@\xc600B;38040<2=Q3B0722>514720=f2@\xa700B;38040<2?Q3G07@76051514722A0T52@\x8307B051;3:04710r2523c0750<514722C5140T2D8551;I60485R37072@40758551\x8e1@>0722E514750514727F61:" #(type-error
+ print #fn("9000z07021062:" #(for-each #fn(write)) print)
+ print-exception #fn("=000n10B;3D040<20Q;3:04710r3523I072230T24534757605151@ 00B;3D040<27Q;3:04710r3523I072287605129534750T51@\xee00B;3D040<2:Q;3:04710r2523?0722;0T2<53@\xc600B;38040<2=Q3B0722>514720=f2@\xa700B;38040<2?Q3G07@76051514722A0T52@\x8307B051;3:04710r2523c0750<514722C5140T2D8551;I60485R37072@40758551\x8c1@>0722E514750514727F61:" #(type-error
length= princ "type error: expected " ", got " print caddr bounds-error "index "
" out of bounds for " unbound-error "eval: variable " " has no value" error
"error: " load-error print-exception "in file " list? ": " #fn(string?)
"*** Unhandled exception: " *linefeed*) print-exception)
- print-stack-trace #fn("@000n1DD\x8c5\x8c6852085>1_4862185>1_472730r3523F074075370r5@40r452@30051767728292:505252E\x8c97;2<868889>38762:" #(#fn("=000n32005182P2105121151C?022232487e361:25051E76278851512888A187>4~:" #(#fn(function:name)
+ print-stack-trace #fn("@000n1DD\x8a5\x8a6852085>1_4862185>1_472730r3523F074075370r5@40r452@30051767728292:505252E\x8a97;2<868889>38762:" #(#fn("=000n32005182P2105121151C?022232487e361:25051E76278851512888A187>4|:" #(#fn(function:name)
#fn(function:code) #fn(raise) thrown-value ffound #fn(function:vals) 1- #fn(length)
#fn("8000n170A0G513>0F<A0G929363:D:" #(closure?))) find-in-f)
- #fn(";000n220A01>321}863I02273242576865152275261:28:" #(#fn("8000n07021AF>292524O:" #(for-each
+ #fn(";000n220A01>321{863I02273242576865152275261:28:" #(#fn("8000n07021AF>292524O:" #(for-each
#fn("8000n1A<0Fq63:" #()))) #fn("6000n10B;3B040<20Q;38040T21Q38072061:23061:" #(thrown-value
ffound caddr #fn(raise))) #fn(symbol) string-join #fn(map)
#fn(string) reverse!
@@ -371,16 +368,16 @@
#fn("7000n1200513<0712250062:23500i2:" #(#fn(integer?) mod #fn(rand)
#fn(rand-double)) random)
read-all #fn("7000n17021062:" #(read-all-of #fn(read)) read-all)
- read-all-of #fn(":000n2D\x8c686201860>3_486<\x8e1q015162:" #(#fn("8000n220A5138071061:F<10P92A5162:" #(#fn(io-eof?)
+ read-all-of #fn(":000n2D\x8a686201860>3_486<\x8c1q015162:" #(#fn("8000n220A5138071061:F<10P92A5162:" #(#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
#fn(ash)) ref-int32-LE)
- repl #fn(":000n0DD\x8c4\x8c58420_485218485>2_485<5047260:" #(#fn("8000n0702151422735142425}267751S;3F04788451798551485w:4D:" #(princ
+ repl #fn(":000n0DD\x8a4\x8a58420_485218485>2_485<5047260:" #(#fn("8000n0702151422735142425{267751S;3F04788451798551485w:4D:" #(princ
"> " #fn(io-flush) *output-stream* #fn("5000n02060:" #(#fn(read)))
#fn("6000n1207151422061:" #(#fn(io-discardbuffer) *input-stream* #fn(raise)))
#fn(io-eof?) *input-stream* load-process print that) prompt)
- #fn("6000n020A>121}3<072504F<60:O:" #(#fn("6000n0A<50;37047060:" #(newline))
+ #fn("6000n020A>121{3<072504F<60:O:" #(#fn("6000n0A<50;37047060:" #(newline))
#fn("6000n1700514D:" #(top-level-exception-handler))
newline) reploop) newline) repl)
revappend #fn("7000n2701062:" #(reverse-) revappend) reverse
@@ -400,16 +397,16 @@
string-join #fn("9000n20J5020:215022860<5247324861>20=524258661:" #(""
#fn(buffer) #fn(io-write) for-each #fn("7000n120AF52420A062:" #(#fn(io-write)))
#fn(iostream->string)) string-join)
- string-lpad #fn(":000n3207182122051\x8052062:" #(#fn(string)
- string-rep #fn(string-length)) string-lpad)
- string-map #fn("=000n2205021151ED8887L3O0422860231885251524748851?8@\x0d/\x8e14258661:" #(#fn(buffer)
+ string-lpad #fn(":000n3207182122051~52062:" #(#fn(string)
+ string-rep #fn(string-length)) string-lpad)
+ string-map #fn("=000n2205021151ED8887L3O0422860231885251524748851?8@\x0d/\x8c14258661:" #(#fn(buffer)
#fn(string-length) #fn(io-putc) #fn(string-char) 1+ #fn(iostream->string)) string-map)
- string-rep #fn(":000n21r4L3`0701E5235021:1Kl38022061:1r2l390220062:2200063:731513@02207401K\x805262:742200521r2j262:" #(<=
+ string-rep #fn(":000n21r4L3`0701E5235021:1Kl38022061:1r2l390220062:2200063:731513@02207401K~5262:742200521r2j262:" #(<=
"" #fn(string) odd? string-rep) string-rep)
- string-rpad #fn(";000n32007182122051\x805262:" #(#fn(string)
- string-rep #fn(string-length)) string-rpad)
+ string-rpad #fn(";000n32007182122051~5262:" #(#fn(string)
+ string-rep #fn(string-length)) string-rpad)
string-tail #fn("7000n2200162:" #(#fn(string-sub)) string-tail)
- string-trim #fn(">000n3DD\x8c7\x8c8872087>1_4882188>1_42205123087<01E895488<082895363:" #(#fn("9000n48283L;3?042012108252523A0A<017282518364:82:" #(#fn(string-find)
+ string-trim #fn(">000n3DD\x8a7\x8a8872087>1_4882188>1_42205123087<01E895488<082895363:" #(#fn("9000n48283L;3?042012108252523A0A<017282518364:82:" #(#fn(string-find)
#fn(string-char) 1+) trim-start) #fn(":000n37082E52;3C0421122073825152523?0A<0173825163:82:" #(>
#fn(string-find) #fn(string-char) 1-) trim-end)
#fn(string-length) #fn(string-sub)) string-trim)
@@ -430,26 +427,27 @@
table-values #fn("8000n12021q063:" #(#fn(table-foldl)
#fn("6000n3182P:" #())) table-values)
to-proper #fn("7000n10J400:0H3600e1:0<700=51P:" #(to-proper) to-proper)
- top-level-exception-handler #fn("9000n17071w042285>1230>12486>1}86504:" #(*output-stream*
+ top-level-exception-handler #fn("9000n17071w042285>1230>12486>1{86504:" #(*output-stream*
*stderr* #fn("5000n0Aw0:" #(*output-stream*))
#fn("6000n070A51471225061:" #(print-exception print-stack-trace #fn(stacktrace)))
#fn("6000n1A50420061:" #(#fn(raise)))) top-level-exception-handler)
- trace #fn("A000n1200512150728551Ig0230742586262728290e286e3e22:e12;2985e286e3e4e35152@30D\x8e1\x8e142<:" #(#fn(top-level-value)
+ trace #fn("A000n1200512150728551Ig0230742586262728290e286e3e22:e12;2985e286e3e4e35152@30D\x8c1\x8c142<:" #(#fn(top-level-value)
#fn(gensym) traced? #fn(set-top-level-value!) eval λ begin write cons quote
newline apply ok) trace)
- traced? #fn("7000n170051;3?042105121A<51d:" #(closure? #fn(function:code)) #((#fn("9000|020210P51472504230\x7f2:" #(#fn(write)
+ traced? #fn("7000n170051;3?042105121A<51d:" #(closure? #fn(function:code)) #((#fn("9000z020210P51472504230}2:" #(#fn(write)
x newline #.apply)))))
untrace #fn("9000n1200517185513A0220238551r2G62:D:" #(#fn(top-level-value)
traced? #fn(set-top-level-value!)
#fn(function:vals)) untrace)
- values #fn("8000|00B;36040=V3500<:A0P:" #() #(#1#)) vars-to-env
+ values #fn("8000z00B;36040=V3500<:A0P:" #() #(#1#)) vars-to-env
#fn(":000n32021182>2072230515163:" #(#fn(map)
#fn("9000n2700210A52SS1FM63:" #(vinfo
#fn(memq))) iota #fn(length)) vars-to-env)
- vector->list #fn("<000n120051q\x8c6K852186085>3~486<:" #(#fn(length)
- #fn("8000n1AF920\x80GA<P_:" #())) vector->list)
- vector-map #fn("<000n220151218651E86K\x80228701>3~487:" #(#fn(length)
- #fn(vector-alloc) #fn("9000n1A0F920G51p:" #())) vector-map)
+ vector->list #fn("<000n120051q\x8a6K852186085>3|486<:" #(#fn(length)
+ #fn("8000n1AF920~GA<P_:" #())) vector->list)
+ vector-map #fn("<000n220151218651E86K~228701>3|487:" #(#fn(length)
+ #fn(vector-alloc)
+ #fn("9000n1A0F920G51p:" #())) vector-map)
vinfo #fn("7000n30182e3:" #() vinfo) vinfo:heap? #.cadr vinfo:index
#2# vinfo:sym #.car void
#fn("5000n0D:" #() void) zero? #fn("6000n10El:" #() zero?))
--- a/flisp.c
+++ b/flisp.c
@@ -967,8 +967,6 @@
GOTO_OP_OFFSET(OP_SETG),
GOTO_OP_OFFSET(OP_SETGL),
GOTO_OP_OFFSET(OP_SETAL),
- GOTO_OP_OFFSET(OP_SETC),
- GOTO_OP_OFFSET(OP_SETCL),
GOTO_OP_OFFSET(OP_VARGC),
GOTO_OP_OFFSET(OP_TRYCATCH),
GOTO_OP_OFFSET(OP_FOR),
@@ -1704,34 +1702,11 @@
FL(stack)[bp+i] = v;
NEXT_OP;
- OP(OP_SETC)
- s = *ip++;
- i = *ip++;
- v = FL(stack)[bp+nargs];
- while(s--)
- v = vector_elt(v, vector_size(v)-1);
- assert(isvector(v));
- assert(i < vector_size(v));
- vector_elt(v, i) = FL(stack)[FL(sp)-1];
- NEXT_OP;
-
OP(OP_LOADCL)
i = GET_INT32(ip);
ip += 4;
v = FL(stack)[bp+nargs];
PUSH(vector_elt(v, i));
- NEXT_OP;
-
- OP(OP_SETCL)
- s = GET_INT32(ip);
- ip += 4;
- i = GET_INT32(ip);
- ip += 4;
- v = FL(stack)[bp+nargs];
- while(s--)
- v = vector_elt(v, vector_size(v)-1);
- assert(i < vector_size(v));
- vector_elt(v, i) = FL(stack)[FL(sp)-1];
NEXT_OP;
OP(OP_VARGC)
--- a/gen.lsp
+++ b/gen.lsp
@@ -74,8 +74,6 @@
OP_SETG setg #f 0
OP_SETGL setg.l #f 0
OP_SETAL seta.l #f 0
- OP_SETC setc #f 0
- OP_SETCL setc.l #f 0
OP_VARGC vargc #f 0
OP_TRYCATCH trycatch #f 0
OP_FOR for #f 0
--- a/opcodes.h
+++ b/opcodes.h
@@ -73,8 +73,6 @@
OP_SETG,
OP_SETGL,
OP_SETAL,
- OP_SETC,
- OP_SETCL,
OP_VARGC,
OP_TRYCATCH,
OP_FOR,