1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-07 18:30:25 +02:00
guile/module/ice-9/psyntax-pp.scm
Andy Wingo fd5985271f psyntax's labels and marks now unique over a read/write boundary
* module/ice-9/psyntax.scm (gen-label, new-mark): Labels and marks need
  to be unique across read/write boundaries -- it's not sufficient for
  them to simply be unique within a process by virtue of (string #\i)
  constructing a new object. This used to mostly work before, because
  the collapsing of duplicate constants didn't catch many syntax-object
  cases -- but for some reason the attached test case brings out the
  problem. So switch to use gensyms. Potentially more costly, but it's
  what upstream psyntax does now.

  This bug took me fully two days to figure out.

* module/ice-9/psyntax-pp.scm: Regenerated.

* test-suite/tests/syncase.test ("serializable labels and marks"): Add
  test case.
2009-12-20 15:30:32 +01:00

14863 lines
992 KiB
Scheme

(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
(if #f #f)
(letrec ((#{and-map*\ 28}#
(lambda (#{f\ 66}# #{first\ 67}# . #{rest\ 68}#)
(let ((#{t\ 69}# (null? #{first\ 67}#)))
(if #{t\ 69}#
#{t\ 69}#
(if (null? #{rest\ 68}#)
(letrec ((#{andmap\ 70}#
(lambda (#{first\ 71}#)
(let ((#{x\ 72}# (car #{first\ 71}#))
(#{first\ 73}# (cdr #{first\ 71}#)))
(if (null? #{first\ 73}#)
(#{f\ 66}# #{x\ 72}#)
(if (#{f\ 66}# #{x\ 72}#)
(#{andmap\ 70}# #{first\ 73}#)
#f))))))
(#{andmap\ 70}# #{first\ 67}#))
(letrec ((#{andmap\ 74}#
(lambda (#{first\ 75}# #{rest\ 76}#)
(let ((#{x\ 77}# (car #{first\ 75}#))
(#{xr\ 78}# (map car #{rest\ 76}#))
(#{first\ 79}# (cdr #{first\ 75}#))
(#{rest\ 80}# (map cdr #{rest\ 76}#)))
(if (null? #{first\ 79}#)
(apply #{f\ 66}#
(cons #{x\ 77}# #{xr\ 78}#))
(if (apply #{f\ 66}#
(cons #{x\ 77}# #{xr\ 78}#))
(#{andmap\ 74}#
#{first\ 79}#
#{rest\ 80}#)
#f))))))
(#{andmap\ 74}# #{first\ 67}# #{rest\ 68}#))))))))
(letrec ((#{lambda-var-list\ 179}#
(lambda (#{vars\ 303}#)
(letrec ((#{lvl\ 304}#
(lambda (#{vars\ 305}# #{ls\ 306}# #{w\ 307}#)
(if (pair? #{vars\ 305}#)
(#{lvl\ 304}#
(cdr #{vars\ 305}#)
(cons (#{wrap\ 156}#
(car #{vars\ 305}#)
#{w\ 307}#
#f)
#{ls\ 306}#)
#{w\ 307}#)
(if (#{id?\ 128}# #{vars\ 305}#)
(cons (#{wrap\ 156}#
#{vars\ 305}#
#{w\ 307}#
#f)
#{ls\ 306}#)
(if (null? #{vars\ 305}#)
#{ls\ 306}#
(if (#{syntax-object?\ 112}# #{vars\ 305}#)
(#{lvl\ 304}#
(#{syntax-object-expression\ 113}#
#{vars\ 305}#)
#{ls\ 306}#
(#{join-wraps\ 147}#
#{w\ 307}#
(#{syntax-object-wrap\ 114}#
#{vars\ 305}#)))
(cons #{vars\ 305}# #{ls\ 306}#))))))))
(#{lvl\ 304}#
#{vars\ 303}#
'()
'(())))))
(#{gen-var\ 178}#
(lambda (#{id\ 308}#)
(let ((#{id\ 309}#
(if (#{syntax-object?\ 112}# #{id\ 308}#)
(#{syntax-object-expression\ 113}# #{id\ 308}#)
#{id\ 308}#)))
(gensym
(string-append (symbol->string #{id\ 309}#) " ")))))
(#{strip\ 177}#
(lambda (#{x\ 310}# #{w\ 311}#)
(if (memq 'top
(#{wrap-marks\ 131}# #{w\ 311}#))
#{x\ 310}#
(letrec ((#{f\ 312}# (lambda (#{x\ 313}#)
(if (#{syntax-object?\ 112}#
#{x\ 313}#)
(#{strip\ 177}#
(#{syntax-object-expression\ 113}#
#{x\ 313}#)
(#{syntax-object-wrap\ 114}#
#{x\ 313}#))
(if (pair? #{x\ 313}#)
(let ((#{a\ 314}# (#{f\ 312}# (car #{x\ 313}#)))
(#{d\ 315}# (#{f\ 312}# (cdr #{x\ 313}#))))
(if (if (eq? #{a\ 314}#
(car #{x\ 313}#))
(eq? #{d\ 315}#
(cdr #{x\ 313}#))
#f)
#{x\ 313}#
(cons #{a\ 314}# #{d\ 315}#)))
(if (vector? #{x\ 313}#)
(let ((#{old\ 316}#
(vector->list
#{x\ 313}#)))
(let ((#{new\ 317}#
(map #{f\ 312}#
#{old\ 316}#)))
(if (#{and-map*\ 28}#
eq?
#{old\ 316}#
#{new\ 317}#)
#{x\ 313}#
(list->vector
#{new\ 317}#))))
#{x\ 313}#))))))
(#{f\ 312}# #{x\ 310}#)))))
(#{chi-lambda-case\ 176}#
(lambda (#{e\ 318}#
#{r\ 319}#
#{w\ 320}#
#{s\ 321}#
#{mod\ 322}#
#{get-formals\ 323}#
#{clauses\ 324}#)
(letrec ((#{expand-body\ 328}#
(lambda (#{req\ 329}#
#{opt\ 330}#
#{rest\ 331}#
#{kw\ 332}#
#{body\ 333}#
#{vars\ 334}#
#{r*\ 335}#
#{w*\ 336}#
#{inits\ 337}#)
((lambda (#{tmp\ 338}#)
((lambda (#{tmp\ 339}#)
(if (if #{tmp\ 339}#
(apply (lambda (#{docstring\ 340}#
#{e1\ 341}#
#{e2\ 342}#)
(string?
(syntax->datum
#{docstring\ 340}#)))
#{tmp\ 339}#)
#f)
(apply (lambda (#{docstring\ 343}#
#{e1\ 344}#
#{e2\ 345}#)
(values
(syntax->datum
#{docstring\ 343}#)
#{req\ 329}#
#{opt\ 330}#
#{rest\ 331}#
#{kw\ 332}#
#{inits\ 337}#
#{vars\ 334}#
(#{chi-body\ 168}#
(cons #{e1\ 344}# #{e2\ 345}#)
(#{source-wrap\ 157}#
#{e\ 318}#
#{w\ 320}#
#{s\ 321}#
#{mod\ 322}#)
#{r*\ 335}#
#{w*\ 336}#
#{mod\ 322}#)))
#{tmp\ 339}#)
((lambda (#{tmp\ 347}#)
(if #{tmp\ 347}#
(apply (lambda (#{e1\ 348}#
#{e2\ 349}#)
(values
#f
#{req\ 329}#
#{opt\ 330}#
#{rest\ 331}#
#{kw\ 332}#
#{inits\ 337}#
#{vars\ 334}#
(#{chi-body\ 168}#
(cons #{e1\ 348}#
#{e2\ 349}#)
(#{source-wrap\ 157}#
#{e\ 318}#
#{w\ 320}#
#{s\ 321}#
#{mod\ 322}#)
#{r*\ 335}#
#{w*\ 336}#
#{mod\ 322}#)))
#{tmp\ 347}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 338}#)))
($sc-dispatch
#{tmp\ 338}#
'(any . each-any)))))
($sc-dispatch
#{tmp\ 338}#
'(any any . each-any))))
#{body\ 333}#)))
(#{expand-kw\ 327}#
(lambda (#{req\ 351}#
#{opt\ 352}#
#{rest\ 353}#
#{kw\ 354}#
#{body\ 355}#
#{vars\ 356}#
#{r*\ 357}#
#{w*\ 358}#
#{aok\ 359}#
#{out\ 360}#
#{inits\ 361}#)
(if (pair? #{kw\ 354}#)
((lambda (#{tmp\ 362}#)
((lambda (#{tmp\ 363}#)
(if #{tmp\ 363}#
(apply (lambda (#{k\ 364}#
#{id\ 365}#
#{i\ 366}#)
(let ((#{v\ 367}# (#{gen-var\ 178}#
#{id\ 365}#)))
(let ((#{l\ 368}# (#{gen-labels\ 134}#
(list #{v\ 367}#))))
(let ((#{r**\ 369}#
(#{extend-var-env\ 123}#
#{l\ 368}#
(list #{v\ 367}#)
#{r*\ 357}#)))
(let ((#{w**\ 370}#
(#{make-binding-wrap\ 145}#
(list #{id\ 365}#)
#{l\ 368}#
#{w*\ 358}#)))
(#{expand-kw\ 327}#
#{req\ 351}#
#{opt\ 352}#
#{rest\ 353}#
(cdr #{kw\ 354}#)
#{body\ 355}#
(cons #{v\ 367}#
#{vars\ 356}#)
#{r**\ 369}#
#{w**\ 370}#
#{aok\ 359}#
(cons (list (syntax->datum
#{k\ 364}#)
(syntax->datum
#{id\ 365}#)
#{v\ 367}#)
#{out\ 360}#)
(cons (#{chi\ 164}#
#{i\ 366}#
#{r*\ 357}#
#{w*\ 358}#
#{mod\ 322}#)
#{inits\ 361}#)))))))
#{tmp\ 363}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 362}#)))
($sc-dispatch
#{tmp\ 362}#
'(any any any))))
(car #{kw\ 354}#))
(#{expand-body\ 328}#
#{req\ 351}#
#{opt\ 352}#
#{rest\ 353}#
(if (let ((#{t\ 371}# #{aok\ 359}#))
(if #{t\ 371}#
#{t\ 371}#
(pair? #{out\ 360}#)))
(cons #{aok\ 359}# (reverse #{out\ 360}#))
#f)
#{body\ 355}#
(reverse #{vars\ 356}#)
#{r*\ 357}#
#{w*\ 358}#
(reverse #{inits\ 361}#)))))
(#{expand-opt\ 326}#
(lambda (#{req\ 372}#
#{opt\ 373}#
#{rest\ 374}#
#{kw\ 375}#
#{body\ 376}#
#{vars\ 377}#
#{r*\ 378}#
#{w*\ 379}#
#{out\ 380}#
#{inits\ 381}#)
(if (pair? #{opt\ 373}#)
((lambda (#{tmp\ 382}#)
((lambda (#{tmp\ 383}#)
(if #{tmp\ 383}#
(apply (lambda (#{id\ 384}# #{i\ 385}#)
(let ((#{v\ 386}# (#{gen-var\ 178}#
#{id\ 384}#)))
(let ((#{l\ 387}# (#{gen-labels\ 134}#
(list #{v\ 386}#))))
(let ((#{r**\ 388}#
(#{extend-var-env\ 123}#
#{l\ 387}#
(list #{v\ 386}#)
#{r*\ 378}#)))
(let ((#{w**\ 389}#
(#{make-binding-wrap\ 145}#
(list #{id\ 384}#)
#{l\ 387}#
#{w*\ 379}#)))
(#{expand-opt\ 326}#
#{req\ 372}#
(cdr #{opt\ 373}#)
#{rest\ 374}#
#{kw\ 375}#
#{body\ 376}#
(cons #{v\ 386}#
#{vars\ 377}#)
#{r**\ 388}#
#{w**\ 389}#
(cons (syntax->datum
#{id\ 384}#)
#{out\ 380}#)
(cons (#{chi\ 164}#
#{i\ 385}#
#{r*\ 378}#
#{w*\ 379}#
#{mod\ 322}#)
#{inits\ 381}#)))))))
#{tmp\ 383}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 382}#)))
($sc-dispatch
#{tmp\ 382}#
'(any any))))
(car #{opt\ 373}#))
(if #{rest\ 374}#
(let ((#{v\ 390}# (#{gen-var\ 178}#
#{rest\ 374}#)))
(let ((#{l\ 391}# (#{gen-labels\ 134}#
(list #{v\ 390}#))))
(let ((#{r*\ 392}#
(#{extend-var-env\ 123}#
#{l\ 391}#
(list #{v\ 390}#)
#{r*\ 378}#)))
(let ((#{w*\ 393}#
(#{make-binding-wrap\ 145}#
(list #{rest\ 374}#)
#{l\ 391}#
#{w*\ 379}#)))
(#{expand-kw\ 327}#
#{req\ 372}#
(if (pair? #{out\ 380}#)
(reverse #{out\ 380}#)
#f)
(syntax->datum #{rest\ 374}#)
(if (pair? #{kw\ 375}#)
(cdr #{kw\ 375}#)
#{kw\ 375}#)
#{body\ 376}#
(cons #{v\ 390}# #{vars\ 377}#)
#{r*\ 392}#
#{w*\ 393}#
(if (pair? #{kw\ 375}#)
(car #{kw\ 375}#)
#f)
'()
#{inits\ 381}#)))))
(#{expand-kw\ 327}#
#{req\ 372}#
(if (pair? #{out\ 380}#)
(reverse #{out\ 380}#)
#f)
#f
(if (pair? #{kw\ 375}#)
(cdr #{kw\ 375}#)
#{kw\ 375}#)
#{body\ 376}#
#{vars\ 377}#
#{r*\ 378}#
#{w*\ 379}#
(if (pair? #{kw\ 375}#) (car #{kw\ 375}#) #f)
'()
#{inits\ 381}#)))))
(#{expand-req\ 325}#
(lambda (#{req\ 394}#
#{opt\ 395}#
#{rest\ 396}#
#{kw\ 397}#
#{body\ 398}#)
(let ((#{vars\ 399}#
(map #{gen-var\ 178}# #{req\ 394}#))
(#{labels\ 400}#
(#{gen-labels\ 134}# #{req\ 394}#)))
(let ((#{r*\ 401}#
(#{extend-var-env\ 123}#
#{labels\ 400}#
#{vars\ 399}#
#{r\ 319}#))
(#{w*\ 402}#
(#{make-binding-wrap\ 145}#
#{req\ 394}#
#{labels\ 400}#
#{w\ 320}#)))
(#{expand-opt\ 326}#
(map syntax->datum #{req\ 394}#)
#{opt\ 395}#
#{rest\ 396}#
#{kw\ 397}#
#{body\ 398}#
(reverse #{vars\ 399}#)
#{r*\ 401}#
#{w*\ 402}#
'()
'()))))))
((lambda (#{tmp\ 403}#)
((lambda (#{tmp\ 404}#)
(if #{tmp\ 404}#
(apply (lambda () (values #f #f)) #{tmp\ 404}#)
((lambda (#{tmp\ 405}#)
(if #{tmp\ 405}#
(apply (lambda (#{args\ 406}#
#{e1\ 407}#
#{e2\ 408}#
#{args*\ 409}#
#{e1*\ 410}#
#{e2*\ 411}#)
(call-with-values
(lambda ()
(#{get-formals\ 323}#
#{args\ 406}#))
(lambda (#{req\ 412}#
#{opt\ 413}#
#{rest\ 414}#
#{kw\ 415}#)
(call-with-values
(lambda ()
(#{expand-req\ 325}#
#{req\ 412}#
#{opt\ 413}#
#{rest\ 414}#
#{kw\ 415}#
(cons #{e1\ 407}#
#{e2\ 408}#)))
(lambda (#{docstring\ 417}#
#{req\ 418}#
#{opt\ 419}#
#{rest\ 420}#
#{kw\ 421}#
#{inits\ 422}#
#{vars\ 423}#
#{body\ 424}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 176}#
#{e\ 318}#
#{r\ 319}#
#{w\ 320}#
#{s\ 321}#
#{mod\ 322}#
#{get-formals\ 323}#
(map (lambda (#{tmp\ 427}#
#{tmp\ 426}#
#{tmp\ 425}#)
(cons #{tmp\ 425}#
(cons #{tmp\ 426}#
#{tmp\ 427}#)))
#{e2*\ 411}#
#{e1*\ 410}#
#{args*\ 409}#)))
(lambda (#{docstring*\ 429}#
#{else*\ 430}#)
(values
(let ((#{t\ 431}# #{docstring\ 417}#))
(if #{t\ 431}#
#{t\ 431}#
#{docstring*\ 429}#))
(#{build-lambda-case\ 104}#
#{s\ 321}#
#{req\ 418}#
#{opt\ 419}#
#{rest\ 420}#
#{kw\ 421}#
#{inits\ 422}#
#{vars\ 423}#
#{body\ 424}#
#{else*\ 430}#)))))))))
#{tmp\ 405}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 403}#)))
($sc-dispatch
#{tmp\ 403}#
'((any any . each-any)
.
#(each (any any . each-any)))))))
($sc-dispatch #{tmp\ 403}# (quote ()))))
#{clauses\ 324}#))))
(#{lambda*-formals\ 175}#
(lambda (#{orig-args\ 432}#)
(letrec ((#{check\ 437}#
(lambda (#{req\ 438}#
#{opt\ 439}#
#{rest\ 440}#
#{kw\ 441}#)
(if (#{distinct-bound-ids?\ 154}#
(append
#{req\ 438}#
(map car #{opt\ 439}#)
(if #{rest\ 440}#
(list #{rest\ 440}#)
'())
(if (pair? #{kw\ 441}#)
(map cadr (cdr #{kw\ 441}#))
'())))
(values
#{req\ 438}#
#{opt\ 439}#
#{rest\ 440}#
#{kw\ 441}#)
(syntax-violation
'lambda*
"duplicate identifier in argument list"
#{orig-args\ 432}#))))
(#{rest\ 436}#
(lambda (#{args\ 442}#
#{req\ 443}#
#{opt\ 444}#
#{kw\ 445}#)
((lambda (#{tmp\ 446}#)
((lambda (#{tmp\ 447}#)
(if (if #{tmp\ 447}#
(apply (lambda (#{r\ 448}#)
(#{id?\ 128}# #{r\ 448}#))
#{tmp\ 447}#)
#f)
(apply (lambda (#{r\ 449}#)
(#{check\ 437}#
#{req\ 443}#
#{opt\ 444}#
#{r\ 449}#
#{kw\ 445}#))
#{tmp\ 447}#)
((lambda (#{else\ 450}#)
(syntax-violation
'lambda*
"invalid rest argument"
#{orig-args\ 432}#
#{args\ 442}#))
#{tmp\ 446}#)))
(list #{tmp\ 446}#)))
#{args\ 442}#)))
(#{key\ 435}#
(lambda (#{args\ 451}#
#{req\ 452}#
#{opt\ 453}#
#{rkey\ 454}#)
((lambda (#{tmp\ 455}#)
((lambda (#{tmp\ 456}#)
(if #{tmp\ 456}#
(apply (lambda ()
(#{check\ 437}#
#{req\ 452}#
#{opt\ 453}#
#f
(cons #f
(reverse #{rkey\ 454}#))))
#{tmp\ 456}#)
((lambda (#{tmp\ 457}#)
(if (if #{tmp\ 457}#
(apply (lambda (#{a\ 458}#
#{b\ 459}#)
(#{id?\ 128}#
#{a\ 458}#))
#{tmp\ 457}#)
#f)
(apply (lambda (#{a\ 460}# #{b\ 461}#)
((lambda (#{tmp\ 462}#)
((lambda (#{k\ 463}#)
(#{key\ 435}#
#{b\ 461}#
#{req\ 452}#
#{opt\ 453}#
(cons (cons #{k\ 463}#
(cons #{a\ 460}#
'(#(syntax-object
#f
((top)
#(ribcage
#(k)
#((top))
#("i"))
#(ribcage
#(a
b)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(args
req
opt
rkey)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
(check rest
key
opt
req)
((top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"))
#(ribcage
#(orig-args)
#((top))
#("i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile)))))
#{rkey\ 454}#)))
#{tmp\ 462}#))
(symbol->keyword
(syntax->datum
#{a\ 460}#))))
#{tmp\ 457}#)
((lambda (#{tmp\ 464}#)
(if (if #{tmp\ 464}#
(apply (lambda (#{a\ 465}#
#{init\ 466}#
#{b\ 467}#)
(#{id?\ 128}#
#{a\ 465}#))
#{tmp\ 464}#)
#f)
(apply (lambda (#{a\ 468}#
#{init\ 469}#
#{b\ 470}#)
((lambda (#{tmp\ 471}#)
((lambda (#{k\ 472}#)
(#{key\ 435}#
#{b\ 470}#
#{req\ 452}#
#{opt\ 453}#
(cons (list #{k\ 472}#
#{a\ 468}#
#{init\ 469}#)
#{rkey\ 454}#)))
#{tmp\ 471}#))
(symbol->keyword
(syntax->datum
#{a\ 468}#))))
#{tmp\ 464}#)
((lambda (#{tmp\ 473}#)
(if (if #{tmp\ 473}#
(apply (lambda (#{a\ 474}#
#{init\ 475}#
#{k\ 476}#
#{b\ 477}#)
(if (#{id?\ 128}#
#{a\ 474}#)
(keyword?
(syntax->datum
#{k\ 476}#))
#f))
#{tmp\ 473}#)
#f)
(apply (lambda (#{a\ 478}#
#{init\ 479}#
#{k\ 480}#
#{b\ 481}#)
(#{key\ 435}#
#{b\ 481}#
#{req\ 452}#
#{opt\ 453}#
(cons (list #{k\ 480}#
#{a\ 478}#
#{init\ 479}#)
#{rkey\ 454}#)))
#{tmp\ 473}#)
((lambda (#{tmp\ 482}#)
(if (if #{tmp\ 482}#
(apply (lambda (#{aok\ 483}#)
(eq? (syntax->datum
#{aok\ 483}#)
#:allow-other-keys))
#{tmp\ 482}#)
#f)
(apply (lambda (#{aok\ 484}#)
(#{check\ 437}#
#{req\ 452}#
#{opt\ 453}#
#f
(cons #t
(reverse
#{rkey\ 454}#))))
#{tmp\ 482}#)
((lambda (#{tmp\ 485}#)
(if (if #{tmp\ 485}#
(apply (lambda (#{aok\ 486}#
#{a\ 487}#
#{b\ 488}#)
(if (eq? (syntax->datum
#{aok\ 486}#)
#:allow-other-keys)
(eq? (syntax->datum
#{a\ 487}#)
#:rest)
#f))
#{tmp\ 485}#)
#f)
(apply (lambda (#{aok\ 489}#
#{a\ 490}#
#{b\ 491}#)
(#{rest\ 436}#
#{b\ 491}#
#{req\ 452}#
#{opt\ 453}#
(cons #t
(reverse
#{rkey\ 454}#))))
#{tmp\ 485}#)
((lambda (#{tmp\ 492}#)
(if (if #{tmp\ 492}#
(apply (lambda (#{aok\ 493}#
#{r\ 494}#)
(if (eq? (syntax->datum
#{aok\ 493}#)
#:allow-other-keys)
(#{id?\ 128}#
#{r\ 494}#)
#f))
#{tmp\ 492}#)
#f)
(apply (lambda (#{aok\ 495}#
#{r\ 496}#)
(#{rest\ 436}#
#{r\ 496}#
#{req\ 452}#
#{opt\ 453}#
(cons #t
(reverse
#{rkey\ 454}#))))
#{tmp\ 492}#)
((lambda (#{tmp\ 497}#)
(if (if #{tmp\ 497}#
(apply (lambda (#{a\ 498}#
#{b\ 499}#)
(eq? (syntax->datum
#{a\ 498}#)
#:rest))
#{tmp\ 497}#)
#f)
(apply (lambda (#{a\ 500}#
#{b\ 501}#)
(#{rest\ 436}#
#{b\ 501}#
#{req\ 452}#
#{opt\ 453}#
(cons #f
(reverse
#{rkey\ 454}#))))
#{tmp\ 497}#)
((lambda (#{tmp\ 502}#)
(if (if #{tmp\ 502}#
(apply (lambda (#{r\ 503}#)
(#{id?\ 128}#
#{r\ 503}#))
#{tmp\ 502}#)
#f)
(apply (lambda (#{r\ 504}#)
(#{rest\ 436}#
#{r\ 504}#
#{req\ 452}#
#{opt\ 453}#
(cons #f
(reverse
#{rkey\ 454}#))))
#{tmp\ 502}#)
((lambda (#{else\ 505}#)
(syntax-violation
'lambda*
"invalid keyword argument list"
#{orig-args\ 432}#
#{args\ 451}#))
#{tmp\ 455}#)))
(list #{tmp\ 455}#))))
($sc-dispatch
#{tmp\ 455}#
'(any any)))))
($sc-dispatch
#{tmp\ 455}#
'(any .
any)))))
($sc-dispatch
#{tmp\ 455}#
'(any any any)))))
($sc-dispatch
#{tmp\ 455}#
'(any)))))
($sc-dispatch
#{tmp\ 455}#
'((any any any) . any)))))
($sc-dispatch
#{tmp\ 455}#
'((any any) . any)))))
($sc-dispatch
#{tmp\ 455}#
'(any . any)))))
($sc-dispatch #{tmp\ 455}# (quote ()))))
#{args\ 451}#)))
(#{opt\ 434}#
(lambda (#{args\ 506}# #{req\ 507}# #{ropt\ 508}#)
((lambda (#{tmp\ 509}#)
((lambda (#{tmp\ 510}#)
(if #{tmp\ 510}#
(apply (lambda ()
(#{check\ 437}#
#{req\ 507}#
(reverse #{ropt\ 508}#)
#f
'()))
#{tmp\ 510}#)
((lambda (#{tmp\ 511}#)
(if (if #{tmp\ 511}#
(apply (lambda (#{a\ 512}#
#{b\ 513}#)
(#{id?\ 128}#
#{a\ 512}#))
#{tmp\ 511}#)
#f)
(apply (lambda (#{a\ 514}# #{b\ 515}#)
(#{opt\ 434}#
#{b\ 515}#
#{req\ 507}#
(cons (cons #{a\ 514}#
'(#(syntax-object
#f
((top)
#(ribcage
#(a b)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(args
req
ropt)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
(check rest
key
opt
req)
((top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"))
#(ribcage
#(orig-args)
#((top))
#("i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile))))
#{ropt\ 508}#)))
#{tmp\ 511}#)
((lambda (#{tmp\ 516}#)
(if (if #{tmp\ 516}#
(apply (lambda (#{a\ 517}#
#{init\ 518}#
#{b\ 519}#)
(#{id?\ 128}#
#{a\ 517}#))
#{tmp\ 516}#)
#f)
(apply (lambda (#{a\ 520}#
#{init\ 521}#
#{b\ 522}#)
(#{opt\ 434}#
#{b\ 522}#
#{req\ 507}#
(cons (list #{a\ 520}#
#{init\ 521}#)
#{ropt\ 508}#)))
#{tmp\ 516}#)
((lambda (#{tmp\ 523}#)
(if (if #{tmp\ 523}#
(apply (lambda (#{a\ 524}#
#{b\ 525}#)
(eq? (syntax->datum
#{a\ 524}#)
#:key))
#{tmp\ 523}#)
#f)
(apply (lambda (#{a\ 526}#
#{b\ 527}#)
(#{key\ 435}#
#{b\ 527}#
#{req\ 507}#
(reverse
#{ropt\ 508}#)
'()))
#{tmp\ 523}#)
((lambda (#{tmp\ 528}#)
(if (if #{tmp\ 528}#
(apply (lambda (#{a\ 529}#
#{b\ 530}#)
(eq? (syntax->datum
#{a\ 529}#)
#:rest))
#{tmp\ 528}#)
#f)
(apply (lambda (#{a\ 531}#
#{b\ 532}#)
(#{rest\ 436}#
#{b\ 532}#
#{req\ 507}#
(reverse
#{ropt\ 508}#)
'()))
#{tmp\ 528}#)
((lambda (#{tmp\ 533}#)
(if (if #{tmp\ 533}#
(apply (lambda (#{r\ 534}#)
(#{id?\ 128}#
#{r\ 534}#))
#{tmp\ 533}#)
#f)
(apply (lambda (#{r\ 535}#)
(#{rest\ 436}#
#{r\ 535}#
#{req\ 507}#
(reverse
#{ropt\ 508}#)
'()))
#{tmp\ 533}#)
((lambda (#{else\ 536}#)
(syntax-violation
'lambda*
"invalid optional argument list"
#{orig-args\ 432}#
#{args\ 506}#))
#{tmp\ 509}#)))
(list #{tmp\ 509}#))))
($sc-dispatch
#{tmp\ 509}#
'(any any)))))
($sc-dispatch
#{tmp\ 509}#
'(any . any)))))
($sc-dispatch
#{tmp\ 509}#
'((any any) . any)))))
($sc-dispatch
#{tmp\ 509}#
'(any . any)))))
($sc-dispatch #{tmp\ 509}# (quote ()))))
#{args\ 506}#)))
(#{req\ 433}#
(lambda (#{args\ 537}# #{rreq\ 538}#)
((lambda (#{tmp\ 539}#)
((lambda (#{tmp\ 540}#)
(if #{tmp\ 540}#
(apply (lambda ()
(#{check\ 437}#
(reverse #{rreq\ 538}#)
'()
#f
'()))
#{tmp\ 540}#)
((lambda (#{tmp\ 541}#)
(if (if #{tmp\ 541}#
(apply (lambda (#{a\ 542}#
#{b\ 543}#)
(#{id?\ 128}#
#{a\ 542}#))
#{tmp\ 541}#)
#f)
(apply (lambda (#{a\ 544}# #{b\ 545}#)
(#{req\ 433}#
#{b\ 545}#
(cons #{a\ 544}#
#{rreq\ 538}#)))
#{tmp\ 541}#)
((lambda (#{tmp\ 546}#)
(if (if #{tmp\ 546}#
(apply (lambda (#{a\ 547}#
#{b\ 548}#)
(eq? (syntax->datum
#{a\ 547}#)
#:optional))
#{tmp\ 546}#)
#f)
(apply (lambda (#{a\ 549}#
#{b\ 550}#)
(#{opt\ 434}#
#{b\ 550}#
(reverse
#{rreq\ 538}#)
'()))
#{tmp\ 546}#)
((lambda (#{tmp\ 551}#)
(if (if #{tmp\ 551}#
(apply (lambda (#{a\ 552}#
#{b\ 553}#)
(eq? (syntax->datum
#{a\ 552}#)
#:key))
#{tmp\ 551}#)
#f)
(apply (lambda (#{a\ 554}#
#{b\ 555}#)
(#{key\ 435}#
#{b\ 555}#
(reverse
#{rreq\ 538}#)
'()
'()))
#{tmp\ 551}#)
((lambda (#{tmp\ 556}#)
(if (if #{tmp\ 556}#
(apply (lambda (#{a\ 557}#
#{b\ 558}#)
(eq? (syntax->datum
#{a\ 557}#)
#:rest))
#{tmp\ 556}#)
#f)
(apply (lambda (#{a\ 559}#
#{b\ 560}#)
(#{rest\ 436}#
#{b\ 560}#
(reverse
#{rreq\ 538}#)
'()
'()))
#{tmp\ 556}#)
((lambda (#{tmp\ 561}#)
(if (if #{tmp\ 561}#
(apply (lambda (#{r\ 562}#)
(#{id?\ 128}#
#{r\ 562}#))
#{tmp\ 561}#)
#f)
(apply (lambda (#{r\ 563}#)
(#{rest\ 436}#
#{r\ 563}#
(reverse
#{rreq\ 538}#)
'()
'()))
#{tmp\ 561}#)
((lambda (#{else\ 564}#)
(syntax-violation
'lambda*
"invalid argument list"
#{orig-args\ 432}#
#{args\ 537}#))
#{tmp\ 539}#)))
(list #{tmp\ 539}#))))
($sc-dispatch
#{tmp\ 539}#
'(any any)))))
($sc-dispatch
#{tmp\ 539}#
'(any . any)))))
($sc-dispatch
#{tmp\ 539}#
'(any . any)))))
($sc-dispatch
#{tmp\ 539}#
'(any . any)))))
($sc-dispatch #{tmp\ 539}# (quote ()))))
#{args\ 537}#))))
(#{req\ 433}# #{orig-args\ 432}# (quote ())))))
(#{chi-simple-lambda\ 174}#
(lambda (#{e\ 565}#
#{r\ 566}#
#{w\ 567}#
#{s\ 568}#
#{mod\ 569}#
#{req\ 570}#
#{rest\ 571}#
#{docstring\ 572}#
#{body\ 573}#)
(let ((#{ids\ 574}#
(if #{rest\ 571}#
(append #{req\ 570}# (list #{rest\ 571}#))
#{req\ 570}#)))
(let ((#{vars\ 575}#
(map #{gen-var\ 178}# #{ids\ 574}#)))
(let ((#{labels\ 576}#
(#{gen-labels\ 134}# #{ids\ 574}#)))
(#{build-simple-lambda\ 102}#
#{s\ 568}#
(map syntax->datum #{req\ 570}#)
(if #{rest\ 571}#
(syntax->datum #{rest\ 571}#)
#f)
#{vars\ 575}#
#{docstring\ 572}#
(#{chi-body\ 168}#
#{body\ 573}#
(#{source-wrap\ 157}#
#{e\ 565}#
#{w\ 567}#
#{s\ 568}#
#{mod\ 569}#)
(#{extend-var-env\ 123}#
#{labels\ 576}#
#{vars\ 575}#
#{r\ 566}#)
(#{make-binding-wrap\ 145}#
#{ids\ 574}#
#{labels\ 576}#
#{w\ 567}#)
#{mod\ 569}#)))))))
(#{lambda-formals\ 173}#
(lambda (#{orig-args\ 577}#)
(letrec ((#{check\ 579}#
(lambda (#{req\ 580}# #{rest\ 581}#)
(if (#{distinct-bound-ids?\ 154}#
(if #{rest\ 581}#
(cons #{rest\ 581}# #{req\ 580}#)
#{req\ 580}#))
(values #{req\ 580}# #f #{rest\ 581}# #f)
(syntax-violation
'lambda
"duplicate identifier in argument list"
#{orig-args\ 577}#))))
(#{req\ 578}#
(lambda (#{args\ 582}# #{rreq\ 583}#)
((lambda (#{tmp\ 584}#)
((lambda (#{tmp\ 585}#)
(if #{tmp\ 585}#
(apply (lambda ()
(#{check\ 579}#
(reverse #{rreq\ 583}#)
#f))
#{tmp\ 585}#)
((lambda (#{tmp\ 586}#)
(if (if #{tmp\ 586}#
(apply (lambda (#{a\ 587}#
#{b\ 588}#)
(#{id?\ 128}#
#{a\ 587}#))
#{tmp\ 586}#)
#f)
(apply (lambda (#{a\ 589}# #{b\ 590}#)
(#{req\ 578}#
#{b\ 590}#
(cons #{a\ 589}#
#{rreq\ 583}#)))
#{tmp\ 586}#)
((lambda (#{tmp\ 591}#)
(if (if #{tmp\ 591}#
(apply (lambda (#{r\ 592}#)
(#{id?\ 128}#
#{r\ 592}#))
#{tmp\ 591}#)
#f)
(apply (lambda (#{r\ 593}#)
(#{check\ 579}#
(reverse
#{rreq\ 583}#)
#{r\ 593}#))
#{tmp\ 591}#)
((lambda (#{else\ 594}#)
(syntax-violation
'lambda
"invalid argument list"
#{orig-args\ 577}#
#{args\ 582}#))
#{tmp\ 584}#)))
(list #{tmp\ 584}#))))
($sc-dispatch
#{tmp\ 584}#
'(any . any)))))
($sc-dispatch #{tmp\ 584}# (quote ()))))
#{args\ 582}#))))
(#{req\ 578}# #{orig-args\ 577}# (quote ())))))
(#{ellipsis?\ 172}#
(lambda (#{x\ 595}#)
(if (#{nonsymbol-id?\ 127}# #{x\ 595}#)
(#{free-id=?\ 151}#
#{x\ 595}#
'#(syntax-object
...
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure and-map*)
((top) (top))
("i" "i")))
(hygiene guile)))
#f)))
(#{chi-void\ 171}#
(lambda () (#{build-void\ 92}# #f)))
(#{eval-local-transformer\ 170}#
(lambda (#{expanded\ 596}# #{mod\ 597}#)
(let ((#{p\ 598}# (#{local-eval-hook\ 88}#
#{expanded\ 596}#
#{mod\ 597}#)))
(if (procedure? #{p\ 598}#)
(cons #{p\ 598}# (module-name (current-module)))
(syntax-violation
#f
"nonprocedure transformer"
#{p\ 598}#)))))
(#{chi-local-syntax\ 169}#
(lambda (#{rec?\ 599}#
#{e\ 600}#
#{r\ 601}#
#{w\ 602}#
#{s\ 603}#
#{mod\ 604}#
#{k\ 605}#)
((lambda (#{tmp\ 606}#)
((lambda (#{tmp\ 607}#)
(if #{tmp\ 607}#
(apply (lambda (#{_\ 608}#
#{id\ 609}#
#{val\ 610}#
#{e1\ 611}#
#{e2\ 612}#)
(let ((#{ids\ 613}# #{id\ 609}#))
(if (not (#{valid-bound-ids?\ 153}#
#{ids\ 613}#))
(syntax-violation
#f
"duplicate bound keyword"
#{e\ 600}#)
(let ((#{labels\ 615}#
(#{gen-labels\ 134}#
#{ids\ 613}#)))
(let ((#{new-w\ 616}#
(#{make-binding-wrap\ 145}#
#{ids\ 613}#
#{labels\ 615}#
#{w\ 602}#)))
(#{k\ 605}# (cons #{e1\ 611}#
#{e2\ 612}#)
(#{extend-env\ 122}#
#{labels\ 615}#
(let ((#{w\ 618}# (if #{rec?\ 599}#
#{new-w\ 616}#
#{w\ 602}#))
(#{trans-r\ 619}#
(#{macros-only-env\ 124}#
#{r\ 601}#)))
(map (lambda (#{x\ 620}#)
(cons 'macro
(#{eval-local-transformer\ 170}#
(#{chi\ 164}#
#{x\ 620}#
#{trans-r\ 619}#
#{w\ 618}#
#{mod\ 604}#)
#{mod\ 604}#)))
#{val\ 610}#))
#{r\ 601}#)
#{new-w\ 616}#
#{s\ 603}#
#{mod\ 604}#))))))
#{tmp\ 607}#)
((lambda (#{_\ 622}#)
(syntax-violation
#f
"bad local syntax definition"
(#{source-wrap\ 157}#
#{e\ 600}#
#{w\ 602}#
#{s\ 603}#
#{mod\ 604}#)))
#{tmp\ 606}#)))
($sc-dispatch
#{tmp\ 606}#
'(any #(each (any any)) any . each-any))))
#{e\ 600}#)))
(#{chi-body\ 168}#
(lambda (#{body\ 623}#
#{outer-form\ 624}#
#{r\ 625}#
#{w\ 626}#
#{mod\ 627}#)
(let ((#{r\ 628}# (cons '("placeholder" placeholder)
#{r\ 625}#)))
(let ((#{ribcage\ 629}#
(#{make-ribcage\ 135}#
'()
'()
'())))
(let ((#{w\ 630}# (#{make-wrap\ 130}#
(#{wrap-marks\ 131}# #{w\ 626}#)
(cons #{ribcage\ 629}#
(#{wrap-subst\ 132}#
#{w\ 626}#)))))
(letrec ((#{parse\ 631}#
(lambda (#{body\ 632}#
#{ids\ 633}#
#{labels\ 634}#
#{var-ids\ 635}#
#{vars\ 636}#
#{vals\ 637}#
#{bindings\ 638}#)
(if (null? #{body\ 632}#)
(syntax-violation
#f
"no expressions in body"
#{outer-form\ 624}#)
(let ((#{e\ 640}# (cdar #{body\ 632}#))
(#{er\ 641}# (caar #{body\ 632}#)))
(call-with-values
(lambda ()
(#{syntax-type\ 162}#
#{e\ 640}#
#{er\ 641}#
'(())
(#{source-annotation\ 119}#
#{er\ 641}#)
#{ribcage\ 629}#
#{mod\ 627}#
#f))
(lambda (#{type\ 642}#
#{value\ 643}#
#{e\ 644}#
#{w\ 645}#
#{s\ 646}#
#{mod\ 647}#)
(if (memv #{type\ 642}#
'(define-form))
(let ((#{id\ 648}#
(#{wrap\ 156}#
#{value\ 643}#
#{w\ 645}#
#{mod\ 647}#))
(#{label\ 649}#
(#{gen-label\ 133}#)))
(let ((#{var\ 650}#
(#{gen-var\ 178}#
#{id\ 648}#)))
(begin
(#{extend-ribcage!\ 144}#
#{ribcage\ 629}#
#{id\ 648}#
#{label\ 649}#)
(#{parse\ 631}#
(cdr #{body\ 632}#)
(cons #{id\ 648}#
#{ids\ 633}#)
(cons #{label\ 649}#
#{labels\ 634}#)
(cons #{id\ 648}#
#{var-ids\ 635}#)
(cons #{var\ 650}#
#{vars\ 636}#)
(cons (cons #{er\ 641}#
(#{wrap\ 156}#
#{e\ 644}#
#{w\ 645}#
#{mod\ 647}#))
#{vals\ 637}#)
(cons (cons 'lexical
#{var\ 650}#)
#{bindings\ 638}#)))))
(if (memv #{type\ 642}#
'(define-syntax-form))
(let ((#{id\ 651}#
(#{wrap\ 156}#
#{value\ 643}#
#{w\ 645}#
#{mod\ 647}#))
(#{label\ 652}#
(#{gen-label\ 133}#)))
(begin
(#{extend-ribcage!\ 144}#
#{ribcage\ 629}#
#{id\ 651}#
#{label\ 652}#)
(#{parse\ 631}#
(cdr #{body\ 632}#)
(cons #{id\ 651}#
#{ids\ 633}#)
(cons #{label\ 652}#
#{labels\ 634}#)
#{var-ids\ 635}#
#{vars\ 636}#
#{vals\ 637}#
(cons (cons 'macro
(cons #{er\ 641}#
(#{wrap\ 156}#
#{e\ 644}#
#{w\ 645}#
#{mod\ 647}#)))
#{bindings\ 638}#))))
(if (memv #{type\ 642}#
'(begin-form))
((lambda (#{tmp\ 653}#)
((lambda (#{tmp\ 654}#)
(if #{tmp\ 654}#
(apply (lambda (#{_\ 655}#
#{e1\ 656}#)
(#{parse\ 631}#
(letrec ((#{f\ 657}# (lambda (#{forms\ 658}#)
(if (null? #{forms\ 658}#)
(cdr #{body\ 632}#)
(cons (cons #{er\ 641}#
(#{wrap\ 156}#
(car #{forms\ 658}#)
#{w\ 645}#
#{mod\ 647}#))
(#{f\ 657}# (cdr #{forms\ 658}#)))))))
(#{f\ 657}# #{e1\ 656}#))
#{ids\ 633}#
#{labels\ 634}#
#{var-ids\ 635}#
#{vars\ 636}#
#{vals\ 637}#
#{bindings\ 638}#))
#{tmp\ 654}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 653}#)))
($sc-dispatch
#{tmp\ 653}#
'(any . each-any))))
#{e\ 644}#)
(if (memv #{type\ 642}#
'(local-syntax-form))
(#{chi-local-syntax\ 169}#
#{value\ 643}#
#{e\ 644}#
#{er\ 641}#
#{w\ 645}#
#{s\ 646}#
#{mod\ 647}#
(lambda (#{forms\ 660}#
#{er\ 661}#
#{w\ 662}#
#{s\ 663}#
#{mod\ 664}#)
(#{parse\ 631}#
(letrec ((#{f\ 665}# (lambda (#{forms\ 666}#)
(if (null? #{forms\ 666}#)
(cdr #{body\ 632}#)
(cons (cons #{er\ 661}#
(#{wrap\ 156}#
(car #{forms\ 666}#)
#{w\ 662}#
#{mod\ 664}#))
(#{f\ 665}# (cdr #{forms\ 666}#)))))))
(#{f\ 665}# #{forms\ 660}#))
#{ids\ 633}#
#{labels\ 634}#
#{var-ids\ 635}#
#{vars\ 636}#
#{vals\ 637}#
#{bindings\ 638}#)))
(if (null? #{ids\ 633}#)
(#{build-sequence\ 107}#
#f
(map (lambda (#{x\ 667}#)
(#{chi\ 164}#
(cdr #{x\ 667}#)
(car #{x\ 667}#)
'(())
#{mod\ 647}#))
(cons (cons #{er\ 641}#
(#{source-wrap\ 157}#
#{e\ 644}#
#{w\ 645}#
#{s\ 646}#
#{mod\ 647}#))
(cdr #{body\ 632}#))))
(begin
(if (not (#{valid-bound-ids?\ 153}#
#{ids\ 633}#))
(syntax-violation
#f
"invalid or duplicate identifier in definition"
#{outer-form\ 624}#))
(letrec ((#{loop\ 668}#
(lambda (#{bs\ 669}#
#{er-cache\ 670}#
#{r-cache\ 671}#)
(if (not (null? #{bs\ 669}#))
(let ((#{b\ 672}# (car #{bs\ 669}#)))
(if (eq? (car #{b\ 672}#)
'macro)
(let ((#{er\ 673}#
(cadr #{b\ 672}#)))
(let ((#{r-cache\ 674}#
(if (eq? #{er\ 673}#
#{er-cache\ 670}#)
#{r-cache\ 671}#
(#{macros-only-env\ 124}#
#{er\ 673}#))))
(begin
(set-cdr!
#{b\ 672}#
(#{eval-local-transformer\ 170}#
(#{chi\ 164}#
(cddr #{b\ 672}#)
#{r-cache\ 674}#
'(())
#{mod\ 647}#)
#{mod\ 647}#))
(#{loop\ 668}#
(cdr #{bs\ 669}#)
#{er\ 673}#
#{r-cache\ 674}#))))
(#{loop\ 668}#
(cdr #{bs\ 669}#)
#{er-cache\ 670}#
#{r-cache\ 671}#)))))))
(#{loop\ 668}#
#{bindings\ 638}#
#f
#f))
(set-cdr!
#{r\ 628}#
(#{extend-env\ 122}#
#{labels\ 634}#
#{bindings\ 638}#
(cdr #{r\ 628}#)))
(#{build-letrec\ 110}#
#f
(map syntax->datum
#{var-ids\ 635}#)
#{vars\ 636}#
(map (lambda (#{x\ 675}#)
(#{chi\ 164}#
(cdr #{x\ 675}#)
(car #{x\ 675}#)
'(())
#{mod\ 647}#))
#{vals\ 637}#)
(#{build-sequence\ 107}#
#f
(map (lambda (#{x\ 676}#)
(#{chi\ 164}#
(cdr #{x\ 676}#)
(car #{x\ 676}#)
'(())
#{mod\ 647}#))
(cons (cons #{er\ 641}#
(#{source-wrap\ 157}#
#{e\ 644}#
#{w\ 645}#
#{s\ 646}#
#{mod\ 647}#))
(cdr #{body\ 632}#))))))))))))))))))
(#{parse\ 631}#
(map (lambda (#{x\ 639}#)
(cons #{r\ 628}#
(#{wrap\ 156}#
#{x\ 639}#
#{w\ 630}#
#{mod\ 627}#)))
#{body\ 623}#)
'()
'()
'()
'()
'()
'())))))))
(#{chi-macro\ 167}#
(lambda (#{p\ 677}#
#{e\ 678}#
#{r\ 679}#
#{w\ 680}#
#{rib\ 681}#
#{mod\ 682}#)
(letrec ((#{rebuild-macro-output\ 683}#
(lambda (#{x\ 684}# #{m\ 685}#)
(if (pair? #{x\ 684}#)
(cons (#{rebuild-macro-output\ 683}#
(car #{x\ 684}#)
#{m\ 685}#)
(#{rebuild-macro-output\ 683}#
(cdr #{x\ 684}#)
#{m\ 685}#))
(if (#{syntax-object?\ 112}# #{x\ 684}#)
(let ((#{w\ 686}# (#{syntax-object-wrap\ 114}#
#{x\ 684}#)))
(let ((#{ms\ 687}#
(#{wrap-marks\ 131}# #{w\ 686}#))
(#{s\ 688}# (#{wrap-subst\ 132}#
#{w\ 686}#)))
(if (if (pair? #{ms\ 687}#)
(eq? (car #{ms\ 687}#) #f)
#f)
(#{make-syntax-object\ 111}#
(#{syntax-object-expression\ 113}#
#{x\ 684}#)
(#{make-wrap\ 130}#
(cdr #{ms\ 687}#)
(if #{rib\ 681}#
(cons #{rib\ 681}#
(cdr #{s\ 688}#))
(cdr #{s\ 688}#)))
(#{syntax-object-module\ 115}#
#{x\ 684}#))
(#{make-syntax-object\ 111}#
(#{syntax-object-expression\ 113}#
#{x\ 684}#)
(#{make-wrap\ 130}#
(cons #{m\ 685}# #{ms\ 687}#)
(if #{rib\ 681}#
(cons #{rib\ 681}#
(cons 'shift
#{s\ 688}#))
(cons (quote shift) #{s\ 688}#)))
(cons 'hygiene
(cdr #{p\ 677}#))))))
(if (vector? #{x\ 684}#)
(let ((#{n\ 689}# (vector-length
#{x\ 684}#)))
(let ((#{v\ 690}# (make-vector
#{n\ 689}#)))
(letrec ((#{loop\ 691}#
(lambda (#{i\ 692}#)
(if (#{fx=\ 85}#
#{i\ 692}#
#{n\ 689}#)
(begin
(if #f #f)
#{v\ 690}#)
(begin
(vector-set!
#{v\ 690}#
#{i\ 692}#
(#{rebuild-macro-output\ 683}#
(vector-ref
#{x\ 684}#
#{i\ 692}#)
#{m\ 685}#))
(#{loop\ 691}#
(#{fx+\ 83}#
#{i\ 692}#
1)))))))
(#{loop\ 691}# 0))))
(if (symbol? #{x\ 684}#)
(syntax-violation
#f
"encountered raw symbol in macro output"
(#{source-wrap\ 157}#
#{e\ 678}#
#{w\ 680}#
(#{wrap-subst\ 132}# #{w\ 680}#)
#{mod\ 682}#)
#{x\ 684}#)
#{x\ 684}#)))))))
(#{rebuild-macro-output\ 683}#
((car #{p\ 677}#)
(#{wrap\ 156}#
#{e\ 678}#
(#{anti-mark\ 143}# #{w\ 680}#)
#{mod\ 682}#))
(gensym "m")))))
(#{chi-application\ 166}#
(lambda (#{x\ 693}#
#{e\ 694}#
#{r\ 695}#
#{w\ 696}#
#{s\ 697}#
#{mod\ 698}#)
((lambda (#{tmp\ 699}#)
((lambda (#{tmp\ 700}#)
(if #{tmp\ 700}#
(apply (lambda (#{e0\ 701}# #{e1\ 702}#)
(#{build-application\ 93}#
#{s\ 697}#
#{x\ 693}#
(map (lambda (#{e\ 703}#)
(#{chi\ 164}#
#{e\ 703}#
#{r\ 695}#
#{w\ 696}#
#{mod\ 698}#))
#{e1\ 702}#)))
#{tmp\ 700}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 699}#)))
($sc-dispatch
#{tmp\ 699}#
'(any . each-any))))
#{e\ 694}#)))
(#{chi-expr\ 165}#
(lambda (#{type\ 705}#
#{value\ 706}#
#{e\ 707}#
#{r\ 708}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#)
(if (memv #{type\ 705}# (quote (lexical)))
(#{build-lexical-reference\ 95}#
'value
#{s\ 710}#
#{e\ 707}#
#{value\ 706}#)
(if (memv #{type\ 705}# (quote (core core-form)))
(#{value\ 706}#
#{e\ 707}#
#{r\ 708}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#)
(if (memv #{type\ 705}# (quote (module-ref)))
(call-with-values
(lambda () (#{value\ 706}# #{e\ 707}#))
(lambda (#{id\ 712}# #{mod\ 713}#)
(#{build-global-reference\ 98}#
#{s\ 710}#
#{id\ 712}#
#{mod\ 713}#)))
(if (memv #{type\ 705}# (quote (lexical-call)))
(#{chi-application\ 166}#
(#{build-lexical-reference\ 95}#
'fun
(#{source-annotation\ 119}# (car #{e\ 707}#))
(car #{e\ 707}#)
#{value\ 706}#)
#{e\ 707}#
#{r\ 708}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#)
(if (memv #{type\ 705}# (quote (global-call)))
(#{chi-application\ 166}#
(#{build-global-reference\ 98}#
(#{source-annotation\ 119}# (car #{e\ 707}#))
(if (#{syntax-object?\ 112}# #{value\ 706}#)
(#{syntax-object-expression\ 113}#
#{value\ 706}#)
#{value\ 706}#)
(if (#{syntax-object?\ 112}# #{value\ 706}#)
(#{syntax-object-module\ 115}# #{value\ 706}#)
#{mod\ 711}#))
#{e\ 707}#
#{r\ 708}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#)
(if (memv #{type\ 705}# (quote (constant)))
(#{build-data\ 106}#
#{s\ 710}#
(#{strip\ 177}#
(#{source-wrap\ 157}#
#{e\ 707}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#)
'(())))
(if (memv #{type\ 705}# (quote (global)))
(#{build-global-reference\ 98}#
#{s\ 710}#
#{value\ 706}#
#{mod\ 711}#)
(if (memv #{type\ 705}# (quote (call)))
(#{chi-application\ 166}#
(#{chi\ 164}#
(car #{e\ 707}#)
#{r\ 708}#
#{w\ 709}#
#{mod\ 711}#)
#{e\ 707}#
#{r\ 708}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#)
(if (memv #{type\ 705}# (quote (begin-form)))
((lambda (#{tmp\ 714}#)
((lambda (#{tmp\ 715}#)
(if #{tmp\ 715}#
(apply (lambda (#{_\ 716}#
#{e1\ 717}#
#{e2\ 718}#)
(#{chi-sequence\ 158}#
(cons #{e1\ 717}#
#{e2\ 718}#)
#{r\ 708}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#))
#{tmp\ 715}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 714}#)))
($sc-dispatch
#{tmp\ 714}#
'(any any . each-any))))
#{e\ 707}#)
(if (memv #{type\ 705}#
'(local-syntax-form))
(#{chi-local-syntax\ 169}#
#{value\ 706}#
#{e\ 707}#
#{r\ 708}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#
#{chi-sequence\ 158}#)
(if (memv #{type\ 705}#
'(eval-when-form))
((lambda (#{tmp\ 720}#)
((lambda (#{tmp\ 721}#)
(if #{tmp\ 721}#
(apply (lambda (#{_\ 722}#
#{x\ 723}#
#{e1\ 724}#
#{e2\ 725}#)
(let ((#{when-list\ 726}#
(#{chi-when-list\ 161}#
#{e\ 707}#
#{x\ 723}#
#{w\ 709}#)))
(if (memq 'eval
#{when-list\ 726}#)
(#{chi-sequence\ 158}#
(cons #{e1\ 724}#
#{e2\ 725}#)
#{r\ 708}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#)
(#{chi-void\ 171}#))))
#{tmp\ 721}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 720}#)))
($sc-dispatch
#{tmp\ 720}#
'(any each-any any . each-any))))
#{e\ 707}#)
(if (memv #{type\ 705}#
'(define-form
define-syntax-form))
(syntax-violation
#f
"definition in expression context"
#{e\ 707}#
(#{wrap\ 156}#
#{value\ 706}#
#{w\ 709}#
#{mod\ 711}#))
(if (memv #{type\ 705}#
'(syntax))
(syntax-violation
#f
"reference to pattern variable outside syntax form"
(#{source-wrap\ 157}#
#{e\ 707}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#))
(if (memv #{type\ 705}#
'(displaced-lexical))
(syntax-violation
#f
"reference to identifier outside its scope"
(#{source-wrap\ 157}#
#{e\ 707}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#))
(syntax-violation
#f
"unexpected syntax"
(#{source-wrap\ 157}#
#{e\ 707}#
#{w\ 709}#
#{s\ 710}#
#{mod\ 711}#))))))))))))))))))
(#{chi\ 164}#
(lambda (#{e\ 729}# #{r\ 730}# #{w\ 731}# #{mod\ 732}#)
(call-with-values
(lambda ()
(#{syntax-type\ 162}#
#{e\ 729}#
#{r\ 730}#
#{w\ 731}#
(#{source-annotation\ 119}# #{e\ 729}#)
#f
#{mod\ 732}#
#f))
(lambda (#{type\ 733}#
#{value\ 734}#
#{e\ 735}#
#{w\ 736}#
#{s\ 737}#
#{mod\ 738}#)
(#{chi-expr\ 165}#
#{type\ 733}#
#{value\ 734}#
#{e\ 735}#
#{r\ 730}#
#{w\ 736}#
#{s\ 737}#
#{mod\ 738}#)))))
(#{chi-top\ 163}#
(lambda (#{e\ 739}#
#{r\ 740}#
#{w\ 741}#
#{m\ 742}#
#{esew\ 743}#
#{mod\ 744}#)
(call-with-values
(lambda ()
(#{syntax-type\ 162}#
#{e\ 739}#
#{r\ 740}#
#{w\ 741}#
(#{source-annotation\ 119}# #{e\ 739}#)
#f
#{mod\ 744}#
#f))
(lambda (#{type\ 752}#
#{value\ 753}#
#{e\ 754}#
#{w\ 755}#
#{s\ 756}#
#{mod\ 757}#)
(if (memv #{type\ 752}# (quote (begin-form)))
((lambda (#{tmp\ 758}#)
((lambda (#{tmp\ 759}#)
(if #{tmp\ 759}#
(apply (lambda (#{_\ 760}#) (#{chi-void\ 171}#))
#{tmp\ 759}#)
((lambda (#{tmp\ 761}#)
(if #{tmp\ 761}#
(apply (lambda (#{_\ 762}#
#{e1\ 763}#
#{e2\ 764}#)
(#{chi-top-sequence\ 159}#
(cons #{e1\ 763}# #{e2\ 764}#)
#{r\ 740}#
#{w\ 755}#
#{s\ 756}#
#{m\ 742}#
#{esew\ 743}#
#{mod\ 757}#))
#{tmp\ 761}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 758}#)))
($sc-dispatch
#{tmp\ 758}#
'(any any . each-any)))))
($sc-dispatch #{tmp\ 758}# (quote (any)))))
#{e\ 754}#)
(if (memv #{type\ 752}# (quote (local-syntax-form)))
(#{chi-local-syntax\ 169}#
#{value\ 753}#
#{e\ 754}#
#{r\ 740}#
#{w\ 755}#
#{s\ 756}#
#{mod\ 757}#
(lambda (#{body\ 766}#
#{r\ 767}#
#{w\ 768}#
#{s\ 769}#
#{mod\ 770}#)
(#{chi-top-sequence\ 159}#
#{body\ 766}#
#{r\ 767}#
#{w\ 768}#
#{s\ 769}#
#{m\ 742}#
#{esew\ 743}#
#{mod\ 770}#)))
(if (memv #{type\ 752}# (quote (eval-when-form)))
((lambda (#{tmp\ 771}#)
((lambda (#{tmp\ 772}#)
(if #{tmp\ 772}#
(apply (lambda (#{_\ 773}#
#{x\ 774}#
#{e1\ 775}#
#{e2\ 776}#)
(let ((#{when-list\ 777}#
(#{chi-when-list\ 161}#
#{e\ 754}#
#{x\ 774}#
#{w\ 755}#))
(#{body\ 778}#
(cons #{e1\ 775}#
#{e2\ 776}#)))
(if (eq? #{m\ 742}# (quote e))
(if (memq 'eval
#{when-list\ 777}#)
(#{chi-top-sequence\ 159}#
#{body\ 778}#
#{r\ 740}#
#{w\ 755}#
#{s\ 756}#
'e
'(eval)
#{mod\ 757}#)
(#{chi-void\ 171}#))
(if (memq 'load
#{when-list\ 777}#)
(if (let ((#{t\ 781}# (memq 'compile
#{when-list\ 777}#)))
(if #{t\ 781}#
#{t\ 781}#
(if (eq? #{m\ 742}#
'c&e)
(memq 'eval
#{when-list\ 777}#)
#f)))
(#{chi-top-sequence\ 159}#
#{body\ 778}#
#{r\ 740}#
#{w\ 755}#
#{s\ 756}#
'c&e
'(compile load)
#{mod\ 757}#)
(if (memq #{m\ 742}#
'(c c&e))
(#{chi-top-sequence\ 159}#
#{body\ 778}#
#{r\ 740}#
#{w\ 755}#
#{s\ 756}#
'c
'(load)
#{mod\ 757}#)
(#{chi-void\ 171}#)))
(if (let ((#{t\ 782}# (memq 'compile
#{when-list\ 777}#)))
(if #{t\ 782}#
#{t\ 782}#
(if (eq? #{m\ 742}#
'c&e)
(memq 'eval
#{when-list\ 777}#)
#f)))
(begin
(#{top-level-eval-hook\ 87}#
(#{chi-top-sequence\ 159}#
#{body\ 778}#
#{r\ 740}#
#{w\ 755}#
#{s\ 756}#
'e
'(eval)
#{mod\ 757}#)
#{mod\ 757}#)
(#{chi-void\ 171}#))
(#{chi-void\ 171}#))))))
#{tmp\ 772}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 771}#)))
($sc-dispatch
#{tmp\ 771}#
'(any each-any any . each-any))))
#{e\ 754}#)
(if (memv #{type\ 752}# (quote (define-syntax-form)))
(let ((#{n\ 783}# (#{id-var-name\ 150}#
#{value\ 753}#
#{w\ 755}#))
(#{r\ 784}# (#{macros-only-env\ 124}#
#{r\ 740}#)))
(if (memv #{m\ 742}# (quote (c)))
(if (memq (quote compile) #{esew\ 743}#)
(let ((#{e\ 785}# (#{chi-install-global\ 160}#
#{n\ 783}#
(#{chi\ 164}#
#{e\ 754}#
#{r\ 784}#
#{w\ 755}#
#{mod\ 757}#))))
(begin
(#{top-level-eval-hook\ 87}#
#{e\ 785}#
#{mod\ 757}#)
(if (memq (quote load) #{esew\ 743}#)
#{e\ 785}#
(#{chi-void\ 171}#))))
(if (memq (quote load) #{esew\ 743}#)
(#{chi-install-global\ 160}#
#{n\ 783}#
(#{chi\ 164}#
#{e\ 754}#
#{r\ 784}#
#{w\ 755}#
#{mod\ 757}#))
(#{chi-void\ 171}#)))
(if (memv #{m\ 742}# (quote (c&e)))
(let ((#{e\ 786}# (#{chi-install-global\ 160}#
#{n\ 783}#
(#{chi\ 164}#
#{e\ 754}#
#{r\ 784}#
#{w\ 755}#
#{mod\ 757}#))))
(begin
(#{top-level-eval-hook\ 87}#
#{e\ 786}#
#{mod\ 757}#)
#{e\ 786}#))
(begin
(if (memq (quote eval) #{esew\ 743}#)
(#{top-level-eval-hook\ 87}#
(#{chi-install-global\ 160}#
#{n\ 783}#
(#{chi\ 164}#
#{e\ 754}#
#{r\ 784}#
#{w\ 755}#
#{mod\ 757}#))
#{mod\ 757}#))
(#{chi-void\ 171}#)))))
(if (memv #{type\ 752}# (quote (define-form)))
(let ((#{n\ 787}# (#{id-var-name\ 150}#
#{value\ 753}#
#{w\ 755}#)))
(let ((#{type\ 788}#
(#{binding-type\ 120}#
(#{lookup\ 125}#
#{n\ 787}#
#{r\ 740}#
#{mod\ 757}#))))
(if (memv #{type\ 788}#
'(global core macro module-ref))
(begin
(if (if (not (module-local-variable
(current-module)
#{n\ 787}#))
(current-module)
#f)
(let ((#{old\ 789}#
(module-variable
(current-module)
#{n\ 787}#)))
(module-define!
(current-module)
#{n\ 787}#
(if (variable? #{old\ 789}#)
(variable-ref #{old\ 789}#)
#f))))
(let ((#{x\ 790}# (#{build-global-definition\ 101}#
#{s\ 756}#
#{n\ 787}#
(#{chi\ 164}#
#{e\ 754}#
#{r\ 740}#
#{w\ 755}#
#{mod\ 757}#))))
(begin
(if (eq? #{m\ 742}# (quote c&e))
(#{top-level-eval-hook\ 87}#
#{x\ 790}#
#{mod\ 757}#))
#{x\ 790}#)))
(if (memv #{type\ 788}#
'(displaced-lexical))
(syntax-violation
#f
"identifier out of context"
#{e\ 754}#
(#{wrap\ 156}#
#{value\ 753}#
#{w\ 755}#
#{mod\ 757}#))
(syntax-violation
#f
"cannot define keyword at top level"
#{e\ 754}#
(#{wrap\ 156}#
#{value\ 753}#
#{w\ 755}#
#{mod\ 757}#))))))
(let ((#{x\ 791}# (#{chi-expr\ 165}#
#{type\ 752}#
#{value\ 753}#
#{e\ 754}#
#{r\ 740}#
#{w\ 755}#
#{s\ 756}#
#{mod\ 757}#)))
(begin
(if (eq? #{m\ 742}# (quote c&e))
(#{top-level-eval-hook\ 87}#
#{x\ 791}#
#{mod\ 757}#))
#{x\ 791}#)))))))))))
(#{syntax-type\ 162}#
(lambda (#{e\ 792}#
#{r\ 793}#
#{w\ 794}#
#{s\ 795}#
#{rib\ 796}#
#{mod\ 797}#
#{for-car?\ 798}#)
(if (symbol? #{e\ 792}#)
(let ((#{n\ 799}# (#{id-var-name\ 150}#
#{e\ 792}#
#{w\ 794}#)))
(let ((#{b\ 800}# (#{lookup\ 125}#
#{n\ 799}#
#{r\ 793}#
#{mod\ 797}#)))
(let ((#{type\ 801}#
(#{binding-type\ 120}# #{b\ 800}#)))
(if (memv #{type\ 801}# (quote (lexical)))
(values
#{type\ 801}#
(#{binding-value\ 121}# #{b\ 800}#)
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)
(if (memv #{type\ 801}# (quote (global)))
(values
#{type\ 801}#
#{n\ 799}#
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)
(if (memv #{type\ 801}# (quote (macro)))
(if #{for-car?\ 798}#
(values
#{type\ 801}#
(#{binding-value\ 121}# #{b\ 800}#)
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)
(#{syntax-type\ 162}#
(#{chi-macro\ 167}#
(#{binding-value\ 121}# #{b\ 800}#)
#{e\ 792}#
#{r\ 793}#
#{w\ 794}#
#{rib\ 796}#
#{mod\ 797}#)
#{r\ 793}#
'(())
#{s\ 795}#
#{rib\ 796}#
#{mod\ 797}#
#f))
(values
#{type\ 801}#
(#{binding-value\ 121}# #{b\ 800}#)
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)))))))
(if (pair? #{e\ 792}#)
(let ((#{first\ 802}# (car #{e\ 792}#)))
(call-with-values
(lambda ()
(#{syntax-type\ 162}#
#{first\ 802}#
#{r\ 793}#
#{w\ 794}#
#{s\ 795}#
#{rib\ 796}#
#{mod\ 797}#
#t))
(lambda (#{ftype\ 803}#
#{fval\ 804}#
#{fe\ 805}#
#{fw\ 806}#
#{fs\ 807}#
#{fmod\ 808}#)
(if (memv #{ftype\ 803}# (quote (lexical)))
(values
'lexical-call
#{fval\ 804}#
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)
(if (memv #{ftype\ 803}# (quote (global)))
(values
'global-call
(#{make-syntax-object\ 111}#
#{fval\ 804}#
#{w\ 794}#
#{fmod\ 808}#)
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)
(if (memv #{ftype\ 803}# (quote (macro)))
(#{syntax-type\ 162}#
(#{chi-macro\ 167}#
#{fval\ 804}#
#{e\ 792}#
#{r\ 793}#
#{w\ 794}#
#{rib\ 796}#
#{mod\ 797}#)
#{r\ 793}#
'(())
#{s\ 795}#
#{rib\ 796}#
#{mod\ 797}#
#{for-car?\ 798}#)
(if (memv #{ftype\ 803}# (quote (module-ref)))
(call-with-values
(lambda () (#{fval\ 804}# #{e\ 792}#))
(lambda (#{sym\ 809}# #{mod\ 810}#)
(#{syntax-type\ 162}#
#{sym\ 809}#
#{r\ 793}#
#{w\ 794}#
#{s\ 795}#
#{rib\ 796}#
#{mod\ 810}#
#{for-car?\ 798}#)))
(if (memv #{ftype\ 803}# (quote (core)))
(values
'core-form
#{fval\ 804}#
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)
(if (memv #{ftype\ 803}#
'(local-syntax))
(values
'local-syntax-form
#{fval\ 804}#
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)
(if (memv #{ftype\ 803}# (quote (begin)))
(values
'begin-form
#f
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)
(if (memv #{ftype\ 803}#
'(eval-when))
(values
'eval-when-form
#f
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)
(if (memv #{ftype\ 803}#
'(define))
((lambda (#{tmp\ 811}#)
((lambda (#{tmp\ 812}#)
(if (if #{tmp\ 812}#
(apply (lambda (#{_\ 813}#
#{name\ 814}#
#{val\ 815}#)
(#{id?\ 128}#
#{name\ 814}#))
#{tmp\ 812}#)
#f)
(apply (lambda (#{_\ 816}#
#{name\ 817}#
#{val\ 818}#)
(values
'define-form
#{name\ 817}#
#{val\ 818}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#))
#{tmp\ 812}#)
((lambda (#{tmp\ 819}#)
(if (if #{tmp\ 819}#
(apply (lambda (#{_\ 820}#
#{name\ 821}#
#{args\ 822}#
#{e1\ 823}#
#{e2\ 824}#)
(if (#{id?\ 128}#
#{name\ 821}#)
(#{valid-bound-ids?\ 153}#
(#{lambda-var-list\ 179}#
#{args\ 822}#))
#f))
#{tmp\ 819}#)
#f)
(apply (lambda (#{_\ 825}#
#{name\ 826}#
#{args\ 827}#
#{e1\ 828}#
#{e2\ 829}#)
(values
'define-form
(#{wrap\ 156}#
#{name\ 826}#
#{w\ 794}#
#{mod\ 797}#)
(#{decorate-source\ 91}#
(cons '#(syntax-object
lambda
((top)
#(ribcage
#(_
name
args
e1
e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile))
(#{wrap\ 156}#
(cons #{args\ 827}#
(cons #{e1\ 828}#
#{e2\ 829}#))
#{w\ 794}#
#{mod\ 797}#))
#{s\ 795}#)
'(())
#{s\ 795}#
#{mod\ 797}#))
#{tmp\ 819}#)
((lambda (#{tmp\ 831}#)
(if (if #{tmp\ 831}#
(apply (lambda (#{_\ 832}#
#{name\ 833}#)
(#{id?\ 128}#
#{name\ 833}#))
#{tmp\ 831}#)
#f)
(apply (lambda (#{_\ 834}#
#{name\ 835}#)
(values
'define-form
(#{wrap\ 156}#
#{name\ 835}#
#{w\ 794}#
#{mod\ 797}#)
'(#(syntax-object
if
((top)
#(ribcage
#(_
name)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile))
#(syntax-object
#f
((top)
#(ribcage
#(_
name)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile))
#(syntax-object
#f
((top)
#(ribcage
#(_
name)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile)))
'(())
#{s\ 795}#
#{mod\ 797}#))
#{tmp\ 831}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 811}#)))
($sc-dispatch
#{tmp\ 811}#
'(any any)))))
($sc-dispatch
#{tmp\ 811}#
'(any (any . any)
any
.
each-any)))))
($sc-dispatch
#{tmp\ 811}#
'(any any any))))
#{e\ 792}#)
(if (memv #{ftype\ 803}#
'(define-syntax))
((lambda (#{tmp\ 836}#)
((lambda (#{tmp\ 837}#)
(if (if #{tmp\ 837}#
(apply (lambda (#{_\ 838}#
#{name\ 839}#
#{val\ 840}#)
(#{id?\ 128}#
#{name\ 839}#))
#{tmp\ 837}#)
#f)
(apply (lambda (#{_\ 841}#
#{name\ 842}#
#{val\ 843}#)
(values
'define-syntax-form
#{name\ 842}#
#{val\ 843}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#))
#{tmp\ 837}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 836}#)))
($sc-dispatch
#{tmp\ 836}#
'(any any any))))
#{e\ 792}#)
(values
'call
#f
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#))))))))))))))
(if (#{syntax-object?\ 112}# #{e\ 792}#)
(#{syntax-type\ 162}#
(#{syntax-object-expression\ 113}# #{e\ 792}#)
#{r\ 793}#
(#{join-wraps\ 147}#
#{w\ 794}#
(#{syntax-object-wrap\ 114}# #{e\ 792}#))
#{s\ 795}#
#{rib\ 796}#
(let ((#{t\ 844}# (#{syntax-object-module\ 115}#
#{e\ 792}#)))
(if #{t\ 844}# #{t\ 844}# #{mod\ 797}#))
#{for-car?\ 798}#)
(if (self-evaluating? #{e\ 792}#)
(values
'constant
#f
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)
(values
'other
#f
#{e\ 792}#
#{w\ 794}#
#{s\ 795}#
#{mod\ 797}#)))))))
(#{chi-when-list\ 161}#
(lambda (#{e\ 845}# #{when-list\ 846}# #{w\ 847}#)
(letrec ((#{f\ 848}# (lambda (#{when-list\ 849}#
#{situations\ 850}#)
(if (null? #{when-list\ 849}#)
#{situations\ 850}#
(#{f\ 848}# (cdr #{when-list\ 849}#)
(cons (let ((#{x\ 851}# (car #{when-list\ 849}#)))
(if (#{free-id=?\ 151}#
#{x\ 851}#
'#(syntax-object
compile
((top)
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
when-list
situations)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(e
when-list
w)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile)))
'compile
(if (#{free-id=?\ 151}#
#{x\ 851}#
'#(syntax-object
load
((top)
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
when-list
situations)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(e
when-list
w)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile)))
'load
(if (#{free-id=?\ 151}#
#{x\ 851}#
'#(syntax-object
eval
((top)
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
when-list
situations)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(e
when-list
w)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top)
(top))
("i"
"i")))
(hygiene
guile)))
'eval
(syntax-violation
'eval-when
"invalid situation"
#{e\ 845}#
(#{wrap\ 156}#
#{x\ 851}#
#{w\ 847}#
#f))))))
#{situations\ 850}#))))))
(#{f\ 848}# #{when-list\ 846}# (quote ())))))
(#{chi-install-global\ 160}#
(lambda (#{name\ 852}# #{e\ 853}#)
(#{build-global-definition\ 101}#
#f
#{name\ 852}#
(if (let ((#{v\ 854}# (module-variable
(current-module)
#{name\ 852}#)))
(if #{v\ 854}#
(if (variable-bound? #{v\ 854}#)
(if (macro? (variable-ref #{v\ 854}#))
(not (eq? (macro-type (variable-ref #{v\ 854}#))
'syncase-macro))
#f)
#f)
#f))
(#{build-application\ 93}#
#f
(#{build-primref\ 105}#
#f
'make-extended-syncase-macro)
(list (#{build-application\ 93}#
#f
(#{build-primref\ 105}# #f (quote module-ref))
(list (#{build-application\ 93}#
#f
(#{build-primref\ 105}#
#f
'current-module)
'())
(#{build-data\ 106}# #f #{name\ 852}#)))
(#{build-data\ 106}# #f (quote macro))
(#{build-application\ 93}#
#f
(#{build-primref\ 105}# #f (quote cons))
(list #{e\ 853}#
(#{build-application\ 93}#
#f
(#{build-primref\ 105}#
#f
'module-name)
(list (#{build-application\ 93}#
#f
(#{build-primref\ 105}#
#f
'current-module)
'())))))))
(#{build-application\ 93}#
#f
(#{build-primref\ 105}#
#f
'make-syncase-macro)
(list (#{build-data\ 106}# #f (quote macro))
(#{build-application\ 93}#
#f
(#{build-primref\ 105}# #f (quote cons))
(list #{e\ 853}#
(#{build-application\ 93}#
#f
(#{build-primref\ 105}#
#f
'module-name)
(list (#{build-application\ 93}#
#f
(#{build-primref\ 105}#
#f
'current-module)
'())))))))))))
(#{chi-top-sequence\ 159}#
(lambda (#{body\ 855}#
#{r\ 856}#
#{w\ 857}#
#{s\ 858}#
#{m\ 859}#
#{esew\ 860}#
#{mod\ 861}#)
(#{build-sequence\ 107}#
#{s\ 858}#
(letrec ((#{dobody\ 862}#
(lambda (#{body\ 863}#
#{r\ 864}#
#{w\ 865}#
#{m\ 866}#
#{esew\ 867}#
#{mod\ 868}#)
(if (null? #{body\ 863}#)
'()
(let ((#{first\ 869}#
(#{chi-top\ 163}#
(car #{body\ 863}#)
#{r\ 864}#
#{w\ 865}#
#{m\ 866}#
#{esew\ 867}#
#{mod\ 868}#)))
(cons #{first\ 869}#
(#{dobody\ 862}#
(cdr #{body\ 863}#)
#{r\ 864}#
#{w\ 865}#
#{m\ 866}#
#{esew\ 867}#
#{mod\ 868}#)))))))
(#{dobody\ 862}#
#{body\ 855}#
#{r\ 856}#
#{w\ 857}#
#{m\ 859}#
#{esew\ 860}#
#{mod\ 861}#)))))
(#{chi-sequence\ 158}#
(lambda (#{body\ 870}#
#{r\ 871}#
#{w\ 872}#
#{s\ 873}#
#{mod\ 874}#)
(#{build-sequence\ 107}#
#{s\ 873}#
(letrec ((#{dobody\ 875}#
(lambda (#{body\ 876}#
#{r\ 877}#
#{w\ 878}#
#{mod\ 879}#)
(if (null? #{body\ 876}#)
'()
(let ((#{first\ 880}#
(#{chi\ 164}#
(car #{body\ 876}#)
#{r\ 877}#
#{w\ 878}#
#{mod\ 879}#)))
(cons #{first\ 880}#
(#{dobody\ 875}#
(cdr #{body\ 876}#)
#{r\ 877}#
#{w\ 878}#
#{mod\ 879}#)))))))
(#{dobody\ 875}#
#{body\ 870}#
#{r\ 871}#
#{w\ 872}#
#{mod\ 874}#)))))
(#{source-wrap\ 157}#
(lambda (#{x\ 881}#
#{w\ 882}#
#{s\ 883}#
#{defmod\ 884}#)
(#{wrap\ 156}#
(#{decorate-source\ 91}# #{x\ 881}# #{s\ 883}#)
#{w\ 882}#
#{defmod\ 884}#)))
(#{wrap\ 156}#
(lambda (#{x\ 885}# #{w\ 886}# #{defmod\ 887}#)
(if (if (null? (#{wrap-marks\ 131}# #{w\ 886}#))
(null? (#{wrap-subst\ 132}# #{w\ 886}#))
#f)
#{x\ 885}#
(if (#{syntax-object?\ 112}# #{x\ 885}#)
(#{make-syntax-object\ 111}#
(#{syntax-object-expression\ 113}# #{x\ 885}#)
(#{join-wraps\ 147}#
#{w\ 886}#
(#{syntax-object-wrap\ 114}# #{x\ 885}#))
(#{syntax-object-module\ 115}# #{x\ 885}#))
(if (null? #{x\ 885}#)
#{x\ 885}#
(#{make-syntax-object\ 111}#
#{x\ 885}#
#{w\ 886}#
#{defmod\ 887}#))))))
(#{bound-id-member?\ 155}#
(lambda (#{x\ 888}# #{list\ 889}#)
(if (not (null? #{list\ 889}#))
(let ((#{t\ 890}# (#{bound-id=?\ 152}#
#{x\ 888}#
(car #{list\ 889}#))))
(if #{t\ 890}#
#{t\ 890}#
(#{bound-id-member?\ 155}#
#{x\ 888}#
(cdr #{list\ 889}#))))
#f)))
(#{distinct-bound-ids?\ 154}#
(lambda (#{ids\ 891}#)
(letrec ((#{distinct?\ 892}#
(lambda (#{ids\ 893}#)
(let ((#{t\ 894}# (null? #{ids\ 893}#)))
(if #{t\ 894}#
#{t\ 894}#
(if (not (#{bound-id-member?\ 155}#
(car #{ids\ 893}#)
(cdr #{ids\ 893}#)))
(#{distinct?\ 892}# (cdr #{ids\ 893}#))
#f))))))
(#{distinct?\ 892}# #{ids\ 891}#))))
(#{valid-bound-ids?\ 153}#
(lambda (#{ids\ 895}#)
(if (letrec ((#{all-ids?\ 896}#
(lambda (#{ids\ 897}#)
(let ((#{t\ 898}# (null? #{ids\ 897}#)))
(if #{t\ 898}#
#{t\ 898}#
(if (#{id?\ 128}# (car #{ids\ 897}#))
(#{all-ids?\ 896}# (cdr #{ids\ 897}#))
#f))))))
(#{all-ids?\ 896}# #{ids\ 895}#))
(#{distinct-bound-ids?\ 154}# #{ids\ 895}#)
#f)))
(#{bound-id=?\ 152}#
(lambda (#{i\ 899}# #{j\ 900}#)
(if (if (#{syntax-object?\ 112}# #{i\ 899}#)
(#{syntax-object?\ 112}# #{j\ 900}#)
#f)
(if (eq? (#{syntax-object-expression\ 113}# #{i\ 899}#)
(#{syntax-object-expression\ 113}# #{j\ 900}#))
(#{same-marks?\ 149}#
(#{wrap-marks\ 131}#
(#{syntax-object-wrap\ 114}# #{i\ 899}#))
(#{wrap-marks\ 131}#
(#{syntax-object-wrap\ 114}# #{j\ 900}#)))
#f)
(eq? #{i\ 899}# #{j\ 900}#))))
(#{free-id=?\ 151}#
(lambda (#{i\ 901}# #{j\ 902}#)
(if (eq? (let ((#{x\ 903}# #{i\ 901}#))
(if (#{syntax-object?\ 112}# #{x\ 903}#)
(#{syntax-object-expression\ 113}# #{x\ 903}#)
#{x\ 903}#))
(let ((#{x\ 904}# #{j\ 902}#))
(if (#{syntax-object?\ 112}# #{x\ 904}#)
(#{syntax-object-expression\ 113}# #{x\ 904}#)
#{x\ 904}#)))
(eq? (#{id-var-name\ 150}# #{i\ 901}# (quote (())))
(#{id-var-name\ 150}# #{j\ 902}# (quote (()))))
#f)))
(#{id-var-name\ 150}#
(lambda (#{id\ 905}# #{w\ 906}#)
(letrec ((#{search-vector-rib\ 909}#
(lambda (#{sym\ 915}#
#{subst\ 916}#
#{marks\ 917}#
#{symnames\ 918}#
#{ribcage\ 919}#)
(let ((#{n\ 920}# (vector-length
#{symnames\ 918}#)))
(letrec ((#{f\ 921}# (lambda (#{i\ 922}#)
(if (#{fx=\ 85}#
#{i\ 922}#
#{n\ 920}#)
(#{search\ 907}#
#{sym\ 915}#
(cdr #{subst\ 916}#)
#{marks\ 917}#)
(if (if (eq? (vector-ref
#{symnames\ 918}#
#{i\ 922}#)
#{sym\ 915}#)
(#{same-marks?\ 149}#
#{marks\ 917}#
(vector-ref
(#{ribcage-marks\ 138}#
#{ribcage\ 919}#)
#{i\ 922}#))
#f)
(values
(vector-ref
(#{ribcage-labels\ 139}#
#{ribcage\ 919}#)
#{i\ 922}#)
#{marks\ 917}#)
(#{f\ 921}# (#{fx+\ 83}#
#{i\ 922}#
1)))))))
(#{f\ 921}# 0)))))
(#{search-list-rib\ 908}#
(lambda (#{sym\ 923}#
#{subst\ 924}#
#{marks\ 925}#
#{symnames\ 926}#
#{ribcage\ 927}#)
(letrec ((#{f\ 928}# (lambda (#{symnames\ 929}#
#{i\ 930}#)
(if (null? #{symnames\ 929}#)
(#{search\ 907}#
#{sym\ 923}#
(cdr #{subst\ 924}#)
#{marks\ 925}#)
(if (if (eq? (car #{symnames\ 929}#)
#{sym\ 923}#)
(#{same-marks?\ 149}#
#{marks\ 925}#
(list-ref
(#{ribcage-marks\ 138}#
#{ribcage\ 927}#)
#{i\ 930}#))
#f)
(values
(list-ref
(#{ribcage-labels\ 139}#
#{ribcage\ 927}#)
#{i\ 930}#)
#{marks\ 925}#)
(#{f\ 928}# (cdr #{symnames\ 929}#)
(#{fx+\ 83}#
#{i\ 930}#
1)))))))
(#{f\ 928}# #{symnames\ 926}# 0))))
(#{search\ 907}#
(lambda (#{sym\ 931}# #{subst\ 932}# #{marks\ 933}#)
(if (null? #{subst\ 932}#)
(values #f #{marks\ 933}#)
(let ((#{fst\ 934}# (car #{subst\ 932}#)))
(if (eq? #{fst\ 934}# (quote shift))
(#{search\ 907}#
#{sym\ 931}#
(cdr #{subst\ 932}#)
(cdr #{marks\ 933}#))
(let ((#{symnames\ 935}#
(#{ribcage-symnames\ 137}#
#{fst\ 934}#)))
(if (vector? #{symnames\ 935}#)
(#{search-vector-rib\ 909}#
#{sym\ 931}#
#{subst\ 932}#
#{marks\ 933}#
#{symnames\ 935}#
#{fst\ 934}#)
(#{search-list-rib\ 908}#
#{sym\ 931}#
#{subst\ 932}#
#{marks\ 933}#
#{symnames\ 935}#
#{fst\ 934}#)))))))))
(if (symbol? #{id\ 905}#)
(let ((#{t\ 936}# (call-with-values
(lambda ()
(#{search\ 907}#
#{id\ 905}#
(#{wrap-subst\ 132}# #{w\ 906}#)
(#{wrap-marks\ 131}# #{w\ 906}#)))
(lambda (#{x\ 937}# . #{ignore\ 938}#)
#{x\ 937}#))))
(if #{t\ 936}# #{t\ 936}# #{id\ 905}#))
(if (#{syntax-object?\ 112}# #{id\ 905}#)
(let ((#{id\ 939}#
(#{syntax-object-expression\ 113}# #{id\ 905}#))
(#{w1\ 940}#
(#{syntax-object-wrap\ 114}# #{id\ 905}#)))
(let ((#{marks\ 941}#
(#{join-marks\ 148}#
(#{wrap-marks\ 131}# #{w\ 906}#)
(#{wrap-marks\ 131}# #{w1\ 940}#))))
(call-with-values
(lambda ()
(#{search\ 907}#
#{id\ 939}#
(#{wrap-subst\ 132}# #{w\ 906}#)
#{marks\ 941}#))
(lambda (#{new-id\ 942}# #{marks\ 943}#)
(let ((#{t\ 944}# #{new-id\ 942}#))
(if #{t\ 944}#
#{t\ 944}#
(let ((#{t\ 945}# (call-with-values
(lambda ()
(#{search\ 907}#
#{id\ 939}#
(#{wrap-subst\ 132}#
#{w1\ 940}#)
#{marks\ 943}#))
(lambda (#{x\ 946}#
.
#{ignore\ 947}#)
#{x\ 946}#))))
(if #{t\ 945}#
#{t\ 945}#
#{id\ 939}#))))))))
(syntax-violation
'id-var-name
"invalid id"
#{id\ 905}#))))))
(#{same-marks?\ 149}#
(lambda (#{x\ 948}# #{y\ 949}#)
(let ((#{t\ 950}# (eq? #{x\ 948}# #{y\ 949}#)))
(if #{t\ 950}#
#{t\ 950}#
(if (not (null? #{x\ 948}#))
(if (not (null? #{y\ 949}#))
(if (eq? (car #{x\ 948}#) (car #{y\ 949}#))
(#{same-marks?\ 149}#
(cdr #{x\ 948}#)
(cdr #{y\ 949}#))
#f)
#f)
#f)))))
(#{join-marks\ 148}#
(lambda (#{m1\ 951}# #{m2\ 952}#)
(#{smart-append\ 146}# #{m1\ 951}# #{m2\ 952}#)))
(#{join-wraps\ 147}#
(lambda (#{w1\ 953}# #{w2\ 954}#)
(let ((#{m1\ 955}# (#{wrap-marks\ 131}# #{w1\ 953}#))
(#{s1\ 956}# (#{wrap-subst\ 132}# #{w1\ 953}#)))
(if (null? #{m1\ 955}#)
(if (null? #{s1\ 956}#)
#{w2\ 954}#
(#{make-wrap\ 130}#
(#{wrap-marks\ 131}# #{w2\ 954}#)
(#{smart-append\ 146}#
#{s1\ 956}#
(#{wrap-subst\ 132}# #{w2\ 954}#))))
(#{make-wrap\ 130}#
(#{smart-append\ 146}#
#{m1\ 955}#
(#{wrap-marks\ 131}# #{w2\ 954}#))
(#{smart-append\ 146}#
#{s1\ 956}#
(#{wrap-subst\ 132}# #{w2\ 954}#)))))))
(#{smart-append\ 146}#
(lambda (#{m1\ 957}# #{m2\ 958}#)
(if (null? #{m2\ 958}#)
#{m1\ 957}#
(append #{m1\ 957}# #{m2\ 958}#))))
(#{make-binding-wrap\ 145}#
(lambda (#{ids\ 959}# #{labels\ 960}# #{w\ 961}#)
(if (null? #{ids\ 959}#)
#{w\ 961}#
(#{make-wrap\ 130}#
(#{wrap-marks\ 131}# #{w\ 961}#)
(cons (let ((#{labelvec\ 962}#
(list->vector #{labels\ 960}#)))
(let ((#{n\ 963}# (vector-length
#{labelvec\ 962}#)))
(let ((#{symnamevec\ 964}#
(make-vector #{n\ 963}#))
(#{marksvec\ 965}#
(make-vector #{n\ 963}#)))
(begin
(letrec ((#{f\ 966}# (lambda (#{ids\ 967}#
#{i\ 968}#)
(if (not (null? #{ids\ 967}#))
(call-with-values
(lambda ()
(#{id-sym-name&marks\ 129}#
(car #{ids\ 967}#)
#{w\ 961}#))
(lambda (#{symname\ 969}#
#{marks\ 970}#)
(begin
(vector-set!
#{symnamevec\ 964}#
#{i\ 968}#
#{symname\ 969}#)
(vector-set!
#{marksvec\ 965}#
#{i\ 968}#
#{marks\ 970}#)
(#{f\ 966}# (cdr #{ids\ 967}#)
(#{fx+\ 83}#
#{i\ 968}#
1)))))))))
(#{f\ 966}# #{ids\ 959}# 0))
(#{make-ribcage\ 135}#
#{symnamevec\ 964}#
#{marksvec\ 965}#
#{labelvec\ 962}#)))))
(#{wrap-subst\ 132}# #{w\ 961}#))))))
(#{extend-ribcage!\ 144}#
(lambda (#{ribcage\ 971}# #{id\ 972}# #{label\ 973}#)
(begin
(#{set-ribcage-symnames!\ 140}#
#{ribcage\ 971}#
(cons (#{syntax-object-expression\ 113}# #{id\ 972}#)
(#{ribcage-symnames\ 137}# #{ribcage\ 971}#)))
(#{set-ribcage-marks!\ 141}#
#{ribcage\ 971}#
(cons (#{wrap-marks\ 131}#
(#{syntax-object-wrap\ 114}# #{id\ 972}#))
(#{ribcage-marks\ 138}# #{ribcage\ 971}#)))
(#{set-ribcage-labels!\ 142}#
#{ribcage\ 971}#
(cons #{label\ 973}#
(#{ribcage-labels\ 139}# #{ribcage\ 971}#))))))
(#{anti-mark\ 143}#
(lambda (#{w\ 974}#)
(#{make-wrap\ 130}#
(cons #f (#{wrap-marks\ 131}# #{w\ 974}#))
(cons 'shift
(#{wrap-subst\ 132}# #{w\ 974}#)))))
(#{set-ribcage-labels!\ 142}#
(lambda (#{x\ 975}# #{update\ 976}#)
(vector-set! #{x\ 975}# 3 #{update\ 976}#)))
(#{set-ribcage-marks!\ 141}#
(lambda (#{x\ 977}# #{update\ 978}#)
(vector-set! #{x\ 977}# 2 #{update\ 978}#)))
(#{set-ribcage-symnames!\ 140}#
(lambda (#{x\ 979}# #{update\ 980}#)
(vector-set! #{x\ 979}# 1 #{update\ 980}#)))
(#{ribcage-labels\ 139}#
(lambda (#{x\ 981}#) (vector-ref #{x\ 981}# 3)))
(#{ribcage-marks\ 138}#
(lambda (#{x\ 982}#) (vector-ref #{x\ 982}# 2)))
(#{ribcage-symnames\ 137}#
(lambda (#{x\ 983}#) (vector-ref #{x\ 983}# 1)))
(#{ribcage?\ 136}#
(lambda (#{x\ 984}#)
(if (vector? #{x\ 984}#)
(if (= (vector-length #{x\ 984}#) 4)
(eq? (vector-ref #{x\ 984}# 0) (quote ribcage))
#f)
#f)))
(#{make-ribcage\ 135}#
(lambda (#{symnames\ 985}#
#{marks\ 986}#
#{labels\ 987}#)
(vector
'ribcage
#{symnames\ 985}#
#{marks\ 986}#
#{labels\ 987}#)))
(#{gen-labels\ 134}#
(lambda (#{ls\ 988}#)
(if (null? #{ls\ 988}#)
'()
(cons (#{gen-label\ 133}#)
(#{gen-labels\ 134}# (cdr #{ls\ 988}#))))))
(#{gen-label\ 133}#
(lambda () (symbol->string (gensym "i"))))
(#{wrap-subst\ 132}# cdr)
(#{wrap-marks\ 131}# car)
(#{make-wrap\ 130}# cons)
(#{id-sym-name&marks\ 129}#
(lambda (#{x\ 989}# #{w\ 990}#)
(if (#{syntax-object?\ 112}# #{x\ 989}#)
(values
(#{syntax-object-expression\ 113}# #{x\ 989}#)
(#{join-marks\ 148}#
(#{wrap-marks\ 131}# #{w\ 990}#)
(#{wrap-marks\ 131}#
(#{syntax-object-wrap\ 114}# #{x\ 989}#))))
(values
#{x\ 989}#
(#{wrap-marks\ 131}# #{w\ 990}#)))))
(#{id?\ 128}#
(lambda (#{x\ 991}#)
(if (symbol? #{x\ 991}#)
#t
(if (#{syntax-object?\ 112}# #{x\ 991}#)
(symbol?
(#{syntax-object-expression\ 113}# #{x\ 991}#))
#f))))
(#{nonsymbol-id?\ 127}#
(lambda (#{x\ 992}#)
(if (#{syntax-object?\ 112}# #{x\ 992}#)
(symbol?
(#{syntax-object-expression\ 113}# #{x\ 992}#))
#f)))
(#{global-extend\ 126}#
(lambda (#{type\ 993}# #{sym\ 994}# #{val\ 995}#)
(#{put-global-definition-hook\ 89}#
#{sym\ 994}#
#{type\ 993}#
#{val\ 995}#)))
(#{lookup\ 125}#
(lambda (#{x\ 996}# #{r\ 997}# #{mod\ 998}#)
(let ((#{t\ 999}# (assq #{x\ 996}# #{r\ 997}#)))
(if #{t\ 999}#
(cdr #{t\ 999}#)
(if (symbol? #{x\ 996}#)
(let ((#{t\ 1000}#
(#{get-global-definition-hook\ 90}#
#{x\ 996}#
#{mod\ 998}#)))
(if #{t\ 1000}# #{t\ 1000}# (quote (global))))
'(displaced-lexical))))))
(#{macros-only-env\ 124}#
(lambda (#{r\ 1001}#)
(if (null? #{r\ 1001}#)
'()
(let ((#{a\ 1002}# (car #{r\ 1001}#)))
(if (eq? (cadr #{a\ 1002}#) (quote macro))
(cons #{a\ 1002}#
(#{macros-only-env\ 124}# (cdr #{r\ 1001}#)))
(#{macros-only-env\ 124}# (cdr #{r\ 1001}#)))))))
(#{extend-var-env\ 123}#
(lambda (#{labels\ 1003}# #{vars\ 1004}# #{r\ 1005}#)
(if (null? #{labels\ 1003}#)
#{r\ 1005}#
(#{extend-var-env\ 123}#
(cdr #{labels\ 1003}#)
(cdr #{vars\ 1004}#)
(cons (cons (car #{labels\ 1003}#)
(cons (quote lexical) (car #{vars\ 1004}#)))
#{r\ 1005}#)))))
(#{extend-env\ 122}#
(lambda (#{labels\ 1006}# #{bindings\ 1007}# #{r\ 1008}#)
(if (null? #{labels\ 1006}#)
#{r\ 1008}#
(#{extend-env\ 122}#
(cdr #{labels\ 1006}#)
(cdr #{bindings\ 1007}#)
(cons (cons (car #{labels\ 1006}#)
(car #{bindings\ 1007}#))
#{r\ 1008}#)))))
(#{binding-value\ 121}# cdr)
(#{binding-type\ 120}# car)
(#{source-annotation\ 119}#
(lambda (#{x\ 1009}#)
(if (#{syntax-object?\ 112}# #{x\ 1009}#)
(#{source-annotation\ 119}#
(#{syntax-object-expression\ 113}# #{x\ 1009}#))
(if (pair? #{x\ 1009}#)
(let ((#{props\ 1010}# (source-properties #{x\ 1009}#)))
(if (pair? #{props\ 1010}#) #{props\ 1010}# #f))
#f))))
(#{set-syntax-object-module!\ 118}#
(lambda (#{x\ 1011}# #{update\ 1012}#)
(vector-set! #{x\ 1011}# 3 #{update\ 1012}#)))
(#{set-syntax-object-wrap!\ 117}#
(lambda (#{x\ 1013}# #{update\ 1014}#)
(vector-set! #{x\ 1013}# 2 #{update\ 1014}#)))
(#{set-syntax-object-expression!\ 116}#
(lambda (#{x\ 1015}# #{update\ 1016}#)
(vector-set! #{x\ 1015}# 1 #{update\ 1016}#)))
(#{syntax-object-module\ 115}#
(lambda (#{x\ 1017}#) (vector-ref #{x\ 1017}# 3)))
(#{syntax-object-wrap\ 114}#
(lambda (#{x\ 1018}#) (vector-ref #{x\ 1018}# 2)))
(#{syntax-object-expression\ 113}#
(lambda (#{x\ 1019}#) (vector-ref #{x\ 1019}# 1)))
(#{syntax-object?\ 112}#
(lambda (#{x\ 1020}#)
(if (vector? #{x\ 1020}#)
(if (= (vector-length #{x\ 1020}#) 4)
(eq? (vector-ref #{x\ 1020}# 0)
'syntax-object)
#f)
#f)))
(#{make-syntax-object\ 111}#
(lambda (#{expression\ 1021}#
#{wrap\ 1022}#
#{module\ 1023}#)
(vector
'syntax-object
#{expression\ 1021}#
#{wrap\ 1022}#
#{module\ 1023}#)))
(#{build-letrec\ 110}#
(lambda (#{src\ 1024}#
#{ids\ 1025}#
#{vars\ 1026}#
#{val-exps\ 1027}#
#{body-exp\ 1028}#)
(if (null? #{vars\ 1026}#)
#{body-exp\ 1028}#
(let ((#{atom-key\ 1029}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1029}# (quote (c)))
(begin
(for-each
#{maybe-name-value!\ 100}#
#{ids\ 1025}#
#{val-exps\ 1027}#)
((@ (language tree-il) make-letrec)
#{src\ 1024}#
#{ids\ 1025}#
#{vars\ 1026}#
#{val-exps\ 1027}#
#{body-exp\ 1028}#))
(#{decorate-source\ 91}#
(list 'letrec
(map list #{vars\ 1026}# #{val-exps\ 1027}#)
#{body-exp\ 1028}#)
#{src\ 1024}#))))))
(#{build-named-let\ 109}#
(lambda (#{src\ 1030}#
#{ids\ 1031}#
#{vars\ 1032}#
#{val-exps\ 1033}#
#{body-exp\ 1034}#)
(let ((#{f\ 1035}# (car #{vars\ 1032}#))
(#{f-name\ 1036}# (car #{ids\ 1031}#))
(#{vars\ 1037}# (cdr #{vars\ 1032}#))
(#{ids\ 1038}# (cdr #{ids\ 1031}#)))
(let ((#{atom-key\ 1039}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1039}# (quote (c)))
(let ((#{proc\ 1040}#
(#{build-simple-lambda\ 102}#
#{src\ 1030}#
#{ids\ 1038}#
#f
#{vars\ 1037}#
#f
#{body-exp\ 1034}#)))
(begin
(#{maybe-name-value!\ 100}#
#{f-name\ 1036}#
#{proc\ 1040}#)
(for-each
#{maybe-name-value!\ 100}#
#{ids\ 1038}#
#{val-exps\ 1033}#)
((@ (language tree-il) make-letrec)
#{src\ 1030}#
(list #{f-name\ 1036}#)
(list #{f\ 1035}#)
(list #{proc\ 1040}#)
(#{build-application\ 93}#
#{src\ 1030}#
(#{build-lexical-reference\ 95}#
'fun
#{src\ 1030}#
#{f-name\ 1036}#
#{f\ 1035}#)
#{val-exps\ 1033}#))))
(#{decorate-source\ 91}#
(list 'letrec
(list (list #{f\ 1035}#
(list 'lambda
#{vars\ 1037}#
#{body-exp\ 1034}#)))
(cons #{f\ 1035}# #{val-exps\ 1033}#))
#{src\ 1030}#))))))
(#{build-let\ 108}#
(lambda (#{src\ 1041}#
#{ids\ 1042}#
#{vars\ 1043}#
#{val-exps\ 1044}#
#{body-exp\ 1045}#)
(if (null? #{vars\ 1043}#)
#{body-exp\ 1045}#
(let ((#{atom-key\ 1046}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1046}# (quote (c)))
(begin
(for-each
#{maybe-name-value!\ 100}#
#{ids\ 1042}#
#{val-exps\ 1044}#)
((@ (language tree-il) make-let)
#{src\ 1041}#
#{ids\ 1042}#
#{vars\ 1043}#
#{val-exps\ 1044}#
#{body-exp\ 1045}#))
(#{decorate-source\ 91}#
(list 'let
(map list #{vars\ 1043}# #{val-exps\ 1044}#)
#{body-exp\ 1045}#)
#{src\ 1041}#))))))
(#{build-sequence\ 107}#
(lambda (#{src\ 1047}# #{exps\ 1048}#)
(if (null? (cdr #{exps\ 1048}#))
(car #{exps\ 1048}#)
(let ((#{atom-key\ 1049}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1049}# (quote (c)))
((@ (language tree-il) make-sequence)
#{src\ 1047}#
#{exps\ 1048}#)
(#{decorate-source\ 91}#
(cons (quote begin) #{exps\ 1048}#)
#{src\ 1047}#))))))
(#{build-data\ 106}#
(lambda (#{src\ 1050}# #{exp\ 1051}#)
(let ((#{atom-key\ 1052}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1052}# (quote (c)))
((@ (language tree-il) make-const)
#{src\ 1050}#
#{exp\ 1051}#)
(#{decorate-source\ 91}#
(if (if (self-evaluating? #{exp\ 1051}#)
(not (vector? #{exp\ 1051}#))
#f)
#{exp\ 1051}#
(list (quote quote) #{exp\ 1051}#))
#{src\ 1050}#)))))
(#{build-primref\ 105}#
(lambda (#{src\ 1053}# #{name\ 1054}#)
(if (equal?
(module-name (current-module))
'(guile))
(let ((#{atom-key\ 1055}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1055}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
#{src\ 1053}#
#{name\ 1054}#)
(#{decorate-source\ 91}#
#{name\ 1054}#
#{src\ 1053}#)))
(let ((#{atom-key\ 1056}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1056}# (quote (c)))
((@ (language tree-il) make-module-ref)
#{src\ 1053}#
'(guile)
#{name\ 1054}#
#f)
(#{decorate-source\ 91}#
(list (quote @@) (quote (guile)) #{name\ 1054}#)
#{src\ 1053}#))))))
(#{build-lambda-case\ 104}#
(lambda (#{src\ 1057}#
#{req\ 1058}#
#{opt\ 1059}#
#{rest\ 1060}#
#{kw\ 1061}#
#{inits\ 1062}#
#{vars\ 1063}#
#{body\ 1064}#
#{else-case\ 1065}#)
(let ((#{atom-key\ 1066}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1066}# (quote (c)))
((@ (language tree-il) make-lambda-case)
#{src\ 1057}#
#{req\ 1058}#
#{opt\ 1059}#
#{rest\ 1060}#
#{kw\ 1061}#
#{inits\ 1062}#
#{vars\ 1063}#
#{body\ 1064}#
#{else-case\ 1065}#)
(let ((#{nreq\ 1067}# (length #{req\ 1058}#)))
(let ((#{nopt\ 1068}#
(if #{opt\ 1059}# (length #{opt\ 1059}#) 0)))
(let ((#{rest-idx\ 1069}#
(if #{rest\ 1060}#
(+ #{nreq\ 1067}# #{nopt\ 1068}#)
#f)))
(let ((#{allow-other-keys?\ 1070}#
(if #{kw\ 1061}# (car #{kw\ 1061}#) #f)))
(let ((#{kw-indices\ 1071}#
(map (lambda (#{x\ 1072}#)
(cons (car #{x\ 1072}#)
(list-index
#{vars\ 1063}#
(caddr #{x\ 1072}#))))
(if #{kw\ 1061}#
(cdr #{kw\ 1061}#)
'()))))
(let ((#{nargs\ 1073}#
(apply max
(+ #{nreq\ 1067}#
#{nopt\ 1068}#
(if #{rest\ 1060}# 1 0))
(map 1+
(map cdr
#{kw-indices\ 1071}#)))))
(begin
(let ((#{t\ 1074}#
(= #{nargs\ 1073}#
(length #{vars\ 1063}#)
(+ #{nreq\ 1067}#
(length #{inits\ 1062}#)
(if #{rest\ 1060}# 1 0)))))
(if #{t\ 1074}#
#{t\ 1074}#
(error "something went wrong"
#{req\ 1058}#
#{opt\ 1059}#
#{rest\ 1060}#
#{kw\ 1061}#
#{inits\ 1062}#
#{vars\ 1063}#
#{nreq\ 1067}#
#{nopt\ 1068}#
#{kw-indices\ 1071}#
#{nargs\ 1073}#)))
(#{decorate-source\ 91}#
(cons (list (cons '(@@ (ice-9 optargs)
parse-lambda-case)
(cons (list 'quote
(list #{nreq\ 1067}#
#{nopt\ 1068}#
#{rest-idx\ 1069}#
#{nargs\ 1073}#
#{allow-other-keys?\ 1070}#
#{kw-indices\ 1071}#))
(cons (cons 'list
(map (lambda (#{i\ 1075}#)
(list 'lambda
#{vars\ 1063}#
#{i\ 1075}#))
#{inits\ 1062}#))
'(%%args))))
'=>
(list 'lambda
'(%%%args . _)
(cons 'apply
(cons (list 'lambda
#{vars\ 1063}#
#{body\ 1064}#)
'(%%%args)))))
(let ((#{t\ 1076}#
#{else-case\ 1065}#))
(if #{t\ 1076}#
#{t\ 1076}#
'((%%args
(error "wrong number of arguments"
%%args))))))
#{src\ 1057}#))))))))))))
(#{build-case-lambda\ 103}#
(lambda (#{src\ 1077}#
#{docstring\ 1078}#
#{body\ 1079}#)
(let ((#{atom-key\ 1080}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1080}# (quote (c)))
((@ (language tree-il) make-lambda)
#{src\ 1077}#
(if #{docstring\ 1078}#
(list (cons (quote documentation) #{docstring\ 1078}#))
'())
#{body\ 1079}#)
(#{decorate-source\ 91}#
(cons 'lambda
(cons '%%args
(append
(if #{docstring\ 1078}#
(list #{docstring\ 1078}#)
'())
(list (cons (quote cond) #{body\ 1079}#)))))
#{src\ 1077}#)))))
(#{build-simple-lambda\ 102}#
(lambda (#{src\ 1081}#
#{req\ 1082}#
#{rest\ 1083}#
#{vars\ 1084}#
#{docstring\ 1085}#
#{exp\ 1086}#)
(let ((#{atom-key\ 1087}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1087}# (quote (c)))
((@ (language tree-il) make-lambda)
#{src\ 1081}#
(if #{docstring\ 1085}#
(list (cons (quote documentation) #{docstring\ 1085}#))
'())
((@ (language tree-il) make-lambda-case)
#{src\ 1081}#
#{req\ 1082}#
#f
#{rest\ 1083}#
#f
'()
#{vars\ 1084}#
#{exp\ 1086}#
#f))
(#{decorate-source\ 91}#
(cons 'lambda
(cons (if #{rest\ 1083}#
(apply cons* #{vars\ 1084}#)
#{vars\ 1084}#)
(append
(if #{docstring\ 1085}#
(list #{docstring\ 1085}#)
'())
(list #{exp\ 1086}#))))
#{src\ 1081}#)))))
(#{build-global-definition\ 101}#
(lambda (#{source\ 1088}# #{var\ 1089}# #{exp\ 1090}#)
(let ((#{atom-key\ 1091}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1091}# (quote (c)))
(begin
(#{maybe-name-value!\ 100}#
#{var\ 1089}#
#{exp\ 1090}#)
((@ (language tree-il) make-toplevel-define)
#{source\ 1088}#
#{var\ 1089}#
#{exp\ 1090}#))
(#{decorate-source\ 91}#
(list (quote define) #{var\ 1089}# #{exp\ 1090}#)
#{source\ 1088}#)))))
(#{maybe-name-value!\ 100}#
(lambda (#{name\ 1092}# #{val\ 1093}#)
(if ((@ (language tree-il) lambda?) #{val\ 1093}#)
(let ((#{meta\ 1094}#
((@ (language tree-il) lambda-meta)
#{val\ 1093}#)))
(if (not (assq (quote name) #{meta\ 1094}#))
((setter (@ (language tree-il) lambda-meta))
#{val\ 1093}#
(acons 'name
#{name\ 1092}#
#{meta\ 1094}#)))))))
(#{build-global-assignment\ 99}#
(lambda (#{source\ 1095}#
#{var\ 1096}#
#{exp\ 1097}#
#{mod\ 1098}#)
(#{analyze-variable\ 97}#
#{mod\ 1098}#
#{var\ 1096}#
(lambda (#{mod\ 1099}# #{var\ 1100}# #{public?\ 1101}#)
(let ((#{atom-key\ 1102}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1102}# (quote (c)))
((@ (language tree-il) make-module-set)
#{source\ 1095}#
#{mod\ 1099}#
#{var\ 1100}#
#{public?\ 1101}#
#{exp\ 1097}#)
(#{decorate-source\ 91}#
(list 'set!
(list (if #{public?\ 1101}#
'@
'@@)
#{mod\ 1099}#
#{var\ 1100}#)
#{exp\ 1097}#)
#{source\ 1095}#))))
(lambda (#{var\ 1103}#)
(let ((#{atom-key\ 1104}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1104}# (quote (c)))
((@ (language tree-il) make-toplevel-set)
#{source\ 1095}#
#{var\ 1103}#
#{exp\ 1097}#)
(#{decorate-source\ 91}#
(list (quote set!) #{var\ 1103}# #{exp\ 1097}#)
#{source\ 1095}#)))))))
(#{build-global-reference\ 98}#
(lambda (#{source\ 1105}# #{var\ 1106}# #{mod\ 1107}#)
(#{analyze-variable\ 97}#
#{mod\ 1107}#
#{var\ 1106}#
(lambda (#{mod\ 1108}# #{var\ 1109}# #{public?\ 1110}#)
(let ((#{atom-key\ 1111}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1111}# (quote (c)))
((@ (language tree-il) make-module-ref)
#{source\ 1105}#
#{mod\ 1108}#
#{var\ 1109}#
#{public?\ 1110}#)
(#{decorate-source\ 91}#
(list (if #{public?\ 1110}# (quote @) (quote @@))
#{mod\ 1108}#
#{var\ 1109}#)
#{source\ 1105}#))))
(lambda (#{var\ 1112}#)
(let ((#{atom-key\ 1113}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1113}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
#{source\ 1105}#
#{var\ 1112}#)
(#{decorate-source\ 91}#
#{var\ 1112}#
#{source\ 1105}#)))))))
(#{analyze-variable\ 97}#
(lambda (#{mod\ 1114}#
#{var\ 1115}#
#{modref-cont\ 1116}#
#{bare-cont\ 1117}#)
(if (not #{mod\ 1114}#)
(#{bare-cont\ 1117}# #{var\ 1115}#)
(let ((#{kind\ 1118}# (car #{mod\ 1114}#))
(#{mod\ 1119}# (cdr #{mod\ 1114}#)))
(if (memv #{kind\ 1118}# (quote (public)))
(#{modref-cont\ 1116}#
#{mod\ 1119}#
#{var\ 1115}#
#t)
(if (memv #{kind\ 1118}# (quote (private)))
(if (not (equal?
#{mod\ 1119}#
(module-name (current-module))))
(#{modref-cont\ 1116}#
#{mod\ 1119}#
#{var\ 1115}#
#f)
(#{bare-cont\ 1117}# #{var\ 1115}#))
(if (memv #{kind\ 1118}# (quote (bare)))
(#{bare-cont\ 1117}# #{var\ 1115}#)
(if (memv #{kind\ 1118}# (quote (hygiene)))
(if (if (not (equal?
#{mod\ 1119}#
(module-name (current-module))))
(module-variable
(resolve-module #{mod\ 1119}#)
#{var\ 1115}#)
#f)
(#{modref-cont\ 1116}#
#{mod\ 1119}#
#{var\ 1115}#
#f)
(#{bare-cont\ 1117}# #{var\ 1115}#))
(syntax-violation
#f
"bad module kind"
#{var\ 1115}#
#{mod\ 1119}#)))))))))
(#{build-lexical-assignment\ 96}#
(lambda (#{source\ 1120}#
#{name\ 1121}#
#{var\ 1122}#
#{exp\ 1123}#)
(let ((#{atom-key\ 1124}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1124}# (quote (c)))
((@ (language tree-il) make-lexical-set)
#{source\ 1120}#
#{name\ 1121}#
#{var\ 1122}#
#{exp\ 1123}#)
(#{decorate-source\ 91}#
(list (quote set!) #{var\ 1122}# #{exp\ 1123}#)
#{source\ 1120}#)))))
(#{build-lexical-reference\ 95}#
(lambda (#{type\ 1125}#
#{source\ 1126}#
#{name\ 1127}#
#{var\ 1128}#)
(let ((#{atom-key\ 1129}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1129}# (quote (c)))
((@ (language tree-il) make-lexical-ref)
#{source\ 1126}#
#{name\ 1127}#
#{var\ 1128}#)
(#{decorate-source\ 91}#
#{var\ 1128}#
#{source\ 1126}#)))))
(#{build-conditional\ 94}#
(lambda (#{source\ 1130}#
#{test-exp\ 1131}#
#{then-exp\ 1132}#
#{else-exp\ 1133}#)
(let ((#{atom-key\ 1134}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1134}# (quote (c)))
((@ (language tree-il) make-conditional)
#{source\ 1130}#
#{test-exp\ 1131}#
#{then-exp\ 1132}#
#{else-exp\ 1133}#)
(#{decorate-source\ 91}#
(if (equal? #{else-exp\ 1133}# (quote (if #f #f)))
(list 'if
#{test-exp\ 1131}#
#{then-exp\ 1132}#)
(list 'if
#{test-exp\ 1131}#
#{then-exp\ 1132}#
#{else-exp\ 1133}#))
#{source\ 1130}#)))))
(#{build-application\ 93}#
(lambda (#{source\ 1135}#
#{fun-exp\ 1136}#
#{arg-exps\ 1137}#)
(let ((#{atom-key\ 1138}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1138}# (quote (c)))
((@ (language tree-il) make-application)
#{source\ 1135}#
#{fun-exp\ 1136}#
#{arg-exps\ 1137}#)
(#{decorate-source\ 91}#
(cons #{fun-exp\ 1136}# #{arg-exps\ 1137}#)
#{source\ 1135}#)))))
(#{build-void\ 92}#
(lambda (#{source\ 1139}#)
(let ((#{atom-key\ 1140}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1140}# (quote (c)))
((@ (language tree-il) make-void)
#{source\ 1139}#)
(#{decorate-source\ 91}#
'(if #f #f)
#{source\ 1139}#)))))
(#{decorate-source\ 91}#
(lambda (#{e\ 1141}# #{s\ 1142}#)
(begin
(if (if (pair? #{e\ 1141}#) #{s\ 1142}# #f)
(set-source-properties! #{e\ 1141}# #{s\ 1142}#))
#{e\ 1141}#)))
(#{get-global-definition-hook\ 90}#
(lambda (#{symbol\ 1143}# #{module\ 1144}#)
(begin
(if (if (not #{module\ 1144}#) (current-module) #f)
(warn "module system is booted, we should have a module"
#{symbol\ 1143}#))
(let ((#{v\ 1145}#
(module-variable
(if #{module\ 1144}#
(resolve-module (cdr #{module\ 1144}#))
(current-module))
#{symbol\ 1143}#)))
(if #{v\ 1145}#
(if (variable-bound? #{v\ 1145}#)
(let ((#{val\ 1146}# (variable-ref #{v\ 1145}#)))
(if (macro? #{val\ 1146}#)
(if (syncase-macro-type #{val\ 1146}#)
(cons (syncase-macro-type #{val\ 1146}#)
(syncase-macro-binding #{val\ 1146}#))
#f)
#f))
#f)
#f)))))
(#{put-global-definition-hook\ 89}#
(lambda (#{symbol\ 1147}# #{type\ 1148}# #{val\ 1149}#)
(let ((#{existing\ 1150}#
(let ((#{v\ 1151}#
(module-variable
(current-module)
#{symbol\ 1147}#)))
(if #{v\ 1151}#
(if (variable-bound? #{v\ 1151}#)
(let ((#{val\ 1152}# (variable-ref #{v\ 1151}#)))
(if (macro? #{val\ 1152}#)
(if (not (syncase-macro-type #{val\ 1152}#))
#{val\ 1152}#
#f)
#f))
#f)
#f))))
(module-define!
(current-module)
#{symbol\ 1147}#
(if #{existing\ 1150}#
(make-extended-syncase-macro
#{existing\ 1150}#
#{type\ 1148}#
#{val\ 1149}#)
(make-syncase-macro #{type\ 1148}# #{val\ 1149}#))))))
(#{local-eval-hook\ 88}#
(lambda (#{x\ 1153}# #{mod\ 1154}#)
(primitive-eval
(list #{noexpand\ 81}#
(let ((#{atom-key\ 1155}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1155}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
#{x\ 1153}#)
#{x\ 1153}#))))))
(#{top-level-eval-hook\ 87}#
(lambda (#{x\ 1156}# #{mod\ 1157}#)
(primitive-eval
(list #{noexpand\ 81}#
(let ((#{atom-key\ 1158}# (fluid-ref #{*mode*\ 82}#)))
(if (memv #{atom-key\ 1158}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
#{x\ 1156}#)
#{x\ 1156}#))))))
(#{fx<\ 86}# <)
(#{fx=\ 85}# =)
(#{fx-\ 84}# -)
(#{fx+\ 83}# +)
(#{*mode*\ 82}# (make-fluid))
(#{noexpand\ 81}# "noexpand"))
(begin
(#{global-extend\ 126}#
'local-syntax
'letrec-syntax
#t)
(#{global-extend\ 126}#
'local-syntax
'let-syntax
#f)
(#{global-extend\ 126}#
'core
'fluid-let-syntax
(lambda (#{e\ 1159}#
#{r\ 1160}#
#{w\ 1161}#
#{s\ 1162}#
#{mod\ 1163}#)
((lambda (#{tmp\ 1164}#)
((lambda (#{tmp\ 1165}#)
(if (if #{tmp\ 1165}#
(apply (lambda (#{_\ 1166}#
#{var\ 1167}#
#{val\ 1168}#
#{e1\ 1169}#
#{e2\ 1170}#)
(#{valid-bound-ids?\ 153}# #{var\ 1167}#))
#{tmp\ 1165}#)
#f)
(apply (lambda (#{_\ 1172}#
#{var\ 1173}#
#{val\ 1174}#
#{e1\ 1175}#
#{e2\ 1176}#)
(let ((#{names\ 1177}#
(map (lambda (#{x\ 1178}#)
(#{id-var-name\ 150}#
#{x\ 1178}#
#{w\ 1161}#))
#{var\ 1173}#)))
(begin
(for-each
(lambda (#{id\ 1180}# #{n\ 1181}#)
(let ((#{atom-key\ 1182}#
(#{binding-type\ 120}#
(#{lookup\ 125}#
#{n\ 1181}#
#{r\ 1160}#
#{mod\ 1163}#))))
(if (memv #{atom-key\ 1182}#
'(displaced-lexical))
(syntax-violation
'fluid-let-syntax
"identifier out of context"
#{e\ 1159}#
(#{source-wrap\ 157}#
#{id\ 1180}#
#{w\ 1161}#
#{s\ 1162}#
#{mod\ 1163}#)))))
#{var\ 1173}#
#{names\ 1177}#)
(#{chi-body\ 168}#
(cons #{e1\ 1175}# #{e2\ 1176}#)
(#{source-wrap\ 157}#
#{e\ 1159}#
#{w\ 1161}#
#{s\ 1162}#
#{mod\ 1163}#)
(#{extend-env\ 122}#
#{names\ 1177}#
(let ((#{trans-r\ 1185}#
(#{macros-only-env\ 124}#
#{r\ 1160}#)))
(map (lambda (#{x\ 1186}#)
(cons 'macro
(#{eval-local-transformer\ 170}#
(#{chi\ 164}#
#{x\ 1186}#
#{trans-r\ 1185}#
#{w\ 1161}#
#{mod\ 1163}#)
#{mod\ 1163}#)))
#{val\ 1174}#))
#{r\ 1160}#)
#{w\ 1161}#
#{mod\ 1163}#))))
#{tmp\ 1165}#)
((lambda (#{_\ 1188}#)
(syntax-violation
'fluid-let-syntax
"bad syntax"
(#{source-wrap\ 157}#
#{e\ 1159}#
#{w\ 1161}#
#{s\ 1162}#
#{mod\ 1163}#)))
#{tmp\ 1164}#)))
($sc-dispatch
#{tmp\ 1164}#
'(any #(each (any any)) any . each-any))))
#{e\ 1159}#)))
(#{global-extend\ 126}#
'core
'quote
(lambda (#{e\ 1189}#
#{r\ 1190}#
#{w\ 1191}#
#{s\ 1192}#
#{mod\ 1193}#)
((lambda (#{tmp\ 1194}#)
((lambda (#{tmp\ 1195}#)
(if #{tmp\ 1195}#
(apply (lambda (#{_\ 1196}# #{e\ 1197}#)
(#{build-data\ 106}#
#{s\ 1192}#
(#{strip\ 177}# #{e\ 1197}# #{w\ 1191}#)))
#{tmp\ 1195}#)
((lambda (#{_\ 1198}#)
(syntax-violation
'quote
"bad syntax"
(#{source-wrap\ 157}#
#{e\ 1189}#
#{w\ 1191}#
#{s\ 1192}#
#{mod\ 1193}#)))
#{tmp\ 1194}#)))
($sc-dispatch #{tmp\ 1194}# (quote (any any)))))
#{e\ 1189}#)))
(#{global-extend\ 126}#
'core
'syntax
(letrec ((#{regen\ 1206}#
(lambda (#{x\ 1207}#)
(let ((#{atom-key\ 1208}# (car #{x\ 1207}#)))
(if (memv #{atom-key\ 1208}# (quote (ref)))
(#{build-lexical-reference\ 95}#
'value
#f
(cadr #{x\ 1207}#)
(cadr #{x\ 1207}#))
(if (memv #{atom-key\ 1208}# (quote (primitive)))
(#{build-primref\ 105}# #f (cadr #{x\ 1207}#))
(if (memv #{atom-key\ 1208}# (quote (quote)))
(#{build-data\ 106}# #f (cadr #{x\ 1207}#))
(if (memv #{atom-key\ 1208}# (quote (lambda)))
(if (list? (cadr #{x\ 1207}#))
(#{build-simple-lambda\ 102}#
#f
(cadr #{x\ 1207}#)
#f
(cadr #{x\ 1207}#)
#f
(#{regen\ 1206}# (caddr #{x\ 1207}#)))
(error "how did we get here" #{x\ 1207}#))
(#{build-application\ 93}#
#f
(#{build-primref\ 105}# #f (car #{x\ 1207}#))
(map #{regen\ 1206}#
(cdr #{x\ 1207}#))))))))))
(#{gen-vector\ 1205}#
(lambda (#{x\ 1209}#)
(if (eq? (car #{x\ 1209}#) (quote list))
(cons (quote vector) (cdr #{x\ 1209}#))
(if (eq? (car #{x\ 1209}#) (quote quote))
(list 'quote
(list->vector (cadr #{x\ 1209}#)))
(list (quote list->vector) #{x\ 1209}#)))))
(#{gen-append\ 1204}#
(lambda (#{x\ 1210}# #{y\ 1211}#)
(if (equal? #{y\ 1211}# (quote (quote ())))
#{x\ 1210}#
(list (quote append) #{x\ 1210}# #{y\ 1211}#))))
(#{gen-cons\ 1203}#
(lambda (#{x\ 1212}# #{y\ 1213}#)
(let ((#{atom-key\ 1214}# (car #{y\ 1213}#)))
(if (memv #{atom-key\ 1214}# (quote (quote)))
(if (eq? (car #{x\ 1212}#) (quote quote))
(list 'quote
(cons (cadr #{x\ 1212}#) (cadr #{y\ 1213}#)))
(if (eq? (cadr #{y\ 1213}#) (quote ()))
(list (quote list) #{x\ 1212}#)
(list (quote cons) #{x\ 1212}# #{y\ 1213}#)))
(if (memv #{atom-key\ 1214}# (quote (list)))
(cons 'list
(cons #{x\ 1212}# (cdr #{y\ 1213}#)))
(list (quote cons) #{x\ 1212}# #{y\ 1213}#))))))
(#{gen-map\ 1202}#
(lambda (#{e\ 1215}# #{map-env\ 1216}#)
(let ((#{formals\ 1217}# (map cdr #{map-env\ 1216}#))
(#{actuals\ 1218}#
(map (lambda (#{x\ 1219}#)
(list (quote ref) (car #{x\ 1219}#)))
#{map-env\ 1216}#)))
(if (eq? (car #{e\ 1215}#) (quote ref))
(car #{actuals\ 1218}#)
(if (and-map
(lambda (#{x\ 1220}#)
(if (eq? (car #{x\ 1220}#) (quote ref))
(memq (cadr #{x\ 1220}#) #{formals\ 1217}#)
#f))
(cdr #{e\ 1215}#))
(cons 'map
(cons (list 'primitive
(car #{e\ 1215}#))
(map (let ((#{r\ 1221}#
(map cons
#{formals\ 1217}#
#{actuals\ 1218}#)))
(lambda (#{x\ 1222}#)
(cdr (assq (cadr #{x\ 1222}#)
#{r\ 1221}#))))
(cdr #{e\ 1215}#))))
(cons 'map
(cons (list 'lambda
#{formals\ 1217}#
#{e\ 1215}#)
#{actuals\ 1218}#)))))))
(#{gen-mappend\ 1201}#
(lambda (#{e\ 1223}# #{map-env\ 1224}#)
(list 'apply
'(primitive append)
(#{gen-map\ 1202}# #{e\ 1223}# #{map-env\ 1224}#))))
(#{gen-ref\ 1200}#
(lambda (#{src\ 1225}#
#{var\ 1226}#
#{level\ 1227}#
#{maps\ 1228}#)
(if (#{fx=\ 85}# #{level\ 1227}# 0)
(values #{var\ 1226}# #{maps\ 1228}#)
(if (null? #{maps\ 1228}#)
(syntax-violation
'syntax
"missing ellipsis"
#{src\ 1225}#)
(call-with-values
(lambda ()
(#{gen-ref\ 1200}#
#{src\ 1225}#
#{var\ 1226}#
(#{fx-\ 84}# #{level\ 1227}# 1)
(cdr #{maps\ 1228}#)))
(lambda (#{outer-var\ 1229}# #{outer-maps\ 1230}#)
(let ((#{b\ 1231}#
(assq #{outer-var\ 1229}#
(car #{maps\ 1228}#))))
(if #{b\ 1231}#
(values (cdr #{b\ 1231}#) #{maps\ 1228}#)
(let ((#{inner-var\ 1232}#
(#{gen-var\ 178}# (quote tmp))))
(values
#{inner-var\ 1232}#
(cons (cons (cons #{outer-var\ 1229}#
#{inner-var\ 1232}#)
(car #{maps\ 1228}#))
#{outer-maps\ 1230}#)))))))))))
(#{gen-syntax\ 1199}#
(lambda (#{src\ 1233}#
#{e\ 1234}#
#{r\ 1235}#
#{maps\ 1236}#
#{ellipsis?\ 1237}#
#{mod\ 1238}#)
(if (#{id?\ 128}# #{e\ 1234}#)
(let ((#{label\ 1239}#
(#{id-var-name\ 150}#
#{e\ 1234}#
'(()))))
(let ((#{b\ 1240}#
(#{lookup\ 125}#
#{label\ 1239}#
#{r\ 1235}#
#{mod\ 1238}#)))
(if (eq? (#{binding-type\ 120}# #{b\ 1240}#)
'syntax)
(call-with-values
(lambda ()
(let ((#{var.lev\ 1241}#
(#{binding-value\ 121}# #{b\ 1240}#)))
(#{gen-ref\ 1200}#
#{src\ 1233}#
(car #{var.lev\ 1241}#)
(cdr #{var.lev\ 1241}#)
#{maps\ 1236}#)))
(lambda (#{var\ 1242}# #{maps\ 1243}#)
(values
(list (quote ref) #{var\ 1242}#)
#{maps\ 1243}#)))
(if (#{ellipsis?\ 1237}# #{e\ 1234}#)
(syntax-violation
'syntax
"misplaced ellipsis"
#{src\ 1233}#)
(values
(list (quote quote) #{e\ 1234}#)
#{maps\ 1236}#)))))
((lambda (#{tmp\ 1244}#)
((lambda (#{tmp\ 1245}#)
(if (if #{tmp\ 1245}#
(apply (lambda (#{dots\ 1246}# #{e\ 1247}#)
(#{ellipsis?\ 1237}#
#{dots\ 1246}#))
#{tmp\ 1245}#)
#f)
(apply (lambda (#{dots\ 1248}# #{e\ 1249}#)
(#{gen-syntax\ 1199}#
#{src\ 1233}#
#{e\ 1249}#
#{r\ 1235}#
#{maps\ 1236}#
(lambda (#{x\ 1250}#) #f)
#{mod\ 1238}#))
#{tmp\ 1245}#)
((lambda (#{tmp\ 1251}#)
(if (if #{tmp\ 1251}#
(apply (lambda (#{x\ 1252}#
#{dots\ 1253}#
#{y\ 1254}#)
(#{ellipsis?\ 1237}#
#{dots\ 1253}#))
#{tmp\ 1251}#)
#f)
(apply (lambda (#{x\ 1255}#
#{dots\ 1256}#
#{y\ 1257}#)
(letrec ((#{f\ 1258}#
(lambda (#{y\ 1259}#
#{k\ 1260}#)
((lambda (#{tmp\ 1264}#)
((lambda (#{tmp\ 1265}#)
(if (if #{tmp\ 1265}#
(apply (lambda (#{dots\ 1266}#
#{y\ 1267}#)
(#{ellipsis?\ 1237}#
#{dots\ 1266}#))
#{tmp\ 1265}#)
#f)
(apply (lambda (#{dots\ 1268}#
#{y\ 1269}#)
(#{f\ 1258}#
#{y\ 1269}#
(lambda (#{maps\ 1270}#)
(call-with-values
(lambda ()
(#{k\ 1260}#
(cons '()
#{maps\ 1270}#)))
(lambda (#{x\ 1271}#
#{maps\ 1272}#)
(if (null? (car #{maps\ 1272}#))
(syntax-violation
'syntax
"extra ellipsis"
#{src\ 1233}#)
(values
(#{gen-mappend\ 1201}#
#{x\ 1271}#
(car #{maps\ 1272}#))
(cdr #{maps\ 1272}#))))))))
#{tmp\ 1265}#)
((lambda (#{_\ 1273}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 1199}#
#{src\ 1233}#
#{y\ 1259}#
#{r\ 1235}#
#{maps\ 1236}#
#{ellipsis?\ 1237}#
#{mod\ 1238}#))
(lambda (#{y\ 1274}#
#{maps\ 1275}#)
(call-with-values
(lambda ()
(#{k\ 1260}#
#{maps\ 1275}#))
(lambda (#{x\ 1276}#
#{maps\ 1277}#)
(values
(#{gen-append\ 1204}#
#{x\ 1276}#
#{y\ 1274}#)
#{maps\ 1277}#))))))
#{tmp\ 1264}#)))
($sc-dispatch
#{tmp\ 1264}#
'(any . any))))
#{y\ 1259}#))))
(#{f\ 1258}#
#{y\ 1257}#
(lambda (#{maps\ 1261}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 1199}#
#{src\ 1233}#
#{x\ 1255}#
#{r\ 1235}#
(cons '()
#{maps\ 1261}#)
#{ellipsis?\ 1237}#
#{mod\ 1238}#))
(lambda (#{x\ 1262}#
#{maps\ 1263}#)
(if (null? (car #{maps\ 1263}#))
(syntax-violation
'syntax
"extra ellipsis"
#{src\ 1233}#)
(values
(#{gen-map\ 1202}#
#{x\ 1262}#
(car #{maps\ 1263}#))
(cdr #{maps\ 1263}#)))))))))
#{tmp\ 1251}#)
((lambda (#{tmp\ 1278}#)
(if #{tmp\ 1278}#
(apply (lambda (#{x\ 1279}#
#{y\ 1280}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 1199}#
#{src\ 1233}#
#{x\ 1279}#
#{r\ 1235}#
#{maps\ 1236}#
#{ellipsis?\ 1237}#
#{mod\ 1238}#))
(lambda (#{x\ 1281}#
#{maps\ 1282}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 1199}#
#{src\ 1233}#
#{y\ 1280}#
#{r\ 1235}#
#{maps\ 1282}#
#{ellipsis?\ 1237}#
#{mod\ 1238}#))
(lambda (#{y\ 1283}#
#{maps\ 1284}#)
(values
(#{gen-cons\ 1203}#
#{x\ 1281}#
#{y\ 1283}#)
#{maps\ 1284}#))))))
#{tmp\ 1278}#)
((lambda (#{tmp\ 1285}#)
(if #{tmp\ 1285}#
(apply (lambda (#{e1\ 1286}#
#{e2\ 1287}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 1199}#
#{src\ 1233}#
(cons #{e1\ 1286}#
#{e2\ 1287}#)
#{r\ 1235}#
#{maps\ 1236}#
#{ellipsis?\ 1237}#
#{mod\ 1238}#))
(lambda (#{e\ 1289}#
#{maps\ 1290}#)
(values
(#{gen-vector\ 1205}#
#{e\ 1289}#)
#{maps\ 1290}#))))
#{tmp\ 1285}#)
((lambda (#{_\ 1291}#)
(values
(list 'quote
#{e\ 1234}#)
#{maps\ 1236}#))
#{tmp\ 1244}#)))
($sc-dispatch
#{tmp\ 1244}#
'#(vector (any . each-any))))))
($sc-dispatch
#{tmp\ 1244}#
'(any . any)))))
($sc-dispatch
#{tmp\ 1244}#
'(any any . any)))))
($sc-dispatch #{tmp\ 1244}# (quote (any any)))))
#{e\ 1234}#)))))
(lambda (#{e\ 1292}#
#{r\ 1293}#
#{w\ 1294}#
#{s\ 1295}#
#{mod\ 1296}#)
(let ((#{e\ 1297}#
(#{source-wrap\ 157}#
#{e\ 1292}#
#{w\ 1294}#
#{s\ 1295}#
#{mod\ 1296}#)))
((lambda (#{tmp\ 1298}#)
((lambda (#{tmp\ 1299}#)
(if #{tmp\ 1299}#
(apply (lambda (#{_\ 1300}# #{x\ 1301}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 1199}#
#{e\ 1297}#
#{x\ 1301}#
#{r\ 1293}#
'()
#{ellipsis?\ 172}#
#{mod\ 1296}#))
(lambda (#{e\ 1302}# #{maps\ 1303}#)
(#{regen\ 1206}# #{e\ 1302}#))))
#{tmp\ 1299}#)
((lambda (#{_\ 1304}#)
(syntax-violation
'syntax
"bad `syntax' form"
#{e\ 1297}#))
#{tmp\ 1298}#)))
($sc-dispatch #{tmp\ 1298}# (quote (any any)))))
#{e\ 1297}#)))))
(#{global-extend\ 126}#
'core
'lambda
(lambda (#{e\ 1305}#
#{r\ 1306}#
#{w\ 1307}#
#{s\ 1308}#
#{mod\ 1309}#)
((lambda (#{tmp\ 1310}#)
((lambda (#{tmp\ 1311}#)
(if (if #{tmp\ 1311}#
(apply (lambda (#{_\ 1312}#
#{args\ 1313}#
#{docstring\ 1314}#
#{e1\ 1315}#
#{e2\ 1316}#)
(string? (syntax->datum #{docstring\ 1314}#)))
#{tmp\ 1311}#)
#f)
(apply (lambda (#{_\ 1317}#
#{args\ 1318}#
#{docstring\ 1319}#
#{e1\ 1320}#
#{e2\ 1321}#)
(call-with-values
(lambda ()
(#{lambda-formals\ 173}# #{args\ 1318}#))
(lambda (#{req\ 1322}#
#{opt\ 1323}#
#{rest\ 1324}#
#{kw\ 1325}#)
(#{chi-simple-lambda\ 174}#
#{e\ 1305}#
#{r\ 1306}#
#{w\ 1307}#
#{s\ 1308}#
#{mod\ 1309}#
#{req\ 1322}#
#{rest\ 1324}#
(syntax->datum #{docstring\ 1319}#)
(cons #{e1\ 1320}# #{e2\ 1321}#)))))
#{tmp\ 1311}#)
((lambda (#{tmp\ 1327}#)
(if #{tmp\ 1327}#
(apply (lambda (#{_\ 1328}#
#{args\ 1329}#
#{e1\ 1330}#
#{e2\ 1331}#)
(call-with-values
(lambda ()
(#{lambda-formals\ 173}# #{args\ 1329}#))
(lambda (#{req\ 1332}#
#{opt\ 1333}#
#{rest\ 1334}#
#{kw\ 1335}#)
(#{chi-simple-lambda\ 174}#
#{e\ 1305}#
#{r\ 1306}#
#{w\ 1307}#
#{s\ 1308}#
#{mod\ 1309}#
#{req\ 1332}#
#{rest\ 1334}#
#f
(cons #{e1\ 1330}# #{e2\ 1331}#)))))
#{tmp\ 1327}#)
((lambda (#{_\ 1337}#)
(syntax-violation
'lambda
"bad lambda"
#{e\ 1305}#))
#{tmp\ 1310}#)))
($sc-dispatch
#{tmp\ 1310}#
'(any any any . each-any)))))
($sc-dispatch
#{tmp\ 1310}#
'(any any any any . each-any))))
#{e\ 1305}#)))
(#{global-extend\ 126}#
'core
'lambda*
(lambda (#{e\ 1338}#
#{r\ 1339}#
#{w\ 1340}#
#{s\ 1341}#
#{mod\ 1342}#)
((lambda (#{tmp\ 1343}#)
((lambda (#{tmp\ 1344}#)
(if #{tmp\ 1344}#
(apply (lambda (#{_\ 1345}#
#{args\ 1346}#
#{e1\ 1347}#
#{e2\ 1348}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 176}#
#{e\ 1338}#
#{r\ 1339}#
#{w\ 1340}#
#{s\ 1341}#
#{mod\ 1342}#
#{lambda*-formals\ 175}#
(list (cons #{args\ 1346}#
(cons #{e1\ 1347}#
#{e2\ 1348}#)))))
(lambda (#{docstring\ 1350}# #{lcase\ 1351}#)
(#{build-case-lambda\ 103}#
#{s\ 1341}#
#{docstring\ 1350}#
#{lcase\ 1351}#))))
#{tmp\ 1344}#)
((lambda (#{_\ 1352}#)
(syntax-violation
'lambda
"bad lambda*"
#{e\ 1338}#))
#{tmp\ 1343}#)))
($sc-dispatch
#{tmp\ 1343}#
'(any any any . each-any))))
#{e\ 1338}#)))
(#{global-extend\ 126}#
'core
'case-lambda
(lambda (#{e\ 1353}#
#{r\ 1354}#
#{w\ 1355}#
#{s\ 1356}#
#{mod\ 1357}#)
((lambda (#{tmp\ 1358}#)
((lambda (#{tmp\ 1359}#)
(if #{tmp\ 1359}#
(apply (lambda (#{_\ 1360}#
#{args\ 1361}#
#{e1\ 1362}#
#{e2\ 1363}#
#{args*\ 1364}#
#{e1*\ 1365}#
#{e2*\ 1366}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 176}#
#{e\ 1353}#
#{r\ 1354}#
#{w\ 1355}#
#{s\ 1356}#
#{mod\ 1357}#
#{lambda-formals\ 173}#
(cons (cons #{args\ 1361}#
(cons #{e1\ 1362}# #{e2\ 1363}#))
(map (lambda (#{tmp\ 1370}#
#{tmp\ 1369}#
#{tmp\ 1368}#)
(cons #{tmp\ 1368}#
(cons #{tmp\ 1369}#
#{tmp\ 1370}#)))
#{e2*\ 1366}#
#{e1*\ 1365}#
#{args*\ 1364}#))))
(lambda (#{docstring\ 1372}# #{lcase\ 1373}#)
(#{build-case-lambda\ 103}#
#{s\ 1356}#
#{docstring\ 1372}#
#{lcase\ 1373}#))))
#{tmp\ 1359}#)
((lambda (#{_\ 1374}#)
(syntax-violation
'case-lambda
"bad case-lambda"
#{e\ 1353}#))
#{tmp\ 1358}#)))
($sc-dispatch
#{tmp\ 1358}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
#{e\ 1353}#)))
(#{global-extend\ 126}#
'core
'case-lambda*
(lambda (#{e\ 1375}#
#{r\ 1376}#
#{w\ 1377}#
#{s\ 1378}#
#{mod\ 1379}#)
((lambda (#{tmp\ 1380}#)
((lambda (#{tmp\ 1381}#)
(if #{tmp\ 1381}#
(apply (lambda (#{_\ 1382}#
#{args\ 1383}#
#{e1\ 1384}#
#{e2\ 1385}#
#{args*\ 1386}#
#{e1*\ 1387}#
#{e2*\ 1388}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 176}#
#{e\ 1375}#
#{r\ 1376}#
#{w\ 1377}#
#{s\ 1378}#
#{mod\ 1379}#
#{lambda*-formals\ 175}#
(cons (cons #{args\ 1383}#
(cons #{e1\ 1384}# #{e2\ 1385}#))
(map (lambda (#{tmp\ 1392}#
#{tmp\ 1391}#
#{tmp\ 1390}#)
(cons #{tmp\ 1390}#
(cons #{tmp\ 1391}#
#{tmp\ 1392}#)))
#{e2*\ 1388}#
#{e1*\ 1387}#
#{args*\ 1386}#))))
(lambda (#{docstring\ 1394}# #{lcase\ 1395}#)
(#{build-case-lambda\ 103}#
#{s\ 1378}#
#{docstring\ 1394}#
#{lcase\ 1395}#))))
#{tmp\ 1381}#)
((lambda (#{_\ 1396}#)
(syntax-violation
'case-lambda
"bad case-lambda*"
#{e\ 1375}#))
#{tmp\ 1380}#)))
($sc-dispatch
#{tmp\ 1380}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
#{e\ 1375}#)))
(#{global-extend\ 126}#
'core
'let
(letrec ((#{chi-let\ 1397}#
(lambda (#{e\ 1398}#
#{r\ 1399}#
#{w\ 1400}#
#{s\ 1401}#
#{mod\ 1402}#
#{constructor\ 1403}#
#{ids\ 1404}#
#{vals\ 1405}#
#{exps\ 1406}#)
(if (not (#{valid-bound-ids?\ 153}# #{ids\ 1404}#))
(syntax-violation
'let
"duplicate bound variable"
#{e\ 1398}#)
(let ((#{labels\ 1407}#
(#{gen-labels\ 134}# #{ids\ 1404}#))
(#{new-vars\ 1408}#
(map #{gen-var\ 178}# #{ids\ 1404}#)))
(let ((#{nw\ 1409}#
(#{make-binding-wrap\ 145}#
#{ids\ 1404}#
#{labels\ 1407}#
#{w\ 1400}#))
(#{nr\ 1410}#
(#{extend-var-env\ 123}#
#{labels\ 1407}#
#{new-vars\ 1408}#
#{r\ 1399}#)))
(#{constructor\ 1403}#
#{s\ 1401}#
(map syntax->datum #{ids\ 1404}#)
#{new-vars\ 1408}#
(map (lambda (#{x\ 1411}#)
(#{chi\ 164}#
#{x\ 1411}#
#{r\ 1399}#
#{w\ 1400}#
#{mod\ 1402}#))
#{vals\ 1405}#)
(#{chi-body\ 168}#
#{exps\ 1406}#
(#{source-wrap\ 157}#
#{e\ 1398}#
#{nw\ 1409}#
#{s\ 1401}#
#{mod\ 1402}#)
#{nr\ 1410}#
#{nw\ 1409}#
#{mod\ 1402}#))))))))
(lambda (#{e\ 1412}#
#{r\ 1413}#
#{w\ 1414}#
#{s\ 1415}#
#{mod\ 1416}#)
((lambda (#{tmp\ 1417}#)
((lambda (#{tmp\ 1418}#)
(if (if #{tmp\ 1418}#
(apply (lambda (#{_\ 1419}#
#{id\ 1420}#
#{val\ 1421}#
#{e1\ 1422}#
#{e2\ 1423}#)
(and-map #{id?\ 128}# #{id\ 1420}#))
#{tmp\ 1418}#)
#f)
(apply (lambda (#{_\ 1425}#
#{id\ 1426}#
#{val\ 1427}#
#{e1\ 1428}#
#{e2\ 1429}#)
(#{chi-let\ 1397}#
#{e\ 1412}#
#{r\ 1413}#
#{w\ 1414}#
#{s\ 1415}#
#{mod\ 1416}#
#{build-let\ 108}#
#{id\ 1426}#
#{val\ 1427}#
(cons #{e1\ 1428}# #{e2\ 1429}#)))
#{tmp\ 1418}#)
((lambda (#{tmp\ 1433}#)
(if (if #{tmp\ 1433}#
(apply (lambda (#{_\ 1434}#
#{f\ 1435}#
#{id\ 1436}#
#{val\ 1437}#
#{e1\ 1438}#
#{e2\ 1439}#)
(if (#{id?\ 128}# #{f\ 1435}#)
(and-map #{id?\ 128}# #{id\ 1436}#)
#f))
#{tmp\ 1433}#)
#f)
(apply (lambda (#{_\ 1441}#
#{f\ 1442}#
#{id\ 1443}#
#{val\ 1444}#
#{e1\ 1445}#
#{e2\ 1446}#)
(#{chi-let\ 1397}#
#{e\ 1412}#
#{r\ 1413}#
#{w\ 1414}#
#{s\ 1415}#
#{mod\ 1416}#
#{build-named-let\ 109}#
(cons #{f\ 1442}# #{id\ 1443}#)
#{val\ 1444}#
(cons #{e1\ 1445}# #{e2\ 1446}#)))
#{tmp\ 1433}#)
((lambda (#{_\ 1450}#)
(syntax-violation
'let
"bad let"
(#{source-wrap\ 157}#
#{e\ 1412}#
#{w\ 1414}#
#{s\ 1415}#
#{mod\ 1416}#)))
#{tmp\ 1417}#)))
($sc-dispatch
#{tmp\ 1417}#
'(any any #(each (any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 1417}#
'(any #(each (any any)) any . each-any))))
#{e\ 1412}#))))
(#{global-extend\ 126}#
'core
'letrec
(lambda (#{e\ 1451}#
#{r\ 1452}#
#{w\ 1453}#
#{s\ 1454}#
#{mod\ 1455}#)
((lambda (#{tmp\ 1456}#)
((lambda (#{tmp\ 1457}#)
(if (if #{tmp\ 1457}#
(apply (lambda (#{_\ 1458}#
#{id\ 1459}#
#{val\ 1460}#
#{e1\ 1461}#
#{e2\ 1462}#)
(and-map #{id?\ 128}# #{id\ 1459}#))
#{tmp\ 1457}#)
#f)
(apply (lambda (#{_\ 1464}#
#{id\ 1465}#
#{val\ 1466}#
#{e1\ 1467}#
#{e2\ 1468}#)
(let ((#{ids\ 1469}# #{id\ 1465}#))
(if (not (#{valid-bound-ids?\ 153}#
#{ids\ 1469}#))
(syntax-violation
'letrec
"duplicate bound variable"
#{e\ 1451}#)
(let ((#{labels\ 1471}#
(#{gen-labels\ 134}# #{ids\ 1469}#))
(#{new-vars\ 1472}#
(map #{gen-var\ 178}# #{ids\ 1469}#)))
(let ((#{w\ 1473}#
(#{make-binding-wrap\ 145}#
#{ids\ 1469}#
#{labels\ 1471}#
#{w\ 1453}#))
(#{r\ 1474}#
(#{extend-var-env\ 123}#
#{labels\ 1471}#
#{new-vars\ 1472}#
#{r\ 1452}#)))
(#{build-letrec\ 110}#
#{s\ 1454}#
(map syntax->datum #{ids\ 1469}#)
#{new-vars\ 1472}#
(map (lambda (#{x\ 1475}#)
(#{chi\ 164}#
#{x\ 1475}#
#{r\ 1474}#
#{w\ 1473}#
#{mod\ 1455}#))
#{val\ 1466}#)
(#{chi-body\ 168}#
(cons #{e1\ 1467}# #{e2\ 1468}#)
(#{source-wrap\ 157}#
#{e\ 1451}#
#{w\ 1473}#
#{s\ 1454}#
#{mod\ 1455}#)
#{r\ 1474}#
#{w\ 1473}#
#{mod\ 1455}#)))))))
#{tmp\ 1457}#)
((lambda (#{_\ 1478}#)
(syntax-violation
'letrec
"bad letrec"
(#{source-wrap\ 157}#
#{e\ 1451}#
#{w\ 1453}#
#{s\ 1454}#
#{mod\ 1455}#)))
#{tmp\ 1456}#)))
($sc-dispatch
#{tmp\ 1456}#
'(any #(each (any any)) any . each-any))))
#{e\ 1451}#)))
(#{global-extend\ 126}#
'core
'set!
(lambda (#{e\ 1479}#
#{r\ 1480}#
#{w\ 1481}#
#{s\ 1482}#
#{mod\ 1483}#)
((lambda (#{tmp\ 1484}#)
((lambda (#{tmp\ 1485}#)
(if (if #{tmp\ 1485}#
(apply (lambda (#{_\ 1486}# #{id\ 1487}# #{val\ 1488}#)
(#{id?\ 128}# #{id\ 1487}#))
#{tmp\ 1485}#)
#f)
(apply (lambda (#{_\ 1489}# #{id\ 1490}# #{val\ 1491}#)
(let ((#{val\ 1492}#
(#{chi\ 164}#
#{val\ 1491}#
#{r\ 1480}#
#{w\ 1481}#
#{mod\ 1483}#))
(#{n\ 1493}#
(#{id-var-name\ 150}#
#{id\ 1490}#
#{w\ 1481}#)))
(let ((#{b\ 1494}#
(#{lookup\ 125}#
#{n\ 1493}#
#{r\ 1480}#
#{mod\ 1483}#)))
(let ((#{atom-key\ 1495}#
(#{binding-type\ 120}# #{b\ 1494}#)))
(if (memv #{atom-key\ 1495}#
'(lexical))
(#{build-lexical-assignment\ 96}#
#{s\ 1482}#
(syntax->datum #{id\ 1490}#)
(#{binding-value\ 121}# #{b\ 1494}#)
#{val\ 1492}#)
(if (memv #{atom-key\ 1495}#
'(global))
(#{build-global-assignment\ 99}#
#{s\ 1482}#
#{n\ 1493}#
#{val\ 1492}#
#{mod\ 1483}#)
(if (memv #{atom-key\ 1495}#
'(displaced-lexical))
(syntax-violation
'set!
"identifier out of context"
(#{wrap\ 156}#
#{id\ 1490}#
#{w\ 1481}#
#{mod\ 1483}#))
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 157}#
#{e\ 1479}#
#{w\ 1481}#
#{s\ 1482}#
#{mod\ 1483}#)))))))))
#{tmp\ 1485}#)
((lambda (#{tmp\ 1496}#)
(if #{tmp\ 1496}#
(apply (lambda (#{_\ 1497}#
#{head\ 1498}#
#{tail\ 1499}#
#{val\ 1500}#)
(call-with-values
(lambda ()
(#{syntax-type\ 162}#
#{head\ 1498}#
#{r\ 1480}#
'(())
#f
#f
#{mod\ 1483}#
#t))
(lambda (#{type\ 1501}#
#{value\ 1502}#
#{ee\ 1503}#
#{ww\ 1504}#
#{ss\ 1505}#
#{modmod\ 1506}#)
(if (memv #{type\ 1501}#
'(module-ref))
(let ((#{val\ 1507}#
(#{chi\ 164}#
#{val\ 1500}#
#{r\ 1480}#
#{w\ 1481}#
#{mod\ 1483}#)))
(call-with-values
(lambda ()
(#{value\ 1502}#
(cons #{head\ 1498}#
#{tail\ 1499}#)))
(lambda (#{id\ 1509}# #{mod\ 1510}#)
(#{build-global-assignment\ 99}#
#{s\ 1482}#
#{id\ 1509}#
#{val\ 1507}#
#{mod\ 1510}#))))
(#{build-application\ 93}#
#{s\ 1482}#
(#{chi\ 164}#
(list '#(syntax-object
setter
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(type
value
ee
ww
ss
modmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
#(_ head tail val)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(e r w s mod)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{head\ 1498}#)
#{r\ 1480}#
#{w\ 1481}#
#{mod\ 1483}#)
(map (lambda (#{e\ 1511}#)
(#{chi\ 164}#
#{e\ 1511}#
#{r\ 1480}#
#{w\ 1481}#
#{mod\ 1483}#))
(append
#{tail\ 1499}#
(list #{val\ 1500}#))))))))
#{tmp\ 1496}#)
((lambda (#{_\ 1513}#)
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 157}#
#{e\ 1479}#
#{w\ 1481}#
#{s\ 1482}#
#{mod\ 1483}#)))
#{tmp\ 1484}#)))
($sc-dispatch
#{tmp\ 1484}#
'(any (any . each-any) any)))))
($sc-dispatch
#{tmp\ 1484}#
'(any any any))))
#{e\ 1479}#)))
(#{global-extend\ 126}#
'module-ref
'@
(lambda (#{e\ 1514}#)
((lambda (#{tmp\ 1515}#)
((lambda (#{tmp\ 1516}#)
(if (if #{tmp\ 1516}#
(apply (lambda (#{_\ 1517}# #{mod\ 1518}# #{id\ 1519}#)
(if (and-map #{id?\ 128}# #{mod\ 1518}#)
(#{id?\ 128}# #{id\ 1519}#)
#f))
#{tmp\ 1516}#)
#f)
(apply (lambda (#{_\ 1521}# #{mod\ 1522}# #{id\ 1523}#)
(values
(syntax->datum #{id\ 1523}#)
(syntax->datum
(cons '#(syntax-object
public
((top)
#(ribcage
#(_ mod id)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage #(e) #((top)) #("i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{mod\ 1522}#))))
#{tmp\ 1516}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1515}#)))
($sc-dispatch
#{tmp\ 1515}#
'(any each-any any))))
#{e\ 1514}#)))
(#{global-extend\ 126}#
'module-ref
'@@
(lambda (#{e\ 1525}#)
((lambda (#{tmp\ 1526}#)
((lambda (#{tmp\ 1527}#)
(if (if #{tmp\ 1527}#
(apply (lambda (#{_\ 1528}# #{mod\ 1529}# #{id\ 1530}#)
(if (and-map #{id?\ 128}# #{mod\ 1529}#)
(#{id?\ 128}# #{id\ 1530}#)
#f))
#{tmp\ 1527}#)
#f)
(apply (lambda (#{_\ 1532}# #{mod\ 1533}# #{id\ 1534}#)
(values
(syntax->datum #{id\ 1534}#)
(syntax->datum
(cons '#(syntax-object
private
((top)
#(ribcage
#(_ mod id)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage #(e) #((top)) #("i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{mod\ 1533}#))))
#{tmp\ 1527}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1526}#)))
($sc-dispatch
#{tmp\ 1526}#
'(any each-any any))))
#{e\ 1525}#)))
(#{global-extend\ 126}#
'core
'if
(lambda (#{e\ 1536}#
#{r\ 1537}#
#{w\ 1538}#
#{s\ 1539}#
#{mod\ 1540}#)
((lambda (#{tmp\ 1541}#)
((lambda (#{tmp\ 1542}#)
(if #{tmp\ 1542}#
(apply (lambda (#{_\ 1543}# #{test\ 1544}# #{then\ 1545}#)
(#{build-conditional\ 94}#
#{s\ 1539}#
(#{chi\ 164}#
#{test\ 1544}#
#{r\ 1537}#
#{w\ 1538}#
#{mod\ 1540}#)
(#{chi\ 164}#
#{then\ 1545}#
#{r\ 1537}#
#{w\ 1538}#
#{mod\ 1540}#)
(#{build-void\ 92}# #f)))
#{tmp\ 1542}#)
((lambda (#{tmp\ 1546}#)
(if #{tmp\ 1546}#
(apply (lambda (#{_\ 1547}#
#{test\ 1548}#
#{then\ 1549}#
#{else\ 1550}#)
(#{build-conditional\ 94}#
#{s\ 1539}#
(#{chi\ 164}#
#{test\ 1548}#
#{r\ 1537}#
#{w\ 1538}#
#{mod\ 1540}#)
(#{chi\ 164}#
#{then\ 1549}#
#{r\ 1537}#
#{w\ 1538}#
#{mod\ 1540}#)
(#{chi\ 164}#
#{else\ 1550}#
#{r\ 1537}#
#{w\ 1538}#
#{mod\ 1540}#)))
#{tmp\ 1546}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1541}#)))
($sc-dispatch
#{tmp\ 1541}#
'(any any any any)))))
($sc-dispatch
#{tmp\ 1541}#
'(any any any))))
#{e\ 1536}#)))
(#{global-extend\ 126}#
'begin
'begin
'())
(#{global-extend\ 126}#
'define
'define
'())
(#{global-extend\ 126}#
'define-syntax
'define-syntax
'())
(#{global-extend\ 126}#
'eval-when
'eval-when
'())
(#{global-extend\ 126}#
'core
'syntax-case
(letrec ((#{gen-syntax-case\ 1554}#
(lambda (#{x\ 1555}#
#{keys\ 1556}#
#{clauses\ 1557}#
#{r\ 1558}#
#{mod\ 1559}#)
(if (null? #{clauses\ 1557}#)
(#{build-application\ 93}#
#f
(#{build-primref\ 105}#
#f
'syntax-violation)
(list (#{build-data\ 106}# #f #f)
(#{build-data\ 106}#
#f
"source expression failed to match any pattern")
#{x\ 1555}#))
((lambda (#{tmp\ 1560}#)
((lambda (#{tmp\ 1561}#)
(if #{tmp\ 1561}#
(apply (lambda (#{pat\ 1562}# #{exp\ 1563}#)
(if (if (#{id?\ 128}# #{pat\ 1562}#)
(and-map
(lambda (#{x\ 1564}#)
(not (#{free-id=?\ 151}#
#{pat\ 1562}#
#{x\ 1564}#)))
(cons '#(syntax-object
...
((top)
#(ribcage
#(pat exp)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x
keys
clauses
r
mod)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
(gen-syntax-case
gen-clause
build-dispatch-call
convert-pattern)
((top)
(top)
(top)
(top))
("i" "i" "i" "i"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
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
lookup
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-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
maybe-name-value!
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-conditional
build-application
build-void
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
*mode*
noexpand)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
(define-structure
and-map*)
((top) (top))
("i" "i")))
(hygiene guile))
#{keys\ 1556}#))
#f)
(let ((#{labels\ 1565}#
(list (#{gen-label\ 133}#)))
(#{var\ 1566}#
(#{gen-var\ 178}#
#{pat\ 1562}#)))
(#{build-application\ 93}#
#f
(#{build-simple-lambda\ 102}#
#f
(list (syntax->datum
#{pat\ 1562}#))
#f
(list #{var\ 1566}#)
#f
(#{chi\ 164}#
#{exp\ 1563}#
(#{extend-env\ 122}#
#{labels\ 1565}#
(list (cons 'syntax
(cons #{var\ 1566}#
0)))
#{r\ 1558}#)
(#{make-binding-wrap\ 145}#
(list #{pat\ 1562}#)
#{labels\ 1565}#
'(()))
#{mod\ 1559}#))
(list #{x\ 1555}#)))
(#{gen-clause\ 1553}#
#{x\ 1555}#
#{keys\ 1556}#
(cdr #{clauses\ 1557}#)
#{r\ 1558}#
#{pat\ 1562}#
#t
#{exp\ 1563}#
#{mod\ 1559}#)))
#{tmp\ 1561}#)
((lambda (#{tmp\ 1567}#)
(if #{tmp\ 1567}#
(apply (lambda (#{pat\ 1568}#
#{fender\ 1569}#
#{exp\ 1570}#)
(#{gen-clause\ 1553}#
#{x\ 1555}#
#{keys\ 1556}#
(cdr #{clauses\ 1557}#)
#{r\ 1558}#
#{pat\ 1568}#
#{fender\ 1569}#
#{exp\ 1570}#
#{mod\ 1559}#))
#{tmp\ 1567}#)
((lambda (#{_\ 1571}#)
(syntax-violation
'syntax-case
"invalid clause"
(car #{clauses\ 1557}#)))
#{tmp\ 1560}#)))
($sc-dispatch
#{tmp\ 1560}#
'(any any any)))))
($sc-dispatch #{tmp\ 1560}# (quote (any any)))))
(car #{clauses\ 1557}#)))))
(#{gen-clause\ 1553}#
(lambda (#{x\ 1572}#
#{keys\ 1573}#
#{clauses\ 1574}#
#{r\ 1575}#
#{pat\ 1576}#
#{fender\ 1577}#
#{exp\ 1578}#
#{mod\ 1579}#)
(call-with-values
(lambda ()
(#{convert-pattern\ 1551}#
#{pat\ 1576}#
#{keys\ 1573}#))
(lambda (#{p\ 1580}# #{pvars\ 1581}#)
(if (not (#{distinct-bound-ids?\ 154}#
(map car #{pvars\ 1581}#)))
(syntax-violation
'syntax-case
"duplicate pattern variable"
#{pat\ 1576}#)
(if (not (and-map
(lambda (#{x\ 1582}#)
(not (#{ellipsis?\ 172}#
(car #{x\ 1582}#))))
#{pvars\ 1581}#))
(syntax-violation
'syntax-case
"misplaced ellipsis"
#{pat\ 1576}#)
(let ((#{y\ 1583}#
(#{gen-var\ 178}# (quote tmp))))
(#{build-application\ 93}#
#f
(#{build-simple-lambda\ 102}#
#f
(list (quote tmp))
#f
(list #{y\ 1583}#)
#f
(let ((#{y\ 1584}#
(#{build-lexical-reference\ 95}#
'value
#f
'tmp
#{y\ 1583}#)))
(#{build-conditional\ 94}#
#f
((lambda (#{tmp\ 1585}#)
((lambda (#{tmp\ 1586}#)
(if #{tmp\ 1586}#
(apply (lambda () #{y\ 1584}#)
#{tmp\ 1586}#)
((lambda (#{_\ 1587}#)
(#{build-conditional\ 94}#
#f
#{y\ 1584}#
(#{build-dispatch-call\ 1552}#
#{pvars\ 1581}#
#{fender\ 1577}#
#{y\ 1584}#
#{r\ 1575}#
#{mod\ 1579}#)
(#{build-data\ 106}#
#f
#f)))
#{tmp\ 1585}#)))
($sc-dispatch
#{tmp\ 1585}#
'#(atom #t))))
#{fender\ 1577}#)
(#{build-dispatch-call\ 1552}#
#{pvars\ 1581}#
#{exp\ 1578}#
#{y\ 1584}#
#{r\ 1575}#
#{mod\ 1579}#)
(#{gen-syntax-case\ 1554}#
#{x\ 1572}#
#{keys\ 1573}#
#{clauses\ 1574}#
#{r\ 1575}#
#{mod\ 1579}#))))
(list (if (eq? #{p\ 1580}# (quote any))
(#{build-application\ 93}#
#f
(#{build-primref\ 105}#
#f
'list)
(list #{x\ 1572}#))
(#{build-application\ 93}#
#f
(#{build-primref\ 105}#
#f
'$sc-dispatch)
(list #{x\ 1572}#
(#{build-data\ 106}#
#f
#{p\ 1580}#)))))))))))))
(#{build-dispatch-call\ 1552}#
(lambda (#{pvars\ 1588}#
#{exp\ 1589}#
#{y\ 1590}#
#{r\ 1591}#
#{mod\ 1592}#)
(let ((#{ids\ 1593}# (map car #{pvars\ 1588}#))
(#{levels\ 1594}# (map cdr #{pvars\ 1588}#)))
(let ((#{labels\ 1595}#
(#{gen-labels\ 134}# #{ids\ 1593}#))
(#{new-vars\ 1596}#
(map #{gen-var\ 178}# #{ids\ 1593}#)))
(#{build-application\ 93}#
#f
(#{build-primref\ 105}# #f (quote apply))
(list (#{build-simple-lambda\ 102}#
#f
(map syntax->datum #{ids\ 1593}#)
#f
#{new-vars\ 1596}#
#f
(#{chi\ 164}#
#{exp\ 1589}#
(#{extend-env\ 122}#
#{labels\ 1595}#
(map (lambda (#{var\ 1597}#
#{level\ 1598}#)
(cons 'syntax
(cons #{var\ 1597}#
#{level\ 1598}#)))
#{new-vars\ 1596}#
(map cdr #{pvars\ 1588}#))
#{r\ 1591}#)
(#{make-binding-wrap\ 145}#
#{ids\ 1593}#
#{labels\ 1595}#
'(()))
#{mod\ 1592}#))
#{y\ 1590}#))))))
(#{convert-pattern\ 1551}#
(lambda (#{pattern\ 1599}# #{keys\ 1600}#)
(letrec ((#{cvt\ 1602}#
(lambda (#{p\ 1603}# #{n\ 1604}# #{ids\ 1605}#)
(if (#{id?\ 128}# #{p\ 1603}#)
(if (#{bound-id-member?\ 155}#
#{p\ 1603}#
#{keys\ 1600}#)
(values
(vector (quote free-id) #{p\ 1603}#)
#{ids\ 1605}#)
(values
'any
(cons (cons #{p\ 1603}# #{n\ 1604}#)
#{ids\ 1605}#)))
((lambda (#{tmp\ 1606}#)
((lambda (#{tmp\ 1607}#)
(if (if #{tmp\ 1607}#
(apply (lambda (#{x\ 1608}#
#{dots\ 1609}#)
(#{ellipsis?\ 172}#
#{dots\ 1609}#))
#{tmp\ 1607}#)
#f)
(apply (lambda (#{x\ 1610}#
#{dots\ 1611}#)
(call-with-values
(lambda ()
(#{cvt\ 1602}#
#{x\ 1610}#
(#{fx+\ 83}#
#{n\ 1604}#
1)
#{ids\ 1605}#))
(lambda (#{p\ 1612}#
#{ids\ 1613}#)
(values
(if (eq? #{p\ 1612}#
'any)
'each-any
(vector
'each
#{p\ 1612}#))
#{ids\ 1613}#))))
#{tmp\ 1607}#)
((lambda (#{tmp\ 1614}#)
(if (if #{tmp\ 1614}#
(apply (lambda (#{x\ 1615}#
#{dots\ 1616}#
#{ys\ 1617}#)
(#{ellipsis?\ 172}#
#{dots\ 1616}#))
#{tmp\ 1614}#)
#f)
(apply (lambda (#{x\ 1618}#
#{dots\ 1619}#
#{ys\ 1620}#)
(call-with-values
(lambda ()
(#{cvt*\ 1601}#
#{ys\ 1620}#
#{n\ 1604}#
#{ids\ 1605}#))
(lambda (#{ys\ 1622}#
#{ids\ 1623}#)
(call-with-values
(lambda ()
(#{cvt\ 1602}#
#{x\ 1618}#
(+ #{n\ 1604}#
1)
#{ids\ 1623}#))
(lambda (#{x\ 1624}#
#{ids\ 1625}#)
(values
(list->vector
(cons 'each+
(cons #{x\ 1624}#
(cons (reverse
#{ys\ 1622}#)
'(())))))
#{ids\ 1625}#))))))
#{tmp\ 1614}#)
((lambda (#{tmp\ 1626}#)
(if #{tmp\ 1626}#
(apply (lambda (#{x\ 1627}#
#{y\ 1628}#)
(call-with-values
(lambda ()
(#{cvt\ 1602}#
#{y\ 1628}#
#{n\ 1604}#
#{ids\ 1605}#))
(lambda (#{y\ 1629}#
#{ids\ 1630}#)
(call-with-values
(lambda ()
(#{cvt\ 1602}#
#{x\ 1627}#
#{n\ 1604}#
#{ids\ 1630}#))
(lambda (#{x\ 1631}#
#{ids\ 1632}#)
(values
(cons #{x\ 1631}#
#{y\ 1629}#)
#{ids\ 1632}#))))))
#{tmp\ 1626}#)
((lambda (#{tmp\ 1633}#)
(if #{tmp\ 1633}#
(apply (lambda ()
(values
'()
#{ids\ 1605}#))
#{tmp\ 1633}#)
((lambda (#{tmp\ 1634}#)
(if #{tmp\ 1634}#
(apply (lambda (#{x\ 1635}#)
(call-with-values
(lambda ()
(#{cvt\ 1602}#
#{x\ 1635}#
#{n\ 1604}#
#{ids\ 1605}#))
(lambda (#{p\ 1637}#
#{ids\ 1638}#)
(values
(vector
'vector
#{p\ 1637}#)
#{ids\ 1638}#))))
#{tmp\ 1634}#)
((lambda (#{x\ 1639}#)
(values
(vector
'atom
(#{strip\ 177}#
#{p\ 1603}#
'(())))
#{ids\ 1605}#))
#{tmp\ 1606}#)))
($sc-dispatch
#{tmp\ 1606}#
'#(vector
each-any)))))
($sc-dispatch
#{tmp\ 1606}#
'()))))
($sc-dispatch
#{tmp\ 1606}#
'(any . any)))))
($sc-dispatch
#{tmp\ 1606}#
'(any any . each-any)))))
($sc-dispatch
#{tmp\ 1606}#
'(any any))))
#{p\ 1603}#))))
(#{cvt*\ 1601}#
(lambda (#{p*\ 1640}#
#{n\ 1641}#
#{ids\ 1642}#)
(if (null? #{p*\ 1640}#)
(values (quote ()) #{ids\ 1642}#)
(call-with-values
(lambda ()
(#{cvt*\ 1601}#
(cdr #{p*\ 1640}#)
#{n\ 1641}#
#{ids\ 1642}#))
(lambda (#{y\ 1643}# #{ids\ 1644}#)
(call-with-values
(lambda ()
(#{cvt\ 1602}#
(car #{p*\ 1640}#)
#{n\ 1641}#
#{ids\ 1644}#))
(lambda (#{x\ 1645}# #{ids\ 1646}#)
(values
(cons #{x\ 1645}# #{y\ 1643}#)
#{ids\ 1646}#)))))))))
(#{cvt\ 1602}# #{pattern\ 1599}# 0 (quote ()))))))
(lambda (#{e\ 1647}#
#{r\ 1648}#
#{w\ 1649}#
#{s\ 1650}#
#{mod\ 1651}#)
(let ((#{e\ 1652}#
(#{source-wrap\ 157}#
#{e\ 1647}#
#{w\ 1649}#
#{s\ 1650}#
#{mod\ 1651}#)))
((lambda (#{tmp\ 1653}#)
((lambda (#{tmp\ 1654}#)
(if #{tmp\ 1654}#
(apply (lambda (#{_\ 1655}#
#{val\ 1656}#
#{key\ 1657}#
#{m\ 1658}#)
(if (and-map
(lambda (#{x\ 1659}#)
(if (#{id?\ 128}# #{x\ 1659}#)
(not (#{ellipsis?\ 172}# #{x\ 1659}#))
#f))
#{key\ 1657}#)
(let ((#{x\ 1661}#
(#{gen-var\ 178}# (quote tmp))))
(#{build-application\ 93}#
#{s\ 1650}#
(#{build-simple-lambda\ 102}#
#f
(list (quote tmp))
#f
(list #{x\ 1661}#)
#f
(#{gen-syntax-case\ 1554}#
(#{build-lexical-reference\ 95}#
'value
#f
'tmp
#{x\ 1661}#)
#{key\ 1657}#
#{m\ 1658}#
#{r\ 1648}#
#{mod\ 1651}#))
(list (#{chi\ 164}#
#{val\ 1656}#
#{r\ 1648}#
'(())
#{mod\ 1651}#))))
(syntax-violation
'syntax-case
"invalid literals list"
#{e\ 1652}#)))
#{tmp\ 1654}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1653}#)))
($sc-dispatch
#{tmp\ 1653}#
'(any any each-any . each-any))))
#{e\ 1652}#)))))
(set! sc-expand
(lambda (#{x\ 1664}# . #{rest\ 1665}#)
(if (if (pair? #{x\ 1664}#)
(equal? (car #{x\ 1664}#) #{noexpand\ 81}#)
#f)
(cadr #{x\ 1664}#)
(let ((#{m\ 1666}#
(if (null? #{rest\ 1665}#)
'e
(car #{rest\ 1665}#)))
(#{esew\ 1667}#
(if (let ((#{t\ 1668}# (null? #{rest\ 1665}#)))
(if #{t\ 1668}#
#{t\ 1668}#
(null? (cdr #{rest\ 1665}#))))
'(eval)
(cadr #{rest\ 1665}#))))
(with-fluid*
#{*mode*\ 82}#
#{m\ 1666}#
(lambda ()
(#{chi-top\ 163}#
#{x\ 1664}#
'()
'((top))
#{m\ 1666}#
#{esew\ 1667}#
(cons 'hygiene
(module-name (current-module))))))))))
(set! identifier?
(lambda (#{x\ 1669}#)
(#{nonsymbol-id?\ 127}# #{x\ 1669}#)))
(set! datum->syntax
(lambda (#{id\ 1670}# #{datum\ 1671}#)
(#{make-syntax-object\ 111}#
#{datum\ 1671}#
(#{syntax-object-wrap\ 114}# #{id\ 1670}#)
#f)))
(set! syntax->datum
(lambda (#{x\ 1672}#)
(#{strip\ 177}# #{x\ 1672}# (quote (())))))
(set! generate-temporaries
(lambda (#{ls\ 1673}#)
(begin
(let ((#{x\ 1674}# #{ls\ 1673}#))
(if (not (list? #{x\ 1674}#))
(syntax-violation
'generate-temporaries
"invalid argument"
#{x\ 1674}#)))
(map (lambda (#{x\ 1675}#)
(#{wrap\ 156}# (gensym) (quote ((top))) #f))
#{ls\ 1673}#))))
(set! free-identifier=?
(lambda (#{x\ 1676}# #{y\ 1677}#)
(begin
(let ((#{x\ 1678}# #{x\ 1676}#))
(if (not (#{nonsymbol-id?\ 127}# #{x\ 1678}#))
(syntax-violation
'free-identifier=?
"invalid argument"
#{x\ 1678}#)))
(let ((#{x\ 1679}# #{y\ 1677}#))
(if (not (#{nonsymbol-id?\ 127}# #{x\ 1679}#))
(syntax-violation
'free-identifier=?
"invalid argument"
#{x\ 1679}#)))
(#{free-id=?\ 151}# #{x\ 1676}# #{y\ 1677}#))))
(set! bound-identifier=?
(lambda (#{x\ 1680}# #{y\ 1681}#)
(begin
(let ((#{x\ 1682}# #{x\ 1680}#))
(if (not (#{nonsymbol-id?\ 127}# #{x\ 1682}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
#{x\ 1682}#)))
(let ((#{x\ 1683}# #{y\ 1681}#))
(if (not (#{nonsymbol-id?\ 127}# #{x\ 1683}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
#{x\ 1683}#)))
(#{bound-id=?\ 152}# #{x\ 1680}# #{y\ 1681}#))))
(set! syntax-violation
(lambda (#{who\ 1684}#
#{message\ 1685}#
#{form\ 1686}#
.
#{subform\ 1687}#)
(begin
(let ((#{x\ 1688}# #{who\ 1684}#))
(if (not ((lambda (#{x\ 1689}#)
(let ((#{t\ 1690}# (not #{x\ 1689}#)))
(if #{t\ 1690}#
#{t\ 1690}#
(let ((#{t\ 1691}# (string? #{x\ 1689}#)))
(if #{t\ 1691}#
#{t\ 1691}#
(symbol? #{x\ 1689}#))))))
#{x\ 1688}#))
(syntax-violation
'syntax-violation
"invalid argument"
#{x\ 1688}#)))
(let ((#{x\ 1692}# #{message\ 1685}#))
(if (not (string? #{x\ 1692}#))
(syntax-violation
'syntax-violation
"invalid argument"
#{x\ 1692}#)))
(scm-error
'syntax-error
'sc-expand
(string-append
(if #{who\ 1684}# "~a: " "")
"~a "
(if (null? #{subform\ 1687}#)
"in ~a"
"in subform `~s' of `~s'"))
(let ((#{tail\ 1693}#
(cons #{message\ 1685}#
(map (lambda (#{x\ 1694}#)
(#{strip\ 177}# #{x\ 1694}# (quote (()))))
(append
#{subform\ 1687}#
(list #{form\ 1686}#))))))
(if #{who\ 1684}#
(cons #{who\ 1684}# #{tail\ 1693}#)
#{tail\ 1693}#))
#f))))
(letrec ((#{match\ 1701}#
(lambda (#{e\ 1702}#
#{p\ 1703}#
#{w\ 1704}#
#{r\ 1705}#
#{mod\ 1706}#)
(if (not #{r\ 1705}#)
#f
(if (eq? #{p\ 1703}# (quote any))
(cons (#{wrap\ 156}#
#{e\ 1702}#
#{w\ 1704}#
#{mod\ 1706}#)
#{r\ 1705}#)
(if (#{syntax-object?\ 112}# #{e\ 1702}#)
(#{match*\ 1700}#
(#{syntax-object-expression\ 113}# #{e\ 1702}#)
#{p\ 1703}#
(#{join-wraps\ 147}#
#{w\ 1704}#
(#{syntax-object-wrap\ 114}# #{e\ 1702}#))
#{r\ 1705}#
(#{syntax-object-module\ 115}# #{e\ 1702}#))
(#{match*\ 1700}#
#{e\ 1702}#
#{p\ 1703}#
#{w\ 1704}#
#{r\ 1705}#
#{mod\ 1706}#))))))
(#{match*\ 1700}#
(lambda (#{e\ 1707}#
#{p\ 1708}#
#{w\ 1709}#
#{r\ 1710}#
#{mod\ 1711}#)
(if (null? #{p\ 1708}#)
(if (null? #{e\ 1707}#) #{r\ 1710}# #f)
(if (pair? #{p\ 1708}#)
(if (pair? #{e\ 1707}#)
(#{match\ 1701}#
(car #{e\ 1707}#)
(car #{p\ 1708}#)
#{w\ 1709}#
(#{match\ 1701}#
(cdr #{e\ 1707}#)
(cdr #{p\ 1708}#)
#{w\ 1709}#
#{r\ 1710}#
#{mod\ 1711}#)
#{mod\ 1711}#)
#f)
(if (eq? #{p\ 1708}# (quote each-any))
(let ((#{l\ 1712}#
(#{match-each-any\ 1697}#
#{e\ 1707}#
#{w\ 1709}#
#{mod\ 1711}#)))
(if #{l\ 1712}#
(cons #{l\ 1712}# #{r\ 1710}#)
#f))
(let ((#{atom-key\ 1713}# (vector-ref #{p\ 1708}# 0)))
(if (memv #{atom-key\ 1713}# (quote (each)))
(if (null? #{e\ 1707}#)
(#{match-empty\ 1698}#
(vector-ref #{p\ 1708}# 1)
#{r\ 1710}#)
(let ((#{l\ 1714}#
(#{match-each\ 1695}#
#{e\ 1707}#
(vector-ref #{p\ 1708}# 1)
#{w\ 1709}#
#{mod\ 1711}#)))
(if #{l\ 1714}#
(letrec ((#{collect\ 1715}#
(lambda (#{l\ 1716}#)
(if (null? (car #{l\ 1716}#))
#{r\ 1710}#
(cons (map car #{l\ 1716}#)
(#{collect\ 1715}#
(map cdr
#{l\ 1716}#)))))))
(#{collect\ 1715}# #{l\ 1714}#))
#f)))
(if (memv #{atom-key\ 1713}# (quote (each+)))
(call-with-values
(lambda ()
(#{match-each+\ 1696}#
#{e\ 1707}#
(vector-ref #{p\ 1708}# 1)
(vector-ref #{p\ 1708}# 2)
(vector-ref #{p\ 1708}# 3)
#{w\ 1709}#
#{r\ 1710}#
#{mod\ 1711}#))
(lambda (#{xr*\ 1717}#
#{y-pat\ 1718}#
#{r\ 1719}#)
(if #{r\ 1719}#
(if (null? #{y-pat\ 1718}#)
(if (null? #{xr*\ 1717}#)
(#{match-empty\ 1698}#
(vector-ref #{p\ 1708}# 1)
#{r\ 1719}#)
(#{combine\ 1699}#
#{xr*\ 1717}#
#{r\ 1719}#))
#f)
#f)))
(if (memv #{atom-key\ 1713}# (quote (free-id)))
(if (#{id?\ 128}# #{e\ 1707}#)
(if (#{free-id=?\ 151}#
(#{wrap\ 156}#
#{e\ 1707}#
#{w\ 1709}#
#{mod\ 1711}#)
(vector-ref #{p\ 1708}# 1))
#{r\ 1710}#
#f)
#f)
(if (memv #{atom-key\ 1713}# (quote (atom)))
(if (equal?
(vector-ref #{p\ 1708}# 1)
(#{strip\ 177}#
#{e\ 1707}#
#{w\ 1709}#))
#{r\ 1710}#
#f)
(if (memv #{atom-key\ 1713}#
'(vector))
(if (vector? #{e\ 1707}#)
(#{match\ 1701}#
(vector->list #{e\ 1707}#)
(vector-ref #{p\ 1708}# 1)
#{w\ 1709}#
#{r\ 1710}#
#{mod\ 1711}#)
#f))))))))))))
(#{combine\ 1699}#
(lambda (#{r*\ 1720}# #{r\ 1721}#)
(if (null? (car #{r*\ 1720}#))
#{r\ 1721}#
(cons (map car #{r*\ 1720}#)
(#{combine\ 1699}#
(map cdr #{r*\ 1720}#)
#{r\ 1721}#)))))
(#{match-empty\ 1698}#
(lambda (#{p\ 1722}# #{r\ 1723}#)
(if (null? #{p\ 1722}#)
#{r\ 1723}#
(if (eq? #{p\ 1722}# (quote any))
(cons (quote ()) #{r\ 1723}#)
(if (pair? #{p\ 1722}#)
(#{match-empty\ 1698}#
(car #{p\ 1722}#)
(#{match-empty\ 1698}#
(cdr #{p\ 1722}#)
#{r\ 1723}#))
(if (eq? #{p\ 1722}# (quote each-any))
(cons (quote ()) #{r\ 1723}#)
(let ((#{atom-key\ 1724}#
(vector-ref #{p\ 1722}# 0)))
(if (memv #{atom-key\ 1724}# (quote (each)))
(#{match-empty\ 1698}#
(vector-ref #{p\ 1722}# 1)
#{r\ 1723}#)
(if (memv #{atom-key\ 1724}# (quote (each+)))
(#{match-empty\ 1698}#
(vector-ref #{p\ 1722}# 1)
(#{match-empty\ 1698}#
(reverse (vector-ref #{p\ 1722}# 2))
(#{match-empty\ 1698}#
(vector-ref #{p\ 1722}# 3)
#{r\ 1723}#)))
(if (memv #{atom-key\ 1724}#
'(free-id atom))
#{r\ 1723}#
(if (memv #{atom-key\ 1724}#
'(vector))
(#{match-empty\ 1698}#
(vector-ref #{p\ 1722}# 1)
#{r\ 1723}#))))))))))))
(#{match-each-any\ 1697}#
(lambda (#{e\ 1725}# #{w\ 1726}# #{mod\ 1727}#)
(if (pair? #{e\ 1725}#)
(let ((#{l\ 1728}#
(#{match-each-any\ 1697}#
(cdr #{e\ 1725}#)
#{w\ 1726}#
#{mod\ 1727}#)))
(if #{l\ 1728}#
(cons (#{wrap\ 156}#
(car #{e\ 1725}#)
#{w\ 1726}#
#{mod\ 1727}#)
#{l\ 1728}#)
#f))
(if (null? #{e\ 1725}#)
'()
(if (#{syntax-object?\ 112}# #{e\ 1725}#)
(#{match-each-any\ 1697}#
(#{syntax-object-expression\ 113}# #{e\ 1725}#)
(#{join-wraps\ 147}#
#{w\ 1726}#
(#{syntax-object-wrap\ 114}# #{e\ 1725}#))
#{mod\ 1727}#)
#f)))))
(#{match-each+\ 1696}#
(lambda (#{e\ 1729}#
#{x-pat\ 1730}#
#{y-pat\ 1731}#
#{z-pat\ 1732}#
#{w\ 1733}#
#{r\ 1734}#
#{mod\ 1735}#)
(letrec ((#{f\ 1736}#
(lambda (#{e\ 1737}# #{w\ 1738}#)
(if (pair? #{e\ 1737}#)
(call-with-values
(lambda ()
(#{f\ 1736}#
(cdr #{e\ 1737}#)
#{w\ 1738}#))
(lambda (#{xr*\ 1739}#
#{y-pat\ 1740}#
#{r\ 1741}#)
(if #{r\ 1741}#
(if (null? #{y-pat\ 1740}#)
(let ((#{xr\ 1742}#
(#{match\ 1701}#
(car #{e\ 1737}#)
#{x-pat\ 1730}#
#{w\ 1738}#
'()
#{mod\ 1735}#)))
(if #{xr\ 1742}#
(values
(cons #{xr\ 1742}#
#{xr*\ 1739}#)
#{y-pat\ 1740}#
#{r\ 1741}#)
(values #f #f #f)))
(values
'()
(cdr #{y-pat\ 1740}#)
(#{match\ 1701}#
(car #{e\ 1737}#)
(car #{y-pat\ 1740}#)
#{w\ 1738}#
#{r\ 1741}#
#{mod\ 1735}#)))
(values #f #f #f))))
(if (#{syntax-object?\ 112}# #{e\ 1737}#)
(#{f\ 1736}#
(#{syntax-object-expression\ 113}#
#{e\ 1737}#)
(#{join-wraps\ 147}#
#{w\ 1738}#
#{e\ 1737}#))
(values
'()
#{y-pat\ 1731}#
(#{match\ 1701}#
#{e\ 1737}#
#{z-pat\ 1732}#
#{w\ 1738}#
#{r\ 1734}#
#{mod\ 1735}#)))))))
(#{f\ 1736}# #{e\ 1729}# #{w\ 1733}#))))
(#{match-each\ 1695}#
(lambda (#{e\ 1743}#
#{p\ 1744}#
#{w\ 1745}#
#{mod\ 1746}#)
(if (pair? #{e\ 1743}#)
(let ((#{first\ 1747}#
(#{match\ 1701}#
(car #{e\ 1743}#)
#{p\ 1744}#
#{w\ 1745}#
'()
#{mod\ 1746}#)))
(if #{first\ 1747}#
(let ((#{rest\ 1748}#
(#{match-each\ 1695}#
(cdr #{e\ 1743}#)
#{p\ 1744}#
#{w\ 1745}#
#{mod\ 1746}#)))
(if #{rest\ 1748}#
(cons #{first\ 1747}# #{rest\ 1748}#)
#f))
#f))
(if (null? #{e\ 1743}#)
'()
(if (#{syntax-object?\ 112}# #{e\ 1743}#)
(#{match-each\ 1695}#
(#{syntax-object-expression\ 113}# #{e\ 1743}#)
#{p\ 1744}#
(#{join-wraps\ 147}#
#{w\ 1745}#
(#{syntax-object-wrap\ 114}# #{e\ 1743}#))
(#{syntax-object-module\ 115}# #{e\ 1743}#))
#f))))))
(set! $sc-dispatch
(lambda (#{e\ 1749}# #{p\ 1750}#)
(if (eq? #{p\ 1750}# (quote any))
(list #{e\ 1749}#)
(if (#{syntax-object?\ 112}# #{e\ 1749}#)
(#{match*\ 1700}#
(#{syntax-object-expression\ 113}# #{e\ 1749}#)
#{p\ 1750}#
(#{syntax-object-wrap\ 114}# #{e\ 1749}#)
'()
(#{syntax-object-module\ 115}# #{e\ 1749}#))
(#{match*\ 1700}#
#{e\ 1749}#
#{p\ 1750}#
'(())
'()
#f)))))))))
(define with-syntax
(make-syncase-macro
'macro
(cons (lambda (#{x\ 1751}#)
((lambda (#{tmp\ 1752}#)
((lambda (#{tmp\ 1753}#)
(if #{tmp\ 1753}#
(apply (lambda (#{_\ 1754}# #{e1\ 1755}# #{e2\ 1756}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(_ e1 e2)
#((top) (top) (top))
#("i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(cons #{e1\ 1755}# #{e2\ 1756}#)))
#{tmp\ 1753}#)
((lambda (#{tmp\ 1758}#)
(if #{tmp\ 1758}#
(apply (lambda (#{_\ 1759}#
#{out\ 1760}#
#{in\ 1761}#
#{e1\ 1762}#
#{e2\ 1763}#)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ out in e1 e2)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
#{in\ 1761}#
'()
(list #{out\ 1760}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(_ out in e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons #{e1\ 1762}#
#{e2\ 1763}#)))))
#{tmp\ 1758}#)
((lambda (#{tmp\ 1765}#)
(if #{tmp\ 1765}#
(apply (lambda (#{_\ 1766}#
#{out\ 1767}#
#{in\ 1768}#
#{e1\ 1769}#
#{e2\ 1770}#)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ out in e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons '#(syntax-object
list
((top)
#(ribcage
#(_ out in e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{in\ 1768}#)
'()
(list #{out\ 1767}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(_
out
in
e1
e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons #{e1\ 1769}#
#{e2\ 1770}#)))))
#{tmp\ 1765}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1752}#)))
($sc-dispatch
#{tmp\ 1752}#
'(any #(each (any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 1752}#
'(any ((any any)) any . each-any)))))
($sc-dispatch
#{tmp\ 1752}#
'(any () any . each-any))))
#{x\ 1751}#))
(module-name (current-module)))))
(define syntax-rules
(make-syncase-macro
'macro
(cons (lambda (#{x\ 1774}#)
((lambda (#{tmp\ 1775}#)
((lambda (#{tmp\ 1776}#)
(if #{tmp\ 1776}#
(apply (lambda (#{_\ 1777}#
#{k\ 1778}#
#{keyword\ 1779}#
#{pattern\ 1780}#
#{template\ 1781}#)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile)))
(cons '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(cons '#(syntax-object
x
((top)
#(ribcage
#(_
k
keyword
pattern
template)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons #{k\ 1778}#
(map (lambda (#{tmp\ 1784}#
#{tmp\ 1783}#)
(list (cons '#(syntax-object
dummy
((top)
#(ribcage
#(_
k
keyword
pattern
template)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{tmp\ 1783}#)
(list '#(syntax-object
syntax
((top)
#(ribcage
#(_
k
keyword
pattern
template)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{tmp\ 1784}#)))
#{template\ 1781}#
#{pattern\ 1780}#))))))
#{tmp\ 1776}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1775}#)))
($sc-dispatch
#{tmp\ 1775}#
'(any each-any . #(each ((any . any) any))))))
#{x\ 1774}#))
(module-name (current-module)))))
(define let*
(make-extended-syncase-macro
(module-ref (current-module) (quote let*))
'macro
(cons (lambda (#{x\ 1785}#)
((lambda (#{tmp\ 1786}#)
((lambda (#{tmp\ 1787}#)
(if (if #{tmp\ 1787}#
(apply (lambda (#{let*\ 1788}#
#{x\ 1789}#
#{v\ 1790}#
#{e1\ 1791}#
#{e2\ 1792}#)
(and-map identifier? #{x\ 1789}#))
#{tmp\ 1787}#)
#f)
(apply (lambda (#{let*\ 1794}#
#{x\ 1795}#
#{v\ 1796}#
#{e1\ 1797}#
#{e2\ 1798}#)
(letrec ((#{f\ 1799}#
(lambda (#{bindings\ 1800}#)
(if (null? #{bindings\ 1800}#)
(cons '#(syntax-object
let
((top)
#(ribcage () () ())
#(ribcage
#(f bindings)
#((top) (top))
#("i" "i"))
#(ribcage
#(let* x v e1 e2)
#((top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons '()
(cons #{e1\ 1797}#
#{e2\ 1798}#)))
((lambda (#{tmp\ 1804}#)
((lambda (#{tmp\ 1805}#)
(if #{tmp\ 1805}#
(apply (lambda (#{body\ 1806}#
#{binding\ 1807}#)
(list '#(syntax-object
let
((top)
#(ribcage
#(body
binding)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
bindings)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(let*
x
v
e1
e2)
#((top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list #{binding\ 1807}#)
#{body\ 1806}#))
#{tmp\ 1805}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1804}#)))
($sc-dispatch
#{tmp\ 1804}#
'(any any))))
(list (#{f\ 1799}#
(cdr #{bindings\ 1800}#))
(car #{bindings\ 1800}#)))))))
(#{f\ 1799}#
(map list #{x\ 1795}# #{v\ 1796}#))))
#{tmp\ 1787}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1786}#)))
($sc-dispatch
#{tmp\ 1786}#
'(any #(each (any any)) any . each-any))))
#{x\ 1785}#))
(module-name (current-module)))))
(define do
(make-syncase-macro
'macro
(cons (lambda (#{orig-x\ 1808}#)
((lambda (#{tmp\ 1809}#)
((lambda (#{tmp\ 1810}#)
(if #{tmp\ 1810}#
(apply (lambda (#{_\ 1811}#
#{var\ 1812}#
#{init\ 1813}#
#{step\ 1814}#
#{e0\ 1815}#
#{e1\ 1816}#
#{c\ 1817}#)
((lambda (#{tmp\ 1818}#)
((lambda (#{tmp\ 1819}#)
(if #{tmp\ 1819}#
(apply (lambda (#{step\ 1820}#)
((lambda (#{tmp\ 1821}#)
((lambda (#{tmp\ 1822}#)
(if #{tmp\ 1822}#
(apply (lambda ()
(list '#(syntax-object
let
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
doloop
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(map list
#{var\ 1812}#
#{init\ 1813}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
not
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{e0\ 1815}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(append
#{c\ 1817}#
(list (cons '#(syntax-object
doloop
((top)
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{step\ 1820}#)))))))
#{tmp\ 1822}#)
((lambda (#{tmp\ 1827}#)
(if #{tmp\ 1827}#
(apply (lambda (#{e1\ 1828}#
#{e2\ 1829}#)
(list '#(syntax-object
let
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
doloop
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(map list
#{var\ 1812}#
#{init\ 1813}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{e0\ 1815}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 1828}#
#{e2\ 1829}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
(append
#{c\ 1817}#
(list (cons '#(syntax-object
doloop
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(step)
#((top))
#("i"))
#(ribcage
#(_
var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i")))
(hygiene
guile))
#{step\ 1820}#)))))))
#{tmp\ 1827}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1821}#)))
($sc-dispatch
#{tmp\ 1821}#
'(any . each-any)))))
($sc-dispatch
#{tmp\ 1821}#
'())))
#{e1\ 1816}#))
#{tmp\ 1819}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1818}#)))
($sc-dispatch
#{tmp\ 1818}#
'each-any)))
(map (lambda (#{v\ 1836}# #{s\ 1837}#)
((lambda (#{tmp\ 1838}#)
((lambda (#{tmp\ 1839}#)
(if #{tmp\ 1839}#
(apply (lambda () #{v\ 1836}#)
#{tmp\ 1839}#)
((lambda (#{tmp\ 1840}#)
(if #{tmp\ 1840}#
(apply (lambda (#{e\ 1841}#)
#{e\ 1841}#)
#{tmp\ 1840}#)
((lambda (#{_\ 1842}#)
(syntax-violation
'do
"bad step expression"
#{orig-x\ 1808}#
#{s\ 1837}#))
#{tmp\ 1838}#)))
($sc-dispatch
#{tmp\ 1838}#
'(any)))))
($sc-dispatch
#{tmp\ 1838}#
'())))
#{s\ 1837}#))
#{var\ 1812}#
#{step\ 1814}#)))
#{tmp\ 1810}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1809}#)))
($sc-dispatch
#{tmp\ 1809}#
'(any #(each (any any . any))
(any . each-any)
.
each-any))))
#{orig-x\ 1808}#))
(module-name (current-module)))))
(define quasiquote
(make-syncase-macro
'macro
(cons (letrec ((#{quasicons\ 1845}#
(lambda (#{x\ 1849}# #{y\ 1850}#)
((lambda (#{tmp\ 1851}#)
((lambda (#{tmp\ 1852}#)
(if #{tmp\ 1852}#
(apply (lambda (#{x\ 1853}# #{y\ 1854}#)
((lambda (#{tmp\ 1855}#)
((lambda (#{tmp\ 1856}#)
(if #{tmp\ 1856}#
(apply (lambda (#{dy\ 1857}#)
((lambda (#{tmp\ 1858}#)
((lambda (#{tmp\ 1859}#)
(if #{tmp\ 1859}#
(apply (lambda (#{dx\ 1860}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(dx)
#((top))
#("i"))
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
(cons #{dx\ 1860}#
#{dy\ 1857}#)))
#{tmp\ 1859}#)
((lambda (#{_\ 1861}#)
(if (null? #{dy\ 1857}#)
(list '#(syntax-object
list
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{x\ 1853}#)
(list '#(syntax-object
cons
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{x\ 1853}#
#{y\ 1854}#)))
#{tmp\ 1858}#)))
($sc-dispatch
#{tmp\ 1858}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(dy)
#((top))
#("i"))
#(ribcage
#(x y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile)))
any))))
#{x\ 1853}#))
#{tmp\ 1856}#)
((lambda (#{tmp\ 1862}#)
(if #{tmp\ 1862}#
(apply (lambda (#{stuff\ 1863}#)
(cons '#(syntax-object
list
((top)
#(ribcage
#(stuff)
#((top))
#("i"))
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x
y)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
(cons #{x\ 1853}#
#{stuff\ 1863}#)))
#{tmp\ 1862}#)
((lambda (#{else\ 1864}#)
(list '#(syntax-object
cons
((top)
#(ribcage
#(else)
#((top))
#("i"))
#(ribcage
#(x y)
#((top)
(top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x y)
#((top)
(top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{x\ 1853}#
#{y\ 1854}#))
#{tmp\ 1855}#)))
($sc-dispatch
#{tmp\ 1855}#
'(#(free-id
#(syntax-object
list
((top)
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile)))
.
any)))))
($sc-dispatch
#{tmp\ 1855}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
any))))
#{y\ 1854}#))
#{tmp\ 1852}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1851}#)))
($sc-dispatch #{tmp\ 1851}# (quote (any any)))))
(list #{x\ 1849}# #{y\ 1850}#))))
(#{quasiappend\ 1846}#
(lambda (#{x\ 1865}# #{y\ 1866}#)
((lambda (#{tmp\ 1867}#)
((lambda (#{tmp\ 1868}#)
(if #{tmp\ 1868}#
(apply (lambda (#{x\ 1869}# #{y\ 1870}#)
((lambda (#{tmp\ 1871}#)
((lambda (#{tmp\ 1872}#)
(if #{tmp\ 1872}#
(apply (lambda () #{x\ 1869}#)
#{tmp\ 1872}#)
((lambda (#{_\ 1873}#)
(list '#(syntax-object
append
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile))
#{x\ 1869}#
#{y\ 1870}#))
#{tmp\ 1871}#)))
($sc-dispatch
#{tmp\ 1871}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
()))))
#{y\ 1870}#))
#{tmp\ 1868}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1867}#)))
($sc-dispatch #{tmp\ 1867}# (quote (any any)))))
(list #{x\ 1865}# #{y\ 1866}#))))
(#{quasivector\ 1847}#
(lambda (#{x\ 1874}#)
((lambda (#{tmp\ 1875}#)
((lambda (#{x\ 1876}#)
((lambda (#{tmp\ 1877}#)
((lambda (#{tmp\ 1878}#)
(if #{tmp\ 1878}#
(apply (lambda (#{x\ 1879}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile))
(list->vector
#{x\ 1879}#)))
#{tmp\ 1878}#)
((lambda (#{tmp\ 1881}#)
(if #{tmp\ 1881}#
(apply (lambda (#{x\ 1882}#)
(cons '#(syntax-object
vector
((top)
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile))
#{x\ 1882}#))
#{tmp\ 1881}#)
((lambda (#{_\ 1884}#)
(list '#(syntax-object
list->vector
((top)
#(ribcage
#(_)
#((top))
#("i"))
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile))
#{x\ 1876}#))
#{tmp\ 1877}#)))
($sc-dispatch
#{tmp\ 1877}#
'(#(free-id
#(syntax-object
list
((top)
#(ribcage #(x) #((top)) #("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
.
each-any)))))
($sc-dispatch
#{tmp\ 1877}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage #(x) #((top)) #("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
each-any))))
#{x\ 1876}#))
#{tmp\ 1875}#))
#{x\ 1874}#)))
(#{quasi\ 1848}#
(lambda (#{p\ 1885}# #{lev\ 1886}#)
((lambda (#{tmp\ 1887}#)
((lambda (#{tmp\ 1888}#)
(if #{tmp\ 1888}#
(apply (lambda (#{p\ 1889}#)
(if (= #{lev\ 1886}# 0)
#{p\ 1889}#
(#{quasicons\ 1845}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
#(syntax-object
unquote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
(#{quasi\ 1848}#
(list #{p\ 1889}#)
(- #{lev\ 1886}# 1)))))
#{tmp\ 1888}#)
((lambda (#{tmp\ 1890}#)
(if (if #{tmp\ 1890}#
(apply (lambda (#{args\ 1891}#)
(= #{lev\ 1886}# 0))
#{tmp\ 1890}#)
#f)
(apply (lambda (#{args\ 1892}#)
(syntax-violation
'unquote
"unquote takes exactly one argument"
#{p\ 1885}#
(cons '#(syntax-object
unquote
((top)
#(ribcage
#(args)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile))
#{args\ 1892}#)))
#{tmp\ 1890}#)
((lambda (#{tmp\ 1893}#)
(if #{tmp\ 1893}#
(apply (lambda (#{p\ 1894}#
#{q\ 1895}#)
(if (= #{lev\ 1886}# 0)
(#{quasiappend\ 1846}#
#{p\ 1894}#
(#{quasi\ 1848}#
#{q\ 1895}#
#{lev\ 1886}#))
(#{quasicons\ 1845}#
(#{quasicons\ 1845}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p q)
#((top) (top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile))
#(syntax-object
unquote-splicing
((top)
#(ribcage
#(p q)
#((top) (top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene guile)))
(#{quasi\ 1848}#
(list #{p\ 1894}#)
(- #{lev\ 1886}# 1)))
(#{quasi\ 1848}#
#{q\ 1895}#
#{lev\ 1886}#))))
#{tmp\ 1893}#)
((lambda (#{tmp\ 1896}#)
(if (if #{tmp\ 1896}#
(apply (lambda (#{args\ 1897}#
#{q\ 1898}#)
(= #{lev\ 1886}# 0))
#{tmp\ 1896}#)
#f)
(apply (lambda (#{args\ 1899}#
#{q\ 1900}#)
(syntax-violation
'unquote-splicing
"unquote-splicing takes exactly one argument"
#{p\ 1885}#
(cons '#(syntax-object
unquote-splicing
((top)
#(ribcage
#(args q)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{args\ 1899}#)))
#{tmp\ 1896}#)
((lambda (#{tmp\ 1901}#)
(if #{tmp\ 1901}#
(apply (lambda (#{p\ 1902}#)
(#{quasicons\ 1845}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#(syntax-object
quasiquote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(p lev)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile)))
(#{quasi\ 1848}#
(list #{p\ 1902}#)
(+ #{lev\ 1886}#
1))))
#{tmp\ 1901}#)
((lambda (#{tmp\ 1903}#)
(if #{tmp\ 1903}#
(apply (lambda (#{p\ 1904}#
#{q\ 1905}#)
(#{quasicons\ 1845}#
(#{quasi\ 1848}#
#{p\ 1904}#
#{lev\ 1886}#)
(#{quasi\ 1848}#
#{q\ 1905}#
#{lev\ 1886}#)))
#{tmp\ 1903}#)
((lambda (#{tmp\ 1906}#)
(if #{tmp\ 1906}#
(apply (lambda (#{x\ 1907}#)
(#{quasivector\ 1847}#
(#{quasi\ 1848}#
#{x\ 1907}#
#{lev\ 1886}#)))
#{tmp\ 1906}#)
((lambda (#{p\ 1909}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(p
lev)
#((top)
(top))
#("i"
"i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i")))
(hygiene
guile))
#{p\ 1909}#))
#{tmp\ 1887}#)))
($sc-dispatch
#{tmp\ 1887}#
'#(vector
each-any)))))
($sc-dispatch
#{tmp\ 1887}#
'(any . any)))))
($sc-dispatch
#{tmp\ 1887}#
'(#(free-id
#(syntax-object
quasiquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
any)))))
($sc-dispatch
#{tmp\ 1887}#
'((#(free-id
#(syntax-object
unquote-splicing
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
.
any)
.
any)))))
($sc-dispatch
#{tmp\ 1887}#
'((#(free-id
#(syntax-object
unquote-splicing
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
any)
.
any)))))
($sc-dispatch
#{tmp\ 1887}#
'(#(free-id
#(syntax-object
unquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
.
any)))))
($sc-dispatch
#{tmp\ 1887}#
'(#(free-id
#(syntax-object
unquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i" "i"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
any))))
#{p\ 1885}#))))
(lambda (#{x\ 1910}#)
((lambda (#{tmp\ 1911}#)
((lambda (#{tmp\ 1912}#)
(if #{tmp\ 1912}#
(apply (lambda (#{_\ 1913}# #{e\ 1914}#)
(#{quasi\ 1848}# #{e\ 1914}# 0))
#{tmp\ 1912}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1911}#)))
($sc-dispatch #{tmp\ 1911}# (quote (any any)))))
#{x\ 1910}#)))
(module-name (current-module)))))
(define include
(make-syncase-macro
'macro
(cons (lambda (#{x\ 1915}#)
(letrec ((#{read-file\ 1916}#
(lambda (#{fn\ 1917}# #{k\ 1918}#)
(let ((#{p\ 1919}# (open-input-file #{fn\ 1917}#)))
(letrec ((#{f\ 1920}#
(lambda (#{x\ 1921}#)
(if (eof-object? #{x\ 1921}#)
(begin
(close-input-port #{p\ 1919}#)
'())
(cons (datum->syntax
#{k\ 1918}#
#{x\ 1921}#)
(#{f\ 1920}#
(read #{p\ 1919}#)))))))
(#{f\ 1920}# (read #{p\ 1919}#)))))))
((lambda (#{tmp\ 1922}#)
((lambda (#{tmp\ 1923}#)
(if #{tmp\ 1923}#
(apply (lambda (#{k\ 1924}# #{filename\ 1925}#)
(let ((#{fn\ 1926}#
(syntax->datum #{filename\ 1925}#)))
((lambda (#{tmp\ 1927}#)
((lambda (#{tmp\ 1928}#)
(if #{tmp\ 1928}#
(apply (lambda (#{exp\ 1929}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(exp)
#((top))
#("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(fn)
#((top))
#("i"))
#(ribcage
#(k filename)
#((top) (top))
#("i" "i"))
#(ribcage
(read-file)
((top))
("i"))
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{exp\ 1929}#))
#{tmp\ 1928}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1927}#)))
($sc-dispatch
#{tmp\ 1927}#
'each-any)))
(#{read-file\ 1916}#
#{fn\ 1926}#
#{k\ 1924}#))))
#{tmp\ 1923}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1922}#)))
($sc-dispatch #{tmp\ 1922}# (quote (any any)))))
#{x\ 1915}#)))
(module-name (current-module)))))
(define include-from-path
(make-syncase-macro
'macro
(cons (lambda (#{x\ 1931}#)
((lambda (#{tmp\ 1932}#)
((lambda (#{tmp\ 1933}#)
(if #{tmp\ 1933}#
(apply (lambda (#{k\ 1934}# #{filename\ 1935}#)
(let ((#{fn\ 1936}#
(syntax->datum #{filename\ 1935}#)))
((lambda (#{tmp\ 1937}#)
((lambda (#{fn\ 1938}#)
(list '#(syntax-object
include
((top)
#(ribcage #(fn) #((top)) #("i"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(fn) #((top)) #("i"))
#(ribcage
#(k filename)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
#{fn\ 1938}#))
#{tmp\ 1937}#))
(let ((#{t\ 1939}#
(%search-load-path #{fn\ 1936}#)))
(if #{t\ 1939}#
#{t\ 1939}#
(syntax-violation
'include-from-path
"file not found in path"
#{x\ 1931}#
#{filename\ 1935}#))))))
#{tmp\ 1933}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1932}#)))
($sc-dispatch #{tmp\ 1932}# (quote (any any)))))
#{x\ 1931}#))
(module-name (current-module)))))
(define unquote
(make-syncase-macro
'macro
(cons (lambda (#{x\ 1940}#)
((lambda (#{tmp\ 1941}#)
((lambda (#{tmp\ 1942}#)
(if #{tmp\ 1942}#
(apply (lambda (#{_\ 1943}# #{e\ 1944}#)
(syntax-violation
'unquote
"expression not valid outside of quasiquote"
#{x\ 1940}#))
#{tmp\ 1942}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1941}#)))
($sc-dispatch #{tmp\ 1941}# (quote (any any)))))
#{x\ 1940}#))
(module-name (current-module)))))
(define unquote-splicing
(make-syncase-macro
'macro
(cons (lambda (#{x\ 1945}#)
((lambda (#{tmp\ 1946}#)
((lambda (#{tmp\ 1947}#)
(if #{tmp\ 1947}#
(apply (lambda (#{_\ 1948}# #{e\ 1949}#)
(syntax-violation
'unquote-splicing
"expression not valid outside of quasiquote"
#{x\ 1945}#))
#{tmp\ 1947}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1946}#)))
($sc-dispatch #{tmp\ 1946}# (quote (any any)))))
#{x\ 1945}#))
(module-name (current-module)))))
(define case
(make-syncase-macro
'macro
(cons (lambda (#{x\ 1950}#)
((lambda (#{tmp\ 1951}#)
((lambda (#{tmp\ 1952}#)
(if #{tmp\ 1952}#
(apply (lambda (#{_\ 1953}#
#{e\ 1954}#
#{m1\ 1955}#
#{m2\ 1956}#)
((lambda (#{tmp\ 1957}#)
((lambda (#{body\ 1958}#)
(list '#(syntax-object
let
((top)
#(ribcage #(body) #((top)) #("i"))
#(ribcage
#(_ e m1 m2)
#((top) (top) (top) (top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
(list (list '#(syntax-object
t
((top)
#(ribcage
#(body)
#((top))
#("i"))
#(ribcage
#(_ e m1 m2)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{e\ 1954}#))
#{body\ 1958}#))
#{tmp\ 1957}#))
(letrec ((#{f\ 1959}#
(lambda (#{clause\ 1960}#
#{clauses\ 1961}#)
(if (null? #{clauses\ 1961}#)
((lambda (#{tmp\ 1963}#)
((lambda (#{tmp\ 1964}#)
(if #{tmp\ 1964}#
(apply (lambda (#{e1\ 1965}#
#{e2\ 1966}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 1965}#
#{e2\ 1966}#)))
#{tmp\ 1964}#)
((lambda (#{tmp\ 1968}#)
(if #{tmp\ 1968}#
(apply (lambda (#{k\ 1969}#
#{e1\ 1970}#
#{e2\ 1971}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
memv
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
t
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
quote
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{k\ 1969}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 1970}#
#{e2\ 1971}#))))
#{tmp\ 1968}#)
((lambda (#{_\ 1974}#)
(syntax-violation
'case
"bad clause"
#{x\ 1950}#
#{clause\ 1960}#))
#{tmp\ 1963}#)))
($sc-dispatch
#{tmp\ 1963}#
'(each-any
any
.
each-any)))))
($sc-dispatch
#{tmp\ 1963}#
'(#(free-id
#(syntax-object
else
((top)
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top)
(top)
(top))
#("i" "i" "i"))
#(ribcage
#(_ e m1 m2)
#((top)
(top)
(top)
(top))
#("i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile)))
any
.
each-any))))
#{clause\ 1960}#)
((lambda (#{tmp\ 1975}#)
((lambda (#{rest\ 1976}#)
((lambda (#{tmp\ 1977}#)
((lambda (#{tmp\ 1978}#)
(if #{tmp\ 1978}#
(apply (lambda (#{k\ 1979}#
#{e1\ 1980}#
#{e2\ 1981}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
memv
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
'#(syntax-object
t
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(list '#(syntax-object
quote
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
#{k\ 1979}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(rest)
#((top))
#("i"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i"
"i"
"i"))
#(ribcage
#(_
e
m1
m2)
#((top)
(top)
(top)
(top))
#("i"
"i"
"i"
"i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile))
(cons #{e1\ 1980}#
#{e2\ 1981}#))
#{rest\ 1976}#))
#{tmp\ 1978}#)
((lambda (#{_\ 1984}#)
(syntax-violation
'case
"bad clause"
#{x\ 1950}#
#{clause\ 1960}#))
#{tmp\ 1977}#)))
($sc-dispatch
#{tmp\ 1977}#
'(each-any
any
.
each-any))))
#{clause\ 1960}#))
#{tmp\ 1975}#))
(#{f\ 1959}#
(car #{clauses\ 1961}#)
(cdr #{clauses\ 1961}#)))))))
(#{f\ 1959}# #{m1\ 1955}# #{m2\ 1956}#))))
#{tmp\ 1952}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1951}#)))
($sc-dispatch
#{tmp\ 1951}#
'(any any any . each-any))))
#{x\ 1950}#))
(module-name (current-module)))))
(define identifier-syntax
(make-syncase-macro
'macro
(cons (lambda (#{x\ 1985}#)
((lambda (#{tmp\ 1986}#)
((lambda (#{tmp\ 1987}#)
(if #{tmp\ 1987}#
(apply (lambda (#{_\ 1988}# #{e\ 1989}#)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile)))
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
'()
(list '#(syntax-object
id
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
'(#(syntax-object
identifier?
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(#(syntax-object
syntax
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#(syntax-object
id
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#{e\ 1989}#))
(list (cons #{_\ 1988}#
'(#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(_ e)
#((top) (top))
#("i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
(cons #{e\ 1989}#
'(#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top)
(top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(_ e)
#((top)
(top))
#("i" "i"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i")))
(hygiene
guile)))))))))
#{tmp\ 1987}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1986}#)))
($sc-dispatch #{tmp\ 1986}# (quote (any any)))))
#{x\ 1985}#))
(module-name (current-module)))))
(define define*
(make-syncase-macro
'macro
(cons (lambda (#{x\ 1990}#)
((lambda (#{tmp\ 1991}#)
((lambda (#{tmp\ 1992}#)
(if #{tmp\ 1992}#
(apply (lambda (#{dummy\ 1993}#
#{id\ 1994}#
#{args\ 1995}#
#{b0\ 1996}#
#{b1\ 1997}#)
(list '#(syntax-object
define
((top)
#(ribcage
#(dummy id args b0 b1)
#(("m" top) (top) (top) (top) (top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage #(x) #(("m" top)) #("i")))
(hygiene guile))
#{id\ 1994}#
(cons '#(syntax-object
lambda*
((top)
#(ribcage
#(dummy id args b0 b1)
#(("m" top)
(top)
(top)
(top)
(top))
#("i" "i" "i" "i" "i"))
#(ribcage () () ())
#(ribcage
#(x)
#(("m" top))
#("i")))
(hygiene guile))
(cons #{args\ 1995}#
(cons #{b0\ 1996}#
#{b1\ 1997}#)))))
#{tmp\ 1992}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1991}#)))
($sc-dispatch
#{tmp\ 1991}#
'(any (any . any) any . each-any))))
#{x\ 1990}#))
(module-name (current-module)))))