ref: 05f265f21c70dc51ada39404ab73de5b34eeffbf
parent: c3958c2e17268358e7a228871b7b1cbe73f7734e
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Tue Dec 17 20:50:10 EST 2024
set default scr_width to 100
--- a/flisp.boot
+++ b/flisp.boot
@@ -1,6 +1,6 @@
(*builtins* #(0 0 0 0 0 0 0 0 0 0 0 0 #fn("5000n10<:" #())
- #fn("5000n10=:" #()) 0 0 0 0 #fn("5000n10B:" #()) 0 0 0 0 0 #fn("5000n10H:" #())
- 0 0 0 #fn("6000n201L:" #()) 0 #fn("6000n201N:" #()) 0 #fn("6000n201P:" #())
+ #fn("5000n10=:" #()) 0 0 0 0 #fn("5000n10B:" #()) 0 0 0 0 0 #fn("5000n10H:" #()) 0 0
+ 0 #fn("6000n201L:" #()) 0 #fn("6000n201N:" #()) 0 #fn("6000n201P:" #())
#fn("6000n201Q:" #()) #fn("5000n10R:" #())
#fn("5000n10S:" #()) #fn("5000n10T:" #()) 0 #fn("5000n10V:" #())
#fn("5000n10W:" #()) #fn("5000n10X:" #())
@@ -8,41 +8,35 @@
#fn("5000n10[:" #()) #fn("5000n10\\:" #())
#fn("5000n10]:" #()) 0 #fn("6000n201_:" #()) 0 0 0 #fn("6000n201c:" #())
#fn("6000n201d:" #()) #fn("7000z00:" #())
- #fn("8000z0700}2:" #(apply))
- #fn("8000z0700}2:" #(+)) #fn("8000z0700}2:" #(-))
- #fn("8000z0700}2:" #(*)) #fn("8000z0700}2:" #(/))
- #fn("8000z0700}2:" #(div0))
+ #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("8000z0700}2:" #(aset!)) 0 0 0 0 0 0 0 0 0 0 0 #fn("9000n3012082>1|:" #(#fn("6000n1A061:" #())))
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 #fn("8000z0700}2:" #(aref)) 0)
- *empty-string* "" *runestring-type* (array rune) *string-type* (array
- byte)
+ *empty-string* "" *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 cons? 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(">000z1202021e12273052e122240522515154e1222605262:" #(#fn(nconc)
+ with-bindings *input-stream* #fn(copy-list))) unless #fn("<000z1200O211Pe4:" #(if 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<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
+ #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(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("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!
+ 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)) quasiquote #fn("7000n1700E62:" #(bq-process)))
+ λ #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)) quasiquote #fn("7000n1700E62:" #(bq-process)))
1+ #fn("6000n10KM:" #() 1+) 1-
#fn("6000n10K~:" #() 1-) 1arg-lambda? #fn("7000n10B;3E04700<51;3:04710TK62:" #(is-lambda?
length=) 1arg-lambda?)
@@ -49,32 +43,30 @@
<= #fn("6000n210L;IB0470051;380470151S:" #(nan?) <=) >
#fn("6000n210L:" #() >) >= #fn("6000n201L;IB0470051;380470151S:" #(nan?) >=)
Instructions #table(call.l 81 trycatch 75 largc 79 loadg.l 68 aref2 23 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 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 46 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 bound? 42 brf 3 function? 44 box.l 91 < 28 brnn.l 84 jmp 16 loadv 2 for 76 lvargc 80 dummy_eof 93 + 55 brne 19 compare 61 neg 37 loadv.l 67 number? 40 vargc 74 brn 85 brbound 88 vector 63 loadc1 22 setg.l 72 cons? 18 brf.l 49 aref 92 symbol? 34 aset! 64 car 12 cons 32 tcall.l 82 - 56 brn.l 86 optargs 87 closure 14 pop 4 eqv? 51 list 53 seta 15 seta.l 73 brnn 26 loadnil 65 loadg 7 loada 8 tcall 6)
- __init_globals #fn("5000n020w1422w3474w5476w7478w9:" #("/"
- *directory-separator*
- "\n"
- *linefeed*
- *stdout*
- *output-stream*
- *stdin*
- *input-stream*
- *stderr*
+ __init_globals #fn("5000n020w1422w3474w5476w7478w9:" #("/" *directory-separator* "\n"
+ *linefeed* *stdout*
+ *output-stream* *stdin*
+ *input-stream* *stderr*
*error-stream*) __init_globals)
__rcscript #fn(":000n0708421c37022@U08423c3A0242526512752@>0242528512952^12:84513907;8461:D:" #(*os-name*
- "unknown" "" "plan9" #fn(string) #fn(os-getenv) "home" "/lib/flisprc" "HOME"
- "/.flisprc" #fn(path-exists?) load) __rcscript)
+ "unknown" "" "plan9" #fn(string) #fn(os-getenv) "home" "/lib/flisprc" "HOME" "/.flisprc" #fn(path-exists?)
+ load) __rcscript)
__script #fn("6000n1200>121{:" #(#fn("6000n070A61:" #(load))
#fn("6000n170051421K61:" #(top-level-exception-handler
- #fn(exit)))) __script)
+ #fn(exit)))) __script)
__start #fn("7000n1705040=B3D00=w14Ow24730T51@C00w14Dw24745047550426E61:" #(__init_globals
- *argv* *interactive* __script __rcscript repl #fn(exit)) __start)
+ *argv*
+ *interactive*
+ __script
+ __rcscript
+ repl #fn(exit)) __start)
abs #fn("6000n10EL3500U:0:" #() abs) any
#fn("7000n21B;3D0401<51;I:047001=62:" #(any) any) arg-counts #table(bound? 1 function? 1 symbol? 1 car 1 cons 2 < 2 cadr 1 for 3 boolean? 1 fixnum? 1 vector? 1 cdr 1 atom? 1 div0 2 equal? 2 eqv? 2 compare 2 null? 1 not 1 number? 1 = 2 set-cdr! 2 eq? 2 builtin? 1 cons? 1 set-car! 2)
- argc-error #fn(";000n2702102211Kl37023@402465:" #(error "compile error: "
- " expects " " argument."
- " arguments.") argc-error)
- array? #fn("7000n10];IF042005185B;390485<21Q:" #(#fn(typeof) array) array?)
- assoc #fn("7000n21H340O:701510d3501<:7101=62:" #(caar assoc) assoc)
- assv #fn("7000n21H340O:701510c3501<:7101=62:" #(caar assv) assv)
+ argc-error #fn(";000n2702102211Kl37023@402465:" #(error "compile error: " " expects "
+ " argument." " arguments.") argc-error)
+ array? #fn("7000n10];IF042005185B;390485<21Q:" #(#fn(typeof) array) array?) assoc
+ #fn("7000n21H340O:701510d3501<:7101=62:" #(caar assoc) assoc) assv #fn("7000n21H340O:701510c3501<:7101=62:" #(caar
+ assv) assv)
bcode:cenv #fn("6000n10r3G:" #() bcode:cenv) bcode:code
#fn("6000n10EG:" #() bcode:code) bcode:ctable #fn("6000n10KG:" #() bcode:ctable)
bcode:indexfor #fn(";000n2700517105122861523:02386162:2486187534870r287KMp4:" #(bcode:ctable
@@ -84,148 +76,132 @@
box-vars #fn("9000n2D\x8a68620086>2_486<^1161:" #(#fn("9000n10B3Q00<T3B070A21720<5153@30D4F<0=61:D:" #(emit
box caddr))) box-vars)
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(":000n20B3R00<20CK01El3500T:7122730=1K~52e3:730162:" #(unquote
- cons 'unquote bq-process) bq-bracket1)
+ bq-process unquote cons 'unquote unquote-splicing copy-list 'unquote-splicing unquote-nsplicing
+ 'unquote-nsplicing) bq-bracket)
+ bq-bracket1 #fn(":000n20B3R00<20CK01El3500T:7122730=1K~52e3:730162:" #(unquote cons 'unquote
+ bq-process) bq-bracket1)
bq-process #fn("<000n20R380200e2:0]3T0717205115286<73C907486=P:757486e3:0H3400:0<26CB07327710T1KM52e3:0<28CU01El3?0790r2523500T:7:2;710=1K~52e3:7<7=052It07>0512?2@1>105286J807387P:87=JA07:87<7186152e3:2A7B87P7186152e162:D\x8a6862C186>2_486<^10q62:" #(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
+ 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 #.cons? cons? #.cdr cdr #./ / #.div0 div0 #.set-car! set-car! #.vector vector #.set-cdr! set-cdr! #.< < #.for for #.cons cons #.apply apply #.eqv? eqv? #.vector? vector? #.list list #.aref aref #.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)
- caadar #fn("5000n10<T<:" #() caadar) caaddr
- #fn("5000n10=T<:" #() caaddr) caadr #fn("5000n10T<:" #() caadr)
- caar #fn("5000n10<<:" #() caar) cadaar
- #fn("5000n10<<T:" #() cadaar) cadadr #fn("5000n10TT:" #() cadadr)
- 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("7000n205086B3@0A86<C90186=}2:18661:" #() #(#1=(*values*)))
- capture-var! #fn("<000n27005171186E5387;IG042286510r323861e152p4:" #(bcode:cenv
+ #fn("5000n10T<<:" #() caaadr) caaar #fn("5000n10<<<:" #() caaar) caadar
+ #fn("5000n10<T<:" #() caadar) caaddr #fn("5000n10=T<:" #() caaddr) caadr
+ #fn("5000n10T<:" #() caadr) caar #fn("5000n10<<:" #() caar) cadaar
+ #fn("5000n10<<T:" #() cadaar) cadadr #fn("5000n10TT:" #() cadadr) 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("7000n205086B3@0A86<C90186=}2:18661:" #() #(#1=(*values*))) capture-var! #fn("<000n27005171186E5387;IG042286510r323861e152p4:" #(bcode:cenv
index-of #fn(length) #fn(nconc)) capture-var!)
cdaaar #fn("5000n10<<<=:" #() cdaaar) cdaadr
- #fn("5000n10T<=:" #() cdaadr) cdaar #fn("5000n10<<=:" #() cdaar)
- cdadar #fn("5000n10<T=:" #() cdadar) cdaddr
- #fn("5000n10=T=:" #() cdaddr) cdadr #fn("5000n10T=:" #() cdadr)
- cdar #fn("5000n10<=:" #() cdar) cddaar
- #fn("5000n10<<==:" #() cddaar) cddadr #fn("5000n10T==:" #() cddadr)
- cddar #fn("5000n10<==:" #() cddar) cdddar
- #fn("5000n10<===:" #() cdddar) cddddr #fn("5000n10====:" #() cddddr)
- cdddr #fn("5000n10===:" #() cdddr) cddr
- #fn("5000n10==:" #() cddr) char? #fn("6000n12005121Q:" #(#fn(typeof)
- rune) char?)
+ #fn("5000n10T<=:" #() cdaadr) cdaar #fn("5000n10<<=:" #() cdaar) cdadar
+ #fn("5000n10<T=:" #() cdadar) cdaddr #fn("5000n10=T=:" #() cdaddr) cdadr
+ #fn("5000n10T=:" #() cdadr) cdar #fn("5000n10<=:" #() cdar) cddaar
+ #fn("5000n10<<==:" #() cddaar) cddadr #fn("5000n10T==:" #() cddadr) cddar
+ #fn("5000n10<==:" #() cddar) cdddar #fn("5000n10<===:" #() cdddar) cddddr
+ #fn("5000n10====:" #() cddddr) cdddr #fn("5000n10===:" #() cdddr) cddr
+ #fn("5000n10==:" #() cddr) char? #fn("6000n12005121Q:" #(#fn(typeof) rune) char?)
closure? #fn("6000n10\\;36040[S:" #() closure?) compile
- #fn("8000n170q7105162:" #(compile-f lower-define) compile)
- compile-and #fn("<000n570018283D218467:" #(compile-short-circuit
- brf) compile-and)
+ #fn("8000n170q7105162:" #(compile-f lower-define) compile) compile-and #fn("<000n570018283D218467:" #(compile-short-circuit
+ brf) compile-and)
compile-app #fn("E000n483<88R3U07088152IK088Z3E0218851[3;0218851@40887283=23523i07401O89544750K524760183=537508:U5247708237028@40298:63:89[;39047:8951892;Cf07089152I\\0212;517;d3P07<83r2523E07401O83T5447702;62:89B3P07=89<513F07>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)
+ #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("8000n3202101>282524228261:" #(#fn(for-each)
#fn("9000n170AFO054471AK62:" #(compile-in
bcode:stack)) #fn(length)) compile-arglist)
compile-aset! #fn("=000n3208251r2~87Kl3?07101O2282P64:7387K523d07101O2475828752P5447601778287525378088U5247902262:7:22r362:" #(#fn(length)
- compile-app aset! > aref list-head compile-arglist list-tail bcode:stack emit
- argc-error) compile-aset!)
+ compile-app aset! > aref list-head compile-arglist list-tail bcode:stack emit argc-error) compile-aset!)
compile-begin #fn("9000n483H3?0700182715064:83=H3>070018283<64:7001O83<5447202352474018283=64:" #(compile-in
void emit pop compile-begin) compile-begin)
compile-builtin-call #fn("=000n7207185O538;3I07283=8;52I=073858;52@30D4858<24CK086El3:07502662:750858663:8<27C[086El3:07502862:86r2l3:07502962:750858663:8<2:Cj086El3:07385K62:86Kl3:07502;62:86r2l3:07502<62:750858663:8<2=CK086El3:07502>62:750858663:8<2?CK086El3:07385K62:750858663:8<2@CM086El3<07502A2B63:750858663:8<2CCW086r2L3;07385r262:750823702D@402C8663:8<2ECc086r2l3:07502F62:7G86r2523?07508586r3~63:7385r262:7508562:" #(#fn(get)
- arg-counts length= argc-error list emit loadnil + load0 add2 - neg sub2 *
- load1 / vector loadv #() apply tapply aref aref2 >) compile-builtin-call)
+ arg-counts length= argc-error list emit loadnil + load0 add2 - neg sub2 * load1 / vector loadv #()
+ apply tapply aref aref2 >) compile-builtin-call)
compile-f #fn("8000n2702101>22262:" #(call-with-values #fn("7000n070AF62:" #(compile-f-))
#fn("5000n20:" #())) compile-f)
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 cons? λ #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)
+ lastcdr lambda:vars filter cons? λ #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-)
compile-if #fn("A000n470051700517005183T718351728351B3;0738351@6074508;DC=07501828<64:8;OC=07501828=64:7501O8;895547602789534780885247501828<544823<07602952@;07602:8:534780895247501828=5447808:62:" #(make-label
caddr cdddr cadddr void compile-in emit brf mark-label ret jmp) compile-if)
compile-in #fn(">000\x8740005000\x884000I60O?4483R3<0700183D64:83H3\xaf083EC:07102262:83KC:07102362:83DC:07102462:83OC:07102562:83qC:07102662:7783513<0710288363:2983513C07:01822;2<51e164:7102=8363:83<2>C<07?0183=63:83<RS;ID0483<Z;I;047@83<1523=07A01828364:83<892BCS07C83T513>07:018283T64:7102=83T63:892DC=07E01828364:892FC>07G018283=64:892HC;07I018363:892JCD07K2L183>22M01>262:892NC@07O018283=8465:892PC>07Q018283=64:892RCE07S0183T2F7T8351P64:892UCE07:01D83T5447102V62:892WCT083TR360O@807X2Y5147Z0183T7[835164:892\\Cp07:01O2Jq83Te35447]7[835151360O@807X2^5147:01O7[83515447102\\62:7A01828364:" #(compile-sym
- emit load0 load1 loadt loadf loadnil fits-i8 loadi8 #fn(eof-object?)
- compile-in #fn(top-level-value) eof-object loadv aset! compile-aset! in-env?
- compile-app quote self-evaluating? if compile-if begin compile-begin prog1
- compile-prog1 λ call-with-values #fn("7000n070AF62:" #(compile-f-))
+ emit load0 load1 loadt loadf loadnil fits-i8 loadi8 #fn(eof-object?) compile-in #fn(top-level-value)
+ eof-object loadv aset! compile-aset! 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\x85K02223AF>2152470A242515163:D:" #(emit loadv #fn(for-each)
#fn("9000n170AF0O64:" #(compile-sym))
- closure #fn(length)))
- and compile-and or compile-or while compile-while cddr return ret set! error
- "set!: second argument must be a symbol" compile-set! caddr trycatch
- 1arg-lambda? "trycatch: second form must be a 1-argument lambda") compile-in)
+ closure #fn(length))) and compile-and
+ or compile-or while compile-while cddr return ret set! error "set!: second argument must be a symbol"
+ compile-set! caddr trycatch 1arg-lambda? "trycatch: second form must be a 1-argument lambda") compile-in)
compile-let #fn("A000n483<83=7005188T71018953728;737488518;528:537508=524268=1<521=P7708>827488515447808<U524798<E523A082I<07:02;8<63:D:" #(bcode:sp
- compile-arglist vars-to-env complex-bindings caddr box-vars #fn(nconc)
- compile-in bcode:stack > emit shift) compile-let)
+ compile-arglist vars-to-env complex-bindings caddr box-vars #fn(nconc) compile-in bcode:stack >
+ emit shift) compile-let)
compile-or #fn("<000n470018283O21O67:" #(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<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!)
+ 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("?000n783H3?0700182848665:83=H3@070018283<8665:86;I804710517001O83<86554720K52486360O@9073024524730858;534720r/52486360O@907302552476018283=84858657486340O:7708;62:" #(compile-in
make-label bcode:stack emit dup pop compile-short-circuit mark-label) compile-short-circuit)
compile-sym #fn(";000n470821E538821C`02282513M073248251513@07502624825163:750278263:88<El3W0750287988=51534833A088=T3:07502:62:D:7502;7<08252534833A088=T3:07502:62:D:" #(lookup-sym
- global #fn(constant?) printable? #fn(top-level-value) emit loadv loadg loada
- vinfo:index car loadc capture-var!) compile-sym)
- compile-thunk #fn(":000n170q21q72051e362:" #(compile-f λ
- lower-define) compile-thunk)
+ global #fn(constant?) printable? #fn(top-level-value) emit loadv loadg loada 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
compile-in void bcode:stack mark-label emit brf pop jmp) compile-while)
complex-bindings #fn("=000n2205020507101OO8687564722386>174875162:" #(#fn(table)
- complex-bindings- filter #fn("7000n120A062:" #(#fn(has?))) table-keys) complex-bindings)
+ complex-bindings-
+ filter #fn("7000n120A062:" #(#fn(has?)))
+ table-keys) complex-bindings)
complex-bindings- #fn("=000n61J40O:0R3K0833D02001523;021840D63:D:0H;I80472051340O:0<23Co0200T1523Q021850TD534833>021840TD53@30D@30D474750511O83848566:760<513U074770517817905152O82S;I50483848566:740<17:051838485562;2<1838485>40=52P:" #(#fn(memq)
- #fn(put!) quoted? set! complex-bindings- caddr is-lambda? lambda:body diff
- lambda:vars inlineable? #fn(map) #fn(";000n1700AOF929366:" #(complex-bindings-))) complex-bindings-)
+ #fn(put!) quoted? set! complex-bindings- caddr is-lambda? lambda:body diff lambda:vars
+ inlineable? #fn(map) #fn(";000n1700AOF929366:" #(complex-bindings-))) complex-bindings-)
const-to-idx-vec #fn("9000n1207105151222385>17405152485:" #(#fn(vector-alloc)
- bcode:nconst #fn(for-each) #fn("7000n2A10p:" #()) bcode:ctable) const-to-idx-vec)
- copy-tree #fn("7000n10H3400:700<51700=51P:" #(copy-tree) copy-tree)
- count #fn("9000n2D\x8a6862086>1_486<01E63:" #(#fn("9000n31J5082:A<01=01<5139082KM@408263:" #() count-)) count)
+ bcode:nconst #fn(for-each)
+ #fn("7000n2A10p:" #())
+ bcode:ctable) const-to-idx-vec)
+ copy-tree #fn("7000n10H3400:700<51700=51P:" #(copy-tree) copy-tree) count
+ #fn("9000n2D\x8a6862086>1_486<01E63:" #(#fn("9000n31J5082:A<01=01<5139082KM@408263:" #() count-)) count)
delete-duplicates #fn(":000n1700rD523O02150D\x8a686228586>2_486<^10q62: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)
+ #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("U000\x871000.///\x881000I60O?14z282JD07001E53471504D:@30D482<2205123051DD2487>1?:425187>2?;4r4268851\x8a<D8<<8=L3\x93242728888<>2O79537:8<<r4523907150@30D4E87K~2;|48<8<<KM_48>2<8?2=523[08;8>8<<r45348:897>888<<52G5148<8<<r4M_@\x1f12<8?2?523V08;8>8<<K5348:89888<<GG5148<8<<KM_@\xf012<8?2@523e08;8>8<<K5347A2B888<<G8>2CC70r3@30EM515148<8<<KM_@\xb212<8?2D523\\08;8>8<<r45347A2B7>888<<52515148<8<<r4M_@}12<8?2E523\xb808;8>8<<r88>2FC70r4@30EM5347A2B7>888<<52512G5248<8<<r4M_47A2B7>888<<52515148<8<<r4M_48>2FCY07A2G5147A2B7>888<<52512G5248<8<<r4M_@30D@\xec08?2Hc3^08;8>8<<r45347A2B7>888<<52512G5248<8<<r4M_@\xb802<8?2I523e08;8>8<<r25347A2J7K8<<r,7L888<<52g3515248<8<<r2M_@z02<8?2M523e08;8>8<<r45347A2J7K8<<r,7>888<<52g3515248<8<<r4M_@<08;8>8<<E53^1^1@\xc8-:" #(disassemble
- newline #fn(function:code) #fn(function:vals)
- #fn("9000n10\\3H00[IC07021514720OAKM63:73061:" #(princ "\n" disassemble print) print-val)
- #fn(";000n370A3S0FEl3M071A72151523@0A182ML37023@4024751r5~512602765:" #(princ
- >= 1- " >" " " hex5 ": " " ") print-inst)
- #fn(length) #fn(table-foldl) #fn("7000n382;I?041AF<GQ;34040:" #())
- Instructions > #fn("6000n1702161:" #(princ "\t"))
- #fn(memq) (loadv.l loadg.l setg.l) ref-int32-LE (loadv loadg setg)
- (loada seta loadc call tcall list + - * / vector argc vargc loadi8 apply
- tapply closure box shift aref) princ #fn(number->string) aref (loada.l
- seta.l
- loadc.l largc
- lvargc call.l
- tcall.l box.l)
- (optargs keyargs) 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)
+ newline #fn(function:code) #fn(function:vals) #fn("9000n10\\3H00[IC07021514720OAKM63:73061:" #(princ
+ "\n" disassemble print) print-val) #fn(";000n370A3S0FEl3M071A72151523@0A182ML37023@4024751r5~512602765:" #(princ
+ >= 1- " >" " " hex5 ": " " ") print-inst) #fn(length)
+ #fn(table-foldl) #fn("7000n382;I?041AF<GQ;34040:" #()) Instructions > #fn("6000n1702161:" #(princ
+ "\t")) #fn(memq) (loadv.l loadg.l setg.l) ref-int32-LE (loadv loadg setg)
+ (loada seta loadc call tcall list + - * / vector argc vargc loadi8 apply tapply closure box shift
+ aref) princ #fn(number->string) aref (loada.l seta.l loadc.l largc lvargc call.l tcall.l box.l)
+ (optargs keyargs) 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("O000z20EG82JR0120CB087<21C:08722_@900E187Pp@\x9e123124523A075082<52e1?2@30D42612752883F07882<29523:088T?1@30D^142612:52883F07882<29523:088T?1@30D^1412;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@30D487<12CQ;3\x9b04882DCM087T2ECE00E82<2F7G8751PPp@x0882DCB00E82<2H87=PPp@a0882ICB00E82<2J87=PPp@J0882ECB00E82<2K87=PPp@30O;I]0412HCI0882ECB00E82<2F87=PPp@?00E7L182P8752p^140:" #(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)
- loada1 loadc loadc0 loadc1 brf not null? brn cddr brt eq? brne brnn nreconc) emit)
+ ((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) loada1 loadc loadc0 loadc1 brf not null? brn cddr brt eq?
+ brne brnn nreconc) emit)
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<2<2=7>873\x8308=8D2?C702@@p08D2AC702B@d08D2CC702D@X08D2EC702F@L08D2GC702H@@08D2IC702J@408=^1@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^1@30O@\x83.42U2V8<878:>38;5242W8<61:" #(reverse!
- list->vector >= #fn(length) 65536 #fn(table)
- #fn(buffer) #fn(io-write) #int32(0) label #fn(put!)
- #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)
- #fn(for-each) #fn(";000n220A052421AF37072@407324921520~5162:" #(#fn(io-seek)
- #fn(io-write)
- int32 int16
- #fn(get)))
+ list->vector >= #fn(length) 65536 #fn(table) #fn(buffer)
+ #fn(io-write) #int32(0) label #fn(put!) #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) #fn(for-each) #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
@@ -232,132 +208,123 @@
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<B3P07105122CF023A<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@30q2324758852152\x8a987IA024269289>28662:D\x8a:8:278:928993>4_48:<^186518:D8;B3c0493<788;51QIC08;92<8;<89<52_@;08;798;51_48;=?;@\xfb/48::" #(begin
+ #fn("8000n10H3400:020d3400:0<B3P07105122CF023A<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@30q2324758852152\x8a987IA024269289>28662:D\x8a:8:278:928993>4_48:<^186518: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<B3F02071051C<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<B3M00<=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<0T5122237489521522225e1F<868:52e192<888:528764:" #(lastcdr
- cddr #fn(nconc) #fn(map) list λ) expand-lambda)
+ #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)
- #fn("5000n20:" #() local-expansion-env)
- #fn("<000n20H3400:0<208615221A10>3873P087=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("5000n20:" #() local-expansion-env) #fn("<000n20H3400:0<208615221A10>3873P087=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\x8a48420AF84>3_484<^19261:" #(#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)
- λ #fn(copy-list)) expand-define)
- extend-env #fn("8000n370182E530P:" #(vars-to-env) extend-env)
- 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)
+ void error "compile error: invalid syntax " print-to-string set! #fn(nconc) λ #fn(copy-list)) expand-define)
+ extend-env #fn("8000n370182E530P:" #(vars-to-env) extend-env) 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)
get-defined-vars #fn("7000n170A<05161:" #(delete-duplicates) #(#0=(#fn("8000n10H340q:0<20Cj00=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]04727385T52;3O047485T2552S;3@047685T270=5162:" #(is-lambda?
+ 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]04727385T52;3O047485T2552S;3@047685T270=5162:" #(is-lambda?
list? every symbol? length> 255 length= #fn(length)) inlineable?)
io-readall #fn("8000n12050218505242285518623d3?0240513702560:86:" #(#fn(buffer)
- #fn(io-copy) #fn(iostream->string) "" #fn(io-eof?)
- #fn(eof-object)) io-readall)
+ #fn(io-copy)
+ #fn(iostream->string)
+ "" #fn(io-eof?)
+ #fn(eof-object)) io-readall)
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^161: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\x8a5852085>1_485<00OO54421227305162:" #(#fn(":000n40V;I5040R340D:0B3Z00<R3T082;I504833<0702112263:A<0=1828364:0B3\x8d00<B3\x870730<r2523?074051R360O@=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."
- "compile error: invalid formal argument ") check-formals)
- #fn(map) #fn("6000n10B390700<61:0:" #(keyword->symbol)) to-proper) lambda-vars)
+ 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^161: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\x8a5852085>1_485<00OO54421227305162:" #(#fn(":000n40V;I5040R340D:0B3Z00<R3T082;I504833<0702112263:A<0=1828364:0B3\x8d00<B3\x870730<r2523?074051R360O@=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." "compile error: invalid formal argument ") check-formals)
+ #fn(map)
+ #fn("6000n10B390700<61:0:" #(keyword->symbol))
+ to-proper) lambda-vars)
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~62:" #(length=) length=)
- length> #fn("8000n21EL3400:1El3;00B;34040:0H3601EL:700=1K~62:" #(length>) 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("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?
+ #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?
#fn("6000n10V;I@040B;3904700=61:" #(list?) list?) load #fn("9000n120021522285>123850>2{:" #(#fn(file)
:read #fn("9000n0D\x8a48420A84>2_484<^1DDD63:" #(#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(read) load-process #fn(io-close))))) #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)
+ #fn(";000n31J5020:1<2108752883808288P:7201=82KM63:" #(global #fn(assq) lookup-sym) lookup-sym)
lower-define #fn(";000n1D20?540H;I804710513400:0<22C<0737405161:750<513K02627e10Te185051e17805164:2973062:" #(#fn("=000n170051B3N071051B3=02270051P@7073051@60745075855176855186J5087:278687e328298652P:" #(cddr
cdddr begin caddr void get-defined-vars lower-define λ #fn(map)
- #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=}2:0:" #(macrocall?) macroexpand-1)
- make-code-emitter #fn("9000n0q2050EqEo5:" #(#fn(table)) make-code-emitter)
- make-label #fn("5000n12060:" #(#fn(gensym)) make-label)
+ #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=}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\x8a58520_4D\x8a6862185860>3_486<^12205161:" #(#fn("8000n270712205151162:" #(mod0
abs #fn(hash)) $hash-keyword) #fn("=000n120r20i2O52D\x8a68621A085F86>5_486<^19261:" #(#fn(vector-alloc)
- #fn(":000n10B3p070051r2A<85F52i29286G3;093<FKM61:928685p49286KM71051p494<0=61:92:" #(caar
+ #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)
- :write :create :truncate (*linefeed* *directory-separator* *argv* that
- *print-pretty* *print-width*
- *print-readably* *print-level*
- *print-length* *os-name* *interactive*)
- *print-pretty* *print-readably* #fn("5000n0Aw04Fw1:" #(*print-pretty*
- *print-readably*))
- #fn("=000n07021A>1722350515224752677842678845253f2F52429F7:52^142;F61:" #(filter
+ :write :create :truncate (*linefeed* *directory-separator* *argv* that *print-pretty*
+ *print-width* *print-readably* *print-level* *print-length*
+ *os-name* *interactive*) *print-pretty* *print-readably* #fn("5000n0Aw04Fw1:" #(*print-pretty*
+ *print-readably*)) #fn("=000n07021A>1722350515224752677842678845253f2F52429F7:52^142;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(top-level-value) #fn(string) #fn(memq) #fn(iostream?))) simple-sort #fn(environment)
#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)
mark-label #fn("8000n270021163:" #(emit label) mark-label) 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(";000z11J400:70210163:" #(foldl
- #fn("6000n201L3400:1:" #())) min)
- 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~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?) partition #fn(":000n2D20?648601qe1qe164:" #(#fn("9000n48283PD1B3Z0401<513?0821<qPN=?2@<0831<qPN=?341=?1@\x05/47088<=88==62:" #(values) partition-)) partition)
+ #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(";000z11J400:70210163:" #(foldl #fn("6000n201L3400:1:" #())) min) 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~53P:" #(<= nestlist) nestlist) newline
+ #fn("8000\x8700001000\x880000I7070?0421072524D:" #(*output-stream* #fn(io-write)
+ *linefeed*) newline)
+ nil nil nreconc
+ #fn("7000n2701062:" #(reverse!-) nreconc) odd? #fn("6000n170051S:" #(even?) odd?)
+ partition #fn(":000n2D20?648601qe1qe164:" #(#fn("9000n48283PD1B3Z0401<513?0821<qPN=?2@<0831<qPN=?341=?1@\x05/47088<=88==62:" #(values) partition-)) partition)
positive? #fn("7000n1700E62:" #(>) positive?) princ
#fn(";000z070Ow042185>1220>12386>1{86504:" #(*print-readably* #fn("5000n0Aw0:" #(*print-readably*))
- #fn("7000n02071A62:" #(#fn(for-each)
- write)) #fn("6000n1A50420061:" #(#fn(raise)))) princ)
- print #fn("9000z02071062:" #(#fn(for-each) write) print)
- print-exception #fn("=000n10B3e00<20C^0710r3523T072230T2425760515127554787605151@\x0e00B3Z00<29CS0710r3523I0722:760512;534780T51@\xe100B3P00<2<CI0710r2523?0722=0T2>53@\xbe00B3I00<2?CB0722@514720=f2@\xa200B3N00<2ACG07B76051514722C0T52@\x8107D0513m0710r2523c0780<51472275140T2E8551;I60485R37072@40788551^1@>0722F514780514727G61:" #(type-error
- length= princ "type error: expected " ", got " #fn(typeof) caddr ": " print
- 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)
+ #fn("7000n02071A62:" #(#fn(for-each) write))
+ #fn("6000n1A50420061:" #(#fn(raise)))) princ)
+ print #fn("9000z02071062:" #(#fn(for-each) write) print) print-exception
+ #fn("=000n10B3e00<20C^0710r3523T072230T2425760515127554787605151@\x0e00B3Z00<29CS0710r3523I0722:760512;534780T51@\xe100B3P00<2<CI0710r2523?0722=0T2>53@\xbe00B3I00<2?CB0722@514720=f2@\xa200B3N00<2ACG07B76051514722C0T52@\x8107D0513m0710r2523c0780<51472275140T2E8551;I60485R37072@40788551^1@>0722F514780514727G61:" #(type-error
+ length= princ "type error: expected " ", got " #fn(typeof) caddr ": " print 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\x8a5\x8a6852085>1_4862185>1_472730r3523F074075370r5@40r452@30051767728292:505252E\x8a92;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{863I02273247576865152275261:28:" #(#fn("8000n02021AF>292524O:" #(#fn(for-each)
- #fn("8000n1A<0Fq63:" #()))) #fn("6000n10B3F00<20C?00T21C8072061:23061:" #(thrown-value
- ffound caddr #fn(raise))) #fn(symbol) string-join #fn(map) string reverse! "/"
- λ) fn-name) reverse!
- length> list-tail *interactive* filter closure? #fn(map)
+ #fn("8000n1A<0Fq63:" #())))
+ #fn("6000n10B3F00<20C?00T21C8072061:23061:" #(thrown-value
+ 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) #fn(for-each) #fn("8000n170A<0KGF5271051==P5147250492<El3?0730KG0EG52@30O49292<KM_:" #(print
vector->list newline disassemble))) print-stack-trace)
@@ -367,12 +334,11 @@
printable? #fn("6000n120051;I80421051S:" #(#fn(iostream?)
#fn(eof-object?)) printable?)
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("7000n17071062:" #(read-all-of read) read-all)
- read-all-of #fn(":000n2D\x8a686201860>3_486<^1q015162:" #(#fn("8000n220A5138071061:F<10P92A5162:" #(#fn(io-eof?)
+ #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("7000n17071062:" #(read-all-of read) read-all) read-all-of
+ #fn(":000n2D\x8a686201860>3_486<^1q015162:" #(#fn("8000n220A5138071061:F<10P92A5162:" #(#fn(io-eof?)
reverse!))) read-all-of)
ref-int16-LE #fn(":000n2202101EMGE522101KMGr852M61:" #(#fn(int16)
#fn(ash)) ref-int16-LE)
@@ -382,39 +348,35 @@
"> " #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("6000n1700514D:" #(top-level-exception-handler))
- newline) reploop) newline) repl)
+ #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
#fn("7000n170q062:" #(reverse-) reverse) reverse! #fn("7000n170q062:" #(reverse!-) reverse!)
- reverse!- #fn("8000n2D1B3B041=101?04N4?1@\x1d/40:" #() reverse!-)
- reverse- #fn("7000n21J400:701<0P1=62:" #(reverse-) reverse-)
- self-evaluating? #fn("7000n10H;36040RS;IK0420051;3A040R;3:04021051Q:" #(#fn(constant?)
+ reverse!- #fn("8000n2D1B3B041=101?04N4?1@\x1d/40:" #() reverse!-) reverse-
+ #fn("7000n21J400:701<0P1=62:" #(reverse-) reverse-) self-evaluating? #fn("7000n10H;36040RS;IK0420051;3A040R;3:04021051Q:" #(#fn(constant?)
#fn(top-level-value)) self-evaluating?)
set-syntax! #fn("8000n220710163:" #(#fn(put!)
*syntax-environment*) set-syntax!)
- simple-sort #fn("9000n10V;I6040=V3400:0<7021850>22285>162:" #(call-with-values
- #fn("7000n07021A>1F=62:" #(partition #fn("6000n10AL:" #())))
- #fn("9000n22071051Ae17115163:" #(#fn(nconc) simple-sort))) simple-sort)
+ simple-sort #fn("9000n10V;I6040=V3400:0<7021850>22285>162:" #(call-with-values #fn("7000n07021A>1F=62:" #(partition
+ #fn("6000n10AL:" #()))) #fn("9000n22071051Ae17115163:" #(#fn(nconc) simple-sort))) simple-sort)
splice-form? #fn("7000n10B;3X040<20Q;IN040<21Q;ID040<22Q;3:04730r252;I704022Q:" #(unquote-splicing
unquote-nsplicing unquote length>) splice-form?)
- string-join #fn("9000n20J5020:215022860<5242324861>20=524258661:" #(""
- #fn(buffer) #fn(io-write) #fn(for-each)
- #fn("7000n120AF52420A062:" #(#fn(io-write)))
- #fn(iostream->string)) string-join)
- string-lpad #fn(":000n3207182122051~52062:" #(#fn(string)
- string-rep #fn(string-length)) string-lpad)
+ string-join #fn("9000n20J5020:215022860<5242324861>20=524258661:" #("" #fn(buffer)
+ #fn(io-write)
+ #fn(for-each)
+ #fn("7000n120AF52420A062:" #(#fn(io-write)))
+ #fn(iostream->string)) string-join)
+ string-lpad #fn(":000n3207182122051~52062:" #(#fn(string) string-rep #fn(string-length)) string-lpad)
string-map #fn("=000n2205021151ED8887L3O0422860231885251524748851?8@\r/^14258661:" #(#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~5262:742200521r2j262:" #(<=
"" #fn(string) odd? string-rep) string-rep)
- 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\x8a7\x8a8872087>1_4882188>1_42205123087<01E895488<082895363:" #(#fn("9000n48283L3P02012108252523A0A<017282518364:82:" #(#fn(string-find)
- #fn(string-char) 1+) trim-start) #fn(":000n37082E523R021122073825152523?0A<0173825163:82:" #(>
- #fn(string-find) #fn(string-char) 1-) trim-end)
- #fn(string-length) #fn(string-sub)) string-trim)
+ 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\x8a7\x8a8872087>1_4882188>1_42205123087<01E895488<082895363:" #(#fn("9000n48283L3P02012108252523A0A<017282518364:82:" #(#fn(string-find)
+ #fn(string-char) 1+) trim-start) #fn(":000n37082E523R021122073825152523?0A<0173825163:82:" #(> #fn(string-find)
+ #fn(string-char) 1-) trim-end) #fn(string-length)
+ #fn(string-sub)) string-trim)
symbol-syntax #fn("8000n120710O63:" #(#fn(get)
*syntax-environment*) symbol-syntax)
table-clone #fn("9000n12050212285>1q053485:" #(#fn(table)
@@ -431,24 +393,23 @@
#fn("6000n3182P:" #())) table-values)
to-proper #fn("7000n10J400:0H3600e1:0<700=51P:" #(to-proper) to-proper)
top-level-bound? #.bound? top-level-exception-handler
- #fn("9000n17071w042285>1230>12486>1{86504:" #(*output-stream*
- *stderr* #fn("5000n0Aw0:" #(*output-stream*))
+ #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)
+ print-stack-trace
+ #fn(stacktrace)))
+ #fn("6000n1A50420061:" #(#fn(raise)))) top-level-exception-handler)
trace #fn("A000n1200512150728551Ig0230742586262728290e286e3e22:e12;2985e286e3e4e35152@30D^1^142<:" #(#fn(top-level-value)
- #fn(gensym) traced? #fn(set-top-level-value!) eval λ begin write cons quote
- newline apply ok) trace)
+ #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("9000z020210P51472504230}2:" #(#fn(write)
x newline #.apply)))))
- untrace #fn("9000n1200517185513A0220238551r2G62:D:" #(#fn(top-level-value)
- traced? #fn(set-top-level-value!)
+ untrace #fn("9000n1200517185513A0220238551r2G62:D:" #(#fn(top-level-value) traced? #fn(set-top-level-value!)
#fn(function:vals)) untrace)
values #fn("8000z00B3:00=J500<:A0P:" #() #(#1#)) vars-to-env
#fn(":000n32021182>2072230515163:" #(#fn(map)
- #fn("9000n2700210A52SS1FM63:" #(vinfo
- #fn(memq))) iota #fn(length)) vars-to-env)
+ #fn("9000n2700210A52SS1FM63:" #(vinfo #fn(memq)))
+ iota #fn(length)) vars-to-env)
vector->list #fn("<000n120051q\x8a6K852186085>3|486<:" #(#fn(length)
- #fn("8000n1AF920~GA<P_:" #())) vector->list)
+ #fn("8000n1AF920~GA<P_:" #())) vector->list)
vector-map #fn("<000n220151218651E86K~228701>3|487:" #(#fn(length)
#fn(vector-alloc)
#fn("9000n1A0F920G51p:" #())) vector-map)
--- a/flisp.c
+++ b/flisp.c
@@ -2227,7 +2227,7 @@
int i;
fl = calloc(1, sizeof(*fl));
- FL(scr_width) = 80;
+ FL(scr_width) = 100;
FL(heapsize) = initial_heapsize;