1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 20:30:28 +02:00
guile/module/ice-9/psyntax-pp.scm
Andy Wingo dfadcf85cb Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
	libguile/debug.h
	module/ice-9/psyntax-pp.scm
	module/ice-9/psyntax.scm
	module/language/tree-il/peval.scm
	module/language/tree-il/primitives.scm
2012-01-30 20:27:35 +01:00

23713 lines
1.3 MiB

(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
(if #f #f)
(let ((session-id-4511 (if #f #f))
(transformer-environment-4572 (if #f #f)))
(letrec*
((top-level-eval-hook-4509
(lambda (x-36254 mod-36255)
(primitive-eval x-36254)))
(maybe-name-value!-4515
(lambda (name-19069 val-19070)
(if (if (struct? val-19070)
(eq? (struct-vtable val-19070)
(vector-ref %expanded-vtables 14))
#f)
(let ((meta-19077 (struct-ref val-19070 1)))
(if (not (assq 'name meta-19077))
(let ((v-19082
(cons (cons 'name name-19069) meta-19077)))
(struct-set! val-19070 1 v-19082)))))))
(build-call-4517
(lambda (source-18814 fun-exp-18815 arg-exps-18816)
(make-struct/no-tail
(vector-ref %expanded-vtables 11)
source-18814
fun-exp-18815
arg-exps-18816)))
(build-conditional-4518
(lambda (source-18822
test-exp-18823
then-exp-18824
else-exp-18825)
(make-struct/no-tail
(vector-ref %expanded-vtables 10)
source-18822
test-exp-18823
then-exp-18824
else-exp-18825)))
(build-dynlet-4519
(lambda (source-18832 fluids-18833 vals-18834 body-18835)
(make-struct/no-tail
(vector-ref %expanded-vtables 18)
source-18832
fluids-18833
vals-18834
body-18835)))
(build-lexical-reference-4520
(lambda (type-36256 source-36257 name-36258 var-36259)
(make-struct/no-tail
(vector-ref %expanded-vtables 3)
source-36257
name-36258
var-36259)))
(build-lexical-assignment-4521
(lambda (source-18842 name-18843 var-18844 exp-18845)
(begin
(if (if (struct? exp-18845)
(eq? (struct-vtable exp-18845)
(vector-ref %expanded-vtables 14))
#f)
(let ((meta-18861 (struct-ref exp-18845 1)))
(if (not (assq 'name meta-18861))
(let ((v-18868
(cons (cons 'name name-18843) meta-18861)))
(struct-set! exp-18845 1 v-18868)))))
(make-struct/no-tail
(vector-ref %expanded-vtables 4)
source-18842
name-18843
var-18844
exp-18845))))
(analyze-variable-4522
(lambda (mod-36265
var-36266
modref-cont-36267
bare-cont-36268)
(if (not mod-36265)
(bare-cont-36268 var-36266)
(let ((kind-36269 (car mod-36265))
(mod-36270 (cdr mod-36265)))
(if (eqv? kind-36269 'public)
(modref-cont-36267 mod-36270 var-36266 #t)
(if (eqv? kind-36269 'private)
(if (not (equal? mod-36270 (module-name (current-module))))
(modref-cont-36267 mod-36270 var-36266 #f)
(bare-cont-36268 var-36266))
(if (eqv? kind-36269 'bare)
(bare-cont-36268 var-36266)
(if (eqv? kind-36269 'hygiene)
(if (if (not (equal?
mod-36270
(module-name (current-module))))
(module-variable
(resolve-module mod-36270)
var-36266)
#f)
(modref-cont-36267 mod-36270 var-36266 #f)
(bare-cont-36268 var-36266))
(syntax-violation
#f
"bad module kind"
var-36266
mod-36270)))))))))
(build-global-reference-4523
(lambda (source-36285 var-36286 mod-36287)
(analyze-variable-4522
mod-36287
var-36286
(lambda (mod-36290 var-36291 public?-36292)
(make-struct/no-tail
(vector-ref %expanded-vtables 5)
source-36285
mod-36290
var-36291
public?-36292))
(lambda (var-36299)
(make-struct/no-tail
(vector-ref %expanded-vtables 7)
source-36285
var-36299)))))
(build-global-assignment-4524
(lambda (source-18877 var-18878 exp-18879 mod-18880)
(begin
(if (if (struct? exp-18879)
(eq? (struct-vtable exp-18879)
(vector-ref %expanded-vtables 14))
#f)
(let ((meta-18896 (struct-ref exp-18879 1)))
(if (not (assq 'name meta-18896))
(let ((v-18903
(cons (cons 'name var-18878) meta-18896)))
(struct-set! exp-18879 1 v-18903)))))
(analyze-variable-4522
mod-18880
var-18878
(lambda (mod-18908 var-18909 public?-18910)
(make-struct/no-tail
(vector-ref %expanded-vtables 6)
source-18877
mod-18908
var-18909
public?-18910
exp-18879))
(lambda (var-18918)
(make-struct/no-tail
(vector-ref %expanded-vtables 8)
source-18877
var-18918
exp-18879))))))
(build-global-definition-4525
(lambda (source-36304 var-36305 exp-36306)
(begin
(if (if (struct? exp-36306)
(eq? (struct-vtable exp-36306)
(vector-ref %expanded-vtables 14))
#f)
(let ((meta-36322 (struct-ref exp-36306 1)))
(if (not (assq 'name meta-36322))
(let ((v-36329
(cons (cons 'name var-36305) meta-36322)))
(struct-set! exp-36306 1 v-36329)))))
(make-struct/no-tail
(vector-ref %expanded-vtables 9)
source-36304
var-36305
exp-36306))))
(build-simple-lambda-4526
(lambda (src-18924
req-18925
rest-18926
vars-18927
meta-18928
exp-18929)
(let ((body-18935
(make-struct/no-tail
(vector-ref %expanded-vtables 15)
src-18924
req-18925
#f
rest-18926
#f
'()
vars-18927
exp-18929
#f)))
(make-struct/no-tail
(vector-ref %expanded-vtables 14)
src-18924
meta-18928
body-18935))))
(build-primcall-4529
(lambda (src-18947 name-18948 args-18949)
(make-struct/no-tail
(vector-ref %expanded-vtables 12)
src-18947
name-18948
args-18949)))
(build-sequence-4532
(lambda (src-36337 exps-36338)
(if (null? (cdr exps-36338))
(car exps-36338)
(let ((head-36342 (car exps-36338))
(tail-36343
(build-sequence-4532 #f (cdr exps-36338))))
(make-struct/no-tail
(vector-ref %expanded-vtables 13)
src-36337
head-36342
tail-36343)))))
(build-named-let-4534
(lambda (src-18955
ids-18956
vars-18957
val-exps-18958
body-exp-18959)
(let ((f-18960 (car vars-18957))
(f-name-18961 (car ids-18956))
(vars-18962 (cdr vars-18957))
(ids-18963 (cdr ids-18956)))
(let ((proc-18964
(let ((body-18984
(make-struct/no-tail
(vector-ref %expanded-vtables 15)
src-18955
ids-18963
#f
#f
#f
'()
vars-18962
body-exp-18959
#f)))
(make-struct/no-tail
(vector-ref %expanded-vtables 14)
src-18955
'()
body-18984))))
(begin
(if (if (struct? proc-18964)
(eq? (struct-vtable proc-18964)
(vector-ref %expanded-vtables 14))
#f)
(let ((meta-19008 (struct-ref proc-18964 1)))
(if (not (assq 'name meta-19008))
(let ((v-19015
(cons (cons 'name f-name-18961) meta-19008)))
(struct-set! proc-18964 1 v-19015)))))
(for-each
maybe-name-value!-4515
ids-18963
val-exps-18958)
(let ((names-19039 (list f-name-18961))
(gensyms-19040 (list f-18960))
(vals-19041 (list proc-18964))
(body-19042
(let ((fun-exp-19046
(make-struct/no-tail
(vector-ref %expanded-vtables 3)
src-18955
f-name-18961
f-18960)))
(make-struct/no-tail
(vector-ref %expanded-vtables 11)
src-18955
fun-exp-19046
val-exps-18958))))
(make-struct/no-tail
(vector-ref %expanded-vtables 17)
src-18955
#f
names-19039
gensyms-19040
vals-19041
body-19042)))))))
(build-letrec-4535
(lambda (src-19062
in-order?-19063
ids-19064
vars-19065
val-exps-19066
body-exp-19067)
(if (null? vars-19065)
body-exp-19067
(begin
(for-each
maybe-name-value!-4515
ids-19064
val-exps-19066)
(make-struct/no-tail
(vector-ref %expanded-vtables 17)
src-19062
in-order?-19063
ids-19064
vars-19065
val-exps-19066
body-exp-19067)))))
(source-annotation-4544
(lambda (x-19093)
(if (if (vector? x-19093)
(if (= (vector-length x-19093) 4)
(eq? (vector-ref x-19093 0) 'syntax-object)
#f)
#f)
(source-annotation-4544 (vector-ref x-19093 1))
(if (pair? x-19093)
(let ((props-19108 (source-properties x-19093)))
(if (pair? props-19108) props-19108 #f))
#f))))
(extend-env-4545
(lambda (labels-19110 bindings-19111 r-19112)
(if (null? labels-19110)
r-19112
(extend-env-4545
(cdr labels-19110)
(cdr bindings-19111)
(cons (cons (car labels-19110) (car bindings-19111))
r-19112)))))
(extend-var-env-4546
(lambda (labels-19113 vars-19114 r-19115)
(if (null? labels-19113)
r-19115
(extend-var-env-4546
(cdr labels-19113)
(cdr vars-19114)
(cons (cons (car labels-19113)
(cons 'lexical (car vars-19114)))
r-19115)))))
(macros-only-env-4547
(lambda (r-19116)
(if (null? r-19116)
'()
(let ((a-19117 (car r-19116)))
(if (let ((t-19120 (car (cdr a-19117))))
(if (eq? t-19120 'macro)
#t
(eq? t-19120 'syntax-parameter)))
(cons a-19117
(macros-only-env-4547 (cdr r-19116)))
(macros-only-env-4547 (cdr r-19116)))))))
(global-extend-4548
(lambda (type-19122 sym-19123 val-19124)
(module-define!
(current-module)
sym-19123
(make-syntax-transformer
sym-19123
type-19122
val-19124))))
(id?-4550
(lambda (x-11889)
(if (symbol? x-11889)
#t
(if (if (vector? x-11889)
(if (= (vector-length x-11889) 4)
(eq? (vector-ref x-11889 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref x-11889 1))
#f))))
(gen-labels-4553
(lambda (ls-19134)
(if (null? ls-19134)
'()
(cons (string-append
"l-"
(session-id-4511)
(symbol->string (gensym "-")))
(gen-labels-4553 (cdr ls-19134))))))
(make-binding-wrap-4564
(lambda (ids-19138 labels-19139 w-19140)
(if (null? ids-19138)
w-19140
(cons (car w-19140)
(cons (let ((labelvec-19141 (list->vector labels-19139)))
(let ((n-19142 (vector-length labelvec-19141)))
(let ((symnamevec-19143 (make-vector n-19142))
(marksvec-19144 (make-vector n-19142)))
(begin
(letrec*
((f-19145
(lambda (ids-19342 i-19343)
(if (not (null? ids-19342))
(call-with-values
(lambda ()
(let ((x-19346 (car ids-19342)))
(if (if (vector? x-19346)
(if (= (vector-length
x-19346)
4)
(eq? (vector-ref
x-19346
0)
'syntax-object)
#f)
#f)
(values
(vector-ref x-19346 1)
(let ((m1-19362
(car w-19140))
(m2-19363
(car (vector-ref
x-19346
2))))
(if (null? m2-19363)
m1-19362
(append
m1-19362
m2-19363))))
(values
x-19346
(car w-19140)))))
(lambda (symname-19383 marks-19384)
(begin
(vector-set!
symnamevec-19143
i-19343
symname-19383)
(vector-set!
marksvec-19144
i-19343
marks-19384)
(f-19145
(cdr ids-19342)
(#{1+}# i-19343)))))))))
(f-19145 ids-19138 0))
(vector
'ribcage
symnamevec-19143
marksvec-19144
labelvec-19141)))))
(cdr w-19140))))))
(same-marks?-4568
(lambda (x-36344 y-36345)
(if (eq? x-36344 y-36345)
(eq? x-36344 y-36345)
(if (not (null? x-36344))
(if (not (null? y-36345))
(if (eq? (car x-36344) (car y-36345))
(same-marks?-4568 (cdr x-36344) (cdr y-36345))
#f)
#f)
#f))))
(id-var-name-4569
(lambda (id-36353 w-36354 mod-36355)
(letrec*
((search-36356
(lambda (sym-36422 subst-36423 marks-36424 mod-36425)
(if (null? subst-36423)
(values #f marks-36424)
(let ((fst-36426 (car subst-36423)))
(if (eq? fst-36426 'shift)
(search-36356
sym-36422
(cdr subst-36423)
(cdr marks-36424)
mod-36425)
(let ((symnames-36428 (vector-ref fst-36426 1)))
(if (vector? symnames-36428)
(search-vector-rib-36358
sym-36422
subst-36423
marks-36424
symnames-36428
fst-36426
mod-36425)
(search-list-rib-36357
sym-36422
subst-36423
marks-36424
symnames-36428
fst-36426
mod-36425))))))))
(search-list-rib-36357
(lambda (sym-36603
subst-36604
marks-36605
symnames-36606
ribcage-36607
mod-36608)
(letrec*
((f-36609
(lambda (symnames-36612 i-36613)
(if (null? symnames-36612)
(search-36356
sym-36603
(cdr subst-36604)
marks-36605
mod-36608)
(if (if (eq? (car symnames-36612) sym-36603)
(same-marks?-4568
marks-36605
(list-ref
(vector-ref ribcage-36607 2)
i-36613))
#f)
(let ((n-36759
(list-ref
(vector-ref ribcage-36607 3)
i-36613)))
(if (pair? n-36759)
(if (equal? mod-36608 (car n-36759))
(values (cdr n-36759) marks-36605)
(f-36609
(cdr symnames-36612)
(#{1+}# i-36613)))
(values n-36759 marks-36605)))
(f-36609 (cdr symnames-36612) (#{1+}# i-36613)))))))
(f-36609 symnames-36606 0))))
(search-vector-rib-36358
(lambda (sym-36764
subst-36765
marks-36766
symnames-36767
ribcage-36768
mod-36769)
(let ((n-36770 (vector-length symnames-36767)))
(letrec*
((f-36771
(lambda (i-36774)
(if (= i-36774 n-36770)
(search-36356
sym-36764
(cdr subst-36765)
marks-36766
mod-36769)
(if (if (eq? (vector-ref symnames-36767 i-36774)
sym-36764)
(same-marks?-4568
marks-36766
(vector-ref
(vector-ref ribcage-36768 2)
i-36774))
#f)
(let ((n-36921
(vector-ref
(vector-ref ribcage-36768 3)
i-36774)))
(if (pair? n-36921)
(if (equal? mod-36769 (car n-36921))
(values (cdr n-36921) marks-36766)
(f-36771 (#{1+}# i-36774)))
(values n-36921 marks-36766)))
(f-36771 (#{1+}# i-36774)))))))
(f-36771 0))))))
(if (symbol? id-36353)
(let ((t-36359
(search-36356
id-36353
(cdr w-36354)
(car w-36354)
mod-36355)))
(if t-36359 t-36359 id-36353))
(if (if (vector? id-36353)
(if (= (vector-length id-36353) 4)
(eq? (vector-ref id-36353 0) 'syntax-object)
#f)
#f)
(let ((id-36374 (vector-ref id-36353 1))
(w1-36375 (vector-ref id-36353 2))
(mod-36376 (vector-ref id-36353 3)))
(let ((marks-36377
(let ((m1-36387 (car w-36354))
(m2-36388 (car w1-36375)))
(if (null? m2-36388)
m1-36387
(append m1-36387 m2-36388)))))
(call-with-values
(lambda ()
(search-36356
id-36374
(cdr w-36354)
marks-36377
mod-36376))
(lambda (new-id-36408 marks-36409)
(if new-id-36408
new-id-36408
(let ((t-36417
(search-36356
id-36374
(cdr w1-36375)
marks-36409
mod-36376)))
(if t-36417 t-36417 id-36374)))))))
(syntax-violation
'id-var-name
"invalid id"
id-36353))))))
(locally-bound-identifiers-4570
(lambda (w-19391 mod-19392)
(letrec*
((scan-19393
(lambda (subst-19398 results-19399)
(if (null? subst-19398)
results-19399
(let ((fst-19400 (car subst-19398)))
(if (eq? fst-19400 'shift)
(scan-19393 (cdr subst-19398) results-19399)
(let ((symnames-19402 (vector-ref fst-19400 1))
(marks-19403 (vector-ref fst-19400 2)))
(if (vector? symnames-19402)
(scan-vector-rib-19395
subst-19398
symnames-19402
marks-19403
results-19399)
(scan-list-rib-19394
subst-19398
symnames-19402
marks-19403
results-19399))))))))
(scan-list-rib-19394
(lambda (subst-19520
symnames-19521
marks-19522
results-19523)
(letrec*
((f-19524
(lambda (symnames-19709 marks-19710 results-19711)
(if (null? symnames-19709)
(scan-19393 (cdr subst-19520) results-19711)
(f-19524
(cdr symnames-19709)
(cdr marks-19710)
(cons (let ((x-19717 (car symnames-19709))
(w-19718
(let ((w-19722
(cons (car marks-19710)
subst-19520)))
(cons (cons #f (car w-19722))
(cons 'shift
(cdr w-19722))))))
(if (if (null? (car w-19718))
(null? (cdr w-19718))
#f)
x-19717
(if (if (vector? x-19717)
(if (= (vector-length x-19717) 4)
(eq? (vector-ref x-19717 0)
'syntax-object)
#f)
#f)
(let ((expression-19734
(vector-ref x-19717 1))
(wrap-19735
(let ((w2-19743
(vector-ref x-19717 2)))
(let ((m1-19744 (car w-19718))
(s1-19745
(cdr w-19718)))
(if (null? m1-19744)
(if (null? s1-19745)
w2-19743
(cons (car w2-19743)
(let ((m2-19756
(cdr w2-19743)))
(if (null? m2-19756)
s1-19745
(append
s1-19745
m2-19756)))))
(cons (let ((m2-19764
(car w2-19743)))
(if (null? m2-19764)
m1-19744
(append
m1-19744
m2-19764)))
(let ((m2-19772
(cdr w2-19743)))
(if (null? m2-19772)
s1-19745
(append
s1-19745
m2-19772))))))))
(module-19736
(vector-ref x-19717 3)))
(vector
'syntax-object
expression-19734
wrap-19735
module-19736))
(if (null? x-19717)
x-19717
(vector
'syntax-object
x-19717
w-19718
mod-19392)))))
results-19711))))))
(f-19524
symnames-19521
marks-19522
results-19523))))
(scan-vector-rib-19395
(lambda (subst-19785
symnames-19786
marks-19787
results-19788)
(let ((n-19789 (vector-length symnames-19786)))
(letrec*
((f-19790
(lambda (i-19961 results-19962)
(if (= i-19961 n-19789)
(scan-19393 (cdr subst-19785) results-19962)
(f-19790
(#{1+}# i-19961)
(cons (let ((x-19968
(vector-ref symnames-19786 i-19961))
(w-19969
(let ((w-19973
(cons (vector-ref
marks-19787
i-19961)
subst-19785)))
(cons (cons #f (car w-19973))
(cons 'shift
(cdr w-19973))))))
(if (if (null? (car w-19969))
(null? (cdr w-19969))
#f)
x-19968
(if (if (vector? x-19968)
(if (= (vector-length x-19968) 4)
(eq? (vector-ref x-19968 0)
'syntax-object)
#f)
#f)
(let ((expression-19985
(vector-ref x-19968 1))
(wrap-19986
(let ((w2-19994
(vector-ref
x-19968
2)))
(let ((m1-19995
(car w-19969))
(s1-19996
(cdr w-19969)))
(if (null? m1-19995)
(if (null? s1-19996)
w2-19994
(cons (car w2-19994)
(let ((m2-20007
(cdr w2-19994)))
(if (null? m2-20007)
s1-19996
(append
s1-19996
m2-20007)))))
(cons (let ((m2-20015
(car w2-19994)))
(if (null? m2-20015)
m1-19995
(append
m1-19995
m2-20015)))
(let ((m2-20023
(cdr w2-19994)))
(if (null? m2-20023)
s1-19996
(append
s1-19996
m2-20023))))))))
(module-19987
(vector-ref x-19968 3)))
(vector
'syntax-object
expression-19985
wrap-19986
module-19987))
(if (null? x-19968)
x-19968
(vector
'syntax-object
x-19968
w-19969
mod-19392)))))
results-19962))))))
(f-19790 0 results-19788))))))
(scan-19393 (cdr w-19391) '()))))
(resolve-identifier-4571
(lambda (id-20036
w-20037
r-20038
mod-20039
resolve-syntax-parameters?-20040)
(let ((n-20044
(id-var-name-4569 id-20036 w-20037 mod-20039)))
(if (if (vector? n-20044)
(if (= (vector-length n-20044) 4)
(eq? (vector-ref n-20044 0) 'syntax-object)
#f)
#f)
(resolve-identifier-4571
n-20044
w-20037
r-20038
mod-20039
resolve-syntax-parameters?-20040)
(if (symbol? n-20044)
(let ((mod-20059
(if (if (vector? id-20036)
(if (= (vector-length id-20036) 4)
(eq? (vector-ref id-20036 0) 'syntax-object)
#f)
#f)
(vector-ref id-20036 3)
mod-20039)))
(let ((b-20060
(let ((b-20063
(let ((t-20064
(begin
(if (if (not mod-20059)
(current-module)
#f)
(warn "module system is booted, we should have a module"
n-20044))
(let ((v-20113
(module-variable
(if mod-20059
(resolve-module
(cdr mod-20059))
(current-module))
n-20044)))
(if v-20113
(if (variable-bound? v-20113)
(let ((val-20122
(variable-ref
v-20113)))
(if (macro? val-20122)
(if (macro-type val-20122)
(cons (macro-type
val-20122)
(macro-binding
val-20122))
#f)
#f))
#f)
#f)))))
(if t-20064 t-20064 '(global)))))
(if (if resolve-syntax-parameters?-20040
(eq? (car b-20063) 'syntax-parameter)
#f)
(let ((t-20131 (assq-ref r-20038 (cdr b-20063))))
(if t-20131
t-20131
(cons 'macro (car (cdr b-20063)))))
b-20063))))
(if (eq? (car b-20060) 'global)
(values 'global n-20044 mod-20059)
(values (car b-20060) (cdr b-20060) mod-20059))))
(if (string? n-20044)
(let ((mod-20137
(if (if (vector? id-20036)
(if (= (vector-length id-20036) 4)
(eq? (vector-ref id-20036 0) 'syntax-object)
#f)
#f)
(vector-ref id-20036 3)
mod-20039)))
(let ((b-20138
(let ((b-20141
(let ((t-20142 (assq-ref r-20038 n-20044)))
(if t-20142
t-20142
'(displaced-lexical)))))
(if (if resolve-syntax-parameters?-20040
(eq? (car b-20141) 'syntax-parameter)
#f)
(let ((t-20143
(assq-ref r-20038 (cdr b-20141))))
(if t-20143
t-20143
(cons 'macro (car (cdr b-20141)))))
b-20141))))
(values (car b-20138) (cdr b-20138) mod-20137)))
(error "unexpected id-var-name"
id-20036
w-20037
n-20044)))))))
(free-id=?-4574
(lambda (i-20156 j-20157)
(let ((mi-20158
(if (if (vector? i-20156)
(if (= (vector-length i-20156) 4)
(eq? (vector-ref i-20156 0) 'syntax-object)
#f)
#f)
(vector-ref i-20156 3)
#f)))
(let ((mj-20159
(if (if (vector? j-20157)
(if (= (vector-length j-20157) 4)
(eq? (vector-ref j-20157 0) 'syntax-object)
#f)
#f)
(vector-ref j-20157 3)
#f)))
(let ((ni-20160
(id-var-name-4569 i-20156 '(()) mi-20158)))
(let ((nj-20161
(id-var-name-4569 j-20157 '(()) mj-20159)))
(if (if (vector? ni-20160)
(if (= (vector-length ni-20160) 4)
(eq? (vector-ref ni-20160 0) 'syntax-object)
#f)
#f)
(free-id=?-4574 ni-20160 j-20157)
(if (if (vector? nj-20161)
(if (= (vector-length nj-20161) 4)
(eq? (vector-ref nj-20161 0) 'syntax-object)
#f)
#f)
(free-id=?-4574 i-20156 nj-20161)
(if (symbol? ni-20160)
(if (eq? nj-20161
(if (if (vector? j-20157)
(if (= (vector-length j-20157) 4)
(eq? (vector-ref j-20157 0)
'syntax-object)
#f)
#f)
(vector-ref j-20157 1)
j-20157))
(if (let ((bi-20233
(module-variable
(if mi-20158
(resolve-module (cdr mi-20158))
(current-module))
(if (if (vector? i-20156)
(if (= (vector-length i-20156) 4)
(eq? (vector-ref i-20156 0)
'syntax-object)
#f)
#f)
(vector-ref i-20156 1)
i-20156))))
(if bi-20233
(eq? bi-20233
(module-variable
(if mj-20159
(resolve-module (cdr mj-20159))
(current-module))
(if (if (vector? j-20157)
(if (= (vector-length j-20157) 4)
(eq? (vector-ref j-20157 0)
'syntax-object)
#f)
#f)
(vector-ref j-20157 1)
j-20157)))
(if (not (module-variable
(if mj-20159
(resolve-module (cdr mj-20159))
(current-module))
(if (if (vector? j-20157)
(if (= (vector-length
j-20157)
4)
(eq? (vector-ref j-20157 0)
'syntax-object)
#f)
#f)
(vector-ref j-20157 1)
j-20157)))
(eq? ni-20160 nj-20161)
#f)))
(eq? (module-variable
(if mi-20158
(resolve-module (cdr mi-20158))
(current-module))
(if (if (vector? i-20156)
(if (= (vector-length i-20156) 4)
(eq? (vector-ref i-20156 0)
'syntax-object)
#f)
#f)
(vector-ref i-20156 1)
i-20156))
(module-variable
(if mj-20159
(resolve-module (cdr mj-20159))
(current-module))
(if (if (vector? j-20157)
(if (= (vector-length j-20157) 4)
(eq? (vector-ref j-20157 0)
'syntax-object)
#f)
#f)
(vector-ref j-20157 1)
j-20157)))
#f)
#f)
(equal? ni-20160 nj-20161))))))))))
(bound-id=?-4575
(lambda (i-20426 j-20427)
(if (if (if (vector? i-20426)
(if (= (vector-length i-20426) 4)
(eq? (vector-ref i-20426 0) 'syntax-object)
#f)
#f)
(if (vector? j-20427)
(if (= (vector-length j-20427) 4)
(eq? (vector-ref j-20427 0) 'syntax-object)
#f)
#f)
#f)
(if (eq? (vector-ref i-20426 1)
(vector-ref j-20427 1))
(same-marks?-4568
(car (vector-ref i-20426 2))
(car (vector-ref j-20427 2)))
#f)
(eq? i-20426 j-20427))))
(valid-bound-ids?-4576
(lambda (ids-20596)
(if (letrec*
((all-ids?-20597
(lambda (ids-20794)
(if (null? ids-20794)
(null? ids-20794)
(if (let ((x-20805 (car ids-20794)))
(if (symbol? x-20805)
#t
(if (if (vector? x-20805)
(if (= (vector-length x-20805) 4)
(eq? (vector-ref x-20805 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref x-20805 1))
#f)))
(all-ids?-20597 (cdr ids-20794))
#f)))))
(all-ids?-20597 ids-20596))
(distinct-bound-ids?-4577 ids-20596)
#f)))
(distinct-bound-ids?-4577
(lambda (ids-20926)
(letrec*
((distinct?-20927
(lambda (ids-21032)
(if (null? ids-21032)
(null? ids-21032)
(if (not (bound-id-member?-4578
(car ids-21032)
(cdr ids-21032)))
(distinct?-20927 (cdr ids-21032))
#f)))))
(distinct?-20927 ids-20926))))
(bound-id-member?-4578
(lambda (x-21128 list-21129)
(if (not (null? list-21129))
(let ((t-21130
(bound-id=?-4575 x-21128 (car list-21129))))
(if t-21130
t-21130
(bound-id-member?-4578 x-21128 (cdr list-21129))))
#f)))
(source-wrap-4580
(lambda (x-21308 w-21309 s-21310 defmod-21311)
(let ((x-21315
(begin
(if (if (pair? x-21308) s-21310 #f)
(set-source-properties! x-21308 s-21310))
x-21308)))
(if (if (null? (car w-21309))
(null? (cdr w-21309))
#f)
x-21315
(if (if (vector? x-21315)
(if (= (vector-length x-21315) 4)
(eq? (vector-ref x-21315 0) 'syntax-object)
#f)
#f)
(let ((expression-21347 (vector-ref x-21315 1))
(wrap-21348
(let ((w2-21356 (vector-ref x-21315 2)))
(let ((m1-21357 (car w-21309))
(s1-21358 (cdr w-21309)))
(if (null? m1-21357)
(if (null? s1-21358)
w2-21356
(cons (car w2-21356)
(let ((m2-21373 (cdr w2-21356)))
(if (null? m2-21373)
s1-21358
(append s1-21358 m2-21373)))))
(cons (let ((m2-21381 (car w2-21356)))
(if (null? m2-21381)
m1-21357
(append m1-21357 m2-21381)))
(let ((m2-21389 (cdr w2-21356)))
(if (null? m2-21389)
s1-21358
(append s1-21358 m2-21389))))))))
(module-21349 (vector-ref x-21315 3)))
(vector
'syntax-object
expression-21347
wrap-21348
module-21349))
(if (null? x-21315)
x-21315
(vector
'syntax-object
x-21315
w-21309
defmod-21311)))))))
(expand-sequence-4581
(lambda (body-36926 r-36927 w-36928 s-36929 mod-36930)
(build-sequence-4532
s-36929
(letrec*
((dobody-37018
(lambda (body-37101 r-37102 w-37103 mod-37104)
(if (null? body-37101)
'()
(let ((first-37105
(expand-4586
(car body-37101)
r-37102
w-37103
mod-37104)))
(cons first-37105
(dobody-37018
(cdr body-37101)
r-37102
w-37103
mod-37104)))))))
(dobody-37018
body-36926
r-36927
w-36928
mod-36930)))))
(expand-top-sequence-4582
(lambda (body-21418
r-21419
w-21420
s-21421
m-21422
esew-21423
mod-21424)
(let ((r-21425
(cons '("placeholder" placeholder) r-21419)))
(let ((ribcage-21426 (vector 'ribcage '() '() '())))
(let ((w-21427
(cons (car w-21420)
(cons ribcage-21426 (cdr w-21420)))))
(letrec*
((record-definition!-21428
(lambda (id-24805 var-24806)
(let ((mod-24807
(cons 'hygiene (module-name (current-module)))))
(let ((label-24813
(cons (vector-ref id-24805 3)
(if (if (vector? var-24806)
(if (= (vector-length var-24806) 4)
(eq? (vector-ref var-24806 0)
'syntax-object)
#f)
#f)
(let ((expression-24875
(vector-ref var-24806 1))
(wrap-24876
(let ((w2-24886
(vector-ref
var-24806
2)))
(cons (let ((m2-24893
(car w2-24886)))
(if (null? m2-24893)
'(top)
(append
'(top)
m2-24893)))
(let ((m2-24902
(cdr w2-24886)))
(if (null? m2-24902)
'()
(append
'()
m2-24902))))))
(module-24877
(vector-ref var-24806 3)))
(vector
'syntax-object
expression-24875
wrap-24876
module-24877))
(if (null? var-24806)
var-24806
(vector
'syntax-object
var-24806
'((top))
mod-24807))))))
(begin
(let ((update-24816
(cons (vector-ref id-24805 1)
(vector-ref ribcage-21426 1))))
(vector-set! ribcage-21426 1 update-24816))
(let ((update-24831
(cons (car (vector-ref id-24805 2))
(vector-ref ribcage-21426 2))))
(vector-set! ribcage-21426 2 update-24831))
(let ((update-24846
(cons label-24813
(vector-ref ribcage-21426 3))))
(vector-set! ribcage-21426 3 update-24846)))))))
(parse-21431
(lambda (body-21626
r-21627
w-21628
s-21629
m-21630
esew-21631
mod-21632)
(letrec*
((lp-21633
(lambda (body-21716 exps-21717)
(if (null? body-21716)
exps-21717
(lp-21633
(cdr body-21716)
(append
(parse1-21432
(car body-21716)
r-21627
w-21628
s-21629
m-21630
esew-21631
mod-21632)
exps-21717))))))
(lp-21633 body-21626 '()))))
(parse1-21432
(lambda (x-21787
r-21788
w-21789
s-21790
m-21791
esew-21792
mod-21793)
(call-with-values
(lambda ()
(syntax-type-4585
x-21787
r-21788
w-21789
(source-annotation-4544 x-21787)
ribcage-21426
mod-21793
#f))
(lambda (type-21979
value-21980
form-21981
e-21982
w-21983
s-21984
mod-21985)
(if (eqv? type-21979 'define-form)
(let ((id-21989
(if (if (null? (car w-21983))
(null? (cdr w-21983))
#f)
value-21980
(if (if (vector? value-21980)
(if (= (vector-length value-21980)
4)
(eq? (vector-ref value-21980 0)
'syntax-object)
#f)
#f)
(let ((expression-22039
(vector-ref value-21980 1))
(wrap-22040
(let ((w2-22050
(vector-ref
value-21980
2)))
(let ((m1-22051
(car w-21983))
(s1-22052
(cdr w-21983)))
(if (null? m1-22051)
(if (null? s1-22052)
w2-22050
(cons (car w2-22050)
(let ((m2-22069
(cdr w2-22050)))
(if (null? m2-22069)
s1-22052
(append
s1-22052
m2-22069)))))
(cons (let ((m2-22077
(car w2-22050)))
(if (null? m2-22077)
m1-22051
(append
m1-22051
m2-22077)))
(let ((m2-22085
(cdr w2-22050)))
(if (null? m2-22085)
s1-22052
(append
s1-22052
m2-22085))))))))
(module-22041
(vector-ref value-21980 3)))
(vector
'syntax-object
expression-22039
wrap-22040
module-22041))
(if (null? value-21980)
value-21980
(vector
'syntax-object
value-21980
w-21983
mod-21985))))))
(begin
(string-append
"l-"
(session-id-4511)
(symbol->string (gensym "-")))
(let ((var-21991
(if (not (equal?
(car (vector-ref
id-21989
2))
'(top)))
(symbol-append
(vector-ref id-21989 1)
'-
(string->symbol
(number->string
(hash (syntax->datum x-21787)
most-positive-fixnum)
16)))
(vector-ref id-21989 1))))
(begin
(record-definition!-21428
id-21989
var-21991)
(list (if (eq? m-21791 'c&e)
(let ((x-22211
(build-global-definition-4525
s-21984
var-21991
(expand-4586
e-21982
r-21788
w-21983
mod-21985))))
(begin
(top-level-eval-hook-4509
x-22211
mod-21985)
(lambda () x-22211)))
(lambda ()
(build-global-definition-4525
s-21984
var-21991
(expand-4586
e-21982
r-21788
w-21983
mod-21985)))))))))
(if (if (eqv? type-21979 'define-syntax-form)
#t
(eqv? type-21979
'define-syntax-parameter-form))
(let ((id-22705
(if (if (null? (car w-21983))
(null? (cdr w-21983))
#f)
value-21980
(if (if (vector? value-21980)
(if (= (vector-length
value-21980)
4)
(eq? (vector-ref value-21980 0)
'syntax-object)
#f)
#f)
(let ((expression-22755
(vector-ref value-21980 1))
(wrap-22756
(let ((w2-22766
(vector-ref
value-21980
2)))
(let ((m1-22767
(car w-21983))
(s1-22768
(cdr w-21983)))
(if (null? m1-22767)
(if (null? s1-22768)
w2-22766
(cons (car w2-22766)
(let ((m2-22785
(cdr w2-22766)))
(if (null? m2-22785)
s1-22768
(append
s1-22768
m2-22785)))))
(cons (let ((m2-22793
(car w2-22766)))
(if (null? m2-22793)
m1-22767
(append
m1-22767
m2-22793)))
(let ((m2-22801
(cdr w2-22766)))
(if (null? m2-22801)
s1-22768
(append
s1-22768
m2-22801))))))))
(module-22757
(vector-ref value-21980 3)))
(vector
'syntax-object
expression-22755
wrap-22756
module-22757))
(if (null? value-21980)
value-21980
(vector
'syntax-object
value-21980
w-21983
mod-21985))))))
(begin
(string-append
"l-"
(session-id-4511)
(symbol->string (gensym "-")))
(let ((var-22707
(if (not (equal?
(car (vector-ref
id-22705
2))
'(top)))
(symbol-append
(vector-ref id-22705 1)
'-
(string->symbol
(number->string
(hash (syntax->datum x-21787)
most-positive-fixnum)
16)))
(vector-ref id-22705 1))))
(begin
(record-definition!-21428
id-22705
var-22707)
(if (eqv? m-21791 'c)
(if (memq 'compile esew-21792)
(let ((e-22930
(expand-install-global-4583
var-22707
type-21979
(expand-4586
e-21982
r-21788
w-21983
mod-21985))))
(begin
(top-level-eval-hook-4509
e-22930
mod-21985)
(if (memq 'load esew-21792)
(list (lambda () e-22930))
'())))
(if (memq 'load esew-21792)
(list (lambda ()
(expand-install-global-4583
var-22707
type-21979
(expand-4586
e-21982
r-21788
w-21983
mod-21985))))
'()))
(if (eqv? m-21791 'c&e)
(let ((e-23433
(expand-install-global-4583
var-22707
type-21979
(expand-4586
e-21982
r-21788
w-21983
mod-21985))))
(begin
(top-level-eval-hook-4509
e-23433
mod-21985)
(list (lambda () e-23433))))
(begin
(if (memq 'eval esew-21792)
(top-level-eval-hook-4509
(expand-install-global-4583
var-22707
type-21979
(expand-4586
e-21982
r-21788
w-21983
mod-21985))
mod-21985))
'())))))))
(if (eqv? type-21979 'begin-form)
(let ((tmp-24043
($sc-dispatch
e-21982
'(_ . each-any))))
(if tmp-24043
(@apply
(lambda (e1-24047)
(parse-21431
e1-24047
r-21788
w-21983
s-21984
m-21791
esew-21792
mod-21985))
tmp-24043)
(syntax-violation
#f
"source expression failed to match any pattern"
e-21982)))
(if (eqv? type-21979 'local-syntax-form)
(expand-local-syntax-4591
value-21980
e-21982
r-21788
w-21983
s-21984
mod-21985
(lambda (forms-24090
r-24091
w-24092
s-24093
mod-24094)
(parse-21431
forms-24090
r-24091
w-24092
s-24093
m-21791
esew-21792
mod-24094)))
(if (eqv? type-21979 'eval-when-form)
(let ((tmp-24130
($sc-dispatch
e-21982
'(_ each-any any . each-any))))
(if tmp-24130
(@apply
(lambda (x-24134 e1-24135 e2-24136)
(let ((when-list-24137
(parse-when-list-4584
e-21982
x-24134))
(body-24138
(cons e1-24135 e2-24136)))
(letrec*
((recurse-24139
(lambda (m-24725 esew-24726)
(parse-21431
body-24138
r-21788
w-21983
s-21984
m-24725
esew-24726
mod-21985))))
(if (eq? m-21791 'e)
(if (memq 'eval
when-list-24137)
(recurse-24139
(if (memq 'expand
when-list-24137)
'c&e
'e)
'(eval))
(begin
(if (memq 'expand
when-list-24137)
(let ((x-24246
(expand-top-sequence-4582
body-24138
r-21788
w-21983
s-21984
'e
'(eval)
mod-21985)))
(primitive-eval
x-24246)))
'()))
(if (memq 'load
when-list-24137)
(if (let ((t-24274
(memq 'compile
when-list-24137)))
(if t-24274
t-24274
(let ((t-24327
(memq 'expand
when-list-24137)))
(if t-24327
t-24327
(if (eq? m-21791
'c&e)
(memq 'eval
when-list-24137)
#f)))))
(recurse-24139
'c&e
'(compile load))
(if (if (eq? m-21791 'c)
#t
(eq? m-21791 'c&e))
(recurse-24139
'c
'(load))
'()))
(if (let ((t-24536
(memq 'compile
when-list-24137)))
(if t-24536
t-24536
(let ((t-24589
(memq 'expand
when-list-24137)))
(if t-24589
t-24589
(if (eq? m-21791
'c&e)
(memq 'eval
when-list-24137)
#f)))))
(begin
(let ((x-24723
(expand-top-sequence-4582
body-24138
r-21788
w-21983
s-21984
'e
'(eval)
mod-21985)))
(primitive-eval
x-24723))
'())
'()))))))
tmp-24130)
(syntax-violation
#f
"source expression failed to match any pattern"
e-21982)))
(list (if (eq? m-21791 'c&e)
(let ((x-24796
(expand-expr-4587
type-21979
value-21980
form-21981
e-21982
r-21788
w-21983
s-21984
mod-21985)))
(begin
(primitive-eval x-24796)
(lambda () x-24796)))
(lambda ()
(expand-expr-4587
type-21979
value-21980
form-21981
e-21982
r-21788
w-21983
s-21984
mod-21985))))))))))))))
(let ((exps-21433
(map (lambda (x-21556) (x-21556))
(reverse
(parse-21431
body-21418
r-21425
w-21427
s-21421
m-21422
esew-21423
mod-21424)))))
(if (null? exps-21433)
(make-struct/no-tail
(vector-ref %expanded-vtables 0)
s-21421)
(build-sequence-4532 s-21421 exps-21433)))))))))
(expand-install-global-4583
(lambda (name-24924 type-24925 e-24926)
(let ((exp-24932
(let ((args-24943
(if (eq? type-24925 'define-syntax-parameter-form)
(list (make-struct/no-tail
(vector-ref %expanded-vtables 1)
#f
name-24924)
(make-struct/no-tail
(vector-ref %expanded-vtables 1)
#f
'syntax-parameter)
(let ((args-24966 (list e-24926)))
(make-struct/no-tail
(vector-ref %expanded-vtables 12)
#f
'list
args-24966)))
(list (make-struct/no-tail
(vector-ref %expanded-vtables 1)
#f
name-24924)
(make-struct/no-tail
(vector-ref %expanded-vtables 1)
#f
'macro)
e-24926))))
(make-struct/no-tail
(vector-ref %expanded-vtables 12)
#f
'make-syntax-transformer
args-24943))))
(begin
(if (if (struct? exp-24932)
(eq? (struct-vtable exp-24932)
(vector-ref %expanded-vtables 14))
#f)
(let ((meta-24993 (struct-ref exp-24932 1)))
(if (not (assq 'name meta-24993))
(let ((v-25000
(cons (cons 'name name-24924) meta-24993)))
(struct-set! exp-24932 1 v-25000)))))
(make-struct/no-tail
(vector-ref %expanded-vtables 9)
#f
name-24924
exp-24932)))))
(parse-when-list-4584
(lambda (e-25011 when-list-25012)
(let ((result-25013 (strip-4599 when-list-25012 '(()))))
(letrec*
((lp-25014
(lambda (l-25080)
(if (null? l-25080)
result-25013
(if (let ((t-25082 (car l-25080)))
(if (eq? t-25082 'compile)
#t
(if (eq? t-25082 'load)
#t
(if (eq? t-25082 'eval)
#t
(eq? t-25082 'expand)))))
(lp-25014 (cdr l-25080))
(syntax-violation
'eval-when
"invalid situation"
e-25011
(car l-25080)))))))
(lp-25014 result-25013)))))
(syntax-type-4585
(lambda (e-25084
r-25085
w-25086
s-25087
rib-25088
mod-25089
for-car?-25090)
(if (symbol? e-25084)
(call-with-values
(lambda ()
(resolve-identifier-4571
e-25084
w-25086
r-25085
mod-25089
#t))
(lambda (type-25093 value-25094 mod*-25095)
(if (eqv? type-25093 'macro)
(if for-car?-25090
(values
type-25093
value-25094
e-25084
e-25084
w-25086
s-25087
mod-25089)
(syntax-type-4585
(expand-macro-4589
value-25094
e-25084
r-25085
w-25086
s-25087
rib-25088
mod-25089)
r-25085
'(())
s-25087
rib-25088
mod-25089
#f))
(if (eqv? type-25093 'global)
(values
type-25093
value-25094
e-25084
value-25094
w-25086
s-25087
mod*-25095)
(values
type-25093
value-25094
e-25084
e-25084
w-25086
s-25087
mod-25089)))))
(if (pair? e-25084)
(let ((first-25104 (car e-25084)))
(call-with-values
(lambda ()
(syntax-type-4585
first-25104
r-25085
w-25086
s-25087
rib-25088
mod-25089
#t))
(lambda (ftype-25106
fval-25107
fform-25108
fe-25109
fw-25110
fs-25111
fmod-25112)
(if (eqv? ftype-25106 'lexical)
(values
'lexical-call
fval-25107
e-25084
e-25084
w-25086
s-25087
mod-25089)
(if (eqv? ftype-25106 'global)
(values
'global-call
(vector
'syntax-object
fval-25107
w-25086
fmod-25112)
e-25084
e-25084
w-25086
s-25087
mod-25089)
(if (eqv? ftype-25106 'macro)
(syntax-type-4585
(expand-macro-4589
fval-25107
e-25084
r-25085
w-25086
s-25087
rib-25088
mod-25089)
r-25085
'(())
s-25087
rib-25088
mod-25089
for-car?-25090)
(if (eqv? ftype-25106 'module-ref)
(call-with-values
(lambda () (fval-25107 e-25084 r-25085 w-25086))
(lambda (e-25133
r-25134
w-25135
s-25136
mod-25137)
(syntax-type-4585
e-25133
r-25134
w-25135
s-25136
rib-25088
mod-25137
for-car?-25090)))
(if (eqv? ftype-25106 'core)
(values
'core-form
fval-25107
e-25084
e-25084
w-25086
s-25087
mod-25089)
(if (eqv? ftype-25106 'local-syntax)
(values
'local-syntax-form
fval-25107
e-25084
e-25084
w-25086
s-25087
mod-25089)
(if (eqv? ftype-25106 'begin)
(values
'begin-form
#f
e-25084
e-25084
w-25086
s-25087
mod-25089)
(if (eqv? ftype-25106 'eval-when)
(values
'eval-when-form
#f
e-25084
e-25084
w-25086
s-25087
mod-25089)
(if (eqv? ftype-25106 'define)
(let ((tmp-25154
($sc-dispatch
e-25084
'(_ any any))))
(if (if tmp-25154
(@apply
(lambda (name-25158 val-25159)
(if (symbol? name-25158)
#t
(if (if (vector? name-25158)
(if (= (vector-length
name-25158)
4)
(eq? (vector-ref
name-25158
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref
name-25158
1))
#f)))
tmp-25154)
#f)
(@apply
(lambda (name-25186 val-25187)
(values
'define-form
name-25186
e-25084
val-25187
w-25086
s-25087
mod-25089))
tmp-25154)
(let ((tmp-25188
($sc-dispatch
e-25084
'(_ (any . any)
any
.
each-any))))
(if (if tmp-25188
(@apply
(lambda (name-25192
args-25193
e1-25194
e2-25195)
(if (if (symbol?
name-25192)
#t
(if (if (vector?
name-25192)
(if (= (vector-length
name-25192)
4)
(eq? (vector-ref
name-25192
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref
name-25192
1))
#f))
(valid-bound-ids?-4576
(lambda-var-list-4601
args-25193))
#f))
tmp-25188)
#f)
(@apply
(lambda (name-25658
args-25659
e1-25660
e2-25661)
(values
'define-form
(if (if (null? (car w-25086))
(null? (cdr w-25086))
#f)
name-25658
(if (if (vector?
name-25658)
(if (= (vector-length
name-25658)
4)
(eq? (vector-ref
name-25658
0)
'syntax-object)
#f)
#f)
(let ((expression-25691
(vector-ref
name-25658
1))
(wrap-25692
(let ((w2-25702
(vector-ref
name-25658
2)))
(let ((m1-25703
(car w-25086))
(s1-25704
(cdr w-25086)))
(if (null? m1-25703)
(if (null? s1-25704)
w2-25702
(cons (car w2-25702)
(let ((m2-25721
(cdr w2-25702)))
(if (null? m2-25721)
s1-25704
(append
s1-25704
m2-25721)))))
(cons (let ((m2-25729
(car w2-25702)))
(if (null? m2-25729)
m1-25703
(append
m1-25703
m2-25729)))
(let ((m2-25737
(cdr w2-25702)))
(if (null? m2-25737)
s1-25704
(append
s1-25704
m2-25737))))))))
(module-25693
(vector-ref
name-25658
3)))
(vector
'syntax-object
expression-25691
wrap-25692
module-25693))
(if (null? name-25658)
name-25658
(vector
'syntax-object
name-25658
w-25086
mod-25089))))
(if (if (null? (car w-25086))
(null? (cdr w-25086))
#f)
e-25084
(if (if (vector? e-25084)
(if (= (vector-length
e-25084)
4)
(eq? (vector-ref
e-25084
0)
'syntax-object)
#f)
#f)
(let ((expression-25789
(vector-ref
e-25084
1))
(wrap-25790
(let ((w2-25800
(vector-ref
e-25084
2)))
(let ((m1-25801
(car w-25086))
(s1-25802
(cdr w-25086)))
(if (null? m1-25801)
(if (null? s1-25802)
w2-25800
(cons (car w2-25800)
(let ((m2-25819
(cdr w2-25800)))
(if (null? m2-25819)
s1-25802
(append
s1-25802
m2-25819)))))
(cons (let ((m2-25827
(car w2-25800)))
(if (null? m2-25827)
m1-25801
(append
m1-25801
m2-25827)))
(let ((m2-25835
(cdr w2-25800)))
(if (null? m2-25835)
s1-25802
(append
s1-25802
m2-25835))))))))
(module-25791
(vector-ref
e-25084
3)))
(vector
'syntax-object
expression-25789
wrap-25790
module-25791))
(if (null? e-25084)
e-25084
(vector
'syntax-object
e-25084
w-25086
mod-25089))))
(let ((e-25861
(cons '#(syntax-object
lambda
((top)
#(ribcage
#(name
args
e1
e2)
#((top)
(top)
(top)
(top))
#("l-*-2021"
"l-*-2022"
"l-*-2023"
"l-*-2024"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fform
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("l-*-1973"
"l-*-1974"
"l-*-1975"
"l-*-1976"
"l-*-1977"
"l-*-1978"
"l-*-1979"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("l-*-1964"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("l-*-1943"
"l-*-1944"
"l-*-1945"
"l-*-1946"
"l-*-1947"
"l-*-1948"
"l-*-1949"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top)
(top)
(top))
("l-*-47"
"l-*-46"
"l-*-45"))
#(ribcage
()
()
()))
(hygiene
guile))
(let ((x-25865
(cons args-25659
(cons e1-25660
e2-25661))))
(if (if (null? (car w-25086))
(null? (cdr w-25086))
#f)
x-25865
(if (if (vector?
x-25865)
(if (= (vector-length
x-25865)
4)
(eq? (vector-ref
x-25865
0)
'syntax-object)
#f)
#f)
(let ((expression-25883
(vector-ref
x-25865
1))
(wrap-25884
(let ((w2-25892
(vector-ref
x-25865
2)))
(let ((m1-25893
(car w-25086))
(s1-25894
(cdr w-25086)))
(if (null? m1-25893)
(if (null? s1-25894)
w2-25892
(cons (car w2-25892)
(let ((m2-25909
(cdr w2-25892)))
(if (null? m2-25909)
s1-25894
(append
s1-25894
m2-25909)))))
(cons (let ((m2-25917
(car w2-25892)))
(if (null? m2-25917)
m1-25893
(append
m1-25893
m2-25917)))
(let ((m2-25925
(cdr w2-25892)))
(if (null? m2-25925)
s1-25894
(append
s1-25894
m2-25925))))))))
(module-25885
(vector-ref
x-25865
3)))
(vector
'syntax-object
expression-25883
wrap-25884
module-25885))
(if (null? x-25865)
x-25865
(vector
'syntax-object
x-25865
w-25086
mod-25089))))))))
(begin
(if (if (pair? e-25861)
s-25087
#f)
(set-source-properties!
e-25861
s-25087))
e-25861))
'(())
s-25087
mod-25089))
tmp-25188)
(let ((tmp-25944
($sc-dispatch
e-25084
'(_ any))))
(if (if tmp-25944
(@apply
(lambda (name-25948)
(if (symbol?
name-25948)
#t
(if (if (vector?
name-25948)
(if (= (vector-length
name-25948)
4)
(eq? (vector-ref
name-25948
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref
name-25948
1))
#f)))
tmp-25944)
#f)
(@apply
(lambda (name-25975)
(values
'define-form
(if (if (null? (car w-25086))
(null? (cdr w-25086))
#f)
name-25975
(if (if (vector?
name-25975)
(if (= (vector-length
name-25975)
4)
(eq? (vector-ref
name-25975
0)
'syntax-object)
#f)
#f)
(let ((expression-26005
(vector-ref
name-25975
1))
(wrap-26006
(let ((w2-26016
(vector-ref
name-25975
2)))
(let ((m1-26017
(car w-25086))
(s1-26018
(cdr w-25086)))
(if (null? m1-26017)
(if (null? s1-26018)
w2-26016
(cons (car w2-26016)
(let ((m2-26035
(cdr w2-26016)))
(if (null? m2-26035)
s1-26018
(append
s1-26018
m2-26035)))))
(cons (let ((m2-26043
(car w2-26016)))
(if (null? m2-26043)
m1-26017
(append
m1-26017
m2-26043)))
(let ((m2-26051
(cdr w2-26016)))
(if (null? m2-26051)
s1-26018
(append
s1-26018
m2-26051))))))))
(module-26007
(vector-ref
name-25975
3)))
(vector
'syntax-object
expression-26005
wrap-26006
module-26007))
(if (null? name-25975)
name-25975
(vector
'syntax-object
name-25975
w-25086
mod-25089))))
(if (if (null? (car w-25086))
(null? (cdr w-25086))
#f)
e-25084
(if (if (vector?
e-25084)
(if (= (vector-length
e-25084)
4)
(eq? (vector-ref
e-25084
0)
'syntax-object)
#f)
#f)
(let ((expression-26103
(vector-ref
e-25084
1))
(wrap-26104
(let ((w2-26114
(vector-ref
e-25084
2)))
(let ((m1-26115
(car w-25086))
(s1-26116
(cdr w-25086)))
(if (null? m1-26115)
(if (null? s1-26116)
w2-26114
(cons (car w2-26114)
(let ((m2-26133
(cdr w2-26114)))
(if (null? m2-26133)
s1-26116
(append
s1-26116
m2-26133)))))
(cons (let ((m2-26141
(car w2-26114)))
(if (null? m2-26141)
m1-26115
(append
m1-26115
m2-26141)))
(let ((m2-26149
(cdr w2-26114)))
(if (null? m2-26149)
s1-26116
(append
s1-26116
m2-26149))))))))
(module-26105
(vector-ref
e-25084
3)))
(vector
'syntax-object
expression-26103
wrap-26104
module-26105))
(if (null? e-25084)
e-25084
(vector
'syntax-object
e-25084
w-25086
mod-25089))))
'(#(syntax-object
if
((top)
#(ribcage
#(name)
#((top))
#("l-*-2034"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(ftype
fval
fform
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("l-*-1973"
"l-*-1974"
"l-*-1975"
"l-*-1976"
"l-*-1977"
"l-*-1978"
"l-*-1979"))
#(ribcage () () ())
#(ribcage
#(first)
#((top))
#("l-*-1964"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("l-*-1943"
"l-*-1944"
"l-*-1945"
"l-*-1946"
"l-*-1947"
"l-*-1948"
"l-*-1949"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top)
(top)
(top))
("l-*-47"
"l-*-46"
"l-*-45"))
#(ribcage
()
()
()))
(hygiene guile))
#(syntax-object
#f
((top)
#(ribcage
#(name)
#((top))
#("l-*-2034"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(ftype
fval
fform
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("l-*-1973"
"l-*-1974"
"l-*-1975"
"l-*-1976"
"l-*-1977"
"l-*-1978"
"l-*-1979"))
#(ribcage () () ())
#(ribcage
#(first)
#((top))
#("l-*-1964"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("l-*-1943"
"l-*-1944"
"l-*-1945"
"l-*-1946"
"l-*-1947"
"l-*-1948"
"l-*-1949"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top)
(top)
(top))
("l-*-47"
"l-*-46"
"l-*-45"))
#(ribcage
()
()
()))
(hygiene guile))
#(syntax-object
#f
((top)
#(ribcage
#(name)
#((top))
#("l-*-2034"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(ftype
fval
fform
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("l-*-1973"
"l-*-1974"
"l-*-1975"
"l-*-1976"
"l-*-1977"
"l-*-1978"
"l-*-1979"))
#(ribcage () () ())
#(ribcage
#(first)
#((top))
#("l-*-1964"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("l-*-1943"
"l-*-1944"
"l-*-1945"
"l-*-1946"
"l-*-1947"
"l-*-1948"
"l-*-1949"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top)
(top)
(top))
("l-*-47"
"l-*-46"
"l-*-45"))
#(ribcage
()
()
()))
(hygiene guile)))
'(())
s-25087
mod-25089))
tmp-25944)
(syntax-violation
#f
"source expression failed to match any pattern"
e-25084)))))))
(if (eqv? ftype-25106 'define-syntax)
(let ((tmp-26188
($sc-dispatch
e-25084
'(_ any any))))
(if (if tmp-26188
(@apply
(lambda (name-26192 val-26193)
(if (symbol? name-26192)
#t
(if (if (vector?
name-26192)
(if (= (vector-length
name-26192)
4)
(eq? (vector-ref
name-26192
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref
name-26192
1))
#f)))
tmp-26188)
#f)
(@apply
(lambda (name-26220 val-26221)
(values
'define-syntax-form
name-26220
e-25084
val-26221
w-25086
s-25087
mod-25089))
tmp-26188)
(syntax-violation
#f
"source expression failed to match any pattern"
e-25084)))
(if (eqv? ftype-25106
'define-syntax-parameter)
(let ((tmp-26232
($sc-dispatch
e-25084
'(_ any any))))
(if (if tmp-26232
(@apply
(lambda (name-26236
val-26237)
(if (symbol? name-26236)
#t
(if (if (vector?
name-26236)
(if (= (vector-length
name-26236)
4)
(eq? (vector-ref
name-26236
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref
name-26236
1))
#f)))
tmp-26232)
#f)
(@apply
(lambda (name-26264 val-26265)
(values
'define-syntax-parameter-form
name-26264
e-25084
val-26265
w-25086
s-25087
mod-25089))
tmp-26232)
(syntax-violation
#f
"source expression failed to match any pattern"
e-25084)))
(values
'call
#f
e-25084
e-25084
w-25086
s-25087
mod-25089)))))))))))))))
(if (if (vector? e-25084)
(if (= (vector-length e-25084) 4)
(eq? (vector-ref e-25084 0) 'syntax-object)
#f)
#f)
(syntax-type-4585
(vector-ref e-25084 1)
r-25085
(let ((w2-26290 (vector-ref e-25084 2)))
(let ((m1-26291 (car w-25086))
(s1-26292 (cdr w-25086)))
(if (null? m1-26291)
(if (null? s1-26292)
w2-26290
(cons (car w2-26290)
(let ((m2-26303 (cdr w2-26290)))
(if (null? m2-26303)
s1-26292
(append s1-26292 m2-26303)))))
(cons (let ((m2-26311 (car w2-26290)))
(if (null? m2-26311)
m1-26291
(append m1-26291 m2-26311)))
(let ((m2-26319 (cdr w2-26290)))
(if (null? m2-26319)
s1-26292
(append s1-26292 m2-26319)))))))
(let ((t-26324 (source-annotation-4544 e-25084)))
(if t-26324 t-26324 s-25087))
rib-25088
(let ((t-26600 (vector-ref e-25084 3)))
(if t-26600 t-26600 mod-25089))
for-car?-25090)
(if (self-evaluating? e-25084)
(values
'constant
#f
e-25084
e-25084
w-25086
s-25087
mod-25089)
(values
'other
#f
e-25084
e-25084
w-25086
s-25087
mod-25089)))))))
(expand-4586
(lambda (e-26609 r-26610 w-26611 mod-26612)
(call-with-values
(lambda ()
(syntax-type-4585
e-26609
r-26610
w-26611
(source-annotation-4544 e-26609)
#f
mod-26612
#f))
(lambda (type-26798
value-26799
form-26800
e-26801
w-26802
s-26803
mod-26804)
(expand-expr-4587
type-26798
value-26799
form-26800
e-26801
r-26610
w-26802
s-26803
mod-26804)))))
(expand-expr-4587
(lambda (type-26807
value-26808
form-26809
e-26810
r-26811
w-26812
s-26813
mod-26814)
(if (eqv? type-26807 'lexical)
(make-struct/no-tail
(vector-ref %expanded-vtables 3)
s-26813
e-26810
value-26808)
(if (if (eqv? type-26807 'core)
#t
(eqv? type-26807 'core-form))
(value-26808
e-26810
r-26811
w-26812
s-26813
mod-26814)
(if (eqv? type-26807 'module-ref)
(call-with-values
(lambda () (value-26808 e-26810 r-26811 w-26812))
(lambda (e-26840 r-26841 w-26842 s-26843 mod-26844)
(expand-4586 e-26840 r-26841 w-26842 mod-26844)))
(if (eqv? type-26807 'lexical-call)
(expand-call-4588
(let ((id-27017 (car e-26810)))
(build-lexical-reference-4520
'fun
(source-annotation-4544 id-27017)
(if (if (vector? id-27017)
(if (= (vector-length id-27017) 4)
(eq? (vector-ref id-27017 0) 'syntax-object)
#f)
#f)
(syntax->datum id-27017)
id-27017)
value-26808))
e-26810
r-26811
w-26812
s-26813
mod-26814)
(if (eqv? type-26807 'global-call)
(expand-call-4588
(build-global-reference-4523
(source-annotation-4544 (car e-26810))
(if (if (vector? value-26808)
(if (= (vector-length value-26808) 4)
(eq? (vector-ref value-26808 0) 'syntax-object)
#f)
#f)
(vector-ref value-26808 1)
value-26808)
(if (if (vector? value-26808)
(if (= (vector-length value-26808) 4)
(eq? (vector-ref value-26808 0) 'syntax-object)
#f)
#f)
(vector-ref value-26808 3)
mod-26814))
e-26810
r-26811
w-26812
s-26813
mod-26814)
(if (eqv? type-26807 'constant)
(let ((exp-27691
(strip-4599
(let ((x-27704
(begin
(if (if (pair? e-26810) s-26813 #f)
(set-source-properties!
e-26810
s-26813))
e-26810)))
(if (if (null? (car w-26812))
(null? (cdr w-26812))
#f)
x-27704
(if (if (vector? x-27704)
(if (= (vector-length x-27704) 4)
(eq? (vector-ref x-27704 0)
'syntax-object)
#f)
#f)
(let ((expression-27736
(vector-ref x-27704 1))
(wrap-27737
(let ((w2-27745
(vector-ref x-27704 2)))
(let ((m1-27746 (car w-26812))
(s1-27747 (cdr w-26812)))
(if (null? m1-27746)
(if (null? s1-27747)
w2-27745
(cons (car w2-27745)
(let ((m2-27762
(cdr w2-27745)))
(if (null? m2-27762)
s1-27747
(append
s1-27747
m2-27762)))))
(cons (let ((m2-27770
(car w2-27745)))
(if (null? m2-27770)
m1-27746
(append
m1-27746
m2-27770)))
(let ((m2-27778
(cdr w2-27745)))
(if (null? m2-27778)
s1-27747
(append
s1-27747
m2-27778))))))))
(module-27738
(vector-ref x-27704 3)))
(vector
'syntax-object
expression-27736
wrap-27737
module-27738))
(if (null? x-27704)
x-27704
(vector
'syntax-object
x-27704
w-26812
mod-26814)))))
'(()))))
(make-struct/no-tail
(vector-ref %expanded-vtables 1)
s-26813
exp-27691))
(if (eqv? type-26807 'global)
(analyze-variable-4522
mod-26814
value-26808
(lambda (mod-27803 var-27804 public?-27805)
(make-struct/no-tail
(vector-ref %expanded-vtables 5)
s-26813
mod-27803
var-27804
public?-27805))
(lambda (var-27813)
(make-struct/no-tail
(vector-ref %expanded-vtables 7)
s-26813
var-27813)))
(if (eqv? type-26807 'call)
(expand-call-4588
(expand-4586
(car e-26810)
r-26811
w-26812
mod-26814)
e-26810
r-26811
w-26812
s-26813
mod-26814)
(if (eqv? type-26807 'begin-form)
(let ((tmp-27983
($sc-dispatch e-26810 '(_ any . each-any))))
(if tmp-27983
(@apply
(lambda (e1-27987 e2-27988)
(expand-sequence-4581
(cons e1-27987 e2-27988)
r-26811
w-26812
s-26813
mod-26814))
tmp-27983)
(let ((tmp-28083 ($sc-dispatch e-26810 '(_))))
(if tmp-28083
(@apply
(lambda ()
(syntax-violation
#f
"sequence of zero expressions"
(let ((x-28096
(begin
(if (if (pair? e-26810)
s-26813
#f)
(set-source-properties!
e-26810
s-26813))
e-26810)))
(if (if (null? (car w-26812))
(null? (cdr w-26812))
#f)
x-28096
(if (if (vector? x-28096)
(if (= (vector-length
x-28096)
4)
(eq? (vector-ref
x-28096
0)
'syntax-object)
#f)
#f)
(let ((expression-28128
(vector-ref x-28096 1))
(wrap-28129
(let ((w2-28137
(vector-ref
x-28096
2)))
(let ((m1-28138
(car w-26812))
(s1-28139
(cdr w-26812)))
(if (null? m1-28138)
(if (null? s1-28139)
w2-28137
(cons (car w2-28137)
(let ((m2-28154
(cdr w2-28137)))
(if (null? m2-28154)
s1-28139
(append
s1-28139
m2-28154)))))
(cons (let ((m2-28162
(car w2-28137)))
(if (null? m2-28162)
m1-28138
(append
m1-28138
m2-28162)))
(let ((m2-28170
(cdr w2-28137)))
(if (null? m2-28170)
s1-28139
(append
s1-28139
m2-28170))))))))
(module-28130
(vector-ref x-28096 3)))
(vector
'syntax-object
expression-28128
wrap-28129
module-28130))
(if (null? x-28096)
x-28096
(vector
'syntax-object
x-28096
w-26812
mod-26814)))))))
tmp-28083)
(syntax-violation
#f
"source expression failed to match any pattern"
e-26810)))))
(if (eqv? type-26807 'local-syntax-form)
(expand-local-syntax-4591
value-26808
e-26810
r-26811
w-26812
s-26813
mod-26814
expand-sequence-4581)
(if (eqv? type-26807 'eval-when-form)
(let ((tmp-28265
($sc-dispatch
e-26810
'(_ each-any any . each-any))))
(if tmp-28265
(@apply
(lambda (x-28269 e1-28270 e2-28271)
(let ((when-list-28272
(parse-when-list-4584
e-26810
x-28269)))
(if (memq 'eval when-list-28272)
(expand-sequence-4581
(cons e1-28270 e2-28271)
r-26811
w-26812
s-26813
mod-26814)
(make-struct/no-tail
(vector-ref %expanded-vtables 0)
#f))))
tmp-28265)
(syntax-violation
#f
"source expression failed to match any pattern"
e-26810)))
(if (if (eqv? type-26807 'define-form)
#t
(if (eqv? type-26807 'define-syntax-form)
#t
(eqv? type-26807
'define-syntax-parameter-form)))
(syntax-violation
#f
"definition in expression context, where definitions are not allowed,"
(let ((x-28458
(begin
(if (if (pair? form-26809)
s-26813
#f)
(set-source-properties!
form-26809
s-26813))
form-26809)))
(if (if (null? (car w-26812))
(null? (cdr w-26812))
#f)
x-28458
(if (if (vector? x-28458)
(if (= (vector-length x-28458) 4)
(eq? (vector-ref x-28458 0)
'syntax-object)
#f)
#f)
(let ((expression-28490
(vector-ref x-28458 1))
(wrap-28491
(let ((w2-28499
(vector-ref
x-28458
2)))
(let ((m1-28500
(car w-26812))
(s1-28501
(cdr w-26812)))
(if (null? m1-28500)
(if (null? s1-28501)
w2-28499
(cons (car w2-28499)
(let ((m2-28516
(cdr w2-28499)))
(if (null? m2-28516)
s1-28501
(append
s1-28501
m2-28516)))))
(cons (let ((m2-28524
(car w2-28499)))
(if (null? m2-28524)
m1-28500
(append
m1-28500
m2-28524)))
(let ((m2-28532
(cdr w2-28499)))
(if (null? m2-28532)
s1-28501
(append
s1-28501
m2-28532))))))))
(module-28492
(vector-ref x-28458 3)))
(vector
'syntax-object
expression-28490
wrap-28491
module-28492))
(if (null? x-28458)
x-28458
(vector
'syntax-object
x-28458
w-26812
mod-26814))))))
(if (eqv? type-26807 'syntax)
(syntax-violation
#f
"reference to pattern variable outside syntax form"
(let ((x-28559
(begin
(if (if (pair? e-26810)
s-26813
#f)
(set-source-properties!
e-26810
s-26813))
e-26810)))
(if (if (null? (car w-26812))
(null? (cdr w-26812))
#f)
x-28559
(if (if (vector? x-28559)
(if (= (vector-length x-28559)
4)
(eq? (vector-ref x-28559 0)
'syntax-object)
#f)
#f)
(let ((expression-28591
(vector-ref x-28559 1))
(wrap-28592
(let ((w2-28600
(vector-ref
x-28559
2)))
(let ((m1-28601
(car w-26812))
(s1-28602
(cdr w-26812)))
(if (null? m1-28601)
(if (null? s1-28602)
w2-28600
(cons (car w2-28600)
(let ((m2-28617
(cdr w2-28600)))
(if (null? m2-28617)
s1-28602
(append
s1-28602
m2-28617)))))
(cons (let ((m2-28625
(car w2-28600)))
(if (null? m2-28625)
m1-28601
(append
m1-28601
m2-28625)))
(let ((m2-28633
(cdr w2-28600)))
(if (null? m2-28633)
s1-28602
(append
s1-28602
m2-28633))))))))
(module-28593
(vector-ref x-28559 3)))
(vector
'syntax-object
expression-28591
wrap-28592
module-28593))
(if (null? x-28559)
x-28559
(vector
'syntax-object
x-28559
w-26812
mod-26814))))))
(if (eqv? type-26807 'displaced-lexical)
(syntax-violation
#f
"reference to identifier outside its scope"
(let ((x-28660
(begin
(if (if (pair? e-26810)
s-26813
#f)
(set-source-properties!
e-26810
s-26813))
e-26810)))
(if (if (null? (car w-26812))
(null? (cdr w-26812))
#f)
x-28660
(if (if (vector? x-28660)
(if (= (vector-length x-28660)
4)
(eq? (vector-ref x-28660 0)
'syntax-object)
#f)
#f)
(let ((expression-28692
(vector-ref x-28660 1))
(wrap-28693
(let ((w2-28701
(vector-ref
x-28660
2)))
(let ((m1-28702
(car w-26812))
(s1-28703
(cdr w-26812)))
(if (null? m1-28702)
(if (null? s1-28703)
w2-28701
(cons (car w2-28701)
(let ((m2-28718
(cdr w2-28701)))
(if (null? m2-28718)
s1-28703
(append
s1-28703
m2-28718)))))
(cons (let ((m2-28726
(car w2-28701)))
(if (null? m2-28726)
m1-28702
(append
m1-28702
m2-28726)))
(let ((m2-28734
(cdr w2-28701)))
(if (null? m2-28734)
s1-28703
(append
s1-28703
m2-28734))))))))
(module-28694
(vector-ref x-28660 3)))
(vector
'syntax-object
expression-28692
wrap-28693
module-28694))
(if (null? x-28660)
x-28660
(vector
'syntax-object
x-28660
w-26812
mod-26814))))))
(syntax-violation
#f
"unexpected syntax"
(let ((x-28758
(begin
(if (if (pair? e-26810)
s-26813
#f)
(set-source-properties!
e-26810
s-26813))
e-26810)))
(if (if (null? (car w-26812))
(null? (cdr w-26812))
#f)
x-28758
(if (if (vector? x-28758)
(if (= (vector-length x-28758)
4)
(eq? (vector-ref x-28758 0)
'syntax-object)
#f)
#f)
(let ((expression-28790
(vector-ref x-28758 1))
(wrap-28791
(let ((w2-28799
(vector-ref
x-28758
2)))
(let ((m1-28800
(car w-26812))
(s1-28801
(cdr w-26812)))
(if (null? m1-28800)
(if (null? s1-28801)
w2-28799
(cons (car w2-28799)
(let ((m2-28816
(cdr w2-28799)))
(if (null? m2-28816)
s1-28801
(append
s1-28801
m2-28816)))))
(cons (let ((m2-28824
(car w2-28799)))
(if (null? m2-28824)
m1-28800
(append
m1-28800
m2-28824)))
(let ((m2-28832
(cdr w2-28799)))
(if (null? m2-28832)
s1-28801
(append
s1-28801
m2-28832))))))))
(module-28792
(vector-ref x-28758 3)))
(vector
'syntax-object
expression-28790
wrap-28791
module-28792))
(if (null? x-28758)
x-28758
(vector
'syntax-object
x-28758
w-26812
mod-26814))))))))))))))))))))))
(expand-call-4588
(lambda (x-28847
e-28848
r-28849
w-28850
s-28851
mod-28852)
(let ((tmp-28854
($sc-dispatch e-28848 '(any . each-any))))
(if tmp-28854
(@apply
(lambda (e0-28858 e1-28859)
(build-call-4517
s-28851
x-28847
(map (lambda (e-28947)
(expand-4586 e-28947 r-28849 w-28850 mod-28852))
e1-28859)))
tmp-28854)
(syntax-violation
#f
"source expression failed to match any pattern"
e-28848)))))
(expand-macro-4589
(lambda (p-29031
e-29032
r-29033
w-29034
s-29035
rib-29036
mod-29037)
(letrec*
((rebuild-macro-output-29038
(lambda (x-29147 m-29148)
(if (pair? x-29147)
(let ((e-29152
(cons (rebuild-macro-output-29038
(car x-29147)
m-29148)
(rebuild-macro-output-29038
(cdr x-29147)
m-29148))))
(begin
(if (if (pair? e-29152) s-29035 #f)
(set-source-properties! e-29152 s-29035))
e-29152))
(if (if (vector? x-29147)
(if (= (vector-length x-29147) 4)
(eq? (vector-ref x-29147 0) 'syntax-object)
#f)
#f)
(let ((w-29168 (vector-ref x-29147 2)))
(let ((ms-29169 (car w-29168))
(s-29170 (cdr w-29168)))
(if (if (pair? ms-29169) (eq? (car ms-29169) #f) #f)
(let ((expression-29178 (vector-ref x-29147 1))
(wrap-29179
(cons (cdr ms-29169)
(if rib-29036
(cons rib-29036 (cdr s-29170))
(cdr s-29170))))
(module-29180 (vector-ref x-29147 3)))
(vector
'syntax-object
expression-29178
wrap-29179
module-29180))
(let ((expression-29190
(let ((e-29195 (vector-ref x-29147 1)))
(begin
(if (if (pair? e-29195) s-29170 #f)
(set-source-properties!
e-29195
s-29170))
e-29195)))
(wrap-29191
(cons (cons m-29148 ms-29169)
(if rib-29036
(cons rib-29036
(cons 'shift s-29170))
(cons 'shift s-29170))))
(module-29192 (vector-ref x-29147 3)))
(vector
'syntax-object
expression-29190
wrap-29191
module-29192)))))
(if (vector? x-29147)
(let ((n-29207 (vector-length x-29147)))
(let ((v-29208
(let ((e-29274 (make-vector n-29207)))
(begin
(if (if (pair? e-29274) x-29147 #f)
(set-source-properties! e-29274 x-29147))
e-29274))))
(letrec*
((loop-29209
(lambda (i-29270)
(if (= i-29270 n-29207)
v-29208
(begin
(vector-set!
v-29208
i-29270
(rebuild-macro-output-29038
(vector-ref x-29147 i-29270)
m-29148))
(loop-29209 (#{1+}# i-29270)))))))
(loop-29209 0))))
(if (symbol? x-29147)
(syntax-violation
#f
"encountered raw symbol in macro output"
(let ((s-29285 (cdr w-29034)))
(let ((x-29289
(begin
(if (if (pair? e-29032) s-29285 #f)
(set-source-properties!
e-29032
s-29285))
e-29032)))
(if (if (null? (car w-29034))
(null? (cdr w-29034))
#f)
x-29289
(if (if (vector? x-29289)
(if (= (vector-length x-29289) 4)
(eq? (vector-ref x-29289 0)
'syntax-object)
#f)
#f)
(let ((expression-29321
(vector-ref x-29289 1))
(wrap-29322
(let ((w2-29330
(vector-ref x-29289 2)))
(let ((m1-29331 (car w-29034))
(s1-29332 (cdr w-29034)))
(if (null? m1-29331)
(if (null? s1-29332)
w2-29330
(cons (car w2-29330)
(let ((m2-29347
(cdr w2-29330)))
(if (null? m2-29347)
s1-29332
(append
s1-29332
m2-29347)))))
(cons (let ((m2-29355
(car w2-29330)))
(if (null? m2-29355)
m1-29331
(append
m1-29331
m2-29355)))
(let ((m2-29363
(cdr w2-29330)))
(if (null? m2-29363)
s1-29332
(append
s1-29332
m2-29363))))))))
(module-29323 (vector-ref x-29289 3)))
(vector
'syntax-object
expression-29321
wrap-29322
module-29323))
(if (null? x-29289)
x-29289
(vector
'syntax-object
x-29289
w-29034
mod-29037))))))
x-29147)
(begin
(if (if (pair? x-29147) s-29035 #f)
(set-source-properties! x-29147 s-29035))
x-29147))))))))
(with-fluids
((transformer-environment-4572
(lambda (k-29039)
(k-29039
e-29032
r-29033
w-29034
s-29035
rib-29036
mod-29037))))
(rebuild-macro-output-29038
(p-29031
(let ((w-29046
(cons (cons #f (car w-29034))
(cons 'shift (cdr w-29034)))))
(let ((x-29051
(begin
(if (if (pair? e-29032) s-29035 #f)
(set-source-properties! e-29032 s-29035))
e-29032)))
(if (if (null? (car w-29046))
(null? (cdr w-29046))
#f)
x-29051
(if (if (vector? x-29051)
(if (= (vector-length x-29051) 4)
(eq? (vector-ref x-29051 0) 'syntax-object)
#f)
#f)
(let ((expression-29090 (vector-ref x-29051 1))
(wrap-29091
(let ((w2-29099 (vector-ref x-29051 2)))
(let ((m1-29100 (car w-29046))
(s1-29101 (cdr w-29046)))
(if (null? m1-29100)
(if (null? s1-29101)
w2-29099
(cons (car w2-29099)
(let ((m2-29116 (cdr w2-29099)))
(if (null? m2-29116)
s1-29101
(append
s1-29101
m2-29116)))))
(cons (let ((m2-29124 (car w2-29099)))
(if (null? m2-29124)
m1-29100
(append m1-29100 m2-29124)))
(let ((m2-29132 (cdr w2-29099)))
(if (null? m2-29132)
s1-29101
(append
s1-29101
m2-29132))))))))
(module-29092 (vector-ref x-29051 3)))
(vector
'syntax-object
expression-29090
wrap-29091
module-29092))
(if (null? x-29051)
x-29051
(vector
'syntax-object
x-29051
w-29046
mod-29037)))))))
(gensym
(string-append "m-" (session-id-4511) "-")))))))
(expand-body-4590
(lambda (body-29393
outer-form-29394
r-29395
w-29396
mod-29397)
(let ((r-29398
(cons '("placeholder" placeholder) r-29395)))
(let ((ribcage-29399 (vector 'ribcage '() '() '())))
(let ((w-29400
(cons (car w-29396)
(cons ribcage-29399 (cdr w-29396)))))
(letrec*
((parse-29401
(lambda (body-29509
ids-29510
labels-29511
var-ids-29512
vars-29513
vals-29514
bindings-29515)
(if (null? body-29509)
(syntax-violation
#f
"no expressions in body"
outer-form-29394)
(let ((e-29516 (cdr (car body-29509)))
(er-29517 (car (car body-29509))))
(call-with-values
(lambda ()
(syntax-type-4585
e-29516
er-29517
'(())
(source-annotation-4544 er-29517)
ribcage-29399
mod-29397
#f))
(lambda (type-29705
value-29706
form-29707
e-29708
w-29709
s-29710
mod-29711)
(if (eqv? type-29705 'define-form)
(let ((id-29715
(if (if (null? (car w-29709))
(null? (cdr w-29709))
#f)
value-29706
(if (if (vector? value-29706)
(if (= (vector-length
value-29706)
4)
(eq? (vector-ref
value-29706
0)
'syntax-object)
#f)
#f)
(let ((expression-29760
(vector-ref value-29706 1))
(wrap-29761
(let ((w2-29771
(vector-ref
value-29706
2)))
(let ((m1-29772
(car w-29709))
(s1-29773
(cdr w-29709)))
(if (null? m1-29772)
(if (null? s1-29773)
w2-29771
(cons (car w2-29771)
(let ((m2-29790
(cdr w2-29771)))
(if (null? m2-29790)
s1-29773
(append
s1-29773
m2-29790)))))
(cons (let ((m2-29798
(car w2-29771)))
(if (null? m2-29798)
m1-29772
(append
m1-29772
m2-29798)))
(let ((m2-29806
(cdr w2-29771)))
(if (null? m2-29806)
s1-29773
(append
s1-29773
m2-29806))))))))
(module-29762
(vector-ref
value-29706
3)))
(vector
'syntax-object
expression-29760
wrap-29761
module-29762))
(if (null? value-29706)
value-29706
(vector
'syntax-object
value-29706
w-29709
mod-29711)))))
(label-29716
(string-append
"l-"
(session-id-4511)
(symbol->string (gensym "-")))))
(let ((var-29717
(let ((id-29867
(if (if (vector? id-29715)
(if (= (vector-length
id-29715)
4)
(eq? (vector-ref
id-29715
0)
'syntax-object)
#f)
#f)
(vector-ref id-29715 1)
id-29715)))
(gensym
(string-append
(symbol->string id-29867)
"-")))))
(begin
(begin
(let ((update-29726
(cons (vector-ref id-29715 1)
(vector-ref
ribcage-29399
1))))
(vector-set!
ribcage-29399
1
update-29726))
(let ((update-29838
(cons (car (vector-ref
id-29715
2))
(vector-ref
ribcage-29399
2))))
(vector-set!
ribcage-29399
2
update-29838))
(let ((update-29853
(cons label-29716
(vector-ref
ribcage-29399
3))))
(vector-set!
ribcage-29399
3
update-29853)))
(parse-29401
(cdr body-29509)
(cons id-29715 ids-29510)
(cons label-29716 labels-29511)
(cons id-29715 var-ids-29512)
(cons var-29717 vars-29513)
(cons (cons er-29517
(if (if (null? (car w-29709))
(null? (cdr w-29709))
#f)
e-29708
(if (if (vector? e-29708)
(if (= (vector-length
e-29708)
4)
(eq? (vector-ref
e-29708
0)
'syntax-object)
#f)
#f)
(let ((expression-29919
(vector-ref
e-29708
1))
(wrap-29920
(let ((w2-29930
(vector-ref
e-29708
2)))
(let ((m1-29931
(car w-29709))
(s1-29932
(cdr w-29709)))
(if (null? m1-29931)
(if (null? s1-29932)
w2-29930
(cons (car w2-29930)
(let ((m2-29949
(cdr w2-29930)))
(if (null? m2-29949)
s1-29932
(append
s1-29932
m2-29949)))))
(cons (let ((m2-29957
(car w2-29930)))
(if (null? m2-29957)
m1-29931
(append
m1-29931
m2-29957)))
(let ((m2-29965
(cdr w2-29930)))
(if (null? m2-29965)
s1-29932
(append
s1-29932
m2-29965))))))))
(module-29921
(vector-ref
e-29708
3)))
(vector
'syntax-object
expression-29919
wrap-29920
module-29921))
(if (null? e-29708)
e-29708
(vector
'syntax-object
e-29708
w-29709
mod-29711)))))
vals-29514)
(cons (cons 'lexical var-29717)
bindings-29515)))))
(if (if (eqv? type-29705 'define-syntax-form)
#t
(eqv? type-29705
'define-syntax-parameter-form))
(let ((id-29996
(if (if (null? (car w-29709))
(null? (cdr w-29709))
#f)
value-29706
(if (if (vector? value-29706)
(if (= (vector-length
value-29706)
4)
(eq? (vector-ref
value-29706
0)
'syntax-object)
#f)
#f)
(let ((expression-30040
(vector-ref
value-29706
1))
(wrap-30041
(let ((w2-30051
(vector-ref
value-29706
2)))
(let ((m1-30052
(car w-29709))
(s1-30053
(cdr w-29709)))
(if (null? m1-30052)
(if (null? s1-30053)
w2-30051
(cons (car w2-30051)
(let ((m2-30070
(cdr w2-30051)))
(if (null? m2-30070)
s1-30053
(append
s1-30053
m2-30070)))))
(cons (let ((m2-30078
(car w2-30051)))
(if (null? m2-30078)
m1-30052
(append
m1-30052
m2-30078)))
(let ((m2-30086
(cdr w2-30051)))
(if (null? m2-30086)
s1-30053
(append
s1-30053
m2-30086))))))))
(module-30042
(vector-ref
value-29706
3)))
(vector
'syntax-object
expression-30040
wrap-30041
module-30042))
(if (null? value-29706)
value-29706
(vector
'syntax-object
value-29706
w-29709
mod-29711)))))
(label-29997
(string-append
"l-"
(session-id-4511)
(symbol->string (gensym "-")))))
(begin
(begin
(let ((update-30006
(cons (vector-ref id-29996 1)
(vector-ref
ribcage-29399
1))))
(vector-set!
ribcage-29399
1
update-30006))
(let ((update-30118
(cons (car (vector-ref
id-29996
2))
(vector-ref
ribcage-29399
2))))
(vector-set!
ribcage-29399
2
update-30118))
(let ((update-30133
(cons label-29997
(vector-ref
ribcage-29399
3))))
(vector-set!
ribcage-29399
3
update-30133)))
(parse-29401
(cdr body-29509)
(cons id-29996 ids-29510)
(cons label-29997 labels-29511)
var-ids-29512
vars-29513
vals-29514
(cons (cons (if (eq? type-29705
'define-syntax-parameter-form)
'syntax-parameter
'macro)
(cons er-29517
(if (if (null? (car w-29709))
(null? (cdr w-29709))
#f)
e-29708
(if (if (vector?
e-29708)
(if (= (vector-length
e-29708)
4)
(eq? (vector-ref
e-29708
0)
'syntax-object)
#f)
#f)
(let ((expression-30172
(vector-ref
e-29708
1))
(wrap-30173
(let ((w2-30183
(vector-ref
e-29708
2)))
(let ((m1-30184
(car w-29709))
(s1-30185
(cdr w-29709)))
(if (null? m1-30184)
(if (null? s1-30185)
w2-30183
(cons (car w2-30183)
(let ((m2-30202
(cdr w2-30183)))
(if (null? m2-30202)
s1-30185
(append
s1-30185
m2-30202)))))
(cons (let ((m2-30210
(car w2-30183)))
(if (null? m2-30210)
m1-30184
(append
m1-30184
m2-30210)))
(let ((m2-30218
(cdr w2-30183)))
(if (null? m2-30218)
s1-30185
(append
s1-30185
m2-30218))))))))
(module-30174
(vector-ref
e-29708
3)))
(vector
'syntax-object
expression-30172
wrap-30173
module-30174))
(if (null? e-29708)
e-29708
(vector
'syntax-object
e-29708
w-29709
mod-29711))))))
bindings-29515))))
(if (eqv? type-29705 'begin-form)
(let ((tmp-30245
($sc-dispatch
e-29708
'(_ . each-any))))
(if tmp-30245
(@apply
(lambda (e1-30249)
(parse-29401
(letrec*
((f-30250
(lambda (forms-30451)
(if (null? forms-30451)
(cdr body-29509)
(cons (cons er-29517
(let ((x-30455
(car forms-30451)))
(if (if (null? (car w-29709))
(null? (cdr w-29709))
#f)
x-30455
(if (if (vector?
x-30455)
(if (= (vector-length
x-30455)
4)
(eq? (vector-ref
x-30455
0)
'syntax-object)
#f)
#f)
(let ((expression-30473
(vector-ref
x-30455
1))
(wrap-30474
(let ((w2-30482
(vector-ref
x-30455
2)))
(let ((m1-30483
(car w-29709))
(s1-30484
(cdr w-29709)))
(if (null? m1-30483)
(if (null? s1-30484)
w2-30482
(cons (car w2-30482)
(let ((m2-30499
(cdr w2-30482)))
(if (null? m2-30499)
s1-30484
(append
s1-30484
m2-30499)))))
(cons (let ((m2-30507
(car w2-30482)))
(if (null? m2-30507)
m1-30483
(append
m1-30483
m2-30507)))
(let ((m2-30515
(cdr w2-30482)))
(if (null? m2-30515)
s1-30484
(append
s1-30484
m2-30515))))))))
(module-30475
(vector-ref
x-30455
3)))
(vector
'syntax-object
expression-30473
wrap-30474
module-30475))
(if (null? x-30455)
x-30455
(vector
'syntax-object
x-30455
w-29709
mod-29711))))))
(f-30250
(cdr forms-30451)))))))
(f-30250 e1-30249))
ids-29510
labels-29511
var-ids-29512
vars-29513
vals-29514
bindings-29515))
tmp-30245)
(syntax-violation
#f
"source expression failed to match any pattern"
e-29708)))
(if (eqv? type-29705 'local-syntax-form)
(expand-local-syntax-4591
value-29706
e-29708
er-29517
w-29709
s-29710
mod-29711
(lambda (forms-30541
er-30542
w-30543
s-30544
mod-30545)
(parse-29401
(letrec*
((f-30546
(lambda (forms-30747)
(if (null? forms-30747)
(cdr body-29509)
(cons (cons er-30542
(let ((x-30751
(car forms-30747)))
(if (if (null? (car w-30543))
(null? (cdr w-30543))
#f)
x-30751
(if (if (vector?
x-30751)
(if (= (vector-length
x-30751)
4)
(eq? (vector-ref
x-30751
0)
'syntax-object)
#f)
#f)
(let ((expression-30769
(vector-ref
x-30751
1))
(wrap-30770
(let ((w2-30778
(vector-ref
x-30751
2)))
(let ((m1-30779
(car w-30543))
(s1-30780
(cdr w-30543)))
(if (null? m1-30779)
(if (null? s1-30780)
w2-30778
(cons (car w2-30778)
(let ((m2-30795
(cdr w2-30778)))
(if (null? m2-30795)
s1-30780
(append
s1-30780
m2-30795)))))
(cons (let ((m2-30803
(car w2-30778)))
(if (null? m2-30803)
m1-30779
(append
m1-30779
m2-30803)))
(let ((m2-30811
(cdr w2-30778)))
(if (null? m2-30811)
s1-30780
(append
s1-30780
m2-30811))))))))
(module-30771
(vector-ref
x-30751
3)))
(vector
'syntax-object
expression-30769
wrap-30770
module-30771))
(if (null? x-30751)
x-30751
(vector
'syntax-object
x-30751
w-30543
mod-30545))))))
(f-30546
(cdr forms-30747)))))))
(f-30546 forms-30541))
ids-29510
labels-29511
var-ids-29512
vars-29513
vals-29514
bindings-29515)))
(if (null? ids-29510)
(build-sequence-4532
#f
(map (lambda (x-30896)
(expand-4586
(cdr x-30896)
(car x-30896)
'(())
mod-29711))
(cons (cons er-29517
(let ((x-30971
(begin
(if (if (pair? e-29708)
s-29710
#f)
(set-source-properties!
e-29708
s-29710))
e-29708)))
(if (if (null? (car w-29709))
(null? (cdr w-29709))
#f)
x-30971
(if (if (vector?
x-30971)
(if (= (vector-length
x-30971)
4)
(eq? (vector-ref
x-30971
0)
'syntax-object)
#f)
#f)
(let ((expression-31003
(vector-ref
x-30971
1))
(wrap-31004
(let ((w2-31012
(vector-ref
x-30971
2)))
(let ((m1-31013
(car w-29709))
(s1-31014
(cdr w-29709)))
(if (null? m1-31013)
(if (null? s1-31014)
w2-31012
(cons (car w2-31012)
(let ((m2-31029
(cdr w2-31012)))
(if (null? m2-31029)
s1-31014
(append
s1-31014
m2-31029)))))
(cons (let ((m2-31037
(car w2-31012)))
(if (null? m2-31037)
m1-31013
(append
m1-31013
m2-31037)))
(let ((m2-31045
(cdr w2-31012)))
(if (null? m2-31045)
s1-31014
(append
s1-31014
m2-31045))))))))
(module-31005
(vector-ref
x-30971
3)))
(vector
'syntax-object
expression-31003
wrap-31004
module-31005))
(if (null? x-30971)
x-30971
(vector
'syntax-object
x-30971
w-29709
mod-29711))))))
(cdr body-29509))))
(begin
(if (not (valid-bound-ids?-4576
ids-29510))
(syntax-violation
#f
"invalid or duplicate identifier in definition"
outer-form-29394))
(letrec*
((loop-31144
(lambda (bs-31147
er-cache-31148
r-cache-31149)
(if (not (null? bs-31147))
(let ((b-31150
(car bs-31147)))
(if (let ((t-31153
(car b-31150)))
(if (eq? t-31153
'macro)
#t
(eq? t-31153
'syntax-parameter)))
(let ((er-31155
(car (cdr b-31150))))
(let ((r-cache-31156
(if (eq? er-31155
er-cache-31148)
r-cache-31149
(macros-only-env-4547
er-31155))))
(begin
(set-cdr!
b-31150
(eval-local-transformer-4592
(expand-4586
(cdr (cdr b-31150))
r-cache-31156
'(())
mod-29711)
mod-29711))
(if (eq? (car b-31150)
'syntax-parameter)
(set-cdr!
b-31150
(list (cdr b-31150))))
(loop-31144
(cdr bs-31147)
er-31155
r-cache-31156))))
(loop-31144
(cdr bs-31147)
er-cache-31148
r-cache-31149)))))))
(loop-31144 bindings-29515 #f #f))
(set-cdr!
r-29398
(extend-env-4545
labels-29511
bindings-29515
(cdr r-29398)))
(build-letrec-4535
#f
#t
(reverse
(map syntax->datum
var-ids-29512))
(reverse vars-29513)
(map (lambda (x-31576)
(expand-4586
(cdr x-31576)
(car x-31576)
'(())
mod-29711))
(reverse vals-29514))
(build-sequence-4532
#f
(map (lambda (x-31712)
(expand-4586
(cdr x-31712)
(car x-31712)
'(())
mod-29711))
(cons (cons er-29517
(let ((x-31787
(begin
(if (if (pair? e-29708)
s-29710
#f)
(set-source-properties!
e-29708
s-29710))
e-29708)))
(if (if (null? (car w-29709))
(null? (cdr w-29709))
#f)
x-31787
(if (if (vector?
x-31787)
(if (= (vector-length
x-31787)
4)
(eq? (vector-ref
x-31787
0)
'syntax-object)
#f)
#f)
(let ((expression-31819
(vector-ref
x-31787
1))
(wrap-31820
(let ((w2-31828
(vector-ref
x-31787
2)))
(let ((m1-31829
(car w-29709))
(s1-31830
(cdr w-29709)))
(if (null? m1-31829)
(if (null? s1-31830)
w2-31828
(cons (car w2-31828)
(let ((m2-31845
(cdr w2-31828)))
(if (null? m2-31845)
s1-31830
(append
s1-31830
m2-31845)))))
(cons (let ((m2-31853
(car w2-31828)))
(if (null? m2-31853)
m1-31829
(append
m1-31829
m2-31853)))
(let ((m2-31861
(cdr w2-31828)))
(if (null? m2-31861)
s1-31830
(append
s1-31830
m2-31861))))))))
(module-31821
(vector-ref
x-31787
3)))
(vector
'syntax-object
expression-31819
wrap-31820
module-31821))
(if (null? x-31787)
x-31787
(vector
'syntax-object
x-31787
w-29709
mod-29711))))))
(cdr body-29509))))))))))))))))))
(parse-29401
(map (lambda (x-29404)
(cons r-29398
(if (if (null? (car w-29400))
(null? (cdr w-29400))
#f)
x-29404
(if (if (vector? x-29404)
(if (= (vector-length x-29404) 4)
(eq? (vector-ref x-29404 0)
'syntax-object)
#f)
#f)
(let ((expression-29440
(vector-ref x-29404 1))
(wrap-29441
(let ((w2-29451
(vector-ref x-29404 2)))
(let ((m1-29452 (car w-29400))
(s1-29453 (cdr w-29400)))
(if (null? m1-29452)
(if (null? s1-29453)
w2-29451
(cons (car w2-29451)
(let ((m2-29470
(cdr w2-29451)))
(if (null? m2-29470)
s1-29453
(append
s1-29453
m2-29470)))))
(cons (let ((m2-29478
(car w2-29451)))
(if (null? m2-29478)
m1-29452
(append
m1-29452
m2-29478)))
(let ((m2-29486
(cdr w2-29451)))
(if (null? m2-29486)
s1-29453
(append
s1-29453
m2-29486))))))))
(module-29442
(vector-ref x-29404 3)))
(vector
'syntax-object
expression-29440
wrap-29441
module-29442))
(if (null? x-29404)
x-29404
(vector
'syntax-object
x-29404
w-29400
mod-29397))))))
body-29393)
'()
'()
'()
'()
'()
'())))))))
(expand-local-syntax-4591
(lambda (rec?-31876
e-31877
r-31878
w-31879
s-31880
mod-31881
k-31882)
(let ((tmp-31884
($sc-dispatch
e-31877
'(_ #(each (any any)) any . each-any))))
(if tmp-31884
(@apply
(lambda (id-31888 val-31889 e1-31890 e2-31891)
(if (not (valid-bound-ids?-4576 id-31888))
(syntax-violation
#f
"duplicate bound keyword"
e-31877)
(let ((labels-31988 (gen-labels-4553 id-31888)))
(let ((new-w-31989
(make-binding-wrap-4564
id-31888
labels-31988
w-31879)))
(k-31882
(cons e1-31890 e2-31891)
(extend-env-4545
labels-31988
(let ((trans-r-32027
(macros-only-env-4547 r-31878)))
(begin
(if rec?-31876 new-w-31989 w-31879)
(map (lambda (x-32028)
(cons 'macro
(eval-local-transformer-4592
(expand-4586
x-32028
trans-r-32027
(values
(if rec?-31876
new-w-31989
w-31879))
mod-31881)
mod-31881)))
val-31889)))
r-31878)
new-w-31989
s-31880
mod-31881)))))
tmp-31884)
(syntax-violation
#f
"bad local syntax definition"
(let ((x-32335
(begin
(if (if (pair? e-31877) s-31880 #f)
(set-source-properties! e-31877 s-31880))
e-31877)))
(if (if (null? (car w-31879))
(null? (cdr w-31879))
#f)
x-32335
(if (if (vector? x-32335)
(if (= (vector-length x-32335) 4)
(eq? (vector-ref x-32335 0) 'syntax-object)
#f)
#f)
(let ((expression-32367 (vector-ref x-32335 1))
(wrap-32368
(let ((w2-32376 (vector-ref x-32335 2)))
(let ((m1-32377 (car w-31879))
(s1-32378 (cdr w-31879)))
(if (null? m1-32377)
(if (null? s1-32378)
w2-32376
(cons (car w2-32376)
(let ((m2-32393 (cdr w2-32376)))
(if (null? m2-32393)
s1-32378
(append s1-32378 m2-32393)))))
(cons (let ((m2-32401 (car w2-32376)))
(if (null? m2-32401)
m1-32377
(append m1-32377 m2-32401)))
(let ((m2-32409 (cdr w2-32376)))
(if (null? m2-32409)
s1-32378
(append s1-32378 m2-32409))))))))
(module-32369 (vector-ref x-32335 3)))
(vector
'syntax-object
expression-32367
wrap-32368
module-32369))
(if (null? x-32335)
x-32335
(vector
'syntax-object
x-32335
w-31879
mod-31881))))))))))
(eval-local-transformer-4592
(lambda (expanded-32427 mod-32428)
(let ((p-32429 (primitive-eval expanded-32427)))
(if (procedure? p-32429)
p-32429
(syntax-violation
#f
"nonprocedure transformer"
p-32429)))))
(ellipsis?-4594
(lambda (x-6134)
(if (if (if (vector? x-6134)
(if (= (vector-length x-6134) 4)
(eq? (vector-ref x-6134 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref x-6134 1))
#f)
(free-id=?-4574
x-6134
'#(syntax-object
...
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-2416"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile)))
#f)))
(lambda-formals-4595
(lambda (orig-args-32434)
(letrec*
((req-32435
(lambda (args-32439 rreq-32440)
(let ((tmp-32442 ($sc-dispatch args-32439 '())))
(if tmp-32442
(@apply
(lambda () (check-32436 (reverse rreq-32440) #f))
tmp-32442)
(let ((tmp-32558
($sc-dispatch args-32439 '(any . any))))
(if (if tmp-32558
(@apply
(lambda (a-32562 b-32563)
(if (symbol? a-32562)
#t
(if (if (vector? a-32562)
(if (= (vector-length a-32562) 4)
(eq? (vector-ref a-32562 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref a-32562 1))
#f)))
tmp-32558)
#f)
(@apply
(lambda (a-32590 b-32591)
(req-32435 b-32591 (cons a-32590 rreq-32440)))
tmp-32558)
(let ((tmp-32592 (list args-32439)))
(if (@apply
(lambda (r-32594)
(if (symbol? r-32594)
#t
(if (if (vector? r-32594)
(if (= (vector-length r-32594) 4)
(eq? (vector-ref r-32594 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref r-32594 1))
#f)))
tmp-32592)
(@apply
(lambda (r-32624)
(check-32436 (reverse rreq-32440) r-32624))
tmp-32592)
(syntax-violation
'lambda
"invalid argument list"
orig-args-32434
args-32439)))))))))
(check-32436
(lambda (req-32748 rest-32749)
(if (distinct-bound-ids?-4577
(if rest-32749
(cons rest-32749 req-32748)
req-32748))
(values req-32748 #f rest-32749 #f)
(syntax-violation
'lambda
"duplicate identifier in argument list"
orig-args-32434)))))
(req-32435 orig-args-32434 '()))))
(expand-simple-lambda-4596
(lambda (e-32858
r-32859
w-32860
s-32861
mod-32862
req-32863
rest-32864
meta-32865
body-32866)
(let ((ids-32867
(if rest-32864
(append req-32863 (list rest-32864))
req-32863)))
(let ((vars-32868 (map gen-var-4600 ids-32867)))
(let ((labels-32869 (gen-labels-4553 ids-32867)))
(build-simple-lambda-4526
s-32861
(map syntax->datum req-32863)
(if rest-32864 (syntax->datum rest-32864) #f)
vars-32868
meta-32865
(expand-body-4590
body-32866
(let ((x-33052
(begin
(if (if (pair? e-32858) s-32861 #f)
(set-source-properties! e-32858 s-32861))
e-32858)))
(if (if (null? (car w-32860))
(null? (cdr w-32860))
#f)
x-33052
(if (if (vector? x-33052)
(if (= (vector-length x-33052) 4)
(eq? (vector-ref x-33052 0) 'syntax-object)
#f)
#f)
(let ((expression-33084 (vector-ref x-33052 1))
(wrap-33085
(let ((w2-33093 (vector-ref x-33052 2)))
(let ((m1-33094 (car w-32860))
(s1-33095 (cdr w-32860)))
(if (null? m1-33094)
(if (null? s1-33095)
w2-33093
(cons (car w2-33093)
(let ((m2-33110 (cdr w2-33093)))
(if (null? m2-33110)
s1-33095
(append
s1-33095
m2-33110)))))
(cons (let ((m2-33118 (car w2-33093)))
(if (null? m2-33118)
m1-33094
(append m1-33094 m2-33118)))
(let ((m2-33126 (cdr w2-33093)))
(if (null? m2-33126)
s1-33095
(append
s1-33095
m2-33126))))))))
(module-33086 (vector-ref x-33052 3)))
(vector
'syntax-object
expression-33084
wrap-33085
module-33086))
(if (null? x-33052)
x-33052
(vector
'syntax-object
x-33052
w-32860
mod-32862)))))
(extend-var-env-4546
labels-32869
vars-32868
r-32859)
(make-binding-wrap-4564
ids-32867
labels-32869
w-32860)
mod-32862)))))))
(lambda*-formals-4597
(lambda (orig-args-33335)
(letrec*
((req-33336
(lambda (args-33343 rreq-33344)
(let ((tmp-33346 ($sc-dispatch args-33343 '())))
(if tmp-33346
(@apply
(lambda ()
(check-33340 (reverse rreq-33344) '() #f '()))
tmp-33346)
(let ((tmp-33465
($sc-dispatch args-33343 '(any . any))))
(if (if tmp-33465
(@apply
(lambda (a-33469 b-33470)
(if (symbol? a-33469)
#t
(if (if (vector? a-33469)
(if (= (vector-length a-33469) 4)
(eq? (vector-ref a-33469 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref a-33469 1))
#f)))
tmp-33465)
#f)
(@apply
(lambda (a-33497 b-33498)
(req-33336 b-33498 (cons a-33497 rreq-33344)))
tmp-33465)
(let ((tmp-33499
($sc-dispatch args-33343 '(any . any))))
(if (if tmp-33499
(@apply
(lambda (a-33503 b-33504)
(eq? (syntax->datum a-33503) #:optional))
tmp-33499)
#f)
(@apply
(lambda (a-33505 b-33506)
(opt-33337 b-33506 (reverse rreq-33344) '()))
tmp-33499)
(let ((tmp-33509
($sc-dispatch args-33343 '(any . any))))
(if (if tmp-33509
(@apply
(lambda (a-33513 b-33514)
(eq? (syntax->datum a-33513) #:key))
tmp-33509)
#f)
(@apply
(lambda (a-33515 b-33516)
(key-33338
b-33516
(reverse rreq-33344)
'()
'()))
tmp-33509)
(let ((tmp-33519
($sc-dispatch args-33343 '(any any))))
(if (if tmp-33519
(@apply
(lambda (a-33523 b-33524)
(eq? (syntax->datum a-33523)
#:rest))
tmp-33519)
#f)
(@apply
(lambda (a-33525 b-33526)
(rest-33339
b-33526
(reverse rreq-33344)
'()
'()))
tmp-33519)
(let ((tmp-33529 (list args-33343)))
(if (@apply
(lambda (r-33531)
(if (symbol? r-33531)
#t
(if (if (vector? r-33531)
(if (= (vector-length
r-33531)
4)
(eq? (vector-ref
r-33531
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref r-33531 1))
#f)))
tmp-33529)
(@apply
(lambda (r-33561)
(rest-33339
r-33561
(reverse rreq-33344)
'()
'()))
tmp-33529)
(syntax-violation
'lambda*
"invalid argument list"
orig-args-33335
args-33343)))))))))))))))
(opt-33337
(lambda (args-33580 req-33581 ropt-33582)
(let ((tmp-33584 ($sc-dispatch args-33580 '())))
(if tmp-33584
(@apply
(lambda ()
(check-33340
req-33581
(reverse ropt-33582)
#f
'()))
tmp-33584)
(let ((tmp-33705
($sc-dispatch args-33580 '(any . any))))
(if (if tmp-33705
(@apply
(lambda (a-33709 b-33710)
(if (symbol? a-33709)
#t
(if (if (vector? a-33709)
(if (= (vector-length a-33709) 4)
(eq? (vector-ref a-33709 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref a-33709 1))
#f)))
tmp-33705)
#f)
(@apply
(lambda (a-33737 b-33738)
(opt-33337
b-33738
req-33581
(cons (cons a-33737
'(#(syntax-object
#f
((top)
#(ribcage
#(a b)
#((top) (top))
#("l-*-2555" "l-*-2556"))
#(ribcage () () ())
#(ribcage
#(args req ropt)
#((top) (top) (top))
#("l-*-2545"
"l-*-2546"
"l-*-2547"))
#(ribcage
(check rest key opt req)
((top)
(top)
(top)
(top)
(top))
("l-*-2491"
"l-*-2489"
"l-*-2487"
"l-*-2485"
"l-*-2483"))
#(ribcage
#(orig-args)
#((top))
#("l-*-2482"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile))))
ropt-33582)))
tmp-33705)
(let ((tmp-33739
($sc-dispatch args-33580 '((any any) . any))))
(if (if tmp-33739
(@apply
(lambda (a-33743 init-33744 b-33745)
(if (symbol? a-33743)
#t
(if (if (vector? a-33743)
(if (= (vector-length a-33743) 4)
(eq? (vector-ref a-33743 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref a-33743 1))
#f)))
tmp-33739)
#f)
(@apply
(lambda (a-33772 init-33773 b-33774)
(opt-33337
b-33774
req-33581
(cons (list a-33772 init-33773) ropt-33582)))
tmp-33739)
(let ((tmp-33775
($sc-dispatch args-33580 '(any . any))))
(if (if tmp-33775
(@apply
(lambda (a-33779 b-33780)
(eq? (syntax->datum a-33779) #:key))
tmp-33775)
#f)
(@apply
(lambda (a-33781 b-33782)
(key-33338
b-33782
req-33581
(reverse ropt-33582)
'()))
tmp-33775)
(let ((tmp-33785
($sc-dispatch args-33580 '(any any))))
(if (if tmp-33785
(@apply
(lambda (a-33789 b-33790)
(eq? (syntax->datum a-33789)
#:rest))
tmp-33785)
#f)
(@apply
(lambda (a-33791 b-33792)
(rest-33339
b-33792
req-33581
(reverse ropt-33582)
'()))
tmp-33785)
(let ((tmp-33795 (list args-33580)))
(if (@apply
(lambda (r-33797)
(if (symbol? r-33797)
#t
(if (if (vector? r-33797)
(if (= (vector-length
r-33797)
4)
(eq? (vector-ref
r-33797
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref r-33797 1))
#f)))
tmp-33795)
(@apply
(lambda (r-33827)
(rest-33339
r-33827
req-33581
(reverse ropt-33582)
'()))
tmp-33795)
(syntax-violation
'lambda*
"invalid optional argument list"
orig-args-33335
args-33580)))))))))))))))
(key-33338
(lambda (args-33846 req-33847 opt-33848 rkey-33849)
(let ((tmp-33851 ($sc-dispatch args-33846 '())))
(if tmp-33851
(@apply
(lambda ()
(check-33340
req-33847
opt-33848
#f
(cons #f (reverse rkey-33849))))
tmp-33851)
(let ((tmp-33973
($sc-dispatch args-33846 '(any . any))))
(if (if tmp-33973
(@apply
(lambda (a-33977 b-33978)
(if (symbol? a-33977)
#t
(if (if (vector? a-33977)
(if (= (vector-length a-33977) 4)
(eq? (vector-ref a-33977 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref a-33977 1))
#f)))
tmp-33973)
#f)
(@apply
(lambda (a-34005 b-34006)
(let ((tmp-34007
(symbol->keyword (syntax->datum a-34005))))
(key-33338
b-34006
req-33847
opt-33848
(cons (cons tmp-34007
(cons a-34005
'(#(syntax-object
#f
((top)
#(ribcage () () ())
#(ribcage
#(k)
#((top))
#("l-*-2618"))
#(ribcage
#(a b)
#((top) (top))
#("l-*-2612"
"l-*-2613"))
#(ribcage () () ())
#(ribcage
#(args req opt rkey)
#((top)
(top)
(top)
(top))
#("l-*-2601"
"l-*-2602"
"l-*-2603"
"l-*-2604"))
#(ribcage
(check rest
key
opt
req)
((top)
(top)
(top)
(top)
(top))
("l-*-2491"
"l-*-2489"
"l-*-2487"
"l-*-2485"
"l-*-2483"))
#(ribcage
#(orig-args)
#((top))
#("l-*-2482"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47"
"l-*-46"
"l-*-45"))
#(ribcage () () ()))
(hygiene guile)))))
rkey-33849))))
tmp-33973)
(let ((tmp-34010
($sc-dispatch args-33846 '((any any) . any))))
(if (if tmp-34010
(@apply
(lambda (a-34014 init-34015 b-34016)
(if (symbol? a-34014)
#t
(if (if (vector? a-34014)
(if (= (vector-length a-34014) 4)
(eq? (vector-ref a-34014 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref a-34014 1))
#f)))
tmp-34010)
#f)
(@apply
(lambda (a-34043 init-34044 b-34045)
(let ((tmp-34046
(symbol->keyword
(syntax->datum a-34043))))
(key-33338
b-34045
req-33847
opt-33848
(cons (list tmp-34046 a-34043 init-34044)
rkey-33849))))
tmp-34010)
(let ((tmp-34049
($sc-dispatch
args-33846
'((any any any) . any))))
(if (if tmp-34049
(@apply
(lambda (a-34053
init-34054
k-34055
b-34056)
(if (if (symbol? a-34053)
#t
(if (if (vector? a-34053)
(if (= (vector-length
a-34053)
4)
(eq? (vector-ref
a-34053
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref a-34053 1))
#f))
(keyword? (syntax->datum k-34055))
#f))
tmp-34049)
#f)
(@apply
(lambda (a-34083 init-34084 k-34085 b-34086)
(key-33338
b-34086
req-33847
opt-33848
(cons (list k-34085 a-34083 init-34084)
rkey-33849)))
tmp-34049)
(let ((tmp-34087
($sc-dispatch args-33846 '(any))))
(if (if tmp-34087
(@apply
(lambda (aok-34091)
(eq? (syntax->datum aok-34091)
#:allow-other-keys))
tmp-34087)
#f)
(@apply
(lambda (aok-34092)
(check-33340
req-33847
opt-33848
#f
(cons #t (reverse rkey-33849))))
tmp-34087)
(let ((tmp-34211
($sc-dispatch
args-33846
'(any any any))))
(if (if tmp-34211
(@apply
(lambda (aok-34215
a-34216
b-34217)
(if (eq? (syntax->datum
aok-34215)
#:allow-other-keys)
(eq? (syntax->datum a-34216)
#:rest)
#f))
tmp-34211)
#f)
(@apply
(lambda (aok-34218 a-34219 b-34220)
(rest-33339
b-34220
req-33847
opt-33848
(cons #t (reverse rkey-33849))))
tmp-34211)
(let ((tmp-34223
($sc-dispatch
args-33846
'(any . any))))
(if (if tmp-34223
(@apply
(lambda (aok-34227 r-34228)
(if (eq? (syntax->datum
aok-34227)
#:allow-other-keys)
(if (symbol? r-34228)
#t
(if (if (vector?
r-34228)
(if (= (vector-length
r-34228)
4)
(eq? (vector-ref
r-34228
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref
r-34228
1))
#f))
#f))
tmp-34223)
#f)
(@apply
(lambda (aok-34255 r-34256)
(rest-33339
r-34256
req-33847
opt-33848
(cons #t
(reverse rkey-33849))))
tmp-34223)
(let ((tmp-34259
($sc-dispatch
args-33846
'(any any))))
(if (if tmp-34259
(@apply
(lambda (a-34263 b-34264)
(eq? (syntax->datum
a-34263)
#:rest))
tmp-34259)
#f)
(@apply
(lambda (a-34265 b-34266)
(rest-33339
b-34266
req-33847
opt-33848
(cons #f
(reverse
rkey-33849))))
tmp-34259)
(let ((tmp-34269
(list args-33846)))
(if (@apply
(lambda (r-34271)
(if (symbol? r-34271)
#t
(if (if (vector?
r-34271)
(if (= (vector-length
r-34271)
4)
(eq? (vector-ref
r-34271
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref
r-34271
1))
#f)))
tmp-34269)
(@apply
(lambda (r-34301)
(rest-33339
r-34301
req-33847
opt-33848
(cons #f
(reverse
rkey-33849))))
tmp-34269)
(syntax-violation
'lambda*
"invalid keyword argument list"
orig-args-33335
args-33846)))))))))))))))))))))
(rest-33339
(lambda (args-34329 req-34330 opt-34331 kw-34332)
(let ((tmp-34334 (list args-34329)))
(if (@apply
(lambda (r-34336)
(if (symbol? r-34336)
#t
(if (if (vector? r-34336)
(if (= (vector-length r-34336) 4)
(eq? (vector-ref r-34336 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref r-34336 1))
#f)))
tmp-34334)
(@apply
(lambda (r-34366)
(check-33340
req-34330
opt-34331
r-34366
kw-34332))
tmp-34334)
(syntax-violation
'lambda*
"invalid rest argument"
orig-args-33335
args-34329)))))
(check-33340
(lambda (req-34494 opt-34495 rest-34496 kw-34497)
(if (distinct-bound-ids?-4577
(append
req-34494
(map car opt-34495)
(if rest-34496 (list rest-34496) '())
(if (pair? kw-34497)
(map cadr (cdr kw-34497))
'())))
(values req-34494 opt-34495 rest-34496 kw-34497)
(syntax-violation
'lambda*
"duplicate identifier in argument list"
orig-args-33335)))))
(req-33336 orig-args-33335 '()))))
(expand-lambda-case-4598
(lambda (e-34606
r-34607
w-34608
s-34609
mod-34610
get-formals-34611
clauses-34612)
(letrec*
((parse-req-34613
(lambda (req-34746
opt-34747
rest-34748
kw-34749
body-34750)
(let ((vars-34751 (map gen-var-4600 req-34746))
(labels-34752 (gen-labels-4553 req-34746)))
(let ((r*-34753
(extend-var-env-4546
labels-34752
vars-34751
r-34607))
(w*-34754
(make-binding-wrap-4564
req-34746
labels-34752
w-34608)))
(parse-opt-34614
(map syntax->datum req-34746)
opt-34747
rest-34748
kw-34749
body-34750
(reverse vars-34751)
r*-34753
w*-34754
'()
'())))))
(parse-opt-34614
(lambda (req-34951
opt-34952
rest-34953
kw-34954
body-34955
vars-34956
r*-34957
w*-34958
out-34959
inits-34960)
(if (pair? opt-34952)
(let ((tmp-34961 (car opt-34952)))
(let ((tmp-34962 ($sc-dispatch tmp-34961 '(any any))))
(if tmp-34962
(@apply
(lambda (id-34964 i-34965)
(let ((v-34966
(let ((id-34974
(if (if (vector? id-34964)
(if (= (vector-length
id-34964)
4)
(eq? (vector-ref
id-34964
0)
'syntax-object)
#f)
#f)
(vector-ref id-34964 1)
id-34964)))
(gensym
(string-append
(symbol->string id-34974)
"-")))))
(let ((l-34967 (gen-labels-4553 (list v-34966))))
(let ((r**-34968
(extend-var-env-4546
l-34967
(list v-34966)
r*-34957)))
(let ((w**-34969
(make-binding-wrap-4564
(list id-34964)
l-34967
w*-34958)))
(parse-opt-34614
req-34951
(cdr opt-34952)
rest-34953
kw-34954
body-34955
(cons v-34966 vars-34956)
r**-34968
w**-34969
(cons (syntax->datum id-34964) out-34959)
(cons (expand-4586
i-34965
r*-34957
w*-34958
mod-34610)
inits-34960)))))))
tmp-34962)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-34961))))
(if rest-34953
(let ((v-35232
(let ((id-35242
(if (if (vector? rest-34953)
(if (= (vector-length rest-34953) 4)
(eq? (vector-ref rest-34953 0)
'syntax-object)
#f)
#f)
(vector-ref rest-34953 1)
rest-34953)))
(gensym
(string-append
(symbol->string id-35242)
"-")))))
(let ((l-35233 (gen-labels-4553 (list v-35232))))
(let ((r*-35234
(extend-var-env-4546
l-35233
(list v-35232)
r*-34957)))
(let ((w*-35235
(make-binding-wrap-4564
(list rest-34953)
l-35233
w*-34958)))
(parse-kw-34615
req-34951
(if (pair? out-34959) (reverse out-34959) #f)
(syntax->datum rest-34953)
(if (pair? kw-34954) (cdr kw-34954) kw-34954)
body-34955
(cons v-35232 vars-34956)
r*-35234
w*-35235
(if (pair? kw-34954) (car kw-34954) #f)
'()
inits-34960)))))
(parse-kw-34615
req-34951
(if (pair? out-34959) (reverse out-34959) #f)
#f
(if (pair? kw-34954) (cdr kw-34954) kw-34954)
body-34955
vars-34956
r*-34957
w*-34958
(if (pair? kw-34954) (car kw-34954) #f)
'()
inits-34960)))))
(parse-kw-34615
(lambda (req-35425
opt-35426
rest-35427
kw-35428
body-35429
vars-35430
r*-35431
w*-35432
aok-35433
out-35434
inits-35435)
(if (pair? kw-35428)
(let ((tmp-35436 (car kw-35428)))
(let ((tmp-35437
($sc-dispatch tmp-35436 '(any any any))))
(if tmp-35437
(@apply
(lambda (k-35439 id-35440 i-35441)
(let ((v-35442
(let ((id-35450
(if (if (vector? id-35440)
(if (= (vector-length
id-35440)
4)
(eq? (vector-ref
id-35440
0)
'syntax-object)
#f)
#f)
(vector-ref id-35440 1)
id-35440)))
(gensym
(string-append
(symbol->string id-35450)
"-")))))
(let ((l-35443 (gen-labels-4553 (list v-35442))))
(let ((r**-35444
(extend-var-env-4546
l-35443
(list v-35442)
r*-35431)))
(let ((w**-35445
(make-binding-wrap-4564
(list id-35440)
l-35443
w*-35432)))
(parse-kw-34615
req-35425
opt-35426
rest-35427
(cdr kw-35428)
body-35429
(cons v-35442 vars-35430)
r**-35444
w**-35445
aok-35433
(cons (list (syntax->datum k-35439)
(syntax->datum id-35440)
v-35442)
out-35434)
(cons (expand-4586
i-35441
r*-35431
w*-35432
mod-34610)
inits-35435)))))))
tmp-35437)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-35436))))
(parse-body-34616
req-35425
opt-35426
rest-35427
(if (if aok-35433 aok-35433 (pair? out-35434))
(cons aok-35433 (reverse out-35434))
#f)
body-35429
(reverse vars-35430)
r*-35431
w*-35432
(reverse inits-35435)
'()))))
(parse-body-34616
(lambda (req-35717
opt-35718
rest-35719
kw-35720
body-35721
vars-35722
r*-35723
w*-35724
inits-35725
meta-35726)
(let ((tmp-35728
($sc-dispatch body-35721 '(any any . each-any))))
(if (if tmp-35728
(@apply
(lambda (docstring-35732 e1-35733 e2-35734)
(string? (syntax->datum docstring-35732)))
tmp-35728)
#f)
(@apply
(lambda (docstring-35735 e1-35736 e2-35737)
(parse-body-34616
req-35717
opt-35718
rest-35719
kw-35720
(cons e1-35736 e2-35737)
vars-35722
r*-35723
w*-35724
inits-35725
(append
meta-35726
(list (cons 'documentation
(syntax->datum docstring-35735))))))
tmp-35728)
(let ((tmp-35738
($sc-dispatch
body-35721
'(#(vector #(each (any . any)))
any
.
each-any))))
(if tmp-35738
(@apply
(lambda (k-35742 v-35743 e1-35744 e2-35745)
(parse-body-34616
req-35717
opt-35718
rest-35719
kw-35720
(cons e1-35744 e2-35745)
vars-35722
r*-35723
w*-35724
inits-35725
(append
meta-35726
(syntax->datum (map cons k-35742 v-35743)))))
tmp-35738)
(let ((tmp-35746
($sc-dispatch body-35721 '(any . each-any))))
(if tmp-35746
(@apply
(lambda (e1-35750 e2-35751)
(values
meta-35726
req-35717
opt-35718
rest-35719
kw-35720
inits-35725
vars-35722
(expand-body-4590
(cons e1-35750 e2-35751)
(let ((x-35763
(begin
(if (if (pair? e-34606)
s-34609
#f)
(set-source-properties!
e-34606
s-34609))
e-34606)))
(if (if (null? (car w-34608))
(null? (cdr w-34608))
#f)
x-35763
(if (if (vector? x-35763)
(if (= (vector-length x-35763) 4)
(eq? (vector-ref x-35763 0)
'syntax-object)
#f)
#f)
(let ((expression-35795
(vector-ref x-35763 1))
(wrap-35796
(let ((w2-35804
(vector-ref
x-35763
2)))
(let ((m1-35805
(car w-34608))
(s1-35806
(cdr w-34608)))
(if (null? m1-35805)
(if (null? s1-35806)
w2-35804
(cons (car w2-35804)
(let ((m2-35821
(cdr w2-35804)))
(if (null? m2-35821)
s1-35806
(append
s1-35806
m2-35821)))))
(cons (let ((m2-35829
(car w2-35804)))
(if (null? m2-35829)
m1-35805
(append
m1-35805
m2-35829)))
(let ((m2-35837
(cdr w2-35804)))
(if (null? m2-35837)
s1-35806
(append
s1-35806
m2-35837))))))))
(module-35797
(vector-ref x-35763 3)))
(vector
'syntax-object
expression-35795
wrap-35796
module-35797))
(if (null? x-35763)
x-35763
(vector
'syntax-object
x-35763
w-34608
mod-34610)))))
r*-35723
w*-35724
mod-34610)))
tmp-35746)
(syntax-violation
#f
"source expression failed to match any pattern"
body-35721))))))))))
(let ((tmp-34618 ($sc-dispatch clauses-34612 '())))
(if tmp-34618
(@apply (lambda () (values '() #f)) tmp-34618)
(let ((tmp-34622
($sc-dispatch
clauses-34612
'((any any . each-any)
.
#(each (any any . each-any))))))
(if tmp-34622
(@apply
(lambda (args-34626
e1-34627
e2-34628
args*-34629
e1*-34630
e2*-34631)
(call-with-values
(lambda () (get-formals-34611 args-34626))
(lambda (req-34632 opt-34633 rest-34634 kw-34635)
(call-with-values
(lambda ()
(parse-req-34613
req-34632
opt-34633
rest-34634
kw-34635
(cons e1-34627 e2-34628)))
(lambda (meta-34702
req-34703
opt-34704
rest-34705
kw-34706
inits-34707
vars-34708
body-34709)
(call-with-values
(lambda ()
(expand-lambda-case-4598
e-34606
r-34607
w-34608
s-34609
mod-34610
get-formals-34611
(map (lambda (tmp-2961-34710
tmp-2960-34711
tmp-2959-34712)
(cons tmp-2959-34712
(cons tmp-2960-34711
tmp-2961-34710)))
e2*-34631
e1*-34630
args*-34629)))
(lambda (meta*-34713 else*-34714)
(values
(append meta-34702 meta*-34713)
(make-struct/no-tail
(vector-ref %expanded-vtables 15)
s-34609
req-34703
opt-34704
rest-34705
kw-34706
inits-34707
vars-34708
body-34709
else*-34714)))))))))
tmp-34622)
(syntax-violation
#f
"source expression failed to match any pattern"
clauses-34612))))))))
(strip-4599
(lambda (x-35864 w-35865)
(if (memq 'top (car w-35865))
x-35864
(letrec*
((f-35866
(lambda (x-35869)
(if (if (vector? x-35869)
(if (= (vector-length x-35869) 4)
(eq? (vector-ref x-35869 0) 'syntax-object)
#f)
#f)
(strip-4599
(vector-ref x-35869 1)
(vector-ref x-35869 2))
(if (pair? x-35869)
(let ((a-35888 (f-35866 (car x-35869)))
(d-35889 (f-35866 (cdr x-35869))))
(if (if (eq? a-35888 (car x-35869))
(eq? d-35889 (cdr x-35869))
#f)
x-35869
(cons a-35888 d-35889)))
(if (vector? x-35869)
(let ((old-35892 (vector->list x-35869)))
(let ((new-35893 (map f-35866 old-35892)))
(letrec*
((lp-35894
(lambda (l1-35991 l2-35992)
(if (null? l1-35991)
x-35869
(if (eq? (car l1-35991) (car l2-35992))
(lp-35894 (cdr l1-35991) (cdr l2-35992))
(list->vector new-35893))))))
(lp-35894 old-35892 new-35893))))
x-35869))))))
(f-35866 x-35864)))))
(gen-var-4600
(lambda (id-34758)
(let ((id-34759
(if (if (vector? id-34758)
(if (= (vector-length id-34758) 4)
(eq? (vector-ref id-34758 0) 'syntax-object)
#f)
#f)
(vector-ref id-34758 1)
id-34758)))
(gensym
(string-append (symbol->string id-34759) "-")))))
(lambda-var-list-4601
(lambda (vars-35993)
(letrec*
((lvl-35994
(lambda (vars-35997 ls-35998 w-35999)
(if (pair? vars-35997)
(lvl-35994
(cdr vars-35997)
(cons (let ((x-36003 (car vars-35997)))
(if (if (null? (car w-35999))
(null? (cdr w-35999))
#f)
x-36003
(if (if (vector? x-36003)
(if (= (vector-length x-36003) 4)
(eq? (vector-ref x-36003 0)
'syntax-object)
#f)
#f)
(let ((expression-36021 (vector-ref x-36003 1))
(wrap-36022
(let ((w2-36030
(vector-ref x-36003 2)))
(let ((m1-36031 (car w-35999))
(s1-36032 (cdr w-35999)))
(if (null? m1-36031)
(if (null? s1-36032)
w2-36030
(cons (car w2-36030)
(let ((m2-36047
(cdr w2-36030)))
(if (null? m2-36047)
s1-36032
(append
s1-36032
m2-36047)))))
(cons (let ((m2-36055
(car w2-36030)))
(if (null? m2-36055)
m1-36031
(append
m1-36031
m2-36055)))
(let ((m2-36063
(cdr w2-36030)))
(if (null? m2-36063)
s1-36032
(append
s1-36032
m2-36063))))))))
(module-36023 (vector-ref x-36003 3)))
(vector
'syntax-object
expression-36021
wrap-36022
module-36023))
(if (null? x-36003)
x-36003
(vector
'syntax-object
x-36003
w-35999
#f)))))
ls-35998)
w-35999)
(if (if (symbol? vars-35997)
#t
(if (if (vector? vars-35997)
(if (= (vector-length vars-35997) 4)
(eq? (vector-ref vars-35997 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref vars-35997 1))
#f))
(cons (if (if (null? (car w-35999))
(null? (cdr w-35999))
#f)
vars-35997
(if (if (vector? vars-35997)
(if (= (vector-length vars-35997) 4)
(eq? (vector-ref vars-35997 0)
'syntax-object)
#f)
#f)
(let ((expression-36133
(vector-ref vars-35997 1))
(wrap-36134
(let ((w2-36144
(vector-ref vars-35997 2)))
(let ((m1-36145 (car w-35999))
(s1-36146 (cdr w-35999)))
(if (null? m1-36145)
(if (null? s1-36146)
w2-36144
(cons (car w2-36144)
(let ((m2-36163
(cdr w2-36144)))
(if (null? m2-36163)
s1-36146
(append
s1-36146
m2-36163)))))
(cons (let ((m2-36171
(car w2-36144)))
(if (null? m2-36171)
m1-36145
(append
m1-36145
m2-36171)))
(let ((m2-36179
(cdr w2-36144)))
(if (null? m2-36179)
s1-36146
(append
s1-36146
m2-36179))))))))
(module-36135 (vector-ref vars-35997 3)))
(vector
'syntax-object
expression-36133
wrap-36134
module-36135))
(if (null? vars-35997)
vars-35997
(vector
'syntax-object
vars-35997
w-35999
#f))))
ls-35998)
(if (null? vars-35997)
ls-35998
(if (if (vector? vars-35997)
(if (= (vector-length vars-35997) 4)
(eq? (vector-ref vars-35997 0) 'syntax-object)
#f)
#f)
(lvl-35994
(vector-ref vars-35997 1)
ls-35998
(let ((w2-36220 (vector-ref vars-35997 2)))
(let ((m1-36221 (car w-35999))
(s1-36222 (cdr w-35999)))
(if (null? m1-36221)
(if (null? s1-36222)
w2-36220
(cons (car w2-36220)
(let ((m2-36233 (cdr w2-36220)))
(if (null? m2-36233)
s1-36222
(append s1-36222 m2-36233)))))
(cons (let ((m2-36241 (car w2-36220)))
(if (null? m2-36241)
m1-36221
(append m1-36221 m2-36241)))
(let ((m2-36249 (cdr w2-36220)))
(if (null? m2-36249)
s1-36222
(append s1-36222 m2-36249))))))))
(cons vars-35997 ls-35998))))))))
(lvl-35994 vars-35993 '() '(()))))))
(begin
(set! session-id-4511
(let ((v-18812
(module-variable
(current-module)
'syntax-session-id)))
(lambda () ((variable-ref v-18812)))))
(set! transformer-environment-4572
(make-fluid
(lambda (k-17456)
(error "called outside the dynamic extent of a syntax transformer"))))
(module-define!
(current-module)
'letrec-syntax
(make-syntax-transformer
'letrec-syntax
'local-syntax
#t))
(module-define!
(current-module)
'let-syntax
(make-syntax-transformer
'let-syntax
'local-syntax
#f))
(global-extend-4548
'core
'syntax-parameterize
(lambda (e-4728 r-4729 w-4730 s-4731 mod-4732)
(let ((tmp-4734
($sc-dispatch
e-4728
'(_ #(each (any any)) any . each-any))))
(if (if tmp-4734
(@apply
(lambda (var-4738 val-4739 e1-4740 e2-4741)
(valid-bound-ids?-4576 var-4738))
tmp-4734)
#f)
(@apply
(lambda (var-4826 val-4827 e1-4828 e2-4829)
(let ((names-4830
(map (lambda (x-5170)
(call-with-values
(lambda ()
(resolve-identifier-4571
x-5170
w-4730
r-4729
mod-4732
#f))
(lambda (type-5173 value-5174 mod-5175)
(if (eqv? type-5173 'displaced-lexical)
(syntax-violation
'syntax-parameterize
"identifier out of context"
e-4728
(let ((x-5188
(begin
(if (if (pair? x-5170)
s-4731
#f)
(set-source-properties!
x-5170
s-4731))
x-5170)))
(if (if (null? (car w-4730))
(null? (cdr w-4730))
#f)
x-5188
(if (if (vector? x-5188)
(if (= (vector-length
x-5188)
4)
(eq? (vector-ref x-5188 0)
'syntax-object)
#f)
#f)
(let ((expression-5220
(vector-ref x-5188 1))
(wrap-5221
(let ((w2-5229
(vector-ref
x-5188
2)))
(let ((m1-5230
(car w-4730))
(s1-5231
(cdr w-4730)))
(if (null? m1-5230)
(if (null? s1-5231)
w2-5229
(cons (car w2-5229)
(let ((m2-5246
(cdr w2-5229)))
(if (null? m2-5246)
s1-5231
(append
s1-5231
m2-5246)))))
(cons (let ((m2-5254
(car w2-5229)))
(if (null? m2-5254)
m1-5230
(append
m1-5230
m2-5254)))
(let ((m2-5262
(cdr w2-5229)))
(if (null? m2-5262)
s1-5231
(append
s1-5231
m2-5262))))))))
(module-5222
(vector-ref x-5188 3)))
(vector
'syntax-object
expression-5220
wrap-5221
module-5222))
(if (null? x-5188)
x-5188
(vector
'syntax-object
x-5188
w-4730
mod-5175))))))
(if (eqv? type-5173 'syntax-parameter)
value-5174
(syntax-violation
'syntax-parameterize
"invalid syntax parameter"
e-4728
(let ((x-5289
(begin
(if (if (pair? x-5170)
s-4731
#f)
(set-source-properties!
x-5170
s-4731))
x-5170)))
(if (if (null? (car w-4730))
(null? (cdr w-4730))
#f)
x-5289
(if (if (vector? x-5289)
(if (= (vector-length
x-5289)
4)
(eq? (vector-ref
x-5289
0)
'syntax-object)
#f)
#f)
(let ((expression-5321
(vector-ref x-5289 1))
(wrap-5322
(let ((w2-5330
(vector-ref
x-5289
2)))
(let ((m1-5331
(car w-4730))
(s1-5332
(cdr w-4730)))
(if (null? m1-5331)
(if (null? s1-5332)
w2-5330
(cons (car w2-5330)
(let ((m2-5347
(cdr w2-5330)))
(if (null? m2-5347)
s1-5332
(append
s1-5332
m2-5347)))))
(cons (let ((m2-5355
(car w2-5330)))
(if (null? m2-5355)
m1-5331
(append
m1-5331
m2-5355)))
(let ((m2-5363
(cdr w2-5330)))
(if (null? m2-5363)
s1-5332
(append
s1-5332
m2-5363))))))))
(module-5323
(vector-ref
x-5289
3)))
(vector
'syntax-object
expression-5321
wrap-5322
module-5323))
(if (null? x-5289)
x-5289
(vector
'syntax-object
x-5289
w-4730
mod-5175)))))))))))
var-4826))
(bindings-4831
(let ((trans-r-5378 (macros-only-env-4547 r-4729)))
(map (lambda (x-5379)
(cons 'macro
(eval-local-transformer-4592
(expand-4586
x-5379
trans-r-5378
w-4730
mod-4732)
mod-4732)))
val-4827))))
(expand-body-4590
(cons e1-4828 e2-4829)
(let ((x-4843
(begin
(if (if (pair? e-4728) s-4731 #f)
(set-source-properties! e-4728 s-4731))
e-4728)))
(if (if (null? (car w-4730)) (null? (cdr w-4730)) #f)
x-4843
(if (if (vector? x-4843)
(if (= (vector-length x-4843) 4)
(eq? (vector-ref x-4843 0) 'syntax-object)
#f)
#f)
(let ((expression-4875 (vector-ref x-4843 1))
(wrap-4876
(let ((w2-4884 (vector-ref x-4843 2)))
(let ((m1-4885 (car w-4730))
(s1-4886 (cdr w-4730)))
(if (null? m1-4885)
(if (null? s1-4886)
w2-4884
(cons (car w2-4884)
(let ((m2-4901
(cdr w2-4884)))
(if (null? m2-4901)
s1-4886
(append
s1-4886
m2-4901)))))
(cons (let ((m2-4909 (car w2-4884)))
(if (null? m2-4909)
m1-4885
(append m1-4885 m2-4909)))
(let ((m2-4917 (cdr w2-4884)))
(if (null? m2-4917)
s1-4886
(append
s1-4886
m2-4917))))))))
(module-4877 (vector-ref x-4843 3)))
(vector
'syntax-object
expression-4875
wrap-4876
module-4877))
(if (null? x-4843)
x-4843
(vector
'syntax-object
x-4843
w-4730
mod-4732)))))
(extend-env-4545 names-4830 bindings-4831 r-4729)
w-4730
mod-4732)))
tmp-4734)
(syntax-violation
'syntax-parameterize
"bad syntax"
(let ((x-5599
(begin
(if (if (pair? e-4728) s-4731 #f)
(set-source-properties! e-4728 s-4731))
e-4728)))
(if (if (null? (car w-4730)) (null? (cdr w-4730)) #f)
x-5599
(if (if (vector? x-5599)
(if (= (vector-length x-5599) 4)
(eq? (vector-ref x-5599 0) 'syntax-object)
#f)
#f)
(let ((expression-5631 (vector-ref x-5599 1))
(wrap-5632
(let ((w2-5640 (vector-ref x-5599 2)))
(let ((m1-5641 (car w-4730))
(s1-5642 (cdr w-4730)))
(if (null? m1-5641)
(if (null? s1-5642)
w2-5640
(cons (car w2-5640)
(let ((m2-5657 (cdr w2-5640)))
(if (null? m2-5657)
s1-5642
(append s1-5642 m2-5657)))))
(cons (let ((m2-5665 (car w2-5640)))
(if (null? m2-5665)
m1-5641
(append m1-5641 m2-5665)))
(let ((m2-5673 (cdr w2-5640)))
(if (null? m2-5673)
s1-5642
(append s1-5642 m2-5673))))))))
(module-5633 (vector-ref x-5599 3)))
(vector
'syntax-object
expression-5631
wrap-5632
module-5633))
(if (null? x-5599)
x-5599
(vector 'syntax-object x-5599 w-4730 mod-4732))))))))))
(module-define!
(current-module)
'quote
(make-syntax-transformer
'quote
'core
(lambda (e-5701 r-5702 w-5703 s-5704 mod-5705)
(let ((tmp-5707 ($sc-dispatch e-5701 '(_ any))))
(if tmp-5707
(@apply
(lambda (e-5710)
(let ((exp-5714 (strip-4599 e-5710 w-5703)))
(make-struct/no-tail
(vector-ref %expanded-vtables 1)
s-5704
exp-5714)))
tmp-5707)
(syntax-violation
'quote
"bad syntax"
(let ((x-5728
(begin
(if (if (pair? e-5701) s-5704 #f)
(set-source-properties! e-5701 s-5704))
e-5701)))
(if (if (null? (car w-5703)) (null? (cdr w-5703)) #f)
x-5728
(if (if (vector? x-5728)
(if (= (vector-length x-5728) 4)
(eq? (vector-ref x-5728 0) 'syntax-object)
#f)
#f)
(let ((expression-5760 (vector-ref x-5728 1))
(wrap-5761
(let ((w2-5769 (vector-ref x-5728 2)))
(let ((m1-5770 (car w-5703))
(s1-5771 (cdr w-5703)))
(if (null? m1-5770)
(if (null? s1-5771)
w2-5769
(cons (car w2-5769)
(let ((m2-5786 (cdr w2-5769)))
(if (null? m2-5786)
s1-5771
(append s1-5771 m2-5786)))))
(cons (let ((m2-5794 (car w2-5769)))
(if (null? m2-5794)
m1-5770
(append m1-5770 m2-5794)))
(let ((m2-5802 (cdr w2-5769)))
(if (null? m2-5802)
s1-5771
(append s1-5771 m2-5802))))))))
(module-5762 (vector-ref x-5728 3)))
(vector
'syntax-object
expression-5760
wrap-5761
module-5762))
(if (null? x-5728)
x-5728
(vector
'syntax-object
x-5728
w-5703
mod-5705)))))))))))
(global-extend-4548
'core
'syntax
(letrec*
((gen-syntax-6020
(lambda (src-6451
e-6452
r-6453
maps-6454
ellipsis?-6455
mod-6456)
(if (if (symbol? e-6452)
#t
(if (if (vector? e-6452)
(if (= (vector-length e-6452) 4)
(eq? (vector-ref e-6452 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref e-6452 1))
#f))
(call-with-values
(lambda ()
(resolve-identifier-4571
e-6452
'(())
r-6453
mod-6456
#f))
(lambda (type-6485 value-6486 mod-6487)
(if (eqv? type-6485 'syntax)
(call-with-values
(lambda ()
(gen-ref-6021
src-6451
(car value-6486)
(cdr value-6486)
maps-6454))
(lambda (var-6493 maps-6494)
(values (list 'ref var-6493) maps-6494)))
(if (ellipsis?-6455 e-6452)
(syntax-violation
'syntax
"misplaced ellipsis"
src-6451)
(values (list 'quote e-6452) maps-6454)))))
(let ((tmp-6496 ($sc-dispatch e-6452 '(any any))))
(if (if tmp-6496
(@apply
(lambda (dots-6500 e-6501)
(ellipsis?-6455 dots-6500))
tmp-6496)
#f)
(@apply
(lambda (dots-6502 e-6503)
(gen-syntax-6020
src-6451
e-6503
r-6453
maps-6454
(lambda (x-6504) #f)
mod-6456))
tmp-6496)
(let ((tmp-6505 ($sc-dispatch e-6452 '(any any . any))))
(if (if tmp-6505
(@apply
(lambda (x-6509 dots-6510 y-6511)
(ellipsis?-6455 dots-6510))
tmp-6505)
#f)
(@apply
(lambda (x-6512 dots-6513 y-6514)
(letrec*
((f-6515
(lambda (y-6523 k-6524)
(let ((tmp-6526
($sc-dispatch
y-6523
'(any . any))))
(if (if tmp-6526
(@apply
(lambda (dots-6530 y-6531)
(ellipsis?-6455 dots-6530))
tmp-6526)
#f)
(@apply
(lambda (dots-6532 y-6533)
(f-6515
y-6533
(lambda (maps-6534)
(call-with-values
(lambda ()
(k-6524
(cons '() maps-6534)))
(lambda (x-6535 maps-6536)
(if (null? (car maps-6536))
(syntax-violation
'syntax
"extra ellipsis"
src-6451)
(values
(let ((map-env-6540
(car maps-6536)))
(list 'apply
'(primitive
append)
(gen-map-6023
x-6535
map-env-6540)))
(cdr maps-6536))))))))
tmp-6526)
(call-with-values
(lambda ()
(gen-syntax-6020
src-6451
y-6523
r-6453
maps-6454
ellipsis?-6455
mod-6456))
(lambda (y-6543 maps-6544)
(call-with-values
(lambda () (k-6524 maps-6544))
(lambda (x-6545 maps-6546)
(values
(if (equal? y-6543 ''())
x-6545
(list 'append
x-6545
y-6543))
maps-6546))))))))))
(f-6515
y-6514
(lambda (maps-6518)
(call-with-values
(lambda ()
(gen-syntax-6020
src-6451
x-6512
r-6453
(cons '() maps-6518)
ellipsis?-6455
mod-6456))
(lambda (x-6519 maps-6520)
(if (null? (car maps-6520))
(syntax-violation
'syntax
"extra ellipsis"
src-6451)
(values
(gen-map-6023
x-6519
(car maps-6520))
(cdr maps-6520)))))))))
tmp-6505)
(let ((tmp-6562 ($sc-dispatch e-6452 '(any . any))))
(if tmp-6562
(@apply
(lambda (x-6566 y-6567)
(call-with-values
(lambda ()
(gen-syntax-6020
src-6451
x-6566
r-6453
maps-6454
ellipsis?-6455
mod-6456))
(lambda (x-6568 maps-6569)
(call-with-values
(lambda ()
(gen-syntax-6020
src-6451
y-6567
r-6453
maps-6569
ellipsis?-6455
mod-6456))
(lambda (y-6570 maps-6571)
(values
(let ((atom-key-6576 (car y-6570)))
(if (eqv? atom-key-6576 'quote)
(if (eq? (car x-6568) 'quote)
(list 'quote
(cons (car (cdr x-6568))
(car (cdr y-6570))))
(if (eq? (car (cdr y-6570))
'())
(list 'list x-6568)
(list 'cons x-6568 y-6570)))
(if (eqv? atom-key-6576 'list)
(cons 'list
(cons x-6568
(cdr y-6570)))
(list 'cons x-6568 y-6570))))
maps-6571))))))
tmp-6562)
(let ((tmp-6605
($sc-dispatch
e-6452
'#(vector (any . each-any)))))
(if tmp-6605
(@apply
(lambda (e1-6609 e2-6610)
(call-with-values
(lambda ()
(gen-syntax-6020
src-6451
(cons e1-6609 e2-6610)
r-6453
maps-6454
ellipsis?-6455
mod-6456))
(lambda (e-6611 maps-6612)
(values
(if (eq? (car e-6611) 'list)
(cons 'vector (cdr e-6611))
(if (eq? (car e-6611) 'quote)
(list 'quote
(list->vector
(car (cdr e-6611))))
(list 'list->vector e-6611)))
maps-6612))))
tmp-6605)
(values
(list 'quote e-6452)
maps-6454))))))))))))
(gen-ref-6021
(lambda (src-6639 var-6640 level-6641 maps-6642)
(if (= level-6641 0)
(values var-6640 maps-6642)
(if (null? maps-6642)
(syntax-violation
'syntax
"missing ellipsis"
src-6639)
(call-with-values
(lambda ()
(gen-ref-6021
src-6639
var-6640
(#{1-}# level-6641)
(cdr maps-6642)))
(lambda (outer-var-6643 outer-maps-6644)
(let ((b-6645 (assq outer-var-6643 (car maps-6642))))
(if b-6645
(values (cdr b-6645) maps-6642)
(let ((inner-var-6647
(gensym
(string-append
(symbol->string 'tmp)
"-"))))
(values
inner-var-6647
(cons (cons (cons outer-var-6643 inner-var-6647)
(car maps-6642))
outer-maps-6644)))))))))))
(gen-map-6023
(lambda (e-6661 map-env-6662)
(let ((formals-6663 (map cdr map-env-6662))
(actuals-6664
(map (lambda (x-6666) (list 'ref (car x-6666)))
map-env-6662)))
(if (eq? (car e-6661) 'ref)
(car actuals-6664)
(if (and-map
(lambda (x-6667)
(if (eq? (car x-6667) 'ref)
(memq (car (cdr x-6667)) formals-6663)
#f))
(cdr e-6661))
(cons 'map
(cons (list 'primitive (car e-6661))
(map (let ((r-6669
(map cons
formals-6663
actuals-6664)))
(lambda (x-6670)
(cdr (assq (car (cdr x-6670))
r-6669))))
(cdr e-6661))))
(cons 'map
(cons (list 'lambda formals-6663 e-6661)
actuals-6664)))))))
(regen-6027
(lambda (x-6672)
(let ((atom-key-6673 (car x-6672)))
(if (eqv? atom-key-6673 'ref)
(let ((name-6683 (car (cdr x-6672)))
(var-6684 (car (cdr x-6672))))
(make-struct/no-tail
(vector-ref %expanded-vtables 3)
#f
name-6683
var-6684))
(if (eqv? atom-key-6673 'primitive)
(let ((name-6695 (car (cdr x-6672))))
(make-struct/no-tail
(vector-ref %expanded-vtables 2)
#f
name-6695))
(if (eqv? atom-key-6673 'quote)
(let ((exp-6706 (car (cdr x-6672))))
(make-struct/no-tail
(vector-ref %expanded-vtables 1)
#f
exp-6706))
(if (eqv? atom-key-6673 'lambda)
(if (list? (car (cdr x-6672)))
(let ((req-6717 (car (cdr x-6672)))
(vars-6719 (car (cdr x-6672)))
(exp-6721
(regen-6027 (car (cdr (cdr x-6672))))))
(let ((body-6726
(make-struct/no-tail
(vector-ref %expanded-vtables 15)
#f
req-6717
#f
#f
#f
'()
vars-6719
exp-6721
#f)))
(make-struct/no-tail
(vector-ref %expanded-vtables 14)
#f
'()
body-6726)))
(error "how did we get here" x-6672))
(let ((name-6742 (car x-6672))
(args-6743 (map regen-6027 (cdr x-6672))))
(make-struct/no-tail
(vector-ref %expanded-vtables 12)
#f
name-6742
args-6743))))))))))
(lambda (e-6028 r-6029 w-6030 s-6031 mod-6032)
(let ((e-6033
(let ((x-6362
(begin
(if (if (pair? e-6028) s-6031 #f)
(set-source-properties! e-6028 s-6031))
e-6028)))
(if (if (null? (car w-6030)) (null? (cdr w-6030)) #f)
x-6362
(if (if (vector? x-6362)
(if (= (vector-length x-6362) 4)
(eq? (vector-ref x-6362 0) 'syntax-object)
#f)
#f)
(let ((expression-6394 (vector-ref x-6362 1))
(wrap-6395
(let ((w2-6403 (vector-ref x-6362 2)))
(let ((m1-6404 (car w-6030))
(s1-6405 (cdr w-6030)))
(if (null? m1-6404)
(if (null? s1-6405)
w2-6403
(cons (car w2-6403)
(let ((m2-6420 (cdr w2-6403)))
(if (null? m2-6420)
s1-6405
(append
s1-6405
m2-6420)))))
(cons (let ((m2-6428 (car w2-6403)))
(if (null? m2-6428)
m1-6404
(append m1-6404 m2-6428)))
(let ((m2-6436 (cdr w2-6403)))
(if (null? m2-6436)
s1-6405
(append
s1-6405
m2-6436))))))))
(module-6396 (vector-ref x-6362 3)))
(vector
'syntax-object
expression-6394
wrap-6395
module-6396))
(if (null? x-6362)
x-6362
(vector
'syntax-object
x-6362
w-6030
mod-6032)))))))
(let ((tmp-6034 e-6033))
(let ((tmp-6035 ($sc-dispatch tmp-6034 '(_ any))))
(if tmp-6035
(@apply
(lambda (x-6083)
(call-with-values
(lambda ()
(gen-syntax-6020
e-6033
x-6083
r-6029
'()
ellipsis?-4594
mod-6032))
(lambda (e-6160 maps-6161) (regen-6027 e-6160))))
tmp-6035)
(syntax-violation
'syntax
"bad `syntax' form"
e-6033))))))))
(global-extend-4548
'core
'lambda
(lambda (e-6974 r-6975 w-6976 s-6977 mod-6978)
(let ((tmp-6980
($sc-dispatch e-6974 '(_ any any . each-any))))
(if tmp-6980
(@apply
(lambda (args-6984 e1-6985 e2-6986)
(call-with-values
(lambda () (lambda-formals-4595 args-6984))
(lambda (req-6989 opt-6990 rest-6991 kw-6992)
(letrec*
((lp-6993
(lambda (body-6996 meta-6997)
(let ((tmp-6999
($sc-dispatch
body-6996
'(any any . each-any))))
(if (if tmp-6999
(@apply
(lambda (docstring-7003 e1-7004 e2-7005)
(string?
(syntax->datum docstring-7003)))
tmp-6999)
#f)
(@apply
(lambda (docstring-7006 e1-7007 e2-7008)
(lp-6993
(cons e1-7007 e2-7008)
(append
meta-6997
(list (cons 'documentation
(syntax->datum
docstring-7006))))))
tmp-6999)
(let ((tmp-7009
($sc-dispatch
body-6996
'(#(vector #(each (any . any)))
any
.
each-any))))
(if tmp-7009
(@apply
(lambda (k-7013 v-7014 e1-7015 e2-7016)
(lp-6993
(cons e1-7015 e2-7016)
(append
meta-6997
(syntax->datum
(map cons k-7013 v-7014)))))
tmp-7009)
(expand-simple-lambda-4596
e-6974
r-6975
w-6976
s-6977
mod-6978
req-6989
rest-6991
meta-6997
body-6996))))))))
(lp-6993 (cons e1-6985 e2-6986) '())))))
tmp-6980)
(syntax-violation 'lambda "bad lambda" e-6974)))))
(global-extend-4548
'core
'lambda*
(lambda (e-7391 r-7392 w-7393 s-7394 mod-7395)
(let ((tmp-7397
($sc-dispatch e-7391 '(_ any any . each-any))))
(if tmp-7397
(@apply
(lambda (args-7401 e1-7402 e2-7403)
(call-with-values
(lambda ()
(expand-lambda-case-4598
e-7391
r-7392
w-7393
s-7394
mod-7395
lambda*-formals-4597
(list (cons args-7401 (cons e1-7402 e2-7403)))))
(lambda (meta-7406 lcase-7407)
(make-struct/no-tail
(vector-ref %expanded-vtables 14)
s-7394
meta-7406
lcase-7407))))
tmp-7397)
(syntax-violation 'lambda "bad lambda*" e-7391)))))
(global-extend-4548
'core
'case-lambda
(lambda (e-7570 r-7571 w-7572 s-7573 mod-7574)
(let ((tmp-7576
($sc-dispatch
e-7570
'(_ (any any . each-any)
.
#(each (any any . each-any))))))
(if tmp-7576
(@apply
(lambda (args-7580
e1-7581
e2-7582
args*-7583
e1*-7584
e2*-7585)
(call-with-values
(lambda ()
(expand-lambda-case-4598
e-7570
r-7571
w-7572
s-7573
mod-7574
lambda-formals-4595
(cons (cons args-7580 (cons e1-7581 e2-7582))
(map (lambda (tmp-3460-7588
tmp-3459-7589
tmp-3458-7590)
(cons tmp-3458-7590
(cons tmp-3459-7589 tmp-3460-7588)))
e2*-7585
e1*-7584
args*-7583))))
(lambda (meta-7591 lcase-7592)
(make-struct/no-tail
(vector-ref %expanded-vtables 14)
s-7573
meta-7591
lcase-7592))))
tmp-7576)
(syntax-violation
'case-lambda
"bad case-lambda"
e-7570)))))
(global-extend-4548
'core
'case-lambda*
(lambda (e-7761 r-7762 w-7763 s-7764 mod-7765)
(let ((tmp-7767
($sc-dispatch
e-7761
'(_ (any any . each-any)
.
#(each (any any . each-any))))))
(if tmp-7767
(@apply
(lambda (args-7771
e1-7772
e2-7773
args*-7774
e1*-7775
e2*-7776)
(call-with-values
(lambda ()
(expand-lambda-case-4598
e-7761
r-7762
w-7763
s-7764
mod-7765
lambda*-formals-4597
(cons (cons args-7771 (cons e1-7772 e2-7773))
(map (lambda (tmp-3495-7779
tmp-3494-7780
tmp-3493-7781)
(cons tmp-3493-7781
(cons tmp-3494-7780 tmp-3495-7779)))
e2*-7776
e1*-7775
args*-7774))))
(lambda (meta-7782 lcase-7783)
(make-struct/no-tail
(vector-ref %expanded-vtables 14)
s-7764
meta-7782
lcase-7783))))
tmp-7767)
(syntax-violation
'case-lambda
"bad case-lambda*"
e-7761)))))
(global-extend-4548
'core
'let
(letrec*
((expand-let-7991
(lambda (e-8201
r-8202
w-8203
s-8204
mod-8205
constructor-8206
ids-8207
vals-8208
exps-8209)
(if (not (valid-bound-ids?-4576 ids-8207))
(syntax-violation
'let
"duplicate bound variable"
e-8201)
(let ((labels-8294 (gen-labels-4553 ids-8207))
(new-vars-8295 (map gen-var-4600 ids-8207)))
(let ((nw-8296
(make-binding-wrap-4564
ids-8207
labels-8294
w-8203))
(nr-8297
(extend-var-env-4546
labels-8294
new-vars-8295
r-8202)))
(constructor-8206
s-8204
(map syntax->datum ids-8207)
new-vars-8295
(map (lambda (x-8314)
(expand-4586 x-8314 r-8202 w-8203 mod-8205))
vals-8208)
(expand-body-4590
exps-8209
(source-wrap-4580 e-8201 nw-8296 s-8204 mod-8205)
nr-8297
nw-8296
mod-8205))))))))
(lambda (e-7992 r-7993 w-7994 s-7995 mod-7996)
(let ((tmp-7998
($sc-dispatch
e-7992
'(_ #(each (any any)) any . each-any))))
(if (if tmp-7998
(@apply
(lambda (id-8002 val-8003 e1-8004 e2-8005)
(and-map id?-4550 id-8002))
tmp-7998)
#f)
(@apply
(lambda (id-8021 val-8022 e1-8023 e2-8024)
(expand-let-7991
e-7992
r-7993
w-7994
s-7995
mod-7996
(lambda (src-8028
ids-8029
vars-8030
val-exps-8031
body-exp-8032)
(begin
(for-each
maybe-name-value!-4515
ids-8029
val-exps-8031)
(if (null? vars-8030)
body-exp-8032
(make-struct/no-tail
(vector-ref %expanded-vtables 16)
src-8028
ids-8029
vars-8030
val-exps-8031
body-exp-8032))))
id-8021
val-8022
(cons e1-8023 e2-8024)))
tmp-7998)
(let ((tmp-8039
($sc-dispatch
e-7992
'(_ any #(each (any any)) any . each-any))))
(if (if tmp-8039
(@apply
(lambda (f-8043 id-8044 val-8045 e1-8046 e2-8047)
(if (if (symbol? f-8043)
#t
(if (if (vector? f-8043)
(if (= (vector-length f-8043) 4)
(eq? (vector-ref f-8043 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref f-8043 1))
#f))
(and-map id?-4550 id-8044)
#f))
tmp-8039)
#f)
(@apply
(lambda (f-8089 id-8090 val-8091 e1-8092 e2-8093)
(expand-let-7991
e-7992
r-7993
w-7994
s-7995
mod-7996
build-named-let-4534
(cons f-8089 id-8090)
val-8091
(cons e1-8092 e2-8093)))
tmp-8039)
(syntax-violation
'let
"bad let"
(let ((x-8106
(begin
(if (if (pair? e-7992) s-7995 #f)
(set-source-properties! e-7992 s-7995))
e-7992)))
(if (if (null? (car w-7994)) (null? (cdr w-7994)) #f)
x-8106
(if (if (vector? x-8106)
(if (= (vector-length x-8106) 4)
(eq? (vector-ref x-8106 0) 'syntax-object)
#f)
#f)
(let ((expression-8138 (vector-ref x-8106 1))
(wrap-8139
(let ((w2-8147 (vector-ref x-8106 2)))
(let ((m1-8148 (car w-7994))
(s1-8149 (cdr w-7994)))
(if (null? m1-8148)
(if (null? s1-8149)
w2-8147
(cons (car w2-8147)
(let ((m2-8164
(cdr w2-8147)))
(if (null? m2-8164)
s1-8149
(append
s1-8149
m2-8164)))))
(cons (let ((m2-8172 (car w2-8147)))
(if (null? m2-8172)
m1-8148
(append m1-8148 m2-8172)))
(let ((m2-8180 (cdr w2-8147)))
(if (null? m2-8180)
s1-8149
(append
s1-8149
m2-8180))))))))
(module-8140 (vector-ref x-8106 3)))
(vector
'syntax-object
expression-8138
wrap-8139
module-8140))
(if (null? x-8106)
x-8106
(vector
'syntax-object
x-8106
w-7994
mod-7996)))))))))))))
(global-extend-4548
'core
'letrec
(lambda (e-8744 r-8745 w-8746 s-8747 mod-8748)
(let ((tmp-8750
($sc-dispatch
e-8744
'(_ #(each (any any)) any . each-any))))
(if (if tmp-8750
(@apply
(lambda (id-8754 val-8755 e1-8756 e2-8757)
(and-map id?-4550 id-8754))
tmp-8750)
#f)
(@apply
(lambda (id-8773 val-8774 e1-8775 e2-8776)
(if (not (valid-bound-ids?-4576 id-8773))
(syntax-violation
'letrec
"duplicate bound variable"
e-8744)
(let ((labels-8873 (gen-labels-4553 id-8773))
(new-vars-8874 (map gen-var-4600 id-8773)))
(let ((w-8875
(make-binding-wrap-4564
id-8773
labels-8873
w-8746))
(r-8876
(extend-var-env-4546
labels-8873
new-vars-8874
r-8745)))
(build-letrec-4535
s-8747
#f
(map syntax->datum id-8773)
new-vars-8874
(map (lambda (x-8953)
(expand-4586 x-8953 r-8876 w-8875 mod-8748))
val-8774)
(expand-body-4590
(cons e1-8775 e2-8776)
(let ((x-9015
(begin
(if (if (pair? e-8744) s-8747 #f)
(set-source-properties! e-8744 s-8747))
e-8744)))
(if (if (null? (car w-8875))
(null? (cdr w-8875))
#f)
x-9015
(if (if (vector? x-9015)
(if (= (vector-length x-9015) 4)
(eq? (vector-ref x-9015 0)
'syntax-object)
#f)
#f)
(let ((expression-9047 (vector-ref x-9015 1))
(wrap-9048
(let ((w2-9056
(vector-ref x-9015 2)))
(let ((m1-9057 (car w-8875))
(s1-9058 (cdr w-8875)))
(if (null? m1-9057)
(if (null? s1-9058)
w2-9056
(cons (car w2-9056)
(let ((m2-9073
(cdr w2-9056)))
(if (null? m2-9073)
s1-9058
(append
s1-9058
m2-9073)))))
(cons (let ((m2-9081
(car w2-9056)))
(if (null? m2-9081)
m1-9057
(append
m1-9057
m2-9081)))
(let ((m2-9089
(cdr w2-9056)))
(if (null? m2-9089)
s1-9058
(append
s1-9058
m2-9089))))))))
(module-9049 (vector-ref x-9015 3)))
(vector
'syntax-object
expression-9047
wrap-9048
module-9049))
(if (null? x-9015)
x-9015
(vector
'syntax-object
x-9015
w-8875
mod-8748)))))
r-8876
w-8875
mod-8748))))))
tmp-8750)
(syntax-violation
'letrec
"bad letrec"
(let ((x-9300
(begin
(if (if (pair? e-8744) s-8747 #f)
(set-source-properties! e-8744 s-8747))
e-8744)))
(if (if (null? (car w-8746)) (null? (cdr w-8746)) #f)
x-9300
(if (if (vector? x-9300)
(if (= (vector-length x-9300) 4)
(eq? (vector-ref x-9300 0) 'syntax-object)
#f)
#f)
(let ((expression-9332 (vector-ref x-9300 1))
(wrap-9333
(let ((w2-9341 (vector-ref x-9300 2)))
(let ((m1-9342 (car w-8746))
(s1-9343 (cdr w-8746)))
(if (null? m1-9342)
(if (null? s1-9343)
w2-9341
(cons (car w2-9341)
(let ((m2-9358 (cdr w2-9341)))
(if (null? m2-9358)
s1-9343
(append s1-9343 m2-9358)))))
(cons (let ((m2-9366 (car w2-9341)))
(if (null? m2-9366)
m1-9342
(append m1-9342 m2-9366)))
(let ((m2-9374 (cdr w2-9341)))
(if (null? m2-9374)
s1-9343
(append s1-9343 m2-9374))))))))
(module-9334 (vector-ref x-9300 3)))
(vector
'syntax-object
expression-9332
wrap-9333
module-9334))
(if (null? x-9300)
x-9300
(vector 'syntax-object x-9300 w-8746 mod-8748))))))))))
(global-extend-4548
'core
'letrec*
(lambda (e-9525 r-9526 w-9527 s-9528 mod-9529)
(let ((tmp-9531
($sc-dispatch
e-9525
'(_ #(each (any any)) any . each-any))))
(if (if tmp-9531
(@apply
(lambda (id-9535 val-9536 e1-9537 e2-9538)
(and-map id?-4550 id-9535))
tmp-9531)
#f)
(@apply
(lambda (id-9554 val-9555 e1-9556 e2-9557)
(if (not (valid-bound-ids?-4576 id-9554))
(syntax-violation
'letrec*
"duplicate bound variable"
e-9525)
(let ((labels-9654 (gen-labels-4553 id-9554))
(new-vars-9655 (map gen-var-4600 id-9554)))
(let ((w-9656
(make-binding-wrap-4564
id-9554
labels-9654
w-9527))
(r-9657
(extend-var-env-4546
labels-9654
new-vars-9655
r-9526)))
(build-letrec-4535
s-9528
#t
(map syntax->datum id-9554)
new-vars-9655
(map (lambda (x-9734)
(expand-4586 x-9734 r-9657 w-9656 mod-9529))
val-9555)
(expand-body-4590
(cons e1-9556 e2-9557)
(let ((x-9796
(begin
(if (if (pair? e-9525) s-9528 #f)
(set-source-properties! e-9525 s-9528))
e-9525)))
(if (if (null? (car w-9656))
(null? (cdr w-9656))
#f)
x-9796
(if (if (vector? x-9796)
(if (= (vector-length x-9796) 4)
(eq? (vector-ref x-9796 0)
'syntax-object)
#f)
#f)
(let ((expression-9828 (vector-ref x-9796 1))
(wrap-9829
(let ((w2-9837
(vector-ref x-9796 2)))
(let ((m1-9838 (car w-9656))
(s1-9839 (cdr w-9656)))
(if (null? m1-9838)
(if (null? s1-9839)
w2-9837
(cons (car w2-9837)
(let ((m2-9854
(cdr w2-9837)))
(if (null? m2-9854)
s1-9839
(append
s1-9839
m2-9854)))))
(cons (let ((m2-9862
(car w2-9837)))
(if (null? m2-9862)
m1-9838
(append
m1-9838
m2-9862)))
(let ((m2-9870
(cdr w2-9837)))
(if (null? m2-9870)
s1-9839
(append
s1-9839
m2-9870))))))))
(module-9830 (vector-ref x-9796 3)))
(vector
'syntax-object
expression-9828
wrap-9829
module-9830))
(if (null? x-9796)
x-9796
(vector
'syntax-object
x-9796
w-9656
mod-9529)))))
r-9657
w-9656
mod-9529))))))
tmp-9531)
(syntax-violation
'letrec*
"bad letrec*"
(let ((x-10081
(begin
(if (if (pair? e-9525) s-9528 #f)
(set-source-properties! e-9525 s-9528))
e-9525)))
(if (if (null? (car w-9527)) (null? (cdr w-9527)) #f)
x-10081
(if (if (vector? x-10081)
(if (= (vector-length x-10081) 4)
(eq? (vector-ref x-10081 0) 'syntax-object)
#f)
#f)
(let ((expression-10113 (vector-ref x-10081 1))
(wrap-10114
(let ((w2-10122 (vector-ref x-10081 2)))
(let ((m1-10123 (car w-9527))
(s1-10124 (cdr w-9527)))
(if (null? m1-10123)
(if (null? s1-10124)
w2-10122
(cons (car w2-10122)
(let ((m2-10139 (cdr w2-10122)))
(if (null? m2-10139)
s1-10124
(append s1-10124 m2-10139)))))
(cons (let ((m2-10147 (car w2-10122)))
(if (null? m2-10147)
m1-10123
(append m1-10123 m2-10147)))
(let ((m2-10155 (cdr w2-10122)))
(if (null? m2-10155)
s1-10124
(append s1-10124 m2-10155))))))))
(module-10115 (vector-ref x-10081 3)))
(vector
'syntax-object
expression-10113
wrap-10114
module-10115))
(if (null? x-10081)
x-10081
(vector
'syntax-object
x-10081
w-9527
mod-9529))))))))))
(global-extend-4548
'core
'set!
(lambda (e-10314 r-10315 w-10316 s-10317 mod-10318)
(let ((tmp-10320 ($sc-dispatch e-10314 '(_ any any))))
(if (if tmp-10320
(@apply
(lambda (id-10324 val-10325)
(if (symbol? id-10324)
#t
(if (if (vector? id-10324)
(if (= (vector-length id-10324) 4)
(eq? (vector-ref id-10324 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref id-10324 1))
#f)))
tmp-10320)
#f)
(@apply
(lambda (id-10352 val-10353)
(call-with-values
(lambda ()
(resolve-identifier-4571
id-10352
w-10316
r-10315
mod-10318
#t))
(lambda (type-10356 value-10357 id-mod-10358)
(if (eqv? type-10356 'lexical)
(build-lexical-assignment-4521
s-10317
(syntax->datum id-10352)
value-10357
(expand-4586 val-10353 r-10315 w-10316 mod-10318))
(if (eqv? type-10356 'global)
(build-global-assignment-4524
s-10317
value-10357
(expand-4586 val-10353 r-10315 w-10316 mod-10318)
id-mod-10358)
(if (eqv? type-10356 'macro)
(if (procedure-property
value-10357
'variable-transformer)
(expand-4586
(expand-macro-4589
value-10357
e-10314
r-10315
w-10316
s-10317
#f
mod-10318)
r-10315
'(())
mod-10318)
(syntax-violation
'set!
"not a variable transformer"
(if (if (null? (car w-10316))
(null? (cdr w-10316))
#f)
e-10314
(if (if (vector? e-10314)
(if (= (vector-length e-10314) 4)
(eq? (vector-ref e-10314 0)
'syntax-object)
#f)
#f)
(let ((expression-10798
(vector-ref e-10314 1))
(wrap-10799
(let ((w2-10809
(vector-ref e-10314 2)))
(let ((m1-10810 (car w-10316))
(s1-10811 (cdr w-10316)))
(if (null? m1-10810)
(if (null? s1-10811)
w2-10809
(cons (car w2-10809)
(let ((m2-10828
(cdr w2-10809)))
(if (null? m2-10828)
s1-10811
(append
s1-10811
m2-10828)))))
(cons (let ((m2-10836
(car w2-10809)))
(if (null? m2-10836)
m1-10810
(append
m1-10810
m2-10836)))
(let ((m2-10844
(cdr w2-10809)))
(if (null? m2-10844)
s1-10811
(append
s1-10811
m2-10844))))))))
(module-10800
(vector-ref e-10314 3)))
(vector
'syntax-object
expression-10798
wrap-10799
module-10800))
(if (null? e-10314)
e-10314
(vector
'syntax-object
e-10314
w-10316
mod-10318))))
(if (if (null? (car w-10316))
(null? (cdr w-10316))
#f)
id-10352
(if (if (vector? id-10352)
(if (= (vector-length id-10352) 4)
(eq? (vector-ref id-10352 0)
'syntax-object)
#f)
#f)
(let ((expression-10896
(vector-ref id-10352 1))
(wrap-10897
(let ((w2-10907
(vector-ref id-10352 2)))
(let ((m1-10908 (car w-10316))
(s1-10909 (cdr w-10316)))
(if (null? m1-10908)
(if (null? s1-10909)
w2-10907
(cons (car w2-10907)
(let ((m2-10926
(cdr w2-10907)))
(if (null? m2-10926)
s1-10909
(append
s1-10909
m2-10926)))))
(cons (let ((m2-10934
(car w2-10907)))
(if (null? m2-10934)
m1-10908
(append
m1-10908
m2-10934)))
(let ((m2-10942
(cdr w2-10907)))
(if (null? m2-10942)
s1-10909
(append
s1-10909
m2-10942))))))))
(module-10898
(vector-ref id-10352 3)))
(vector
'syntax-object
expression-10896
wrap-10897
module-10898))
(if (null? id-10352)
id-10352
(vector
'syntax-object
id-10352
w-10316
id-mod-10358))))))
(if (eqv? type-10356 'displaced-lexical)
(syntax-violation
'set!
"identifier out of context"
(if (if (null? (car w-10316))
(null? (cdr w-10316))
#f)
id-10352
(if (if (vector? id-10352)
(if (= (vector-length id-10352) 4)
(eq? (vector-ref id-10352 0)
'syntax-object)
#f)
#f)
(let ((expression-10997
(vector-ref id-10352 1))
(wrap-10998
(let ((w2-11008
(vector-ref id-10352 2)))
(let ((m1-11009 (car w-10316))
(s1-11010 (cdr w-10316)))
(if (null? m1-11009)
(if (null? s1-11010)
w2-11008
(cons (car w2-11008)
(let ((m2-11027
(cdr w2-11008)))
(if (null? m2-11027)
s1-11010
(append
s1-11010
m2-11027)))))
(cons (let ((m2-11035
(car w2-11008)))
(if (null? m2-11035)
m1-11009
(append
m1-11009
m2-11035)))
(let ((m2-11043
(cdr w2-11008)))
(if (null? m2-11043)
s1-11010
(append
s1-11010
m2-11043))))))))
(module-10999
(vector-ref id-10352 3)))
(vector
'syntax-object
expression-10997
wrap-10998
module-10999))
(if (null? id-10352)
id-10352
(vector
'syntax-object
id-10352
w-10316
mod-10318)))))
(syntax-violation
'set!
"bad set!"
(let ((x-11075
(begin
(if (if (pair? e-10314) s-10317 #f)
(set-source-properties!
e-10314
s-10317))
e-10314)))
(if (if (null? (car w-10316))
(null? (cdr w-10316))
#f)
x-11075
(if (if (vector? x-11075)
(if (= (vector-length x-11075) 4)
(eq? (vector-ref x-11075 0)
'syntax-object)
#f)
#f)
(let ((expression-11107
(vector-ref x-11075 1))
(wrap-11108
(let ((w2-11116
(vector-ref x-11075 2)))
(let ((m1-11117 (car w-10316))
(s1-11118 (cdr w-10316)))
(if (null? m1-11117)
(if (null? s1-11118)
w2-11116
(cons (car w2-11116)
(let ((m2-11133
(cdr w2-11116)))
(if (null? m2-11133)
s1-11118
(append
s1-11118
m2-11133)))))
(cons (let ((m2-11141
(car w2-11116)))
(if (null? m2-11141)
m1-11117
(append
m1-11117
m2-11141)))
(let ((m2-11149
(cdr w2-11116)))
(if (null? m2-11149)
s1-11118
(append
s1-11118
m2-11149))))))))
(module-11109
(vector-ref x-11075 3)))
(vector
'syntax-object
expression-11107
wrap-11108
module-11109))
(if (null? x-11075)
x-11075
(vector
'syntax-object
x-11075
w-10316
mod-10318)))))))))))))
tmp-10320)
(let ((tmp-11164
($sc-dispatch e-10314 '(_ (any . each-any) any))))
(if tmp-11164
(@apply
(lambda (head-11168 tail-11169 val-11170)
(call-with-values
(lambda ()
(syntax-type-4585
head-11168
r-10315
'(())
#f
#f
mod-10318
#t))
(lambda (type-11173
value-11174
ee*-11175
ee-11176
ww-11177
ss-11178
modmod-11179)
(if (eqv? type-11173 'module-ref)
(let ((val-11183
(expand-4586
val-11170
r-10315
w-10316
mod-10318)))
(call-with-values
(lambda ()
(value-11174
(cons head-11168 tail-11169)
r-10315
w-10316))
(lambda (e-11184
r-11185
w-11186
s*-11187
mod-11188)
(let ((tmp-11190 (list e-11184)))
(if (@apply
(lambda (e-11192)
(if (symbol? e-11192)
#t
(if (if (vector? e-11192)
(if (= (vector-length
e-11192)
4)
(eq? (vector-ref
e-11192
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref e-11192 1))
#f)))
tmp-11190)
(@apply
(lambda (e-11222)
(build-global-assignment-4524
s-10317
(syntax->datum e-11222)
val-11183
mod-11188))
tmp-11190)
(syntax-violation
#f
"source expression failed to match any pattern"
e-11184))))))
(build-call-4517
s-10317
(expand-4586
(list '#(syntax-object
setter
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(type value ee* ee ww ss modmod)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("l-*-3734"
"l-*-3735"
"l-*-3736"
"l-*-3737"
"l-*-3738"
"l-*-3739"
"l-*-3740"))
#(ribcage
#(head tail val)
#((top) (top) (top))
#("l-*-3719"
"l-*-3720"
"l-*-3721"))
#(ribcage () () ())
#(ribcage
#(e r w s mod)
#((top) (top) (top) (top) (top))
#("l-*-3691"
"l-*-3692"
"l-*-3693"
"l-*-3694"
"l-*-3695"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile))
head-11168)
r-10315
w-10316
mod-10318)
(map (lambda (e-11535)
(expand-4586
e-11535
r-10315
w-10316
mod-10318))
(append tail-11169 (list val-11170))))))))
tmp-11164)
(syntax-violation
'set!
"bad set!"
(let ((x-11623
(begin
(if (if (pair? e-10314) s-10317 #f)
(set-source-properties! e-10314 s-10317))
e-10314)))
(if (if (null? (car w-10316))
(null? (cdr w-10316))
#f)
x-11623
(if (if (vector? x-11623)
(if (= (vector-length x-11623) 4)
(eq? (vector-ref x-11623 0) 'syntax-object)
#f)
#f)
(let ((expression-11655 (vector-ref x-11623 1))
(wrap-11656
(let ((w2-11664 (vector-ref x-11623 2)))
(let ((m1-11665 (car w-10316))
(s1-11666 (cdr w-10316)))
(if (null? m1-11665)
(if (null? s1-11666)
w2-11664
(cons (car w2-11664)
(let ((m2-11681
(cdr w2-11664)))
(if (null? m2-11681)
s1-11666
(append
s1-11666
m2-11681)))))
(cons (let ((m2-11689 (car w2-11664)))
(if (null? m2-11689)
m1-11665
(append m1-11665 m2-11689)))
(let ((m2-11697 (cdr w2-11664)))
(if (null? m2-11697)
s1-11666
(append
s1-11666
m2-11697))))))))
(module-11657 (vector-ref x-11623 3)))
(vector
'syntax-object
expression-11655
wrap-11656
module-11657))
(if (null? x-11623)
x-11623
(vector
'syntax-object
x-11623
w-10316
mod-10318))))))))))))
(module-define!
(current-module)
'@
(make-syntax-transformer
'@
'module-ref
(lambda (e-11728 r-11729 w-11730)
(let ((tmp-11732
($sc-dispatch e-11728 '(_ each-any any))))
(if (if tmp-11732
(@apply
(lambda (mod-11735 id-11736)
(if (and-map id?-4550 mod-11735)
(if (symbol? id-11736)
#t
(if (if (vector? id-11736)
(if (= (vector-length id-11736) 4)
(eq? (vector-ref id-11736 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref id-11736 1))
#f))
#f))
tmp-11732)
#f)
(@apply
(lambda (mod-11776 id-11777)
(values
(syntax->datum id-11777)
r-11729
w-11730
#f
(syntax->datum
(cons '#(syntax-object
public
((top)
#(ribcage
#(mod id)
#((top) (top))
#("l-*-3782" "l-*-3783"))
#(ribcage () () ())
#(ribcage
#(e r w)
#((top) (top) (top))
#("l-*-3770" "l-*-3771" "l-*-3772"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile))
mod-11776))))
tmp-11732)
(syntax-violation
#f
"source expression failed to match any pattern"
e-11728))))))
(global-extend-4548
'module-ref
'@@
(lambda (e-11877 r-11878 w-11879)
(letrec*
((remodulate-11880
(lambda (x-12098 mod-12099)
(if (pair? x-12098)
(cons (remodulate-11880 (car x-12098) mod-12099)
(remodulate-11880 (cdr x-12098) mod-12099))
(if (if (vector? x-12098)
(if (= (vector-length x-12098) 4)
(eq? (vector-ref x-12098 0) 'syntax-object)
#f)
#f)
(let ((expression-12113
(remodulate-11880
(vector-ref x-12098 1)
mod-12099))
(wrap-12114 (vector-ref x-12098 2)))
(vector
'syntax-object
expression-12113
wrap-12114
mod-12099))
(if (vector? x-12098)
(let ((n-12122 (vector-length x-12098)))
(let ((v-12123 (make-vector n-12122)))
(letrec*
((loop-12124
(lambda (i-12179)
(if (= i-12179 n-12122)
v-12123
(begin
(vector-set!
v-12123
i-12179
(remodulate-11880
(vector-ref x-12098 i-12179)
mod-12099))
(loop-12124 (#{1+}# i-12179)))))))
(loop-12124 0))))
x-12098))))))
(let ((tmp-11882
($sc-dispatch e-11877 '(_ each-any any))))
(if (if tmp-11882
(@apply
(lambda (mod-11886 exp-11887)
(and-map id?-4550 mod-11886))
tmp-11882)
#f)
(@apply
(lambda (mod-11903 exp-11904)
(let ((mod-11905
(syntax->datum
(cons '#(syntax-object
private
((top)
#(ribcage
#(mod exp)
#((top) (top))
#("l-*-3826" "l-*-3827"))
#(ribcage
(remodulate)
((top))
("l-*-3793"))
#(ribcage
#(e r w)
#((top) (top) (top))
#("l-*-3790" "l-*-3791" "l-*-3792"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile))
mod-11903))))
(values
(remodulate-11880 exp-11904 mod-11905)
r-11878
w-11879
(source-annotation-4544 exp-11904)
mod-11905)))
tmp-11882)
(syntax-violation
#f
"source expression failed to match any pattern"
e-11877))))))
(global-extend-4548
'core
'if
(lambda (e-12288 r-12289 w-12290 s-12291 mod-12292)
(let ((tmp-12294 ($sc-dispatch e-12288 '(_ any any))))
(if tmp-12294
(@apply
(lambda (test-12298 then-12299)
(build-conditional-4518
s-12291
(expand-4586
test-12298
r-12289
w-12290
mod-12292)
(expand-4586
then-12299
r-12289
w-12290
mod-12292)
(make-struct/no-tail
(vector-ref %expanded-vtables 0)
#f)))
tmp-12294)
(let ((tmp-12548
($sc-dispatch e-12288 '(_ any any any))))
(if tmp-12548
(@apply
(lambda (test-12552 then-12553 else-12554)
(build-conditional-4518
s-12291
(expand-4586
test-12552
r-12289
w-12290
mod-12292)
(expand-4586
then-12553
r-12289
w-12290
mod-12292)
(expand-4586
else-12554
r-12289
w-12290
mod-12292)))
tmp-12548)
(syntax-violation
#f
"source expression failed to match any pattern"
e-12288)))))))
(global-extend-4548
'core
'with-fluids
(lambda (e-12993 r-12994 w-12995 s-12996 mod-12997)
(let ((tmp-12999
($sc-dispatch
e-12993
'(_ #(each (any any)) any . each-any))))
(if tmp-12999
(@apply
(lambda (fluid-13003 val-13004 b-13005 b*-13006)
(build-dynlet-4519
s-12996
(map (lambda (x-13095)
(expand-4586 x-13095 r-12994 w-12995 mod-12997))
fluid-13003)
(map (lambda (x-13173)
(expand-4586 x-13173 r-12994 w-12995 mod-12997))
val-13004)
(expand-body-4590
(cons b-13005 b*-13006)
(let ((x-13262
(begin
(if (if (pair? e-12993) s-12996 #f)
(set-source-properties! e-12993 s-12996))
e-12993)))
(if (if (null? (car w-12995))
(null? (cdr w-12995))
#f)
x-13262
(if (if (vector? x-13262)
(if (= (vector-length x-13262) 4)
(eq? (vector-ref x-13262 0) 'syntax-object)
#f)
#f)
(let ((expression-13294 (vector-ref x-13262 1))
(wrap-13295
(let ((w2-13303 (vector-ref x-13262 2)))
(let ((m1-13304 (car w-12995))
(s1-13305 (cdr w-12995)))
(if (null? m1-13304)
(if (null? s1-13305)
w2-13303
(cons (car w2-13303)
(let ((m2-13320
(cdr w2-13303)))
(if (null? m2-13320)
s1-13305
(append
s1-13305
m2-13320)))))
(cons (let ((m2-13328
(car w2-13303)))
(if (null? m2-13328)
m1-13304
(append
m1-13304
m2-13328)))
(let ((m2-13336
(cdr w2-13303)))
(if (null? m2-13336)
s1-13305
(append
s1-13305
m2-13336))))))))
(module-13296 (vector-ref x-13262 3)))
(vector
'syntax-object
expression-13294
wrap-13295
module-13296))
(if (null? x-13262)
x-13262
(vector
'syntax-object
x-13262
w-12995
mod-12997)))))
r-12994
w-12995
mod-12997)))
tmp-12999)
(syntax-violation
#f
"source expression failed to match any pattern"
e-12993)))))
(module-define!
(current-module)
'begin
(make-syntax-transformer 'begin 'begin '()))
(module-define!
(current-module)
'define
(make-syntax-transformer 'define 'define '()))
(module-define!
(current-module)
'define-syntax
(make-syntax-transformer
'define-syntax
'define-syntax
'()))
(module-define!
(current-module)
'define-syntax-parameter
(make-syntax-transformer
'define-syntax-parameter
'define-syntax-parameter
'()))
(module-define!
(current-module)
'eval-when
(make-syntax-transformer
'eval-when
'eval-when
'()))
(global-extend-4548
'core
'syntax-case
(letrec*
((convert-pattern-13636
(lambda (pattern-15258 keys-15259)
(letrec*
((cvt*-15260
(lambda (p*-16059 n-16060 ids-16061)
(if (not (pair? p*-16059))
(cvt-15262 p*-16059 n-16060 ids-16061)
(call-with-values
(lambda ()
(cvt*-15260 (cdr p*-16059) n-16060 ids-16061))
(lambda (y-16064 ids-16065)
(call-with-values
(lambda ()
(cvt-15262 (car p*-16059) n-16060 ids-16065))
(lambda (x-16068 ids-16069)
(values
(cons x-16068 y-16064)
ids-16069))))))))
(v-reverse-15261
(lambda (x-16070)
(letrec*
((loop-16071
(lambda (r-16172 x-16173)
(if (not (pair? x-16173))
(values r-16172 x-16173)
(loop-16071
(cons (car x-16173) r-16172)
(cdr x-16173))))))
(loop-16071 '() x-16070))))
(cvt-15262
(lambda (p-15265 n-15266 ids-15267)
(if (if (symbol? p-15265)
#t
(if (if (vector? p-15265)
(if (= (vector-length p-15265) 4)
(eq? (vector-ref p-15265 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref p-15265 1))
#f))
(if (bound-id-member?-4578 p-15265 keys-15259)
(values (vector 'free-id p-15265) ids-15267)
(if (free-id=?-4574
p-15265
'#(syntax-object
_
((top)
#(ribcage () () ())
#(ribcage
#(p n ids)
#((top) (top) (top))
#("l-*-3927" "l-*-3928" "l-*-3929"))
#(ribcage
(cvt v-reverse cvt*)
((top) (top) (top))
("l-*-3900" "l-*-3898" "l-*-3896"))
#(ribcage
#(pattern keys)
#((top) (top))
#("l-*-3894" "l-*-3895"))
#(ribcage
(gen-syntax-case
gen-clause
build-dispatch-call
convert-pattern)
((top) (top) (top) (top))
("l-*-3890"
"l-*-3888"
"l-*-3886"
"l-*-3884"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile)))
(values '_ ids-15267)
(values
'any
(cons (cons p-15265 n-15266) ids-15267))))
(let ((tmp-15399 ($sc-dispatch p-15265 '(any any))))
(if (if tmp-15399
(@apply
(lambda (x-15403 dots-15404)
(if (if (if (vector? dots-15404)
(if (= (vector-length dots-15404)
4)
(eq? (vector-ref dots-15404 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref dots-15404 1))
#f)
(free-id=?-4574
dots-15404
'#(syntax-object
...
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-2416"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile)))
#f))
tmp-15399)
#f)
(@apply
(lambda (x-15443 dots-15444)
(call-with-values
(lambda ()
(cvt-15262
x-15443
(#{1+}# n-15266)
ids-15267))
(lambda (p-15445 ids-15446)
(values
(if (eq? p-15445 'any)
'each-any
(vector 'each p-15445))
ids-15446))))
tmp-15399)
(let ((tmp-15447
($sc-dispatch p-15265 '(any any . any))))
(if (if tmp-15447
(@apply
(lambda (x-15451 dots-15452 ys-15453)
(if (if (if (vector? dots-15452)
(if (= (vector-length
dots-15452)
4)
(eq? (vector-ref
dots-15452
0)
'syntax-object)
#f)
#f)
(symbol?
(vector-ref dots-15452 1))
#f)
(free-id=?-4574
dots-15452
'#(syntax-object
...
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-2416"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile)))
#f))
tmp-15447)
#f)
(@apply
(lambda (x-15492 dots-15493 ys-15494)
(call-with-values
(lambda ()
(cvt*-15260
ys-15494
n-15266
ids-15267))
(lambda (ys-15979 ids-15980)
(call-with-values
(lambda ()
(cvt-15262
x-15492
(#{1+}# n-15266)
ids-15980))
(lambda (x-15981 ids-15982)
(call-with-values
(lambda ()
(v-reverse-15261 ys-15979))
(lambda (ys-16018 e-16019)
(values
(vector
'each+
x-15981
ys-16018
e-16019)
ids-15982))))))))
tmp-15447)
(let ((tmp-16020
($sc-dispatch p-15265 '(any . any))))
(if tmp-16020
(@apply
(lambda (x-16024 y-16025)
(call-with-values
(lambda ()
(cvt-15262
y-16025
n-15266
ids-15267))
(lambda (y-16026 ids-16027)
(call-with-values
(lambda ()
(cvt-15262
x-16024
n-15266
ids-16027))
(lambda (x-16028 ids-16029)
(values
(cons x-16028 y-16026)
ids-16029))))))
tmp-16020)
(let ((tmp-16030
($sc-dispatch p-15265 '())))
(if tmp-16030
(@apply
(lambda () (values '() ids-15267))
tmp-16030)
(let ((tmp-16034
($sc-dispatch
p-15265
'#(vector each-any))))
(if tmp-16034
(@apply
(lambda (x-16038)
(call-with-values
(lambda ()
(cvt-15262
x-16038
n-15266
ids-15267))
(lambda (p-16039 ids-16040)
(values
(vector 'vector p-16039)
ids-16040))))
tmp-16034)
(values
(vector
'atom
(strip-4599 p-15265 '(())))
ids-15267)))))))))))))))
(cvt-15262 pattern-15258 0 '()))))
(build-dispatch-call-13637
(lambda (pvars-16174 exp-16175 y-16176 r-16177 mod-16178)
(let ((ids-16179 (map car pvars-16174)))
(begin
(map cdr pvars-16174)
(let ((labels-16181 (gen-labels-4553 ids-16179))
(new-vars-16182 (map gen-var-4600 ids-16179)))
(build-primcall-4529
#f
'apply
(list (build-simple-lambda-4526
#f
(map syntax->datum ids-16179)
#f
new-vars-16182
'()
(expand-4586
exp-16175
(extend-env-4545
labels-16181
(map (lambda (var-16510 level-16511)
(cons 'syntax
(cons var-16510 level-16511)))
new-vars-16182
(map cdr pvars-16174))
r-16177)
(make-binding-wrap-4564
ids-16179
labels-16181
'(()))
mod-16178))
y-16176)))))))
(gen-clause-13638
(lambda (x-14842
keys-14843
clauses-14844
r-14845
pat-14846
fender-14847
exp-14848
mod-14849)
(call-with-values
(lambda ()
(convert-pattern-13636 pat-14846 keys-14843))
(lambda (p-14987 pvars-14988)
(if (not (distinct-bound-ids?-4577 (map car pvars-14988)))
(syntax-violation
'syntax-case
"duplicate pattern variable"
pat-14846)
(if (not (and-map
(lambda (x-15097)
(not (let ((x-15101 (car x-15097)))
(if (if (if (vector? x-15101)
(if (= (vector-length
x-15101)
4)
(eq? (vector-ref
x-15101
0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref x-15101 1))
#f)
(free-id=?-4574
x-15101
'#(syntax-object
...
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-2416"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47"
"l-*-46"
"l-*-45"))
#(ribcage () () ()))
(hygiene guile)))
#f))))
pvars-14988))
(syntax-violation
'syntax-case
"misplaced ellipsis"
pat-14846)
(let ((y-15126
(gensym
(string-append (symbol->string 'tmp) "-"))))
(let ((fun-exp-15131
(let ((req-15140 (list 'tmp))
(vars-15142 (list y-15126))
(exp-15144
(let ((y-15173
(make-struct/no-tail
(vector-ref
%expanded-vtables
3)
#f
'tmp
y-15126)))
(let ((test-exp-15177
(let ((tmp-15186
($sc-dispatch
fender-14847
'#(atom #t))))
(if tmp-15186
(@apply
(lambda () y-15173)
tmp-15186)
(let ((then-exp-15204
(build-dispatch-call-13637
pvars-14988
fender-14847
y-15173
r-14845
mod-14849))
(else-exp-15205
(make-struct/no-tail
(vector-ref
%expanded-vtables
1)
#f
#f)))
(make-struct/no-tail
(vector-ref
%expanded-vtables
10)
#f
y-15173
then-exp-15204
else-exp-15205)))))
(then-exp-15178
(build-dispatch-call-13637
pvars-14988
exp-14848
y-15173
r-14845
mod-14849))
(else-exp-15179
(gen-syntax-case-13639
x-14842
keys-14843
clauses-14844
r-14845
mod-14849)))
(make-struct/no-tail
(vector-ref
%expanded-vtables
10)
#f
test-exp-15177
then-exp-15178
else-exp-15179)))))
(let ((body-15149
(make-struct/no-tail
(vector-ref %expanded-vtables 15)
#f
req-15140
#f
#f
#f
'()
vars-15142
exp-15144
#f)))
(make-struct/no-tail
(vector-ref %expanded-vtables 14)
#f
'()
body-15149))))
(arg-exps-15132
(list (if (eq? p-14987 'any)
(let ((args-15237 (list x-14842)))
(make-struct/no-tail
(vector-ref %expanded-vtables 12)
#f
'list
args-15237))
(let ((args-15246
(list x-14842
(make-struct/no-tail
(vector-ref
%expanded-vtables
1)
#f
p-14987))))
(make-struct/no-tail
(vector-ref %expanded-vtables 12)
#f
'$sc-dispatch
args-15246))))))
(make-struct/no-tail
(vector-ref %expanded-vtables 11)
#f
fun-exp-15131
arg-exps-15132)))))))))
(gen-syntax-case-13639
(lambda (x-14343
keys-14344
clauses-14345
r-14346
mod-14347)
(if (null? clauses-14345)
(let ((args-14353
(list (make-struct/no-tail
(vector-ref %expanded-vtables 1)
#f
#f)
(make-struct/no-tail
(vector-ref %expanded-vtables 1)
#f
"source expression failed to match any pattern")
x-14343)))
(make-struct/no-tail
(vector-ref %expanded-vtables 12)
#f
'syntax-violation
args-14353))
(let ((tmp-14372 (car clauses-14345)))
(let ((tmp-14373 ($sc-dispatch tmp-14372 '(any any))))
(if tmp-14373
(@apply
(lambda (pat-14375 exp-14376)
(if (if (if (symbol? pat-14375)
#t
(if (if (vector? pat-14375)
(if (= (vector-length pat-14375) 4)
(eq? (vector-ref pat-14375 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref pat-14375 1))
#f))
(and-map
(lambda (x-14403)
(not (free-id=?-4574 pat-14375 x-14403)))
(cons '#(syntax-object
...
((top)
#(ribcage
#(pat exp)
#((top) (top))
#("l-*-4087" "l-*-4088"))
#(ribcage () () ())
#(ribcage
#(x keys clauses r mod)
#((top) (top) (top) (top) (top))
#("l-*-4077"
"l-*-4078"
"l-*-4079"
"l-*-4080"
"l-*-4081"))
#(ribcage
(gen-syntax-case
gen-clause
build-dispatch-call
convert-pattern)
((top) (top) (top) (top))
("l-*-3890"
"l-*-3888"
"l-*-3886"
"l-*-3884"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile))
keys-14344))
#f)
(if (free-id=?-4574
'#(syntax-object
pad
((top)
#(ribcage
#(pat exp)
#((top) (top))
#("l-*-4087" "l-*-4088"))
#(ribcage () () ())
#(ribcage
#(x keys clauses r mod)
#((top) (top) (top) (top) (top))
#("l-*-4077"
"l-*-4078"
"l-*-4079"
"l-*-4080"
"l-*-4081"))
#(ribcage
(gen-syntax-case
gen-clause
build-dispatch-call
convert-pattern)
((top) (top) (top) (top))
("l-*-3890"
"l-*-3888"
"l-*-3886"
"l-*-3884"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile))
'#(syntax-object
_
((top)
#(ribcage
#(pat exp)
#((top) (top))
#("l-*-4087" "l-*-4088"))
#(ribcage () () ())
#(ribcage
#(x keys clauses r mod)
#((top) (top) (top) (top) (top))
#("l-*-4077"
"l-*-4078"
"l-*-4079"
"l-*-4080"
"l-*-4081"))
#(ribcage
(gen-syntax-case
gen-clause
build-dispatch-call
convert-pattern)
((top) (top) (top) (top))
("l-*-3890"
"l-*-3888"
"l-*-3886"
"l-*-3884"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile)))
(expand-4586 exp-14376 r-14346 '(()) mod-14347)
(let ((labels-14485
(list (string-append
"l-"
(session-id-4511)
(symbol->string (gensym "-")))))
(var-14486
(let ((id-14524
(if (if (vector? pat-14375)
(if (= (vector-length
pat-14375)
4)
(eq? (vector-ref
pat-14375
0)
'syntax-object)
#f)
#f)
(vector-ref pat-14375 1)
pat-14375)))
(gensym
(string-append
(symbol->string id-14524)
"-")))))
(build-call-4517
#f
(build-simple-lambda-4526
#f
(list (syntax->datum pat-14375))
#f
(list var-14486)
'()
(expand-4586
exp-14376
(extend-env-4545
labels-14485
(list (cons 'syntax
(cons var-14486 0)))
r-14346)
(make-binding-wrap-4564
(list pat-14375)
labels-14485
'(()))
mod-14347))
(list x-14343))))
(gen-clause-13638
x-14343
keys-14344
(cdr clauses-14345)
r-14346
pat-14375
#t
exp-14376
mod-14347)))
tmp-14373)
(let ((tmp-14834
($sc-dispatch tmp-14372 '(any any any))))
(if tmp-14834
(@apply
(lambda (pat-14836 fender-14837 exp-14838)
(gen-clause-13638
x-14343
keys-14344
(cdr clauses-14345)
r-14346
pat-14836
fender-14837
exp-14838
mod-14347))
tmp-14834)
(syntax-violation
'syntax-case
"invalid clause"
(car clauses-14345)))))))))))
(lambda (e-13640 r-13641 w-13642 s-13643 mod-13644)
(let ((e-13645
(let ((x-14254
(begin
(if (if (pair? e-13640) s-13643 #f)
(set-source-properties! e-13640 s-13643))
e-13640)))
(if (if (null? (car w-13642))
(null? (cdr w-13642))
#f)
x-14254
(if (if (vector? x-14254)
(if (= (vector-length x-14254) 4)
(eq? (vector-ref x-14254 0) 'syntax-object)
#f)
#f)
(let ((expression-14286 (vector-ref x-14254 1))
(wrap-14287
(let ((w2-14295 (vector-ref x-14254 2)))
(let ((m1-14296 (car w-13642))
(s1-14297 (cdr w-13642)))
(if (null? m1-14296)
(if (null? s1-14297)
w2-14295
(cons (car w2-14295)
(let ((m2-14312
(cdr w2-14295)))
(if (null? m2-14312)
s1-14297
(append
s1-14297
m2-14312)))))
(cons (let ((m2-14320 (car w2-14295)))
(if (null? m2-14320)
m1-14296
(append m1-14296 m2-14320)))
(let ((m2-14328 (cdr w2-14295)))
(if (null? m2-14328)
s1-14297
(append
s1-14297
m2-14328))))))))
(module-14288 (vector-ref x-14254 3)))
(vector
'syntax-object
expression-14286
wrap-14287
module-14288))
(if (null? x-14254)
x-14254
(vector
'syntax-object
x-14254
w-13642
mod-13644)))))))
(let ((tmp-13646 e-13645))
(let ((tmp-13647
($sc-dispatch
tmp-13646
'(_ any each-any . each-any))))
(if tmp-13647
(@apply
(lambda (val-13695 key-13696 m-13697)
(if (and-map
(lambda (x-13698)
(if (if (symbol? x-13698)
#t
(if (if (vector? x-13698)
(if (= (vector-length x-13698) 4)
(eq? (vector-ref x-13698 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref x-13698 1))
#f))
(not (if (if (if (vector? x-13698)
(if (= (vector-length x-13698)
4)
(eq? (vector-ref x-13698 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref x-13698 1))
#f)
(free-id=?-4574
x-13698
'#(syntax-object
...
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-2416"))
#(ribcage
(lambda-var-list
gen-var
strip
expand-lambda-case
lambda*-formals
expand-simple-lambda
lambda-formals
ellipsis?
expand-void
eval-local-transformer
expand-local-syntax
expand-body
expand-macro
expand-call
expand-expr
expand
syntax-type
parse-when-list
expand-install-global
expand-top-sequence
expand-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
with-transformer-environment
transformer-environment
resolve-identifier
locally-bound-identifiers
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-primcall
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-call
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
session-id
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-seq
make-primcall
make-call
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-478"
"l-*-476"
"l-*-474"
"l-*-472"
"l-*-470"
"l-*-468"
"l-*-466"
"l-*-464"
"l-*-462"
"l-*-460"
"l-*-458"
"l-*-456"
"l-*-454"
"l-*-452"
"l-*-450"
"l-*-448"
"l-*-446"
"l-*-444"
"l-*-442"
"l-*-440"
"l-*-438"
"l-*-436"
"l-*-434"
"l-*-432"
"l-*-430"
"l-*-428"
"l-*-426"
"l-*-424"
"l-*-422"
"l-*-420"
"l-*-418"
"l-*-416"
"l-*-414"
"l-*-412"
"l-*-410"
"l-*-408"
"l-*-406"
"l-*-404"
"l-*-402"
"l-*-401"
"l-*-399"
"l-*-396"
"l-*-395"
"l-*-394"
"l-*-392"
"l-*-391"
"l-*-389"
"l-*-387"
"l-*-385"
"l-*-383"
"l-*-381"
"l-*-379"
"l-*-377"
"l-*-375"
"l-*-372"
"l-*-370"
"l-*-369"
"l-*-367"
"l-*-365"
"l-*-363"
"l-*-361"
"l-*-360"
"l-*-359"
"l-*-358"
"l-*-356"
"l-*-355"
"l-*-352"
"l-*-350"
"l-*-348"
"l-*-346"
"l-*-344"
"l-*-342"
"l-*-341"
"l-*-340"
"l-*-338"
"l-*-336"
"l-*-335"
"l-*-332"
"l-*-331"
"l-*-329"
"l-*-327"
"l-*-325"
"l-*-323"
"l-*-321"
"l-*-319"
"l-*-317"
"l-*-315"
"l-*-313"
"l-*-310"
"l-*-308"
"l-*-306"
"l-*-304"
"l-*-302"
"l-*-300"
"l-*-298"
"l-*-296"
"l-*-294"
"l-*-292"
"l-*-290"
"l-*-288"
"l-*-286"
"l-*-284"
"l-*-282"
"l-*-280"
"l-*-278"
"l-*-276"
"l-*-274"
"l-*-272"
"l-*-270"
"l-*-268"
"l-*-266"
"l-*-264"
"l-*-262"
"l-*-260"
"l-*-258"
"l-*-257"
"l-*-256"
"l-*-255"
"l-*-254"
"l-*-252"
"l-*-250"
"l-*-248"
"l-*-245"
"l-*-243"
"l-*-241"
"l-*-239"
"l-*-237"
"l-*-235"
"l-*-233"
"l-*-231"
"l-*-229"
"l-*-227"
"l-*-225"
"l-*-223"
"l-*-221"
"l-*-219"
"l-*-217"
"l-*-215"
"l-*-213"
"l-*-211"
"l-*-209"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors)
((top) (top) (top))
("l-*-47" "l-*-46" "l-*-45"))
#(ribcage () () ()))
(hygiene guile)))
#f))
#f))
key-13696)
(let ((x-13763
(gensym
(string-append
(symbol->string 'tmp)
"-"))))
(build-call-4517
s-13643
(let ((req-13901 (list 'tmp))
(vars-13903 (list x-13763))
(exp-13905
(gen-syntax-case-13639
(make-struct/no-tail
(vector-ref %expanded-vtables 3)
#f
'tmp
x-13763)
key-13696
m-13697
r-13641
mod-13644)))
(let ((body-13910
(make-struct/no-tail
(vector-ref %expanded-vtables 15)
#f
req-13901
#f
#f
#f
'()
vars-13903
exp-13905
#f)))
(make-struct/no-tail
(vector-ref %expanded-vtables 14)
#f
'()
body-13910)))
(list (expand-4586
val-13695
r-13641
'(())
mod-13644))))
(syntax-violation
'syntax-case
"invalid literals list"
e-13645)))
tmp-13647)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-13646))))))))
(set! macroexpand
(lambda*
(x-16590
#:optional
(m-16591 'e)
(esew-16592 '(eval)))
(expand-top-sequence-4582
(list x-16590)
'()
'((top))
#f
m-16591
esew-16592
(cons 'hygiene (module-name (current-module))))))
(set! identifier?
(lambda (x-16595)
(if (if (vector? x-16595)
(if (= (vector-length x-16595) 4)
(eq? (vector-ref x-16595 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref x-16595 1))
#f)))
(set! datum->syntax
(lambda (id-16620 datum-16621)
(let ((wrap-16626 (vector-ref id-16620 2))
(module-16627 (vector-ref id-16620 3)))
(vector
'syntax-object
datum-16621
wrap-16626
module-16627))))
(set! syntax->datum
(lambda (x-16634) (strip-4599 x-16634 '(()))))
(set! syntax-source
(lambda (x-16637)
(source-annotation-4544 x-16637)))
(set! generate-temporaries
(lambda (ls-16821)
(begin
(if (not (list? ls-16821))
(syntax-violation
'generate-temporaries
"invalid argument"
ls-16821))
(let ((mod-16829
(cons 'hygiene (module-name (current-module)))))
(map (lambda (x-16830)
(let ((x-16834 (gensym "t-")))
(if (if (vector? x-16834)
(if (= (vector-length x-16834) 4)
(eq? (vector-ref x-16834 0) 'syntax-object)
#f)
#f)
(let ((expression-16849 (vector-ref x-16834 1))
(wrap-16850
(let ((w2-16858 (vector-ref x-16834 2)))
(cons (let ((m2-16865 (car w2-16858)))
(if (null? m2-16865)
'(top)
(append '(top) m2-16865)))
(let ((m2-16872 (cdr w2-16858)))
(if (null? m2-16872)
'()
(append '() m2-16872))))))
(module-16851 (vector-ref x-16834 3)))
(vector
'syntax-object
expression-16849
wrap-16850
module-16851))
(if (null? x-16834)
x-16834
(vector
'syntax-object
x-16834
'((top))
mod-16829)))))
ls-16821)))))
(set! free-identifier=?
(lambda (x-16881 y-16882)
(begin
(if (not (if (if (vector? x-16881)
(if (= (vector-length x-16881) 4)
(eq? (vector-ref x-16881 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref x-16881 1))
#f))
(syntax-violation
'free-identifier=?
"invalid argument"
x-16881))
(if (not (if (if (vector? y-16882)
(if (= (vector-length y-16882) 4)
(eq? (vector-ref y-16882 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref y-16882 1))
#f))
(syntax-violation
'free-identifier=?
"invalid argument"
y-16882))
(free-id=?-4574 x-16881 y-16882))))
(set! bound-identifier=?
(lambda (x-16957 y-16958)
(begin
(if (not (if (if (vector? x-16957)
(if (= (vector-length x-16957) 4)
(eq? (vector-ref x-16957 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref x-16957 1))
#f))
(syntax-violation
'bound-identifier=?
"invalid argument"
x-16957))
(if (not (if (if (vector? y-16958)
(if (= (vector-length y-16958) 4)
(eq? (vector-ref y-16958 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref y-16958 1))
#f))
(syntax-violation
'bound-identifier=?
"invalid argument"
y-16958))
(bound-id=?-4575 x-16957 y-16958))))
(set! syntax-violation
(lambda*
(who-17124
message-17125
form-17126
#:optional
(subform-17127 #f))
(begin
(if (not (if (not who-17124)
(not who-17124)
(let ((t-17145 (string? who-17124)))
(if t-17145 t-17145 (symbol? who-17124)))))
(syntax-violation
'syntax-violation
"invalid argument"
who-17124))
(if (not (string? message-17125))
(syntax-violation
'syntax-violation
"invalid argument"
message-17125))
(throw 'syntax-error
who-17124
message-17125
(source-annotation-4544
(if form-17126 form-17126 subform-17127))
(strip-4599 form-17126 '(()))
(if subform-17127
(strip-4599 subform-17127 '(()))
#f)))))
(letrec*
((syntax-local-binding-17377
(lambda (id-17517)
(begin
(if (not (if (if (vector? id-17517)
(if (= (vector-length id-17517) 4)
(eq? (vector-ref id-17517 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref id-17517 1))
#f))
(syntax-violation
'syntax-local-binding
"invalid argument"
id-17517))
((fluid-ref transformer-environment-4572)
(lambda (e-17557
r-17558
w-17559
s-17560
rib-17561
mod-17562)
(call-with-values
(lambda ()
(resolve-identifier-4571
(vector-ref id-17517 1)
(let ((w-17569 (vector-ref id-17517 2)))
(let ((ms-17570 (car w-17569))
(s-17571 (cdr w-17569)))
(if (if (pair? ms-17570)
(eq? (car ms-17570) #f)
#f)
(cons (cdr ms-17570)
(if rib-17561
(cons rib-17561 (cdr s-17571))
(cdr s-17571)))
(cons ms-17570
(if rib-17561
(cons rib-17561 s-17571)
s-17571)))))
r-17558
(vector-ref id-17517 3)
#t))
(lambda (type-17578 value-17579 mod-17580)
(if (eqv? type-17578 'lexical)
(values 'lexical value-17579)
(if (eqv? type-17578 'macro)
(values 'macro value-17579)
(if (eqv? type-17578 'syntax)
(values 'pattern-variable value-17579)
(if (eqv? type-17578 'displaced-lexical)
(values 'displaced-lexical #f)
(if (eqv? type-17578 'global)
(values
'global
(cons value-17579 (cdr mod-17580)))
(values 'other #f)))))))))))))
(syntax-locally-bound-identifiers-17378
(lambda (id-17591)
(begin
(if (not (if (if (vector? id-17591)
(if (= (vector-length id-17591) 4)
(eq? (vector-ref id-17591 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref id-17591 1))
#f))
(syntax-violation
'syntax-locally-bound-identifiers
"invalid argument"
id-17591))
(locally-bound-identifiers-4570
(vector-ref id-17591 2)
(vector-ref id-17591 3))))))
(begin
(define!
'syntax-module
(lambda (id-17380)
(begin
(if (not (if (if (vector? id-17380)
(if (= (vector-length id-17380) 4)
(eq? (vector-ref id-17380 0) 'syntax-object)
#f)
#f)
(symbol? (vector-ref id-17380 1))
#f))
(syntax-violation
'syntax-module
"invalid argument"
id-17380))
(cdr (vector-ref id-17380 3)))))
(define!
'syntax-local-binding
syntax-local-binding-17377)
(define!
'syntax-locally-bound-identifiers
syntax-locally-bound-identifiers-17378)))
(letrec*
((match-each-17708
(lambda (e-18587 p-18588 w-18589 mod-18590)
(if (pair? e-18587)
(let ((first-18591
(match-17714
(car e-18587)
p-18588
w-18589
'()
mod-18590)))
(if first-18591
(let ((rest-18594
(match-each-17708
(cdr e-18587)
p-18588
w-18589
mod-18590)))
(if rest-18594 (cons first-18591 rest-18594) #f))
#f))
(if (null? e-18587)
'()
(if (if (vector? e-18587)
(if (= (vector-length e-18587) 4)
(eq? (vector-ref e-18587 0) 'syntax-object)
#f)
#f)
(match-each-17708
(vector-ref e-18587 1)
p-18588
(let ((w2-18616 (vector-ref e-18587 2)))
(let ((m1-18617 (car w-18589))
(s1-18618 (cdr w-18589)))
(if (null? m1-18617)
(if (null? s1-18618)
w2-18616
(cons (car w2-18616)
(let ((m2-18629 (cdr w2-18616)))
(if (null? m2-18629)
s1-18618
(append s1-18618 m2-18629)))))
(cons (let ((m2-18637 (car w2-18616)))
(if (null? m2-18637)
m1-18617
(append m1-18617 m2-18637)))
(let ((m2-18645 (cdr w2-18616)))
(if (null? m2-18645)
s1-18618
(append s1-18618 m2-18645)))))))
(vector-ref e-18587 3))
#f)))))
(match-each-any-17710
(lambda (e-18654 w-18655 mod-18656)
(if (pair? e-18654)
(let ((l-18657
(match-each-any-17710
(cdr e-18654)
w-18655
mod-18656)))
(if l-18657
(cons (let ((x-18662 (car e-18654)))
(if (if (null? (car w-18655))
(null? (cdr w-18655))
#f)
x-18662
(if (if (vector? x-18662)
(if (= (vector-length x-18662) 4)
(eq? (vector-ref x-18662 0)
'syntax-object)
#f)
#f)
(let ((expression-18680 (vector-ref x-18662 1))
(wrap-18681
(let ((w2-18689 (vector-ref x-18662 2)))
(let ((m1-18690 (car w-18655))
(s1-18691 (cdr w-18655)))
(if (null? m1-18690)
(if (null? s1-18691)
w2-18689
(cons (car w2-18689)
(let ((m2-18706
(cdr w2-18689)))
(if (null? m2-18706)
s1-18691
(append
s1-18691
m2-18706)))))
(cons (let ((m2-18714
(car w2-18689)))
(if (null? m2-18714)
m1-18690
(append
m1-18690
m2-18714)))
(let ((m2-18722
(cdr w2-18689)))
(if (null? m2-18722)
s1-18691
(append
s1-18691
m2-18722))))))))
(module-18682 (vector-ref x-18662 3)))
(vector
'syntax-object
expression-18680
wrap-18681
module-18682))
(if (null? x-18662)
x-18662
(vector
'syntax-object
x-18662
w-18655
mod-18656)))))
l-18657)
#f))
(if (null? e-18654)
'()
(if (if (vector? e-18654)
(if (= (vector-length e-18654) 4)
(eq? (vector-ref e-18654 0) 'syntax-object)
#f)
#f)
(match-each-any-17710
(vector-ref e-18654 1)
(let ((w2-18755 (vector-ref e-18654 2)))
(let ((m1-18756 (car w-18655))
(s1-18757 (cdr w-18655)))
(if (null? m1-18756)
(if (null? s1-18757)
w2-18755
(cons (car w2-18755)
(let ((m2-18768 (cdr w2-18755)))
(if (null? m2-18768)
s1-18757
(append s1-18757 m2-18768)))))
(cons (let ((m2-18776 (car w2-18755)))
(if (null? m2-18776)
m1-18756
(append m1-18756 m2-18776)))
(let ((m2-18784 (cdr w2-18755)))
(if (null? m2-18784)
s1-18757
(append s1-18757 m2-18784)))))))
mod-18656)
#f)))))
(match-empty-17711
(lambda (p-18789 r-18790)
(if (null? p-18789)
r-18790
(if (eq? p-18789 '_)
r-18790
(if (eq? p-18789 'any)
(cons '() r-18790)
(if (pair? p-18789)
(match-empty-17711
(car p-18789)
(match-empty-17711 (cdr p-18789) r-18790))
(if (eq? p-18789 'each-any)
(cons '() r-18790)
(let ((atom-key-18791 (vector-ref p-18789 0)))
(if (eqv? atom-key-18791 'each)
(match-empty-17711
(vector-ref p-18789 1)
r-18790)
(if (eqv? atom-key-18791 'each+)
(match-empty-17711
(vector-ref p-18789 1)
(match-empty-17711
(reverse (vector-ref p-18789 2))
(match-empty-17711
(vector-ref p-18789 3)
r-18790)))
(if (if (eqv? atom-key-18791 'free-id)
#t
(eqv? atom-key-18791 'atom))
r-18790
(if (eqv? atom-key-18791 'vector)
(match-empty-17711
(vector-ref p-18789 1)
r-18790)))))))))))))
(combine-17712
(lambda (r*-18810 r-18811)
(if (null? (car r*-18810))
r-18811
(cons (map car r*-18810)
(combine-17712 (map cdr r*-18810) r-18811)))))
(match*-17713
(lambda (e-17743 p-17744 w-17745 r-17746 mod-17747)
(if (null? p-17744)
(if (null? e-17743) r-17746 #f)
(if (pair? p-17744)
(if (pair? e-17743)
(match-17714
(car e-17743)
(car p-17744)
w-17745
(match-17714
(cdr e-17743)
(cdr p-17744)
w-17745
r-17746
mod-17747)
mod-17747)
#f)
(if (eq? p-17744 'each-any)
(let ((l-17752
(match-each-any-17710 e-17743 w-17745 mod-17747)))
(if l-17752 (cons l-17752 r-17746) #f))
(let ((atom-key-17757 (vector-ref p-17744 0)))
(if (eqv? atom-key-17757 'each)
(if (null? e-17743)
(match-empty-17711
(vector-ref p-17744 1)
r-17746)
(let ((l-17764
(match-each-17708
e-17743
(vector-ref p-17744 1)
w-17745
mod-17747)))
(if l-17764
(letrec*
((collect-17767
(lambda (l-17824)
(if (null? (car l-17824))
r-17746
(cons (map car l-17824)
(collect-17767
(map cdr l-17824)))))))
(collect-17767 l-17764))
#f)))
(if (eqv? atom-key-17757 'each+)
(call-with-values
(lambda ()
(let ((x-pat-17833 (vector-ref p-17744 1))
(y-pat-17834 (vector-ref p-17744 2))
(z-pat-17835 (vector-ref p-17744 3)))
(letrec*
((f-17839
(lambda (e-17841 w-17842)
(if (pair? e-17841)
(call-with-values
(lambda ()
(f-17839 (cdr e-17841) w-17842))
(lambda (xr*-17843
y-pat-17844
r-17845)
(if r-17845
(if (null? y-pat-17844)
(let ((xr-17846
(match-17714
(car e-17841)
x-pat-17833
w-17842
'()
mod-17747)))
(if xr-17846
(values
(cons xr-17846 xr*-17843)
y-pat-17844
r-17845)
(values #f #f #f)))
(values
'()
(cdr y-pat-17844)
(match-17714
(car e-17841)
(car y-pat-17844)
w-17842
r-17845
mod-17747)))
(values #f #f #f))))
(if (if (vector? e-17841)
(if (= (vector-length e-17841) 4)
(eq? (vector-ref e-17841 0)
'syntax-object)
#f)
#f)
(f-17839
(vector-ref e-17841 1)
(let ((m1-17872 (car w-17842))
(s1-17873 (cdr w-17842)))
(if (null? m1-17872)
(if (null? s1-17873)
e-17841
(cons (car e-17841)
(let ((m2-17885
(cdr e-17841)))
(if (null? m2-17885)
s1-17873
(append
s1-17873
m2-17885)))))
(cons (let ((m2-17895
(car e-17841)))
(if (null? m2-17895)
m1-17872
(append
m1-17872
m2-17895)))
(let ((m2-17905
(cdr e-17841)))
(if (null? m2-17905)
s1-17873
(append
s1-17873
m2-17905)))))))
(values
'()
y-pat-17834
(match-17714
e-17841
z-pat-17835
w-17842
r-17746
mod-17747)))))))
(f-17839 e-17743 w-17745))))
(lambda (xr*-17915 y-pat-17916 r-17917)
(if r-17917
(if (null? y-pat-17916)
(if (null? xr*-17915)
(match-empty-17711
(vector-ref p-17744 1)
r-17917)
(combine-17712 xr*-17915 r-17917))
#f)
#f)))
(if (eqv? atom-key-17757 'free-id)
(if (if (symbol? e-17743)
#t
(if (if (vector? e-17743)
(if (= (vector-length e-17743) 4)
(eq? (vector-ref e-17743 0)
'syntax-object)
#f)
#f)
(symbol? (vector-ref e-17743 1))
#f))
(if (free-id=?-4574
(if (if (null? (car w-17745))
(null? (cdr w-17745))
#f)
e-17743
(if (if (vector? e-17743)
(if (= (vector-length e-17743) 4)
(eq? (vector-ref e-17743 0)
'syntax-object)
#f)
#f)
(let ((expression-18345
(vector-ref e-17743 1))
(wrap-18346
(let ((w2-18356
(vector-ref e-17743 2)))
(let ((m1-18357 (car w-17745))
(s1-18358
(cdr w-17745)))
(if (null? m1-18357)
(if (null? s1-18358)
w2-18356
(cons (car w2-18356)
(let ((m2-18375
(cdr w2-18356)))
(if (null? m2-18375)
s1-18358
(append
s1-18358
m2-18375)))))
(cons (let ((m2-18383
(car w2-18356)))
(if (null? m2-18383)
m1-18357
(append
m1-18357
m2-18383)))
(let ((m2-18391
(cdr w2-18356)))
(if (null? m2-18391)
s1-18358
(append
s1-18358
m2-18391))))))))
(module-18347
(vector-ref e-17743 3)))
(vector
'syntax-object
expression-18345
wrap-18346
module-18347))
(if (null? e-17743)
e-17743
(vector
'syntax-object
e-17743
w-17745
mod-17747))))
(vector-ref p-17744 1))
r-17746
#f)
#f)
(if (eqv? atom-key-17757 'atom)
(if (equal?
(vector-ref p-17744 1)
(strip-4599 e-17743 w-17745))
r-17746
#f)
(if (eqv? atom-key-17757 'vector)
(if (vector? e-17743)
(match-17714
(vector->list e-17743)
(vector-ref p-17744 1)
w-17745
r-17746
mod-17747)
#f))))))))))))
(match-17714
(lambda (e-18424 p-18425 w-18426 r-18427 mod-18428)
(if (not r-18427)
#f
(if (eq? p-18425 '_)
r-18427
(if (eq? p-18425 'any)
(cons (if (if (null? (car w-18426))
(null? (cdr w-18426))
#f)
e-18424
(if (if (vector? e-18424)
(if (= (vector-length e-18424) 4)
(eq? (vector-ref e-18424 0) 'syntax-object)
#f)
#f)
(let ((expression-18458 (vector-ref e-18424 1))
(wrap-18459
(let ((w2-18469 (vector-ref e-18424 2)))
(let ((m1-18470 (car w-18426))
(s1-18471 (cdr w-18426)))
(if (null? m1-18470)
(if (null? s1-18471)
w2-18469
(cons (car w2-18469)
(let ((m2-18488
(cdr w2-18469)))
(if (null? m2-18488)
s1-18471
(append
s1-18471
m2-18488)))))
(cons (let ((m2-18496
(car w2-18469)))
(if (null? m2-18496)
m1-18470
(append
m1-18470
m2-18496)))
(let ((m2-18504
(cdr w2-18469)))
(if (null? m2-18504)
s1-18471
(append
s1-18471
m2-18504))))))))
(module-18460 (vector-ref e-18424 3)))
(vector
'syntax-object
expression-18458
wrap-18459
module-18460))
(if (null? e-18424)
e-18424
(vector
'syntax-object
e-18424
w-18426
mod-18428))))
r-18427)
(if (if (vector? e-18424)
(if (= (vector-length e-18424) 4)
(eq? (vector-ref e-18424 0) 'syntax-object)
#f)
#f)
(match*-17713
(vector-ref e-18424 1)
p-18425
(let ((w2-18547 (vector-ref e-18424 2)))
(let ((m1-18548 (car w-18426))
(s1-18549 (cdr w-18426)))
(if (null? m1-18548)
(if (null? s1-18549)
w2-18547
(cons (car w2-18547)
(let ((m2-18560 (cdr w2-18547)))
(if (null? m2-18560)
s1-18549
(append s1-18549 m2-18560)))))
(cons (let ((m2-18568 (car w2-18547)))
(if (null? m2-18568)
m1-18548
(append m1-18548 m2-18568)))
(let ((m2-18576 (cdr w2-18547)))
(if (null? m2-18576)
s1-18549
(append s1-18549 m2-18576)))))))
r-18427
(vector-ref e-18424 3))
(match*-17713
e-18424
p-18425
w-18426
r-18427
mod-18428))))))))
(set! $sc-dispatch
(lambda (e-17715 p-17716)
(if (eq? p-17716 'any)
(list e-17715)
(if (eq? p-17716 '_)
'()
(if (if (vector? e-17715)
(if (= (vector-length e-17715) 4)
(eq? (vector-ref e-17715 0) 'syntax-object)
#f)
#f)
(match*-17713
(vector-ref e-17715 1)
p-17716
(vector-ref e-17715 2)
'()
(vector-ref e-17715 3))
(match*-17713 e-17715 p-17716 '(()) '() #f))))))))))
(define with-syntax
(make-syntax-transformer
'with-syntax
'macro
(lambda (x-37252)
(let ((tmp-37254
($sc-dispatch x-37252 '(_ () any . each-any))))
(if tmp-37254
(@apply
(lambda (e1-37258 e2-37259)
(cons '#(syntax-object
let
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("l-*-37225" "l-*-37226"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37222"))
#(ribcage
(with-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
with-syntax
((top))
(hygiene guile))))))
(hygiene guile))
(cons '() (cons e1-37258 e2-37259))))
tmp-37254)
(let ((tmp-37260
($sc-dispatch
x-37252
'(_ ((any any)) any . each-any))))
(if tmp-37260
(@apply
(lambda (out-37264 in-37265 e1-37266 e2-37267)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
#("l-*-37231"
"l-*-37232"
"l-*-37233"
"l-*-37234"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37222"))
#(ribcage
(with-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
with-syntax
((top))
(hygiene guile))))))
(hygiene guile))
in-37265
'()
(list out-37264
(cons '#(syntax-object
let
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
#("l-*-37231"
"l-*-37232"
"l-*-37233"
"l-*-37234"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37222"))
#(ribcage
(with-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
with-syntax
((top))
(hygiene guile))))))
(hygiene guile))
(cons '() (cons e1-37266 e2-37267))))))
tmp-37260)
(let ((tmp-37268
($sc-dispatch
x-37252
'(_ #(each (any any)) any . each-any))))
(if tmp-37268
(@apply
(lambda (out-37272 in-37273 e1-37274 e2-37275)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
#("l-*-37241"
"l-*-37242"
"l-*-37243"
"l-*-37244"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37222"))
#(ribcage
(with-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
with-syntax
((top))
(hygiene guile))))))
(hygiene guile))
(cons '#(syntax-object
list
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
#("l-*-37241"
"l-*-37242"
"l-*-37243"
"l-*-37244"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37222"))
#(ribcage
(with-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
with-syntax
((top))
(hygiene guile))))))
(hygiene guile))
in-37273)
'()
(list out-37272
(cons '#(syntax-object
let
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
#("l-*-37241"
"l-*-37242"
"l-*-37243"
"l-*-37244"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-37222"))
#(ribcage
(with-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
with-syntax
((top))
(hygiene guile))))))
(hygiene guile))
(cons '() (cons e1-37274 e2-37275))))))
tmp-37268)
(syntax-violation
#f
"source expression failed to match any pattern"
x-37252))))))))))
(define syntax-rules
(make-syntax-transformer
'syntax-rules
'macro
(lambda (x-37330)
(let ((tmp-37332
($sc-dispatch
x-37330
'(_ each-any . #(each ((any . any) any))))))
(if tmp-37332
(@apply
(lambda (k-37336
keyword-37337
pattern-37338
template-37339)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("l-*-37293"
"l-*-37294"
"l-*-37295"
"l-*-37296"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("l-*-37293"
"l-*-37294"
"l-*-37295"
"l-*-37296"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile)))
(vector
'(#(syntax-object
macro-type
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("l-*-37293"
"l-*-37294"
"l-*-37295"
"l-*-37296"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile))
.
#(syntax-object
syntax-rules
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("l-*-37293"
"l-*-37294"
"l-*-37295"
"l-*-37296"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile)))
(cons '#(syntax-object
patterns
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("l-*-37293"
"l-*-37294"
"l-*-37295"
"l-*-37296"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile))
pattern-37338))
(cons '#(syntax-object
syntax-case
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("l-*-37293"
"l-*-37294"
"l-*-37295"
"l-*-37296"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile))
(cons '#(syntax-object
x
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("l-*-37293"
"l-*-37294"
"l-*-37295"
"l-*-37296"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile))
(cons k-37336
(map (lambda (tmp-37304-37340
tmp-37303-37341)
(list (cons '#(syntax-object
_
((top)
#(ribcage
#(k
keyword
pattern
template)
#((top)
(top)
(top)
(top))
#("l-*-37293"
"l-*-37294"
"l-*-37295"
"l-*-37296"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene
guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene
guile))))))
(hygiene guile))
tmp-37303-37341)
(list '#(syntax-object
syntax
((top)
#(ribcage
#(k
keyword
pattern
template)
#((top)
(top)
(top)
(top))
#("l-*-37293"
"l-*-37294"
"l-*-37295"
"l-*-37296"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene
guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene
guile))))))
(hygiene guile))
tmp-37304-37340)))
template-37339
pattern-37338))))))
tmp-37332)
(let ((tmp-37342
($sc-dispatch
x-37330
'(_ each-any any . #(each ((any . any) any))))))
(if (if tmp-37342
(@apply
(lambda (k-37346
docstring-37347
keyword-37348
pattern-37349
template-37350)
(string? (syntax->datum docstring-37347)))
tmp-37342)
#f)
(@apply
(lambda (k-37351
docstring-37352
keyword-37353
pattern-37354
template-37355)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
#("l-*-37316"
"l-*-37317"
"l-*-37318"
"l-*-37319"
"l-*-37320"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
#("l-*-37316"
"l-*-37317"
"l-*-37318"
"l-*-37319"
"l-*-37320"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile)))
docstring-37352
(vector
'(#(syntax-object
macro-type
((top)
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
#("l-*-37316"
"l-*-37317"
"l-*-37318"
"l-*-37319"
"l-*-37320"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile))
.
#(syntax-object
syntax-rules
((top)
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
#("l-*-37316"
"l-*-37317"
"l-*-37318"
"l-*-37319"
"l-*-37320"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile)))
(cons '#(syntax-object
patterns
((top)
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
#("l-*-37316"
"l-*-37317"
"l-*-37318"
"l-*-37319"
"l-*-37320"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile))
pattern-37354))
(cons '#(syntax-object
syntax-case
((top)
#(ribcage
#(k docstring keyword pattern template)
#((top) (top) (top) (top) (top))
#("l-*-37316"
"l-*-37317"
"l-*-37318"
"l-*-37319"
"l-*-37320"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile))
(cons '#(syntax-object
x
((top)
#(ribcage
#(k
docstring
keyword
pattern
template)
#((top) (top) (top) (top) (top))
#("l-*-37316"
"l-*-37317"
"l-*-37318"
"l-*-37319"
"l-*-37320"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene guile))))))
(hygiene guile))
(cons k-37351
(map (lambda (tmp-37329-37356
tmp-37328-37357)
(list (cons '#(syntax-object
_
((top)
#(ribcage
#(k
docstring
keyword
pattern
template)
#((top)
(top)
(top)
(top)
(top))
#("l-*-37316"
"l-*-37317"
"l-*-37318"
"l-*-37319"
"l-*-37320"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene
guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene
guile))))))
(hygiene
guile))
tmp-37328-37357)
(list '#(syntax-object
syntax
((top)
#(ribcage
#(k
docstring
keyword
pattern
template)
#((top)
(top)
(top)
(top)
(top))
#("l-*-37316"
"l-*-37317"
"l-*-37318"
"l-*-37319"
"l-*-37320"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("l-*-37290"))
#(ribcage
(syntax-rules)
((top))
(((hygiene
guile)
.
#(syntax-object
syntax-rules
((top))
(hygiene
guile))))))
(hygiene
guile))
tmp-37329-37356)))
template-37355
pattern-37354))))))
tmp-37342)
(syntax-violation
#f
"source expression failed to match any pattern"
x-37330))))))))
(define define-syntax-rule
(make-syntax-transformer
'define-syntax-rule
'macro
(lambda (x-37395)
(let ((tmp-37397
($sc-dispatch x-37395 '(_ (any . any) any))))
(if tmp-37397
(@apply
(lambda (name-37401 pattern-37402 template-37403)
(list '#(syntax-object
define-syntax
((top)
#(ribcage
#(name pattern template)
#((top) (top) (top))
#("l-*-37372" "l-*-37373" "l-*-37374"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
(((hygiene guile)
.
#(syntax-object
define-syntax-rule
((top))
(hygiene guile))))))
(hygiene guile))
name-37401
(list '#(syntax-object
syntax-rules
((top)
#(ribcage
#(name pattern template)
#((top) (top) (top))
#("l-*-37372" "l-*-37373" "l-*-37374"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
(((hygiene guile)
.
#(syntax-object
define-syntax-rule
((top))
(hygiene guile))))))
(hygiene guile))
'()
(list (cons '#(syntax-object
_
((top)
#(ribcage
#(name pattern template)
#((top) (top) (top))
#("l-*-37372"
"l-*-37373"
"l-*-37374"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
(((hygiene guile)
.
#(syntax-object
define-syntax-rule
((top))
(hygiene guile))))))
(hygiene guile))
pattern-37402)
template-37403))))
tmp-37397)
(let ((tmp-37404
($sc-dispatch x-37395 '(_ (any . any) any any))))
(if (if tmp-37404
(@apply
(lambda (name-37408
pattern-37409
docstring-37410
template-37411)
(string? (syntax->datum docstring-37410)))
tmp-37404)
#f)
(@apply
(lambda (name-37412
pattern-37413
docstring-37414
template-37415)
(list '#(syntax-object
define-syntax
((top)
#(ribcage
#(name pattern docstring template)
#((top) (top) (top) (top))
#("l-*-37387"
"l-*-37388"
"l-*-37389"
"l-*-37390"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
(((hygiene guile)
.
#(syntax-object
define-syntax-rule
((top))
(hygiene guile))))))
(hygiene guile))
name-37412
(list '#(syntax-object
syntax-rules
((top)
#(ribcage
#(name pattern docstring template)
#((top) (top) (top) (top))
#("l-*-37387"
"l-*-37388"
"l-*-37389"
"l-*-37390"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
(((hygiene guile)
.
#(syntax-object
define-syntax-rule
((top))
(hygiene guile))))))
(hygiene guile))
'()
docstring-37414
(list (cons '#(syntax-object
_
((top)
#(ribcage
#(name
pattern
docstring
template)
#((top) (top) (top) (top))
#("l-*-37387"
"l-*-37388"
"l-*-37389"
"l-*-37390"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-37369"))
#(ribcage
(define-syntax-rule)
((top))
(((hygiene guile)
.
#(syntax-object
define-syntax-rule
((top))
(hygiene guile))))))
(hygiene guile))
pattern-37413)
template-37415))))
tmp-37404)
(syntax-violation
#f
"source expression failed to match any pattern"
x-37395))))))))
(define let*
(make-syntax-transformer
'let*
'macro
(lambda (x-37465)
(let ((tmp-37467
($sc-dispatch
x-37465
'(any #(each (any any)) any . each-any))))
(if (if tmp-37467
(@apply
(lambda (let*-37471 x-37472 v-37473 e1-37474 e2-37475)
(and-map identifier? x-37472))
tmp-37467)
#f)
(@apply
(lambda (let*-37476 x-37477 v-37478 e1-37479 e2-37480)
(letrec*
((f-37481
(lambda (bindings-37484)
(if (null? bindings-37484)
(cons '#(syntax-object
let
((top)
#(ribcage () () ())
#(ribcage
#(f bindings)
#((top) (top))
#("l-*-37451" "l-*-37452"))
#(ribcage
#(let* x v e1 e2)
#((top) (top) (top) (top) (top))
#("l-*-37441"
"l-*-37442"
"l-*-37443"
"l-*-37444"
"l-*-37445"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37427"))
#(ribcage
(let*)
((top))
(((hygiene guile)
.
#(syntax-object
let*
((top))
(hygiene guile))))))
(hygiene guile))
(cons '() (cons e1-37479 e2-37480)))
(let ((tmp-37485
(list (f-37481 (cdr bindings-37484))
(car bindings-37484))))
(let ((tmp-37486 ($sc-dispatch tmp-37485 '(any any))))
(if tmp-37486
(@apply
(lambda (body-37488 binding-37489)
(list '#(syntax-object
let
((top)
#(ribcage () () ())
#(ribcage
#(body binding)
#((top) (top))
#("l-*-37461" "l-*-37462"))
#(ribcage () () ())
#(ribcage
#(f bindings)
#((top) (top))
#("l-*-37451" "l-*-37452"))
#(ribcage
#(let* x v e1 e2)
#((top) (top) (top) (top) (top))
#("l-*-37441"
"l-*-37442"
"l-*-37443"
"l-*-37444"
"l-*-37445"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-37427"))
#(ribcage
(let*)
((top))
(((hygiene guile)
.
#(syntax-object
let*
((top))
(hygiene guile))))))
(hygiene guile))
(list binding-37489)
body-37488))
tmp-37486)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-37485))))))))
(f-37481 (map list x-37477 v-37478))))
tmp-37467)
(syntax-violation
#f
"source expression failed to match any pattern"
x-37465))))))
(define do
(make-syntax-transformer
'do
'macro
(lambda (orig-x-37548)
(let ((tmp-37550
($sc-dispatch
orig-x-37548
'(_ #(each (any any . any))
(any . each-any)
.
each-any))))
(if tmp-37550
(@apply
(lambda (var-37554
init-37555
step-37556
e0-37557
e1-37558
c-37559)
(let ((tmp-37560
(map (lambda (v-37563 s-37564)
(let ((tmp-37566 ($sc-dispatch s-37564 '())))
(if tmp-37566
(@apply (lambda () v-37563) tmp-37566)
(let ((tmp-37569
($sc-dispatch s-37564 '(any))))
(if tmp-37569
(@apply
(lambda (e-37572) e-37572)
tmp-37569)
(syntax-violation
'do
"bad step expression"
orig-x-37548
s-37564))))))
var-37554
step-37556)))
(let ((tmp-37561 ($sc-dispatch tmp-37560 'each-any)))
(if tmp-37561
(@apply
(lambda (step-37578)
(let ((tmp-37580 ($sc-dispatch e1-37558 '())))
(if tmp-37580
(@apply
(lambda ()
(list '#(syntax-object
let
((top)
#(ribcage () () ())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene guile)
.
#(syntax-object
do
((top))
(hygiene guile))))))
(hygiene guile))
'#(syntax-object
doloop
((top)
#(ribcage () () ())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene guile)
.
#(syntax-object
do
((top))
(hygiene guile))))))
(hygiene guile))
(map list var-37554 init-37555)
(list '#(syntax-object
if
((top)
#(ribcage () () ())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene guile)
.
#(syntax-object
do
((top))
(hygiene guile))))))
(hygiene guile))
(list '#(syntax-object
not
((top)
#(ribcage () () ())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene guile)
.
#(syntax-object
do
((top))
(hygiene
guile))))))
(hygiene guile))
e0-37557)
(cons '#(syntax-object
begin
((top)
#(ribcage () () ())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene guile)
.
#(syntax-object
do
((top))
(hygiene
guile))))))
(hygiene guile))
(append
c-37559
(list (cons '#(syntax-object
doloop
((top)
#(ribcage
()
()
())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene
guile)
.
#(syntax-object
do
((top))
(hygiene
guile))))))
(hygiene
guile))
step-37578)))))))
tmp-37580)
(let ((tmp-37584
($sc-dispatch e1-37558 '(any . each-any))))
(if tmp-37584
(@apply
(lambda (e1-37588 e2-37589)
(list '#(syntax-object
let
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("l-*-37525" "l-*-37526"))
#(ribcage () () ())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene guile)
.
#(syntax-object
do
((top))
(hygiene guile))))))
(hygiene guile))
'#(syntax-object
doloop
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("l-*-37525" "l-*-37526"))
#(ribcage () () ())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene guile)
.
#(syntax-object
do
((top))
(hygiene guile))))))
(hygiene guile))
(map list var-37554 init-37555)
(list '#(syntax-object
if
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("l-*-37525"
"l-*-37526"))
#(ribcage () () ())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var init step e0 e1 c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene guile)
.
#(syntax-object
do
((top))
(hygiene guile))))))
(hygiene guile))
e0-37557
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("l-*-37525"
"l-*-37526"))
#(ribcage () () ())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene guile)
.
#(syntax-object
do
((top))
(hygiene
guile))))))
(hygiene guile))
(cons e1-37588 e2-37589))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("l-*-37525"
"l-*-37526"))
#(ribcage () () ())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene guile)
.
#(syntax-object
do
((top))
(hygiene
guile))))))
(hygiene guile))
(append
c-37559
(list (cons '#(syntax-object
doloop
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("l-*-37525"
"l-*-37526"))
#(ribcage
()
()
())
#(ribcage
#(step)
#((top))
#("l-*-37516"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("l-*-37501"
"l-*-37502"
"l-*-37503"
"l-*-37504"
"l-*-37505"
"l-*-37506"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("l-*-37498"))
#(ribcage
(do)
((top))
(((hygiene
guile)
.
#(syntax-object
do
((top))
(hygiene
guile))))))
(hygiene
guile))
step-37578)))))))
tmp-37584)
(syntax-violation
#f
"source expression failed to match any pattern"
e1-37558))))))
tmp-37561)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-37560)))))
tmp-37550)
(syntax-violation
#f
"source expression failed to match any pattern"
orig-x-37548))))))
(define quasiquote
(make-syntax-transformer
'quasiquote
'macro
(letrec*
((quasi-37876
(lambda (p-37900 lev-37901)
(let ((tmp-37903
($sc-dispatch
p-37900
'(#(free-id
#(syntax-object
unquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
any))))
(if tmp-37903
(@apply
(lambda (p-37907)
(if (= lev-37901 0)
(list '#(syntax-object
"value"
((top)
#(ribcage #(p) #((top)) #("l-*-37626"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
p-37907)
(quasicons-37878
'(#(syntax-object
"quote"
((top)
#(ribcage #(p) #((top)) #("l-*-37626"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
#(syntax-object
unquote
((top)
#(ribcage #(p) #((top)) #("l-*-37626"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
(quasi-37876 (list p-37907) (#{1-}# lev-37901)))))
tmp-37903)
(let ((tmp-37910
($sc-dispatch
p-37900
'(#(free-id
#(syntax-object
quasiquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
any))))
(if tmp-37910
(@apply
(lambda (p-37914)
(quasicons-37878
'(#(syntax-object
"quote"
((top)
#(ribcage #(p) #((top)) #("l-*-37629"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
#(syntax-object
quasiquote
((top)
#(ribcage #(p) #((top)) #("l-*-37629"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
(quasi-37876 (list p-37914) (#{1+}# lev-37901))))
tmp-37910)
(let ((tmp-37917 ($sc-dispatch p-37900 '(any . any))))
(if tmp-37917
(@apply
(lambda (p-37921 q-37922)
(let ((tmp-37924
($sc-dispatch
p-37921
'(#(free-id
#(syntax-object
unquote
((top)
#(ribcage
#(p q)
#((top) (top))
#("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
.
each-any))))
(if tmp-37924
(@apply
(lambda (p-37928)
(if (= lev-37901 0)
(quasilist*-37880
(map (lambda (tmp-37640-37967)
(list '#(syntax-object
"value"
((top)
#(ribcage
#(p)
#((top))
#("l-*-37638"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37632"
"l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622"
"l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene
guile))))))
(hygiene guile))
tmp-37640-37967))
p-37928)
(quasi-37876 q-37922 lev-37901))
(quasicons-37878
(quasicons-37878
'(#(syntax-object
"quote"
((top)
#(ribcage
#(p)
#((top))
#("l-*-37638"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
#(syntax-object
unquote
((top)
#(ribcage
#(p)
#((top))
#("l-*-37638"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
(quasi-37876
p-37928
(#{1-}# lev-37901)))
(quasi-37876 q-37922 lev-37901))))
tmp-37924)
(let ((tmp-37972
($sc-dispatch
p-37921
'(#(free-id
#(syntax-object
unquote-splicing
((top)
#(ribcage
#(p q)
#((top) (top))
#("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
.
each-any))))
(if tmp-37972
(@apply
(lambda (p-37976)
(if (= lev-37901 0)
(quasiappend-37879
(map (lambda (tmp-37645-37979)
(list '#(syntax-object
"value"
((top)
#(ribcage
#(p)
#((top))
#("l-*-37643"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37632"
"l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622"
"l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene
guile))))))
(hygiene guile))
tmp-37645-37979))
p-37976)
(quasi-37876 q-37922 lev-37901))
(quasicons-37878
(quasicons-37878
'(#(syntax-object
"quote"
((top)
#(ribcage
#(p)
#((top))
#("l-*-37643"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
#(syntax-object
unquote-splicing
((top)
#(ribcage
#(p)
#((top))
#("l-*-37643"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37632" "l-*-37633"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
(quasi-37876
p-37976
(#{1-}# lev-37901)))
(quasi-37876 q-37922 lev-37901))))
tmp-37972)
(quasicons-37878
(quasi-37876 p-37921 lev-37901)
(quasi-37876 q-37922 lev-37901)))))))
tmp-37917)
(let ((tmp-37993
($sc-dispatch p-37900 '#(vector each-any))))
(if tmp-37993
(@apply
(lambda (x-37997)
(let ((x-38000
(vquasi-37877 x-37997 lev-37901)))
(let ((tmp-38002
($sc-dispatch
x-38000
'(#(atom "quote") each-any))))
(if tmp-38002
(@apply
(lambda (x-38006)
(list '#(syntax-object
"quote"
((top)
#(ribcage
#(x)
#((top))
#("l-*-37750"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-37747"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
(list->vector x-38006)))
tmp-38002)
(letrec*
((f-38008
(lambda (y-38020 k-38021)
(let ((tmp-38023
($sc-dispatch
y-38020
'(#(atom "quote")
each-any))))
(if tmp-38023
(@apply
(lambda (y-38026)
(k-38021
(map (lambda (tmp-37775-38027)
(list '#(syntax-object
"quote"
((top)
#(ribcage
#(y)
#((top))
#("l-*-37773"))
#(ribcage
()
()
())
#(ribcage
#(f
y
k)
#((top)
(top)
(top))
#("l-*-37755"
"l-*-37756"
"l-*-37757"))
#(ribcage
#(_)
#((top))
#("l-*-37753"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("l-*-37747"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene
guile)
.
#(syntax-object
quasiquote
((top))
(hygiene
guile))))))
(hygiene
guile))
tmp-37775-38027))
y-38026)))
tmp-38023)
(let ((tmp-38028
($sc-dispatch
y-38020
'(#(atom "list")
.
each-any))))
(if tmp-38028
(@apply
(lambda (y-38031)
(k-38021 y-38031))
tmp-38028)
(let ((tmp-38032
($sc-dispatch
y-38020
'(#(atom "list*")
.
#(each+
any
(any)
())))))
(if tmp-38032
(@apply
(lambda (y-38035
z-38036)
(f-38008
z-38036
(lambda (ls-38037)
(k-38021
(append
y-38035
ls-38037)))))
tmp-38032)
(list '#(syntax-object
"list->vector"
((top)
#(ribcage
()
()
())
#(ribcage
#(t-37790)
#((m-*-37791
top))
#("l-*-37794"))
#(ribcage
#(else)
#((top))
#("l-*-37788"))
#(ribcage
()
()
())
#(ribcage
#(f y k)
#((top)
(top)
(top))
#("l-*-37755"
"l-*-37756"
"l-*-37757"))
#(ribcage
#(_)
#((top))
#("l-*-37753"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("l-*-37747"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene
guile)
.
#(syntax-object
quasiquote
((top))
(hygiene
guile))))))
(hygiene
guile))
x-38000))))))))))
(f-38008
x-38000
(lambda (ls-38010)
(let ((tmp-38012
($sc-dispatch
ls-38010
'each-any)))
(if tmp-38012
(@apply
(lambda (t-37763-38015)
(cons '#(syntax-object
"vector"
((top)
#(ribcage
()
()
())
#(ribcage
#(t-37763)
#((m-*-37764
top))
#("l-*-37768"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ls)
#((top))
#("l-*-37762"))
#(ribcage
#(_)
#((top))
#("l-*-37753"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("l-*-37747"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene
guile)
.
#(syntax-object
quasiquote
((top))
(hygiene
guile))))))
(hygiene guile))
t-37763-38015))
tmp-38012)
(syntax-violation
#f
"source expression failed to match any pattern"
ls-38010))))))))))
tmp-37993)
(list '#(syntax-object
"quote"
((top)
#(ribcage #(p) #((top)) #("l-*-37653"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37622" "l-*-37623"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
p-37900)))))))))))
(vquasi-37877
(lambda (p-38065 lev-38066)
(let ((tmp-38068 ($sc-dispatch p-38065 '(any . any))))
(if tmp-38068
(@apply
(lambda (p-38072 q-38073)
(let ((tmp-38075
($sc-dispatch
p-38072
'(#(free-id
#(syntax-object
unquote
((top)
#(ribcage
#(p q)
#((top) (top))
#("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
.
each-any))))
(if tmp-38075
(@apply
(lambda (p-38079)
(if (= lev-38066 0)
(quasilist*-37880
(map (lambda (tmp-37669-38118)
(list '#(syntax-object
"value"
((top)
#(ribcage
#(p)
#((top))
#("l-*-37667"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
tmp-37669-38118))
p-38079)
(vquasi-37877 q-38073 lev-38066))
(quasicons-37878
(quasicons-37878
'(#(syntax-object
"quote"
((top)
#(ribcage #(p) #((top)) #("l-*-37667"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
#(syntax-object
unquote
((top)
#(ribcage #(p) #((top)) #("l-*-37667"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
(quasi-37876 p-38079 (#{1-}# lev-38066)))
(vquasi-37877 q-38073 lev-38066))))
tmp-38075)
(let ((tmp-38125
($sc-dispatch
p-38072
'(#(free-id
#(syntax-object
unquote-splicing
((top)
#(ribcage
#(p q)
#((top) (top))
#("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
.
each-any))))
(if tmp-38125
(@apply
(lambda (p-38129)
(if (= lev-38066 0)
(quasiappend-37879
(map (lambda (tmp-37674-38132)
(list '#(syntax-object
"value"
((top)
#(ribcage
#(p)
#((top))
#("l-*-37672"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37661"
"l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37657"
"l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
tmp-37674-38132))
p-38129)
(vquasi-37877 q-38073 lev-38066))
(quasicons-37878
(quasicons-37878
'(#(syntax-object
"quote"
((top)
#(ribcage
#(p)
#((top))
#("l-*-37672"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
#(syntax-object
unquote-splicing
((top)
#(ribcage
#(p)
#((top))
#("l-*-37672"))
#(ribcage
#(p q)
#((top) (top))
#("l-*-37661" "l-*-37662"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile)))
(quasi-37876 p-38129 (#{1-}# lev-38066)))
(vquasi-37877 q-38073 lev-38066))))
tmp-38125)
(quasicons-37878
(quasi-37876 p-38072 lev-38066)
(vquasi-37877 q-38073 lev-38066)))))))
tmp-38068)
(let ((tmp-38150 ($sc-dispatch p-38065 '())))
(if tmp-38150
(@apply
(lambda ()
'(#(syntax-object
"quote"
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("l-*-37657" "l-*-37658"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
()))
tmp-38150)
(syntax-violation
#f
"source expression failed to match any pattern"
p-38065)))))))
(quasicons-37878
(lambda (x-38163 y-38164)
(let ((tmp-38165 (list x-38163 y-38164)))
(let ((tmp-38166 ($sc-dispatch tmp-38165 '(any any))))
(if tmp-38166
(@apply
(lambda (x-38168 y-38169)
(let ((tmp-38171
($sc-dispatch y-38169 '(#(atom "quote") any))))
(if tmp-38171
(@apply
(lambda (dy-38175)
(let ((tmp-38177
($sc-dispatch
x-38168
'(#(atom "quote") any))))
(if tmp-38177
(@apply
(lambda (dx-38181)
(list '#(syntax-object
"quote"
((top)
#(ribcage
#(dx)
#((top))
#("l-*-37696"))
#(ribcage
#(dy)
#((top))
#("l-*-37692"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
(cons dx-38181 dy-38175)))
tmp-38177)
(if (null? dy-38175)
(list '#(syntax-object
"list"
((top)
#(ribcage
#(_)
#((top))
#("l-*-37698"))
#(ribcage
#(dy)
#((top))
#("l-*-37692"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
x-38168)
(list '#(syntax-object
"list*"
((top)
#(ribcage
#(_)
#((top))
#("l-*-37698"))
#(ribcage
#(dy)
#((top))
#("l-*-37692"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
x-38168
y-38169)))))
tmp-38171)
(let ((tmp-38186
($sc-dispatch
y-38169
'(#(atom "list") . any))))
(if tmp-38186
(@apply
(lambda (stuff-38190)
(cons '#(syntax-object
"list"
((top)
#(ribcage
#(stuff)
#((top))
#("l-*-37701"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
(cons x-38168 stuff-38190)))
tmp-38186)
(let ((tmp-38191
($sc-dispatch
y-38169
'(#(atom "list*") . any))))
(if tmp-38191
(@apply
(lambda (stuff-38195)
(cons '#(syntax-object
"list*"
((top)
#(ribcage
#(stuff)
#((top))
#("l-*-37704"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
(cons x-38168 stuff-38195)))
tmp-38191)
(list '#(syntax-object
"list*"
((top)
#(ribcage
#(_)
#((top))
#("l-*-37706"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37686" "l-*-37687"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37681" "l-*-37682"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
x-38168
y-38169))))))))
tmp-38166)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-38165))))))
(quasiappend-37879
(lambda (x-38206 y-38207)
(let ((tmp-38209
($sc-dispatch y-38207 '(#(atom "quote") ()))))
(if tmp-38209
(@apply
(lambda ()
(if (null? x-38206)
'(#(syntax-object
"quote"
((top)
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37710" "l-*-37711"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
())
(if (null? (cdr x-38206))
(car x-38206)
(let ((tmp-38214 ($sc-dispatch x-38206 'each-any)))
(if tmp-38214
(@apply
(lambda (p-38218)
(cons '#(syntax-object
"append"
((top)
#(ribcage () () ())
#(ribcage
#(p)
#((top))
#("l-*-37722"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37710" "l-*-37711"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
p-38218))
tmp-38214)
(syntax-violation
#f
"source expression failed to match any pattern"
x-38206))))))
tmp-38209)
(if (null? x-38206)
y-38207
(let ((tmp-38226 (list x-38206 y-38207)))
(let ((tmp-38227
($sc-dispatch tmp-38226 '(each-any any))))
(if tmp-38227
(@apply
(lambda (p-38229 y-38230)
(cons '#(syntax-object
"append"
((top)
#(ribcage () () ())
#(ribcage
#(p y)
#((top) (top))
#("l-*-37733" "l-*-37734"))
#(ribcage #(_) #((top)) #("l-*-37725"))
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("l-*-37710" "l-*-37711"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
(append p-38229 (list y-38230))))
tmp-38227)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-38226)))))))))
(quasilist*-37880
(lambda (x-38234 y-38235)
(letrec*
((f-38236
(lambda (x-38340)
(if (null? x-38340)
y-38235
(quasicons-37878
(car x-38340)
(f-38236 (cdr x-38340)))))))
(f-38236 x-38234))))
(emit-37882
(lambda (x-38343)
(let ((tmp-38345
($sc-dispatch x-38343 '(#(atom "quote") any))))
(if tmp-38345
(@apply
(lambda (x-38349)
(list '#(syntax-object
quote
((top)
#(ribcage #(x) #((top)) #("l-*-37800"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top) (top) (top) (top) (top) (top) (top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
x-38349))
tmp-38345)
(let ((tmp-38350
($sc-dispatch
x-38343
'(#(atom "list") . each-any))))
(if tmp-38350
(@apply
(lambda (x-38354)
(let ((tmp-38355 (map emit-37882 x-38354)))
(let ((tmp-38356 ($sc-dispatch tmp-38355 'each-any)))
(if tmp-38356
(@apply
(lambda (t-37805-38358)
(cons '#(syntax-object
list
((top)
#(ribcage () () ())
#(ribcage
#(t-37805)
#((m-*-37806 top))
#("l-*-37810"))
#(ribcage
#(x)
#((top))
#("l-*-37803"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
t-37805-38358))
tmp-38356)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-38355)))))
tmp-38350)
(let ((tmp-38359
($sc-dispatch
x-38343
'(#(atom "list*") . #(each+ any (any) ())))))
(if tmp-38359
(@apply
(lambda (x-38363 y-38364)
(letrec*
((f-38365
(lambda (x*-38368)
(if (null? x*-38368)
(emit-37882 y-38364)
(let ((tmp-38369
(list (emit-37882 (car x*-38368))
(f-38365 (cdr x*-38368)))))
(let ((tmp-38370
($sc-dispatch
tmp-38369
'(any any))))
(if tmp-38370
(@apply
(lambda (t-37825-38372
t-37824-38373)
(list '#(syntax-object
cons
((top)
#(ribcage () () ())
#(ribcage
#(t-37825 t-37824)
#((m-*-37826 top)
(m-*-37826 top))
#("l-*-37830"
"l-*-37831"))
#(ribcage () () ())
#(ribcage
#(f x*)
#((top) (top))
#("l-*-37819"
"l-*-37820"))
#(ribcage
#(x y)
#((top) (top))
#("l-*-37815"
"l-*-37816"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene
guile))))))
(hygiene guile))
t-37825-38372
t-37824-38373))
tmp-38370)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-38369))))))))
(f-38365 x-38363)))
tmp-38359)
(let ((tmp-38374
($sc-dispatch
x-38343
'(#(atom "append") . each-any))))
(if tmp-38374
(@apply
(lambda (x-38378)
(let ((tmp-38379 (map emit-37882 x-38378)))
(let ((tmp-38380
($sc-dispatch tmp-38379 'each-any)))
(if tmp-38380
(@apply
(lambda (t-37837-38382)
(cons '#(syntax-object
append
((top)
#(ribcage () () ())
#(ribcage
#(t-37837)
#((m-*-37838 top))
#("l-*-37842"))
#(ribcage
#(x)
#((top))
#("l-*-37835"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
t-37837-38382))
tmp-38380)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-38379)))))
tmp-38374)
(let ((tmp-38383
($sc-dispatch
x-38343
'(#(atom "vector") . each-any))))
(if tmp-38383
(@apply
(lambda (x-38387)
(let ((tmp-38388 (map emit-37882 x-38387)))
(let ((tmp-38389
($sc-dispatch
tmp-38388
'each-any)))
(if tmp-38389
(@apply
(lambda (t-37849-38391)
(cons '#(syntax-object
vector
((top)
#(ribcage () () ())
#(ribcage
#(t-37849)
#((m-*-37850 top))
#("l-*-37854"))
#(ribcage
#(x)
#((top))
#("l-*-37847"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene
guile))))))
(hygiene guile))
t-37849-38391))
tmp-38389)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-38388)))))
tmp-38383)
(let ((tmp-38392
($sc-dispatch
x-38343
'(#(atom "list->vector") any))))
(if tmp-38392
(@apply
(lambda (x-38396)
(let ((tmp-38397 (emit-37882 x-38396)))
(list '#(syntax-object
list->vector
((top)
#(ribcage () () ())
#(ribcage
#(t-37861)
#((m-*-37862 top))
#("l-*-37865"))
#(ribcage
#(x)
#((top))
#("l-*-37859"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-37797"))
#(ribcage
(emit quasivector
quasilist*
quasiappend
quasicons
vquasi
quasi)
((top)
(top)
(top)
(top)
(top)
(top)
(top))
("l-*-37618"
"l-*-37616"
"l-*-37614"
"l-*-37612"
"l-*-37610"
"l-*-37608"
"l-*-37606"))
#(ribcage
(quasiquote)
((top))
(((hygiene guile)
.
#(syntax-object
quasiquote
((top))
(hygiene guile))))))
(hygiene guile))
tmp-38397)))
tmp-38392)
(let ((tmp-38400
($sc-dispatch
x-38343
'(#(atom "value") any))))
(if tmp-38400
(@apply
(lambda (x-38404) x-38404)
tmp-38400)
(syntax-violation
#f
"source expression failed to match any pattern"
x-38343))))))))))))))))))
(lambda (x-37883)
(let ((tmp-37885 ($sc-dispatch x-37883 '(_ any))))
(if tmp-37885
(@apply
(lambda (e-37889)
(emit-37882 (quasi-37876 e-37889 0)))
tmp-37885)
(syntax-violation
#f
"source expression failed to match any pattern"
x-37883)))))))
(define include
(make-syntax-transformer
'include
'macro
(lambda (x-38460)
(letrec*
((read-file-38461
(lambda (fn-38570 k-38571)
(let ((p-38572 (open-input-file fn-38570)))
(letrec*
((f-38573
(lambda (x-38627 result-38628)
(if (eof-object? x-38627)
(begin
(close-input-port p-38572)
(reverse result-38628))
(f-38573
(read p-38572)
(cons (datum->syntax k-38571 x-38627)
result-38628))))))
(f-38573 (read p-38572) '()))))))
(let ((tmp-38463 ($sc-dispatch x-38460 '(any any))))
(if tmp-38463
(@apply
(lambda (k-38467 filename-38468)
(let ((fn-38469 (syntax->datum filename-38468)))
(let ((tmp-38470
(read-file-38461 fn-38469 filename-38468)))
(let ((tmp-38471 ($sc-dispatch tmp-38470 'each-any)))
(if tmp-38471
(@apply
(lambda (exp-38489)
(cons '#(syntax-object
begin
((top)
#(ribcage () () ())
#(ribcage #(exp) #((top)) #("l-*-38457"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(fn) #((top)) #("l-*-38452"))
#(ribcage
#(k filename)
#((top) (top))
#("l-*-38448" "l-*-38449"))
#(ribcage
(read-file)
((top))
("l-*-38432"))
#(ribcage #(x) #((top)) #("l-*-38431"))
#(ribcage
(include)
((top))
(((hygiene guile)
.
#(syntax-object
include
((top))
(hygiene guile))))))
(hygiene guile))
exp-38489))
tmp-38471)
(syntax-violation
#f
"source expression failed to match any pattern"
tmp-38470))))))
tmp-38463)
(syntax-violation
#f
"source expression failed to match any pattern"
x-38460)))))))
(define include-from-path
(make-syntax-transformer
'include-from-path
'macro
(lambda (x-38648)
(let ((tmp-38650 ($sc-dispatch x-38648 '(any any))))
(if tmp-38650
(@apply
(lambda (k-38654 filename-38655)
(let ((fn-38656 (syntax->datum filename-38655)))
(let ((tmp-38657
(datum->syntax
filename-38655
(let ((t-38660 (%search-load-path fn-38656)))
(if t-38660
t-38660
(syntax-violation
'include-from-path
"file not found in path"
x-38648
filename-38655))))))
(list '#(syntax-object
include
((top)
#(ribcage () () ())
#(ribcage #(fn) #((top)) #("l-*-38642"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(fn) #((top)) #("l-*-38638"))
#(ribcage
#(k filename)
#((top) (top))
#("l-*-38634" "l-*-38635"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38631"))
#(ribcage
(include-from-path)
((top))
(((hygiene guile)
.
#(syntax-object
include-from-path
((top))
(hygiene guile))))))
(hygiene guile))
tmp-38657))))
tmp-38650)
(syntax-violation
#f
"source expression failed to match any pattern"
x-38648))))))
(define unquote
(make-syntax-transformer
'unquote
'macro
(lambda (x-38670)
(syntax-violation
'unquote
"expression not valid outside of quasiquote"
x-38670))))
(define unquote-splicing
(make-syntax-transformer
'unquote-splicing
'macro
(lambda (x-38674)
(syntax-violation
'unquote-splicing
"expression not valid outside of quasiquote"
x-38674))))
(define case
(make-syntax-transformer
'case
'macro
(lambda (x-38731)
(let ((tmp-38733
($sc-dispatch x-38731 '(_ any any . each-any))))
(if tmp-38733
(@apply
(lambda (e-38737 m1-38738 m2-38739)
(let ((tmp-38740
(letrec*
((f-38794
(lambda (clause-38797 clauses-38798)
(if (null? clauses-38798)
(let ((tmp-38800
($sc-dispatch
clause-38797
'(#(free-id
#(syntax-object
else
((top)
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene guile))))))
(hygiene guile)))
any
.
each-any))))
(if tmp-38800
(@apply
(lambda (e1-38804 e2-38805)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("l-*-38699" "l-*-38700"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene guile))))))
(hygiene guile))
(cons e1-38804 e2-38805)))
tmp-38800)
(let ((tmp-38806
($sc-dispatch
clause-38797
'(each-any any . each-any))))
(if tmp-38806
(@apply
(lambda (k-38810 e1-38811 e2-38812)
(list '#(syntax-object
if
((top)
#(ribcage
#(k e1 e2)
#((top) (top) (top))
#("l-*-38705"
"l-*-38706"
"l-*-38707"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene guile))))))
(hygiene guile))
(list '#(syntax-object
memv
((top)
#(ribcage
#(k e1 e2)
#((top)
(top)
(top))
#("l-*-38705"
"l-*-38706"
"l-*-38707"))
#(ribcage () () ())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene
guile))))))
(hygiene guile))
'#(syntax-object
t
((top)
#(ribcage
#(k e1 e2)
#((top)
(top)
(top))
#("l-*-38705"
"l-*-38706"
"l-*-38707"))
#(ribcage () () ())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene
guile))))))
(hygiene guile))
(list '#(syntax-object
quote
((top)
#(ribcage
#(k e1 e2)
#((top)
(top)
(top))
#("l-*-38705"
"l-*-38706"
"l-*-38707"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene
guile)
.
#(syntax-object
case
((top))
(hygiene
guile))))))
(hygiene
guile))
k-38810))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(k e1 e2)
#((top)
(top)
(top))
#("l-*-38705"
"l-*-38706"
"l-*-38707"))
#(ribcage () () ())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene
guile))))))
(hygiene guile))
(cons e1-38811
e2-38812))))
tmp-38806)
(syntax-violation
'case
"bad clause"
x-38731
clause-38797)))))
(let ((tmp-38820
(f-38794
(car clauses-38798)
(cdr clauses-38798))))
(let ((tmp-38823
($sc-dispatch
clause-38797
'(each-any any . each-any))))
(if tmp-38823
(@apply
(lambda (k-38827 e1-38828 e2-38829)
(list '#(syntax-object
if
((top)
#(ribcage
#(k e1 e2)
#((top) (top) (top))
#("l-*-38721"
"l-*-38722"
"l-*-38723"))
#(ribcage () () ())
#(ribcage
#(rest)
#((top))
#("l-*-38717"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene guile))))))
(hygiene guile))
(list '#(syntax-object
memv
((top)
#(ribcage
#(k e1 e2)
#((top) (top) (top))
#("l-*-38721"
"l-*-38722"
"l-*-38723"))
#(ribcage () () ())
#(ribcage
#(rest)
#((top))
#("l-*-38717"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene
guile))))))
(hygiene guile))
'#(syntax-object
t
((top)
#(ribcage
#(k e1 e2)
#((top) (top) (top))
#("l-*-38721"
"l-*-38722"
"l-*-38723"))
#(ribcage () () ())
#(ribcage
#(rest)
#((top))
#("l-*-38717"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene
guile))))))
(hygiene guile))
(list '#(syntax-object
quote
((top)
#(ribcage
#(k e1 e2)
#((top)
(top)
(top))
#("l-*-38721"
"l-*-38722"
"l-*-38723"))
#(ribcage
()
()
())
#(ribcage
#(rest)
#((top))
#("l-*-38717"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene
guile)
.
#(syntax-object
case
((top))
(hygiene
guile))))))
(hygiene guile))
k-38827))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(k e1 e2)
#((top) (top) (top))
#("l-*-38721"
"l-*-38722"
"l-*-38723"))
#(ribcage () () ())
#(ribcage
#(rest)
#((top))
#("l-*-38717"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("l-*-38690"
"l-*-38691"
"l-*-38692"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene
guile))))))
(hygiene guile))
(cons e1-38828 e2-38829))
tmp-38820))
tmp-38823)
(syntax-violation
'case
"bad clause"
x-38731
clause-38797))))))))
(f-38794 m1-38738 m2-38739))))
(let ((body-38741 tmp-38740))
(list '#(syntax-object
let
((top)
#(ribcage () () ())
#(ribcage #(body) #((top)) #("l-*-38688"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("l-*-38680" "l-*-38681" "l-*-38682"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene guile))))))
(hygiene guile))
(list (list '#(syntax-object
t
((top)
#(ribcage () () ())
#(ribcage
#(body)
#((top))
#("l-*-38688"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("l-*-38680"
"l-*-38681"
"l-*-38682"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38677"))
#(ribcage
(case)
((top))
(((hygiene guile)
.
#(syntax-object
case
((top))
(hygiene guile))))))
(hygiene guile))
e-38737))
body-38741))))
tmp-38733)
(syntax-violation
#f
"source expression failed to match any pattern"
x-38731))))))
(define make-variable-transformer
(lambda (proc-38848)
(if (procedure? proc-38848)
(letrec*
((trans-38849
(lambda (x-38851) (proc-38848 x-38851))))
(begin
(set-procedure-property!
trans-38849
'variable-transformer
#t)
trans-38849))
(error "variable transformer not a procedure"
proc-38848))))
(define identifier-syntax
(make-syntax-transformer
'identifier-syntax
'macro
(lambda (x-38888)
(let ((tmp-38890 ($sc-dispatch x-38888 '(_ any))))
(if tmp-38890
(@apply
(lambda (e-38894)
(list '#(syntax-object
lambda
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile)))
'#((#(syntax-object
macro-type
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
.
#(syntax-object
identifier-syntax
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))))
(list '#(syntax-object
syntax-case
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
'#(syntax-object
x
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
'()
(list '#(syntax-object
id
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
'(#(syntax-object
identifier?
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
(#(syntax-object
syntax
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
#(syntax-object
id
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(e)
#((top))
#("l-*-38863"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
e-38894))
(list '(#(syntax-object
_
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
#(syntax-object
x
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage #(e) #((top)) #("l-*-38863"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile)))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(e)
#((top))
#("l-*-38863"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
(cons e-38894
'(#(syntax-object
x
((top)
#(ribcage
#(e)
#((top))
#("l-*-38863"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(e)
#((top))
#("l-*-38863"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile)))))))))
tmp-38890)
(let ((tmp-38895
($sc-dispatch
x-38888
'(_ (any any)
((#(free-id
#(syntax-object
set!
((top)
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile)))
any
any)
any)))))
(if (if tmp-38895
(@apply
(lambda (id-38899
exp1-38900
var-38901
val-38902
exp2-38903)
(if (identifier? id-38899)
(identifier? var-38901)
#f))
tmp-38895)
#f)
(@apply
(lambda (id-38904
exp1-38905
var-38906
val-38907
exp2-38908)
(list '#(syntax-object
make-variable-transformer
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
(list '#(syntax-object
lambda
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile)))
'#((#(syntax-object
macro-type
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
.
#(syntax-object
variable-transformer
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))))
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
'#(syntax-object
x
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
'(#(syntax-object
set!
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile)))
(list (list '#(syntax-object
set!
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
var-38906
val-38907)
(list '#(syntax-object
syntax
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
exp2-38908))
(list (cons id-38904
'(#(syntax-object
x
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
(cons exp1-38905
'(#(syntax-object
x
((top)
#(ribcage
#(id
exp1
var
val
exp2)
#((top)
(top)
(top)
(top)
(top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene
guile))))))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(id
exp1
var
val
exp2)
#((top)
(top)
(top)
(top)
(top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene
guile))))))
(hygiene guile))))))
(list id-38904
(list '#(syntax-object
identifier?
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(id
exp1
var
val
exp2)
#((top)
(top)
(top)
(top)
(top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene
guile))))))
(hygiene guile))
id-38904))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("l-*-38878"
"l-*-38879"
"l-*-38880"
"l-*-38881"
"l-*-38882"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("l-*-38860"))
#(ribcage
(identifier-syntax)
((top))
(((hygiene guile)
.
#(syntax-object
identifier-syntax
((top))
(hygiene guile))))))
(hygiene guile))
exp1-38905))))))
tmp-38895)
(syntax-violation
#f
"source expression failed to match any pattern"
x-38888))))))))
(define define*
(make-syntax-transformer
'define*
'macro
(lambda (x-38941)
(let ((tmp-38943
($sc-dispatch
x-38941
'(_ (any . any) any . each-any))))
(if tmp-38943
(@apply
(lambda (id-38947 args-38948 b0-38949 b1-38950)
(list '#(syntax-object
define
((top)
#(ribcage
#(id args b0 b1)
#((top) (top) (top) (top))
#("l-*-38923"
"l-*-38924"
"l-*-38925"
"l-*-38926"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38920"))
#(ribcage
(define*)
((top))
(((hygiene guile)
.
#(syntax-object
define*
((top))
(hygiene guile))))))
(hygiene guile))
id-38947
(cons '#(syntax-object
lambda*
((top)
#(ribcage
#(id args b0 b1)
#((top) (top) (top) (top))
#("l-*-38923"
"l-*-38924"
"l-*-38925"
"l-*-38926"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38920"))
#(ribcage
(define*)
((top))
(((hygiene guile)
.
#(syntax-object
define*
((top))
(hygiene guile))))))
(hygiene guile))
(cons args-38948 (cons b0-38949 b1-38950)))))
tmp-38943)
(let ((tmp-38951 ($sc-dispatch x-38941 '(_ any any))))
(if (if tmp-38951
(@apply
(lambda (id-38955 val-38956)
(identifier?
'#(syntax-object
x
((top)
#(ribcage
#(id val)
#((top) (top))
#("l-*-38933" "l-*-38934"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38920"))
#(ribcage
(define*)
((top))
(((hygiene guile)
.
#(syntax-object
define*
((top))
(hygiene guile))))))
(hygiene guile))))
tmp-38951)
#f)
(@apply
(lambda (id-38957 val-38958)
(list '#(syntax-object
define
((top)
#(ribcage
#(id val)
#((top) (top))
#("l-*-38937" "l-*-38938"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("l-*-38920"))
#(ribcage
(define*)
((top))
(((hygiene guile)
.
#(syntax-object
define*
((top))
(hygiene guile))))))
(hygiene guile))
id-38957
val-38958))
tmp-38951)
(syntax-violation
#f
"source expression failed to match any pattern"
x-38941))))))))