shithub: femtolisp

Download patch

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,