mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-18 18:40:22 +02:00
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.
14862 lines
992 KiB
Scheme
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)))))
|
|
|