Skip to content

Instantly share code, notes, and snippets.

@stibear
Created February 11, 2014 13:21
Show Gist options
  • Save stibear/8934679 to your computer and use it in GitHub Desktop.
Save stibear/8934679 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
~/picrin-stibear/picrin $ make run
bin/picrin
gc run!
sym_pool realloced
gc run!
gc run!
gc run!
gc run!
sym_pool realloced
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
sym_pool realloced
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
ai = 1
# input expression
(define-library (scheme cxr) (import (scheme base)) (define (caaar p) (car (caar p))) (define (caadr p) (car (cadr p))) (define (cadar p) (car (cdar p))) (define (caddr p) (car (cddr p))) (define (cdaar p) (cdr (caar p))) (define (cdadr p) (cdr (cadr p))) (define (cddar p) (cdr (cdar p))) (define (cdddr p) (cdr (cddr p))) (define (caaaar p) (caar (caar p))) (define (caaadr p) (caar (cadr p))) (define (caadar p) (caar (cdar p))) (define (caaddr p) (caar (cddr p))) (define (cadaar p) (cadr (caar p))) (define (cadadr p) (cadr (cadr p))) (define (caddar p) (cadr (cdar p))) (define (cadddr p) (cadr (cddr p))) (define (cdaaar p) (cdar (caar p))) (define (cdaadr p) (cdar (cadr p))) (define (cdadar p) (cdar (cdar p))) (define (cdaddr p) (cdar (cddr p))) (define (cddaar p) (cddr (caar p))) (define (cddadr p) (cddr (cadr p))) (define (cdddar p) (cddr (cdar p))) (define (cddddr p) (cddr (cddr p))) (export caaar caadr cadar caddr cdaar cdadr cddar cdddr caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr cdaaar cdaad
ai = 1
r cdadar cdaddr cddaar cddadr cdddar cddddr))before expand:
(define-library (scheme cxr) (import (scheme base)) (define (caaar p) (car (caar p))) (define (caadr p) (car (cadr p))) (define (cadar p) (car (cdar p))) (define (caddr p) (car (cddr p))) (define (cdaar p) (cdr (caar p))) (define (cdadr p) (cdr (cadr p))) (define (cddar p) (cdr (cdar p))) (define (cdddr p) (cdr (cddr p))) (define (caaaar p) (caar (caar p))) (define (caaadr p) (caar (cadr p))) (define (caadar p) (caar (cdar p))) (define (caaddr p) (caar (cddr p))) (define (cadaar p) (cadr (caar p))) (define (cadadr p) (cadr (cadr p))) (define (caddar p) (cadr (cdar p))) (define (cadddr p) (cadr (cddr p))) (define (cdaaar p) (cdar (caar p))) (define (cdaadr p) (cdar (cadr p))) (define (cdadar p) (cdar (cdar p))) (define (cdaddr p) (cdar (cddr p))) (define (cddaar p) (cddr (caar p))) (define (cddadr p) (cddr (cadr p))) (define (cdddar p) (cddr (cdar p))) (define (cddddr p) (cddr (cddr p))) (export caaar caadr cadar caddr cdaar cdadr cddar cdddr caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr))
[macroexpand] expanding... (define-library (scheme cxr) (import (scheme base)) (define (caaar p) (car (caar p))) (define (caadr p) (car (cadr p))) (define (cadar p) (car (cdar p))) (define (caddr p) (car (cddr p))) (define (cdaar p) (cdr (caar p))) (define (cdadr p) (cdr (cadr p))) (define (cddar p) (cdr (cdar p))) (define (cdddr p) (cdr (cddr p))) (define (caaaar p) (caar (caar p))) (define (caaadr p) (caar (cadr p))) (define (caadar p) (caar (cdar p))) (define (caaddr p) (caar (cddr p))) (define (cadaar p) (cadr (caar p))) (define (cadadr p) (cadr (cadr p))) (define (caddar p) (cadr (cdar p))) (define (cadddr p) (cadr (cddr p))) (define (cdaaar p) (cdar (caar p))) (define (cdaadr p) (cdar (cadr p))) (define (cdadar p) (cdar (cdar p))) (define (cdaddr p) (cdar (cddr p))) (define (cddaar p) (cddr (caar p))) (define (cddadr p) (cddr (cadr p))) (define (cdddar p) (cddr (cdar p))) (define (cddddr p) (cddr (cddr p))) (export caaar caadr cadar caddr cdaar cdadr cddar cdddr caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr))
[macroexpand] expanding... define-library
ai = 8
# input expression
ai = 8
(import (scheme base))before expand:
(import (scheme base))
[macroexpand] expanding... (import (scheme base))
[macroexpand] expanding... import
* importing string-append as string-append@167
* importing make-string as make-string@156
* importing integer->char as integer->char@145
* importing make-bytevector as make-bytevector@134
* importing map as map@123
* importing lcm as lcm@86
* importing even? as even?@73
* importing write-bytevector as write-bytevector@54
* importing open-output-string as open-output-string@43
* importing textual-port? as textual-port?@32
* importing append as append@21
* importing cddr as cddr@15
* importing eqv? as eqv?@2
* importing define
* importing string>? as string>?@162
* importing error-object-message as error-object-message@151
* importing dynamic-wind as dynamic-wind@140
* importing make-vector as make-vector@129
* importing expt as expt@92
* importing floor-quotient as floor-quotient@81
* importing = as =@64
* importing integer? as integer?@60
* importing peek-char as peek-char@49
* importing eof-object as eof-object@38
* importing current-input-port as current-input-port@27
* importing set-car! as set-car!@10
* importing lambda
* importing string-fill! as string-fill!@168
* importing string-length as string-length@157
* importing with-exception-handler as with-exception-handler@146
* importing bytevector-length as bytevector-length@135
* importing for-each as for-each@124
* importing floor as floor@87
* importing min as min@74
* importing < as <@65
* importing flush-output-port as flush-output-port@55
* importing get-output-string as get-output-string@44
* importing binary-port? as binary-port?@33
* importing reverse as reverse@22
* importing equal? as equal?@3
* importing if
* importing string<=? as string<=?@163
* importing error-object-irritants as error-object-irritants@152
* importing values as values@141
* importing vector-length as vector-length@130
* importing inexact as inexact@93
* importing floor-remainder as floor-remainder@82
* importing zero? as zero?@69
* importing <= as <=@67
* importing exact? as exact?@61
* importing newline as newline@50
* importing close-port as close-port@39
* importing current-output-port as current-output-port@28
* importing list? as list?@17
* importing set-cdr! as set-cdr!@11
* importing cons as cons@7
* importing begin
* importing load as load@178
* importing include
* importing string-ref as string-ref@158
* importing raise as raise@147
* importing bytevector-u8-ref as bytevector-u8-ref@136
* importing symbol? as symbol?@125
* importing ceiling as ceiling@88
* importing max as max@75
* importing > as >@66
* importing number? as number?@56
* importing open-input-bytevector as open-input-bytevector@45
* importing port? as port?@34
* importing list-tail as list-tail@23
* importing car as car@8
* importing set!
* importing string>=? as string>=?@164
* importing read-error? as read-error?@153
* importing call-with-values as call-with-values@142
* importing vector-ref as vector-ref@131
* importing exact as exact@94
* importing truncate-quotient as truncate-quotient@83
* importing positive? as positive?@70
* importing >= as >=@68
* importing inexact? as inexact?@62
* importing write-char as write-char@51
* importing close-input-port as close-input-port@40
* importing current-error-port as current-error-port@29
* importing make-list as make-list@18
* importing caar as caar@12
* importing cdr as cdr@9
* importing boolean? as boolean?@5
* importing quote
* importing string-set! as string-set!@159
* importing raise-continuable as raise-continuable@148
* importing bytevector-u8-set! as bytevector-u8-set!@137
* importing symbol->string as symbol->string@126
* importing truncate as truncate@89
* importing complex? as complex?@57
* importing open-output-bytevector as open-output-bytevector@46
* importing input-port-open? as input-port-open?@35
* importing list-ref as list-ref@24
* importing null? as null?@16
* importing not as not@4
* importing string-copy as string-copy@165
* importing file-error? as file-error?@154
* importing char? as char?@143
* importing vector-set! as vector-set!@132
* importing procedure? as procedure?@121
* importing truncate-remainder as truncate-remainder@84
* importing + as +@76
* importing negative? as negative?@71
* importing exact-integer? as exact-integer?@63
* importing write-string as write-string@52
* importing close-output-port as close-output-port@41
* importing input-port? as input-port?@30
* importing list as list@19
* importing cadr as cadr@13
* importing pair? as pair?@6
* importing string=? as string=?@160
* importing error as error@149
* importing call-with-current-continuation as call-with-current-continuation@138
* importing string->symbol as string->symbol@127
* importing round as round@90
* importing - as -@77
* importing real? as real?@58
* importing get-output-bytevector as get-output-bytevector@47
* importing output-port-open? as output-port-open?@36
* importing list-set! as list-set!@25
* importing string-copy! as string-copy!@166
* importing string? as string?@155
* importing char->integer as char->integer@144
* importing bytevector? as bytevector?@133
* importing apply as apply@122
* importing gcd as gcd@85
* importing * as *@78
* importing odd? as odd?@72
* importing write-u8 as write-u8@53
* importing open-input-string as open-input-string@42
* importing output-port? as output-port?@31
* importing length as length@20
* importing cdar as cdar@14
* importing eq? as eq?@1
* importing define-syntax
* importing string<? as string<?@161
* importing error-object? as error-object?@150
* importing call/cc as call/cc@139
* importing vector? as vector?@128
* importing square as square@91
* importing abs as abs@80
* importing / as /@79
* importing rational? as rational?@59
* importing read-char as read-char@48
* importing eof-object? as eof-object?@37
* importing list-copy as list-copy@26
* importing define-macro
after expand:
#f
## macroexpand completed
ai = 8
## analyzer completed
ai = 10
## resolver completed
ai = 11
## codegen completed
#f(return (quote #f))(return (quote #f))## irep 0x6c9280
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c9240>
argv = ()
irep = ## irep 0x6c9280
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 10
# input expression
ai = 10
(define (caaar p) (car (caar p)))before expand:
(define (caaar p) (car (caar p)))
[macroexpand] expanding... (define (caaar p) (car (caar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (car (caar p))
[macroexpand] expanding... car
[macroexpand] expanding... (caar p)
[macroexpand] expanding... caar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... caaar
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (caaar@181 p@180) (car@8 (caar@12 p@180)))
## macroexpand completed
ai = 11
(define (caaar@181 p@180) (car@8 (caar@12 p@180)))gc run!
## analyzer completed
ai = 13
## resolver completed
ai = 14
## codegen completed
(return (set! (ref 0 caaar@181) (lambda (p@180) () #f () (return (car (call (ref 1 caar@12) (ref 0 p@180)))))))(return (set! (gref 179) (lambda (p@180) () #f () (return (car (call (gref 11) (lref 1)))))))## irep 0x665e10
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 179
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x665e90
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x665dd0>
argv = ()
irep = ## irep 0x665e10
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 179
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x665e90
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 179
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 12
# input expression
ai = 12
(define (caadr p) (car (cadr p)))before expand:
(define (caadr p) (car (cadr p)))
[macroexpand] expanding... (define (caadr p) (car (cadr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (car (cadr p))
[macroexpand] expanding... car
[macroexpand] expanding... (cadr p)
[macroexpand] expanding... cadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... caadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (caadr@183 p@182) (car@8 (cadr@13 p@182)))
## macroexpand completed
ai = 13
(define (caadr@183 p@182) (car@8 (cadr@13 p@182)))gc run!
## analyzer completed
ai = 15
## resolver completed
ai = 16
## codegen completed
(return (set! (ref 0 caadr@183) (lambda (p@182) () #f () (return (car (call (ref 1 cadr@13) (ref 0 p@182)))))))(return (set! (gref 180) (lambda (p@182) () #f () (return (car (call (gref 12) (lref 1)))))))## irep 0x65cf30
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 180
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65cfb0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x65cef0>
argv = ()
irep = ## irep 0x65cf30
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 180
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65cfb0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 180
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 14
# input expression
ai = 14
(define (cadar p) (car (cdar p)))before expand:
(define (cadar p) (car (cdar p)))
[macroexpand] expanding... (define (cadar p) (car (cdar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (car (cdar p))
[macroexpand] expanding... car
[macroexpand] expanding... (cdar p)
[macroexpand] expanding... cdar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cadar
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cadar@185 p@184) (car@8 (cdar@14 p@184)))
## macroexpand completed
ai = 15
(define (cadar@185 p@184) (car@8 (cdar@14 p@184)))gc run!
## analyzer completed
ai = 17
## resolver completed
ai = 18
## codegen completed
(return (set! (ref 0 cadar@185) (lambda (p@184) () #f () (return (car (call (ref 1 cdar@14) (ref 0 p@184)))))))(return (set! (gref 181) (lambda (p@184) () #f () (return (car (call (gref 13) (lref 1)))))))## irep 0x65d470
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 181
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x65d430>
argv = ()
irep = ## irep 0x65d470
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 181
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 181
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 16
# input expression
ai = 16
(define (caddr p) (car (cddr p)))before expand:
(define (caddr p) (car (cddr p)))
[macroexpand] expanding... (define (caddr p) (car (cddr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (car (cddr p))
[macroexpand] expanding... car
[macroexpand] expanding... (cddr p)
[macroexpand] expanding... cddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... caddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
gc run!
after expand:
(define (caddr@187 p@186) (car@8 (cddr@15 p@186)))
## macroexpand completed
ai = 17
## analyzer completed
ai = 19
## resolver completed
ai = 20
## codegen completed
(define (caddr@187 p@186) (car@8 (cddr@15 p@186)))(return (set! (ref 0 caddr@187) (lambda (p@186) () #f () (return (car (call (ref 1 cddr@15) (ref 0 p@186)))))))(return (set! (gref 182) (lambda (p@186) () #f () (return (car (call (gref 14) (lref 1)))))))## irep 0x666110
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 182
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x666190
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6660d0>
argv = ()
irep = ## irep 0x666110
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 182
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x666190
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 182
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 18
# input expression
ai = 18
(define (cdaar p) (cdr (caar p)))before expand:
(define (cdaar p) (cdr (caar p)))
[macroexpand] expanding... (define (cdaar p) (cdr (caar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr (caar p))
[macroexpand] expanding... cdr
[macroexpand] expanding... (caar p)
[macroexpand] expanding... caar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
gc run!
[macroexpand] expanding... ()
[macroexpand] expanding... cdaar
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cdaar@189 p@188) (cdr@9 (caar@12 p@188)))
## macroexpand completed
ai = 19
## analyzer completed
ai = 21
## resolver completed
ai = 22
(define (cdaar@189 p@188) (cdr@9 (caar@12 p@188)))(return (set! (ref 0 cdaar@189) (lambda (p@188) () #f () (return (cdr (call (ref 1 caar@12) (ref 0 p@188)))))))(return (set! (gref 183) (lambda (p@188) () #f () (return (cdr (call (gref 11) (lref 1)))))))gc run!
## codegen completed
## irep 0x6c78c0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 183
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x666250
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [23] OP_CDR
04 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c7880>
argv = ()
irep = ## irep 0x6c78c0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 183
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x666250
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [23] OP_CDR
04 [19] OP_RET
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 183
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 20
# input expression
ai = 20
(define (cdadr p) (cdr (cadr p)))before expand:
(define (cdadr p) (cdr (cadr p)))
[macroexpand] expanding... (define (cdadr p) (cdr (cadr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr (cadr p))
[macroexpand] expanding... cdr
[macroexpand] expanding... (cadr p)
[macroexpand] expanding... cadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cdadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cdadr@191 p@190) (cdr@9 (cadr@13 p@190)))
## macroexpand completed
ai = 21
(define (cdadr@191 p@190) (cdr@9 (cadr@13 p@190)))gc run!
## analyzer completed
ai = 23
## resolver completed
ai = 24
## codegen completed
(return (set! (ref 0 cdadr@191) (lambda (p@190) () #f () (return (cdr (call (ref 1 cadr@13) (ref 0 p@190)))))))(return (set! (gref 184) (lambda (p@190) () #f () (return (cdr (call (gref 12) (lref 1)))))))## irep 0x65d1f0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 184
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65d270
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [23] OP_CDR
04 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x65d1b0>
argv = ()
irep = ## irep 0x65d1f0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 184
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65d270
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [23] OP_CDR
04 [19] OP_RET
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 184
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 22
# input expression
ai = 22
(define (cddar p) (cdr (cdar p)))before expand:
(define (cddar p) (cdr (cdar p)))
[macroexpand] expanding... (define (cddar p) (cdr (cdar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr (cdar p))
[macroexpand] expanding... cdr
[macroexpand] expanding... (cdar p)
[macroexpand] expanding... cdar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cddar
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cddar@193 p@192) (cdr@9 (cdar@14 p@192)))
## macroexpand completed
ai = 23
(define (cddar@193 p@192) (cdr@9 (cdar@14 p@192)))gc run!
## analyzer completed
ai = 25
(return (set! (ref 0 cddar@193) (lambda (p@192) () #f () (return (cdr (call (ref 1 cdar@14) (ref 0 p@192)))))))gc run!
## resolver completed
ai = 26
## codegen completed
(return (set! (gref 185) (lambda (p@192) () #f () (return (cdr (call (gref 13) (lref 1)))))))## irep 0x6c81a0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 185
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c7f60
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [23] OP_CDR
04 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c8160>
argv = ()
irep = ## irep 0x6c81a0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 185
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c7f60
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [23] OP_CDR
04 [19] OP_RET
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 185
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 24
# input expression
ai = 24
(define (cdddr p) (cdr (cddr p)))before expand:
(define (cdddr p) (cdr (cddr p)))
[macroexpand] expanding... (define (cdddr p) (cdr (cddr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr (cddr p))
[macroexpand] expanding... cdr
[macroexpand] expanding... (cddr p)
[macroexpand] expanding... cddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cdddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cdddr@195 p@194) (cdr@9 (cddr@15 p@194)))
## macroexpand completed
ai = 25
(define (cdddr@195 p@194) (cdr@9 (cddr@15 p@194)))gc run!
## analyzer completed
ai = 27
(return (set! (ref 0 cdddr@195) (lambda (p@194) () #f () (return (cdr (call (ref 1 cddr@15) (ref 0 p@194)))))))gc run!
## resolver completed
ai = 28
## codegen completed
(return (set! (gref 186) (lambda (p@194) () #f () (return (cdr (call (gref 14) (lref 1)))))))## irep 0x6c8020
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 186
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c80a0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [23] OP_CDR
04 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c8320>
argv = ()
irep = ## irep 0x6c8020
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 186
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c80a0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [23] OP_CDR
04 [19] OP_RET
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 186
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 26
# input expression
ai = 26
(define (caaaar p) (caar (caar p)))before expand:
(define (caaaar p) (caar (caar p)))
[macroexpand] expanding... (define (caaaar p) (caar (caar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (caar (caar p))
[macroexpand] expanding... caar
[macroexpand] expanding... (caar p)
[macroexpand] expanding... caar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... caaaar
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (caaaar@197 p@196) (caar@12 (caar@12 p@196)))
## macroexpand completed
ai = 27
(define (caaaar@197 p@196) (caar@12 (caar@12 p@196)))gc run!
## analyzer completed
ai = 29
(return (set! (ref 0 caaaar@197) (lambda (p@196) () #f () (tail-call (ref 1 caar@12) (call (ref 1 caar@12) (ref 0 p@196))))))gc run!
## resolver completed
ai = 30
## codegen completed
(return (set! (gref 187) (lambda (p@196) () #f () (tail-call (gref 11) (call (gref 11) (lref 1))))))## irep 0x6c96e0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 187
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c9320
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [ 8] OP_GREF 11
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c96a0>
argv = ()
irep = ## irep 0x6c96e0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 187
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c9320
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [ 8] OP_GREF 11
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 187
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 28
# input expression
ai = 28
(define (caaadr p) (caar (cadr p)))before expand:
(define (caaadr p) (caar (cadr p)))
[macroexpand] expanding... (define (caaadr p) (caar (cadr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (caar (cadr p))
[macroexpand] expanding... caar
[macroexpand] expanding... (cadr p)
[macroexpand] expanding... cadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... caaadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (caaadr@199 p@198) (caar@12 (cadr@13 p@198)))
## macroexpand completed
ai = 29
(define (caaadr@199 p@198) (caar@12 (cadr@13 p@198)))gc run!
## analyzer completed
ai = 31
(return (set! (ref 0 caaadr@199) (lambda (p@198) () #f () (tail-call (ref 1 caar@12) (call (ref 1 cadr@13) (ref 0 p@198))))))gc run!
## resolver completed
ai = 32
## codegen completed
(return (set! (gref 188) (lambda (p@198) () #f () (tail-call (gref 11) (call (gref 12) (lref 1))))))## irep 0x65d710
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 188
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65d790
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x65da10>
argv = ()
irep = ## irep 0x65d710
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 188
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65d790
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 188
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 30
# input expression
ai = 30
(define (caadar p) (caar (cdar p)))before expand:
(define (caadar p) (caar (cdar p)))
[macroexpand] expanding... (define (caadar p) (caar (cdar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (caar (cdar p))
[macroexpand] expanding... caar
[macroexpand] expanding... (cdar p)
[macroexpand] expanding... cdar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... caadar
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (caadar@201 p@200) (caar@12 (cdar@14 p@200)))
## macroexpand completed
ai = 31
(define (caadar@201 p@200) (caar@12 (cdar@14 p@200)))gc run!
## analyzer completed
ai = 33
(return (set! (ref 0 caadar@201) (lambda (p@200) () #f () (tail-call (ref 1 caar@12) (call (ref 1 cdar@14) (ref 0 p@200))))))gc run!
## resolver completed
ai = 34
## codegen completed
(return (set! (gref 189) (lambda (p@200) () #f () (tail-call (gref 11) (call (gref 13) (lref 1))))))## irep 0x65d630
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 189
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65cd30
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [ 8] OP_GREF 13
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x65d5f0>
argv = ()
irep = ## irep 0x65d630
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 189
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65cd30
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [ 8] OP_GREF 13
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 189
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 32
# input expression
ai = 32
(define (caaddr p) (caar (cddr p)))before expand:
(define (caaddr p) (caar (cddr p)))
[macroexpand] expanding... (define (caaddr p) (caar (cddr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (caar (cddr p))
[macroexpand] expanding... caar
[macroexpand] expanding... (cddr p)
[macroexpand] expanding... cddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
gc run!
[macroexpand] expanding... ()
[macroexpand] expanding... caaddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (caaddr@203 p@202) (caar@12 (cddr@15 p@202)))
## macroexpand completed
ai = 33
## analyzer completed
ai = 35
(define (caaddr@203 p@202) (caar@12 (cddr@15 p@202)))(return (set! (ref 0 caaddr@203) (lambda (p@202) () #f () (tail-call (ref 1 caar@12) (call (ref 1 cddr@15) (ref 0 p@202))))))gc run!
gc run!
## resolver completed
ai = 36
## codegen completed
(return (set! (gref 190) (lambda (p@202) () #f () (tail-call (gref 11) (call (gref 14) (lref 1))))))## irep 0x6c82a0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 190
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c7c00
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [ 8] OP_GREF 14
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c8260>
argv = ()
irep = ## irep 0x6c82a0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 190
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c7c00
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 11
01 [ 8] OP_GREF 14
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 190
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 34
# input expression
ai = 34
(define (cadaar p) (cadr (caar p)))before expand:
(define (cadaar p) (cadr (caar p)))
[macroexpand] expanding... (define (cadaar p) (cadr (caar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cadr (caar p))
[macroexpand] expanding... cadr
[macroexpand] expanding... (caar p)
[macroexpand] expanding... caar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cadaar
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cadaar@205 p@204) (cadr@13 (caar@12 p@204)))
## macroexpand completed
ai = 35
(define (cadaar@205 p@204) (cadr@13 (caar@12 p@204)))gc run!
## analyzer completed
ai = 37
(return (set! (ref 0 cadaar@205) (lambda (p@204) () #f () (tail-call (ref 1 cadr@13) (call (ref 1 caar@12) (ref 0 p@204))))))gc run!
gc run!
## resolver completed
ai = 38
## codegen completed
(return (set! (gref 191) (lambda (p@204) () #f () (tail-call (gref 12) (call (gref 11) (lref 1))))))## irep 0x65ca70
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 191
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c87a0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [ 8] OP_GREF 11
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x65ca30>
argv = ()
irep = ## irep 0x65ca70
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 191
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c87a0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [ 8] OP_GREF 11
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 191
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 36
# input expression
ai = 36
(define (cadadr p) (cadr (cadr p)))before expand:
(define (cadadr p) (cadr (cadr p)))
[macroexpand] expanding... (define (cadadr p) (cadr (cadr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cadr (cadr p))
[macroexpand] expanding... cadr
[macroexpand] expanding... (cadr p)
[macroexpand] expanding... cadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cadadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
gc run!
after expand:
(define (cadadr@207 p@206) (cadr@13 (cadr@13 p@206)))
## macroexpand completed
ai = 37
## analyzer completed
ai = 39
(define (cadadr@207 p@206) (cadr@13 (cadr@13 p@206)))(return (set! (ref 0 cadadr@207) (lambda (p@206) () #f () (tail-call (ref 1 cadr@13) (call (ref 1 cadr@13) (ref 0 p@206))))))gc run!
gc run!
## resolver completed
ai = 40
(return (set! (gref 192) (lambda (p@206) () #f () (tail-call (gref 12) (call (gref 12) (lref 1))))))gc run!
## codegen completed
## irep 0x6c7e80
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 192
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c7ca0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c7e40>
argv = ()
irep = ## irep 0x6c7e80
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 192
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c7ca0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 192
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 38
# input expression
ai = 38
(define (caddar p) (cadr (cdar p)))before expand:
(define (caddar p) (cadr (cdar p)))
[macroexpand] expanding... (define (caddar p) (cadr (cdar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cadr (cdar p))
[macroexpand] expanding... cadr
[macroexpand] expanding... (cdar p)
[macroexpand] expanding... cdar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... caddar
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (caddar@209 p@208) (cadr@13 (cdar@14 p@208)))
## macroexpand completed
ai = 39
(define (caddar@209 p@208) (cadr@13 (cdar@14 p@208)))gc run!
## analyzer completed
ai = 41
(return (set! (ref 0 caddar@209) (lambda (p@208) () #f () (tail-call (ref 1 cadr@13) (call (ref 1 cdar@14) (ref 0 p@208))))))gc run!
gc run!
gc run!
## resolver completed
ai = 42
## codegen completed
(return (set! (gref 193) (lambda (p@208) () #f () (tail-call (gref 12) (call (gref 13) (lref 1))))))## irep 0x6c7d40
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 193
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c7dc0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [ 8] OP_GREF 13
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c8600>
argv = ()
irep = ## irep 0x6c7d40
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 193
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c7dc0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [ 8] OP_GREF 13
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 193
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 40
# input expression
ai = 40
(define (cadddr p) (cadr (cddr p)))before expand:
(define (cadddr p) (cadr (cddr p)))
[macroexpand] expanding... (define (cadddr p) (cadr (cddr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cadr (cddr p))
[macroexpand] expanding... cadr
[macroexpand] expanding... (cddr p)
[macroexpand] expanding... cddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
gc run!
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cadddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cadddr@211 p@210) (cadr@13 (cddr@15 p@210)))
## macroexpand completed
ai = 41
(define (cadddr@211 p@210) (cadr@13 (cddr@15 p@210)))gc run!
## analyzer completed
ai = 43
(return (set! (ref 0 cadddr@211) (lambda (p@210) () #f () (tail-call (ref 1 cadr@13) (call (ref 1 cddr@15) (ref 0 p@210))))))gc run!
gc run!
gc run!
gc run!
## resolver completed
ai = 44
## codegen completed
(return (set! (gref 194) (lambda (p@210) () #f () (tail-call (gref 12) (call (gref 14) (lref 1))))))## irep 0x650aa0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 194
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x650b20
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [ 8] OP_GREF 14
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x650a60>
argv = ()
irep = ## irep 0x650aa0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 194
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x650b20
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 12
01 [ 8] OP_GREF 14
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 194
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 42
# input expression
ai = 42
(define (cdaaar p) (cdar (caar p)))before expand:
(define (cdaaar p) (cdar (caar p)))
[macroexpand] expanding... (define (cdaaar p) (cdar (caar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cdar (caar p))
[macroexpand] expanding... cdar
[macroexpand] expanding... (caar p)
[macroexpand] expanding... caar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cdaaar
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cdaaar@213 p@212) (cdar@14 (caar@12 p@212)))
## macroexpand completed
ai = 43
## analyzer completed
ai = 45
(define (cdaaar@213 p@212) (cdar@14 (caar@12 p@212)))(return (set! (ref 0 cdaaar@213) (lambda (p@212) () #f () (tail-call (ref 1 cdar@14) (call (ref 1 caar@12) (ref 0 p@212))))))gc run!
## resolver completed
ai = 46
## codegen completed
(return (set! (gref 195) (lambda (p@212) () #f () (tail-call (gref 13) (call (gref 11) (lref 1))))))## irep 0x6c97e0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 195
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c9860
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [ 8] OP_GREF 11
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c97a0>
argv = ()
irep = ## irep 0x6c97e0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 195
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c9860
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [ 8] OP_GREF 11
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 195
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 44
# input expression
ai = 44
(define (cdaadr p) (cdar (cadr p)))before expand:
(define (cdaadr p) (cdar (cadr p)))
[macroexpand] expanding... (define (cdaadr p) (cdar (cadr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cdar (cadr p))
[macroexpand] expanding... cdar
[macroexpand] expanding... (cadr p)
[macroexpand] expanding... cadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cdaadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cdaadr@215 p@214) (cdar@14 (cadr@13 p@214)))
## macroexpand completed
ai = 45
(define (cdaadr@215 p@214) (cdar@14 (cadr@13 p@214)))gc run!
## analyzer completed
ai = 47
## resolver completed
ai = 48
## codegen completed
(return (set! (ref 0 cdaadr@215) (lambda (p@214) () #f () (tail-call (ref 1 cdar@14) (call (ref 1 cadr@13) (ref 0 p@214))))))(return (set! (gref 196) (lambda (p@214) () #f () (tail-call (gref 13) (call (gref 12) (lref 1))))))## irep 0x64f400
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 196
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x64f480
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x64f3c0>
argv = ()
irep = ## irep 0x64f400
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 196
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x64f480
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 196
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 46
# input expression
ai = 46
(define (cdadar p) (cdar (cdar p)))before expand:
(define (cdadar p) (cdar (cdar p)))
[macroexpand] expanding... (define (cdadar p) (cdar (cdar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cdar (cdar p))
[macroexpand] expanding... cdar
[macroexpand] expanding... (cdar p)
[macroexpand] expanding... cdar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cdadar
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cdadar@217 p@216) (cdar@14 (cdar@14 p@216)))
## macroexpand completed
ai = 47
(define (cdadar@217 p@216) (cdar@14 (cdar@14 p@216)))gc run!
## analyzer completed
ai = 49
## resolver completed
ai = 50
## codegen completed
(return (set! (ref 0 cdadar@217) (lambda (p@216) () #f () (tail-call (ref 1 cdar@14) (call (ref 1 cdar@14) (ref 0 p@216))))))(return (set! (gref 197) (lambda (p@216) () #f () (tail-call (gref 13) (call (gref 13) (lref 1))))))## irep 0x64fe80
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 197
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x64ff00
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [ 8] OP_GREF 13
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x64fe40>
argv = ()
irep = ## irep 0x64fe80
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 197
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x64ff00
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [ 8] OP_GREF 13
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 197
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 48
# input expression
ai = 48
(define (cdaddr p) (cdar (cddr p)))before expand:
(define (cdaddr p) (cdar (cddr p)))
[macroexpand] expanding... (define (cdaddr p) (cdar (cddr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cdar (cddr p))
[macroexpand] expanding... cdar
[macroexpand] expanding... (cddr p)
[macroexpand] expanding... cddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cdaddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cdaddr@219 p@218) (cdar@14 (cddr@15 p@218)))
## macroexpand completed
ai = 49
(define (cdaddr@219 p@218) (cdar@14 (cddr@15 p@218)))gc run!
## analyzer completed
ai = 51
## resolver completed
ai = 52
## codegen completed
(return (set! (ref 0 cdaddr@219) (lambda (p@218) () #f () (tail-call (ref 1 cdar@14) (call (ref 1 cddr@15) (ref 0 p@218))))))(return (set! (gref 198) (lambda (p@218) () #f () (tail-call (gref 13) (call (gref 14) (lref 1))))))## irep 0x6500c0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 198
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x64fc80
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [ 8] OP_GREF 14
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x650080>
argv = ()
irep = ## irep 0x6500c0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 198
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x64fc80
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [ 8] OP_GREF 14
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 198
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 50
# input expression
ai = 50
(define (cddaar p) (cddr (caar p)))before expand:
(define (cddaar p) (cddr (caar p)))
[macroexpand] expanding... (define (cddaar p) (cddr (caar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cddr (caar p))
[macroexpand] expanding... cddr
[macroexpand] expanding... (caar p)
[macroexpand] expanding... caar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cddaar
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cddaar@221 p@220) (cddr@15 (caar@12 p@220)))
## macroexpand completed
ai = 51
(define (cddaar@221 p@220) (cddr@15 (caar@12 p@220)))gc run!
## analyzer completed
ai = 53
## resolver completed
ai = 54
## codegen completed
(return (set! (ref 0 cddaar@221) (lambda (p@220) () #f () (tail-call (ref 1 cddr@15) (call (ref 1 caar@12) (ref 0 p@220))))))(return (set! (gref 199) (lambda (p@220) () #f () (tail-call (gref 14) (call (gref 11) (lref 1))))))## irep 0x650ba0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 199
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x650780
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [ 8] OP_GREF 11
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x650c80>
argv = ()
irep = ## irep 0x650ba0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 199
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x650780
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [ 8] OP_GREF 11
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 199
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 52
# input expression
ai = 52
(define (cddadr p) (cddr (cadr p)))before expand:
(define (cddadr p) (cddr (cadr p)))
[macroexpand] expanding... (define (cddadr p) (cddr (cadr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cddr (cadr p))
[macroexpand] expanding... cddr
[macroexpand] expanding... (cadr p)
[macroexpand] expanding... cadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cddadr
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cddadr@223 p@222) (cddr@15 (cadr@13 p@222)))
## macroexpand completed
ai = 53
(define (cddadr@223 p@222) (cddr@15 (cadr@13 p@222)))gc run!
## analyzer completed
ai = 55
## resolver completed
ai = 56
## codegen completed
(return (set! (ref 0 cddadr@223) (lambda (p@222) () #f () (tail-call (ref 1 cddr@15) (call (ref 1 cadr@13) (ref 0 p@222))))))(return (set! (gref 200) (lambda (p@222) () #f () (tail-call (gref 14) (call (gref 12) (lref 1))))))## irep 0x65cdf0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 200
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65cb10
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x65cdb0>
argv = ()
irep = ## irep 0x65cdf0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 200
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65cb10
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 200
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 54
# input expression
ai = 54
(define (cdddar p) (cddr (cdar p)))before expand:
(define (cdddar p) (cddr (cdar p)))
[macroexpand] expanding... (define (cdddar p) (cddr (cdar p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cddr (cdar p))
[macroexpand] expanding... cddr
[macroexpand] expanding... (cdar p)
[macroexpand] expanding... cdar
[macroexpand] expanding... p
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cdddar
[macroexpand] expanding... p
[macroexpand] expanding... ()
gc run!
after expand:
(define (cdddar@225 p@224) (cddr@15 (cdar@14 p@224)))
## macroexpand completed
ai = 55
## analyzer completed
ai = 57
## resolver completed
ai = 58
## codegen completed
(define (cdddar@225 p@224) (cddr@15 (cdar@14 p@224)))(return (set! (ref 0 cdddar@225) (lambda (p@224) () #f () (tail-call (ref 1 cddr@15) (call (ref 1 cdar@14) (ref 0 p@224))))))(return (set! (gref 201) (lambda (p@224) () #f () (tail-call (gref 14) (call (gref 13) (lref 1))))))## irep 0x665fd0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 201
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65daf0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [ 8] OP_GREF 13
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x665f90>
argv = ()
irep = ## irep 0x665fd0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 201
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65daf0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [ 8] OP_GREF 13
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 201
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 56
# input expression
ai = 56
(define (cddddr p) (cddr (cddr p)))before expand:
(define (cddddr p) (cddr (cddr p)))
[macroexpand] expanding... (define (cddddr p) (cddr (cddr p)))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (cddr (cddr p))
[macroexpand] expanding... cddr
[macroexpand] expanding... (cddr p)
[macroexpand] expanding... cddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
gc run!
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... cddddr
[macroexpand] expanding... p
[macroexpand] expanding... ()
after expand:
(define (cddddr@227 p@226) (cddr@15 (cddr@15 p@226)))
## macroexpand completed
ai = 57
## analyzer completed
ai = 59
## resolver completed
ai = 60
(define (cddddr@227 p@226) (cddr@15 (cddr@15 p@226)))(return (set! (ref 0 cddddr@227) (lambda (p@226) () #f () (tail-call (ref 1 cddr@15) (call (ref 1 cddr@15) (ref 0 p@226))))))(return (set! (gref 202) (lambda (p@226) () #f () (tail-call (gref 14) (call (gref 14) (lref 1))))))gc run!
## codegen completed
## irep 0x6c8aa0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 202
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65d910
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [ 8] OP_GREF 14
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c8a60>
argv = ()
irep = ## irep 0x6c8aa0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 202
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x65d910
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 14
01 [ 8] OP_GREF 14
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 202
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 58
# input expression
ai = 58
(export caaar caadr cadar caddr cdaar cdadr cddar cdddr caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr)before expand:
(export caaar caadr cadar caddr cdaar cdadr cddar cdddr caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr)
[macroexpand] expanding... (export caaar caadr cadar caddr cdaar cdadr cddar cdddr caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr)
[macroexpand] expanding... export
after expand:
#f
## macroexpand completed
ai = 58
## analyzer completed
ai = 60
## resolver completed
ai = 61
## codegen completed
#f(return (quote #f))(return (quote #f))## irep 0x64ec00
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x64ebc0>
argv = ()
irep = ## irep 0x64ec00
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand:
#f
## macroexpand completed
ai = 60
## analyzer completed
ai = 62
## resolver completed
ai = 63
## codegen completed
#f(return (quote #f))(return (quote #f))## irep 0x64f900
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x64f8c0>
argv = ()
irep = ## irep 0x64f900
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 1
# input expression
ai = 1
(define-library (picrin macro) (import (scheme base)) (define (sc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure mac-env (quote ()) (f expr use-env)))) (define (rsc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure use-env (quote ()) (f expr mac-env)))) (export sc-macro-transformer rsc-macro-transformer))before expand:
(define-library (picrin macro) (import (scheme base)) (define (sc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure mac-env (quote ()) (f expr use-env)))) (define (rsc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure use-env (quote ()) (f expr mac-env)))) (export sc-macro-transformer rsc-macro-transformer))
[macroexpand] expanding... (define-library (picrin macro) (import (scheme base)) (define (sc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure mac-env (quote ()) (f expr use-env)))) (define (rsc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure use-env (quote ()) (f expr mac-env)))) (export sc-macro-transformer rsc-macro-transformer))
[macroexpand] expanding... define-library
* reopen library: (picrin macro)
ai = 1
# input expression
ai = 1
(import (scheme base))before expand:
(import (scheme base))
[macroexpand] expanding... (import (scheme base))
[macroexpand] expanding... import
* importing string-append as string-append@167
* importing make-string as make-string@156
* importing integer->char as integer->char@145
* importing make-bytevector as make-bytevector@134
* importing map as map@123
* importing lcm as lcm@86
* importing even? as even?@73
* importing write-bytevector as write-bytevector@54
* importing open-output-string as open-output-string@43
* importing textual-port? as textual-port?@32
* importing append as append@21
* importing cddr as cddr@15
* importing eqv? as eqv?@2
* importing define
* importing string>? as string>?@162
* importing error-object-message as error-object-message@151
* importing dynamic-wind as dynamic-wind@140
* importing make-vector as make-vector@129
* importing expt as expt@92
* importing floor-quotient as floor-quotient@81
* importing = as =@64
* importing integer? as integer?@60
* importing peek-char as peek-char@49
* importing eof-object as eof-object@38
* importing current-input-port as current-input-port@27
* importing set-car! as set-car!@10
* importing lambda
* importing string-fill! as string-fill!@168
* importing string-length as string-length@157
* importing with-exception-handler as with-exception-handler@146
* importing bytevector-length as bytevector-length@135
* importing for-each as for-each@124
* importing floor as floor@87
* importing min as min@74
* importing < as <@65
* importing flush-output-port as flush-output-port@55
* importing get-output-string as get-output-string@44
* importing binary-port? as binary-port?@33
* importing reverse as reverse@22
* importing equal? as equal?@3
* importing if
* importing string<=? as string<=?@163
* importing error-object-irritants as error-object-irritants@152
* importing values as values@141
* importing vector-length as vector-length@130
* importing inexact as inexact@93
* importing floor-remainder as floor-remainder@82
* importing zero? as zero?@69
* importing <= as <=@67
* importing exact? as exact?@61
* importing newline as newline@50
* importing close-port as close-port@39
* importing current-output-port as current-output-port@28
* importing list? as list?@17
* importing set-cdr! as set-cdr!@11
* importing cons as cons@7
* importing begin
* importing load as load@178
* importing include
* importing string-ref as string-ref@158
* importing raise as raise@147
* importing bytevector-u8-ref as bytevector-u8-ref@136
* importing symbol? as symbol?@125
* importing ceiling as ceiling@88
* importing max as max@75
* importing > as >@66
* importing number? as number?@56
* importing open-input-bytevector as open-input-bytevector@45
* importing port? as port?@34
* importing list-tail as list-tail@23
* importing car as car@8
* importing set!
* importing string>=? as string>=?@164
* importing read-error? as read-error?@153
* importing call-with-values as call-with-values@142
* importing vector-ref as vector-ref@131
* importing exact as exact@94
* importing truncate-quotient as truncate-quotient@83
* importing positive? as positive?@70
* importing >= as >=@68
* importing inexact? as inexact?@62
* importing write-char as write-char@51
* importing close-input-port as close-input-port@40
* importing current-error-port as current-error-port@29
* importing make-list as make-list@18
* importing caar as caar@12
* importing cdr as cdr@9
* importing boolean? as boolean?@5
* importing quote
* importing string-set! as string-set!@159
* importing raise-continuable as raise-continuable@148
* importing bytevector-u8-set! as bytevector-u8-set!@137
* importing symbol->string as symbol->string@126
* importing truncate as truncate@89
* importing complex? as complex?@57
* importing open-output-bytevector as open-output-bytevector@46
* importing input-port-open? as input-port-open?@35
* importing list-ref as list-ref@24
* importing null? as null?@16
* importing not as not@4
* importing string-copy as string-copy@165
* importing file-error? as file-error?@154
* importing char? as char?@143
* importing vector-set! as vector-set!@132
* importing procedure? as procedure?@121
* importing truncate-remainder as truncate-remainder@84
* importing + as +@76
* importing negative? as negative?@71
* importing exact-integer? as exact-integer?@63
* importing write-string as write-string@52
* importing close-output-port as close-output-port@41
* importing input-port? as input-port?@30
* importing list as list@19
* importing cadr as cadr@13
* importing pair? as pair?@6
* importing string=? as string=?@160
* importing error as error@149
* importing call-with-current-continuation as call-with-current-continuation@138
* importing string->symbol as string->symbol@127
* importing round as round@90
* importing - as -@77
* importing real? as real?@58
* importing get-output-bytevector as get-output-bytevector@47
* importing output-port-open? as output-port-open?@36
* importing list-set! as list-set!@25
* importing string-copy! as string-copy!@166
* importing string? as string?@155
* importing char->integer as char->integer@144
* importing bytevector? as bytevector?@133
* importing apply as apply@122
* importing gcd as gcd@85
* importing * as *@78
* importing odd? as odd?@72
* importing write-u8 as write-u8@53
* importing open-input-string as open-input-string@42
* importing output-port? as output-port?@31
* importing length as length@20
* importing cdar as cdar@14
* importing eq? as eq?@1
* importing define-syntax
* importing string<? as string<?@161
* importing error-object? as error-object?@150
* importing call/cc as call/cc@139
* importing vector? as vector?@128
* importing square as square@91
* importing abs as abs@80
* importing / as /@79
* importing rational? as rational?@59
* importing read-char as read-char@48
* importing eof-object? as eof-object?@37
* importing list-copy as list-copy@26
* importing define-macro
after expand:
#f
## macroexpand completed
ai = 1
## analyzer completed
ai = 3
## resolver completed
ai = 4
#f(return (quote #f))(return (quote #f))gc run!
## codegen completed
## irep 0x6c7a80
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c7a40>
argv = ()
irep = ## irep 0x6c7a80
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 3
# input expression
ai = 3
(define (sc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure mac-env (quote ()) (f expr use-env))))before expand:
(define (sc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure mac-env (quote ()) (f expr use-env))))
[macroexpand] expanding... (define (sc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure mac-env (quote ()) (f expr use-env))))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (lambda (expr use-env mac-env) (make-syntactic-closure mac-env (quote ()) (f expr use-env)))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (make-syntactic-closure mac-env (quote ()) (f expr use-env))
[macroexpand] expanding... make-syntactic-closure
[macroexpand] expanding... mac-env
[macroexpand] expanding... (quote ())
[macroexpand] expanding... quote
[macroexpand] expanding... (f expr use-env)
[macroexpand] expanding... f
[macroexpand] expanding... expr
[macroexpand] expanding... use-env
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... expr
[macroexpand] expanding... use-env
[macroexpand] expanding... mac-env
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... sc-macro-transformer
[macroexpand] expanding... f
[macroexpand] expanding... ()
after expand:
(define (sc-macro-transformer@229 f@228) (lambda (expr@230 use-env@231 mac-env@232) (make-syntactic-closure@169 mac-env@232 (quote ()) (f@228 expr@230 use-env@231))))
## macroexpand completed
ai = 4
## analyzer completed
ai = 6
(define (sc-macro-transformer@229 f@228) (lambda (expr@230 use-env@231 mac-env@232) (make-syntactic-closure@169 mac-env@232 (quote ()) (f@228 expr@230 use-env@231))))(return (set! (ref 0 sc-macro-transformer@229) (lambda (f@228) () #f (f@228) (return (lambda (expr@230 use-env@231 mac-env@232) () #f () (tail-call (ref 2 make-syntactic-closure@169) (ref 0 mac-env@232) (quote ()) (call (ref 1 f@228) (ref 0 expr@230) (ref 0 use-env@231))))))))gc run!
## resolver completed
ai = 7
## codegen completed
(return (set! (gref 203) (lambda (f@228) () #f (f@228) (return (lambda (expr@230 use-env@231 mac-env@232) () #f () (tail-call (gref 168) (lref 3) (quote ()) (call (cref 1 0) (lref 1) (lref 2))))))))## irep 0x650580
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 203
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x650140
[clen = 2, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [20] OP_LAMBDA 0
01 [19] OP_RET
## irep 0x6501c0
[clen = 8, argc = 4, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 168
01 [10] OP_LREF 3
02 [ 2] OP_PUSHNIL
03 [12] OP_CREF 1 0
04 [10] OP_LREF 1
05 [10] OP_LREF 2
06 [17] OP_CALL 3
07 [18] OP_TAILCALL 4
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x650540>
argv = ()
irep = ## irep 0x650580
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 203
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x650140
[clen = 2, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [20] OP_LAMBDA 0
01 [19] OP_RET
## irep 0x6501c0
[clen = 8, argc = 4, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 168
01 [10] OP_LREF 3
02 [ 2] OP_PUSHNIL
03 [12] OP_CREF 1 0
04 [10] OP_LREF 1
05 [10] OP_LREF 2
06 [17] OP_CALL 3
07 [18] OP_TAILCALL 4
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 203
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 5
# input expression
ai = 5
(define (rsc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure use-env (quote ()) (f expr mac-env))))before expand:
(define (rsc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure use-env (quote ()) (f expr mac-env))))
[macroexpand] expanding... (define (rsc-macro-transformer f) (lambda (expr use-env mac-env) (make-syntactic-closure use-env (quote ()) (f expr mac-env))))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (lambda (expr use-env mac-env) (make-syntactic-closure use-env (quote ()) (f expr mac-env)))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (make-syntactic-closure use-env (quote ()) (f expr mac-env))
[macroexpand] expanding... make-syntactic-closure
[macroexpand] expanding... use-env
[macroexpand] expanding... (quote ())
[macroexpand] expanding... quote
[macroexpand] expanding... (f expr mac-env)
[macroexpand] expanding... f
[macroexpand] expanding... expr
[macroexpand] expanding... mac-env
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... expr
[macroexpand] expanding... use-env
[macroexpand] expanding... mac-env
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... rsc-macro-transformer
[macroexpand] expanding... f
[macroexpand] expanding... ()
after expand:
(define (rsc-macro-transformer@234 f@233) (lambda (expr@235 use-env@236 mac-env@237) (make-syntactic-closure@169 use-env@236 (quote ()) (f@233 expr@235 mac-env@237))))
## macroexpand completed
ai = 6
(define (rsc-macro-transformer@234 f@233) (lambda (expr@235 use-env@236 mac-env@237) (make-syntactic-closure@169 use-env@236 (quote ()) (f@233 expr@235 mac-env@237))))gc run!
## analyzer completed
ai = 8
(return (set! (ref 0 rsc-macro-transformer@234) (lambda (f@233) () #f (f@233) (return (lambda (expr@235 use-env@236 mac-env@237) () #f () (tail-call (ref 2 make-syntactic-closure@169) (ref 0 use-env@236) (quote ()) (call (ref 1 f@233) (ref 0 expr@235) (ref 0 mac-env@237))))))))gc run!
## resolver completed
ai = 9
## codegen completed
(return (set! (gref 204) (lambda (f@233) () #f (f@233) (return (lambda (expr@235 use-env@236 mac-env@237) () #f () (tail-call (gref 168) (lref 2) (quote ()) (call (cref 1 0) (lref 1) (lref 3))))))))## irep 0x64f6a0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 204
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x64f720
[clen = 2, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [20] OP_LAMBDA 0
01 [19] OP_RET
## irep 0x64f400
[clen = 8, argc = 4, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 168
01 [10] OP_LREF 2
02 [ 2] OP_PUSHNIL
03 [12] OP_CREF 1 0
04 [10] OP_LREF 1
05 [10] OP_LREF 3
06 [17] OP_CALL 3
07 [18] OP_TAILCALL 4
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x64f9a0>
argv = ()
irep = ## irep 0x64f6a0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 204
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x64f720
[clen = 2, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [20] OP_LAMBDA 0
01 [19] OP_RET
## irep 0x64f400
[clen = 8, argc = 4, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 168
01 [10] OP_LREF 2
02 [ 2] OP_PUSHNIL
03 [12] OP_CREF 1 0
04 [10] OP_LREF 1
05 [10] OP_LREF 3
06 [17] OP_CALL 3
07 [18] OP_TAILCALL 4
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 204
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 7
# input expression
ai = 7
(export sc-macro-transformer rsc-macro-transformer)before expand:
(export sc-macro-transformer rsc-macro-transformer)
[macroexpand] expanding... (export sc-macro-transformer rsc-macro-transformer)
[macroexpand] expanding... export
after expand:
#f
## macroexpand completed
ai = 7
## analyzer completed
ai = 9
## resolver completed
ai = 10
#f(return (quote #f))(return (quote #f))gc run!
## codegen completed
## irep 0x6c79c0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c7980>
argv = ()
irep = ## irep 0x6c79c0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand:
#f
## macroexpand completed
ai = 9
## analyzer completed
ai = 11
## resolver completed
ai = 12
## codegen completed
#f(return (quote #f))(return (quote #f))## irep 0x6c88e0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c88a0>
argv = ()
irep = ## irep 0x6c88e0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 1
# input expression
(define-library (picrin core-syntax) (import (scheme base) (scheme cxr) (picrin macro)) (define-syntax let (er-macro-transformer (lambda (expr r compare) (if (symbol? (cadr expr)) (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))) (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings))))))) (define-syntax cond (er-macro-transformer (lambda (expr r compare) (let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))))) (define (single? list) (if (pair? list) (null? (cdr list)) #f)) (define-syntax and (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))))) (define-syntax or (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))))) (define-syntax quasiquote (er-macro-transformer (lambda (expr r compare?) (let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))))) (define-syntax let* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))))) (define-syntax letrec* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))))) (define-syntax letrec (er-macro-transformer (lambda (form rename compare) (quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))))) (define-syntax do (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))))) (define-syntax when (er-macro-transformer (lambda (expr rename compare) (let ((test (cadr expr)) (body (cddr expr))) (quasiquote ((unquote (rename (quote if))) (unquote test) ((unquote (rename (quote begin))) (unquote-splicing body)) #f)))))) (define-syntax unless (er-macro-transformer (lambda (expr rename compare) (let ((test (cadr expr)) (body (cddr expr))) (quasiquote ((unquote (rename (quote if))) (unquote test) #f ((unquote (rename (quote begin))) (unquote-splicing body)))))))) (define-syntax case (er-macro-transformer (lambda (expr r compare) (let ((key (cadr expr)) (clauses (cddr expr))) (quasiquote ((unquote (r (quote let))) (((unquote (r (quote key))) (unquote key))) (unquote (let loop ((clauses clauses)) (if (null? clauses) #f (quasiquote ((unquote (r (quote if))) ((unquote (r (quote or))) (unquote-splicing (map (lambda (x) (quasiquote ((unquote (r (quote eqv?))) (unquote (r (quote key))) ((unquote (r (quote quote))) (unquote x))))) (caar clauses)))) (begin (unquote-splicing (cdar clauses))) (unquote (loop (cdr clauses)))))))))))))) (define-syntax syntax-error (er-macro-transformer (lambda (expr rename compare) (apply error (cdr expr))))) (define-syntax define-auxiliary-syntax (er-macro-transformer (lambda (expr r c) (quasiquote ((unquote (r (quote define-syntax))) (unquote (cadr expr)) ((unquote (r (quote sc-macro-transformer))) ((unquote (r (quote lambda))) (expr env) ((unquote (r (quote error))) "invalid use of auxiliary syntax")))))))) (define-auxiliary-syntax else) (define-au
ai = 1
xiliary-syntax =>) (define-auxiliary-syntax _) (define-auxiliary-syntax ...) (define-auxiliary-syntax unquote) (define-auxiliary-syntax unquote-splicing) (export let let* letrec letrec* quasiquote unquote unquote-splicing and or cond case else => do when unless _ ... syntax-error))before expand:
(define-library (picrin core-syntax) (import (scheme base) (scheme cxr) (picrin macro)) (define-syntax let (er-macro-transformer (lambda (expr r compare) (if (symbol? (cadr expr)) (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))) (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings))))))) (define-syntax cond (er-macro-transformer (lambda (expr r compare) (let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))))) (define (single? list) (if (pair? list) (null? (cdr list)) #f)) (define-syntax and (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))))) (define-syntax or (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))))) (define-syntax quasiquote (er-macro-transformer (lambda (expr r compare?) (let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))))) (define-syntax let* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))))) (define-syntax letrec* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))))) (define-syntax letrec (er-macro-transformer (lambda (form rename compare) (quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))))) (define-syntax do (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))))) (define-syntax when (er-macro-transformer (lambda (expr rename compare) (let ((test (cadr expr)) (body (cddr expr))) (quasiquote ((unquote (rename (quote if))) (unquote test) ((unquote (rename (quote begin))) (unquote-splicing body)) #f)))))) (define-syntax unless (er-macro-transformer (lambda (expr rename compare) (let ((test (cadr expr)) (body (cddr expr))) (quasiquote ((unquote (rename (quote if))) (unquote test) #f ((unquote (rename (quote begin))) (unquote-splicing body)))))))) (define-syntax case (er-macro-transformer (lambda (expr r compare) (let ((key (cadr expr)) (clauses (cddr expr))) (quasiquote ((unquote (r (quote let))) (((unquote (r (quote key))) (unquote key))) (unquote (let loop ((clauses clauses)) (if (null? clauses) #f (quasiquote ((unquote (r (quote if))) ((unquote (r (quote or))) (unquote-splicing (map (lambda (x) (quasiquote ((unquote (r (quote eqv?))) (unquote (r (quote key))) ((unquote (r (quote quote))) (unquote x))))) (caar clauses)))) (begin (unquote-splicing (cdar clauses))) (unquote (loop (cdr clauses)))))))))))))) (define-syntax syntax-error (er-macro-transformer (lambda (expr rename compare) (apply error (cdr expr))))) (define-syntax define-auxiliary-syntax (er-macro-transformer (lambda (expr r c) (quasiquote ((unquote (r (quote define-syntax))) (unquote (cadr expr)) ((unquote (r (quote sc-macro-transformer))) ((unquote (r (quote lambda))) (expr env) ((unquote (r (quote error))) "invalid use of auxiliary syntax")))))))) (define-auxiliary-syntax else) (define-auxiliary-syntax =>) (define-auxiliary-syntax _) (define-auxiliary-syntax ...) (define-auxiliary-syntax unquote) (define-auxiliary-syntax unquote-splicing) (export let let* letrec letrec* quasiquote unquote unquote-splicing and or cond case else => do when unless _ ... syntax-error))
[macroexpand] expanding... (define-library (picrin core-syntax) (import (scheme base) (scheme cxr) (picrin macro)) (define-syntax let (er-macro-transformer (lambda (expr r compare) (if (symbol? (cadr expr)) (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))) (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings))))))) (define-syntax cond (er-macro-transformer (lambda (expr r compare) (let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))))) (define (single? list) (if (pair? list) (null? (cdr list)) #f)) (define-syntax and (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))))) (define-syntax or (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))))) (define-syntax quasiquote (er-macro-transformer (lambda (expr r compare?) (let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))))) (define-syntax let* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))))) (define-syntax letrec* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))))) (define-syntax letrec (er-macro-transformer (lambda (form rename compare) (quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))))) (define-syntax do (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))))) (define-syntax when (er-macro-transformer (lambda (expr rename compare) (let ((test (cadr expr)) (body (cddr expr))) (quasiquote ((unquote (rename (quote if))) (unquote test) ((unquote (rename (quote begin))) (unquote-splicing body)) #f)))))) (define-syntax unless (er-macro-transformer (lambda (expr rename compare) (let ((test (cadr expr)) (body (cddr expr))) (quasiquote ((unquote (rename (quote if))) (unquote test) #f ((unquote (rename (quote begin))) (unquote-splicing body)))))))) (define-syntax case (er-macro-transformer (lambda (expr r compare) (let ((key (cadr expr)) (clauses (cddr expr))) (quasiquote ((unquote (r (quote let))) (((unquote (r (quote key))) (unquote key))) (unquote (let loop ((clauses clauses)) (if (null? clauses) #f (quasiquote ((unquote (r (quote if))) ((unquote (r (quote or))) (unquote-splicing (map (lambda (x) (quasiquote ((unquote (r (quote eqv?))) (unquote (r (quote key))) ((unquote (r (quote quote))) (unquote x))))) (caar clauses)))) (begin (unquote-splicing (cdar clauses))) (unquote (loop (cdr clauses)))))))))))))) (define-syntax syntax-error (er-macro-transformer (lambda (expr rename compare) (apply error (cdr expr))))) (define-syntax define-auxiliary-syntax (er-macro-transformer (lambda (expr r c) (quasiquote ((unquote (r (quote define-syntax))) (unquote (cadr expr)) ((unquote (r (quote sc-macro-transformer))) ((unquote (r (quote lambda))) (expr env) ((unquote (r (quote error))) "invalid use of auxiliary syntax")))))))) (define-auxiliary-syntax else) (define-auxiliary-syntax =>) (define-auxiliary-syntax _) (define-auxiliary-syntax ...) (define-auxiliary-syntax unquote) (define-auxiliary-syntax unquote-splicing) (export let let* letrec letrec* quasiquote unquote unquote-splicing and or cond case else => do when unless _ ... syntax-error))
[macroexpand] expanding... define-library
ai = 8
# input expression
ai = 8
(import (scheme base) (scheme cxr) (picrin macro))before expand:
(import (scheme base) (scheme cxr) (picrin macro))
[macroexpand] expanding... (import (scheme base) (scheme cxr) (picrin macro))
[macroexpand] expanding... import
* importing string-append as string-append@167
* importing make-string as make-string@156
* importing integer->char as integer->char@145
* importing make-bytevector as make-bytevector@134
* importing map as map@123
* importing lcm as lcm@86
* importing even? as even?@73
* importing write-bytevector as write-bytevector@54
* importing open-output-string as open-output-string@43
* importing textual-port? as textual-port?@32
* importing append as append@21
* importing cddr as cddr@15
* importing eqv? as eqv?@2
* importing define
* importing string>? as string>?@162
* importing error-object-message as error-object-message@151
* importing dynamic-wind as dynamic-wind@140
* importing make-vector as make-vector@129
* importing expt as expt@92
* importing floor-quotient as floor-quotient@81
* importing = as =@64
* importing integer? as integer?@60
* importing peek-char as peek-char@49
* importing eof-object as eof-object@38
* importing current-input-port as current-input-port@27
* importing set-car! as set-car!@10
* importing lambda
* importing string-fill! as string-fill!@168
* importing string-length as string-length@157
* importing with-exception-handler as with-exception-handler@146
* importing bytevector-length as bytevector-length@135
* importing for-each as for-each@124
* importing floor as floor@87
* importing min as min@74
* importing < as <@65
* importing flush-output-port as flush-output-port@55
* importing get-output-string as get-output-string@44
* importing binary-port? as binary-port?@33
* importing reverse as reverse@22
* importing equal? as equal?@3
* importing if
* importing string<=? as string<=?@163
* importing error-object-irritants as error-object-irritants@152
* importing values as values@141
* importing vector-length as vector-length@130
* importing inexact as inexact@93
* importing floor-remainder as floor-remainder@82
* importing zero? as zero?@69
* importing <= as <=@67
* importing exact? as exact?@61
* importing newline as newline@50
* importing close-port as close-port@39
* importing current-output-port as current-output-port@28
* importing list? as list?@17
* importing set-cdr! as set-cdr!@11
* importing cons as cons@7
* importing begin
* importing load as load@178
* importing include
* importing string-ref as string-ref@158
* importing raise as raise@147
* importing bytevector-u8-ref as bytevector-u8-ref@136
* importing symbol? as symbol?@125
* importing ceiling as ceiling@88
* importing max as max@75
* importing > as >@66
* importing number? as number?@56
* importing open-input-bytevector as open-input-bytevector@45
* importing port? as port?@34
* importing list-tail as list-tail@23
* importing car as car@8
* importing set!
* importing string>=? as string>=?@164
* importing read-error? as read-error?@153
* importing call-with-values as call-with-values@142
* importing vector-ref as vector-ref@131
* importing exact as exact@94
* importing truncate-quotient as truncate-quotient@83
* importing positive? as positive?@70
* importing >= as >=@68
* importing inexact? as inexact?@62
* importing write-char as write-char@51
* importing close-input-port as close-input-port@40
* importing current-error-port as current-error-port@29
* importing make-list as make-list@18
* importing caar as caar@12
* importing cdr as cdr@9
* importing boolean? as boolean?@5
* importing quote
* importing string-set! as string-set!@159
* importing raise-continuable as raise-continuable@148
* importing bytevector-u8-set! as bytevector-u8-set!@137
* importing symbol->string as symbol->string@126
* importing truncate as truncate@89
* importing complex? as complex?@57
* importing open-output-bytevector as open-output-bytevector@46
* importing input-port-open? as input-port-open?@35
* importing list-ref as list-ref@24
* importing null? as null?@16
* importing not as not@4
* importing string-copy as string-copy@165
* importing file-error? as file-error?@154
* importing char? as char?@143
* importing vector-set! as vector-set!@132
* importing procedure? as procedure?@121
* importing truncate-remainder as truncate-remainder@84
* importing + as +@76
* importing negative? as negative?@71
* importing exact-integer? as exact-integer?@63
* importing write-string as write-string@52
* importing close-output-port as close-output-port@41
* importing input-port? as input-port?@30
* importing list as list@19
* importing cadr as cadr@13
* importing pair? as pair?@6
* importing string=? as string=?@160
* importing error as error@149
* importing call-with-current-continuation as call-with-current-continuation@138
* importing string->symbol as string->symbol@127
* importing round as round@90
* importing - as -@77
* importing real? as real?@58
* importing get-output-bytevector as get-output-bytevector@47
* importing output-port-open? as output-port-open?@36
* importing list-set! as list-set!@25
* importing string-copy! as string-copy!@166
* importing string? as string?@155
* importing char->integer as char->integer@144
* importing bytevector? as bytevector?@133
* importing apply as apply@122
* importing gcd as gcd@85
* importing * as *@78
* importing odd? as odd?@72
* importing write-u8 as write-u8@53
* importing open-input-string as open-input-string@42
* importing output-port? as output-port?@31
* importing length as length@20
* importing cdar as cdar@14
* importing eq? as eq?@1
* importing define-syntax
* importing string<? as string<?@161
* importing error-object? as error-object?@150
* importing call/cc as call/cc@139
* importing vector? as vector?@128
* importing square as square@91
* importing abs as abs@80
* importing / as /@79
* importing rational? as rational?@59
* importing read-char as read-char@48
* importing eof-object? as eof-object?@37
* importing list-copy as list-copy@26
* importing define-macro
* importing cdddar as cdddar@225
* importing caaddr as caaddr@203
* importing cddddr as cddddr@227
* importing cadaar as cadaar@205
* importing caadr as caadr@183
* importing cadadr as cadadr@207
* importing cadar as cadar@185
* importing caddar as caddar@209
* importing caddr as caddr@187
* importing cadddr as cadddr@211
* importing cdaar as cdaar@189
* importing cdaaar as cdaaar@213
* importing cdadr as cdadr@191
* importing cdaadr as cdaadr@215
* importing cddar as cddar@193
* importing cdadar as cdadar@217
* importing cdddr as cdddr@195
* importing cdaddr as cdaddr@219
* importing caaaar as caaaar@197
* importing cddaar as cddaar@221
* importing caaadr as caaadr@199
* importing cddadr as cddadr@223
* importing caadar as caadar@201
* importing caaar as caaar@181
* importing identifier=? as identifier=?@171
* importing sc-macro-transformer as sc-macro-transformer@229
* importing er-macro-transformer as er-macro-transformer@172
* importing ir-macro-transformer as ir-macro-transformer@173
* importing rsc-macro-transformer as rsc-macro-transformer@234
* importing make-syntactic-closure as make-syntactic-closure@169
* importing identifier? as identifier?@170
after expand:
#f
## macroexpand completed
ai = 8
## analyzer completed
ai = 10
## resolver completed
ai = 11
## codegen completed
#f(return (quote #f))(return (quote #f))## irep 0x6c95a0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c9560>
argv = ()
irep = ## irep 0x6c95a0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 10
# input expression
ai = 10
(define-syntax let (er-macro-transformer (lambda (expr r compare) (if (symbol? (cadr expr)) (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))) (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings)))))))before expand:
(define-syntax let (er-macro-transformer (lambda (expr r compare) (if (symbol? (cadr expr)) (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))) (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings)))))))
[macroexpand] expanding... (define-syntax let (er-macro-transformer (lambda (expr r compare) (if (symbol? (cadr expr)) (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))) (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings)))))))
[macroexpand] expanding... define-syntax
ai = 10
# input expression
ai = 10
(er-macro-transformer (lambda (expr r compare) (if (symbol? (cadr expr)) (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))) (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings))))))before expand:
(er-macro-transformer (lambda (expr r compare) (if (symbol? (cadr expr)) (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))) (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings))))))
[macroexpand] expanding... (er-macro-transformer (lambda (expr r compare) (if (symbol? (cadr expr)) (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))) (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings))))))
[macroexpand] expanding... er-macro-transformer
[macroexpand] expanding... (lambda (expr r compare) (if (symbol? (cadr expr)) (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))) (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings)))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (if (symbol? (cadr expr)) (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))) (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings))))
[macroexpand] expanding... if
[macroexpand] expanding... (symbol? (cadr expr))
[macroexpand] expanding... symbol?
[macroexpand] expanding... (cadr expr)
[macroexpand] expanding... cadr
[macroexpand] expanding... expr
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (begin (define name (cadr expr)) (define bindings (caddr expr)) (define body (cdddr expr)) (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings))))
[macroexpand] expanding... begin
[macroexpand] expanding... (define name (cadr expr))
[macroexpand] expanding... define
[macroexpand] expanding... name
[macroexpand] expanding... (cadr expr)
[macroexpand] expanding... cadr
[macroexpand] expanding... expr
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (define bindings (caddr expr))
[macroexpand] expanding... define
[macroexpand] expanding... bindings
[macroexpand] expanding... (caddr expr)
[macroexpand] expanding... caddr
[macroexpand] expanding... expr
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (define body (cdddr expr))
[macroexpand] expanding... define
[macroexpand] expanding... body
[macroexpand] expanding... (cdddr expr)
[macroexpand] expanding... cdddr
[macroexpand] expanding... expr
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (list (r (quote let)) (quote ()) (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body))) (cons name (map cadr bindings)))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote let))
[macroexpand] expanding... r
[macroexpand] expanding... (quote let)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quote ())
[macroexpand] expanding... quote
[macroexpand] expanding... (list (r (quote define)) name (cons (r (quote lambda)) (cons (map car bindings) body)))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote define))
[macroexpand] expanding... r
[macroexpand] expanding... (quote define)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... name
[macroexpand] expanding... (cons (r (quote lambda)) (cons (map car bindings) body))
[macroexpand] expanding... cons
[macroexpand] expanding... (r (quote lambda))
[macroexpand] expanding... r
[macroexpand] expanding... (quote lambda)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cons (map car bindings) body)
[macroexpand] expanding... cons
[macroexpand] expanding... (map car bindings)
[macroexpand] expanding... map
[macroexpand] expanding... car
[macroexpand] expanding... bindings
[macroexpand] expanding... ()
[macroexpand] expanding... body
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (cons name (map cadr bindings))
[macroexpand] expanding... cons
[macroexpand] expanding... name
[macroexpand] expanding... (map cadr bindings)
[macroexpand] expanding... map
[macroexpand] expanding... cadr
[macroexpand] expanding... bindings
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (begin (set! bindings (cadr expr)) (set! body (cddr expr)) (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings)))
[macroexpand] expanding... begin
[macroexpand] expanding... (set! bindings (cadr expr))
[macroexpand] expanding... set!
[macroexpand] expanding... bindings
[macroexpand] expanding... (cadr expr)
[macroexpand] expanding... cadr
[macroexpand] expanding... expr
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (set! body (cddr expr))
[macroexpand] expanding... set!
[macroexpand] expanding... body
[macroexpand] expanding... (cddr expr)
[macroexpand] expanding... cddr
[macroexpand] expanding... expr
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (cons (cons (r (quote lambda)) (cons (map car bindings) body)) (map cadr bindings))
[macroexpand] expanding... cons
[macroexpand] expanding... (cons (r (quote lambda)) (cons (map car bindings) body))
[macroexpand] expanding... cons
[macroexpand] expanding... (r (quote lambda))
[macroexpand] expanding... r
[macroexpand] expanding... (quote lambda)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cons (map car bindings) body)
[macroexpand] expanding... cons
[macroexpand] expanding... (map car bindings)
[macroexpand] expanding... map
[macroexpand] expanding... car
[macroexpand] expanding... bindings
[macroexpand] expanding... ()
[macroexpand] expanding... body
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (map cadr bindings)
[macroexpand] expanding... map
[macroexpand] expanding... cadr
[macroexpand] expanding... bindings
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... expr
[macroexpand] expanding... r
[macroexpand] expanding... compare
[macroexpand] expanding... ()
[macroexpand] expanding... ()
after expand:
(er-macro-transformer@172 (lambda (expr@238 r@239 compare@240) (if (symbol?@125 (cadr@13 expr@238)) (begin (define name@241 (cadr@13 expr@238)) (define bindings@242 (caddr@187 expr@238)) (define body@243 (cdddr@195 expr@238)) (list@19 (r@239 (quote let)) (quote ()) (list@19 (r@239 (quote define)) name@241 (cons@7 (r@239 (quote lambda)) (cons@7 (map@123 car@8 bindings@242) body@243))) (cons@7 name@241 (map@123 cadr@13 bindings@242)))) (begin (set! bindings@242 (cadr@13 expr@238)) (set! body@243 (cddr@15 expr@238)) (cons@7 (cons@7 (r@239 (quote lambda)) (cons@7 (map@123 car@8 bindings@242) body@243)) (map@123 cadr@13 bindings@242))))))
## macroexpand completed
ai = 11
(er-macro-transformer@172 (lambda (expr@238 r@239 compare@240) (if (symbol?@125 (cadr@13 expr@238)) (begin (define name@241 (cadr@13 expr@238)) (define bindings@242 (caddr@187 expr@238)) (define body@243 (cdddr@195 expr@238)) (list@19 (r@239 (quote let)) (quote ()) (list@19 (r@239 (quote define)) name@241 (cons@7 (r@239 (quote lambda)) (cons@7 (map@123 car@8 bindings@242) body@243))) (cons@7 name@241 (map@123 cadr@13 bindings@242)))) (begin (set! bindings@242 (cadr@13 expr@238)) (set! body@243 (cddr@15 expr@238)) (cons@7 (cons@7 (r@239 (quote lambda)) (cons@7 (map@123 car@8 bindings@242) body@243)) (map@123 cadr@13 bindings@242))))))gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
## analyzer completed
(tail-call (ref 0 er-macro-transformer@172) (lambda (expr@238 r@239 compare@240) (name@241 bindings@242 body@243) #f () (if (call (ref 1 symbol?@125) (call (ref 1 cadr@13) (ref 0 expr@238))) (begin (set! (ref 0 name@241) (call (ref 1 cadr@13) (ref 0 expr@238))) (set! (ref 0 bindings@242) (call (ref 1 caddr@187) (ref 0 expr@238))) (set! (ref 0 body@243) (call (ref 1 cdddr@195) (ref 0 expr@238))) (tail-call (ref 1 list@19) (call (ref 0 r@239) (quote let)) (quote ()) (call (ref 1 list@19) (call (ref 0 r@239) (quote define)) (ref 0 name@241) (cons (call (ref 0 r@239) (quote lambda)) (cons (call (ref 1 map@123) (ref 1 car@8) (ref 0 bindings@242)) (ref 0 body@243)))) (cons (ref 0 name@241) (call (ref 1 map@123) (ref 1 cadr@13) (ref 0 bindings@242))))) (begin (set! (ref 0 bindings@242) (call (ref 1 cadr@13) (ref 0 expr@238))) (set! (ref 0 body@243) (call (ref 1 cddr@15) (ref 0 expr@238))) (return (cons (cons (call (ref 0 r@239) (quote lambda)) (cons (call (ref 1 map@123) (ref 1 car@8) (ref 0 bindings@242)) (ref 0 bo
ai = 13
dy@243))) (call (ref 1 map@123) (ref 1 cadr@13) (ref 0 bindings@242))))))))gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
## resolver completed
ai = 14
(tail-call (gref 171) (lambda (expr@238 r@239 compare@240) (name@241 bindings@242 body@243) #f () (if (call (gref 124) (call (gref 12) (lref 1))) (begin (set! (lref 4) (call (gref 12) (lref 1))) (set! (lref 5) (call (gref 182) (lref 1))) (set! (lref 6) (call (gref 186) (lref 1))) (tail-call (gref 18) (call (lref 2) (quote let)) (quote ()) (call (gref 18) (call (lref 2) (quote define)) (lref 4) (cons (call (lref 2) (quote lambda)) (cons (call (gref 122) (gref 7) (lref 5)) (lref 6)))) (cons (lref 4) (call (gref 122) (gref 12) (lref 5))))) (begin (set! (lref 5) (call (gref 12) (lref 1))) (set! (lref 6) (call (gref 14) (lref 1))) (return (cons (cons (call (lref 2) (quote lambda)) (cons (call (gref 122) (gref 7) (lref 5)) (lref 6))) (call (gref 122) (gref 12) (lref 5))))))))gc run!
## codegen completed
## irep 0x6ccfe0
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6cc290
[clen = 76, argc = 4, localc = 3]
:: cv_num = 0
00 [ 8] OP_GREF 124
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [17] OP_CALL 2
05 [15] OP_JMPIF 1c
06 [ 8] OP_GREF 12
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [11] OP_LSET 5
0a [ 4] OP_PUSHFALSE
0b [ 8] OP_GREF 14
0c [10] OP_LREF 1
0d [17] OP_CALL 2
0e [11] OP_LSET 6
0f [ 4] OP_PUSHFALSE
10 [10] OP_LREF 2
11 [ 7] OP_PUSHCONST 0
12 [17] OP_CALL 2
13 [ 8] OP_GREF 122
14 [ 8] OP_GREF 7
15 [10] OP_LREF 5
16 [17] OP_CALL 3
17 [10] OP_LREF 6
18 [21] OP_CONS
19 [21] OP_CONS
1a [ 8] OP_GREF 122
1b [ 8] OP_GREF 12
1c [10] OP_LREF 5
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [19] OP_RET
20 [14] OP_JMP 2c
21 [ 8] OP_GREF 12
22 [10] OP_LREF 1
23 [17] OP_CALL 2
24 [11] OP_LSET 4
25 [ 4] OP_PUSHFALSE
26 [ 8] OP_GREF 182
27 [10] OP_LREF 1
28 [17] OP_CALL 2
29 [11] OP_LSET 5
2a [ 4] OP_PUSHFALSE
2b [ 8] OP_GREF 186
2c [10] OP_LREF 1
2d [17] OP_CALL 2
2e [11] OP_LSET 6
2f [ 4] OP_PUSHFALSE
30 [ 8] OP_GREF 18
31 [10] OP_LREF 2
32 [ 7] OP_PUSHCONST 1
33 [17] OP_CALL 2
34 [ 2] OP_PUSHNIL
35 [ 8] OP_GREF 18
36 [10] OP_LREF 2
37 [ 7] OP_PUSHCONST 2
38 [17] OP_CALL 2
39 [10] OP_LREF 4
3a [10] OP_LREF 2
3b [ 7] OP_PUSHCONST 3
3c [17] OP_CALL 2
3d [ 8] OP_GREF 122
3e [ 8] OP_GREF 7
3f [10] OP_LREF 5
40 [17] OP_CALL 3
41 [10] OP_LREF 6
42 [21] OP_CONS
43 [21] OP_CONS
44 [17] OP_CALL 4
45 [10] OP_LREF 4
46 [ 8] OP_GREF 122
47 [ 8] OP_GREF 12
48 [10] OP_LREF 5
49 [17] OP_CALL 3
4a [21] OP_CONS
4b [18] OP_TAILCALL 5
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6ccfa0>
argv = ()
irep = ## irep 0x6ccfe0
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6cc290
[clen = 76, argc = 4, localc = 3]
:: cv_num = 0
00 [ 8] OP_GREF 124
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [17] OP_CALL 2
05 [15] OP_JMPIF 1c
06 [ 8] OP_GREF 12
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [11] OP_LSET 5
0a [ 4] OP_PUSHFALSE
0b [ 8] OP_GREF 14
0c [10] OP_LREF 1
0d [17] OP_CALL 2
0e [11] OP_LSET 6
0f [ 4] OP_PUSHFALSE
10 [10] OP_LREF 2
11 [ 7] OP_PUSHCONST 0
12 [17] OP_CALL 2
13 [ 8] OP_GREF 122
14 [ 8] OP_GREF 7
15 [10] OP_LREF 5
16 [17] OP_CALL 3
17 [10] OP_LREF 6
18 [21] OP_CONS
19 [21] OP_CONS
1a [ 8] OP_GREF 122
1b [ 8] OP_GREF 12
1c [10] OP_LREF 5
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [19] OP_RET
20 [14] OP_JMP 2c
21 [ 8] OP_GREF 12
22 [10] OP_LREF 1
23 [17] OP_CALL 2
24 [11] OP_LSET 4
25 [ 4] OP_PUSHFALSE
26 [ 8] OP_GREF 182
27 [10] OP_LREF 1
28 [17] OP_CALL 2
29 [11] OP_LSET 5
2a [ 4] OP_PUSHFALSE
2b [ 8] OP_GREF 186
2c [10] OP_LREF 1
2d [17] OP_CALL 2
2e [11] OP_LSET 6
2f [ 4] OP_PUSHFALSE
30 [ 8] OP_GREF 18
31 [10] OP_LREF 2
32 [ 7] OP_PUSHCONST 1
33 [17] OP_CALL 2
34 [ 2] OP_PUSHNIL
35 [ 8] OP_GREF 18
36 [10] OP_LREF 2
37 [ 7] OP_PUSHCONST 2
38 [17] OP_CALL 2
39 [10] OP_LREF 4
3a [10] OP_LREF 2
3b [ 7] OP_PUSHCONST 3
3c [17] OP_CALL 2
3d [ 8] OP_GREF 122
3e [ 8] OP_GREF 7
3f [10] OP_LREF 5
40 [17] OP_CALL 3
41 [10] OP_LREF 6
42 [21] OP_CONS
43 [21] OP_CONS
44 [17] OP_CALL 4
45 [10] OP_LREF 4
46 [ 8] OP_GREF 122
47 [ 8] OP_GREF 12
48 [10] OP_LREF 5
49 [17] OP_CALL 3
4a [21] OP_CONS
4b [18] OP_TAILCALL 5
== end
[ 8] OP_GREF 171
[20] OP_LAMBDA 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6294e0>
argv = (#<proc 0x6cd500>)
cfunc = 0x7ffff7470c7f
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand:
#f
## macroexpand completed
ai = 10
## analyzer completed
ai = 12
## resolver completed
ai = 13
#f(return (quote #f))(return (quote #f))gc run!
## codegen completed
## irep 0x6c32b0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c3270>
argv = ()
irep = ## irep 0x6c32b0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 12
# input expression
ai = 12
(define-syntax cond (er-macro-transformer (lambda (expr r compare) (let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))))))before expand:
(define-syntax cond (er-macro-transformer (lambda (expr r compare) (let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))))))
[macroexpand] expanding... (define-syntax cond (er-macro-transformer (lambda (expr r compare) (let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))))))
[macroexpand] expanding... define-syntax
ai = 12
# input expression
ai = 12
(er-macro-transformer (lambda (expr r compare) (let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))))before expand:
(er-macro-transformer (lambda (expr r compare) (let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))))
[macroexpand] expanding... (er-macro-transformer (lambda (expr r compare) (let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))))
[macroexpand] expanding... er-macro-transformer
[macroexpand] expanding... (lambda (expr r compare) (let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))
[macroexpand] expanding... let
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd7a0>
argv = ((let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))) #<senv 0x6c31d0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd500>
argv = ((let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))) #<proc 0x6c2f50> #<proc 0x6c2ed0>)
irep = ## irep 0x6cc290
[clen = 76, argc = 4, localc = 3]
:: cv_num = 0
00 [ 8] OP_GREF 124
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [17] OP_CALL 2
05 [15] OP_JMPIF 1c
06 [ 8] OP_GREF 12
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [11] OP_LSET 5
0a [ 4] OP_PUSHFALSE
0b [ 8] OP_GREF 14
0c [10] OP_LREF 1
0d [17] OP_CALL 2
0e [11] OP_LSET 6
0f [ 4] OP_PUSHFALSE
10 [10] OP_LREF 2
11 [ 7] OP_PUSHCONST 0
12 [17] OP_CALL 2
13 [ 8] OP_GREF 122
14 [ 8] OP_GREF 7
15 [10] OP_LREF 5
16 [17] OP_CALL 3
17 [10] OP_LREF 6
18 [21] OP_CONS
19 [21] OP_CONS
1a [ 8] OP_GREF 122
1b [ 8] OP_GREF 12
1c [10] OP_LREF 5
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [19] OP_RET
20 [14] OP_JMP 2c
21 [ 8] OP_GREF 12
22 [10] OP_LREF 1
23 [17] OP_CALL 2
24 [11] OP_LSET 4
25 [ 4] OP_PUSHFALSE
26 [ 8] OP_GREF 182
27 [10] OP_LREF 1
28 [17] OP_CALL 2
29 [11] OP_LSET 5
2a [ 4] OP_PUSHFALSE
2b [ 8] OP_GREF 186
2c [10] OP_LREF 1
2d [17] OP_CALL 2
2e [11] OP_LSET 6
2f [ 4] OP_PUSHFALSE
30 [ 8] OP_GREF 18
31 [10] OP_LREF 2
32 [ 7] OP_PUSHCONST 1
33 [17] OP_CALL 2
34 [ 2] OP_PUSHNIL
35 [ 8] OP_GREF 18
36 [10] OP_LREF 2
37 [ 7] OP_PUSHCONST 2
38 [17] OP_CALL 2
39 [10] OP_LREF 4
3a [10] OP_LREF 2
3b [ 7] OP_PUSHCONST 3
3c [17] OP_CALL 2
3d [ 8] OP_GREF 122
3e [ 8] OP_GREF 7
3f [10] OP_LREF 5
40 [17] OP_CALL 3
41 [10] OP_LREF 6
42 [21] OP_CONS
43 [21] OP_CONS
44 [17] OP_CALL 4
45 [10] OP_LREF 4
46 [ 8] OP_GREF 122
47 [ 8] OP_GREF 12
48 [10] OP_LREF 5
49 [17] OP_CALL 3
4a [21] OP_CONS
4b [18] OP_TAILCALL 5
== end
[ 8] OP_GREF 124
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))))
cfunc = 0x7ffff7475317
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((clauses (cdr expr))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 1c
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))))
cfunc = 0x7ffff7475317
== end
[11] OP_LSET 5
[ 4] OP_PUSHFALSE
[ 8] OP_GREF 14
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615ec0>
argv = ((let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))))
cfunc = 0x7ffff74753bd
== end
[11] OP_LSET 6
[ 4] OP_PUSHFALSE
[10] OP_LREF 2
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2f50>
argv = (lambda)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... lambda
[ 8] OP_GREF 122
[ 8] OP_GREF 7
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x616080> ((clauses (cdr expr))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((clauses (cdr expr)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))
#<senv 0x6c31d0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))
#<proc 0x6c2f50>
#<proc 0x6c2ed0>
#<undef>
((clauses (cdr expr)))
((if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
()
[10] OP_LREF 6
[21] OP_CONS
[21] OP_CONS
[ 8] OP_GREF 122
[ 8] OP_GREF 12
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x615f40> ((clauses (cdr expr))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((clauses (cdr expr)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))
#<senv 0x6c31d0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))
#<proc 0x6c2f50>
#<proc 0x6c2ed0>
#<undef>
((clauses (cdr expr)))
((if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))
#f
#f
(lambda (clauses) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))
#<proc 0x62a6a0>
#<proc 0x615f40>
()
[21] OP_CONS
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cd7a0>
(let ((clauses (cdr expr))) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))
#<senv 0x6c31d0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
((lambda (clauses) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))) (cdr expr))
[macroexpand] expanding... ((lambda (clauses) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))) (cdr expr))
[macroexpand] expanding... (lambda (clauses) (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (if (null? clauses) #f (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))))
[macroexpand] expanding... if
[macroexpand] expanding... (null? clauses)
[macroexpand] expanding... null?
[macroexpand] expanding... clauses
[macroexpand] expanding... ()
[macroexpand] expanding... #f
[macroexpand] expanding... (if (compare (r (quote else)) (caar clauses)) (cons (r (quote begin)) (cdar clauses)) (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses))))
[macroexpand] expanding... if
[macroexpand] expanding... (compare (r (quote else)) (caar clauses))
[macroexpand] expanding... compare
[macroexpand] expanding... (r (quote else))
[macroexpand] expanding... r
[macroexpand] expanding... (quote else)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (caar clauses)
[macroexpand] expanding... caar
[macroexpand] expanding... clauses
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (cons (r (quote begin)) (cdar clauses))
[macroexpand] expanding... cons
[macroexpand] expanding... (r (quote begin))
[macroexpand] expanding... r
[macroexpand] expanding... (quote begin)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cdar clauses)
[macroexpand] expanding... cdar
[macroexpand] expanding... clauses
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (list (r (quote if)) (caar clauses) (cons (r (quote begin)) (cdar clauses)) (cons (r (quote cond)) (cdr clauses)))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote if))
[macroexpand] expanding... r
[macroexpand] expanding... (quote if)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (caar clauses)
[macroexpand] expanding... caar
[macroexpand] expanding... clauses
[macroexpand] expanding... ()
[macroexpand] expanding... (cons (r (quote begin)) (cdar clauses))
[macroexpand] expanding... cons
[macroexpand] expanding... (r (quote begin))
[macroexpand] expanding... r
[macroexpand] expanding... (quote begin)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cdar clauses)
[macroexpand] expanding... cdar
[macroexpand] expanding... clauses
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (cons (r (quote cond)) (cdr clauses))
[macroexpand] expanding... cons
[macroexpand] expanding... (r (quote cond))
[macroexpand] expanding... r
[macroexpand] expanding... (quote cond)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr clauses)
[macroexpand] expanding... cdr
[macroexpand] expanding... clauses
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... clauses
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr expr)
[macroexpand] expanding... cdr
[macroexpand] expanding... expr
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... expr
[macroexpand] expanding... r
[macroexpand] expanding... compare
[macroexpand] expanding... ()
[macroexpand] expanding... ()
after expand:
(er-macro-transformer@172 (lambda (expr@244 r@245 compare@246) ((lambda (clauses@247) (if (null?@16 clauses@247) #f (if (compare@246 (r@245 (quote else)) (caar@12 clauses@247)) (cons@7 (r@245 (quote begin)) (cdar@14 clauses@247)) (list@19 (r@245 (quote if)) (caar@12 clauses@247) (cons@7 (r@245 (quote begin)) (cdar@14 clauses@247)) (cons@7 (r@245 (quote cond)) (cdr@9 clauses@247)))))) (cdr@9 expr@244))))
## macroexpand completed
ai = 13
## analyzer completed
(er-macro-transformer@172 (lambda (expr@244 r@245 compare@246) ((lambda (clauses@247) (if (null?@16 clauses@247) #f (if (compare@246 (r@245 (quote else)) (caar@12 clauses@247)) (cons@7 (r@245 (quote begin)) (cdar@14 clauses@247)) (list@19 (r@245 (quote if)) (caar@12 clauses@247) (cons@7 (r@245 (quote begin)) (cdar@14 clauses@247)) (cons@7 (r@245 (quote cond)) (cdr@9 clauses@247)))))) (cdr@9 expr@244))))(tail-call (ref 0 er-macro-transformer@172) (lambda (expr@244 r@245 compare@246) () #f (r@245 compare@246) (tail-call (lambda (clauses@247) () #f () (if (null? (ref 0 clauses@247)) (return (quote #f)) (if (call (ref 1 compare@246) (call (ref 1 r@245) (quote else)) (call (ref 2 caar@12) (ref 0 clauses@247))) (return (cons (call (ref 1 r@245) (quote begin)) (call (ref 2 cdar@14) (ref 0 clauses@247)))) (tail-call (ref 2 list@19) (call (ref 1 r@245) (quote if)) (call (ref 2 caar@12) (ref 0 clauses@247)) (cons (call (ref 1 r@245) (quote begin)) (call (ref 2 cdar@14) (ref 0 clauses@247))) (cons (call (ref 1 r@245) (q
ai = 15
uote cond)) (cdr (ref 0 clauses@247))))))) (cdr (ref 0 expr@244)))))gc run!
## resolver completed
ai = 16
## codegen completed
(tail-call (gref 171) (lambda (expr@244 r@245 compare@246) () #f (r@245 compare@246) (tail-call (lambda (clauses@247) () #f () (if (null? (lref 1)) (return (quote #f)) (if (call (cref 1 1) (call (cref 1 0) (quote else)) (call (gref 11) (lref 1))) (return (cons (call (cref 1 0) (quote begin)) (call (gref 13) (lref 1)))) (tail-call (gref 18) (call (cref 1 0) (quote if)) (call (gref 11) (lref 1)) (cons (call (cref 1 0) (quote begin)) (call (gref 13) (lref 1))) (cons (call (cref 1 0) (quote cond)) (cdr (lref 1))))))) (cdr (lref 1)))))## irep 0x6ca7b0
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6ca770>
argv = ()
irep = ## irep 0x6ca7b0
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[ 8] OP_GREF 171
[20] OP_LAMBDA 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6294e0>
argv = (#<proc 0x6cab10>)
cfunc = 0x7ffff7470c7f
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand:
#f
## macroexpand completed
ai = 12
## analyzer completed
ai = 14
## resolver completed
ai = 15
## codegen completed
#f(return (quote #f))(return (quote #f))## irep 0x6cba30
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6cb9f0>
argv = ()
irep = ## irep 0x6cba30
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 14
# input expression
ai = 14
(define (single? list) (if (pair? list) (null? (cdr list)) #f))before expand:
(define (single? list) (if (pair? list) (null? (cdr list)) #f))
[macroexpand] expanding... (define (single? list) (if (pair? list) (null? (cdr list)) #f))
[macroexpand] expanding... define
[macroexpand] expanding... ()
[macroexpand] expanding... (if (pair? list) (null? (cdr list)) #f)
[macroexpand] expanding... if
[macroexpand] expanding... (pair? list)
[macroexpand] expanding... pair?
[macroexpand] expanding... list
[macroexpand] expanding... ()
[macroexpand] expanding... (null? (cdr list))
[macroexpand] expanding... null?
[macroexpand] expanding... (cdr list)
[macroexpand] expanding... cdr
[macroexpand] expanding... list
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... #f
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... single?
[macroexpand] expanding... list
[macroexpand] expanding... ()
after expand:
(define (single?@249 list@248) (if (pair?@6 list@248) (null?@16 (cdr@9 list@248)) #f))
## macroexpand completed
ai = 15
## analyzer completed
ai = 17
(define (single?@249 list@248) (if (pair?@6 list@248) (null?@16 (cdr@9 list@248)) #f))(return (set! (ref 0 single?@249) (lambda (list@248) () #f () (if (call (ref 1 pair?@6) (ref 0 list@248)) (return (null? (cdr (ref 0 list@248)))) (return (quote #f))))))gc run!
## resolver completed
ai = 18
## codegen completed
(return (set! (gref 205) (lambda (list@248) () #f () (if (call (gref 5) (lref 1)) (return (null? (cdr (lref 1)))) (return (quote #f))))))## irep 0x6c1af0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 205
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c1b70
[clen = 11, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 5
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [15] OP_JMPIF 4
04 [ 4] OP_PUSHFALSE
05 [19] OP_RET
06 [14] OP_JMP 5
07 [10] OP_LREF 1
08 [23] OP_CDR
09 [24] OP_NILP
0a [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c1ab0>
argv = ()
irep = ## irep 0x6c1af0
[clen = 4, argc = 1, localc = 0]
:: cv_num = 0
00 [20] OP_LAMBDA 0
01 [ 9] OP_GSET 205
02 [ 4] OP_PUSHFALSE
03 [19] OP_RET
## irep 0x6c1b70
[clen = 11, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 5
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [15] OP_JMPIF 4
04 [ 4] OP_PUSHFALSE
05 [19] OP_RET
06 [14] OP_JMP 5
07 [10] OP_LREF 1
08 [23] OP_CDR
09 [24] OP_NILP
0a [19] OP_RET
== end
[20] OP_LAMBDA 0
[ 9] OP_GSET 205
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 16
# input expression
ai = 16
(define-syntax and (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))))))before expand:
(define-syntax and (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))))))
[macroexpand] expanding... (define-syntax and (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))))))
[macroexpand] expanding... define-syntax
ai = 16
# input expression
ai = 16
(er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))))before expand:
(er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))))
[macroexpand] expanding... (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))))
[macroexpand] expanding... er-macro-transformer
[macroexpand] expanding... (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
[macroexpand] expanding... let
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd7a0>
argv = ((let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))) #<senv 0x6c19d0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd500>
argv = ((let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))) #<proc 0x6c1750> #<proc 0x6c16d0>)
irep = ## irep 0x6cc290
[clen = 76, argc = 4, localc = 3]
:: cv_num = 0
00 [ 8] OP_GREF 124
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [17] OP_CALL 2
05 [15] OP_JMPIF 1c
06 [ 8] OP_GREF 12
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [11] OP_LSET 5
0a [ 4] OP_PUSHFALSE
0b [ 8] OP_GREF 14
0c [10] OP_LREF 1
0d [17] OP_CALL 2
0e [11] OP_LSET 6
0f [ 4] OP_PUSHFALSE
10 [10] OP_LREF 2
11 [ 7] OP_PUSHCONST 0
12 [17] OP_CALL 2
13 [ 8] OP_GREF 122
14 [ 8] OP_GREF 7
15 [10] OP_LREF 5
16 [17] OP_CALL 3
17 [10] OP_LREF 6
18 [21] OP_CONS
19 [21] OP_CONS
1a [ 8] OP_GREF 122
1b [ 8] OP_GREF 12
1c [10] OP_LREF 5
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [19] OP_RET
20 [14] OP_JMP 2c
21 [ 8] OP_GREF 12
22 [10] OP_LREF 1
23 [17] OP_CALL 2
24 [11] OP_LSET 4
25 [ 4] OP_PUSHFALSE
26 [ 8] OP_GREF 182
27 [10] OP_LREF 1
28 [17] OP_CALL 2
29 [11] OP_LSET 5
2a [ 4] OP_PUSHFALSE
2b [ 8] OP_GREF 186
2c [10] OP_LREF 1
2d [17] OP_CALL 2
2e [11] OP_LSET 6
2f [ 4] OP_PUSHFALSE
30 [ 8] OP_GREF 18
31 [10] OP_LREF 2
32 [ 7] OP_PUSHCONST 1
33 [17] OP_CALL 2
34 [ 2] OP_PUSHNIL
35 [ 8] OP_GREF 18
36 [10] OP_LREF 2
37 [ 7] OP_PUSHCONST 2
38 [17] OP_CALL 2
39 [10] OP_LREF 4
3a [10] OP_LREF 2
3b [ 7] OP_PUSHCONST 3
3c [17] OP_CALL 2
3d [ 8] OP_GREF 122
3e [ 8] OP_GREF 7
3f [10] OP_LREF 5
40 [17] OP_CALL 3
41 [10] OP_LREF 6
42 [21] OP_CONS
43 [21] OP_CONS
44 [17] OP_CALL 4
45 [10] OP_LREF 4
46 [ 8] OP_GREF 122
47 [ 8] OP_GREF 12
48 [10] OP_LREF 5
49 [17] OP_CALL 3
4a [21] OP_CONS
4b [18] OP_TAILCALL 5
== end
[ 8] OP_GREF 124
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))))
cfunc = 0x7ffff7475317
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((exprs (cdr expr))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 1c
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))))
cfunc = 0x7ffff7475317
== end
[11] OP_LSET 5
[ 4] OP_PUSHFALSE
[ 8] OP_GREF 14
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615ec0>
argv = ((let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))))
cfunc = 0x7ffff74753bd
== end
[11] OP_LSET 6
[ 4] OP_PUSHFALSE
[10] OP_LREF 2
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1750>
argv = (lambda)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... lambda
[ 8] OP_GREF 122
[ 8] OP_GREF 7
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x616080> ((exprs (cdr expr))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((exprs (cdr expr)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
#<senv 0x6c19d0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
#<proc 0x6c1750>
#<proc 0x6c16d0>
#<undef>
((exprs (cdr expr)))
((cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
()
[10] OP_LREF 6
[21] OP_CONS
[21] OP_CONS
[ 8] OP_GREF 122
[ 8] OP_GREF 12
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x615f40> ((exprs (cdr expr))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((exprs (cdr expr)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
#<senv 0x6c19d0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
#<proc 0x6c1750>
#<proc 0x6c16d0>
#<undef>
((exprs (cdr expr)))
((cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
#f
#f
(lambda (exprs) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
#<proc 0x62a6a0>
#<proc 0x615f40>
()
[21] OP_CONS
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cd7a0>
(let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
#<senv 0x6c19d0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
((lambda (exprs) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))) (cdr expr))
[macroexpand] expanding... ((lambda (exprs) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))) (cdr expr))
[macroexpand] expanding... (lambda (exprs) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))) #<senv 0x6c1050> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))) #<proc 0x6c0dd0> #<proc 0x6c0d50>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c5920>
argv = ((((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c0dd0>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c0d50>
argv = (else@254 (null? exprs))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 17
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c0dd0>
argv = (if)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... if
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
cfunc = 0x7ffff74752c4
== end
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c0dd0>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = ((((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c0dd0>
argv = (cond)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cond
[10] OP_LREF 1
[23] OP_CDR
[21] OP_CONS
[18] OP_TAILCALL 5
== calling proc...
proc = #<proc 0x615dc0>
argv = (if (null? exprs) (begin #t) (cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))
#<senv 0x6c1050>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(if (null? exprs) (begin #t) (cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
[macroexpand] expanding... (if (null? exprs) (begin #t) (cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
[macroexpand] expanding... if
[macroexpand] expanding... (null? exprs)
[macroexpand] expanding... null?
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... (begin #t)
[macroexpand] expanding... begin
[macroexpand] expanding... #t
[macroexpand] expanding... ()
[macroexpand] expanding... (cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))) #<senv 0x6c1050> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))) #<proc 0x6c52a0> #<proc 0x6c5220>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c4f20>
argv = ((((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c52a0>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c5220>
argv = (else@254 (single? exprs))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 17
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c52a0>
argv = (if)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... if
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
cfunc = 0x7ffff74752c4
== end
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c52a0>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = ((((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c52a0>
argv = (cond)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cond
[10] OP_LREF 1
[23] OP_CDR
[21] OP_CONS
[18] OP_TAILCALL 5
== calling proc...
proc = #<proc 0x615dc0>
argv = (if (single? exprs) (begin (car exprs)) (cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))
#<senv 0x6c1050>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(if (single? exprs) (begin (car exprs)) (cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
[macroexpand] expanding... (if (single? exprs) (begin (car exprs)) (cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
[macroexpand] expanding... if
[macroexpand] expanding... (single? exprs)
[macroexpand] expanding... single?
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... (begin (car exprs))
[macroexpand] expanding... begin
[macroexpand] expanding... (car exprs)
[macroexpand] expanding... car
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))) #<senv 0x6c1050> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))) #<proc 0x6c47e0> #<proc 0x6c4760>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c4460>
argv = (((else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c47e0>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c4760>
argv = (else@254 else)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... else@254
[macroexpand] expanding... else
[15] OP_JMPIF 17
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c47e0>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))))
#<senv 0x6c1050>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(begin (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))
[macroexpand] expanding... (begin (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))))
[macroexpand] expanding... begin
[macroexpand] expanding... (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it))))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote let))
[macroexpand] expanding... r
[macroexpand] expanding... (quote let)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (list (list (r (quote it)) (car exprs)))
[macroexpand] expanding... list
[macroexpand] expanding... (list (r (quote it)) (car exprs))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote it))
[macroexpand] expanding... r
[macroexpand] expanding... (quote it)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (car exprs)
[macroexpand] expanding... car
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (list (r (quote if)) (r (quote it)) (cons (r (quote and)) (cdr exprs)) (r (quote it)))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote if))
[macroexpand] expanding... r
[macroexpand] expanding... (quote if)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (r (quote it))
[macroexpand] expanding... r
[macroexpand] expanding... (quote it)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cons (r (quote and)) (cdr exprs))
[macroexpand] expanding... cons
[macroexpand] expanding... (r (quote and))
[macroexpand] expanding... r
[macroexpand] expanding... (quote and)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr exprs)
[macroexpand] expanding... cdr
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (r (quote it))
[macroexpand] expanding... r
[macroexpand] expanding... (quote it)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr expr)
[macroexpand] expanding... cdr
[macroexpand] expanding... expr
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... expr
[macroexpand] expanding... r
[macroexpand] expanding... compare
[macroexpand] expanding... ()
[macroexpand] expanding... ()
after expand:
(er-macro-transformer@172 (lambda (expr@250 r@251 compare@252) ((lambda (exprs@253) (if (null?@16 exprs@253) (begin #t) (if (single?@249 exprs@253) (begin (car@8 exprs@253)) (begin (list@19 (r@251 (quote let)) (list@19 (list@19 (r@251 (quote it)) (car@8 exprs@253))) (list@19 (r@251 (quote if)) (r@251 (quote it)) (cons@7 (r@251 (quote and)) (cdr@9 exprs@253)) (r@251 (quote it)))))))) (cdr@9 expr@250))))
## macroexpand completed
ai = 17
(er-macro-transformer@172 (lambda (expr@250 r@251 compare@252) ((lambda (exprs@253) (if (null?@16 exprs@253) (begin #t) (if (single?@249 exprs@253) (begin (car@8 exprs@253)) (begin (list@19 (r@251 (quote let)) (list@19 (list@19 (r@251 (quote it)) (car@8 exprs@253))) (list@19 (r@251 (quote if)) (r@251 (quote it)) (cons@7 (r@251 (quote and)) (cdr@9 exprs@253)) (r@251 (quote it)))))))) (cdr@9 expr@250))))gc run!
## analyzer completed
ai = 19
## resolver completed
(tail-call (ref 0 er-macro-transformer@172) (lambda (expr@250 r@251 compare@252) () #f (r@251) (tail-call (lambda (exprs@253) () #f () (if (null? (ref 0 exprs@253)) (return (quote #t)) (if (call (ref 2 single?@249) (ref 0 exprs@253)) (return (car (ref 0 exprs@253))) (tail-call (ref 2 list@19) (call (ref 1 r@251) (quote let)) (call (ref 2 list@19) (call (ref 2 list@19) (call (ref 1 r@251) (quote it)) (car (ref 0 exprs@253)))) (call (ref 2 list@19) (call (ref 1 r@251) (quote if)) (call (ref 1 r@251) (quote it)) (cons (call (ref 1 r@251) (quote and)) (cdr (ref 0 exprs@253))) (call (ref 1 r@251) (quote it))))))) (cdr (ref 0 expr@250)))))(tail-call (gref 171) (lambda (expr@250 r@251 compare@252) () #f (r@251) (tail-call (lambda (exprs@253) () #f () (if (null? (lref 1)) (return (quote #t)) (if (call (gref 205) (lref 1)) (return (car (lref 1))) (tail-call (gref 18) (call (cref 1 0) (quote let)) (call (gref 18) (call (gref 18) (call (cref 1 0) (quote it)) (car (lref 1)))) (call (gref 18) (call (cref 1 0) (quote if))
ai = 20
## codegen completed
(call (cref 1 0) (quote it)) (cons (call (cref 1 0) (quote and)) (cdr (lref 1))) (call (cref 1 0) (quote it))))))) (cdr (lref 1)))))## irep 0x650c20
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x650360
[clen = 4, argc = 4, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6503e0
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [ 8] OP_GREF 205
04 [10] OP_LREF 1
05 [17] OP_CALL 2
06 [15] OP_JMPIF 21
07 [ 8] OP_GREF 18
08 [12] OP_CREF 1 0
09 [ 7] OP_PUSHCONST 0
0a [17] OP_CALL 2
0b [ 8] OP_GREF 18
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [10] OP_LREF 1
11 [22] OP_CAR
12 [17] OP_CALL 3
13 [17] OP_CALL 2
14 [ 8] OP_GREF 18
15 [12] OP_CREF 1 0
16 [ 7] OP_PUSHCONST 2
17 [17] OP_CALL 2
18 [12] OP_CREF 1 0
19 [ 7] OP_PUSHCONST 3
1a [17] OP_CALL 2
1b [12] OP_CREF 1 0
1c [ 7] OP_PUSHCONST 4
1d [17] OP_CALL 2
1e [10] OP_LREF 1
1f [23] OP_CDR
20 [21] OP_CONS
21 [12] OP_CREF 1 0
22 [ 7] OP_PUSHCONST 5
23 [17] OP_CALL 2
24 [17] OP_CALL 5
25 [18] OP_TAILCALL 4
26 [14] OP_JMP 4
27 [10] OP_LREF 1
28 [22] OP_CAR
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 3] OP_PUSHTRUE
2c [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x650be0>
argv = ()
irep = ## irep 0x650c20
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x650360
[clen = 4, argc = 4, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6503e0
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [ 8] OP_GREF 205
04 [10] OP_LREF 1
05 [17] OP_CALL 2
06 [15] OP_JMPIF 21
07 [ 8] OP_GREF 18
08 [12] OP_CREF 1 0
09 [ 7] OP_PUSHCONST 0
0a [17] OP_CALL 2
0b [ 8] OP_GREF 18
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [10] OP_LREF 1
11 [22] OP_CAR
12 [17] OP_CALL 3
13 [17] OP_CALL 2
14 [ 8] OP_GREF 18
15 [12] OP_CREF 1 0
16 [ 7] OP_PUSHCONST 2
17 [17] OP_CALL 2
18 [12] OP_CREF 1 0
19 [ 7] OP_PUSHCONST 3
1a [17] OP_CALL 2
1b [12] OP_CREF 1 0
1c [ 7] OP_PUSHCONST 4
1d [17] OP_CALL 2
1e [10] OP_LREF 1
1f [23] OP_CDR
20 [21] OP_CONS
21 [12] OP_CREF 1 0
22 [ 7] OP_PUSHCONST 5
23 [17] OP_CALL 2
24 [17] OP_CALL 5
25 [18] OP_TAILCALL 4
26 [14] OP_JMP 4
27 [10] OP_LREF 1
28 [22] OP_CAR
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 3] OP_PUSHTRUE
2c [19] OP_RET
== end
[ 8] OP_GREF 171
[20] OP_LAMBDA 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6294e0>
argv = (#<proc 0x650e80>)
cfunc = 0x7ffff7470c7f
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand:
#f
## macroexpand completed
ai = 16
## analyzer completed
ai = 18
## resolver completed
ai = 19
#f(return (quote #f))(return (quote #f))gc run!
## codegen completed
## irep 0x65c9d0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x65c990>
argv = ()
irep = ## irep 0x65c9d0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 18
# input expression
ai = 18
(define-syntax or (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))))))before expand:
(define-syntax or (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))))))
[macroexpand] expanding... (define-syntax or (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))))))
[macroexpand] expanding... define-syntax
ai = 18
# input expression
ai = 18
(er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))))before expand:
(er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))))
[macroexpand] expanding... (er-macro-transformer (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))))
[macroexpand] expanding... er-macro-transformer
[macroexpand] expanding... (lambda (expr r compare) (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
[macroexpand] expanding... let
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd7a0>
argv = ((let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))) #<senv 0x65ccd0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd500>
argv = ((let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))) #<proc 0x65d4b0> #<proc 0x65d650>)
irep = ## irep 0x6cc290
[clen = 76, argc = 4, localc = 3]
:: cv_num = 0
00 [ 8] OP_GREF 124
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [17] OP_CALL 2
05 [15] OP_JMPIF 1c
06 [ 8] OP_GREF 12
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [11] OP_LSET 5
0a [ 4] OP_PUSHFALSE
0b [ 8] OP_GREF 14
0c [10] OP_LREF 1
0d [17] OP_CALL 2
0e [11] OP_LSET 6
0f [ 4] OP_PUSHFALSE
10 [10] OP_LREF 2
11 [ 7] OP_PUSHCONST 0
12 [17] OP_CALL 2
13 [ 8] OP_GREF 122
14 [ 8] OP_GREF 7
15 [10] OP_LREF 5
16 [17] OP_CALL 3
17 [10] OP_LREF 6
18 [21] OP_CONS
19 [21] OP_CONS
1a [ 8] OP_GREF 122
1b [ 8] OP_GREF 12
1c [10] OP_LREF 5
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [19] OP_RET
20 [14] OP_JMP 2c
21 [ 8] OP_GREF 12
22 [10] OP_LREF 1
23 [17] OP_CALL 2
24 [11] OP_LSET 4
25 [ 4] OP_PUSHFALSE
26 [ 8] OP_GREF 182
27 [10] OP_LREF 1
28 [17] OP_CALL 2
29 [11] OP_LSET 5
2a [ 4] OP_PUSHFALSE
2b [ 8] OP_GREF 186
2c [10] OP_LREF 1
2d [17] OP_CALL 2
2e [11] OP_LSET 6
2f [ 4] OP_PUSHFALSE
30 [ 8] OP_GREF 18
31 [10] OP_LREF 2
32 [ 7] OP_PUSHCONST 1
33 [17] OP_CALL 2
34 [ 2] OP_PUSHNIL
35 [ 8] OP_GREF 18
36 [10] OP_LREF 2
37 [ 7] OP_PUSHCONST 2
38 [17] OP_CALL 2
39 [10] OP_LREF 4
3a [10] OP_LREF 2
3b [ 7] OP_PUSHCONST 3
3c [17] OP_CALL 2
3d [ 8] OP_GREF 122
3e [ 8] OP_GREF 7
3f [10] OP_LREF 5
40 [17] OP_CALL 3
41 [10] OP_LREF 6
42 [21] OP_CONS
43 [21] OP_CONS
44 [17] OP_CALL 4
45 [10] OP_LREF 4
46 [ 8] OP_GREF 122
47 [ 8] OP_GREF 12
48 [10] OP_LREF 5
49 [17] OP_CALL 3
4a [21] OP_CONS
4b [18] OP_TAILCALL 5
== end
[ 8] OP_GREF 124
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))))
cfunc = 0x7ffff7475317
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((exprs (cdr expr))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 1c
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))))
cfunc = 0x7ffff7475317
== end
[11] OP_LSET 5
[ 4] OP_PUSHFALSE
[ 8] OP_GREF 14
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615ec0>
argv = ((let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))))
cfunc = 0x7ffff74753bd
== end
[11] OP_LSET 6
[ 4] OP_PUSHFALSE
[10] OP_LREF 2
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d4b0>
argv = (lambda)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... lambda
[ 8] OP_GREF 122
[ 8] OP_GREF 7
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x616080> ((exprs (cdr expr))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((exprs (cdr expr)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
#<senv 0x65ccd0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
#<proc 0x65d4b0>
#<proc 0x65d650>
#<undef>
((exprs (cdr expr)))
((cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
()
[10] OP_LREF 6
[21] OP_CONS
[21] OP_CONS
[ 8] OP_GREF 122
[ 8] OP_GREF 12
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x615f40> ((exprs (cdr expr))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((exprs (cdr expr)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
#<senv 0x65ccd0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
#<proc 0x65d4b0>
#<proc 0x65d650>
#<undef>
((exprs (cdr expr)))
((cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
#f
#f
(lambda (exprs) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
#<proc 0x62a6a0>
#<proc 0x615f40>
()
[21] OP_CONS
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cd7a0>
(let ((exprs (cdr expr))) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
#<senv 0x65ccd0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
((lambda (exprs) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))) (cdr expr))
[macroexpand] expanding... ((lambda (exprs) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))) (cdr expr))
[macroexpand] expanding... (lambda (exprs) (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))) #<senv 0x6c17f0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))) #<proc 0x6c1570> #<proc 0x6c14f0>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c11f0>
argv = ((((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1570>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c14f0>
argv = (else@254 (null? exprs))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 17
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1570>
argv = (if)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... if
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
cfunc = 0x7ffff74752c4
== end
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1570>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = ((((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1570>
argv = (cond)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cond
[10] OP_LREF 1
[23] OP_CDR
[21] OP_CONS
[18] OP_TAILCALL 5
== calling proc...
proc = #<proc 0x615dc0>
argv = (if (null? exprs) (begin #t) (cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond ((null? exprs) #t) ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))
#<senv 0x6c17f0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(if (null? exprs) (begin #t) (cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
[macroexpand] expanding... (if (null? exprs) (begin #t) (cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
[macroexpand] expanding... if
[macroexpand] expanding... (null? exprs)
[macroexpand] expanding... null?
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... (begin #t)
[macroexpand] expanding... begin
[macroexpand] expanding... #t
[macroexpand] expanding... ()
[macroexpand] expanding... (cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))) #<senv 0x6c17f0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))) #<proc 0x6c31d0> #<proc 0x6c3150>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c2e50>
argv = ((((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c31d0>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c3150>
argv = (else@254 (single? exprs))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 17
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c31d0>
argv = (if)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... if
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
cfunc = 0x7ffff74752c4
== end
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c31d0>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = ((((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c31d0>
argv = (cond)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cond
[10] OP_LREF 1
[23] OP_CDR
[21] OP_CONS
[18] OP_TAILCALL 5
== calling proc...
proc = #<proc 0x615dc0>
argv = (if (single? exprs) (begin (car exprs)) (cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond ((single? exprs) (car exprs)) (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))
#<senv 0x6c17f0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(if (single? exprs) (begin (car exprs)) (cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
[macroexpand] expanding... (if (single? exprs) (begin (car exprs)) (cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
[macroexpand] expanding... if
[macroexpand] expanding... (single? exprs)
[macroexpand] expanding... single?
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... (begin (car exprs))
[macroexpand] expanding... begin
[macroexpand] expanding... (car exprs)
[macroexpand] expanding... car
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))) #<senv 0x6c17f0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))) #<proc 0x6c2710> #<proc 0x6c2690>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c2390>
argv = (((else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2710>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c2690>
argv = (else@254 else)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... else@254
[macroexpand] expanding... else
[15] OP_JMPIF 17
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2710>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond (else (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))))
#<senv 0x6c17f0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(begin (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))
[macroexpand] expanding... (begin (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))))
[macroexpand] expanding... begin
[macroexpand] expanding... (list (r (quote let)) (list (list (r (quote it)) (car exprs))) (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs))))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote let))
[macroexpand] expanding... r
[macroexpand] expanding... (quote let)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (list (list (r (quote it)) (car exprs)))
[macroexpand] expanding... list
[macroexpand] expanding... (list (r (quote it)) (car exprs))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote it))
[macroexpand] expanding... r
[macroexpand] expanding... (quote it)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (car exprs)
[macroexpand] expanding... car
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (list (r (quote if)) (r (quote it)) (r (quote it)) (cons (r (quote or)) (cdr exprs)))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote if))
[macroexpand] expanding... r
[macroexpand] expanding... (quote if)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (r (quote it))
[macroexpand] expanding... r
[macroexpand] expanding... (quote it)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (r (quote it))
[macroexpand] expanding... r
[macroexpand] expanding... (quote it)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cons (r (quote or)) (cdr exprs))
[macroexpand] expanding... cons
[macroexpand] expanding... (r (quote or))
[macroexpand] expanding... r
[macroexpand] expanding... (quote or)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr exprs)
[macroexpand] expanding... cdr
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... exprs
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr expr)
[macroexpand] expanding... cdr
[macroexpand] expanding... expr
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... expr
[macroexpand] expanding... r
[macroexpand] expanding... compare
[macroexpand] expanding... ()
[macroexpand] expanding... ()
after expand:
(er-macro-transformer@172 (lambda (expr@255 r@256 compare@257) ((lambda (exprs@258) (if (null?@16 exprs@258) (begin #t) (if (single?@249 exprs@258) (begin (car@8 exprs@258)) (begin (list@19 (r@256 (quote let)) (list@19 (list@19 (r@256 (quote it)) (car@8 exprs@258))) (list@19 (r@256 (quote if)) (r@256 (quote it)) (r@256 (quote it)) (cons@7 (r@256 (quote or)) (cdr@9 exprs@258)))))))) (cdr@9 expr@255))))
## macroexpand completed
ai = 19
## analyzer completed
(er-macro-transformer@172 (lambda (expr@255 r@256 compare@257) ((lambda (exprs@258) (if (null?@16 exprs@258) (begin #t) (if (single?@249 exprs@258) (begin (car@8 exprs@258)) (begin (list@19 (r@256 (quote let)) (list@19 (list@19 (r@256 (quote it)) (car@8 exprs@258))) (list@19 (r@256 (quote if)) (r@256 (quote it)) (r@256 (quote it)) (cons@7 (r@256 (quote or)) (cdr@9 exprs@258)))))))) (cdr@9 expr@255))))(tail-call (ref 0 er-macro-transformer@172) (lambda (expr@255 r@256 compare@257) () #f (r@256) (tail-call (lambda (exprs@258) () #f () (if (null? (ref 0 exprs@258)) (return (quote #t)) (if (call (ref 2 single?@249) (ref 0 exprs@258)) (return (car (ref 0 exprs@258))) (tail-call (ref 2 list@19) (call (ref 1 r@256) (quote let)) (call (ref 2 list@19) (call (ref 2 list@19) (call (ref 1 r@256) (quote it)) (car (ref 0 exprs@258)))) (call (ref 2 list@19) (call (ref 1 r@256) (quote if)) (call (ref 1 r@256) (quote it)) (call (ref 1 r@256) (quote it)) (cons (call (ref 1 r@256) (quote or)) (cdr (ref 0 exprs@258)))))))) (cdr
ai = 21
(ref 0 expr@255)))))gc run!
## resolver completed
ai = 22
## codegen completed
(tail-call (gref 171) (lambda (expr@255 r@256 compare@257) () #f (r@256) (tail-call (lambda (exprs@258) () #f () (if (null? (lref 1)) (return (quote #t)) (if (call (gref 205) (lref 1)) (return (car (lref 1))) (tail-call (gref 18) (call (cref 1 0) (quote let)) (call (gref 18) (call (gref 18) (call (cref 1 0) (quote it)) (car (lref 1)))) (call (gref 18) (call (cref 1 0) (quote if)) (call (cref 1 0) (quote it)) (call (cref 1 0) (quote it)) (cons (call (cref 1 0) (quote or)) (cdr (lref 1)))))))) (cdr (lref 1)))))## irep 0x6ce3c0
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6ce040
[clen = 4, argc = 4, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ce0c0
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [ 8] OP_GREF 205
04 [10] OP_LREF 1
05 [17] OP_CALL 2
06 [15] OP_JMPIF 21
07 [ 8] OP_GREF 18
08 [12] OP_CREF 1 0
09 [ 7] OP_PUSHCONST 0
0a [17] OP_CALL 2
0b [ 8] OP_GREF 18
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [10] OP_LREF 1
11 [22] OP_CAR
12 [17] OP_CALL 3
13 [17] OP_CALL 2
14 [ 8] OP_GREF 18
15 [12] OP_CREF 1 0
16 [ 7] OP_PUSHCONST 2
17 [17] OP_CALL 2
18 [12] OP_CREF 1 0
19 [ 7] OP_PUSHCONST 3
1a [17] OP_CALL 2
1b [12] OP_CREF 1 0
1c [ 7] OP_PUSHCONST 4
1d [17] OP_CALL 2
1e [12] OP_CREF 1 0
1f [ 7] OP_PUSHCONST 5
20 [17] OP_CALL 2
21 [10] OP_LREF 1
22 [23] OP_CDR
23 [21] OP_CONS
24 [17] OP_CALL 5
25 [18] OP_TAILCALL 4
26 [14] OP_JMP 4
27 [10] OP_LREF 1
28 [22] OP_CAR
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 3] OP_PUSHTRUE
2c [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6ce380>
argv = ()
irep = ## irep 0x6ce3c0
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6ce040
[clen = 4, argc = 4, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ce0c0
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [ 8] OP_GREF 205
04 [10] OP_LREF 1
05 [17] OP_CALL 2
06 [15] OP_JMPIF 21
07 [ 8] OP_GREF 18
08 [12] OP_CREF 1 0
09 [ 7] OP_PUSHCONST 0
0a [17] OP_CALL 2
0b [ 8] OP_GREF 18
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [10] OP_LREF 1
11 [22] OP_CAR
12 [17] OP_CALL 3
13 [17] OP_CALL 2
14 [ 8] OP_GREF 18
15 [12] OP_CREF 1 0
16 [ 7] OP_PUSHCONST 2
17 [17] OP_CALL 2
18 [12] OP_CREF 1 0
19 [ 7] OP_PUSHCONST 3
1a [17] OP_CALL 2
1b [12] OP_CREF 1 0
1c [ 7] OP_PUSHCONST 4
1d [17] OP_CALL 2
1e [12] OP_CREF 1 0
1f [ 7] OP_PUSHCONST 5
20 [17] OP_CALL 2
21 [10] OP_LREF 1
22 [23] OP_CDR
23 [21] OP_CONS
24 [17] OP_CALL 5
25 [18] OP_TAILCALL 4
26 [14] OP_JMP 4
27 [10] OP_LREF 1
28 [22] OP_CAR
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 3] OP_PUSHTRUE
2c [19] OP_RET
== end
[ 8] OP_GREF 171
[20] OP_LAMBDA 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6294e0>
argv = (#<proc 0x6ce660>)
cfunc = 0x7ffff7470c7f
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand:
#f
## macroexpand completed
ai = 18
## analyzer completed
ai = 20
## resolver completed
ai = 21
## codegen completed
#f(return (quote #f))(return (quote #f))## irep 0x64efc0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x64ef80>
argv = ()
irep = ## irep 0x64efc0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 20
# input expression
ai = 20
(define-syntax quasiquote (er-macro-transformer (lambda (expr r compare?) (let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))))))before expand:
(define-syntax quasiquote (er-macro-transformer (lambda (expr r compare?) (let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))))))
[macroexpand] expanding... (define-syntax quasiquote (er-macro-transformer (lambda (expr r compare?) (let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))))))
[macroexpand] expanding... define-syntax
ai = 20
# input expression
ai = 20
(er-macro-transformer (lambda (expr r compare?) (let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))))before expand:
(er-macro-transformer (lambda (expr r compare?) (let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))))
[macroexpand] expanding... (er-macro-transformer (lambda (expr r compare?) (let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))))
[macroexpand] expanding... er-macro-transformer
[macroexpand] expanding... (lambda (expr r compare?) (let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
[macroexpand] expanding... let
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd7a0>
argv = ((let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))) #<senv 0x64f220> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd500>
argv = ((let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))) #<proc 0x64fb20> #<proc 0x64faa0>)
irep = ## irep 0x6cc290
[clen = 76, argc = 4, localc = 3]
:: cv_num = 0
00 [ 8] OP_GREF 124
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [17] OP_CALL 2
05 [15] OP_JMPIF 1c
06 [ 8] OP_GREF 12
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [11] OP_LSET 5
0a [ 4] OP_PUSHFALSE
0b [ 8] OP_GREF 14
0c [10] OP_LREF 1
0d [17] OP_CALL 2
0e [11] OP_LSET 6
0f [ 4] OP_PUSHFALSE
10 [10] OP_LREF 2
11 [ 7] OP_PUSHCONST 0
12 [17] OP_CALL 2
13 [ 8] OP_GREF 122
14 [ 8] OP_GREF 7
15 [10] OP_LREF 5
16 [17] OP_CALL 3
17 [10] OP_LREF 6
18 [21] OP_CONS
19 [21] OP_CONS
1a [ 8] OP_GREF 122
1b [ 8] OP_GREF 12
1c [10] OP_LREF 5
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [19] OP_RET
20 [14] OP_JMP 2c
21 [ 8] OP_GREF 12
22 [10] OP_LREF 1
23 [17] OP_CALL 2
24 [11] OP_LSET 4
25 [ 4] OP_PUSHFALSE
26 [ 8] OP_GREF 182
27 [10] OP_LREF 1
28 [17] OP_CALL 2
29 [11] OP_LSET 5
2a [ 4] OP_PUSHFALSE
2b [ 8] OP_GREF 186
2c [10] OP_LREF 1
2d [17] OP_CALL 2
2e [11] OP_LSET 6
2f [ 4] OP_PUSHFALSE
30 [ 8] OP_GREF 18
31 [10] OP_LREF 2
32 [ 7] OP_PUSHCONST 1
33 [17] OP_CALL 2
34 [ 2] OP_PUSHNIL
35 [ 8] OP_GREF 18
36 [10] OP_LREF 2
37 [ 7] OP_PUSHCONST 2
38 [17] OP_CALL 2
39 [10] OP_LREF 4
3a [10] OP_LREF 2
3b [ 7] OP_PUSHCONST 3
3c [17] OP_CALL 2
3d [ 8] OP_GREF 122
3e [ 8] OP_GREF 7
3f [10] OP_LREF 5
40 [17] OP_CALL 3
41 [10] OP_LREF 6
42 [21] OP_CONS
43 [21] OP_CONS
44 [17] OP_CALL 4
45 [10] OP_LREF 4
46 [ 8] OP_GREF 122
47 [ 8] OP_GREF 12
48 [10] OP_LREF 5
49 [17] OP_CALL 3
4a [21] OP_CONS
4b [18] OP_TAILCALL 5
== end
[ 8] OP_GREF 124
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))))
cfunc = 0x7ffff7475317
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((x (cadr expr))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 1c
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))))
cfunc = 0x7ffff7475317
== end
[11] OP_LSET 5
[ 4] OP_PUSHFALSE
[ 8] OP_GREF 14
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615ec0>
argv = ((let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))))
cfunc = 0x7ffff74753bd
== end
[11] OP_LSET 6
[ 4] OP_PUSHFALSE
[10] OP_LREF 2
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x64fb20>
argv = (lambda)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... lambda
[ 8] OP_GREF 122
[ 8] OP_GREF 7
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x616080> ((x (cadr expr))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((x (cadr expr)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
#<senv 0x64f220>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
#<proc 0x64fb20>
#<proc 0x64faa0>
#<undef>
((x (cadr expr)))
((cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
()
[10] OP_LREF 6
[21] OP_CONS
[21] OP_CONS
[ 8] OP_GREF 122
[ 8] OP_GREF 12
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x615f40> ((x (cadr expr))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((x (cadr expr)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
#<senv 0x64f220>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
#<proc 0x64fb20>
#<proc 0x64faa0>
#<undef>
((x (cadr expr)))
((cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
#f
#f
(lambda (x) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
#<proc 0x62a6a0>
#<proc 0x615f40>
()
[21] OP_CONS
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cd7a0>
(let ((x (cadr expr))) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
#<senv 0x64f220>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
((lambda (x) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))) (cadr expr))
[macroexpand] expanding... ((lambda (x) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))) (cadr expr))
[macroexpand] expanding... (lambda (x) (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)) #<senv 0x65cdb0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)) #<proc 0x65d310> #<proc 0x65d470>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x65dab0>
argv = ((((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d310>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x65d470>
argv = (else@254 (symbol? x))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 17
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d310>
argv = (if)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... if
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
cfunc = 0x7ffff74752c4
== end
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d310>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = ((((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d310>
argv = (cond)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cond
[10] OP_LREF 1
[23] OP_CDR
[21] OP_CONS
[18] OP_TAILCALL 5
== calling proc...
proc = #<proc 0x615dc0>
argv = (if (symbol? x) (begin (list (r (quote quote)) x)) (cond ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond ((symbol? x) (list (r (quote quote)) x)) ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))
#<senv 0x65cdb0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(if (symbol? x) (begin (list (r (quote quote)) x)) (cond ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
[macroexpand] expanding... (if (symbol? x) (begin (list (r (quote quote)) x)) (cond ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
[macroexpand] expanding... if
[macroexpand] expanding... (symbol? x)
[macroexpand] expanding... symbol?
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... (begin (list (r (quote quote)) x))
[macroexpand] expanding... begin
[macroexpand] expanding... (list (r (quote quote)) x)
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote quote))
[macroexpand] expanding... r
[macroexpand] expanding... (quote quote)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... x
[macroexpand] expanding... ()
gc run!
[macroexpand] expanding... ()
[macroexpand] expanding... (cond ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)) #<senv 0x65cdb0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)) #<proc 0x6c15d0> #<proc 0x6c1550>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c1250>
argv = ((((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c15d0>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c1550>
argv = (else@254 (pair? x))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 17
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c15d0>
argv = (if)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... if
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
cfunc = 0x7ffff74752c4
== end
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c15d0>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = ((((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x)))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c15d0>
argv = (cond)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cond
[10] OP_LREF 1
[23] OP_CDR
[21] OP_CONS
[18] OP_TAILCALL 5
== calling proc...
proc = #<proc 0x615dc0>
argv = (if (pair? x) (begin (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (cond (#t x)))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond ((pair? x) (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (#t x))
#<senv 0x65cdb0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(if (pair? x) (begin (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (cond (#t x)))
[macroexpand] expanding... (if (pair? x) (begin (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))) (cond (#t x)))
[macroexpand] expanding... if
[macroexpand] expanding... (pair? x)
[macroexpand] expanding... pair?
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... (begin (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
[macroexpand] expanding... begin
[macroexpand] expanding... (cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))) #<senv 0x65cdb0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))) #<proc 0x6c0c90> #<proc 0x6c0c10>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c2f70>
argv = ((((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c0c90>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c0c10>
argv = (else@254 (compare? (r (quote unquote)) (car x)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 17
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c0c90>
argv = (if)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... if
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
cfunc = 0x7ffff74752c4
== end
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c0c90>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = ((((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c0c90>
argv = (cond)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cond
[10] OP_LREF 1
[23] OP_CDR
[21] OP_CONS
[18] OP_TAILCALL 5
== calling proc...
proc = #<proc 0x615dc0>
argv = (if (compare? (r (quote unquote)) (car x)) (begin (cadr x)) (cond ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond ((compare? (r (quote unquote)) (car x)) (cadr x)) ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))
#<senv 0x65cdb0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(if (compare? (r (quote unquote)) (car x)) (begin (cadr x)) (cond ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
[macroexpand] expanding... (if (compare? (r (quote unquote)) (car x)) (begin (cadr x)) (cond ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
[macroexpand] expanding... if
[macroexpand] expanding... (compare? (r (quote unquote)) (car x))
[macroexpand] expanding... compare?
[macroexpand] expanding... (r (quote unquote))
[macroexpand] expanding... r
[macroexpand] expanding... (quote unquote)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (car x)
[macroexpand] expanding... car
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (begin (cadr x))
[macroexpand] expanding... begin
[macroexpand] expanding... (cadr x)
[macroexpand] expanding... cadr
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (cond ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))) #<senv 0x65cdb0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))) #<proc 0x6c25f0> #<proc 0x6c2570>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c2270>
argv = ((((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c25f0>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c2570>
argv = (else@254 (and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 17
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c25f0>
argv = (if)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... if
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
cfunc = 0x7ffff74752c4
== end
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c25f0>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = ((((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c25f0>
argv = (cond)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cond
[10] OP_LREF 1
[23] OP_CDR
[21] OP_CONS
[18] OP_TAILCALL 5
== calling proc...
proc = #<proc 0x615dc0>
argv = (if (and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (begin (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (cond (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))
#<senv 0x65cdb0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(if (and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (begin (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (cond (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
[macroexpand] expanding... (if (and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) (begin (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))) (cond (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
[macroexpand] expanding... if
[macroexpand] expanding... (and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x)))
[macroexpand] expanding... and
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x650e40>
argv = ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) #<senv 0x65cdb0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x650e80>
argv = ((and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))) #<proc 0x6c1d70> #<proc 0x6c1cf0>)
irep = ## irep 0x650360
[clen = 4, argc = 4, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6503e0
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [ 8] OP_GREF 205
04 [10] OP_LREF 1
05 [17] OP_CALL 2
06 [15] OP_JMPIF 21
07 [ 8] OP_GREF 18
08 [12] OP_CREF 1 0
09 [ 7] OP_PUSHCONST 0
0a [17] OP_CALL 2
0b [ 8] OP_GREF 18
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [10] OP_LREF 1
11 [22] OP_CAR
12 [17] OP_CALL 3
13 [17] OP_CALL 2
14 [ 8] OP_GREF 18
15 [12] OP_CREF 1 0
16 [ 7] OP_PUSHCONST 2
17 [17] OP_CALL 2
18 [12] OP_CREF 1 0
19 [ 7] OP_PUSHCONST 3
1a [17] OP_CALL 2
1b [12] OP_CREF 1 0
1c [ 7] OP_PUSHCONST 4
1d [17] OP_CALL 2
1e [10] OP_LREF 1
1f [23] OP_CDR
20 [21] OP_CONS
21 [12] OP_CREF 1 0
22 [ 7] OP_PUSHCONST 5
23 [17] OP_CALL 2
24 [17] OP_CALL 5
25 [18] OP_TAILCALL 4
26 [14] OP_JMP 4
27 [10] OP_LREF 1
28 [22] OP_CAR
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 3] OP_PUSHTRUE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c58c0>
argv = (((pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))))
irep = ## irep 0x6503e0
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [ 8] OP_GREF 205
04 [10] OP_LREF 1
05 [17] OP_CALL 2
06 [15] OP_JMPIF 21
07 [ 8] OP_GREF 18
08 [12] OP_CREF 1 0
09 [ 7] OP_PUSHCONST 0
0a [17] OP_CALL 2
0b [ 8] OP_GREF 18
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [10] OP_LREF 1
11 [22] OP_CAR
12 [17] OP_CALL 3
13 [17] OP_CALL 2
14 [ 8] OP_GREF 18
15 [12] OP_CREF 1 0
16 [ 7] OP_PUSHCONST 2
17 [17] OP_CALL 2
18 [12] OP_CREF 1 0
19 [ 7] OP_PUSHCONST 3
1a [17] OP_CALL 2
1b [12] OP_CREF 1 0
1c [ 7] OP_PUSHCONST 4
1d [17] OP_CALL 2
1e [10] OP_LREF 1
1f [23] OP_CDR
20 [21] OP_CONS
21 [12] OP_CREF 1 0
22 [ 7] OP_PUSHCONST 5
23 [17] OP_CALL 2
24 [17] OP_CALL 5
25 [18] OP_TAILCALL 4
26 [14] OP_JMP 4
27 [10] OP_LREF 1
28 [22] OP_CAR
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 3] OP_PUSHTRUE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[ 8] OP_GREF 205
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1a30>
argv = (((pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))))
irep = ## irep 0x6c1b70
[clen = 11, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 5
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [15] OP_JMPIF 4
04 [ 4] OP_PUSHFALSE
05 [19] OP_RET
06 [14] OP_JMP 5
07 [10] OP_LREF 1
08 [23] OP_CDR
09 [24] OP_NILP
0a [19] OP_RET
== end
[ 8] OP_GREF 5
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 4
[10] OP_LREF 1
[23] OP_CDR
[24] OP_NILP
[19] OP_RET
[15] OP_JMPIF 21
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1d70>
argv = (let)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... let
[ 8] OP_GREF 18
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1d70>
argv = (it)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... it
[10] OP_LREF 1
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (it@263 (pair? (car x)))
cfunc = 0x7ffff747563e
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615dc0>
argv = ((it@263 (pair? (car x))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1d70>
argv = (if)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... if
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1d70>
argv = (it)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... it
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1d70>
argv = (and)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... and
[10] OP_LREF 1
[23] OP_CDR
[21] OP_CONS
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 5
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1d70>
argv = (it)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... it
[17] OP_CALL 5
== calling proc...
proc = #<proc 0x615dc0>
argv = (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263)
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x650e40>
(and (pair? (car x)) (compare? (r (quote unquote-splicing)) (caar x)))
#<senv 0x65cdb0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
[macroexpand] expanding... (let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
[macroexpand] expanding... let
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd7a0>
argv = ((let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263)) #<senv 0x65cdb0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd500>
argv = ((let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263)) #<proc 0x6c51a0> #<proc 0x6c5120>)
irep = ## irep 0x6cc290
[clen = 76, argc = 4, localc = 3]
:: cv_num = 0
00 [ 8] OP_GREF 124
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [17] OP_CALL 2
05 [15] OP_JMPIF 1c
06 [ 8] OP_GREF 12
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [11] OP_LSET 5
0a [ 4] OP_PUSHFALSE
0b [ 8] OP_GREF 14
0c [10] OP_LREF 1
0d [17] OP_CALL 2
0e [11] OP_LSET 6
0f [ 4] OP_PUSHFALSE
10 [10] OP_LREF 2
11 [ 7] OP_PUSHCONST 0
12 [17] OP_CALL 2
13 [ 8] OP_GREF 122
14 [ 8] OP_GREF 7
15 [10] OP_LREF 5
16 [17] OP_CALL 3
17 [10] OP_LREF 6
18 [21] OP_CONS
19 [21] OP_CONS
1a [ 8] OP_GREF 122
1b [ 8] OP_GREF 12
1c [10] OP_LREF 5
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [19] OP_RET
20 [14] OP_JMP 2c
21 [ 8] OP_GREF 12
22 [10] OP_LREF 1
23 [17] OP_CALL 2
24 [11] OP_LSET 4
25 [ 4] OP_PUSHFALSE
26 [ 8] OP_GREF 182
27 [10] OP_LREF 1
28 [17] OP_CALL 2
29 [11] OP_LSET 5
2a [ 4] OP_PUSHFALSE
2b [ 8] OP_GREF 186
2c [10] OP_LREF 1
2d [17] OP_CALL 2
2e [11] OP_LSET 6
2f [ 4] OP_PUSHFALSE
30 [ 8] OP_GREF 18
31 [10] OP_LREF 2
32 [ 7] OP_PUSHCONST 1
33 [17] OP_CALL 2
34 [ 2] OP_PUSHNIL
35 [ 8] OP_GREF 18
36 [10] OP_LREF 2
37 [ 7] OP_PUSHCONST 2
38 [17] OP_CALL 2
39 [10] OP_LREF 4
3a [10] OP_LREF 2
3b [ 7] OP_PUSHCONST 3
3c [17] OP_CALL 2
3d [ 8] OP_GREF 122
3e [ 8] OP_GREF 7
3f [10] OP_LREF 5
40 [17] OP_CALL 3
41 [10] OP_LREF 6
42 [21] OP_CONS
43 [21] OP_CONS
44 [17] OP_CALL 4
45 [10] OP_LREF 4
46 [ 8] OP_GREF 122
47 [ 8] OP_GREF 12
48 [10] OP_LREF 5
49 [17] OP_CALL 3
4a [21] OP_CONS
4b [18] OP_TAILCALL 5
== end
[ 8] OP_GREF 124
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263)))
cfunc = 0x7ffff7475317
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((it@263 (pair? (car x)))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 1c
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263)))
cfunc = 0x7ffff7475317
== end
[11] OP_LSET 5
[ 4] OP_PUSHFALSE
[ 8] OP_GREF 14
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615ec0>
argv = ((let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263)))
cfunc = 0x7ffff74753bd
== end
[11] OP_LSET 6
[ 4] OP_PUSHFALSE
[10] OP_LREF 2
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c51a0>
argv = (lambda)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... lambda
[ 8] OP_GREF 122
[ 8] OP_GREF 7
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x616080> ((it@263 (pair? (car x)))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((it@263 (pair? (car x))))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
#<senv 0x65cdb0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
#<proc 0x6c51a0>
#<proc 0x6c5120>
#<undef>
((it@263 (pair? (car x))))
((if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
()
[10] OP_LREF 6
[21] OP_CONS
[21] OP_CONS
[ 8] OP_GREF 122
[ 8] OP_GREF 12
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x615f40> ((it@263 (pair? (car x)))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((it@263 (pair? (car x))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
#<senv 0x65cdb0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
#<proc 0x6c51a0>
#<proc 0x6c5120>
#<undef>
((it@263 (pair? (car x))))
((if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
#f
#f
(lambda (it@263) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
#<proc 0x62a6a0>
#<proc 0x615f40>
()
[21] OP_CONS
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cd7a0>
(let ((it@263 (pair? (car x)))) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
#<senv 0x65cdb0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
((lambda (it@263) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263)) (pair? (car x)))
[macroexpand] expanding... ((lambda (it@263) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263)) (pair? (car x)))
[macroexpand] expanding... (lambda (it@263) (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (if it@263 (and (compare? (r (quote unquote-splicing)) (caar x))) it@263)
[macroexpand] expanding... if
[macroexpand] expanding... it@263
[macroexpand] expanding... (and (compare? (r (quote unquote-splicing)) (caar x)))
[macroexpand] expanding... and
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x650e40>
argv = ((and (compare? (r (quote unquote-splicing)) (caar x))) #<senv 0x6c4aa0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x650e80>
argv = ((and (compare? (r (quote unquote-splicing)) (caar x))) #<proc 0x6c4820> #<proc 0x6c47a0>)
irep = ## irep 0x650360
[clen = 4, argc = 4, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6503e0
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [ 8] OP_GREF 205
04 [10] OP_LREF 1
05 [17] OP_CALL 2
06 [15] OP_JMPIF 21
07 [ 8] OP_GREF 18
08 [12] OP_CREF 1 0
09 [ 7] OP_PUSHCONST 0
0a [17] OP_CALL 2
0b [ 8] OP_GREF 18
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [10] OP_LREF 1
11 [22] OP_CAR
12 [17] OP_CALL 3
13 [17] OP_CALL 2
14 [ 8] OP_GREF 18
15 [12] OP_CREF 1 0
16 [ 7] OP_PUSHCONST 2
17 [17] OP_CALL 2
18 [12] OP_CREF 1 0
19 [ 7] OP_PUSHCONST 3
1a [17] OP_CALL 2
1b [12] OP_CREF 1 0
1c [ 7] OP_PUSHCONST 4
1d [17] OP_CALL 2
1e [10] OP_LREF 1
1f [23] OP_CDR
20 [21] OP_CONS
21 [12] OP_CREF 1 0
22 [ 7] OP_PUSHCONST 5
23 [17] OP_CALL 2
24 [17] OP_CALL 5
25 [18] OP_TAILCALL 4
26 [14] OP_JMP 4
27 [10] OP_LREF 1
28 [22] OP_CAR
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 3] OP_PUSHTRUE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c44a0>
argv = (((compare? (r (quote unquote-splicing)) (caar x))))
irep = ## irep 0x6503e0
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [ 8] OP_GREF 205
04 [10] OP_LREF 1
05 [17] OP_CALL 2
06 [15] OP_JMPIF 21
07 [ 8] OP_GREF 18
08 [12] OP_CREF 1 0
09 [ 7] OP_PUSHCONST 0
0a [17] OP_CALL 2
0b [ 8] OP_GREF 18
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [10] OP_LREF 1
11 [22] OP_CAR
12 [17] OP_CALL 3
13 [17] OP_CALL 2
14 [ 8] OP_GREF 18
15 [12] OP_CREF 1 0
16 [ 7] OP_PUSHCONST 2
17 [17] OP_CALL 2
18 [12] OP_CREF 1 0
19 [ 7] OP_PUSHCONST 3
1a [17] OP_CALL 2
1b [12] OP_CREF 1 0
1c [ 7] OP_PUSHCONST 4
1d [17] OP_CALL 2
1e [10] OP_LREF 1
1f [23] OP_CDR
20 [21] OP_CONS
21 [12] OP_CREF 1 0
22 [ 7] OP_PUSHCONST 5
23 [17] OP_CALL 2
24 [17] OP_CALL 5
25 [18] OP_TAILCALL 4
26 [14] OP_JMP 4
27 [10] OP_LREF 1
28 [22] OP_CAR
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 3] OP_PUSHTRUE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[ 8] OP_GREF 205
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1a30>
argv = (((compare? (r (quote unquote-splicing)) (caar x))))
irep = ## irep 0x6c1b70
[clen = 11, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 5
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [15] OP_JMPIF 4
04 [ 4] OP_PUSHFALSE
05 [19] OP_RET
06 [14] OP_JMP 5
07 [10] OP_LREF 1
08 [23] OP_CDR
09 [24] OP_NILP
0a [19] OP_RET
== end
[ 8] OP_GREF 5
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((compare? (r (quote unquote-splicing)) (caar x))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 4
[10] OP_LREF 1
[23] OP_CDR
[24] OP_NILP
[19] OP_RET
[15] OP_JMPIF 21
[10] OP_LREF 1
[22] OP_CAR
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x650e40>
(and (compare? (r (quote unquote-splicing)) (caar x)))
#<senv 0x6c4aa0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(compare? (r (quote unquote-splicing)) (caar x))
[macroexpand] expanding... (compare? (r (quote unquote-splicing)) (caar x))
[macroexpand] expanding... compare?
[macroexpand] expanding... (r (quote unquote-splicing))
[macroexpand] expanding... r
[macroexpand] expanding... (quote unquote-splicing)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (caar x)
[macroexpand] expanding... caar
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... it@263
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... it@263
[macroexpand] expanding... ()
[macroexpand] expanding... (pair? (car x))
[macroexpand] expanding... pair?
[macroexpand] expanding... (car x)
[macroexpand] expanding... car
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (begin (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x))))
[macroexpand] expanding... begin
[macroexpand] expanding... (list (r (quote append)) (cadar x) (list (r (quote quasiquote)) (cdr x)))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote append))
[macroexpand] expanding... r
[macroexpand] expanding... (quote append)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cadar x)
[macroexpand] expanding... cadar
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... (list (r (quote quasiquote)) (cdr x))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote quasiquote))
[macroexpand] expanding... r
[macroexpand] expanding... (quote quasiquote)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr x)
[macroexpand] expanding... cdr
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (cond (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))) #<senv 0x65cdb0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))) #<proc 0x6c79a0> #<proc 0x6c7920>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c83a0>
argv = (((#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c79a0>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c7920>
argv = (else@254 #t)
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 17
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c79a0>
argv = (if)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... if
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
cfunc = 0x7ffff74752c4
== end
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c79a0>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c79a0>
argv = (cond)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cond
[10] OP_LREF 1
[23] OP_CDR
[21] OP_CONS
[18] OP_TAILCALL 5
== calling proc...
proc = #<proc 0x615dc0>
argv = (if #t (begin (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))) (cond))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond (#t (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))))
#<senv 0x65cdb0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(if #t (begin (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))) (cond))
[macroexpand] expanding... (if #t (begin (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))) (cond))
[macroexpand] expanding... if
[macroexpand] expanding... #t
[macroexpand] expanding... (begin (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x))))
[macroexpand] expanding... begin
[macroexpand] expanding... (list (r (quote cons)) (list (r (quote quasiquote)) (car x)) (list (r (quote quasiquote)) (cdr x)))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote cons))
[macroexpand] expanding... r
[macroexpand] expanding... (quote cons)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (list (r (quote quasiquote)) (car x))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote quasiquote))
[macroexpand] expanding... r
[macroexpand] expanding... (quote quasiquote)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (car x)
[macroexpand] expanding... car
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (list (r (quote quasiquote)) (cdr x))
[macroexpand] expanding... list
[macroexpand] expanding... (r (quote quasiquote))
[macroexpand] expanding... r
[macroexpand] expanding... (quote quasiquote)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (cdr x)
[macroexpand] expanding... cdr
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (cond)
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond) #<senv 0x65cdb0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond) #<proc 0x6ca3d0> #<proc 0x6ca350>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6ca050>
argv = (())
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond)
#<senv 0x65cdb0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
#f
[macroexpand] expanding... #f
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (cond (#t x))
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond (#t x)) #<senv 0x65cdb0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond (#t x)) #<proc 0x6cb890> #<proc 0x6cb810>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cb510>
argv = (((#t x)))
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (else)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... else
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((#t x)))
cfunc = 0x7ffff74752c4
== end
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6cb810>
argv = (else@254 #t)
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 17
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (if)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... if
[ 8] OP_GREF 11
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((#t x)))
cfunc = 0x7ffff74752c4
== end
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (begin)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... begin
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((#t x)))
cfunc = 0x7ffff747536a
== end
[21] OP_CONS
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (cond)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cond
[10] OP_LREF 1
[23] OP_CDR
[21] OP_CONS
[18] OP_TAILCALL 5
== calling proc...
proc = #<proc 0x615dc0>
argv = (if #t (begin x) (cond))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond (#t x))
#<senv 0x65cdb0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(if #t (begin x) (cond))
[macroexpand] expanding... (if #t (begin x) (cond))
[macroexpand] expanding... if
[macroexpand] expanding... #t
[macroexpand] expanding... (begin x)
[macroexpand] expanding... begin
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... (cond)
[macroexpand] expanding... cond
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cad50>
argv = ((cond) #<senv 0x65cdb0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cab10>
argv = ((cond) #<proc 0x6caf50> #<proc 0x6caed0>)
irep = ## irep 0x6ca830
[clen = 4, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [10] OP_LREF 1
02 [23] OP_CDR
03 [18] OP_TAILCALL 2
## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[20] OP_LAMBDA 0
[10] OP_LREF 1
[23] OP_CDR
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cc090>
argv = (())
irep = ## irep 0x6ca530
[clen = 45, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 29
03 [12] OP_CREF 1 1
04 [12] OP_CREF 1 0
05 [ 7] OP_PUSHCONST 0
06 [17] OP_CALL 2
07 [ 8] OP_GREF 11
08 [10] OP_LREF 1
09 [17] OP_CALL 2
0a [17] OP_CALL 3
0b [15] OP_JMPIF 17
0c [ 8] OP_GREF 18
0d [12] OP_CREF 1 0
0e [ 7] OP_PUSHCONST 1
0f [17] OP_CALL 2
10 [ 8] OP_GREF 11
11 [10] OP_LREF 1
12 [17] OP_CALL 2
13 [12] OP_CREF 1 0
14 [ 7] OP_PUSHCONST 2
15 [17] OP_CALL 2
16 [ 8] OP_GREF 13
17 [10] OP_LREF 1
18 [17] OP_CALL 2
19 [21] OP_CONS
1a [12] OP_CREF 1 0
1b [ 7] OP_PUSHCONST 3
1c [17] OP_CALL 2
1d [10] OP_LREF 1
1e [23] OP_CDR
1f [21] OP_CONS
20 [18] OP_TAILCALL 5
21 [14] OP_JMP 9
22 [12] OP_CREF 1 0
23 [ 7] OP_PUSHCONST 4
24 [17] OP_CALL 2
25 [ 8] OP_GREF 13
26 [10] OP_LREF 1
27 [17] OP_CALL 2
28 [21] OP_CONS
29 [19] OP_RET
2a [14] OP_JMP 3
2b [ 4] OP_PUSHFALSE
2c [19] OP_RET
== end
[10] OP_LREF 1
[24] OP_NILP
[15] OP_JMPIF 29
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cad50>
(cond)
#<senv 0x65cdb0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
#f
[macroexpand] expanding... #f
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... (cadr expr)
[macroexpand] expanding... cadr
[macroexpand] expanding... expr
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... expr
[macroexpand] expanding... r
[macroexpand] expanding... compare?
[macroexpand] expanding... ()
[macroexpand] expanding... ()
after expand:
(er-macro-transformer@172 (lambda (expr@259 r@260 compare?@261) ((lambda (x@262) (if (symbol?@125 x@262) (begin (list@19 (r@260 (quote quote)) x@262)) (if (pair?@6 x@262) (begin (if (compare?@261 (r@260 (quote unquote)) (car@8 x@262)) (begin (cadr@13 x@262)) (if ((lambda (it@263) (if it@263 (compare?@261 (r@260 (quote unquote-splicing)) (caar@12 x@262)) it@263)) (pair?@6 (car@8 x@262))) (begin (list@19 (r@260 (quote append)) (cadar@185 x@262) (list@19 (r@260 (quote quasiquote)) (cdr@9 x@262)))) (if #t (begin (list@19 (r@260 (quote cons)) (list@19 (r@260 (quote quasiquote)) (car@8 x@262)) (list@19 (r@260 (quote quasiquote)) (cdr@9 x@262)))) #f)))) (if #t (begin x@262) #f)))) (cadr@13 expr@259))))
## macroexpand completed
ai = 21
(er-macro-transformer@172 (lambda (expr@259 r@260 compare?@261) ((lambda (x@262) (if (symbol?@125 x@262) (begin (list@19 (r@260 (quote quote)) x@262)) (if (pair?@6 x@262) (begin (if (compare?@261 (r@260 (quote unquote)) (car@8 x@262)) (begin (cadr@13 x@262)) (if ((lambda (it@263) (if it@263 (compare?@261 (r@260 (quote unquote-splicing)) (caar@12 x@262)) it@263)) (pair?@6 (car@8 x@262))) (begin (list@19 (r@260 (quote append)) (cadar@185 x@262) (list@19 (r@260 (quote quasiquote)) (cdr@9 x@262)))) (if #t (begin (list@19 (r@260 (quote cons)) (list@19 (r@260 (quote quasiquote)) (car@8 x@262)) (list@19 (r@260 (quote quasiquote)) (cdr@9 x@262)))) #f)))) (if #t (begin x@262) #f)))) (cadr@13 expr@259))))gc run!
gc run!
## analyzer completed
(tail-call (ref 0 er-macro-transformer@172) (lambda (expr@259 r@260 compare?@261) () #f (r@260 compare?@261) (tail-call (lambda (x@262) () #f (x@262) (if (call (ref 2 symbol?@125) (ref 0 x@262)) (tail-call (ref 2 list@19) (call (ref 1 r@260) (quote quote)) (ref 0 x@262)) (if (call (ref 2 pair?@6) (ref 0 x@262)) (if (call (ref 1 compare?@261) (call (ref 1 r@260) (quote unquote)) (car (ref 0 x@262))) (tail-call (ref 2 cadr@13) (ref 0 x@262)) (if (call (lambda (it@263) () #f () (if (ref 0 it@263) (tail-call (ref 2 compare?@261) (call (ref 2 r@260) (quote unquote-splicing)) (call (ref 3 caar@12) (ref 1 x@262))) (return (ref 0 it@263)))) (call (ref 2 pair?@6) (car (ref 0 x@262)))) (tail-call (ref 2 list@19) (call (ref 1 r@260) (quote append)) (call (ref 2 cadar@185) (ref 0 x@262)) (call (ref 2 list@19) (call (ref 1 r@260) (quote quasiquote)) (cdr (ref 0 x@262)))) (if (quote #t) (tail-call (ref 2 list@19) (call (ref 1 r@260) (quote cons)) (call (ref 2 list@19) (call (ref 1 r@260) (quote quasiquote)) (car (ref 0 x@2
ai = 23
62))) (call (ref 2 list@19) (call (ref 1 r@260) (quote quasiquote)) (cdr (ref 0 x@262)))) (return (quote #f))))) (if (quote #t) (return (ref 0 x@262)) (return (quote #f)))))) (call (ref 1 cadr@13) (ref 0 expr@259)))))gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
gc run!
## resolver completed
(tail-call (gref 171) (lambda (expr@259 r@260 compare?@261) () #f (r@260 compare?@261) (tail-call (lambda (x@262) () #f (x@262) (if (call (gref 124) (cref 0 0)) (tail-call (gref 18) (call (cref 1 0) (quote quote)) (cref 0 0)) (if (call (gref 5) (cref 0 0)) (if (call (cref 1 1) (call (cref 1 0) (quote unquote)) (car (cref 0 0))) (tail-call (gref 12) (cref 0 0)) (if (call (lambda (it@263) () #f () (if (lref 1) (tail-call (cref 2 1) (call (cref 2 0) (quote unquote-splicing)) (call (gref 11) (cref 1 0))) (return (lref 1)))) (call (gref 5) (car (cref 0 0)))) (tail-call (gref 18) (call (cref 1 0) (quote append)) (call (gref 181) (cref 0 0)) (call (gref 18) (call (cref 1 0) (quote quasiquote)) (cdr (cref 0 0)))) (if (quote #t) (tail-call (gref 18) (call (cref 1 0) (quote cons)) (call (gref 18) (call (cref 1 0) (quote quasiquote)) (car (cref 0 0))) (call (gref 18) (call (cref 1 0) (quote quasiquote)) (cdr (cref 0 0)))) (return (quote #f))))) (if (quote #t) (return (cref 0 0)) (return (quote #f)))))) (call (gref 12) (
ai = 24
## codegen completed
lref 1)))))## irep 0x6d82c0
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6d8280>
argv = ()
irep = ## irep 0x6d82c0
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 171
[20] OP_LAMBDA 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6294e0>
argv = (#<proc 0x6d85a0>)
cfunc = 0x7ffff7470c7f
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand:
#f
## macroexpand completed
ai = 20
## analyzer completed
ai = 22
## resolver completed
ai = 23
## codegen completed
#f(return (quote #f))(return (quote #f))## irep 0x6d9700
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6d96c0>
argv = ()
irep = ## irep 0x6d9700
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 22
# input expression
ai = 22
(define-syntax let* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))))))before expand:
(define-syntax let* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))))))
[macroexpand] expanding... (define-syntax let* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))))))
[macroexpand] expanding... define-syntax
ai = 22
# input expression
ai = 22
(er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))))before expand:
(er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))))
[macroexpand] expanding... (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))))
[macroexpand] expanding... er-macro-transformer
[macroexpand] expanding... (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
[macroexpand] expanding... let
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd7a0>
argv = ((let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))) #<senv 0x6d9620> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd500>
argv = ((let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))) #<proc 0x6d9d40> #<proc 0x6d9f40>)
irep = ## irep 0x6cc290
[clen = 76, argc = 4, localc = 3]
:: cv_num = 0
00 [ 8] OP_GREF 124
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [17] OP_CALL 2
05 [15] OP_JMPIF 1c
06 [ 8] OP_GREF 12
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [11] OP_LSET 5
0a [ 4] OP_PUSHFALSE
0b [ 8] OP_GREF 14
0c [10] OP_LREF 1
0d [17] OP_CALL 2
0e [11] OP_LSET 6
0f [ 4] OP_PUSHFALSE
10 [10] OP_LREF 2
11 [ 7] OP_PUSHCONST 0
12 [17] OP_CALL 2
13 [ 8] OP_GREF 122
14 [ 8] OP_GREF 7
15 [10] OP_LREF 5
16 [17] OP_CALL 3
17 [10] OP_LREF 6
18 [21] OP_CONS
19 [21] OP_CONS
1a [ 8] OP_GREF 122
1b [ 8] OP_GREF 12
1c [10] OP_LREF 5
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [19] OP_RET
20 [14] OP_JMP 2c
21 [ 8] OP_GREF 12
22 [10] OP_LREF 1
23 [17] OP_CALL 2
24 [11] OP_LSET 4
25 [ 4] OP_PUSHFALSE
26 [ 8] OP_GREF 182
27 [10] OP_LREF 1
28 [17] OP_CALL 2
29 [11] OP_LSET 5
2a [ 4] OP_PUSHFALSE
2b [ 8] OP_GREF 186
2c [10] OP_LREF 1
2d [17] OP_CALL 2
2e [11] OP_LSET 6
2f [ 4] OP_PUSHFALSE
30 [ 8] OP_GREF 18
31 [10] OP_LREF 2
32 [ 7] OP_PUSHCONST 1
33 [17] OP_CALL 2
34 [ 2] OP_PUSHNIL
35 [ 8] OP_GREF 18
36 [10] OP_LREF 2
37 [ 7] OP_PUSHCONST 2
38 [17] OP_CALL 2
39 [10] OP_LREF 4
3a [10] OP_LREF 2
3b [ 7] OP_PUSHCONST 3
3c [17] OP_CALL 2
3d [ 8] OP_GREF 122
3e [ 8] OP_GREF 7
3f [10] OP_LREF 5
40 [17] OP_CALL 3
41 [10] OP_LREF 6
42 [21] OP_CONS
43 [21] OP_CONS
44 [17] OP_CALL 4
45 [10] OP_LREF 4
46 [ 8] OP_GREF 122
47 [ 8] OP_GREF 12
48 [10] OP_LREF 5
49 [17] OP_CALL 3
4a [21] OP_CONS
4b [18] OP_TAILCALL 5
== end
[ 8] OP_GREF 124
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))))
cfunc = 0x7ffff7475317
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((bindings (cadr form)) (body (cddr form))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 1c
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))))
cfunc = 0x7ffff7475317
== end
[11] OP_LSET 5
[ 4] OP_PUSHFALSE
[ 8] OP_GREF 14
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615ec0>
argv = ((let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))))
cfunc = 0x7ffff74753bd
== end
[11] OP_LSET 6
[ 4] OP_PUSHFALSE
[10] OP_LREF 2
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d9d40>
argv = (lambda)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... lambda
[ 8] OP_GREF 122
[ 8] OP_GREF 7
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x616080> ((bindings (cadr form)) (body (cddr form))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((bindings (cadr form)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#<senv 0x6d9620>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#<proc 0x6d9d40>
#<proc 0x6d9f40>
#<undef>
((bindings (cadr form)) (body (cddr form)))
((if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
((body (cddr form)))
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((body (cddr form)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#<senv 0x6d9620>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#<proc 0x6d9d40>
#<proc 0x6d9f40>
#<undef>
((bindings (cadr form)) (body (cddr form)))
((if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
()
[10] OP_LREF 6
[21] OP_CONS
[21] OP_CONS
[ 8] OP_GREF 122
[ 8] OP_GREF 12
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x615f40> ((bindings (cadr form)) (body (cddr form))))
cfunc = 0x7ffff74778b2
== end
gc run!
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((bindings (cadr form)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#<senv 0x6d9620>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#<proc 0x6d9d40>
#<proc 0x6d9f40>
#<undef>
((bindings (cadr form)) (body (cddr form)))
((if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#f
#f
(lambda (bindings body) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#<proc 0x62a6a0>
#<proc 0x615f40>
((body (cddr form)))
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((body (cddr form)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#<senv 0x6d9620>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#<proc 0x6d9d40>
#<proc 0x6d9f40>
#<undef>
((bindings (cadr form)) (body (cddr form)))
((if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#f
#f
(lambda (bindings body) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#<proc 0x62a6a0>
#<proc 0x615f40>
()
[21] OP_CONS
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (body (cddr form))) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
#<senv 0x6d9620>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
((lambda (bindings body) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))) (cadr form) (cddr form))
[macroexpand] expanding... ((lambda (bindings body) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))) (cadr form) (cddr form))
[macroexpand] expanding... (lambda (bindings body) (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (if (null? bindings) (quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))
[macroexpand] expanding... if
[macroexpand] expanding... (null? bindings)
[macroexpand] expanding... null?
[macroexpand] expanding... bindings
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote (r (quote let))) () (unquote-splicing body)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (r (quote let))) () (unquote-splicing body))) #<proc 0x6c13f0> #<proc 0x6c1370>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (r (quote let))) () (unquote-splicing body))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c1070>
argv = (((unquote (r (quote let))) () (unquote-splicing body)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (r (quote let))) () (unquote-splicing body)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote let))) () (unquote-splicing body)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c13f0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c1370>
argv = (unquote@270 (unquote (r (quote let))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c0ff0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c13f0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (r (quote let))) () (unquote-splicing body)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c1370>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c13f0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c13f0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (r (quote let))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c13f0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (() (unquote-splicing body)))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote (() (unquote-splicing body))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (r (quote let))) () (unquote-splicing body)))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote (() (unquote-splicing body))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote (() (unquote-splicing body))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (r (quote let))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (r (quote let)))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (r (quote let)))) #<proc 0x6c30b0> #<proc 0x6c3030>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (r (quote let)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c2d30>
argv = ((unquote (r (quote let))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c30b0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c3030>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (r (quote let))))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(r (quote let))
[macroexpand] expanding... (r (quote let))
[macroexpand] expanding... r
[macroexpand] expanding... (quote let)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote (() (unquote-splicing body)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (() (unquote-splicing body))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (() (unquote-splicing body))) #<proc 0x6c2950> #<proc 0x6c28d0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (() (unquote-splicing body))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c25d0>
argv = ((() (unquote-splicing body)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((() (unquote-splicing body)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((() (unquote-splicing body)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2950>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c28d0>
argv = (unquote@270 ())
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2550>
argv = (#f)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[10] OP_LREF 1
[19] OP_RET
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2950>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2950>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2950>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote-splicing body)))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote ()) (quasiquote ((unquote-splicing body))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (() (unquote-splicing body)))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote ()) (quasiquote ((unquote-splicing body))))
[macroexpand] expanding... (cons@7 (quasiquote ()) (quasiquote ((unquote-splicing body))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6c1ff0> #<proc 0x6c1f70>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c1c70>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote-splicing body)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote-splicing body))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote-splicing body))) #<proc 0x6c5840> #<proc 0x6c57c0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote-splicing body))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c54c0>
argv = (((unquote-splicing body)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c5840>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c57c0>
argv = (unquote@270 (unquote-splicing body))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote-splicing body))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c5440>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c5840>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c57c0>
argv = (unquote-splicing@271 unquote-splicing)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote-splicing
[15] OP_JMPIF 1a
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c5840>
argv = (append)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... append
[ 8] OP_GREF 181
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d3b0>
argv = (((unquote-splicing body)))
irep = ## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff747536a
== end
[22] OP_CAR
[19] OP_RET
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 5
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c5840>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (append@21 body (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote-splicing body)))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(append@21 body (quasiquote ()))
[macroexpand] expanding... (append@21 body (quasiquote ()))
[macroexpand] expanding... append@21
[macroexpand] expanding... body
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6c4f60> #<proc 0x6c4ee0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c4be0>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))) #<proc 0x6c45c0> #<proc 0x6c4540>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c4240>
argv = (((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c45c0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c4540>
argv = (unquote@270 (unquote (r (quote let))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c41c0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c45c0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c4540>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c45c0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c45c0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (r (quote let))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c45c0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (r (quote let))) (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (r (quote let))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (r (quote let)))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (r (quote let)))) #<proc 0x6c3c60> #<proc 0x6c3be0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (r (quote let)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c38e0>
argv = ((unquote (r (quote let))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3c60>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c3be0>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (r (quote let))))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(r (quote let))
[macroexpand] expanding... (r (quote let))
[macroexpand] expanding... r
[macroexpand] expanding... (quote let)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))) #<proc 0x6c3500> #<proc 0x6c3480>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c78a0>
argv = (((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3500>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c3480>
argv = (unquote@270 (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c7d80>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3500>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c3480>
argv = (unquote-splicing@271 ((unquote (caar bindings)) (unquote-splicing (cdar bindings))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3500>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3500>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3500>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (((unquote (caar bindings)) (unquote-splicing (cdar bindings))))) (quasiquote (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (((unquote (caar bindings)) (unquote-splicing (cdar bindings))))) (quasiquote (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))
[macroexpand] expanding... (cons@7 (quasiquote (((unquote (caar bindings)) (unquote-splicing (cdar bindings))))) (quasiquote (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (((unquote (caar bindings)) (unquote-splicing (cdar bindings))))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (((unquote (caar bindings)) (unquote-splicing (cdar bindings))))) #<proc 0x6c88c0> #<proc 0x6c89a0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (((unquote (caar bindings)) (unquote-splicing (cdar bindings))))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c8de0>
argv = ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c88c0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c89a0>
argv = (unquote@270 ((unquote (caar bindings)) (unquote-splicing (cdar bindings))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (caar bindings)) (unquote-splicing (cdar bindings))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c8d60>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c88c0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((unquote (caar bindings)) (unquote-splicing (cdar bindings)))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c89a0>
argv = (unquote-splicing@271 (unquote (caar bindings)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c88c0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c88c0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote (caar bindings)) (unquote-splicing (cdar bindings))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c88c0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote ((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (((unquote (caar bindings)) (unquote-splicing (cdar bindings)))))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote ((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) (quasiquote ()))
[macroexpand] expanding... (cons@7 (quasiquote ((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) (quasiquote ()))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote ((unquote (caar bindings)) (unquote-splicing (cdar bindings))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (caar bindings)) (unquote-splicing (cdar bindings)))) #<proc 0x6c97c0> #<proc 0x6ca4f0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (caar bindings)) (unquote-splicing (cdar bindings)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6ca1f0>
argv = (((unquote (caar bindings)) (unquote-splicing (cdar bindings))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (caar bindings)) (unquote-splicing (cdar bindings))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (caar bindings)) (unquote-splicing (cdar bindings))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c97c0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6ca4f0>
argv = (unquote@270 (unquote (caar bindings)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (caar bindings)))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ca170>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c97c0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (caar bindings)) (unquote-splicing (cdar bindings))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6ca4f0>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c97c0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c97c0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (caar bindings)))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c97c0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote-splicing (cdar bindings))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (caar bindings))) (quasiquote ((unquote-splicing (cdar bindings)))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (caar bindings)) (unquote-splicing (cdar bindings))))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (caar bindings))) (quasiquote ((unquote-splicing (cdar bindings)))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (caar bindings))) (quasiquote ((unquote-splicing (cdar bindings)))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (caar bindings)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (caar bindings))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (caar bindings))) #<proc 0x6ca9b0> #<proc 0x6ca930>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (caar bindings))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cb8b0>
argv = ((unquote (caar bindings)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (caar bindings)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (caar bindings)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ca9b0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6ca930>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (caar bindings)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (caar bindings)))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(caar bindings)
[macroexpand] expanding... (caar bindings)
[macroexpand] expanding... caar
[macroexpand] expanding... bindings
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote-splicing (cdar bindings))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote-splicing (cdar bindings)))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote-splicing (cdar bindings)))) #<proc 0x6cb530> #<proc 0x6cb4b0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote-splicing (cdar bindings)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cb1b0>
argv = (((unquote-splicing (cdar bindings))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote-splicing (cdar bindings))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing (cdar bindings))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb530>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6cb4b0>
argv = (unquote@270 (unquote-splicing (cdar bindings)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote-splicing (cdar bindings)))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb130>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb530>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote-splicing (cdar bindings))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6cb4b0>
argv = (unquote-splicing@271 unquote-splicing)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote-splicing
[15] OP_JMPIF 1a
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb530>
argv = (append)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... append
[ 8] OP_GREF 181
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d3b0>
argv = (((unquote-splicing (cdar bindings))))
irep = ## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((unquote-splicing (cdar bindings))))
cfunc = 0x7ffff747536a
== end
[22] OP_CAR
[19] OP_RET
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 5
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb530>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (append@21 (cdar bindings) (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote-splicing (cdar bindings))))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(append@21 (cdar bindings) (quasiquote ()))
[macroexpand] expanding... (append@21 (cdar bindings) (quasiquote ()))
[macroexpand] expanding... append@21
[macroexpand] expanding... (cdar bindings)
[macroexpand] expanding... cdar
[macroexpand] expanding... bindings
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6cc070> #<proc 0x6cbff0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cbcf0>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6cc3f0> #<proc 0x6cc370>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6ccca0>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))) #<proc 0x6cc8c0> #<proc 0x6cc840>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cd300>
argv = ((((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cc8c0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6cc840>
argv = (unquote@270 ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd280>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cc8c0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6cc840>
argv = (unquote-splicing@271 (unquote (r (quote let*))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cc8c0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cc8c0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cc8c0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))) (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))) (quasiquote ()))
[macroexpand] expanding... (cons@7 (quasiquote ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))) (quasiquote ()))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))) #<proc 0x6cd960> #<proc 0x6cd8e0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cde40>
argv = (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd960>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6cd8e0>
argv = (unquote@270 (unquote (r (quote let*))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote let*))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cddc0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd960>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6cd8e0>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd960>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd960>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (r (quote let*))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd960>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (((unquote-splicing (cdr bindings))) (unquote-splicing body)))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (r (quote let*)))) (quasiquote (((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (r (quote let*))) ((unquote-splicing (cdr bindings))) (unquote-splicing body)))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (r (quote let*)))) (quasiquote (((unquote-splicing (cdr bindings))) (unquote-splicing body))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (r (quote let*)))) (quasiquote (((unquote-splicing (cdr bindings))) (unquote-splicing body))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (r (quote let*))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (r (quote let*)))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (r (quote let*)))) #<proc 0x6ce380> #<proc 0x6ce300>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (r (quote let*)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6ced20>
argv = ((unquote (r (quote let*))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (r (quote let*))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote let*))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce380>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6ce300>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (r (quote let*))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (r (quote let*))))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(r (quote let*))
[macroexpand] expanding... (r (quote let*))
[macroexpand] expanding... r
[macroexpand] expanding... (quote let*)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote (((unquote-splicing (cdr bindings))) (unquote-splicing body)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (((unquote-splicing (cdr bindings))) (unquote-splicing body))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (((unquote-splicing (cdr bindings))) (unquote-splicing body))) #<proc 0x6ce940> #<proc 0x6ce8c0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (((unquote-splicing (cdr bindings))) (unquote-splicing body))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d6170>
argv = ((((unquote-splicing (cdr bindings))) (unquote-splicing body)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((((unquote-splicing (cdr bindings))) (unquote-splicing body)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((((unquote-splicing (cdr bindings))) (unquote-splicing body)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce940>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6ce8c0>
argv = (unquote@270 ((unquote-splicing (cdr bindings))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing (cdr bindings))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d60f0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce940>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((unquote-splicing (cdr bindings))) (unquote-splicing body)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6ce8c0>
argv = (unquote-splicing@271 (unquote-splicing (cdr bindings)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce940>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce940>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote-splicing (cdr bindings))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce940>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote-splicing body)))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote ((unquote-splicing (cdr bindings)))) (quasiquote ((unquote-splicing body))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (((unquote-splicing (cdr bindings))) (unquote-splicing body)))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote ((unquote-splicing (cdr bindings)))) (quasiquote ((unquote-splicing body))))
[macroexpand] expanding... (cons@7 (quasiquote ((unquote-splicing (cdr bindings)))) (quasiquote ((unquote-splicing body))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote ((unquote-splicing (cdr bindings))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote-splicing (cdr bindings)))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote-splicing (cdr bindings)))) #<proc 0x6d5b90> #<proc 0x6d5b10>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote-splicing (cdr bindings)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d5810>
argv = (((unquote-splicing (cdr bindings))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote-splicing (cdr bindings))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing (cdr bindings))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d5b90>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6d5b10>
argv = (unquote@270 (unquote-splicing (cdr bindings)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote-splicing (cdr bindings)))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d5790>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d5b90>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote-splicing (cdr bindings))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6d5b10>
argv = (unquote-splicing@271 unquote-splicing)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote-splicing
[15] OP_JMPIF 1a
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d5b90>
argv = (append)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... append
[ 8] OP_GREF 181
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d3b0>
argv = (((unquote-splicing (cdr bindings))))
irep = ## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((unquote-splicing (cdr bindings))))
cfunc = 0x7ffff747536a
== end
[22] OP_CAR
[19] OP_RET
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 5
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d5b90>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (append@21 (cdr bindings) (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote-splicing (cdr bindings))))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(append@21 (cdr bindings) (quasiquote ()))
[macroexpand] expanding... (append@21 (cdr bindings) (quasiquote ()))
[macroexpand] expanding... append@21
[macroexpand] expanding... (cdr bindings)
[macroexpand] expanding... cdr
[macroexpand] expanding... bindings
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6d6890> #<proc 0x6d6810>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d6510>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote-splicing body)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote-splicing body))) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote-splicing body))) #<proc 0x6d71f0> #<proc 0x6d7170>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote-splicing body))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d6e70>
argv = (((unquote-splicing body)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d71f0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6d7170>
argv = (unquote@270 (unquote-splicing body))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote-splicing body))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d6df0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d71f0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6d7170>
argv = (unquote-splicing@271 unquote-splicing)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote-splicing
[15] OP_JMPIF 1a
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d71f0>
argv = (append)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... append
[ 8] OP_GREF 181
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d3b0>
argv = (((unquote-splicing body)))
irep = ## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff747536a
== end
[22] OP_CAR
[19] OP_RET
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 5
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d71f0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (append@21 body (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote-splicing body)))
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(append@21 body (quasiquote ()))
[macroexpand] expanding... (append@21 body (quasiquote ()))
[macroexpand] expanding... append@21
[macroexpand] expanding... body
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6d7910> #<proc 0x6d7890>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d7f00>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6c1730> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6d83e0> #<proc 0x6d8360>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d9240>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6c1730>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... bindings
[macroexpand] expanding... body
[macroexpand] expanding... ()
[macroexpand] expanding... (cadr form)
[macroexpand] expanding... cadr
[macroexpand] expanding... form
[macroexpand] expanding... ()
[macroexpand] expanding... (cddr form)
[macroexpand] expanding... cddr
[macroexpand] expanding... form
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... form
[macroexpand] expanding... r
[macroexpand] expanding... compare
[macroexpand] expanding... ()
[macroexpand] expanding... ()
after expand:
(er-macro-transformer@172 (lambda (form@265 r@266 compare@267) ((lambda (bindings@268 body@269) (if (null?@16 bindings@268) (cons@7 (r@266 (quote let)) (cons@7 () (append@21 body@269 ()))) (cons@7 (r@266 (quote let)) (cons@7 (cons@7 (cons@7 (caar@12 bindings@268) (append@21 (cdar@14 bindings@268) ())) ()) (cons@7 (cons@7 (r@266 (quote let*)) (cons@7 (append@21 (cdr@9 bindings@268) ()) (append@21 body@269 ()))) ()))))) (cadr@13 form@265) (cddr@15 form@265))))
## macroexpand completed
ai = 23
(er-macro-transformer@172 (lambda (form@265 r@266 compare@267) ((lambda (bindings@268 body@269) (if (null?@16 bindings@268) (cons@7 (r@266 (quote let)) (cons@7 () (append@21 body@269 ()))) (cons@7 (r@266 (quote let)) (cons@7 (cons@7 (cons@7 (caar@12 bindings@268) (append@21 (cdar@14 bindings@268) ())) ()) (cons@7 (cons@7 (r@266 (quote let*)) (cons@7 (append@21 (cdr@9 bindings@268) ()) (append@21 body@269 ()))) ()))))) (cadr@13 form@265) (cddr@15 form@265))))gc run!
## analyzer completed
ai = 25
## resolver completed
(tail-call (ref 0 er-macro-transformer@172) (lambda (form@265 r@266 compare@267) () #f (r@266) (tail-call (lambda (bindings@268 body@269) () #f () (if (null? (ref 0 bindings@268)) (return (cons (call (ref 1 r@266) (quote let)) (cons (quote ()) (call (ref 2 append@21) (ref 0 body@269) (quote ()))))) (return (cons (call (ref 1 r@266) (quote let)) (cons (cons (cons (call (ref 2 caar@12) (ref 0 bindings@268)) (call (ref 2 append@21) (call (ref 2 cdar@14) (ref 0 bindings@268)) (quote ()))) (quote ())) (cons (cons (call (ref 1 r@266) (quote let*)) (cons (call (ref 2 append@21) (cdr (ref 0 bindings@268)) (quote ())) (call (ref 2 append@21) (ref 0 body@269) (quote ())))) (quote ()))))))) (call (ref 1 cadr@13) (ref 0 form@265)) (call (ref 1 cddr@15) (ref 0 form@265)))))(tail-call (gref 171) (lambda (form@265 r@266 compare@267) () #f (r@266) (tail-call (lambda (bindings@268 body@269) () #f () (if (null? (lref 1)) (return (cons (call (cref 1 0) (quote let)) (cons (quote ()) (call (gref 20) (lref 2) (quote ()))))) (retur
ai = 26
## codegen completed
n (cons (call (cref 1 0) (quote let)) (cons (cons (cons (call (gref 11) (lref 1)) (call (gref 20) (call (gref 13) (lref 1)) (quote ()))) (quote ())) (cons (cons (call (cref 1 0) (quote let*)) (cons (call (gref 20) (cdr (lref 1)) (quote ())) (call (gref 20) (lref 2) (quote ())))) (quote ()))))))) (call (gref 12) (lref 1)) (call (gref 14) (lref 1)))))## irep 0x65cbd0
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x65ca90
[clen = 8, argc = 4, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [ 8] OP_GREF 14
05 [10] OP_LREF 1
06 [17] OP_CALL 2
07 [18] OP_TAILCALL 3
## irep 0x650ce0
[clen = 49, argc = 3, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 24
03 [12] OP_CREF 1 0
04 [ 7] OP_PUSHCONST 0
05 [17] OP_CALL 2
06 [ 8] OP_GREF 11
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [ 8] OP_GREF 20
0a [ 8] OP_GREF 13
0b [10] OP_LREF 1
0c [17] OP_CALL 2
0d [ 2] OP_PUSHNIL
0e [17] OP_CALL 3
0f [21] OP_CONS
10 [ 2] OP_PUSHNIL
11 [21] OP_CONS
12 [12] OP_CREF 1 0
13 [ 7] OP_PUSHCONST 1
14 [17] OP_CALL 2
15 [ 8] OP_GREF 20
16 [10] OP_LREF 1
17 [23] OP_CDR
18 [ 2] OP_PUSHNIL
19 [17] OP_CALL 3
1a [ 8] OP_GREF 20
1b [10] OP_LREF 2
1c [ 2] OP_PUSHNIL
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [21] OP_CONS
20 [ 2] OP_PUSHNIL
21 [21] OP_CONS
22 [21] OP_CONS
23 [21] OP_CONS
24 [19] OP_RET
25 [14] OP_JMP c
26 [12] OP_CREF 1 0
27 [ 7] OP_PUSHCONST 2
28 [17] OP_CALL 2
29 [ 2] OP_PUSHNIL
2a [ 8] OP_GREF 20
2b [10] OP_LREF 2
2c [ 2] OP_PUSHNIL
2d [17] OP_CALL 3
2e [21] OP_CONS
2f [21] OP_CONS
30 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x65ccf0>
argv = ()
irep = ## irep 0x65cbd0
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x65ca90
[clen = 8, argc = 4, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [ 8] OP_GREF 14
05 [10] OP_LREF 1
06 [17] OP_CALL 2
07 [18] OP_TAILCALL 3
## irep 0x650ce0
[clen = 49, argc = 3, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [24] OP_NILP
02 [15] OP_JMPIF 24
03 [12] OP_CREF 1 0
04 [ 7] OP_PUSHCONST 0
05 [17] OP_CALL 2
06 [ 8] OP_GREF 11
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [ 8] OP_GREF 20
0a [ 8] OP_GREF 13
0b [10] OP_LREF 1
0c [17] OP_CALL 2
0d [ 2] OP_PUSHNIL
0e [17] OP_CALL 3
0f [21] OP_CONS
10 [ 2] OP_PUSHNIL
11 [21] OP_CONS
12 [12] OP_CREF 1 0
13 [ 7] OP_PUSHCONST 1
14 [17] OP_CALL 2
15 [ 8] OP_GREF 20
16 [10] OP_LREF 1
17 [23] OP_CDR
18 [ 2] OP_PUSHNIL
19 [17] OP_CALL 3
1a [ 8] OP_GREF 20
1b [10] OP_LREF 2
1c [ 2] OP_PUSHNIL
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [21] OP_CONS
20 [ 2] OP_PUSHNIL
21 [21] OP_CONS
22 [21] OP_CONS
23 [21] OP_CONS
24 [19] OP_RET
25 [14] OP_JMP c
26 [12] OP_CREF 1 0
27 [ 7] OP_PUSHCONST 2
28 [17] OP_CALL 2
29 [ 2] OP_PUSHNIL
2a [ 8] OP_GREF 20
2b [10] OP_LREF 2
2c [ 2] OP_PUSHNIL
2d [17] OP_CALL 3
2e [21] OP_CONS
2f [21] OP_CONS
30 [19] OP_RET
== end
[ 8] OP_GREF 171
[20] OP_LAMBDA 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6294e0>
argv = (#<proc 0x65d0b0>)
cfunc = 0x7ffff7470c7f
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand:
#f
## macroexpand completed
ai = 22
#fgc run!
## analyzer completed
ai = 24
## resolver completed
ai = 25
## codegen completed
(return (quote #f))(return (quote #f))## irep 0x6c1590
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c1550>
argv = ()
irep = ## irep 0x6c1590
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 24
# input expression
ai = 24
(define-syntax letrec* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))))))before expand:
(define-syntax letrec* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))))))
[macroexpand] expanding... (define-syntax letrec* (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))))))
[macroexpand] expanding... define-syntax
ai = 24
# input expression
ai = 24
(er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))))before expand:
(er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))))
[macroexpand] expanding... (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))))
[macroexpand] expanding... er-macro-transformer
[macroexpand] expanding... (lambda (form r compare) (let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
[macroexpand] expanding... let
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd7a0>
argv = ((let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))) #<senv 0x6c14b0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd500>
argv = ((let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))) #<proc 0x6c1230> #<proc 0x6c11b0>)
irep = ## irep 0x6cc290
[clen = 76, argc = 4, localc = 3]
:: cv_num = 0
00 [ 8] OP_GREF 124
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [17] OP_CALL 2
05 [15] OP_JMPIF 1c
06 [ 8] OP_GREF 12
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [11] OP_LSET 5
0a [ 4] OP_PUSHFALSE
0b [ 8] OP_GREF 14
0c [10] OP_LREF 1
0d [17] OP_CALL 2
0e [11] OP_LSET 6
0f [ 4] OP_PUSHFALSE
10 [10] OP_LREF 2
11 [ 7] OP_PUSHCONST 0
12 [17] OP_CALL 2
13 [ 8] OP_GREF 122
14 [ 8] OP_GREF 7
15 [10] OP_LREF 5
16 [17] OP_CALL 3
17 [10] OP_LREF 6
18 [21] OP_CONS
19 [21] OP_CONS
1a [ 8] OP_GREF 122
1b [ 8] OP_GREF 12
1c [10] OP_LREF 5
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [19] OP_RET
20 [14] OP_JMP 2c
21 [ 8] OP_GREF 12
22 [10] OP_LREF 1
23 [17] OP_CALL 2
24 [11] OP_LSET 4
25 [ 4] OP_PUSHFALSE
26 [ 8] OP_GREF 182
27 [10] OP_LREF 1
28 [17] OP_CALL 2
29 [11] OP_LSET 5
2a [ 4] OP_PUSHFALSE
2b [ 8] OP_GREF 186
2c [10] OP_LREF 1
2d [17] OP_CALL 2
2e [11] OP_LSET 6
2f [ 4] OP_PUSHFALSE
30 [ 8] OP_GREF 18
31 [10] OP_LREF 2
32 [ 7] OP_PUSHCONST 1
33 [17] OP_CALL 2
34 [ 2] OP_PUSHNIL
35 [ 8] OP_GREF 18
36 [10] OP_LREF 2
37 [ 7] OP_PUSHCONST 2
38 [17] OP_CALL 2
39 [10] OP_LREF 4
3a [10] OP_LREF 2
3b [ 7] OP_PUSHCONST 3
3c [17] OP_CALL 2
3d [ 8] OP_GREF 122
3e [ 8] OP_GREF 7
3f [10] OP_LREF 5
40 [17] OP_CALL 3
41 [10] OP_LREF 6
42 [21] OP_CONS
43 [21] OP_CONS
44 [17] OP_CALL 4
45 [10] OP_LREF 4
46 [ 8] OP_GREF 122
47 [ 8] OP_GREF 12
48 [10] OP_LREF 5
49 [17] OP_CALL 3
4a [21] OP_CONS
4b [18] OP_TAILCALL 5
== end
[ 8] OP_GREF 124
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))))
cfunc = 0x7ffff7475317
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((bindings (cadr form)) (body (cddr form))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 1c
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))))
cfunc = 0x7ffff7475317
== end
[11] OP_LSET 5
[ 4] OP_PUSHFALSE
[ 8] OP_GREF 14
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615ec0>
argv = ((let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))))
cfunc = 0x7ffff74753bd
== end
[11] OP_LSET 6
[ 4] OP_PUSHFALSE
[10] OP_LREF 2
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1230>
argv = (lambda)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... lambda
[ 8] OP_GREF 122
[ 8] OP_GREF 7
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x616080> ((bindings (cadr form)) (body (cddr form))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((bindings (cadr form)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#<senv 0x6c14b0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#<proc 0x6c1230>
#<proc 0x6c11b0>
#<undef>
((bindings (cadr form)) (body (cddr form)))
((let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
((body (cddr form)))
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((body (cddr form)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#<senv 0x6c14b0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#<proc 0x6c1230>
#<proc 0x6c11b0>
#<undef>
((bindings (cadr form)) (body (cddr form)))
((let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
()
[10] OP_LREF 6
[21] OP_CONS
[21] OP_CONS
[ 8] OP_GREF 122
[ 8] OP_GREF 12
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x615f40> ((bindings (cadr form)) (body (cddr form))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((bindings (cadr form)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#<senv 0x6c14b0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#<proc 0x6c1230>
#<proc 0x6c11b0>
#<undef>
((bindings (cadr form)) (body (cddr form)))
((let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#f
#f
(lambda (bindings body) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#<proc 0x62a6a0>
#<proc 0x615f40>
((body (cddr form)))
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((body (cddr form)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#<senv 0x6c14b0>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#<proc 0x6c1230>
#<proc 0x6c11b0>
#<undef>
((bindings (cadr form)) (body (cddr form)))
((let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#f
#f
(lambda (bindings body) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#<proc 0x62a6a0>
#<proc 0x615f40>
()
[21] OP_CONS
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (body (cddr form))) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
#<senv 0x6c14b0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
((lambda (bindings body) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))) (cadr form) (cddr form))
[macroexpand] expanding... ((lambda (bindings body) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))) (cadr form) (cddr form))
[macroexpand] expanding... (lambda (bindings body) (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
[macroexpand] expanding... let
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd7a0>
argv = ((let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))) #<senv 0x6c2f10> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd500>
argv = ((let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))) #<proc 0x6c2c90> #<proc 0x6c2c10>)
irep = ## irep 0x6cc290
[clen = 76, argc = 4, localc = 3]
:: cv_num = 0
00 [ 8] OP_GREF 124
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [17] OP_CALL 2
05 [15] OP_JMPIF 1c
06 [ 8] OP_GREF 12
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [11] OP_LSET 5
0a [ 4] OP_PUSHFALSE
0b [ 8] OP_GREF 14
0c [10] OP_LREF 1
0d [17] OP_CALL 2
0e [11] OP_LSET 6
0f [ 4] OP_PUSHFALSE
10 [10] OP_LREF 2
11 [ 7] OP_PUSHCONST 0
12 [17] OP_CALL 2
13 [ 8] OP_GREF 122
14 [ 8] OP_GREF 7
15 [10] OP_LREF 5
16 [17] OP_CALL 3
17 [10] OP_LREF 6
18 [21] OP_CONS
19 [21] OP_CONS
1a [ 8] OP_GREF 122
1b [ 8] OP_GREF 12
1c [10] OP_LREF 5
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [19] OP_RET
20 [14] OP_JMP 2c
21 [ 8] OP_GREF 12
22 [10] OP_LREF 1
23 [17] OP_CALL 2
24 [11] OP_LSET 4
25 [ 4] OP_PUSHFALSE
26 [ 8] OP_GREF 182
27 [10] OP_LREF 1
28 [17] OP_CALL 2
29 [11] OP_LSET 5
2a [ 4] OP_PUSHFALSE
2b [ 8] OP_GREF 186
2c [10] OP_LREF 1
2d [17] OP_CALL 2
2e [11] OP_LSET 6
2f [ 4] OP_PUSHFALSE
30 [ 8] OP_GREF 18
31 [10] OP_LREF 2
32 [ 7] OP_PUSHCONST 1
33 [17] OP_CALL 2
34 [ 2] OP_PUSHNIL
35 [ 8] OP_GREF 18
36 [10] OP_LREF 2
37 [ 7] OP_PUSHCONST 2
38 [17] OP_CALL 2
39 [10] OP_LREF 4
3a [10] OP_LREF 2
3b [ 7] OP_PUSHCONST 3
3c [17] OP_CALL 2
3d [ 8] OP_GREF 122
3e [ 8] OP_GREF 7
3f [10] OP_LREF 5
40 [17] OP_CALL 3
41 [10] OP_LREF 6
42 [21] OP_CONS
43 [21] OP_CONS
44 [17] OP_CALL 4
45 [10] OP_LREF 4
46 [ 8] OP_GREF 122
47 [ 8] OP_GREF 12
48 [10] OP_LREF 5
49 [17] OP_CALL 3
4a [21] OP_CONS
4b [18] OP_TAILCALL 5
== end
[ 8] OP_GREF 124
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
cfunc = 0x7ffff7475317
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 1c
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
cfunc = 0x7ffff7475317
== end
[11] OP_LSET 5
[ 4] OP_PUSHFALSE
[ 8] OP_GREF 14
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615ec0>
argv = ((let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))))
cfunc = 0x7ffff74753bd
== end
[11] OP_LSET 6
[ 4] OP_PUSHFALSE
[10] OP_LREF 2
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2c90>
argv = (lambda)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... lambda
[ 8] OP_GREF 122
[ 8] OP_GREF 7
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x616080> ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#<senv 0x6c2f10>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#<proc 0x6c2c90>
#<proc 0x6c2c10>
#<undef>
((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings)))
((quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
((initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings)))
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#<senv 0x6c2f10>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#<proc 0x6c2c90>
#<proc 0x6c2c10>
#<undef>
((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings)))
((quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
()
[10] OP_LREF 6
[21] OP_CONS
[21] OP_CONS
[ 8] OP_GREF 122
[ 8] OP_GREF 12
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x615f40> ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#<senv 0x6c2f10>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#<proc 0x6c2c90>
#<proc 0x6c2c10>
#<undef>
((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings)))
((quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#f
#f
(lambda (vars initials) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#<proc 0x62a6a0>
#<proc 0x615f40>
((initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings)))
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#<senv 0x6c2f10>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#<proc 0x6c2c90>
#<proc 0x6c2c10>
#<undef>
((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings)))
((quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#f
#f
(lambda (vars initials) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#<proc 0x62a6a0>
#<proc 0x615f40>
()
[21] OP_CONS
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cd7a0>
(let ((vars (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))) (initials (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
#<senv 0x6c2f10>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
((lambda (vars initials) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))) (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings)) (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))
[macroexpand] expanding... ((lambda (vars initials) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))) (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings)) (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings))
[macroexpand] expanding... (lambda (vars initials) (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))) #<senv 0x6c2350> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))) #<proc 0x6c20d0> #<proc 0x6c2050>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c1d50>
argv = (((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c20d0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c2050>
argv = (unquote@270 (unquote (r (quote let))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1cd0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c20d0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c2050>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c20d0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c20d0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (r (quote let))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c20d0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote (((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (r (quote let))) ((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
#<senv 0x6c2350>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote (((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote (((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (r (quote let))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (r (quote let)))) #<senv 0x6c2350> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (r (quote let)))) #<proc 0x6c5600> #<proc 0x6c5580>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (r (quote let)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c5280>
argv = ((unquote (r (quote let))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c5600>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c5580>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (r (quote let))))
#<senv 0x6c2350>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(r (quote let))
[macroexpand] expanding... (r (quote let))
[macroexpand] expanding... r
[macroexpand] expanding... (quote let)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote (((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))) #<senv 0x6c2350> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))) #<proc 0x6c4ea0> #<proc 0x6c4e20>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c4b20>
argv = ((((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4ea0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c4e20>
argv = (unquote@270 ((unquote-splicing vars)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing vars)))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4aa0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4ea0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c4e20>
argv = (unquote-splicing@271 (unquote-splicing vars))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4ea0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4ea0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote-splicing vars)))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4ea0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote ((unquote-splicing vars))) (quasiquote ((unquote-splicing initials) (unquote-splicing body))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (((unquote-splicing vars)) (unquote-splicing initials) (unquote-splicing body)))
#<senv 0x6c2350>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote ((unquote-splicing vars))) (quasiquote ((unquote-splicing initials) (unquote-splicing body))))
[macroexpand] expanding... (cons@7 (quasiquote ((unquote-splicing vars))) (quasiquote ((unquote-splicing initials) (unquote-splicing body))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote ((unquote-splicing vars)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote-splicing vars))) #<senv 0x6c2350> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote-splicing vars))) #<proc 0x6c4540> #<proc 0x6c44c0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote-splicing vars))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c41c0>
argv = (((unquote-splicing vars)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote-splicing vars)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing vars)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4540>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c44c0>
argv = (unquote@270 (unquote-splicing vars))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote-splicing vars))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4140>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4540>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote-splicing vars)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c44c0>
argv = (unquote-splicing@271 unquote-splicing)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote-splicing
[15] OP_JMPIF 1a
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4540>
argv = (append)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... append
[ 8] OP_GREF 181
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d3b0>
argv = (((unquote-splicing vars)))
irep = ## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((unquote-splicing vars)))
cfunc = 0x7ffff747536a
== end
[22] OP_CAR
[19] OP_RET
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 5
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4540>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (append@21 vars (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote-splicing vars)))
#<senv 0x6c2350>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(append@21 vars (quasiquote ()))
[macroexpand] expanding... (append@21 vars (quasiquote ()))
[macroexpand] expanding... append@21
[macroexpand] expanding... vars
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6c2350> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6c3c60> #<proc 0x6c3be0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c38e0>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6c2350>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote-splicing initials) (unquote-splicing body)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote-splicing initials) (unquote-splicing body))) #<senv 0x6c2350> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote-splicing initials) (unquote-splicing body))) #<proc 0x6c3500> #<proc 0x6c3480>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote-splicing initials) (unquote-splicing body))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c7bc0>
argv = (((unquote-splicing initials) (unquote-splicing body)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3500>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c3480>
argv = (unquote@270 (unquote-splicing initials))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote-splicing initials))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c7f20>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3500>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c3480>
argv = (unquote-splicing@271 unquote-splicing)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote-splicing
[15] OP_JMPIF 1a
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3500>
argv = (append)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... append
[ 8] OP_GREF 181
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d3b0>
argv = (((unquote-splicing initials) (unquote-splicing body)))
irep = ## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((unquote-splicing initials) (unquote-splicing body)))
cfunc = 0x7ffff747536a
== end
[22] OP_CAR
[19] OP_RET
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 5
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3500>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote-splicing body)))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (append@21 initials (quasiquote ((unquote-splicing body))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote-splicing initials) (unquote-splicing body)))
#<senv 0x6c2350>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(append@21 initials (quasiquote ((unquote-splicing body))))
[macroexpand] expanding... (append@21 initials (quasiquote ((unquote-splicing body))))
[macroexpand] expanding... append@21
[macroexpand] expanding... initials
[macroexpand] expanding... (quasiquote ((unquote-splicing body)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote-splicing body))) #<senv 0x6c2350> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote-splicing body))) #<proc 0x6c88c0> #<proc 0x6c90a0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote-splicing body))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c8da0>
argv = (((unquote-splicing body)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c88c0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c90a0>
argv = (unquote@270 (unquote-splicing body))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote-splicing body))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c8d20>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c88c0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c90a0>
argv = (unquote-splicing@271 unquote-splicing)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote-splicing
[15] OP_JMPIF 1a
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c88c0>
argv = (append)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... append
[ 8] OP_GREF 181
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d3b0>
argv = (((unquote-splicing body)))
irep = ## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((unquote-splicing body)))
cfunc = 0x7ffff747536a
== end
[22] OP_CAR
[19] OP_RET
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 5
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c88c0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (append@21 body (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote-splicing body)))
#<senv 0x6c2350>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(append@21 body (quasiquote ()))
[macroexpand] expanding... (append@21 body (quasiquote ()))
[macroexpand] expanding... append@21
[macroexpand] expanding... body
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6c2350> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6c9820> #<proc 0x6c9900>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6ca230>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6c2350>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... vars
[macroexpand] expanding... initials
[macroexpand] expanding... ()
[macroexpand] expanding... (map (lambda (v) (quasiquote ((unquote v) #f))) (map car bindings))
[macroexpand] expanding... map
[macroexpand] expanding... (lambda (v) (quasiquote ((unquote v) #f)))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote v) #f))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote v) #f)) #<senv 0x6cac70> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote v) #f)) #<proc 0x6cb890> #<proc 0x6cb810>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote v) #f)))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cb510>
argv = (((unquote v) #f))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote v) #f))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote v) #f))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6cb810>
argv = (unquote@270 (unquote v))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote v))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb490>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote v) #f))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6cb810>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote v))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (#f))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote v)) (quasiquote (#f)))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote v) #f))
#<senv 0x6cac70>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote v)) (quasiquote (#f)))
[macroexpand] expanding... (cons@7 (quasiquote (unquote v)) (quasiquote (#f)))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote v))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote v)) #<senv 0x6cac70> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote v)) #<proc 0x6caf30> #<proc 0x6caeb0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote v)))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cc090>
argv = ((unquote v))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote v))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote v))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6caf30>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6caeb0>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote v))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote v))
#<senv 0x6cac70>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
v
[macroexpand] expanding... v
[macroexpand] expanding... (quasiquote (#f))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (#f)) #<senv 0x6cac70> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (#f)) #<proc 0x6cbdd0> #<proc 0x6cbd50>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (#f)))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cc650>
argv = ((#f))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((#f))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((#f))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cbdd0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6cbd50>
argv = (unquote@270 #f)
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (#f)
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cc5d0>
argv = (#f)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[10] OP_LREF 1
[19] OP_RET
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cbdd0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cbdd0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote #f)
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cbdd0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote #f) (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (#f))
#<senv 0x6cac70>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote #f) (quasiquote ()))
[macroexpand] expanding... (cons@7 (quasiquote #f) (quasiquote ()))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote #f)
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote #f) #<senv 0x6cac70> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote #f) #<proc 0x6ccc80> #<proc 0x6ccc00>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote #f))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cc900>
argv = (#f)
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (#f)
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (#f)
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote #f)
#<senv 0x6cac70>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
#f
[macroexpand] expanding... #f
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6cac70> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6cd400> #<proc 0x6cd380>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cd080>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6cac70>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... v
[macroexpand] expanding... ()
[macroexpand] expanding... (map car bindings)
[macroexpand] expanding... map
[macroexpand] expanding... car
[macroexpand] expanding... bindings
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (map (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))) bindings)
[macroexpand] expanding... map
[macroexpand] expanding... (lambda (v) (quasiquote ((unquote (r (quote set!))) (unquote-splicing v))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (r (quote set!))) (unquote-splicing v))) #<senv 0x6cde60> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (r (quote set!))) (unquote-splicing v))) #<proc 0x6cdbe0> #<proc 0x6cdb60>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (r (quote set!))) (unquote-splicing v))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6ce340>
argv = (((unquote (r (quote set!))) (unquote-splicing v)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (r (quote set!))) (unquote-splicing v)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote set!))) (unquote-splicing v)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cdbe0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6cdb60>
argv = (unquote@270 (unquote (r (quote set!))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote set!))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce2c0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cdbe0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (r (quote set!))) (unquote-splicing v)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6cdb60>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cdbe0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cdbe0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (r (quote set!))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cdbe0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote-splicing v)))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (r (quote set!)))) (quasiquote ((unquote-splicing v))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (r (quote set!))) (unquote-splicing v)))
#<senv 0x6cde60>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (r (quote set!)))) (quasiquote ((unquote-splicing v))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (r (quote set!)))) (quasiquote ((unquote-splicing v))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (r (quote set!))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (r (quote set!)))) #<senv 0x6cde60> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (r (quote set!)))) #<proc 0x6cea60> #<proc 0x6ce9e0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (r (quote set!)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d6270>
argv = ((unquote (r (quote set!))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (r (quote set!))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote set!))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cea60>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6ce9e0>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (r (quote set!))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (r (quote set!))))
#<senv 0x6cde60>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(r (quote set!))
[macroexpand] expanding... (r (quote set!))
[macroexpand] expanding... r
[macroexpand] expanding... (quote set!)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote-splicing v)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote-splicing v))) #<senv 0x6cde60> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote-splicing v))) #<proc 0x6d5e90> #<proc 0x6d5e10>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote-splicing v))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d5b10>
argv = (((unquote-splicing v)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote-splicing v)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing v)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d5e90>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6d5e10>
argv = (unquote@270 (unquote-splicing v))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote-splicing v))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d5a90>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d5e90>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote-splicing v)))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6d5e10>
argv = (unquote-splicing@271 unquote-splicing)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote-splicing
[15] OP_JMPIF 1a
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d5e90>
argv = (append)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... append
[ 8] OP_GREF 181
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d3b0>
argv = (((unquote-splicing v)))
irep = ## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((unquote-splicing v)))
cfunc = 0x7ffff747536a
== end
[22] OP_CAR
[19] OP_RET
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 5
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d5e90>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (append@21 v (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote-splicing v)))
#<senv 0x6cde60>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(append@21 v (quasiquote ()))
[macroexpand] expanding... (append@21 v (quasiquote ()))
[macroexpand] expanding... append@21
[macroexpand] expanding... v
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6cde60> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6d55b0> #<proc 0x6d5530>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d7310>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6cde60>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... v
[macroexpand] expanding... ()
[macroexpand] expanding... bindings
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... bindings
[macroexpand] expanding... body
[macroexpand] expanding... ()
[macroexpand] expanding... (cadr form)
[macroexpand] expanding... cadr
[macroexpand] expanding... form
[macroexpand] expanding... ()
[macroexpand] expanding... (cddr form)
[macroexpand] expanding... cddr
[macroexpand] expanding... form
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... form
[macroexpand] expanding... r
[macroexpand] expanding... compare
[macroexpand] expanding... ()
[macroexpand] expanding... ()
after expand:
(er-macro-transformer@172 (lambda (form@272 r@273 compare@274) ((lambda (bindings@275 body@276) ((lambda (vars@277 initials@278) (cons@7 (r@273 (quote let)) (cons@7 (append@21 vars@277 ()) (append@21 initials@278 (append@21 body@276 ()))))) (map@123 (lambda (v@279) (cons@7 v@279 (cons@7 #f ()))) (map@123 car@8 bindings@275)) (map@123 (lambda (v@280) (cons@7 (r@273 (quote set!)) (append@21 v@280 ()))) bindings@275))) (cadr@13 form@272) (cddr@15 form@272))))
## macroexpand completed
ai = 25
(er-macro-transformer@172 (lambda (form@272 r@273 compare@274) ((lambda (bindings@275 body@276) ((lambda (vars@277 initials@278) (cons@7 (r@273 (quote let)) (cons@7 (append@21 vars@277 ()) (append@21 initials@278 (append@21 body@276 ()))))) (map@123 (lambda (v@279) (cons@7 v@279 (cons@7 #f ()))) (map@123 car@8 bindings@275)) (map@123 (lambda (v@280) (cons@7 (r@273 (quote set!)) (append@21 v@280 ()))) bindings@275))) (cadr@13 form@272) (cddr@15 form@272))))gc run!
## analyzer completed
ai = 27
(tail-call (ref 0 er-macro-transformer@172) (lambda (form@272 r@273 compare@274) () #f (r@273) (tail-call (lambda (bindings@275 body@276) () #f (body@276) (tail-call (lambda (vars@277 initials@278) () #f () (return (cons (call (ref 2 r@273) (quote let)) (cons (call (ref 3 append@21) (ref 0 vars@277) (quote ())) (call (ref 3 append@21) (ref 0 initials@278) (call (ref 3 append@21) (ref 1 body@276) (quote ()))))))) (call (ref 2 map@123) (lambda (v@279) () #f () (return (cons (ref 0 v@279) (cons (quote #f) (quote ()))))) (call (ref 2 map@123) (ref 2 car@8) (ref 0 bindings@275))) (call (ref 2 map@123) (lambda (v@280) () #f () (return (cons (call (ref 2 r@273) (quote set!)) (call (ref 3 append@21) (ref 0 v@280) (quote ()))))) (ref 0 bindings@275)))) (call (ref 1 cadr@13) (ref 0 form@272)) (call (ref 1 cddr@15) (ref 0 form@272)))))gc run!
## resolver completed
ai = 28
## codegen completed
(tail-call (gref 171) (lambda (form@272 r@273 compare@274) () #f (r@273) (tail-call (lambda (bindings@275 body@276) () #f (body@276) (tail-call (lambda (vars@277 initials@278) () #f () (return (cons (call (cref 2 0) (quote let)) (cons (call (gref 20) (lref 1) (quote ())) (call (gref 20) (lref 2) (call (gref 20) (cref 1 0) (quote ()))))))) (call (gref 122) (lambda (v@279) () #f () (return (cons (lref 1) (cons (quote #f) (quote ()))))) (call (gref 122) (gref 7) (lref 1))) (call (gref 122) (lambda (v@280) () #f () (return (cons (call (cref 2 0) (quote set!)) (call (gref 20) (lref 1) (quote ()))))) (lref 1)))) (call (gref 12) (lref 1)) (call (gref 14) (lref 1)))))## irep 0x6c1630
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6c16b0
[clen = 8, argc = 4, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [ 8] OP_GREF 14
05 [10] OP_LREF 1
06 [17] OP_CALL 2
07 [18] OP_TAILCALL 3
## irep 0x6c1450
[clen = 13, argc = 3, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 122
02 [20] OP_LAMBDA 1
03 [ 8] OP_GREF 122
04 [ 8] OP_GREF 7
05 [10] OP_LREF 1
06 [17] OP_CALL 3
07 [17] OP_CALL 3
08 [ 8] OP_GREF 122
09 [20] OP_LAMBDA 2
0a [10] OP_LREF 1
0b [17] OP_CALL 3
0c [18] OP_TAILCALL 3
## irep 0x6c1230
[clen = 17, argc = 3, localc = 0]
:: cv_num = 0
00 [12] OP_CREF 2 0
01 [ 7] OP_PUSHCONST 0
02 [17] OP_CALL 2
03 [ 8] OP_GREF 20
04 [10] OP_LREF 1
05 [ 2] OP_PUSHNIL
06 [17] OP_CALL 3
07 [ 8] OP_GREF 20
08 [10] OP_LREF 2
09 [ 8] OP_GREF 20
0a [12] OP_CREF 1 0
0b [ 2] OP_PUSHNIL
0c [17] OP_CALL 3
0d [17] OP_CALL 3
0e [21] OP_CONS
0f [21] OP_CONS
10 [19] OP_RET
## irep 0x6c11b0
[clen = 6, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [ 4] OP_PUSHFALSE
02 [ 2] OP_PUSHNIL
03 [21] OP_CONS
04 [21] OP_CONS
05 [19] OP_RET
## irep 0x6c14d0
[clen = 9, argc = 2, localc = 0]
:: cv_num = 0
00 [12] OP_CREF 2 0
01 [ 7] OP_PUSHCONST 0
02 [17] OP_CALL 2
03 [ 8] OP_GREF 20
04 [10] OP_LREF 1
05 [ 2] OP_PUSHNIL
06 [17] OP_CALL 3
07 [21] OP_CONS
08 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c19f0>
argv = ()
irep = ## irep 0x6c1630
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6c16b0
[clen = 8, argc = 4, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [ 8] OP_GREF 14
05 [10] OP_LREF 1
06 [17] OP_CALL 2
07 [18] OP_TAILCALL 3
## irep 0x6c1450
[clen = 13, argc = 3, localc = 0]
:: cv_num = 1
: 2 -> 0
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 122
02 [20] OP_LAMBDA 1
03 [ 8] OP_GREF 122
04 [ 8] OP_GREF 7
05 [10] OP_LREF 1
06 [17] OP_CALL 3
07 [17] OP_CALL 3
08 [ 8] OP_GREF 122
09 [20] OP_LAMBDA 2
0a [10] OP_LREF 1
0b [17] OP_CALL 3
0c [18] OP_TAILCALL 3
## irep 0x6c1230
[clen = 17, argc = 3, localc = 0]
:: cv_num = 0
00 [12] OP_CREF 2 0
01 [ 7] OP_PUSHCONST 0
02 [17] OP_CALL 2
03 [ 8] OP_GREF 20
04 [10] OP_LREF 1
05 [ 2] OP_PUSHNIL
06 [17] OP_CALL 3
07 [ 8] OP_GREF 20
08 [10] OP_LREF 2
09 [ 8] OP_GREF 20
0a [12] OP_CREF 1 0
0b [ 2] OP_PUSHNIL
0c [17] OP_CALL 3
0d [17] OP_CALL 3
0e [21] OP_CONS
0f [21] OP_CONS
10 [19] OP_RET
## irep 0x6c11b0
[clen = 6, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [ 4] OP_PUSHFALSE
02 [ 2] OP_PUSHNIL
03 [21] OP_CONS
04 [21] OP_CONS
05 [19] OP_RET
## irep 0x6c14d0
[clen = 9, argc = 2, localc = 0]
:: cv_num = 0
00 [12] OP_CREF 2 0
01 [ 7] OP_PUSHCONST 0
02 [17] OP_CALL 2
03 [ 8] OP_GREF 20
04 [10] OP_LREF 1
05 [ 2] OP_PUSHNIL
06 [17] OP_CALL 3
07 [21] OP_CONS
08 [19] OP_RET
== end
[ 8] OP_GREF 171
[20] OP_LAMBDA 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6294e0>
argv = (#<proc 0x6c1970>)
cfunc = 0x7ffff7470c7f
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand:
#f
## macroexpand completed
ai = 24
## analyzer completed
ai = 26
## resolver completed
ai = 27
## codegen completed
#f(return (quote #f))(return (quote #f))## irep 0x6c2830
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c27f0>
argv = ()
irep = ## irep 0x6c2830
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 26
# input expression
ai = 26
(define-syntax letrec (er-macro-transformer (lambda (form rename compare) (quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form)))))))before expand:
(define-syntax letrec (er-macro-transformer (lambda (form rename compare) (quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form)))))))
[macroexpand] expanding... (define-syntax letrec (er-macro-transformer (lambda (form rename compare) (quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form)))))))
[macroexpand] expanding... define-syntax
ai = 26
# input expression
ai = 26
(er-macro-transformer (lambda (form rename compare) (quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))))before expand:
(er-macro-transformer (lambda (form rename compare) (quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))))
[macroexpand] expanding... (er-macro-transformer (lambda (form rename compare) (quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))))
[macroexpand] expanding... er-macro-transformer
[macroexpand] expanding... (lambda (form rename compare) (quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form)))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form)))) #<senv 0x6c2af0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form)))) #<proc 0x6c2e70> #<proc 0x6c31f0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c3b80>
argv = (((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2e70>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c31f0>
argv = (unquote@270 (unquote (rename (quote letrec*))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (rename (quote letrec*))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3b00>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2e70>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c31f0>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2e70>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2e70>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (rename (quote letrec*))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c2e70>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote-splicing (cdr form))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (rename (quote letrec*)))) (quasiquote ((unquote-splicing (cdr form)))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (rename (quote letrec*))) (unquote-splicing (cdr form))))
#<senv 0x6c2af0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (rename (quote letrec*)))) (quasiquote ((unquote-splicing (cdr form)))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (rename (quote letrec*)))) (quasiquote ((unquote-splicing (cdr form)))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (rename (quote letrec*))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (rename (quote letrec*)))) #<senv 0x6c2af0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (rename (quote letrec*)))) #<proc 0x6c4600> #<proc 0x6c4580>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (rename (quote letrec*)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c4920>
argv = ((unquote (rename (quote letrec*))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (rename (quote letrec*))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (rename (quote letrec*))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4600>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c4580>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (rename (quote letrec*))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (rename (quote letrec*))))
#<senv 0x6c2af0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(rename (quote letrec*))
[macroexpand] expanding... (rename (quote letrec*))
[macroexpand] expanding... rename
[macroexpand] expanding... (quote letrec*)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote-splicing (cdr form))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote-splicing (cdr form)))) #<senv 0x6c2af0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote-splicing (cdr form)))) #<proc 0x6c5300> #<proc 0x6c5280>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote-splicing (cdr form)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c8260>
argv = (((unquote-splicing (cdr form))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote-splicing (cdr form))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing (cdr form))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c5300>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c5280>
argv = (unquote@270 (unquote-splicing (cdr form)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote-splicing (cdr form)))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c81e0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c5300>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote-splicing (cdr form))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c5280>
argv = (unquote-splicing@271 unquote-splicing)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote-splicing
[15] OP_JMPIF 1a
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c5300>
argv = (append)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... append
[ 8] OP_GREF 181
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d3b0>
argv = (((unquote-splicing (cdr form))))
irep = ## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((unquote-splicing (cdr form))))
cfunc = 0x7ffff747536a
== end
[22] OP_CAR
[19] OP_RET
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 5
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c5300>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (append@21 (cdr form) (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote-splicing (cdr form))))
#<senv 0x6c2af0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(append@21 (cdr form) (quasiquote ()))
[macroexpand] expanding... (append@21 (cdr form) (quasiquote ()))
[macroexpand] expanding... append@21
[macroexpand] expanding... (cdr form)
[macroexpand] expanding... cdr
[macroexpand] expanding... form
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6c2af0> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6c8c80> #<proc 0x6c9520>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6ca3f0>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6c2af0>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... form
[macroexpand] expanding... rename
[macroexpand] expanding... compare
[macroexpand] expanding... ()
[macroexpand] expanding... ()
after expand:
(er-macro-transformer@172 (lambda (form@281 rename@282 compare@283) (cons@7 (rename@282 (quote letrec*)) (append@21 (cdr@9 form@281) ()))))
## macroexpand completed
ai = 27
## analyzer completed
ai = 29
(er-macro-transformer@172 (lambda (form@281 rename@282 compare@283) (cons@7 (rename@282 (quote letrec*)) (append@21 (cdr@9 form@281) ()))))(tail-call (ref 0 er-macro-transformer@172) (lambda (form@281 rename@282 compare@283) () #f () (return (cons (call (ref 0 rename@282) (quote letrec*)) (call (ref 1 append@21) (cdr (ref 0 form@281)) (quote ()))))))gc run!
## resolver completed
ai = 30
## codegen completed
(tail-call (gref 171) (lambda (form@281 rename@282 compare@283) () #f () (return (cons (call (lref 2) (quote letrec*)) (call (gref 20) (cdr (lref 1)) (quote ()))))))## irep 0x6c1830
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6c1630
[clen = 10, argc = 4, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 2
01 [ 7] OP_PUSHCONST 0
02 [17] OP_CALL 2
03 [ 8] OP_GREF 20
04 [10] OP_LREF 1
05 [23] OP_CDR
06 [ 2] OP_PUSHNIL
07 [17] OP_CALL 3
08 [21] OP_CONS
09 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c17f0>
argv = ()
irep = ## irep 0x6c1830
[clen = 3, argc = 1, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 171
01 [20] OP_LAMBDA 0
02 [18] OP_TAILCALL 2
## irep 0x6c1630
[clen = 10, argc = 4, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 2
01 [ 7] OP_PUSHCONST 0
02 [17] OP_CALL 2
03 [ 8] OP_GREF 20
04 [10] OP_LREF 1
05 [23] OP_CDR
06 [ 2] OP_PUSHNIL
07 [17] OP_CALL 3
08 [21] OP_CONS
09 [19] OP_RET
== end
[ 8] OP_GREF 171
[20] OP_LAMBDA 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6294e0>
argv = (#<proc 0x6c1770>)
cfunc = 0x7ffff7470c7f
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand:
#f
## macroexpand completed
ai = 26
## analyzer completed
ai = 28
## resolver completed
ai = 29
## codegen completed
#f(return (quote #f))(return (quote #f))## irep 0x6c20f0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
# compilation finished
### booting VM... ###
[17] OP_CALL 1
== calling proc...
proc = #<proc 0x6c20b0>
argv = ()
irep = ## irep 0x6c20f0
[clen = 2, argc = 1, localc = 0]
:: cv_num = 0
00 [ 4] OP_PUSHFALSE
01 [19] OP_RET
== end
[ 4] OP_PUSHFALSE
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
ai = 28
# input expression
ai = 28
(define-syntax do (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))))))before expand:
(define-syntax do (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))))))
[macroexpand] expanding... (define-syntax do (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))))))
[macroexpand] expanding... define-syntax
ai = 28
# input expression
ai = 28
(er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))))before expand:
(er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))))
[macroexpand] expanding... (er-macro-transformer (lambda (form r compare) (let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))))
[macroexpand] expanding... er-macro-transformer
[macroexpand] expanding... (lambda (form r compare) (let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
[macroexpand] expanding... let
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd7a0>
argv = ((let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))) #<senv 0x6c2010> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6cd500>
argv = ((let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))) #<proc 0x6c1d90> #<proc 0x6c1d10>)
irep = ## irep 0x6cc290
[clen = 76, argc = 4, localc = 3]
:: cv_num = 0
00 [ 8] OP_GREF 124
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [17] OP_CALL 2
05 [15] OP_JMPIF 1c
06 [ 8] OP_GREF 12
07 [10] OP_LREF 1
08 [17] OP_CALL 2
09 [11] OP_LSET 5
0a [ 4] OP_PUSHFALSE
0b [ 8] OP_GREF 14
0c [10] OP_LREF 1
0d [17] OP_CALL 2
0e [11] OP_LSET 6
0f [ 4] OP_PUSHFALSE
10 [10] OP_LREF 2
11 [ 7] OP_PUSHCONST 0
12 [17] OP_CALL 2
13 [ 8] OP_GREF 122
14 [ 8] OP_GREF 7
15 [10] OP_LREF 5
16 [17] OP_CALL 3
17 [10] OP_LREF 6
18 [21] OP_CONS
19 [21] OP_CONS
1a [ 8] OP_GREF 122
1b [ 8] OP_GREF 12
1c [10] OP_LREF 5
1d [17] OP_CALL 3
1e [21] OP_CONS
1f [19] OP_RET
20 [14] OP_JMP 2c
21 [ 8] OP_GREF 12
22 [10] OP_LREF 1
23 [17] OP_CALL 2
24 [11] OP_LSET 4
25 [ 4] OP_PUSHFALSE
26 [ 8] OP_GREF 182
27 [10] OP_LREF 1
28 [17] OP_CALL 2
29 [11] OP_LSET 5
2a [ 4] OP_PUSHFALSE
2b [ 8] OP_GREF 186
2c [10] OP_LREF 1
2d [17] OP_CALL 2
2e [11] OP_LSET 6
2f [ 4] OP_PUSHFALSE
30 [ 8] OP_GREF 18
31 [10] OP_LREF 2
32 [ 7] OP_PUSHCONST 1
33 [17] OP_CALL 2
34 [ 2] OP_PUSHNIL
35 [ 8] OP_GREF 18
36 [10] OP_LREF 2
37 [ 7] OP_PUSHCONST 2
38 [17] OP_CALL 2
39 [10] OP_LREF 4
3a [10] OP_LREF 2
3b [ 7] OP_PUSHCONST 3
3c [17] OP_CALL 2
3d [ 8] OP_GREF 122
3e [ 8] OP_GREF 7
3f [10] OP_LREF 5
40 [17] OP_CALL 3
41 [10] OP_LREF 6
42 [21] OP_CONS
43 [21] OP_CONS
44 [17] OP_CALL 4
45 [10] OP_LREF 4
46 [ 8] OP_GREF 122
47 [ 8] OP_GREF 12
48 [10] OP_LREF 5
49 [17] OP_CALL 3
4a [21] OP_CONS
4b [18] OP_TAILCALL 5
== end
[ 8] OP_GREF 124
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))))
cfunc = 0x7ffff7475317
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 1c
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))))
cfunc = 0x7ffff7475317
== end
[11] OP_LSET 5
[ 4] OP_PUSHFALSE
[ 8] OP_GREF 14
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615ec0>
argv = ((let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))))
cfunc = 0x7ffff74753bd
== end
[11] OP_LSET 6
[ 4] OP_PUSHFALSE
[10] OP_LREF 2
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c1d90>
argv = (lambda)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... lambda
[ 8] OP_GREF 122
[ 8] OP_GREF 7
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x616080> ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((bindings (cadr form)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<senv 0x6c2010>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<proc 0x6c1d90>
#<proc 0x6c1d10>
#<undef>
((bindings (cadr form)) (finish (caddr form)) (body (cdddr form)))
((quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
((finish (caddr form)) (body (cdddr form)))
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((finish (caddr form)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<senv 0x6c2010>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<proc 0x6c1d90>
#<proc 0x6c1d10>
#<undef>
((bindings (cadr form)) (finish (caddr form)) (body (cdddr form)))
((quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
((body (cdddr form)))
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616080>
argv = ((body (cdddr form)))
cfunc = 0x7ffff747521e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<senv 0x6c2010>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<proc 0x6c1d90>
#<proc 0x6c1d10>
#<undef>
((bindings (cadr form)) (finish (caddr form)) (body (cdddr form)))
((quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#f
#f
lambda
#<proc 0x62a6a0>
#<proc 0x616080>
()
[10] OP_LREF 6
[21] OP_CONS
[21] OP_CONS
[ 8] OP_GREF 122
[ 8] OP_GREF 12
[10] OP_LREF 5
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x62a6a0>
argv = (#<proc 0x615f40> ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))))
cfunc = 0x7ffff74778b2
== end
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((bindings (cadr form)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<senv 0x6c2010>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<proc 0x6c1d90>
#<proc 0x6c1d10>
#<undef>
((bindings (cadr form)) (finish (caddr form)) (body (cdddr form)))
((quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#f
#f
(lambda (bindings finish body) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<proc 0x62a6a0>
#<proc 0x615f40>
((finish (caddr form)) (body (cdddr form)))
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((finish (caddr form)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<senv 0x6c2010>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<proc 0x6c1d90>
#<proc 0x6c1d10>
#<undef>
((bindings (cadr form)) (finish (caddr form)) (body (cdddr form)))
((quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#f
#f
(lambda (bindings finish body) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<proc 0x62a6a0>
#<proc 0x615f40>
((body (cdddr form)))
### booting VM... ###
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((body (cdddr form)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6035f0
cibase = 0x6074f0
ci = 0x607550
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<senv 0x6c2010>
#<senv 0x6c92c0>
#<proc 0x6cd500>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<proc 0x6c1d90>
#<proc 0x6c1d10>
#<undef>
((bindings (cadr form)) (finish (caddr form)) (body (cdddr form)))
((quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#f
#f
(lambda (bindings finish body) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<proc 0x62a6a0>
#<proc 0x615f40>
()
[21] OP_CONS
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6cd7a0>
(let ((bindings (cadr form)) (finish (caddr form)) (body (cdddr form))) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
#<senv 0x6c2010>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
((lambda (bindings finish body) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))) (cadr form) (caddr form) (cdddr form))
[macroexpand] expanding... ((lambda (bindings finish body) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))) (cadr form) (caddr form) (cdddr form))
[macroexpand] expanding... (lambda (bindings finish body) (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))) #<proc 0x6c3580> #<proc 0x6c3500>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c4980>
argv = (((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3580>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c3500>
argv = (unquote@270 (unquote (r (quote let))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4900>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3580>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c3500>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3580>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3580>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (r (quote let))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3580>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote ((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (r (quote let))) (unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote ((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (r (quote let)))) (quasiquote ((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (r (quote let))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (r (quote let)))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (r (quote let)))) #<proc 0x6c43a0> #<proc 0x6c4320>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (r (quote let)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c4020>
argv = ((unquote (r (quote let))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c43a0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c4320>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (r (quote let))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (r (quote let))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(r (quote let))
[macroexpand] expanding... (r (quote let))
[macroexpand] expanding... r
[macroexpand] expanding... (quote let)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))) #<proc 0x6c3c40> #<proc 0x6c3bc0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c4c60>
argv = (((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3c40>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c3bc0>
argv = (unquote@270 (unquote (r (quote loop))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote loop))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4be0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3c40>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c3bc0>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3c40>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3c40>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (r (quote loop))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c3c40>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (r (quote loop)))) (quasiquote ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (r (quote loop))) (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (r (quote loop)))) (quasiquote ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (r (quote loop)))) (quasiquote ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (r (quote loop))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (r (quote loop)))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (r (quote loop)))) #<proc 0x6c5560> #<proc 0x6c54e0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (r (quote loop)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c51e0>
argv = ((unquote (r (quote loop))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (r (quote loop))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote loop))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c5560>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c54e0>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (r (quote loop))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (r (quote loop))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(r (quote loop))
[macroexpand] expanding... (r (quote loop))
[macroexpand] expanding... r
[macroexpand] expanding... (quote loop)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))) #<proc 0x6c4e00> #<proc 0x6c4d80>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c7e80>
argv = (((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4e00>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c4d80>
argv = (unquote@270 (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c83e0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4e00>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6c4d80>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4e00>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4e00>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c4e00>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (map (lambda (x) (list (car x) (cadr x))) bindings))) (quasiquote (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)) ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (map (lambda (x) (list (car x) (cadr x))) bindings))) (quasiquote (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (map (lambda (x) (list (car x) (cadr x))) bindings))) (quasiquote (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (map (lambda (x) (list (car x) (cadr x))) bindings))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (map (lambda (x) (list (car x) (cadr x))) bindings))) #<proc 0x6c8ce0> #<proc 0x6c8c60>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (map (lambda (x) (list (car x) (cadr x))) bindings))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6c94e0>
argv = ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6c8ce0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6c8c60>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (map (lambda (x) (list (car x) (cadr x))) bindings)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (map (lambda (x) (list (car x) (cadr x))) bindings)))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(map (lambda (x) (list (car x) (cadr x))) bindings)
[macroexpand] expanding... (map (lambda (x) (list (car x) (cadr x))) bindings)
[macroexpand] expanding... map
[macroexpand] expanding... (lambda (x) (list (car x) (cadr x)))
[macroexpand] expanding... lambda
[macroexpand] expanding... ()
[macroexpand] expanding... (list (car x) (cadr x))
[macroexpand] expanding... list
[macroexpand] expanding... (car x)
[macroexpand] expanding... car
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... (cadr x)
[macroexpand] expanding... cadr
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... x
[macroexpand] expanding... ()
[macroexpand] expanding... bindings
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))) #<proc 0x6ca5d0> #<proc 0x6ca7b0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cadb0>
argv = ((((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ca5d0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6ca7b0>
argv = (unquote@270 ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6caef0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ca5d0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6ca7b0>
argv = (unquote-splicing@271 (unquote (r (quote if))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ca5d0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ca5d0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ca5d0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))) (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))) (quasiquote ()))
[macroexpand] expanding... (cons@7 (quasiquote ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))) (quasiquote ()))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))) #<proc 0x6cb890> #<proc 0x6cb810>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cbb70>
argv = (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6cb810>
argv = (unquote@270 (unquote (r (quote if))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote if))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cbaf0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6cb810>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (r (quote if))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cb890>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (r (quote if)))) (quasiquote ((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (r (quote if))) (unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (r (quote if)))) (quasiquote ((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (r (quote if)))) (quasiquote ((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (r (quote if))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (r (quote if)))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (r (quote if)))) #<proc 0x6cc450> #<proc 0x6cc3d0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (r (quote if)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cc760>
argv = ((unquote (r (quote if))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (r (quote if))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote if))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cc450>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6cc3d0>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (r (quote if))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (r (quote if))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(r (quote if))
[macroexpand] expanding... (r (quote if))
[macroexpand] expanding... r
[macroexpand] expanding... (quote if)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))) #<proc 0x6cd160> #<proc 0x6cd0e0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6cd6c0>
argv = (((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd160>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6cd0e0>
argv = (unquote@270 (unquote (car finish)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (car finish)))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd640>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd160>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6cd0e0>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd160>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd160>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (car finish)))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cd160>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (car finish))) (quasiquote (((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (car finish)) ((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (car finish))) (quasiquote (((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (car finish))) (quasiquote (((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (car finish)))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (car finish))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (car finish))) #<proc 0x6cde80> #<proc 0x6cde00>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (car finish))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6ce2a0>
argv = ((unquote (car finish)))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (car finish)))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (car finish)))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6cde80>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6cde00>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (car finish)))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (car finish)))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(car finish)
[macroexpand] expanding... (car finish)
[macroexpand] expanding... car
[macroexpand] expanding... finish
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote (((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))) #<proc 0x6ce8e0> #<proc 0x6ceba0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d5850>
argv = ((((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce8e0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6ceba0>
argv = (unquote@270 ((unquote (r (quote begin))) (unquote-splicing (cdr finish))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote begin))) (unquote-splicing (cdr finish))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d57d0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce8e0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6ceba0>
argv = (unquote-splicing@271 (unquote (r (quote begin))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce8e0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce8e0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote (r (quote begin))) (unquote-splicing (cdr finish))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6ce8e0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote ((unquote (r (quote begin))) (unquote-splicing (cdr finish)))) (quasiquote (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (((unquote (r (quote begin))) (unquote-splicing (cdr finish))) ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote ((unquote (r (quote begin))) (unquote-splicing (cdr finish)))) (quasiquote (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
[macroexpand] expanding... (cons@7 (quasiquote ((unquote (r (quote begin))) (unquote-splicing (cdr finish)))) (quasiquote (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote ((unquote (r (quote begin))) (unquote-splicing (cdr finish))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (r (quote begin))) (unquote-splicing (cdr finish)))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (r (quote begin))) (unquote-splicing (cdr finish)))) #<proc 0x6d60f0> #<proc 0x6d6070>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (r (quote begin))) (unquote-splicing (cdr finish)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d6350>
argv = (((unquote (r (quote begin))) (unquote-splicing (cdr finish))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (r (quote begin))) (unquote-splicing (cdr finish))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote begin))) (unquote-splicing (cdr finish))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d60f0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6d6070>
argv = (unquote@270 (unquote (r (quote begin))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote begin))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d72b0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d60f0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (r (quote begin))) (unquote-splicing (cdr finish))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6d6070>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d60f0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d60f0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (r (quote begin))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d60f0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote-splicing (cdr finish))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (r (quote begin)))) (quasiquote ((unquote-splicing (cdr finish)))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (r (quote begin))) (unquote-splicing (cdr finish))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (r (quote begin)))) (quasiquote ((unquote-splicing (cdr finish)))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (r (quote begin)))) (quasiquote ((unquote-splicing (cdr finish)))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (r (quote begin))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (r (quote begin)))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (r (quote begin)))) #<proc 0x6d6d50> #<proc 0x6d6cd0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (r (quote begin)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d69d0>
argv = ((unquote (r (quote begin))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (r (quote begin))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote begin))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d6d50>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6d6cd0>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (r (quote begin))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (r (quote begin))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(r (quote begin))
[macroexpand] expanding... (r (quote begin))
[macroexpand] expanding... r
[macroexpand] expanding... (quote begin)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote-splicing (cdr finish))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote-splicing (cdr finish)))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote-splicing (cdr finish)))) #<proc 0x6d65f0> #<proc 0x6d6570>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote-splicing (cdr finish)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d7ab0>
argv = (((unquote-splicing (cdr finish))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote-splicing (cdr finish))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing (cdr finish))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d65f0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6d6570>
argv = (unquote@270 (unquote-splicing (cdr finish)))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote-splicing (cdr finish)))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d7a30>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d65f0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote-splicing (cdr finish))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6d6570>
argv = (unquote-splicing@271 unquote-splicing)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote-splicing
[15] OP_JMPIF 1a
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d65f0>
argv = (append)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... append
[ 8] OP_GREF 181
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d3b0>
argv = (((unquote-splicing (cdr finish))))
irep = ## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17] OP_CALL 2
03 [22] OP_CAR
04 [19] OP_RET
== end
[ 8] OP_GREF 13
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f00>
argv = (((unquote-splicing (cdr finish))))
cfunc = 0x7ffff747536a
== end
[22] OP_CAR
[19] OP_RET
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 5
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d65f0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (append@21 (cdr finish) (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote-splicing (cdr finish))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(append@21 (cdr finish) (quasiquote ()))
[macroexpand] expanding... (append@21 (cdr finish) (quasiquote ()))
[macroexpand] expanding... append@21
[macroexpand] expanding... (cdr finish)
[macroexpand] expanding... cdr
[macroexpand] expanding... finish
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ())
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ()) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ()) #<proc 0x6d7d80> #<proc 0x6d81c0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ()))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d8cc0>
argv = (())
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (())
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (())
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[12] OP_CREF 0 0
[19] OP_RET
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ())
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))) #<proc 0x6d87c0> #<proc 0x6d8740>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6d8f20>
argv = ((((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d87c0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6d8740>
argv = (unquote@270 ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d8ea0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d87c0>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = ((((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6d8740>
argv = (unquote-splicing@271 (unquote (r (quote begin))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d87c0>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d87c0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d87c0>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ())
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))) (quasiquote ()))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))) (quasiquote ()))
[macroexpand] expanding... (cons@7 (quasiquote ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))) (quasiquote ()))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))) #<proc 0x6d9560> #<proc 0x6d94e0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x6da0c0>
argv = (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d9560>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6d94e0>
argv = (unquote@270 (unquote (r (quote begin))))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote begin))))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6da040>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d9560>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x6d94e0>
argv = (unquote-splicing@271 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote
[15] OP_JMPIF 1a
[ 3] OP_PUSHTRUE
[15] OP_JMPIF 4
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d9560>
argv = (cons)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... cons
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 2
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d9560>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote (unquote (r (quote begin))))
cfunc = 0x7ffff747563e
== end
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 3
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d9560>
argv = (quasiquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... quasiquote
[12] OP_CREF 0 0
[23] OP_CDR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x615dc0>
argv = (quasiquote ((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
cfunc = 0x7ffff747563e
== end
[18] OP_TAILCALL 4
== calling proc...
proc = #<proc 0x615dc0>
argv = (cons@7 (quasiquote (unquote (r (quote begin)))) (quasiquote ((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff747563e
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote ((unquote (r (quote begin))) (unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(cons@7 (quasiquote (unquote (r (quote begin)))) (quasiquote ((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
[macroexpand] expanding... (cons@7 (quasiquote (unquote (r (quote begin)))) (quasiquote ((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
[macroexpand] expanding... cons@7
[macroexpand] expanding... (quasiquote (unquote (r (quote begin))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote (unquote (r (quote begin)))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote (unquote (r (quote begin)))) #<proc 0x6d9ae0> #<proc 0x6d9a60>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote (unquote (r (quote begin)))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x64e8a0>
argv = ((unquote (r (quote begin))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = ((unquote (r (quote begin))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote (r (quote begin))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x6d9ae0>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x6d9a60>
argv = (unquote@270 unquote)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote@270
[macroexpand] expanding... unquote
[15] OP_JMPIF 31
[ 8] OP_GREF 12
[12] OP_CREF 0 0
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((unquote (r (quote begin))))
cfunc = 0x7ffff7475317
== end
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x603520
cibase = 0x6074f0
ci = 0x607510
* stack trace:#<proc 0x6d8560>
(quasiquote (unquote (r (quote begin))))
#<senv 0x6c3800>
#<senv 0x6c92c0>
[33] OP_STOP
**VM END STATE**
stbase = 0x6034e0
sp = 0x6034e0
cibase = 0x6074f0
ci = 0x6074f0
after expand-1:
(r (quote begin))
[macroexpand] expanding... (r (quote begin))
[macroexpand] expanding... r
[macroexpand] expanding... (quote begin)
[macroexpand] expanding... quote
[macroexpand] expanding... ()
[macroexpand] expanding... (quasiquote ((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
[macroexpand] expanding... quasiquote
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d8560>
argv = ((quasiquote ((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))) #<senv 0x6c3800> #<senv 0x6c92c0>)
cfunc = 0x7ffff7470a6f
== end
### booting VM... ###
[17] OP_CALL 4
== calling proc...
proc = #<proc 0x6d85a0>
argv = ((quasiquote ((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))) #<proc 0x64ec40> #<proc 0x64ebc0>)
irep = ## irep 0x6d7570
[clen = 5, argc = 4, localc = 0]
:: cv_num = 2
: 2 -> 0
: 3 -> 1
00 [20] OP_LAMBDA 0
01 [ 8] OP_GREF 12
02 [10] OP_LREF 1
03 [17] OP_CALL 2
04 [18] OP_TAILCALL 2
## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[20] OP_LAMBDA 0
[ 8] OP_GREF 12
[10] OP_LREF 1
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f40>
argv = ((quasiquote ((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings))))))
cfunc = 0x7ffff7475317
== end
[18] OP_TAILCALL 2
== calling proc...
proc = #<proc 0x64f560>
argv = (((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
irep = ## irep 0x6d62b0
[clen = 82, argc = 2, localc = 0]
:: cv_num = 1
: 1 -> 0
00 [ 8] OP_GREF 124
01 [12] OP_CREF 0 0
02 [17] OP_CALL 2
03 [15] OP_JMPIF 49
04 [ 8] OP_GREF 5
05 [12] OP_CREF 0 0
06 [17] OP_CALL 2
07 [15] OP_JMPIF 9
08 [ 3] OP_PUSHTRUE
09 [15] OP_JMPIF 4
0a [ 4] OP_PUSHFALSE
0b [19] OP_RET
0c [14] OP_JMP 3
0d [12] OP_CREF 0 0
0e [19] OP_RET
0f [14] OP_JMP 3c
10 [12] OP_CREF 1 1
11 [12] OP_CREF 1 0
12 [ 7] OP_PUSHCONST 0
13 [17] OP_CALL 2
14 [12] OP_CREF 0 0
15 [22] OP_CAR
16 [17] OP_CALL 3
17 [15] OP_JMPIF 31
18 [20] OP_LAMBDA 0
19 [ 8] OP_GREF 5
1a [12] OP_CREF 0 0
1b [22] OP_CAR
1c [17] OP_CALL 2
1d [17] OP_CALL 2
1e [15] OP_JMPIF 1a
1f [ 3] OP_PUSHTRUE
20 [15] OP_JMPIF 4
21 [ 4] OP_PUSHFALSE
22 [19] OP_RET
23 [14] OP_JMP 14
24 [ 8] OP_GREF 18
25 [12] OP_CREF 1 0
26 [ 7] OP_PUSHCONST 1
27 [17] OP_CALL 2
28 [ 8] OP_GREF 18
29 [12] OP_CREF 1 0
2a [ 7] OP_PUSHCONST 2
2b [17] OP_CALL 2
2c [12] OP_CREF 0 0
2d [22] OP_CAR
2e [17] OP_CALL 3
2f [ 8] OP_GREF 18
30 [12] OP_CREF 1 0
31 [ 7] OP_PUSHCONST 3
32 [17] OP_CALL 2
33 [12] OP_CREF 0 0
34 [23] OP_CDR
35 [17] OP_CALL 3
36 [18] OP_TAILCALL 4
37 [14] OP_JMP 10
38 [ 8] OP_GREF 18
39 [12] OP_CREF 1 0
3a [ 7] OP_PUSHCONST 4
3b [17] OP_CALL 2
3c [ 8] OP_GREF 181
3d [12] OP_CREF 0 0
3e [17] OP_CALL 2
3f [ 8] OP_GREF 18
40 [12] OP_CREF 1 0
41 [ 7] OP_PUSHCONST 5
42 [17] OP_CALL 2
43 [12] OP_CREF 0 0
44 [23] OP_CDR
45 [17] OP_CALL 3
46 [18] OP_TAILCALL 4
47 [14] OP_JMP 4
48 [ 8] OP_GREF 12
49 [12] OP_CREF 0 0
4a [18] OP_TAILCALL 2
4b [14] OP_JMP 7
4c [ 8] OP_GREF 18
4d [12] OP_CREF 1 0
4e [ 7] OP_PUSHCONST 6
4f [17] OP_CALL 2
50 [12] OP_CREF 0 0
51 [18] OP_TAILCALL 3
## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[ 8] OP_GREF 124
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x62a620>
argv = (((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
cfunc = 0x7ffff7479d2c
== end
[15] OP_JMPIF 49
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = (((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
cfunc = 0x7ffff7475160
== end
[15] OP_JMPIF 9
[12] OP_CREF 1 1
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x64ec40>
argv = (unquote)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 3
== calling proc...
proc = #<proc 0x64ebc0>
argv = (unquote@270 (unquote-splicing body))
cfunc = 0x7ffff7470973
== end
[15] OP_JMPIF 31
[20] OP_LAMBDA 0
[ 8] OP_GREF 5
[12] OP_CREF 0 0
[22] OP_CAR
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x616100>
argv = ((unquote-splicing body))
cfunc = 0x7ffff7475160
== end
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x64f6a0>
argv = (#t)
irep = ## irep 0x6d5410
[clen = 13, argc = 2, localc = 0]
:: cv_num = 0
00 [10] OP_LREF 1
01 [15] OP_JMPIF 4
02 [10] OP_LREF 1
03 [19] OP_RET
04 [14] OP_JMP 9
05 [12] OP_CREF 2 1
06 [12] OP_CREF 2 0
07 [ 7] OP_PUSHCONST 0
08 [17] OP_CALL 2
09 [ 8] OP_GREF 11
0a [12] OP_CREF 1 0
0b [17] OP_CALL 2
0c [18] OP_TAILCALL 3
== end
[10] OP_LREF 1
[15] OP_JMPIF 4
[12] OP_CREF 2 1
[12] OP_CREF 2 0
[ 7] OP_PUSHCONST 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x64ec40>
argv = (unquote-splicing)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... unquote-splicing
[ 8] OP_GREF 11
[12] OP_CREF 1 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x615f80>
argv = (((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
cfunc = 0x7ffff74752c4
== end
[18] OP_TAILCALL 3
== calling proc...
proc = #<proc 0x64ebc0>
argv = (unquote-splicing@271 unquote-splicing)
cfunc = 0x7ffff7470973
== end
[macroexpand] expanding... unquote-splicing@271
[macroexpand] expanding... unquote-splicing
[15] OP_JMPIF 1a
[ 8] OP_GREF 18
[12] OP_CREF 1 0
[ 7] OP_PUSHCONST 4
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x64ec40>
argv = (append)
cfunc = 0x7ffff74708a7
== end
[macroexpand] expanding... append
[ 8] OP_GREF 181
[12] OP_CREF 0 0
[17] OP_CALL 2
== calling proc...
proc = #<proc 0x65d3b0>
argv = (((unquote-splicing body) ((unquote (r (quote loop))) (unquote-splicing (map (lambda (x) (if (null? (cddr x)) (car x) (car (cddr x)))) bindings)))))
irep = ## irep 0x65d4f0
[clen = 5, argc = 2, localc = 0]
:: cv_num = 0
00 [ 8] OP_GREF 13
01 [10] OP_LREF 1
02 [17]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment