fixing function? and disassemble

This commit is contained in:
JeffBezanson 2009-04-21 15:47:30 +00:00
parent d6f73d0bf0
commit 2cceb9e538
3 changed files with 156 additions and 158 deletions

View File

@ -444,7 +444,7 @@
(let ((code (aref fvec 0)) (let ((code (aref fvec 0))
(vals (aref fvec 1))) (vals (aref fvec 1)))
(define (print-val v) (define (print-val v)
(if (and (pair? v) (eq? (car v) 'compiled-lambda)) (if (and (function? v) (not (builtin? v)))
(begin (princ "\n") (begin (princ "\n")
(disassemble- v (+ lev 1))) (disassemble- v (+ lev 1)))
(print v))) (print v)))

View File

@ -17,47 +17,57 @@ trace
princ " " print]) ")\n"]) to-proper]) cadr]) top-level-value ok]) princ " " print]) ")\n"]) to-proper]) cadr]) top-level-value ok])
to-proper to-proper
#function("n1e0B6;0e0;e0@6F0e0L1;e0Md0e0N31K;" [to-proper]) #function("n1e0B6;0e0;e0@6F0e0L1;e0Md0e0N31K;" [to-proper])
table.values table.pairs
#function("n1d0b1l^e043;" [table.foldl #function("n3e1e2K;" [])]) #function("n1d0b1l^e043;" [table.foldl #function("n3e0e1Ke2K;" [])])
table.foreach table.keys
#function("n2d0b1l^e143;" [table.foldl #function("n3f00e0e1322\\;" [])]) #function("n1d0b1l^e043;" [table.foldl #function("n3e0e2K;" [])])
table.invert table.invert
#function("n1b0d130p42;" [#function("q2d0b1l^f00332e0;" [table.foldl #function("n3d0f00e1e043;" [put!])]) #function("n1b0d130p42;" [#function("q2d0b1l^f00332e0;" [table.foldl #function("n3d0f00e1e043;" [put!])])
table]) table])
table.keys table.foreach
#function("n1d0b1l^e043;" [table.foldl #function("n3e0e2K;" [])]) #function("n2d0b1l^e143;" [table.foldl #function("n3f00e0e1322\\;" [])])
table.pairs table.values
#function("n1d0b1l^e043;" [table.foldl #function("n3e0e1Ke2K;" [])]) #function("n1d0b1l^e043;" [table.foldl #function("n3e1e2K;" [])])
table.clone table.clone
#function("n1b0d130p42;" [#function("q2d0b1l^f00332e0;" [table.foldl #function("n3d0f00e0e143;" [put!])]) #function("n1b0d130p42;" [#function("q2d0b1l^f00332e0;" [table.foldl #function("n3d0f00e0e143;" [put!])])
table]) table])
symbol-syntax symbol-syntax
#function("n1d0d1e0]43;" [get *syntax-environment*]) #function("n1d0d1e0]43;" [get *syntax-environment*])
string.tail
#function("n2d0e0d1e0_e133d2e03143;" [string.sub string.inc sizeof])
string.trim string.trim
#function("n3b0]]p43;" [#function("q3b0li02b1li12b2d3f0031p42;" [#function("n4e2e3W16J02d0e1d1e0e232326a0f00e0e1d2e0e232e344;e2;" [string.find #function("n3b0]]p43;" [#function("q3b0li02b1li12b2d3f0031p42;" [#function("n4e2e3W16J02d0e1d1e0e232326a0f00e0e1d2e0e232e344;e2;" [string.find
string.char string.inc]) #function("n3d0e2_3216R02d1e1d2e0d3e0e23232326g0f01e0e1d3e0e23243;e2;" [> string.char string.inc]) #function("n3d0e2_3216R02d1e1d2e0d3e0e23232326g0f01e0e1d3e0e23243;e2;" [>
string.find string.char string.dec]) #function("q2d0f10f00f10f11_e034f01f10f12e03343;" [string.sub]) string.find string.char string.dec]) #function("q2d0f10f00f10f11_e034f01f10f12e03343;" [string.sub])
length])]) length])])
string.tail string.map
#function("n2d0e0d1e0_e133d2e03143;" [string.sub string.inc sizeof]) #function("n2b0d130d2e131p43;" [#function("q3b0_p322d1e041;" [#function("q2]e0f01W6a02d0f00f10d1f11e03231322d2f11e032i0530;" [io.putc
string.rep string.char string.inc]) io.tostring!]) buffer length])
#function("n2e1a4W6q0d0e1_326G0b1;e1`V6U0d2e041;e1a2V6f0d2e0e042;d2e0e0e043;d3e1316\x8c0d2e0d4e0e1`S23242;d4d2e0e032e1a2U242;" [<=
"" string odd? string.rep])
string.join string.join
#function("n2e0B6;0b0;b1d230p42;" ["" #function("q2d0e0f00M322d1b2lf00N322d3e041;" [io.write #function("n2e0B6;0b0;b1d230p42;" ["" #function("q2d0e0f00M322d1b2lf00N322d3e041;" [io.write
for-each #function("n1d0f00f11322d0f00e042;" [io.write]) io.tostring!]) for-each #function("n1d0f00f11322d0f00e042;" [io.write]) io.tostring!])
buffer]) buffer])
string.map string.rep
#function("n2b0d130d2e131p43;" [#function("q3b0_p322d1e041;" [#function("q2]e0f01W6a02d0f00f10d1f11e03231322d2f11e032i0530;" [io.putc #function("n2e1a4W6q0d0e1_326G0b1;e1`V6U0d2e041;e1a2V6f0d2e0e042;d2e0e0e043;d3e1316\x8c0d2e0d4e0e1`S23242;d4d2e0e032e1a2U242;" [<=
string.char string.inc]) io.tostring!]) buffer length]) "" string odd? string.rep])
splice-form? splice-form?
#function("n1e0G16K02e0Mb0=17K02e0Mb1=17U02e0b2=;" [*comma-at* *comma-dot* #function("n1e0G16K02e0Mb0=17K02e0Mb1=17U02e0b2=;" [*comma-at* *comma-dot*
*comma*]) *comma*])
set-syntax! set-syntax!
#function("n2d0d1e0e143;" [put! *syntax-environment*]) #function("n2d0d1e0e143;" [put! *syntax-environment*])
self-evaluating? separate
#function("n1e0@16>02e0DA17_02d0e03116_02e0D16_02e0d1e031=;" [constant? #function("n2f00e0e1^^44;" [] #0=[#function("n4e1B6>0e2e3K;e0e1M316[0f00e0e1Ne1Me2Ke344;\\6r0f00e0e1Ne2e1Me3K44;];" [] #0#)
top-level-value]) ()])
reverse
#function("n1d0d1^e043;" [foldl cons])
revappend
#function("n2d0d1e031e142;" [nconc reverse])
remainder
#function("n2e0e0e1U2e1T2S2;" [])
ref-uint32-LE
#function("n2d0e0e1_R2Z_32d0e0e1`R2Za832d0e0e1a2R2Za@32d0e0e1a3R2ZaH32R4;" [ash])
ref-uint16-LE
#function("n2d0e0e1_R2Z_32d0e0e1`R2Za832R2;" [ash])
repl repl
#function("n0b0]]p43;" [#function("q3b0li02b1li12e1302d240;" [#function("n0d0b1312d2d3312b4b5lb6lmp42;" [princ #function("n0b0]]p43;" [#function("q3b0li02b1li12e1302d240;" [#function("n0d0b1312d2d3312b4b5lb6lmp42;" [princ
"> " io.flush *output-stream* #function("q2d0d131A16I02b2d3e031p42;" [io.eof? "> " io.flush *output-stream* #function("q2d0d131A16I02b2d3e031p42;" [io.eof?
@ -67,29 +77,19 @@ repl
raise])]) raise])])
#function("n0b0lb1lm6G0d2302f0140;];" [#function("n0f003016@02d040;" [newline]) #function("n0b0lb1lm6G0d2302f0140;];" [#function("n0f003016@02d040;" [newline])
#function("n1d0e041;" [print-exception]) newline]) newline])]) #function("n1d0e041;" [print-exception]) newline]) newline])])
ref-uint16-LE self-evaluating?
#function("n2d0e0e1_R2Z_32d0e0e1`R2Za832R2;" [ash]) #function("n1e0@16>02e0DA17_02d0e03116_02e0D16_02e0d1e031=;" [constant?
ref-uint32-LE top-level-value])
#function("n2d0e0e1_R2Z_32d0e0e1`R2Za832d0e0e1a2R2Za@32d0e0e1a3R2ZaH32R4;" [ash])
remainder
#function("n2e0e0e1U2e1T2S2;" [])
revappend
#function("n2d0d1e031e142;" [nconc reverse])
reverse
#function("n1d0d1^e043;" [foldl cons])
separate
#function("n2f00e0e1^^44;" [] #0=[#function("n4e1B6>0e2e3K;e0e1M316[0f00e0e1Ne1Me2Ke344;\\6r0f00e0e1Ne2e1Me3K44;];" [] #0#)
()])
quote-value quote-value
#function("n1d0e0316>0e0;b1e0L2;" [self-evaluating? quote]) #function("n1d0e0316>0e0;b1e0L2;" [self-evaluating? quote])
procedure?
#function("n1e0H17C02d0e031b1=;" [typeof function])
println
#function("o0d0e0Qd1302;" [print newline])
print-to-string print-to-string
#function("n1b0d130p42;" [#function("q2d0e0f00322d1e041;" [io.print #function("n1b0d130p42;" [#function("q2d0e0f00322d1e041;" [io.print
io.tostring!]) io.tostring!])
buffer]) buffer])
println
#function("o0d0e0Qd1302;" [print newline])
procedure?
#function("n1e0H17V02d0e031b1=17V02e0G16V02e0Mb2=;" [typeof function lambda])
print-exception print-exception
#function("n1e0G16M02e0Mb0=16M02d1e0a4326x0d2d3b4d5e031b6d7e031b8362d9d3d:e03132591e0G16\x8f02e0Mb;=16\x8f02e0NG6\xa50d2d3b<d5e031b=34591e0G16\xb302e0Mb>=6\xcb0d2d3b?322d2d3e0NKQ591e0G16\xd902e0Mb@=6\xf80dAd7e031312d2d3bBd5e03133591dCe03116\x0b02d1e0a2326(0d2d3e0MbD332bEd5e031p32591d2d3bF322d9d3e0322d2d3dG322\\;" [type-error #function("n1e0G16M02e0Mb0=16M02d1e0a4326x0d2d3b4d5e031b6d7e031b8362d9d3d:e03132591e0G16\x8f02e0Mb;=16\x8f02e0NG6\xa50d2d3b<d5e031b=34591e0G16\xb302e0Mb>=6\xcb0d2d3b?322d2d3e0NKQ591e0G16\xd902e0Mb@=6\xf80dAd7e031312d2d3bBd5e03133591dCe03116\x0b02d1e0a2326(0d2d3e0MbD332bEd5e031p32591d2d3bF322d9d3e0322d2d3dG322\\;" [type-error
length= io.princ *stderr* "type-error: " cadr ": expected " caddr ", got " length= io.princ *stderr* "type-error: " cadr ": expected " caddr ", got "
@ -104,47 +104,49 @@ princ
#function("o0d0d1e0K<;" [io.princ *output-stream*]) #function("o0d0d1e0K<;" [io.princ *output-stream*])
peephole peephole
#function("n1e0;" []) #function("n1e0;" [])
pad-r
#function("n3d0e0d1e2e1d2e031S23242;" [string string.rep length])
pad-l pad-l
#function("n3d0d1e2e1d2e031S232e042;" [string string.rep length]) #function("n3d0d1e2e1d2e031S232e042;" [string string.rep length])
pad-r
#function("n3d0e0d1e2e1d2e031S23242;" [string string.rep length])
odd? odd?
#function("n1d0e031A;" [even?]) #function("n1d0e031A;" [even?])
nreconc
#function("n2d0d1e031e142;" [nconc nreverse])
nreverse nreverse
#function("n1b0^p42;" [#function("q2]f00G6R02f00Nf00e0f00i02P2j005302e0;" [])]) #function("n1b0^p42;" [#function("q2]f00G6R02f00Nf00e0f00i02P2j005302e0;" [])])
nreconc
#function("n2d0d1e031e142;" [nconc nreverse])
nlist* nlist*
#function("o0e0N@6=0e0M;e0d0e0NQP;" [nlist*]) #function("o0e0N@6=0e0M;e0d0e0NQP;" [nlist*])
nestlist
#function("n3d0e2_326>0^;e1d1e0e0e131e2`S233K;" [<= nestlist])
negative? negative?
#function("n1e0_W;" []) #function("n1e0_W;" [])
nestlist
#function("n3d0e2_326>0^;e1d1e0e0e131e2`S233K;" [<= nestlist])
newline newline
#function("n0d0d1312\\;" [princ *linefeed*]) #function("n0d0d1312\\;" [princ *linefeed*])
mod
#function("n2e0e0e1U2e1T2S2;" [])
memv memv
#function("n2e1@6:0];e1Me0>6F0e1;\\6T0d0e0e1N42;];" [memv]) #function("n2e1@6:0];e1Me0>6F0e1;\\6T0d0e0e1N42;];" [memv])
mark-label mod
#function("n2d0e0d1e143;" [emit :label]) #function("n2e0e0e1U2e1T2S2;" [])
member member
#function("n2e1@6:0];e1Me0?6F0e1;\\6T0d0e0e1N42;];" [member]) #function("n2e1@6:0];e1Me0?6F0e1;\\6T0d0e0e1N42;];" [member])
map-int mark-label
#function("n2d0e1_326>0^;b1e0_31^K^p43;" [<= #function("q3e0i12`f01`S2b0lr2e0;" [#function("n1f01f10e031^KP2f01Nj01;" [])])]) #function("n2d0e0d1e143;" [emit :label])
map! map!
#function("n2e1]e1G6O02e1e0e1M31O2e1Ni15502;" []) #function("n2e1]e1G6O02e1e0e1M31O2e1Ni15502;" [])
make-label map-int
#function("n1d040;" [gensym]) #function("n2d0e1_326>0^;b1e0_31^K^p43;" [<= #function("q3e0i12`f01`S2b0lr2e0;" [#function("n1f01f10e031^KP2f01Nj01;" [])])])
make-code-emitter make-system-image
#function("n0^d030_Y3;" [table]) #function("n1b0d1e0d2d3d434b5p43;" [#function("q3d0b1ld230322d3e041;" [for-each
macroexpand-in #function("n1e0F16m02d0e031A16m02d1e031HA16m02d2e0f0132A16m02d3d1e03131A6\x9c0d4f00e0322d5f00b6322d4f00d1e031322d5f00b642;];" [constant?
#function("n2e0@6;0e0;b0d1e0Me132p42;" [#function("q2e06M0d0d1e031f00NQd2e03142;b3d4f0031p42;" [macroexpand-in top-level-value memq iostream? io.print io.write "\n"]) environment io.close])
cadr caddr #function("q2e06F0d0e0f10NQf1142;f10Mb1=6T0f10;f10Mb2=6\x810d3b2d4f1031d0d5f1031f1132d6f103144;f10Mb7=6\xa30b8d4f1031d9d:f103131p43;d;b<lf1042;" [macroexpand-in file :write :create :truncate (*linefeed*
quote lambda nlist* cadr caddr cdddr let-syntax #function("q3d0e1d1d2b3le032f213242;" [macroexpand-in *directory-separator*
nconc map #function("n1e0Md0d1e031f3132f31L3;" [macroexpand-in cadr])]) *argv* that)])
f-body cddr map #function("n1d0e0f2142;" [macroexpand-in])]) macrocall?]) make-enum-table
assq]) #function("n2b0d130p42;" [#function("q2_d0d1f013131b2lr;" [1- length #function("n1d0f00f11e0Zf10e0R243;" [put!])])
table])
macroexpand-1
#function("n1e0@6;0e0;b0d1e031p42;" [#function("q2e06?0e0f00N<;f00;" [])
macrocall?])
macroexpand macroexpand
#function("n1d0e0^42;" [macroexpand-in]) #function("n1d0e0^42;" [macroexpand-in])
lookup-sym lookup-sym
@ -153,46 +155,44 @@ lookup-sym
closed lookup-sym]) index-of])]) closed lookup-sym]) index-of])])
macrocall? macrocall?
#function("n1e0MD16E02d0d1e0M]43;" [get *syntax-environment*]) #function("n1e0MD16E02d0d1e0M]43;" [get *syntax-environment*])
macroexpand-1 macroexpand-in
#function("n1e0@6;0e0;b0d1e031p42;" [#function("q2e06?0e0f00N<;f00;" []) #function("n2e0@6;0e0;b0d1e0Me132p42;" [#function("q2e06M0d0d1e031f00NQd2e03142;b3d4f0031p42;" [macroexpand-in
macrocall?]) cadr caddr #function("q2e06F0d0e0f10NQf1142;f10Mb1=6T0f10;f10Mb2=6\x810d3b2d4f1031d0d5f1031f1132d6f103144;f10Mb7=6\xa30b8d4f1031d9d:f103131p43;d;b<lf1042;" [macroexpand-in
make-enum-table quote lambda nlist* cadr caddr cdddr let-syntax #function("q3d0e1d1d2b3le032f213242;" [macroexpand-in
#function("n2b0d130p42;" [#function("q2_d0d1f013131b2lr;" [1- length #function("n1d0f00f11e0Zf10e0R243;" [put!])]) nconc map #function("n1e0Md0d1e031f3132f31L3;" [macroexpand-in cadr])])
table]) f-body cddr map #function("n1d0e0f2142;" [macroexpand-in])]) macrocall?])
make-system-image assq])
#function("n1b0d1e0d2d3d434b5p43;" [#function("q3d0b1ld230322d3e041;" [for-each make-code-emitter
#function("n1e0F16m02d0e031A16m02d1e031HA16m02d2e0f0132A16m02d3d1e03131A6\x9c0d4f00e0322d5f00b6322d4f00d1e031322d5f00b642;];" [constant? #function("n0^d030_Y3;" [table])
top-level-value memq iostream? io.print io.write "\n"]) environment io.close]) make-label
file :write :create :truncate (*linefeed* #function("n1d040;" [gensym])
*directory-separator*
*argv* that)])
map map
#function("n2e1@6;0e1;e0e1M31d0e0e1N32K;" [map]) #function("n2e1@6;0e1;e0e1M31d0e0e1N32K;" [map])
mapcar mapcar
#function("o1f00e0e142;" [] #0=[#function("n2e1B6=0e040;e1M@6H0e1M;\\6h0e0d0d1e132Qf00e0d0d2e13232K;];" [map #function("o1f00e0e142;" [] #0=[#function("n2e1B6=0e040;e1M@6H0e1M;\\6h0e0d0d1e132Qf00e0d0d2e13232K;];" [map
car cdr] #0#) ()]) car cdr] #0#) ()])
listp
#function("n1e0B17=02e0G;" [])
load load
#function("n1b0d1e0d232p42;" [#function("q2b0lb1lm;" [#function("n0b0]p32]]]43;" [#function("q2b0li0;" [#function("n3d0f1031A6R0f00d1f1031e0d2e13143;d3f10312d2e141;" [io.eof? #function("n1b0d1e0d232p42;" [#function("q2b0lb1lm;" [#function("n0b0]p32]]]43;" [#function("q2b0li0;" [#function("n3d0f1031A6R0f00d1f1031e0d2e13143;d3f10312d2e141;" [io.eof?
read load-process io.close])])]) #function("n1d0f00312d1b2f10e0L341;" [io.close read load-process io.close])])]) #function("n1d0f00312d1b2f10e0L341;" [io.close
raise load-error])]) file :read]) raise load-error])]) file :read])
listp list-tail
#function("n1e0B17=02e0G;" []) #function("n2d0e1_326?0e0;d1e0Ne1`S242;" [<= list-tail])
list-partition list-ref
#function("n2d0e1_326C0d1b241;d3d4e0e1_^^3541;" [<= error "list-partition: invalid count" #function("n2d0e0e132M;" [list-tail])
nreverse list-part-]) list-head
#function("n2d0e1_326>0^;e0Md1e0Ne1`S232K;" [<= list-head])
list*
#function("o0e0N@6=0e0M;e0Md0e0NQK;" [list*])
list->vector
#function("n1d0e0<;" [vector])
list-part- list-part-
#function("n5e0@6O0d0e2_326L0d1e331e4K;e4;d2e2e1326n0d3e0e1_^d1e331e4K45;d3e0Ne1`e2R2e0Me3Ke445;" [> #function("n5e0@6O0d0e2_326L0d1e331e4K;e4;d2e2e1326n0d3e0e1_^d1e331e4K45;d3e0Ne1`e2R2e0Me3Ke445;" [>
nreverse >= list-part-]) nreverse >= list-part-])
list->vector list-partition
#function("n1d0e0<;" [vector]) #function("n2d0e1_326C0d1b241;d3d4e0e1_^^3541;" [<= error "list-partition: invalid count"
list* nreverse list-part-])
#function("o0e0N@6=0e0M;e0Md0e0NQK;" [list*])
list-head
#function("n2d0e1_326>0^;e0Md1e0Ne1`S232K;" [<= list-head])
list-ref
#function("n2d0e0e132M;" [list-tail])
list-tail
#function("n2d0e1_326?0e0;d1e0Ne1`S242;" [<= list-tail])
list? list?
#function("n1e0B17I02e0G16I02d0e0N41;" [list?]) #function("n1e0B17I02e0G16I02d0e0N41;" [list?])
load-process load-process
@ -205,10 +205,10 @@ lastcdr
#function("n1e0@6;0e0;d0e0N41;" [lastcdr]) #function("n1e0@6;0e0;d0e0N41;" [lastcdr])
last-pair last-pair
#function("n1e0@6;0e0;e0N@6E0e0;\\6Q0d0e0N41;];" [last-pair]) #function("n1e0@6;0e0;e0N@6E0e0;\\6Q0d0e0N41;];" [last-pair])
just-compile-args
#function("n3d0b1le142;" [for-each #function("n1d0f00f02]e044;" [compile-in])])
iota iota
#function("n1d0d1e042;" [map-int identity]) #function("n1d0d1e042;" [map-int identity])
just-compile-args
#function("n3d0b1le142;" [for-each #function("n1d0f00f02]e044;" [compile-in])])
io.readline io.readline
#function("n1d0e0b142;" [io.readuntil #\x000a]) #function("n1d0e0b142;" [io.readuntil #\x000a])
in-env? in-env?
@ -223,7 +223,7 @@ get-defined-vars
#function("n1d0f00e03141;" [delete-duplicates] #0=[#function("n1e0@6:0^;e0Mb0=16I02e0NG6\x8c0d1e031D16`02d1e031L117\x8b02d1e031G16\x8502d2e031D16\x8502d2e031L117\x8b02^;e0Mb3=6\xa30d4d5f00e0N32<;^;" [define #function("n1d0f00e03141;" [delete-duplicates] #0=[#function("n1e0@6:0^;e0Mb0=16I02e0NG6\x8c0d1e031D16`02d1e031L117\x8b02d1e031G16\x8502d2e031D16\x8502d2e031L117\x8b02^;e0Mb3=6\xa30d4d5f00e0N32<;^;" [define
cadr caadr begin append map] #0#) ()]) cadr caadr begin append map] #0#) ()])
function? function?
#function("n1e0H17V02d0e031b1=17V02e0G16V02e0Mb2=;" [typeof function lambda]) #function("n1e0H17C02d0e031b1=;" [typeof function])
for-each for-each
#function("n2e1G6J0e0e1M312d0e0e1N42;\\;" [for-each]) #function("n2e1G6J0e0e1M312d0e0e1N42;\\;" [for-each])
foldr foldr
@ -247,8 +247,6 @@ eval
#function("n1d0d1e0313140;" [compile-thunk expand]) #function("n1d0d1e0313140;" [compile-thunk expand])
error error
#function("o0d0b1e0K41;" [raise error]) #function("o0d0b1e0K41;" [raise error])
emit-nothing
#function("n1e0;" [])
encode-byte-code encode-byte-code
#function("n1b0d1d2e03131p42;" [#function("q2b0d1d2e031a3d3b4le032T2R2b532p42;" [#function("q2b0d1f0031p42;" [#function("q2b0d1e031_d230d230d330]p47;" [#function("q7]e1e0W6\xc002f00e1Zi52e5d0=6n0d1e2f00e1`R2Zd2e431332e1a2R2i15\xbd0d3e4d4d5d6f1016\x8802d7e5b8326\x950b9e5p325\x970e53231322e1`R2i12e1e0W6\xbc0b:f00e1Zp325\xbd0]5302d;b<le3322d=e441;" [:label #function("n1b0d1d2e03131p42;" [#function("q2b0d1d2e031a3d3b4le032T2R2b532p42;" [#function("q2b0d1f0031p42;" [#function("q2b0d1e031_d230d230d330]p47;" [#function("q7]e1e0W6\xc002f00e1Zi52e5d0=6n0d1e2f00e1`R2Zd2e431332e1a2R2i15\xbd0d3e4d4d5d6f1016\x8802d7e5b8326\x950b9e5p325\x970e53231322e1`R2i12e1e0W6\xbc0b:f00e1Zp325\xbd0]5302d;b<le3322d=e441;" [:label
put! sizeof io.write byte get Instructions memq (:jmp :brt :brf) put! sizeof io.write byte get Instructions memq (:jmp :brt :brf)
@ -263,6 +261,8 @@ encode-byte-code
io.write uint32 uint16 get]) io.tostring!]) length table buffer]) io.write uint32 uint16 get]) io.tostring!]) length table buffer])
list->vector]) >= length count #function("n1d0e0b142;" [memq (:loadv :loadg list->vector]) >= length count #function("n1d0e0b142;" [memq (:loadv :loadg
:setg :jmp :brt :brf)]) 65536]) peephole nreverse]) :setg :jmp :brt :brf)]) 65536]) peephole nreverse])
emit-nothing
#function("n1e0;" [])
emit emit
#function("o2d0e1b1326I0b2e0`Zp325J0]2e0_d3e1e2Ke0_Z32[2e0;" [memq (:loadv #function("o2d0e1b1326I0b2e0`Zp325J0]2e0_d3e1e2Ke0_Z32[2e0;" [memq (:loadv
:loadg :loadg
@ -271,10 +271,10 @@ emit
256 #function("q2e0d0>6=0d1;e0d2>6H0d3;e0d4>6S0d5;];" [:loadv :loadv.l :loadg 256 #function("q2e0d0>6=0d1;e0d2>6H0d3;e0d4>6S0d5;];" [:loadv :loadv.l :loadg
:loadg.l :setg :setg.l])]) :loadg.l :setg :setg.l])])
has? get put!])])]) nreconc]) has? get put!])])]) nreconc])
disassemble display
#function("n1d0e0_322d140;" [disassemble- newline]) #function("n1d0e0312\\;" [princ])
disassemble- disassemble-
#function("n2b0d1e031p42;" [#function("q2b0e0_Ze0`Zp43;" [#function("q3b0]p42;" [#function("q2b0li02b1_d2f0031p43;" [#function("n1e0G16@02e0Mb0=6W0d1b2312d3e0f31`R242;d4e041;" [compiled-lambda #function("n2b0d1e031p42;" [#function("q2b0e0_Ze0`Zp43;" [#function("q3b0]p42;" [#function("q2b0li02b1_d2f0031p43;" [#function("n1d0e03116A02e0HA6X0d1b2312d3e0f31`R242;d4e041;" [function?
princ "\n" disassemble- print]) #function("q3]e0e1W6P02b0d1d2f10e0Z32p32530;" [#function("q2d0f00_326D0d1305E0]2_f41`S2b2lr2d3d4f0031b5d6d7e031`32b8342f00`R2j002b9e0p42;" [> princ "\n" disassemble- print]) #function("q3]e0e1W6P02b0d1d2f10e0Z32p32530;" [#function("q2d0f00_326D0d1305E0]2_f41`S2b2lr2d3d4f0031b5d6d7e031`32b8342f00`R2j002b9e0p42;" [>
newline #function("n1d0b141;" [princ "\t"]) princ hex5 ": " string.tail newline #function("n1d0b141;" [princ "\t"]) princ hex5 ": " string.tail
string "\t" #function("q2d0e0b1326\\0f20f31d2f30f1032Z312f10a4R2j10;d0e0b3326\x820f20f31f30f10ZZ312f10`R2j10;d0e0b4326\xa70d5d6f30f10Z31312f10`R2j10;d0e0b7326\xe80d5d6f30f10Z31b8322f10`R2j102d5d6f30f10Z31312f10`R2j10;d0e0b9326\x130d5b:d;d<f30f103231322f10a2R2j10;d0e0b=326>1d5b:d;d2f30f103231322f10a4R2j10;];" [memv string "\t" #function("q2d0e0b1326\\0f20f31d2f30f1032Z312f10a4R2j10;d0e0b3326\x820f20f31f30f10ZZ312f10`R2j10;d0e0b4326\xa70d5d6f30f10Z31312f10`R2j10;d0e0b7326\xe80d5d6f30f10Z31b8322f10`R2j102d5d6f30f10Z31312f10`R2j10;d0e0b9326\x130d5b:d;d<f30f103231322f10a2R2j10;d0e0b=326>1d5b:d;d2f30f103231322f10a4R2j10;];" [memv
@ -283,8 +283,8 @@ disassemble-
:let) princ number->string (:loadc :setc) " " (:jmp :brf :brt) "@" hex5 :let) princ number->string (:loadc :setc) " " (:jmp :brf :brt) "@" hex5
ref-uint16-LE (:jmp.l :brf.l :brt.l)])]) get 1/Instructions]) length])])]) ref-uint16-LE (:jmp.l :brf.l :brt.l)])]) get 1/Instructions]) length])])])
function->vector]) function->vector])
display disassemble
#function("n1d0e0312\\;" [princ]) #function("n1d0e0_322d140;" [disassemble- newline])
delete-duplicates delete-duplicates
#function("n1e0@6;0e0;b0e0Me0Np43;" [#function("q3d0e0e1326D0d1e141;e0d1e131K;" [member #function("n1e0@6;0e0;b0e0Me0Np43;" [#function("q3d0e0e1326D0d1e141;e0d1e131K;" [member
delete-duplicates])]) delete-duplicates])])
@ -299,39 +299,39 @@ copy-list
const-to-idx-vec const-to-idx-vec
#function("n1b0e0`Ze0a2Zp43;" [#function("q3b0d1e131p42;" [#function("q2d0b1lf00322e0;" [table.foreach #function("n1b0e0`Ze0a2Zp43;" [#function("q3b0d1e131p42;" [#function("q2d0b1lf00322e0;" [table.foreach
#function("n2f00e1e0[;" [])]) vector.alloc])]) #function("n2f00e1e0[;" [])]) vector.alloc])])
cond->if
#function("n1d0e0N41;" [cond-clauses->if])
cond-clauses->if cond-clauses->if
#function("n1e0@6:0];b0e0Mp42;" [#function("q2e0Mb0=6B0b1e0NK;b2e0Mb1e0NKd3f00N31L4;" [else #function("n1e0@6:0];b0e0Mp42;" [#function("q2e0Mb0=6B0b1e0NK;b2e0Mb1e0NKd3f00N31L4;" [else
begin if cond-clauses->if])]) begin if cond-clauses->if])])
cond->if
#function("n1d0e0N41;" [cond-clauses->if])
compile-while compile-while
#function("n4b0d1e031d1e031p43;" [#function("q3d0f00f01]]342d1f00e0322d0f00f01]f02342d2f00d3e1332d2f00d4322d0f00f01]f03342d2f00d5e0332d1f00e142;" [compile-in #function("n4b0d1e031d1e031p43;" [#function("q3d0f00f01]]342d1f00e0322d0f00f01]f02342d2f00d3e1332d2f00d4322d0f00f01]f03342d2f00d5e0332d1f00e142;" [compile-in
mark-label emit :brf :pop :jmp]) make-label]) mark-label emit :brf :pop :jmp]) make-label])
compile-short-circuit compile-sym
#function("n6e3@6E0d0e0e1e2e444;e3N@6Z0d0e0e1e2e3M44;b1d2e031p42;" [compile-in #function("n4b0d1e2e1_\\34p42;" [#function("q2b0e0Mp42;" [#function("q2e0b0>6N0d1f10f13_Zd2f003143;e0b3>6q0d1f10f13`Zd2f0031d4f003144;d1f10f13a2Zf1243;" [arg
#function("q2d0f00f01]f03M342d1f00d2322d1f00f05e0332d1f00d3322d4f00f01f02f03Nf04f05362d5f00e042;" [compile-in emit cadr closed caddr])]) lookup-sym])
emit :dup :pop compile-short-circuit mark-label]) make-label]) compile-prog1
#function("n3d0e0e1]d1e231342d2e231G6e0d3e0e1]d2e231342d4e0d542;];" [compile-in
cadr cddr compile-begin emit :pop])
compile-or
#function("n4d0e0e1e2e3]d146;" [compile-short-circuit :brt])
compile-let compile-let
#function("n4b0e3Me3Np43;" [#function("q3d0e1d1d2e03131326I0]5U0d3d4b5e032312d6f00d7d8f01e0\\33332b9d:f00f01e133p42;" [length= #function("n4b0e3Me3Np43;" [#function("q3d0e1d1d2e03131326I0]5U0d3d4b5e032312d6f00d7d8f01e0\\33332b9d:f00f01e133p42;" [length=
length cadr error string "apply: incorrect number of arguments to " emit length cadr error string "apply: incorrect number of arguments to " emit
:loadv compile-f #function("q2d0f10d1322d0f10f126L0d25N0d3`e0R243;" [emit :loadv compile-f #function("q2d0f10d1322d0f10f126L0d25N0d3`e0R243;" [emit
:close :tcall :call]) compile-arglist])]) :close :tcall :call]) compile-arglist])])
compile-or compile-short-circuit
#function("n4d0e0e1e2e3]d146;" [compile-short-circuit :brt]) #function("n6e3@6E0d0e0e1e2e444;e3N@6Z0d0e0e1e2e3M44;b1d2e031p42;" [compile-in
compile-prog1 #function("q2d0f00f01]f03M342d1f00d2322d1f00f05e0332d1f00d3322d4f00f01f02f03Nf04f05362d5f00e042;" [compile-in
#function("n3d0e0e1]d1e231342d2e231G6e0d3e0e1]d2e231342d4e0d542;];" [compile-in emit :dup :pop compile-short-circuit mark-label]) make-label])
cadr cddr compile-begin emit :pop])
compile-sym
#function("n4b0d1e2e1_\\34p42;" [#function("q2b0e0Mp42;" [#function("q2e0b0>6N0d1f10f13_Zd2f003143;e0b3>6q0d1f10f13`Zd2f0031d4f003144;d1f10f13a2Zf1243;" [arg
emit cadr closed caddr])]) lookup-sym])
compile-thunk compile-thunk
#function("n1d0b1^e0L341;" [compile lambda]) #function("n1d0b1^e0L341;" [compile lambda])
compile-for
#function("n5d0e4316h0d1e0e1]e2342d1e0e1]e3342d1e0e1]e4342d2e0d342;d4b541;" [1arg-lambda?
compile-in emit :for error "for: third form must be a 1-argument lambda"])
compile-if compile-if
#function("n4b0d1e031d1e031p43;" [#function("q3d0f00f01]d1f0331342d2f00d3e0332d0f00f01f02d4f0331342f026x0d2f00d5325\x830d2f00d6e1332d7f00e0322d0f00f01f02d8f0331G6\xae0d9f03315\xaf0]342d7f00e142;" [compile-in #function("n4b0d1e031d1e031p43;" [#function("q3d0f00f01]d1f0331342d2f00d3e0332d0f00f01f02d4f0331342f026x0d2f00d5325\x830d2f00d6e1332d7f00e0322d0f00f01f02d8f0331G6\xae0d9f03315\xaf0]342d7f00e142;" [compile-in
cadr emit :brf caddr :ret :jmp mark-label cdddr cadddr]) make-label]) cadr emit :brf caddr :ret :jmp mark-label cdddr cadddr]) make-label])
compile-for
#function("n5d0e4316h0d1e0e1]e2342d1e0e1]e3342d1e0e1]e4342d2e0d342;d4b541;" [1arg-lambda?
compile-in emit :for error "for: third form must be a 1-argument lambda"])
compile-call compile-call
#function("n4b0e3Mp42;" [#function("q2b0e0D16e02d1e0f0132A16e02e0F16e02d2e03116e02d3e031H6q0d3e0315s0e0p42;" [#function("q2b0e0H16B02d1e031p42;" [#function("q2e0A6I0d0f20f21]f00345J0]2b1d2f20f21f23N33p42;" [compile-in #function("n4b0e3Mp42;" [#function("q2b0e0D16e02d1e0f0132A16e02e0F16e02d2e03116e02d3e031H6q0d3e0315s0e0p42;" [#function("q2b0e0H16B02d1e031p42;" [#function("q2e0A6I0d0f20f21]f00345J0]2b1d2f20f21f23N33p42;" [compile-in
#function("q2f006H0b0d1d2f00]33p42;d3f30f326X0d45Z0d5e043;" [#function("q2e016D02d0f43Ne032A6S0d1f20e0325T0]2b2f10p42;" [length= #function("q2f006H0b0d1d2f00]33p42;d3f30f326X0d45Z0d5e043;" [#function("q2e016D02d0f43Ne032A6S0d1f20e0325T0]2b2f10p42;" [length=
@ -339,24 +339,24 @@ compile-call
emit :loadnil :+ :load0 :- argc-error :* :load1 :/ :vector :loadv [] :apply emit :loadnil :+ :load0 :- argc-error :* :load1 :/ :vector :loadv [] :apply
:tapply])]) get arg-counts emit :tcall :call]) compile-arglist]) :tapply])]) get arg-counts emit :tcall :call]) compile-arglist])
builtin->instruction]) in-env? constant? top-level-value])]) builtin->instruction]) in-env? constant? top-level-value])])
compile-f compile-begin
#function("o2b0d130d2e131p43;" [#function("q3f02BA6O0d0e0d1d2d3e13131335\x820d4e131B6j0d0e0d5d3e131335\x820d0e0d6e1@6z0_5\x800d3e131332d7e0d8e131f00K\\d9f0131342d0e0d:322d;d<e0_Z31d=e03142;" [emit #function("n4e3@6D0d0e0e1e2]44;e3N@6Y0d0e0e1e2e3M44;d0e0e1]e3M342d1e0d2322d3e0e1e2e3N44;" [compile-in
:let 1+ length lastcdr :argc :vargc compile-in to-proper caddr :ret function emit :pop compile-begin])
encode-byte-code const-to-idx-vec]) make-code-emitter cadr]) compile-and
#function("n4d0e0e1e2e3\\d146;" [compile-short-circuit :brf])
compile-app compile-app
#function("n4b0e3Mp42;" [#function("q2e0G16O02e0Mb0=16O02d1d2e031316c0d3f00f01f02f0344;d4f00f01f02f0344;" [lambda #function("n4b0e3Mp42;" [#function("q2e0G16O02e0Mb0=16O02d1d2e031316c0d3f00f01f02f0344;d4f00f01f02f0344;" [lambda
list? cadr compile-let compile-call])]) list? cadr compile-let compile-call])])
compile-and
#function("n4d0e0e1e2e3\\d146;" [compile-short-circuit :brf])
compile compile
#function("n1d0^e042;" [compile-f]) #function("n1d0^e042;" [compile-f])
compile-arglist compile-arglist
#function("n3b0d1e2d232p42;" [#function("q2e06i0d0f00d1f02d232f01332b3d4d5b6ld7e0d23232Kp322d2`R2;d0f00f02f01332d8f0241;" [just-compile-args #function("n3b0d1e2d232p42;" [#function("q2e06i0d0f00d1f02d232f01332b3d4d5b6ld7e0d23232Kp322d2`R2;d0f00f02f01332d8f0241;" [just-compile-args
list-head MAX_ARGS #function("q2d0f10f11]e044;" [compile-in]) nconc map #function("n1d0e0K;" [list]) list-head MAX_ARGS #function("q2d0f10f11]e044;" [compile-in]) nconc map #function("n1d0e0K;" [list])
list-partition length]) length> MAX_ARGS]) list-partition length]) length> MAX_ARGS])
compile-begin compile-f
#function("n4e3@6D0d0e0e1e2]44;e3N@6Y0d0e0e1e2e3M44;d0e0e1]e3M342d1e0d2322d3e0e1e2e3N44;" [compile-in #function("o2b0d130d2e131p43;" [#function("q3f02BA6O0d0e0d1d2d3e13131335\x820d4e131B6j0d0e0d5d3e131335\x820d0e0d6e1@6z0_5\x800d3e131332d7e0d8e131f00K\\d9f0131342d0e0d:322d;d<e0_Z31d=e03142;" [emit
emit :pop compile-begin]) :let 1+ length lastcdr :argc :vargc compile-in to-proper caddr :ret function
encode-byte-code const-to-idx-vec]) make-code-emitter cadr])
compile-in compile-in
#function("n4e3D6E0d0e0e1e3b144;e3@6\xd10e3_=6[0d2e0d342;e3`=6k0d2e0d442;e3\\=6{0d2e0d542;e3]=6\x8b0d2e0d642;e3^=6\x9b0d2e0d742;e3J16\xb802d8e3a\xb03216\xb802d9e3a\xaf326\xc60d2e0d:e343;d2e0d;e343;b<e3Mp42;" [compile-sym #function("n4e3D6E0d0e0e1e3b144;e3@6\xd10e3_=6[0d2e0d342;e3`=6k0d2e0d442;e3\\=6{0d2e0d542;e3]=6\x8b0d2e0d642;e3^=6\x9b0d2e0d742;e3J16\xb802d8e3a\xb03216\xb802d9e3a\xaf326\xc60d2e0d:e343;d2e0d;e343;b<e3Mp42;" [compile-sym
[:loada :loadc :loadg] emit :load0 :load1 :loadt :loadf :loadnil >= <= [:loada :loadc :loadg] emit :load0 :load1 :loadt :loadf :loadnil >= <=
@ -370,14 +370,14 @@ char?
#function("n1d0e031b1=;" [typeof wchar]) #function("n1d0e031b1=;" [typeof wchar])
cddr cddr
#function("n1e0NN;" []) #function("n1e0NN;" [])
cddar
#function("n1e0MNN;" [])
cdadr
#function("n1e0NMN;" [])
cdaar
#function("n1e0MMN;" [])
cdar cdar
#function("n1e0MN;" []) #function("n1e0MN;" [])
cdaar
#function("n1e0MMN;" [])
cdadr
#function("n1e0NMN;" [])
cddar
#function("n1e0MNN;" [])
cdddr cdddr
#function("n1e0NNN;" []) #function("n1e0NNN;" [])
cadar cadar
@ -398,8 +398,6 @@ builtin->instruction
#function("n1b0d1d2b3e03231p42;" [#function("q2d0d1e03216A02e0;" [has? #function("n1b0d1d2b3e03231p42;" [#function("q2d0d1e03216A02e0;" [has?
Instructions]) Instructions])
intern string #\:]) intern string #\:])
bq-bracket1
#function("n1e0G16@02e0Mb0=6J0d1e041;d2e041;" [*comma* cadr bq-process])
bq-process bq-process
#function("n1d0e0316T0e0I6Q0b1d2d3e03131p42;e0;e0@6a0b4e0L2;e0Mb5=6y0d2d2d6e0313141;e0Mb7=6\x890d6e041;d8d9e032A6\xa90b:d;e031d<d=e032p43;\\6\xb60b>e0^p43;];" [self-evaluating? #function("n1d0e0316T0e0I6Q0b1d2d3e03131p42;e0;e0@6a0b4e0L2;e0Mb5=6y0d2d2d6e0313141;e0Mb7=6\x890d6e041;d8d9e032A6\xa90b:d;e031d<d=e032p43;\\6\xb60b>e0^p43;];" [self-evaluating?
#function("q2e0Mb0=6B0d1e0NK;d2d1e0L3;" [list vector apply]) bq-process #function("q2e0Mb0=6B0d1e0NK;d2d1e0L3;" [list vector apply]) bq-process
@ -410,6 +408,8 @@ bq-process
bq-bracket bq-bracket
#function("n1e0@6C0d0d1e031L2;e0Mb2=6W0d0d3e031L2;e0Mb4=6k0b5d3e031L2;e0Mb6=6{0d3e041;\\6\x8a0d0d1e031L2;];" [list #function("n1e0@6C0d0d1e031L2;e0Mb2=6W0d0d3e031L2;e0Mb4=6k0b5d3e031L2;e0Mb6=6{0d3e041;\\6\x8a0d0d1e031L2;];" [list
bq-process *comma* cadr *comma-at* copy-list *comma-dot*]) bq-process *comma* cadr *comma-at* copy-list *comma-dot*])
bq-bracket1
#function("n1e0G16@02e0Mb0=6J0d1e041;d2e041;" [*comma* cadr bq-process])
assv assv
#function("n2e1@6:0];d0e131e0>6J0e1M;\\6X0d1e0e1N42;];" [caar assv]) #function("n2e1@6:0];d0e131e0>6J0e1M;\\6X0d1e0e1N42;];" [caar assv])
assoc assoc
@ -423,24 +423,24 @@ append2
#function("n2e0B6;0e1;e0Md0e0Ne132K;" [append2]) #function("n2e0B6;0e1;e0Md0e0Ne132K;" [append2])
any any
#function("n2e1G16O02e0e1M3117O02d0e0e1N42;" [any]) #function("n2e1G16O02e0e1M3117O02d0e0e1N42;" [any])
__start abs
#function("n1d0302e0NG6Q0e0Nh12d2d3e031315a0e0h12d4d5312d6302d7_41;" [__init_globals #function("n1e0_W6>0e0S1;e0;" [])
*argv* __script cadr princ *banner* repl exit]) __script
#function("n1b0lb1lm;" [#function("n0d0f0041;" [load])
#function("n1d0e0312d1`41;" [print-exception exit])])
__init_globals __init_globals
#function("n0d0b1=17K02d0b2=17K02d0b3=6Z0b4h52b6h75c0b8h52b9h72d:h;2d<h=;" [*os-name* #function("n0d0b1=17K02d0b2=17K02d0b3=6Z0b4h52b6h75c0b8h52b9h72d:h;2d<h=;" [*os-name*
win32 win64 windows "\\" *directory-separator* "\r\n" *linefeed* "/" "\n" win32 win64 windows "\\" *directory-separator* "\r\n" *linefeed* "/" "\n"
*stdout* *output-stream* *stdin* *input-stream*]) *stdout* *output-stream* *stdin* *input-stream*])
__script __start
#function("n1b0lb1lm;" [#function("n0d0f0041;" [load]) #function("n1d0302e0NG6Q0e0Nh12d2d3e031315a0e0h12d4d5312d6302d7_41;" [__init_globals
#function("n1d0e0312d1`41;" [print-exception exit])]) *argv* __script cadr princ *banner* repl exit])
abs
#function("n1e0_W6>0e0S1;e0;" [])
append append
#function("o0e0B6:0^;e0NB6E0e0M;\\6W0d0e0Md1e0NQ42;];" [append2 append]) #function("o0e0B6:0^;e0NB6E0e0M;\\6W0d0e0Md1e0NQ42;];" [append2 append])
MAX_ARGS MAX_ARGS
127 127
Instructions Instructions
#table(:set-cdr! 32 :/ 37 :call 3 := 38 :aref 42 :let 65 :argc 62 :loadg 52 :car 29 :brt.l 10 :vargc 63 :loada 53 :aset! 43 :pair? 23 :fixnum? 26 :brf 6 :closure 60 :number? 21 :loadv.l 51 :seta 57 :brf.l 9 :for 66 :dup 1 :compare 40 :eq? 13 :+ 34 :jmp 5 :loadt 44 :brt 7 :builtin? 24 :close 64 :tcall 4 :ret 11 :loadf 45 :jmp.l 8 :nop 0 :tapply 12 :setc 58 :cons 27 :equal? 15 :cdr 30 :setg.l 59 :eqv? 14 :list 28 :atom? 16 :load0 47 :< 39 :null? 18 :load1 48 :set-car! 31 :setg 56 :bound? 22 :symbol? 20 :loadi8 49 :not 17 :* 36 :pop 2 :loadnil 46 :loadv 50 :vector 41 :- 35 :trycatch 61 :vector? 25 :apply 33 :loadc 54 :loadg.l 55 :boolean? 19) #table(:nop 0 :tapply 12 :set-cdr! 32 :/ 37 :setc 58 :cons 27 :equal? 15 :cdr 30 :call 3 :eqv? 14 := 38 :setg.l 59 :list 28 :atom? 16 :aref 42 :load0 47 :let 65 :argc 62 :< 39 :null? 18 :loadg 52 :load1 48 :car 29 :brt.l 10 :vargc 63 :loada 53 :set-car! 31 :setg 56 :aset! 43 :bound? 22 :pair? 23 :symbol? 20 :fixnum? 26 :loadi8 49 :not 17 :* 36 :pop 2 :loadnil 46 :brf 6 :vector 41 :- 35 :loadv 50 :closure 60 :number? 21 :trycatch 61 :loadv.l 51 :vector? 25 :brf.l 9 :seta 57 :apply 33 :dup 1 :for 66 :loadc 54 :compare 40 :eq? 13 :+ 34 :jmp 5 :loadt 44 :brt 7 :builtin? 24 :loadg.l 55 :close 64 :tcall 4 :ret 11 :boolean? 19 :loadf 45 :jmp.l 8)
>= >=
#function("n2e1e0W17A02e0e1V;" []) #function("n2e1e0W17A02e0e1V;" [])
> >
@ -451,7 +451,7 @@ Instructions
#function("n1e0G16e02e0Mb0=16e02e0NG16e02d1e031G16e02d2d1e031`42;" [lambda cadr #function("n1e0G16e02e0Mb0=16e02e0NG16e02d1e031G16e02d2d1e031`42;" [lambda cadr
length=]) length=])
1/Instructions 1/Instructions
#table(2 :pop 15 :equal? 38 := 14 :eqv? 40 :compare 22 :bound? 36 :* 60 :closure 56 :setg 23 :pair? 3 :call 58 :setc 21 :number? 8 :jmp.l 51 :loadv.l 66 :for 65 :let 55 :loadg.l 5 :jmp 27 :cons 46 :loadnil 42 :aref 25 :vector? 13 :eq? 35 :- 12 :tapply 32 :set-cdr! 62 :argc 20 :symbol? 7 :brt 49 :loadi8 18 :null? 52 :loadg 1 :dup 45 :loadf 59 :setg.l 50 :loadv 61 :trycatch 11 :ret 30 :cdr 28 :list 48 :load1 41 :vector 0 :nop 29 :car 17 :not 4 :tcall 43 :aset! 39 :< 63 :vargc 53 :loada 44 :loadt 34 :+ 6 :brf 16 :atom? 10 :brt.l 31 :set-car! 54 :loadc 19 :boolean? 47 :load0 9 :brf.l 26 :fixnum? 37 :/ 24 :builtin? 64 :close 33 :apply 57 :seta) #table(2 :pop 45 :loadf 59 :setg.l 15 :equal? 38 := 50 :loadv 61 :trycatch 14 :eqv? 30 :cdr 40 :compare 11 :ret 28 :list 48 :load1 22 :bound? 36 :* 60 :closure 41 :vector 0 :nop 29 :car 56 :setg 23 :pair? 17 :not 4 :tcall 43 :aset! 3 :call 58 :setc 21 :number? 8 :jmp.l 39 :< 63 :vargc 51 :loadv.l 53 :loada 66 :for 44 :loadt 65 :let 55 :loadg.l 5 :jmp 27 :cons 46 :loadnil 34 :+ 6 :brf 16 :atom? 42 :aref 10 :brt.l 31 :set-car! 25 :vector? 54 :loadc 13 :eq? 19 :boolean? 47 :load0 12 :tapply 32 :set-cdr! 62 :argc 20 :symbol? 26 :fixnum? 35 :- 9 :brf.l 7 :brt 37 :/ 18 :null? 52 :loadg 49 :loadi8 1 :dup 24 :builtin? 64 :close 33 :apply 57 :seta)
/= /=
#function("n2e0e1VA;" []) #function("n2e0e1VA;" [])
1+ 1+
@ -461,25 +461,24 @@ Instructions
*whitespace* *whitespace*
"\t\n\v\f\r \u0085  \u2028\u2029 " "\t\n\v\f\r \u0085  \u2028\u2029 "
*syntax-environment* *syntax-environment*
#table(letrec #function("o1b0d1d2e032d3d4d1b5le032e13231L3d1b6le032K;" [lambda #table(define #function("o1e0D6B0b0e0e1ML3;b0e0Mb1e0Nd2e131L3L3;" [set! lambda
f-body]) letrec #function("o1b0d1d2e032d3d4d1b5le032e13231L3d1b6le032K;" [lambda
map car f-body nconc #function("n1b0e0K;" [set!]) map car f-body nconc #function("n1b0e0K;" [set!])
#function("n1];" [])]) backquote #function("n1d0e041;" [bq-process]) when #function("o1b0e0d1e131]L4;" [if #function("n1];" [])]) backquote #function("n1d0e041;" [bq-process]) assert #function("n1b0e0\\b1b2b3e0L2L2L2L4;" [if
f-body]) dotimes #function("o1b0e0Md1e031p43;" [#function("q3b0_b1e1`L3b2e0L1d3f0131L3L4;" [for raise quote assert-failed]) label #function("n2b0e0L1b1e0e1L3L3]L2;" [lambda
- lambda f-body]) cadr]) unwind-protect #function("n2b0d130p42;" [#function("q2b0b1f00b2e0L1b3f01b4e0L2L3L3L3f01L3;" [prog1
trycatch lambda begin raise]) gensym]) define-macro #function("o1b0b1e0ML2b2e0Nd3e131L3L3;" [set-syntax!
quote lambda f-body]) unless #function("o1b0e0]d1e131L4;" [if f-body]) let* #function("o1e0@6?0d0e141;b1d2e031L1d3b4L1e0NL1d5e13133L3d6e031L2;" [f-body
lambda caar nconc let* copy-list cadar]) case #function("o1b0]p42;" [#function("q2b0li02b1d230p42;" [#function("n2e1b0=6=0b0;e1B6E0];e1@6X0b1e0d2e131L3;e1NB6m0b1e0d2e1M31L3;b3e0b4e1L2L3;" [else
eqv? quote-value memv quote]) #function("q2b0e0f10L2L1d1b2L1d3d4b5lf11323132L3;" [let
nconc cond copy-list map #function("n1f10f00e0M32e0NK;" [])]) gensym])]) define #function("o1e0D6B0b0e0e1ML3;b0e0Mb1e0Nd2e131L3L3;" [set!
lambda f-body]) assert #function("n1b0e0\\b1b2b3e0L2L2L2L4;" [if raise quote
assert-failed]) catch #function("n2b0d130p42;" [#function("q2b0f01b1e0L1b2b3b4e0L2b5b6e0L2b7b8L2L3b5b9e0L2f00L3L4b:e0L2b;e0L2L4L3L3;" [trycatch
lambda if and pair? eq car quote thrown-value cadr caddr raise]) gensym]) label #function("n2b0e0L1b1e0e1L3L3]L2;" [lambda
set!]) do #function("o2b0d130e1Md2d3e032d2d4e032d2b5le032p46;" [#function("q6b0e0b1e2b2e1d3b4L1d5f01N3132d3b4L1d5f0231d3e0L1d5e43132L133L4L3L2L1d3e0L1d5e33132L3;" [letrec set!]) do #function("o2b0d130e1Md2d3e032d2d4e032d2b5le032p46;" [#function("q6b0e0b1e2b2e1d3b4L1d5f01N3132d3b4L1d5f0231d3e0L1d5e43132L133L4L3L2L1d3e0L1d5e33132L3;" [letrec
lambda if nconc begin copy-list]) gensym map car cadr #function("n1d0e031G6C0d1e041;e0M;" [cddr lambda if nconc begin copy-list]) gensym map car cadr #function("n1d0e031G6C0d1e041;e0M;" [cddr
caddr])]) let #function("o1b0]p42;" [#function("q2f00D6Q0f00i02f01Mj002f01Nj015R0]2b0b1d2b3lf0032d4f0131L3d2b5lf0032p43;" [#function("q3f006D0b0f00e0L35F0e0e1K;" [label]) caddr])]) when #function("o1b0e0d1e131]L4;" [if f-body]) dotimes #function("o1b0e0Md1e031p43;" [#function("q3b0_b1e1`L3b2e0L1d3f0131L3L4;" [for
- lambda f-body]) cadr]) unwind-protect #function("n2b0d130p42;" [#function("q2b0b1f00b2e0L1b3f01b4e0L2L3L3L3f01L3;" [prog1
trycatch lambda begin raise]) gensym]) define-macro #function("o1b0b1e0ML2b2e0Nd3e131L3L3;" [set-syntax!
quote lambda f-body]) unless #function("o1b0e0]d1e131L4;" [if f-body]) let #function("o1b0]p42;" [#function("q2f00D6Q0f00i02f01Mj002f01Nj015R0]2b0b1d2b3lf0032d4f0131L3d2b5lf0032p43;" [#function("q3f006D0b0f00e0L35F0e0e1K;" [label])
lambda map #function("n1e0G6<0e0M;e0;" []) f-body #function("n1e0G6?0d0e041;];" [cadr])])]) throw #function("n2b0b1b2b3L2e0e1L4L2;" [raise lambda map #function("n1e0G6<0e0M;e0;" []) f-body #function("n1e0G6?0d0e041;];" [cadr])])]) throw #function("n2b0b1b2b3L2e0e1L4L2;" [raise
list quote thrown-value]) time #function("n1b0d130p42;" [#function("q2b0e0b1L1L2L1b2f00b3b4b5b1L1e0L3b6L4L3L3;" [let list quote thrown-value]) time #function("n1b0d130p42;" [#function("q2b0e0b1L1L2L1b2f00b3b4b5b1L1e0L3b6L4L3L3;" [let
time.now prog1 princ "Elapsed time: " - " seconds\n"]) gensym])) time.now prog1 princ "Elapsed time: " - " seconds\n"]) gensym]) let* #function("o1e0@6?0d0e141;b1d2e031L1d3b4L1e0NL1d5e13133L3d6e031L2;" [f-body
lambda caar nconc let* copy-list cadar]) case #function("o1b0]p42;" [#function("q2b0li02b1d230p42;" [#function("n2e1b0=6=0b0;e1B6E0];e1@6X0b1e0d2e131L3;e1NB6m0b1e0d2e1M31L3;b3e0b4e1L2L3;" [else
eqv? quote-value memv quote]) #function("q2b0e0f10L2L1d1b2L1d3d4b5lf11323132L3;" [let
nconc cond copy-list map #function("n1f10f00e0M32e0NK;" [])]) gensym])]) catch #function("n2b0d130p42;" [#function("q2b0f01b1e0L1b2b3b4e0L2b5b6e0L2b7b8L2L3b5b9e0L2f00L3L4b:e0L2b;e0L2L4L3L3;" [trycatch
lambda if and pair? eq car quote thrown-value cadr caddr raise]) gensym]))
*print-width* *print-width*
80 80
*print-pretty* *print-pretty*

View File

@ -109,8 +109,7 @@
(define (char? x) (eq? (typeof x) 'wchar)) (define (char? x) (eq? (typeof x) 'wchar))
(define (function? x) (define (function? x)
(or (builtin? x) (or (builtin? x)
(eq (typeof x) 'function) (eq (typeof x) 'function)))
(and (pair? x) (eq (car x) 'lambda))))
(define procedure? function?) (define procedure? function?)
(define (caar x) (car (car x))) (define (caar x) (car (car x)))