ref: b6927437b4089386066a6dbe1b7e84fb4e20d638
parent: 36b24a92d94b1d1f100746d27d13fc77f1599201
author: Sigrid Solveig Haflínudóttir <[email protected]>
date: Wed Nov 27 19:12:36 EST 2024
compiler: none of the builtins are constants, still use their value directly
--- a/compiler.lsp
+++ b/compiler.lsp
@@ -437,7 +437,6 @@
(if (and (symbol? head)
(not (in-env? head env))
(bound? head)
- (constant? head)
(builtin? (top-level-value head)))
(top-level-value head)
head)))
--- a/flisp.boot
+++ b/flisp.boot
@@ -9,34 +9,35 @@
#fn("5000n10[:" #()) #fn("5000n10\\:" #())
#fn("5000n10]:" #()) 0 #fn("6000n201_:" #()) 0 0 0 #fn("6000n201c:" #())
#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("8000z0700}2:" #(apply))
+ #fn("8000z0700}2:" #(+)) #fn("8000z0700}2:" #(-))
+ #fn("8000z0700}2:" #(*)) #fn("8000z0700}2:" #(/))
+ #fn("8000z0700}2:" #(div0))
+ #fn("6000n201l:" #()) #fn("6000n201m:" #()) 0 #fn("8000z0700}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)
- *interactive* #f *syntax-environment*
+ *empty-string* "" *interactive* #f *runestring-type* (array rune)
+ *string-type* (array byte) *syntax-environment*
#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)))
+ begin)) letrec #fn(">000z1202021e12273052e122240522515154e1222605262:" #(#fn(nconc)
+ λ #fn(map) car #fn("8000n12021e12205162:" #(#fn(nconc) set! #fn(copy-list)))
#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)
+ begin or => 1arg-lambda? caddr caadr let if cddr #fn(gensym)) cond-clauses->if))) do #fn("J000z220501<2172052217305221240522587268927882829e12: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:74751523=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:" #()))) 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!))
+ #fn("5000n10B3500T:7060:" #(void)) letrec)) with-bindings #fn("G000z12071052207205220230522425e12076888653e12720288687535129242: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
@@ -83,17 +84,16 @@
#fn("6000n10r4G:" #() bcode:sp) bcode:stack #fn("8000n20r40r4G1Mp:" #() bcode:stack)
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~52e3e2:0<25CS01El390260Te2:202027710T1K~52e3e2:0<28CO01El3500T:202029710T1K~52e3e2:20710152e2:" #(#.list
- bq-process unquote #.cons 'unquote unquote-splicing copy-list 'unquote-splicing
+ bq-bracket #fn(";000n20H3=070710152e2:0<22CR01El380700=P:707324710=1K~52e3e2:0<25CS01El390260Te2:707027710T1K~52e3e2:0<28CO01El3500T:707029710T1K~52e3e2:70710152e2:" #(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~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~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~52e252P:F<0=770<A521P62:2071760A521P51P:" #(nconc
- reverse! unquote nreconc #.list 'unquote bq-process bq-bracket))) bq-process)
+ bq-bracket1 #fn(":000n20B;38040<20Q3K01El3500T:7122730=1K~52e3:730162:" #(unquote
+ cons 'unquote bq-process) bq-bracket1)
+ bq-process #fn("<000n20R380200e2:0]3T0717205115286<73C907486=P:757486e3:0H3400:0<26CB07327710T1KM52e3:0<28CW01El;3:04790r2523500T:7:2;710=1K~52e3:7<7=052It07>0512?2@1>105286J807387P:87=JA07:87<7186152e3:2A7B87P7186152e162: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) list* #fn("=000n20J;02071151P:0B3n00<22CW020731AEl3700=@C07425e2760=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
#fn("5000n10T<<:" #() caaadr) caaar #fn("5000n10<<<:" #() caaar)
@@ -121,10 +121,10 @@
closure? #fn("6000n10\\;36040[S:" #() closure?) compile
#fn("8000n170q7105162:" #(compile-f lower-define) compile)
compile-and #fn(";000n470018283D2166:" #(compile-short-circuit brf) compile-and)
- compile-app #fn("E000n483<88R;3Z047088152S;3M0488Z;3E04218851;3:04228851[3;0228851@40887383=24523i07501O89544760K524770183=537608:U5247808237029@402:8:63:89[;39047;8951892<Q;3V047089152S;3I04222<512=d;3;047>83r2523E07501O83T5447802<62:89B;3E047?89<51;39047@83513=07A01828364:8:IE07501O89544760K52@30D4770183=537608;U5248:I<0760r/52@30D48:3C07B018283898:8;67:780823702C@402D8;63:" #(in-env?
- #fn(constant?) #fn(top-level-value) length> 255 compile-in bcode:stack
- compile-arglist emit tcall.l call.l builtin->instruction cadr #.cadr length=
- is-lambda? inlineable? compile-let compile-builtin-call tcall call) compile-app)
+ compile-app #fn("E000n483<88R;3O047088152S;3B0488Z;3:04218851[3;0218851@40887283=23523i07401O89544750K524760183=537508:U5247708237028@40298:63:89[;39047:8951892;Q;3V047089152S;3I04212;517;d;3;047<83r2523E07401O83T5447702;62:89B;3E047=89<51;39047>83513=07?01828364:8:IE07401O89544750K52@30D4760183=537508;U5248:I<0750r/52@30D48:3C07@018283898:8;67:770823702A@402B8;63:" #(in-env?
+ #fn(top-level-value) length> 255 compile-in bcode:stack compile-arglist emit
+ tcall.l call.l builtin->instruction cadr length= is-lambda? inlineable?
+ compile-let compile-builtin-call tcall call) compile-app)
compile-arglist #fn("8000n3702101>282524228261:" #(for-each #fn("9000n170AFO054471AK62:" #(compile-in
bcode:stack)) #fn(length)) compile-arglist)
compile-begin #fn("9000n483H3?0700182715064:83=H3>070018283<64:7001O83<5447202352474018283=64:" #(compile-in
@@ -134,9 +134,9 @@
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~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
+ compile-f- #fn("O000n270501T711T517215173741T52711518;J7025@408;87H360E@802687518=268:51~73778:528:\x85\xa208?JL07886298>88J708=@508=U54@r07:867;2<7=2<7>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
complex-bindings lambda:body box-vars compile-in ret values #fn(function)
encode-byte-code bcode:code const-to-idx-vec bcode:cenv) compile-f-)
@@ -161,15 +161,14 @@
compile-or #fn(";000n470018283O2166:" #(compile-short-circuit brt) compile-or)
compile-prog1 #fn(":000n37001O82T544718251B3W0720K5247301O71825154474025524720r/62:D:" #(compile-in
cddr bcode:stack compile-begin emit pop) compile-prog1)
- compile-set! #fn("?000n470821E538821CF07201O83544730248263:88<El7588=51893<07688=51@9077082528:3g07308937028@40298;5347:0K5247201O835447:0r/5247302;62:7201O8354489IA07<2=2>825251@30D47302?8;63:" #(lookup-sym
- global compile-in emit setg vinfo:heap? vinfo:index capture-var! loada loadc
- bcode:stack set-car! error #fn(string) "internal error: misallocated var "
- seta) compile-set!)
+ compile-set! #fn("?000n470821E538821CF07201O83544730248263:88<El88=T893<07588=51@9076082528:3g07308937027@40288;534790K5247201O83544790r/5247302:62:7201O8354489IA07;2<2=825251@30D47302>8;63:" #(lookup-sym
+ global compile-in emit setg vinfo:index capture-var! loada loadc bcode:stack
+ set-car! error #fn(string) "internal error: misallocated var " seta) compile-set!)
compile-short-circuit #fn("<000n683H3=07001828464:83=H3>070018283<64:710517001O83<544720K52473024524730858:534720r/5247302552476018283=84855647708:62:" #(compile-in
make-label bcode:stack emit dup pop compile-short-circuit mark-label) compile-short-circuit)
- compile-sym #fn(";000n470821E538821Cb0228251;3=0473248251513@07502624825163:750278263:88<El3\\0750287988=5153483;3:047:88=513:07502;62:D:7502<7=0825253483;3:047:88=513:07502;62:D:" #(lookup-sym
+ compile-sym #fn(";000n470821E538821Cb0228251;3=0473248251513@07502624825163:750278263:88<El3Y0750287988=5153483;370488=T3:07502:62:D:7502;7<0825253483;370488=T3:07502:62:D:" #(lookup-sym
global #fn(constant?) printable? #fn(top-level-value) emit loadv loadg loada
- vinfo:index vinfo:heap? car loadc capture-var!) compile-sym)
+ vinfo:index car loadc capture-var!) compile-sym)
compile-thunk #fn(":000n170q21q72051e362:" #(compile-f λ
lower-define) compile-thunk)
compile-while #fn(";000n470051700517101O7250544730K524740885247101O82544750268953475027524730r/5247101O8354475028885347408962:" #(make-label
@@ -211,33 +210,31 @@
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=\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!
+ encode-byte-code #fn("S000n17005171855172238651r3238651r2ki2M2452238651E255025502650OO278<28524D8988L3\xd9148689G?=48=29CP02:8:8689KMG2;8<5153489r2M?9@\xa81278<2<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<2P8>5152489KM?9@\xce08>X3\xc708=2K8?2Q523H0278<2P8>5152489KM?9@\x9f02K8?2R523\x810278<2P8>5152489KM?94278<2P8689G5152489KM?948=2SCK0278<2P8689G5152489KM?9@30D@E0278<2T8>5152489KM?9\x8c1@30O@\x83.47U2V8<878:>38;5242W8<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
- 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~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\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(sizeof) #fn(byte) #fn(get) Instructions jmp jmp.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(int32)
+ (loadv.l loadg.l setg.l loada.l seta.l largc lvargc call.l tcall.l loadc.l
+ box.l) (optargs keyargs) keyargs #fn(uint8) table-foreach #fn(";000n220A052421AF37072@407324921520~5162:" #(#fn(io-seek)
+ #fn(io-write) int32 int16 #fn(get))) #fn(iostream->string)) encode-byte-code)
+ eq #.eq? 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\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\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)
+ caar begin #fn(append) cdar) splice-begin) *expanded* #fn("A000n20H3400:A<201523:0F<051@300A<21152873;0728651@30q2324758852152\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<52922223747585515292<52_493<85PA<0=51P:" #(define
+ caar #fn(nconc) #fn(map) list get-defined-vars)) caar cdar) expand-body)
#fn("9000n20H3400:0<B;37040<=B3F070051A<71051152e2@400<F<0=152P:" #(caar
cadar) expand-lambda-list) #fn("7000n10H3600e1:0<B3?070051A<0=51P:0<A<0=51P:" #(caar) l-vars)
- #fn("?000n20T7005171051A<0T5122232489521522225e1F<868:52e192<888:528764:" #(lastcdr
- cddr #fn(nconc) #fn(map) #.list λ) expand-lambda)
- #fn("?000n20=V;I6040TH3M070051J400:210TA<72051152e3:730517405170051F<730515125262789521522521e18792<868:52Pe193<888:5263:" #(cddr
- define caddr cdadr caadr #fn(nconc) #fn(map) #.list) expand-define)
+ #fn("?000n20T7005171051A<0T5122237489521522225e1F<868:52e192<888:528764:" #(lastcdr
+ cddr #fn(nconc) #fn(map) list λ) expand-lambda)
+ #fn("?000n20=V;I6040TH3M070051J400:210TA<72051152e3:730517405170051F<730515125267789521522521e18792<868:52Pe193<888:5263:" #(cddr
+ define caddr cdadr caadr #fn(nconc) #fn(map) list) expand-define)
#fn("=000n20T20A<71051222324F1>2865215252P:" #(begin cddr #fn(nconc)
#fn(map)
#fn("9000n10<70A<0TF525150Fe3:" #(compile-thunk))) expand-let-syntax)
@@ -252,17 +249,17 @@
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(">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}2:q:" #(define
- caadr begin #fn(nconc) #fn(map)) #(#0#)))))
+ #fn(":000n382J401:082<700182=5362:" #(foldr) foldr) for-each #fn(">000z2D\x8a7872087>1_482JI0D1B3@0401<5141=?1@\x1f/@<087<0182P524D:" #(#fn("9000n21<B3J002071152f24A<0207215262: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?07324A<0=52}2:q:" #(define
+ caadr begin nconc #fn(map)) #(#0#)))))
hex5 #fn("8000n170210r@52r52263:" #(string-lpad #fn(number->string)
#\0) hex5)
identity #fn("5000n10:" #() identity) in-env?
#fn("7000n21B;3F042001<52;I:047101=62:" #(#fn(assq) in-env?) in-env?)
index-of #fn("9000n31J40O:01<C5082:7001=82KM63:" #(index-of) index-of)
- inlineable? #fn("9000n10<85B;3u047085<51;3i047185T51;3]04722385T52;3O047485T2552S;3@047685T270=5162:" #(is-lambda?
- list? every #.symbol? length> 255 length= #fn(length)) inlineable?)
+ inlineable? #fn("9000n10<85B;3u047085<51;3i047185T51;3]04727385T52;3O047485T2552S;3@047685T270=5162:" #(is-lambda?
+ list? every symbol? length> 255 length= #fn(length)) inlineable?)
io-readall #fn("8000n12050218505242285518623d;3804240513702560:86:" #(#fn(buffer)
#fn(io-copy) #fn(iostream->string) "" #fn(io-eof?)
#fn(eof-object)) io-readall)
@@ -283,7 +280,7 @@
lastcdr #fn("6000n10H3400:70051=:" #(last-pair) lastcdr) length=
#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
+ list->vector #fn("6000n1700}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~62:" #(<= list-tail) list-tail) list?
@@ -313,12 +310,11 @@
*print-readably* *print-level*
*print-length* *os-name*) *print-pretty*
*print-readably* #fn("5000n0Aw04Fw1:" #(*print-pretty* *print-readably*))
- #fn("=000n07021A>1722350515224252627842628845253f2F52429F7:52\x8c142;F61:" #(filter
+ #fn("=000n07021A>1722350515224752677842678845253f2F52429F7: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)
- #fn(write) #fn(nconc) #fn(map) #.list #fn(top-level-value)
- #fn(io-write) *linefeed* #fn(io-close)))
+ #fn(write) nconc #fn(map) list top-level-value #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\x8a78786_4K1K~21870>2|486:" #(<= #fn("7000n1A<F051qPN4AA<=_:" #())) map-int)
@@ -338,10 +334,10 @@
#fn("6000n170051S:" #(even?) odd?) positive? #fn("7000n1700E62:" #(>) positive?)
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("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
+ #fn("7000n07071A62:" #(for-each
+ write)) #fn("6000n1A50420061:" #(#fn(raise)))) princ)
+ print #fn("9000z07071062:" #(for-each 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?)
@@ -349,12 +345,11 @@
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{863I02273247576865152275261: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!
- "/" λ) fn-name)
- reverse! length> list-tail *interactive* filter closure? #fn(map)
+ ffound caddr #fn(raise))) #fn(symbol) string-join #fn(map) string reverse! "/"
+ λ) fn-name) reverse!
+ length> list-tail *interactive* filter closure? #fn(map)
#fn("6000n10Z;380420061:" #(#fn(top-level-value)))
#fn(environment) for-each #fn("8000n170A<0KGF5271051==P5147250492<El3?0730KG0EG52@30O49292<KM_:" #(print
vector->list newline disassemble))) print-stack-trace)
@@ -363,15 +358,17 @@
#fn(iostream->string)) print-to-string)
printable? #fn("6000n120051;I80421051S:" #(#fn(iostream?)
#fn(eof-object?)) printable?)
- quote-value #fn("6000n1700513400:210e2:" #(self-evaluating? quote) quote-value)
+ procedure? #.function? quote-value
+ #fn("6000n1700513400:210e2:" #(self-evaluating? quote) quote-value)
quoted? #fn("6000n10<20Q:" #(quote) quoted?) random
#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 #fn("7000n17071062:" #(read-all-of read) read-all)
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
+ ref-int16-LE #fn(":000n2202101EMGE522101KMGr852M61:" #(#fn(int16)
+ #fn(ash)) ref-int16-LE)
+ ref-int32-LE #fn("<000n2202101EMGE522101KMGr8522101r2MGr@522101r3MGrH52g461:" #(#fn(int32)
#fn(ash)) ref-int32-LE)
repl #fn(":000n0DD\x8a4\x8a58420_485218485>2_485<5047260:" #(#fn("8000n0702151422735142425{267751S;3F04788451798551485w:4D:" #(princ
"> " #fn(io-flush) *output-stream* #fn("5000n02060:" #(#fn(read)))
@@ -427,10 +424,11 @@
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*
- *stderr* #fn("5000n0Aw0:" #(*output-stream*))
- #fn("6000n070A51471225061:" #(print-exception print-stack-trace #fn(stacktrace)))
- #fn("6000n1A50420061:" #(#fn(raise)))) top-level-exception-handler)
+ top-level-bound? #.bound? 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\x8c1\x8c142<:" #(#fn(top-level-value)
#fn(gensym) traced? #fn(set-top-level-value!) eval λ begin write cons quote
newline apply ok) trace)