1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-18 18:40:22 +02:00
guile/module/ice-9/psyntax-pp.scm
Andreas Rottmann aa3819aa34 add partial support for tail patterns in syntax-rules/syntax-case
I've prepared a patch that adds partial support for tail patterns.
Things like the the SRFI-34 `guard' macro from [0] are supported, but
you still can't combine dotted patterns with tail patterns, e.g.

(syntax-rules (else)
  ((foo bar ... (else something) . rest)
   <TEMPLATE-HERE>))

will *not* work; there's the issue that one can't just transcribe
the implementation of this feature from the latest version of psyntax,
as I've done for non-dotted tail patterns, as it's implemented using a
dotted pattern like the above. Alas!

[0] <http://article.gmane.org/gmane.lisp.guile.devel/9442>

* module/ice-9/psyntax.scm (syntax-case, $sc-dispatch): Add support for
  tail patterns, transcribed from the latest psyntax.

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

* test-suite/tests/syncase.test: Add tests for tail patterns.
2009-12-11 10:57:29 +01:00

14862 lines
992 KiB
Scheme

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