mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-07 18:30:25 +02:00
* module/ice-9/psyntax.scm (gen-label, new-mark): Labels and marks need to be unique across read/write boundaries -- it's not sufficient for them to simply be unique within a process by virtue of (string #\i) constructing a new object. This used to mostly work before, because the collapsing of duplicate constants didn't catch many syntax-object cases -- but for some reason the attached test case brings out the problem. So switch to use gensyms. Potentially more costly, but it's what upstream psyntax does now. This bug took me fully two days to figure out. * module/ice-9/psyntax-pp.scm: Regenerated. * test-suite/tests/syncase.test ("serializable labels and marks"): Add test case.
14863 lines
992 KiB
Scheme
14863 lines
992 KiB
Scheme
(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
|
|
(if #f #f)
|
|
|
|
(letrec ((#{and-map*\ 28}#
|
|
(lambda (#{f\ 66}# #{first\ 67}# . #{rest\ 68}#)
|
|
(let ((#{t\ 69}# (null? #{first\ 67}#)))
|
|
(if #{t\ 69}#
|
|
#{t\ 69}#
|
|
(if (null? #{rest\ 68}#)
|
|
(letrec ((#{andmap\ 70}#
|
|
(lambda (#{first\ 71}#)
|
|
(let ((#{x\ 72}# (car #{first\ 71}#))
|
|
(#{first\ 73}# (cdr #{first\ 71}#)))
|
|
(if (null? #{first\ 73}#)
|
|
(#{f\ 66}# #{x\ 72}#)
|
|
(if (#{f\ 66}# #{x\ 72}#)
|
|
(#{andmap\ 70}# #{first\ 73}#)
|
|
#f))))))
|
|
(#{andmap\ 70}# #{first\ 67}#))
|
|
(letrec ((#{andmap\ 74}#
|
|
(lambda (#{first\ 75}# #{rest\ 76}#)
|
|
(let ((#{x\ 77}# (car #{first\ 75}#))
|
|
(#{xr\ 78}# (map car #{rest\ 76}#))
|
|
(#{first\ 79}# (cdr #{first\ 75}#))
|
|
(#{rest\ 80}# (map cdr #{rest\ 76}#)))
|
|
(if (null? #{first\ 79}#)
|
|
(apply #{f\ 66}#
|
|
(cons #{x\ 77}# #{xr\ 78}#))
|
|
(if (apply #{f\ 66}#
|
|
(cons #{x\ 77}# #{xr\ 78}#))
|
|
(#{andmap\ 74}#
|
|
#{first\ 79}#
|
|
#{rest\ 80}#)
|
|
#f))))))
|
|
(#{andmap\ 74}# #{first\ 67}# #{rest\ 68}#))))))))
|
|
(letrec ((#{lambda-var-list\ 179}#
|
|
(lambda (#{vars\ 303}#)
|
|
(letrec ((#{lvl\ 304}#
|
|
(lambda (#{vars\ 305}# #{ls\ 306}# #{w\ 307}#)
|
|
(if (pair? #{vars\ 305}#)
|
|
(#{lvl\ 304}#
|
|
(cdr #{vars\ 305}#)
|
|
(cons (#{wrap\ 156}#
|
|
(car #{vars\ 305}#)
|
|
#{w\ 307}#
|
|
#f)
|
|
#{ls\ 306}#)
|
|
#{w\ 307}#)
|
|
(if (#{id?\ 128}# #{vars\ 305}#)
|
|
(cons (#{wrap\ 156}#
|
|
#{vars\ 305}#
|
|
#{w\ 307}#
|
|
#f)
|
|
#{ls\ 306}#)
|
|
(if (null? #{vars\ 305}#)
|
|
#{ls\ 306}#
|
|
(if (#{syntax-object?\ 112}# #{vars\ 305}#)
|
|
(#{lvl\ 304}#
|
|
(#{syntax-object-expression\ 113}#
|
|
#{vars\ 305}#)
|
|
#{ls\ 306}#
|
|
(#{join-wraps\ 147}#
|
|
#{w\ 307}#
|
|
(#{syntax-object-wrap\ 114}#
|
|
#{vars\ 305}#)))
|
|
(cons #{vars\ 305}# #{ls\ 306}#))))))))
|
|
(#{lvl\ 304}#
|
|
#{vars\ 303}#
|
|
'()
|
|
'(())))))
|
|
(#{gen-var\ 178}#
|
|
(lambda (#{id\ 308}#)
|
|
(let ((#{id\ 309}#
|
|
(if (#{syntax-object?\ 112}# #{id\ 308}#)
|
|
(#{syntax-object-expression\ 113}# #{id\ 308}#)
|
|
#{id\ 308}#)))
|
|
(gensym
|
|
(string-append (symbol->string #{id\ 309}#) " ")))))
|
|
(#{strip\ 177}#
|
|
(lambda (#{x\ 310}# #{w\ 311}#)
|
|
(if (memq 'top
|
|
(#{wrap-marks\ 131}# #{w\ 311}#))
|
|
#{x\ 310}#
|
|
(letrec ((#{f\ 312}# (lambda (#{x\ 313}#)
|
|
(if (#{syntax-object?\ 112}#
|
|
#{x\ 313}#)
|
|
(#{strip\ 177}#
|
|
(#{syntax-object-expression\ 113}#
|
|
#{x\ 313}#)
|
|
(#{syntax-object-wrap\ 114}#
|
|
#{x\ 313}#))
|
|
(if (pair? #{x\ 313}#)
|
|
(let ((#{a\ 314}# (#{f\ 312}# (car #{x\ 313}#)))
|
|
(#{d\ 315}# (#{f\ 312}# (cdr #{x\ 313}#))))
|
|
(if (if (eq? #{a\ 314}#
|
|
(car #{x\ 313}#))
|
|
(eq? #{d\ 315}#
|
|
(cdr #{x\ 313}#))
|
|
#f)
|
|
#{x\ 313}#
|
|
(cons #{a\ 314}# #{d\ 315}#)))
|
|
(if (vector? #{x\ 313}#)
|
|
(let ((#{old\ 316}#
|
|
(vector->list
|
|
#{x\ 313}#)))
|
|
(let ((#{new\ 317}#
|
|
(map #{f\ 312}#
|
|
#{old\ 316}#)))
|
|
(if (#{and-map*\ 28}#
|
|
eq?
|
|
#{old\ 316}#
|
|
#{new\ 317}#)
|
|
#{x\ 313}#
|
|
(list->vector
|
|
#{new\ 317}#))))
|
|
#{x\ 313}#))))))
|
|
(#{f\ 312}# #{x\ 310}#)))))
|
|
(#{chi-lambda-case\ 176}#
|
|
(lambda (#{e\ 318}#
|
|
#{r\ 319}#
|
|
#{w\ 320}#
|
|
#{s\ 321}#
|
|
#{mod\ 322}#
|
|
#{get-formals\ 323}#
|
|
#{clauses\ 324}#)
|
|
(letrec ((#{expand-body\ 328}#
|
|
(lambda (#{req\ 329}#
|
|
#{opt\ 330}#
|
|
#{rest\ 331}#
|
|
#{kw\ 332}#
|
|
#{body\ 333}#
|
|
#{vars\ 334}#
|
|
#{r*\ 335}#
|
|
#{w*\ 336}#
|
|
#{inits\ 337}#)
|
|
((lambda (#{tmp\ 338}#)
|
|
((lambda (#{tmp\ 339}#)
|
|
(if (if #{tmp\ 339}#
|
|
(apply (lambda (#{docstring\ 340}#
|
|
#{e1\ 341}#
|
|
#{e2\ 342}#)
|
|
(string?
|
|
(syntax->datum
|
|
#{docstring\ 340}#)))
|
|
#{tmp\ 339}#)
|
|
#f)
|
|
(apply (lambda (#{docstring\ 343}#
|
|
#{e1\ 344}#
|
|
#{e2\ 345}#)
|
|
(values
|
|
(syntax->datum
|
|
#{docstring\ 343}#)
|
|
#{req\ 329}#
|
|
#{opt\ 330}#
|
|
#{rest\ 331}#
|
|
#{kw\ 332}#
|
|
#{inits\ 337}#
|
|
#{vars\ 334}#
|
|
(#{chi-body\ 168}#
|
|
(cons #{e1\ 344}# #{e2\ 345}#)
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 318}#
|
|
#{w\ 320}#
|
|
#{s\ 321}#
|
|
#{mod\ 322}#)
|
|
#{r*\ 335}#
|
|
#{w*\ 336}#
|
|
#{mod\ 322}#)))
|
|
#{tmp\ 339}#)
|
|
((lambda (#{tmp\ 347}#)
|
|
(if #{tmp\ 347}#
|
|
(apply (lambda (#{e1\ 348}#
|
|
#{e2\ 349}#)
|
|
(values
|
|
#f
|
|
#{req\ 329}#
|
|
#{opt\ 330}#
|
|
#{rest\ 331}#
|
|
#{kw\ 332}#
|
|
#{inits\ 337}#
|
|
#{vars\ 334}#
|
|
(#{chi-body\ 168}#
|
|
(cons #{e1\ 348}#
|
|
#{e2\ 349}#)
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 318}#
|
|
#{w\ 320}#
|
|
#{s\ 321}#
|
|
#{mod\ 322}#)
|
|
#{r*\ 335}#
|
|
#{w*\ 336}#
|
|
#{mod\ 322}#)))
|
|
#{tmp\ 347}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 338}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 338}#
|
|
'(any . each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 338}#
|
|
'(any any . each-any))))
|
|
#{body\ 333}#)))
|
|
(#{expand-kw\ 327}#
|
|
(lambda (#{req\ 351}#
|
|
#{opt\ 352}#
|
|
#{rest\ 353}#
|
|
#{kw\ 354}#
|
|
#{body\ 355}#
|
|
#{vars\ 356}#
|
|
#{r*\ 357}#
|
|
#{w*\ 358}#
|
|
#{aok\ 359}#
|
|
#{out\ 360}#
|
|
#{inits\ 361}#)
|
|
(if (pair? #{kw\ 354}#)
|
|
((lambda (#{tmp\ 362}#)
|
|
((lambda (#{tmp\ 363}#)
|
|
(if #{tmp\ 363}#
|
|
(apply (lambda (#{k\ 364}#
|
|
#{id\ 365}#
|
|
#{i\ 366}#)
|
|
(let ((#{v\ 367}# (#{gen-var\ 178}#
|
|
#{id\ 365}#)))
|
|
(let ((#{l\ 368}# (#{gen-labels\ 134}#
|
|
(list #{v\ 367}#))))
|
|
(let ((#{r**\ 369}#
|
|
(#{extend-var-env\ 123}#
|
|
#{l\ 368}#
|
|
(list #{v\ 367}#)
|
|
#{r*\ 357}#)))
|
|
(let ((#{w**\ 370}#
|
|
(#{make-binding-wrap\ 145}#
|
|
(list #{id\ 365}#)
|
|
#{l\ 368}#
|
|
#{w*\ 358}#)))
|
|
(#{expand-kw\ 327}#
|
|
#{req\ 351}#
|
|
#{opt\ 352}#
|
|
#{rest\ 353}#
|
|
(cdr #{kw\ 354}#)
|
|
#{body\ 355}#
|
|
(cons #{v\ 367}#
|
|
#{vars\ 356}#)
|
|
#{r**\ 369}#
|
|
#{w**\ 370}#
|
|
#{aok\ 359}#
|
|
(cons (list (syntax->datum
|
|
#{k\ 364}#)
|
|
(syntax->datum
|
|
#{id\ 365}#)
|
|
#{v\ 367}#)
|
|
#{out\ 360}#)
|
|
(cons (#{chi\ 164}#
|
|
#{i\ 366}#
|
|
#{r*\ 357}#
|
|
#{w*\ 358}#
|
|
#{mod\ 322}#)
|
|
#{inits\ 361}#)))))))
|
|
#{tmp\ 363}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 362}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 362}#
|
|
'(any any any))))
|
|
(car #{kw\ 354}#))
|
|
(#{expand-body\ 328}#
|
|
#{req\ 351}#
|
|
#{opt\ 352}#
|
|
#{rest\ 353}#
|
|
(if (let ((#{t\ 371}# #{aok\ 359}#))
|
|
(if #{t\ 371}#
|
|
#{t\ 371}#
|
|
(pair? #{out\ 360}#)))
|
|
(cons #{aok\ 359}# (reverse #{out\ 360}#))
|
|
#f)
|
|
#{body\ 355}#
|
|
(reverse #{vars\ 356}#)
|
|
#{r*\ 357}#
|
|
#{w*\ 358}#
|
|
(reverse #{inits\ 361}#)))))
|
|
(#{expand-opt\ 326}#
|
|
(lambda (#{req\ 372}#
|
|
#{opt\ 373}#
|
|
#{rest\ 374}#
|
|
#{kw\ 375}#
|
|
#{body\ 376}#
|
|
#{vars\ 377}#
|
|
#{r*\ 378}#
|
|
#{w*\ 379}#
|
|
#{out\ 380}#
|
|
#{inits\ 381}#)
|
|
(if (pair? #{opt\ 373}#)
|
|
((lambda (#{tmp\ 382}#)
|
|
((lambda (#{tmp\ 383}#)
|
|
(if #{tmp\ 383}#
|
|
(apply (lambda (#{id\ 384}# #{i\ 385}#)
|
|
(let ((#{v\ 386}# (#{gen-var\ 178}#
|
|
#{id\ 384}#)))
|
|
(let ((#{l\ 387}# (#{gen-labels\ 134}#
|
|
(list #{v\ 386}#))))
|
|
(let ((#{r**\ 388}#
|
|
(#{extend-var-env\ 123}#
|
|
#{l\ 387}#
|
|
(list #{v\ 386}#)
|
|
#{r*\ 378}#)))
|
|
(let ((#{w**\ 389}#
|
|
(#{make-binding-wrap\ 145}#
|
|
(list #{id\ 384}#)
|
|
#{l\ 387}#
|
|
#{w*\ 379}#)))
|
|
(#{expand-opt\ 326}#
|
|
#{req\ 372}#
|
|
(cdr #{opt\ 373}#)
|
|
#{rest\ 374}#
|
|
#{kw\ 375}#
|
|
#{body\ 376}#
|
|
(cons #{v\ 386}#
|
|
#{vars\ 377}#)
|
|
#{r**\ 388}#
|
|
#{w**\ 389}#
|
|
(cons (syntax->datum
|
|
#{id\ 384}#)
|
|
#{out\ 380}#)
|
|
(cons (#{chi\ 164}#
|
|
#{i\ 385}#
|
|
#{r*\ 378}#
|
|
#{w*\ 379}#
|
|
#{mod\ 322}#)
|
|
#{inits\ 381}#)))))))
|
|
#{tmp\ 383}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 382}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 382}#
|
|
'(any any))))
|
|
(car #{opt\ 373}#))
|
|
(if #{rest\ 374}#
|
|
(let ((#{v\ 390}# (#{gen-var\ 178}#
|
|
#{rest\ 374}#)))
|
|
(let ((#{l\ 391}# (#{gen-labels\ 134}#
|
|
(list #{v\ 390}#))))
|
|
(let ((#{r*\ 392}#
|
|
(#{extend-var-env\ 123}#
|
|
#{l\ 391}#
|
|
(list #{v\ 390}#)
|
|
#{r*\ 378}#)))
|
|
(let ((#{w*\ 393}#
|
|
(#{make-binding-wrap\ 145}#
|
|
(list #{rest\ 374}#)
|
|
#{l\ 391}#
|
|
#{w*\ 379}#)))
|
|
(#{expand-kw\ 327}#
|
|
#{req\ 372}#
|
|
(if (pair? #{out\ 380}#)
|
|
(reverse #{out\ 380}#)
|
|
#f)
|
|
(syntax->datum #{rest\ 374}#)
|
|
(if (pair? #{kw\ 375}#)
|
|
(cdr #{kw\ 375}#)
|
|
#{kw\ 375}#)
|
|
#{body\ 376}#
|
|
(cons #{v\ 390}# #{vars\ 377}#)
|
|
#{r*\ 392}#
|
|
#{w*\ 393}#
|
|
(if (pair? #{kw\ 375}#)
|
|
(car #{kw\ 375}#)
|
|
#f)
|
|
'()
|
|
#{inits\ 381}#)))))
|
|
(#{expand-kw\ 327}#
|
|
#{req\ 372}#
|
|
(if (pair? #{out\ 380}#)
|
|
(reverse #{out\ 380}#)
|
|
#f)
|
|
#f
|
|
(if (pair? #{kw\ 375}#)
|
|
(cdr #{kw\ 375}#)
|
|
#{kw\ 375}#)
|
|
#{body\ 376}#
|
|
#{vars\ 377}#
|
|
#{r*\ 378}#
|
|
#{w*\ 379}#
|
|
(if (pair? #{kw\ 375}#) (car #{kw\ 375}#) #f)
|
|
'()
|
|
#{inits\ 381}#)))))
|
|
(#{expand-req\ 325}#
|
|
(lambda (#{req\ 394}#
|
|
#{opt\ 395}#
|
|
#{rest\ 396}#
|
|
#{kw\ 397}#
|
|
#{body\ 398}#)
|
|
(let ((#{vars\ 399}#
|
|
(map #{gen-var\ 178}# #{req\ 394}#))
|
|
(#{labels\ 400}#
|
|
(#{gen-labels\ 134}# #{req\ 394}#)))
|
|
(let ((#{r*\ 401}#
|
|
(#{extend-var-env\ 123}#
|
|
#{labels\ 400}#
|
|
#{vars\ 399}#
|
|
#{r\ 319}#))
|
|
(#{w*\ 402}#
|
|
(#{make-binding-wrap\ 145}#
|
|
#{req\ 394}#
|
|
#{labels\ 400}#
|
|
#{w\ 320}#)))
|
|
(#{expand-opt\ 326}#
|
|
(map syntax->datum #{req\ 394}#)
|
|
#{opt\ 395}#
|
|
#{rest\ 396}#
|
|
#{kw\ 397}#
|
|
#{body\ 398}#
|
|
(reverse #{vars\ 399}#)
|
|
#{r*\ 401}#
|
|
#{w*\ 402}#
|
|
'()
|
|
'()))))))
|
|
((lambda (#{tmp\ 403}#)
|
|
((lambda (#{tmp\ 404}#)
|
|
(if #{tmp\ 404}#
|
|
(apply (lambda () (values #f #f)) #{tmp\ 404}#)
|
|
((lambda (#{tmp\ 405}#)
|
|
(if #{tmp\ 405}#
|
|
(apply (lambda (#{args\ 406}#
|
|
#{e1\ 407}#
|
|
#{e2\ 408}#
|
|
#{args*\ 409}#
|
|
#{e1*\ 410}#
|
|
#{e2*\ 411}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{get-formals\ 323}#
|
|
#{args\ 406}#))
|
|
(lambda (#{req\ 412}#
|
|
#{opt\ 413}#
|
|
#{rest\ 414}#
|
|
#{kw\ 415}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{expand-req\ 325}#
|
|
#{req\ 412}#
|
|
#{opt\ 413}#
|
|
#{rest\ 414}#
|
|
#{kw\ 415}#
|
|
(cons #{e1\ 407}#
|
|
#{e2\ 408}#)))
|
|
(lambda (#{docstring\ 417}#
|
|
#{req\ 418}#
|
|
#{opt\ 419}#
|
|
#{rest\ 420}#
|
|
#{kw\ 421}#
|
|
#{inits\ 422}#
|
|
#{vars\ 423}#
|
|
#{body\ 424}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{chi-lambda-case\ 176}#
|
|
#{e\ 318}#
|
|
#{r\ 319}#
|
|
#{w\ 320}#
|
|
#{s\ 321}#
|
|
#{mod\ 322}#
|
|
#{get-formals\ 323}#
|
|
(map (lambda (#{tmp\ 427}#
|
|
#{tmp\ 426}#
|
|
#{tmp\ 425}#)
|
|
(cons #{tmp\ 425}#
|
|
(cons #{tmp\ 426}#
|
|
#{tmp\ 427}#)))
|
|
#{e2*\ 411}#
|
|
#{e1*\ 410}#
|
|
#{args*\ 409}#)))
|
|
(lambda (#{docstring*\ 429}#
|
|
#{else*\ 430}#)
|
|
(values
|
|
(let ((#{t\ 431}# #{docstring\ 417}#))
|
|
(if #{t\ 431}#
|
|
#{t\ 431}#
|
|
#{docstring*\ 429}#))
|
|
(#{build-lambda-case\ 104}#
|
|
#{s\ 321}#
|
|
#{req\ 418}#
|
|
#{opt\ 419}#
|
|
#{rest\ 420}#
|
|
#{kw\ 421}#
|
|
#{inits\ 422}#
|
|
#{vars\ 423}#
|
|
#{body\ 424}#
|
|
#{else*\ 430}#)))))))))
|
|
#{tmp\ 405}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 403}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 403}#
|
|
'((any any . each-any)
|
|
.
|
|
#(each (any any . each-any)))))))
|
|
($sc-dispatch #{tmp\ 403}# (quote ()))))
|
|
#{clauses\ 324}#))))
|
|
(#{lambda*-formals\ 175}#
|
|
(lambda (#{orig-args\ 432}#)
|
|
(letrec ((#{check\ 437}#
|
|
(lambda (#{req\ 438}#
|
|
#{opt\ 439}#
|
|
#{rest\ 440}#
|
|
#{kw\ 441}#)
|
|
(if (#{distinct-bound-ids?\ 154}#
|
|
(append
|
|
#{req\ 438}#
|
|
(map car #{opt\ 439}#)
|
|
(if #{rest\ 440}#
|
|
(list #{rest\ 440}#)
|
|
'())
|
|
(if (pair? #{kw\ 441}#)
|
|
(map cadr (cdr #{kw\ 441}#))
|
|
'())))
|
|
(values
|
|
#{req\ 438}#
|
|
#{opt\ 439}#
|
|
#{rest\ 440}#
|
|
#{kw\ 441}#)
|
|
(syntax-violation
|
|
'lambda*
|
|
"duplicate identifier in argument list"
|
|
#{orig-args\ 432}#))))
|
|
(#{rest\ 436}#
|
|
(lambda (#{args\ 442}#
|
|
#{req\ 443}#
|
|
#{opt\ 444}#
|
|
#{kw\ 445}#)
|
|
((lambda (#{tmp\ 446}#)
|
|
((lambda (#{tmp\ 447}#)
|
|
(if (if #{tmp\ 447}#
|
|
(apply (lambda (#{r\ 448}#)
|
|
(#{id?\ 128}# #{r\ 448}#))
|
|
#{tmp\ 447}#)
|
|
#f)
|
|
(apply (lambda (#{r\ 449}#)
|
|
(#{check\ 437}#
|
|
#{req\ 443}#
|
|
#{opt\ 444}#
|
|
#{r\ 449}#
|
|
#{kw\ 445}#))
|
|
#{tmp\ 447}#)
|
|
((lambda (#{else\ 450}#)
|
|
(syntax-violation
|
|
'lambda*
|
|
"invalid rest argument"
|
|
#{orig-args\ 432}#
|
|
#{args\ 442}#))
|
|
#{tmp\ 446}#)))
|
|
(list #{tmp\ 446}#)))
|
|
#{args\ 442}#)))
|
|
(#{key\ 435}#
|
|
(lambda (#{args\ 451}#
|
|
#{req\ 452}#
|
|
#{opt\ 453}#
|
|
#{rkey\ 454}#)
|
|
((lambda (#{tmp\ 455}#)
|
|
((lambda (#{tmp\ 456}#)
|
|
(if #{tmp\ 456}#
|
|
(apply (lambda ()
|
|
(#{check\ 437}#
|
|
#{req\ 452}#
|
|
#{opt\ 453}#
|
|
#f
|
|
(cons #f
|
|
(reverse #{rkey\ 454}#))))
|
|
#{tmp\ 456}#)
|
|
((lambda (#{tmp\ 457}#)
|
|
(if (if #{tmp\ 457}#
|
|
(apply (lambda (#{a\ 458}#
|
|
#{b\ 459}#)
|
|
(#{id?\ 128}#
|
|
#{a\ 458}#))
|
|
#{tmp\ 457}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 460}# #{b\ 461}#)
|
|
((lambda (#{tmp\ 462}#)
|
|
((lambda (#{k\ 463}#)
|
|
(#{key\ 435}#
|
|
#{b\ 461}#
|
|
#{req\ 452}#
|
|
#{opt\ 453}#
|
|
(cons (cons #{k\ 463}#
|
|
(cons #{a\ 460}#
|
|
'(#(syntax-object
|
|
#f
|
|
((top)
|
|
#(ribcage
|
|
#(k)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(a
|
|
b)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(args
|
|
req
|
|
opt
|
|
rkey)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(check rest
|
|
key
|
|
opt
|
|
req)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(orig-args)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure
|
|
and-map*)
|
|
((top)
|
|
(top))
|
|
("i"
|
|
"i")))
|
|
(hygiene
|
|
guile)))))
|
|
#{rkey\ 454}#)))
|
|
#{tmp\ 462}#))
|
|
(symbol->keyword
|
|
(syntax->datum
|
|
#{a\ 460}#))))
|
|
#{tmp\ 457}#)
|
|
((lambda (#{tmp\ 464}#)
|
|
(if (if #{tmp\ 464}#
|
|
(apply (lambda (#{a\ 465}#
|
|
#{init\ 466}#
|
|
#{b\ 467}#)
|
|
(#{id?\ 128}#
|
|
#{a\ 465}#))
|
|
#{tmp\ 464}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 468}#
|
|
#{init\ 469}#
|
|
#{b\ 470}#)
|
|
((lambda (#{tmp\ 471}#)
|
|
((lambda (#{k\ 472}#)
|
|
(#{key\ 435}#
|
|
#{b\ 470}#
|
|
#{req\ 452}#
|
|
#{opt\ 453}#
|
|
(cons (list #{k\ 472}#
|
|
#{a\ 468}#
|
|
#{init\ 469}#)
|
|
#{rkey\ 454}#)))
|
|
#{tmp\ 471}#))
|
|
(symbol->keyword
|
|
(syntax->datum
|
|
#{a\ 468}#))))
|
|
#{tmp\ 464}#)
|
|
((lambda (#{tmp\ 473}#)
|
|
(if (if #{tmp\ 473}#
|
|
(apply (lambda (#{a\ 474}#
|
|
#{init\ 475}#
|
|
#{k\ 476}#
|
|
#{b\ 477}#)
|
|
(if (#{id?\ 128}#
|
|
#{a\ 474}#)
|
|
(keyword?
|
|
(syntax->datum
|
|
#{k\ 476}#))
|
|
#f))
|
|
#{tmp\ 473}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 478}#
|
|
#{init\ 479}#
|
|
#{k\ 480}#
|
|
#{b\ 481}#)
|
|
(#{key\ 435}#
|
|
#{b\ 481}#
|
|
#{req\ 452}#
|
|
#{opt\ 453}#
|
|
(cons (list #{k\ 480}#
|
|
#{a\ 478}#
|
|
#{init\ 479}#)
|
|
#{rkey\ 454}#)))
|
|
#{tmp\ 473}#)
|
|
((lambda (#{tmp\ 482}#)
|
|
(if (if #{tmp\ 482}#
|
|
(apply (lambda (#{aok\ 483}#)
|
|
(eq? (syntax->datum
|
|
#{aok\ 483}#)
|
|
#:allow-other-keys))
|
|
#{tmp\ 482}#)
|
|
#f)
|
|
(apply (lambda (#{aok\ 484}#)
|
|
(#{check\ 437}#
|
|
#{req\ 452}#
|
|
#{opt\ 453}#
|
|
#f
|
|
(cons #t
|
|
(reverse
|
|
#{rkey\ 454}#))))
|
|
#{tmp\ 482}#)
|
|
((lambda (#{tmp\ 485}#)
|
|
(if (if #{tmp\ 485}#
|
|
(apply (lambda (#{aok\ 486}#
|
|
#{a\ 487}#
|
|
#{b\ 488}#)
|
|
(if (eq? (syntax->datum
|
|
#{aok\ 486}#)
|
|
#:allow-other-keys)
|
|
(eq? (syntax->datum
|
|
#{a\ 487}#)
|
|
#:rest)
|
|
#f))
|
|
#{tmp\ 485}#)
|
|
#f)
|
|
(apply (lambda (#{aok\ 489}#
|
|
#{a\ 490}#
|
|
#{b\ 491}#)
|
|
(#{rest\ 436}#
|
|
#{b\ 491}#
|
|
#{req\ 452}#
|
|
#{opt\ 453}#
|
|
(cons #t
|
|
(reverse
|
|
#{rkey\ 454}#))))
|
|
#{tmp\ 485}#)
|
|
((lambda (#{tmp\ 492}#)
|
|
(if (if #{tmp\ 492}#
|
|
(apply (lambda (#{aok\ 493}#
|
|
#{r\ 494}#)
|
|
(if (eq? (syntax->datum
|
|
#{aok\ 493}#)
|
|
#:allow-other-keys)
|
|
(#{id?\ 128}#
|
|
#{r\ 494}#)
|
|
#f))
|
|
#{tmp\ 492}#)
|
|
#f)
|
|
(apply (lambda (#{aok\ 495}#
|
|
#{r\ 496}#)
|
|
(#{rest\ 436}#
|
|
#{r\ 496}#
|
|
#{req\ 452}#
|
|
#{opt\ 453}#
|
|
(cons #t
|
|
(reverse
|
|
#{rkey\ 454}#))))
|
|
#{tmp\ 492}#)
|
|
((lambda (#{tmp\ 497}#)
|
|
(if (if #{tmp\ 497}#
|
|
(apply (lambda (#{a\ 498}#
|
|
#{b\ 499}#)
|
|
(eq? (syntax->datum
|
|
#{a\ 498}#)
|
|
#:rest))
|
|
#{tmp\ 497}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 500}#
|
|
#{b\ 501}#)
|
|
(#{rest\ 436}#
|
|
#{b\ 501}#
|
|
#{req\ 452}#
|
|
#{opt\ 453}#
|
|
(cons #f
|
|
(reverse
|
|
#{rkey\ 454}#))))
|
|
#{tmp\ 497}#)
|
|
((lambda (#{tmp\ 502}#)
|
|
(if (if #{tmp\ 502}#
|
|
(apply (lambda (#{r\ 503}#)
|
|
(#{id?\ 128}#
|
|
#{r\ 503}#))
|
|
#{tmp\ 502}#)
|
|
#f)
|
|
(apply (lambda (#{r\ 504}#)
|
|
(#{rest\ 436}#
|
|
#{r\ 504}#
|
|
#{req\ 452}#
|
|
#{opt\ 453}#
|
|
(cons #f
|
|
(reverse
|
|
#{rkey\ 454}#))))
|
|
#{tmp\ 502}#)
|
|
((lambda (#{else\ 505}#)
|
|
(syntax-violation
|
|
'lambda*
|
|
"invalid keyword argument list"
|
|
#{orig-args\ 432}#
|
|
#{args\ 451}#))
|
|
#{tmp\ 455}#)))
|
|
(list #{tmp\ 455}#))))
|
|
($sc-dispatch
|
|
#{tmp\ 455}#
|
|
'(any any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 455}#
|
|
'(any .
|
|
any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 455}#
|
|
'(any any any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 455}#
|
|
'(any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 455}#
|
|
'((any any any) . any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 455}#
|
|
'((any any) . any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 455}#
|
|
'(any . any)))))
|
|
($sc-dispatch #{tmp\ 455}# (quote ()))))
|
|
#{args\ 451}#)))
|
|
(#{opt\ 434}#
|
|
(lambda (#{args\ 506}# #{req\ 507}# #{ropt\ 508}#)
|
|
((lambda (#{tmp\ 509}#)
|
|
((lambda (#{tmp\ 510}#)
|
|
(if #{tmp\ 510}#
|
|
(apply (lambda ()
|
|
(#{check\ 437}#
|
|
#{req\ 507}#
|
|
(reverse #{ropt\ 508}#)
|
|
#f
|
|
'()))
|
|
#{tmp\ 510}#)
|
|
((lambda (#{tmp\ 511}#)
|
|
(if (if #{tmp\ 511}#
|
|
(apply (lambda (#{a\ 512}#
|
|
#{b\ 513}#)
|
|
(#{id?\ 128}#
|
|
#{a\ 512}#))
|
|
#{tmp\ 511}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 514}# #{b\ 515}#)
|
|
(#{opt\ 434}#
|
|
#{b\ 515}#
|
|
#{req\ 507}#
|
|
(cons (cons #{a\ 514}#
|
|
'(#(syntax-object
|
|
#f
|
|
((top)
|
|
#(ribcage
|
|
#(a b)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(args
|
|
req
|
|
ropt)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(check rest
|
|
key
|
|
opt
|
|
req)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(orig-args)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure
|
|
and-map*)
|
|
((top)
|
|
(top))
|
|
("i"
|
|
"i")))
|
|
(hygiene
|
|
guile))))
|
|
#{ropt\ 508}#)))
|
|
#{tmp\ 511}#)
|
|
((lambda (#{tmp\ 516}#)
|
|
(if (if #{tmp\ 516}#
|
|
(apply (lambda (#{a\ 517}#
|
|
#{init\ 518}#
|
|
#{b\ 519}#)
|
|
(#{id?\ 128}#
|
|
#{a\ 517}#))
|
|
#{tmp\ 516}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 520}#
|
|
#{init\ 521}#
|
|
#{b\ 522}#)
|
|
(#{opt\ 434}#
|
|
#{b\ 522}#
|
|
#{req\ 507}#
|
|
(cons (list #{a\ 520}#
|
|
#{init\ 521}#)
|
|
#{ropt\ 508}#)))
|
|
#{tmp\ 516}#)
|
|
((lambda (#{tmp\ 523}#)
|
|
(if (if #{tmp\ 523}#
|
|
(apply (lambda (#{a\ 524}#
|
|
#{b\ 525}#)
|
|
(eq? (syntax->datum
|
|
#{a\ 524}#)
|
|
#:key))
|
|
#{tmp\ 523}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 526}#
|
|
#{b\ 527}#)
|
|
(#{key\ 435}#
|
|
#{b\ 527}#
|
|
#{req\ 507}#
|
|
(reverse
|
|
#{ropt\ 508}#)
|
|
'()))
|
|
#{tmp\ 523}#)
|
|
((lambda (#{tmp\ 528}#)
|
|
(if (if #{tmp\ 528}#
|
|
(apply (lambda (#{a\ 529}#
|
|
#{b\ 530}#)
|
|
(eq? (syntax->datum
|
|
#{a\ 529}#)
|
|
#:rest))
|
|
#{tmp\ 528}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 531}#
|
|
#{b\ 532}#)
|
|
(#{rest\ 436}#
|
|
#{b\ 532}#
|
|
#{req\ 507}#
|
|
(reverse
|
|
#{ropt\ 508}#)
|
|
'()))
|
|
#{tmp\ 528}#)
|
|
((lambda (#{tmp\ 533}#)
|
|
(if (if #{tmp\ 533}#
|
|
(apply (lambda (#{r\ 534}#)
|
|
(#{id?\ 128}#
|
|
#{r\ 534}#))
|
|
#{tmp\ 533}#)
|
|
#f)
|
|
(apply (lambda (#{r\ 535}#)
|
|
(#{rest\ 436}#
|
|
#{r\ 535}#
|
|
#{req\ 507}#
|
|
(reverse
|
|
#{ropt\ 508}#)
|
|
'()))
|
|
#{tmp\ 533}#)
|
|
((lambda (#{else\ 536}#)
|
|
(syntax-violation
|
|
'lambda*
|
|
"invalid optional argument list"
|
|
#{orig-args\ 432}#
|
|
#{args\ 506}#))
|
|
#{tmp\ 509}#)))
|
|
(list #{tmp\ 509}#))))
|
|
($sc-dispatch
|
|
#{tmp\ 509}#
|
|
'(any any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 509}#
|
|
'(any . any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 509}#
|
|
'((any any) . any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 509}#
|
|
'(any . any)))))
|
|
($sc-dispatch #{tmp\ 509}# (quote ()))))
|
|
#{args\ 506}#)))
|
|
(#{req\ 433}#
|
|
(lambda (#{args\ 537}# #{rreq\ 538}#)
|
|
((lambda (#{tmp\ 539}#)
|
|
((lambda (#{tmp\ 540}#)
|
|
(if #{tmp\ 540}#
|
|
(apply (lambda ()
|
|
(#{check\ 437}#
|
|
(reverse #{rreq\ 538}#)
|
|
'()
|
|
#f
|
|
'()))
|
|
#{tmp\ 540}#)
|
|
((lambda (#{tmp\ 541}#)
|
|
(if (if #{tmp\ 541}#
|
|
(apply (lambda (#{a\ 542}#
|
|
#{b\ 543}#)
|
|
(#{id?\ 128}#
|
|
#{a\ 542}#))
|
|
#{tmp\ 541}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 544}# #{b\ 545}#)
|
|
(#{req\ 433}#
|
|
#{b\ 545}#
|
|
(cons #{a\ 544}#
|
|
#{rreq\ 538}#)))
|
|
#{tmp\ 541}#)
|
|
((lambda (#{tmp\ 546}#)
|
|
(if (if #{tmp\ 546}#
|
|
(apply (lambda (#{a\ 547}#
|
|
#{b\ 548}#)
|
|
(eq? (syntax->datum
|
|
#{a\ 547}#)
|
|
#:optional))
|
|
#{tmp\ 546}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 549}#
|
|
#{b\ 550}#)
|
|
(#{opt\ 434}#
|
|
#{b\ 550}#
|
|
(reverse
|
|
#{rreq\ 538}#)
|
|
'()))
|
|
#{tmp\ 546}#)
|
|
((lambda (#{tmp\ 551}#)
|
|
(if (if #{tmp\ 551}#
|
|
(apply (lambda (#{a\ 552}#
|
|
#{b\ 553}#)
|
|
(eq? (syntax->datum
|
|
#{a\ 552}#)
|
|
#:key))
|
|
#{tmp\ 551}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 554}#
|
|
#{b\ 555}#)
|
|
(#{key\ 435}#
|
|
#{b\ 555}#
|
|
(reverse
|
|
#{rreq\ 538}#)
|
|
'()
|
|
'()))
|
|
#{tmp\ 551}#)
|
|
((lambda (#{tmp\ 556}#)
|
|
(if (if #{tmp\ 556}#
|
|
(apply (lambda (#{a\ 557}#
|
|
#{b\ 558}#)
|
|
(eq? (syntax->datum
|
|
#{a\ 557}#)
|
|
#:rest))
|
|
#{tmp\ 556}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 559}#
|
|
#{b\ 560}#)
|
|
(#{rest\ 436}#
|
|
#{b\ 560}#
|
|
(reverse
|
|
#{rreq\ 538}#)
|
|
'()
|
|
'()))
|
|
#{tmp\ 556}#)
|
|
((lambda (#{tmp\ 561}#)
|
|
(if (if #{tmp\ 561}#
|
|
(apply (lambda (#{r\ 562}#)
|
|
(#{id?\ 128}#
|
|
#{r\ 562}#))
|
|
#{tmp\ 561}#)
|
|
#f)
|
|
(apply (lambda (#{r\ 563}#)
|
|
(#{rest\ 436}#
|
|
#{r\ 563}#
|
|
(reverse
|
|
#{rreq\ 538}#)
|
|
'()
|
|
'()))
|
|
#{tmp\ 561}#)
|
|
((lambda (#{else\ 564}#)
|
|
(syntax-violation
|
|
'lambda*
|
|
"invalid argument list"
|
|
#{orig-args\ 432}#
|
|
#{args\ 537}#))
|
|
#{tmp\ 539}#)))
|
|
(list #{tmp\ 539}#))))
|
|
($sc-dispatch
|
|
#{tmp\ 539}#
|
|
'(any any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 539}#
|
|
'(any . any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 539}#
|
|
'(any . any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 539}#
|
|
'(any . any)))))
|
|
($sc-dispatch #{tmp\ 539}# (quote ()))))
|
|
#{args\ 537}#))))
|
|
(#{req\ 433}# #{orig-args\ 432}# (quote ())))))
|
|
(#{chi-simple-lambda\ 174}#
|
|
(lambda (#{e\ 565}#
|
|
#{r\ 566}#
|
|
#{w\ 567}#
|
|
#{s\ 568}#
|
|
#{mod\ 569}#
|
|
#{req\ 570}#
|
|
#{rest\ 571}#
|
|
#{docstring\ 572}#
|
|
#{body\ 573}#)
|
|
(let ((#{ids\ 574}#
|
|
(if #{rest\ 571}#
|
|
(append #{req\ 570}# (list #{rest\ 571}#))
|
|
#{req\ 570}#)))
|
|
(let ((#{vars\ 575}#
|
|
(map #{gen-var\ 178}# #{ids\ 574}#)))
|
|
(let ((#{labels\ 576}#
|
|
(#{gen-labels\ 134}# #{ids\ 574}#)))
|
|
(#{build-simple-lambda\ 102}#
|
|
#{s\ 568}#
|
|
(map syntax->datum #{req\ 570}#)
|
|
(if #{rest\ 571}#
|
|
(syntax->datum #{rest\ 571}#)
|
|
#f)
|
|
#{vars\ 575}#
|
|
#{docstring\ 572}#
|
|
(#{chi-body\ 168}#
|
|
#{body\ 573}#
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 565}#
|
|
#{w\ 567}#
|
|
#{s\ 568}#
|
|
#{mod\ 569}#)
|
|
(#{extend-var-env\ 123}#
|
|
#{labels\ 576}#
|
|
#{vars\ 575}#
|
|
#{r\ 566}#)
|
|
(#{make-binding-wrap\ 145}#
|
|
#{ids\ 574}#
|
|
#{labels\ 576}#
|
|
#{w\ 567}#)
|
|
#{mod\ 569}#)))))))
|
|
(#{lambda-formals\ 173}#
|
|
(lambda (#{orig-args\ 577}#)
|
|
(letrec ((#{check\ 579}#
|
|
(lambda (#{req\ 580}# #{rest\ 581}#)
|
|
(if (#{distinct-bound-ids?\ 154}#
|
|
(if #{rest\ 581}#
|
|
(cons #{rest\ 581}# #{req\ 580}#)
|
|
#{req\ 580}#))
|
|
(values #{req\ 580}# #f #{rest\ 581}# #f)
|
|
(syntax-violation
|
|
'lambda
|
|
"duplicate identifier in argument list"
|
|
#{orig-args\ 577}#))))
|
|
(#{req\ 578}#
|
|
(lambda (#{args\ 582}# #{rreq\ 583}#)
|
|
((lambda (#{tmp\ 584}#)
|
|
((lambda (#{tmp\ 585}#)
|
|
(if #{tmp\ 585}#
|
|
(apply (lambda ()
|
|
(#{check\ 579}#
|
|
(reverse #{rreq\ 583}#)
|
|
#f))
|
|
#{tmp\ 585}#)
|
|
((lambda (#{tmp\ 586}#)
|
|
(if (if #{tmp\ 586}#
|
|
(apply (lambda (#{a\ 587}#
|
|
#{b\ 588}#)
|
|
(#{id?\ 128}#
|
|
#{a\ 587}#))
|
|
#{tmp\ 586}#)
|
|
#f)
|
|
(apply (lambda (#{a\ 589}# #{b\ 590}#)
|
|
(#{req\ 578}#
|
|
#{b\ 590}#
|
|
(cons #{a\ 589}#
|
|
#{rreq\ 583}#)))
|
|
#{tmp\ 586}#)
|
|
((lambda (#{tmp\ 591}#)
|
|
(if (if #{tmp\ 591}#
|
|
(apply (lambda (#{r\ 592}#)
|
|
(#{id?\ 128}#
|
|
#{r\ 592}#))
|
|
#{tmp\ 591}#)
|
|
#f)
|
|
(apply (lambda (#{r\ 593}#)
|
|
(#{check\ 579}#
|
|
(reverse
|
|
#{rreq\ 583}#)
|
|
#{r\ 593}#))
|
|
#{tmp\ 591}#)
|
|
((lambda (#{else\ 594}#)
|
|
(syntax-violation
|
|
'lambda
|
|
"invalid argument list"
|
|
#{orig-args\ 577}#
|
|
#{args\ 582}#))
|
|
#{tmp\ 584}#)))
|
|
(list #{tmp\ 584}#))))
|
|
($sc-dispatch
|
|
#{tmp\ 584}#
|
|
'(any . any)))))
|
|
($sc-dispatch #{tmp\ 584}# (quote ()))))
|
|
#{args\ 582}#))))
|
|
(#{req\ 578}# #{orig-args\ 577}# (quote ())))))
|
|
(#{ellipsis?\ 172}#
|
|
(lambda (#{x\ 595}#)
|
|
(if (#{nonsymbol-id?\ 127}# #{x\ 595}#)
|
|
(#{free-id=?\ 151}#
|
|
#{x\ 595}#
|
|
'#(syntax-object
|
|
...
|
|
((top)
|
|
#(ribcage () () ())
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure and-map*)
|
|
((top) (top))
|
|
("i" "i")))
|
|
(hygiene guile)))
|
|
#f)))
|
|
(#{chi-void\ 171}#
|
|
(lambda () (#{build-void\ 92}# #f)))
|
|
(#{eval-local-transformer\ 170}#
|
|
(lambda (#{expanded\ 596}# #{mod\ 597}#)
|
|
(let ((#{p\ 598}# (#{local-eval-hook\ 88}#
|
|
#{expanded\ 596}#
|
|
#{mod\ 597}#)))
|
|
(if (procedure? #{p\ 598}#)
|
|
(cons #{p\ 598}# (module-name (current-module)))
|
|
(syntax-violation
|
|
#f
|
|
"nonprocedure transformer"
|
|
#{p\ 598}#)))))
|
|
(#{chi-local-syntax\ 169}#
|
|
(lambda (#{rec?\ 599}#
|
|
#{e\ 600}#
|
|
#{r\ 601}#
|
|
#{w\ 602}#
|
|
#{s\ 603}#
|
|
#{mod\ 604}#
|
|
#{k\ 605}#)
|
|
((lambda (#{tmp\ 606}#)
|
|
((lambda (#{tmp\ 607}#)
|
|
(if #{tmp\ 607}#
|
|
(apply (lambda (#{_\ 608}#
|
|
#{id\ 609}#
|
|
#{val\ 610}#
|
|
#{e1\ 611}#
|
|
#{e2\ 612}#)
|
|
(let ((#{ids\ 613}# #{id\ 609}#))
|
|
(if (not (#{valid-bound-ids?\ 153}#
|
|
#{ids\ 613}#))
|
|
(syntax-violation
|
|
#f
|
|
"duplicate bound keyword"
|
|
#{e\ 600}#)
|
|
(let ((#{labels\ 615}#
|
|
(#{gen-labels\ 134}#
|
|
#{ids\ 613}#)))
|
|
(let ((#{new-w\ 616}#
|
|
(#{make-binding-wrap\ 145}#
|
|
#{ids\ 613}#
|
|
#{labels\ 615}#
|
|
#{w\ 602}#)))
|
|
(#{k\ 605}# (cons #{e1\ 611}#
|
|
#{e2\ 612}#)
|
|
(#{extend-env\ 122}#
|
|
#{labels\ 615}#
|
|
(let ((#{w\ 618}# (if #{rec?\ 599}#
|
|
#{new-w\ 616}#
|
|
#{w\ 602}#))
|
|
(#{trans-r\ 619}#
|
|
(#{macros-only-env\ 124}#
|
|
#{r\ 601}#)))
|
|
(map (lambda (#{x\ 620}#)
|
|
(cons 'macro
|
|
(#{eval-local-transformer\ 170}#
|
|
(#{chi\ 164}#
|
|
#{x\ 620}#
|
|
#{trans-r\ 619}#
|
|
#{w\ 618}#
|
|
#{mod\ 604}#)
|
|
#{mod\ 604}#)))
|
|
#{val\ 610}#))
|
|
#{r\ 601}#)
|
|
#{new-w\ 616}#
|
|
#{s\ 603}#
|
|
#{mod\ 604}#))))))
|
|
#{tmp\ 607}#)
|
|
((lambda (#{_\ 622}#)
|
|
(syntax-violation
|
|
#f
|
|
"bad local syntax definition"
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 600}#
|
|
#{w\ 602}#
|
|
#{s\ 603}#
|
|
#{mod\ 604}#)))
|
|
#{tmp\ 606}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 606}#
|
|
'(any #(each (any any)) any . each-any))))
|
|
#{e\ 600}#)))
|
|
(#{chi-body\ 168}#
|
|
(lambda (#{body\ 623}#
|
|
#{outer-form\ 624}#
|
|
#{r\ 625}#
|
|
#{w\ 626}#
|
|
#{mod\ 627}#)
|
|
(let ((#{r\ 628}# (cons '("placeholder" placeholder)
|
|
#{r\ 625}#)))
|
|
(let ((#{ribcage\ 629}#
|
|
(#{make-ribcage\ 135}#
|
|
'()
|
|
'()
|
|
'())))
|
|
(let ((#{w\ 630}# (#{make-wrap\ 130}#
|
|
(#{wrap-marks\ 131}# #{w\ 626}#)
|
|
(cons #{ribcage\ 629}#
|
|
(#{wrap-subst\ 132}#
|
|
#{w\ 626}#)))))
|
|
(letrec ((#{parse\ 631}#
|
|
(lambda (#{body\ 632}#
|
|
#{ids\ 633}#
|
|
#{labels\ 634}#
|
|
#{var-ids\ 635}#
|
|
#{vars\ 636}#
|
|
#{vals\ 637}#
|
|
#{bindings\ 638}#)
|
|
(if (null? #{body\ 632}#)
|
|
(syntax-violation
|
|
#f
|
|
"no expressions in body"
|
|
#{outer-form\ 624}#)
|
|
(let ((#{e\ 640}# (cdar #{body\ 632}#))
|
|
(#{er\ 641}# (caar #{body\ 632}#)))
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{syntax-type\ 162}#
|
|
#{e\ 640}#
|
|
#{er\ 641}#
|
|
'(())
|
|
(#{source-annotation\ 119}#
|
|
#{er\ 641}#)
|
|
#{ribcage\ 629}#
|
|
#{mod\ 627}#
|
|
#f))
|
|
(lambda (#{type\ 642}#
|
|
#{value\ 643}#
|
|
#{e\ 644}#
|
|
#{w\ 645}#
|
|
#{s\ 646}#
|
|
#{mod\ 647}#)
|
|
(if (memv #{type\ 642}#
|
|
'(define-form))
|
|
(let ((#{id\ 648}#
|
|
(#{wrap\ 156}#
|
|
#{value\ 643}#
|
|
#{w\ 645}#
|
|
#{mod\ 647}#))
|
|
(#{label\ 649}#
|
|
(#{gen-label\ 133}#)))
|
|
(let ((#{var\ 650}#
|
|
(#{gen-var\ 178}#
|
|
#{id\ 648}#)))
|
|
(begin
|
|
(#{extend-ribcage!\ 144}#
|
|
#{ribcage\ 629}#
|
|
#{id\ 648}#
|
|
#{label\ 649}#)
|
|
(#{parse\ 631}#
|
|
(cdr #{body\ 632}#)
|
|
(cons #{id\ 648}#
|
|
#{ids\ 633}#)
|
|
(cons #{label\ 649}#
|
|
#{labels\ 634}#)
|
|
(cons #{id\ 648}#
|
|
#{var-ids\ 635}#)
|
|
(cons #{var\ 650}#
|
|
#{vars\ 636}#)
|
|
(cons (cons #{er\ 641}#
|
|
(#{wrap\ 156}#
|
|
#{e\ 644}#
|
|
#{w\ 645}#
|
|
#{mod\ 647}#))
|
|
#{vals\ 637}#)
|
|
(cons (cons 'lexical
|
|
#{var\ 650}#)
|
|
#{bindings\ 638}#)))))
|
|
(if (memv #{type\ 642}#
|
|
'(define-syntax-form))
|
|
(let ((#{id\ 651}#
|
|
(#{wrap\ 156}#
|
|
#{value\ 643}#
|
|
#{w\ 645}#
|
|
#{mod\ 647}#))
|
|
(#{label\ 652}#
|
|
(#{gen-label\ 133}#)))
|
|
(begin
|
|
(#{extend-ribcage!\ 144}#
|
|
#{ribcage\ 629}#
|
|
#{id\ 651}#
|
|
#{label\ 652}#)
|
|
(#{parse\ 631}#
|
|
(cdr #{body\ 632}#)
|
|
(cons #{id\ 651}#
|
|
#{ids\ 633}#)
|
|
(cons #{label\ 652}#
|
|
#{labels\ 634}#)
|
|
#{var-ids\ 635}#
|
|
#{vars\ 636}#
|
|
#{vals\ 637}#
|
|
(cons (cons 'macro
|
|
(cons #{er\ 641}#
|
|
(#{wrap\ 156}#
|
|
#{e\ 644}#
|
|
#{w\ 645}#
|
|
#{mod\ 647}#)))
|
|
#{bindings\ 638}#))))
|
|
(if (memv #{type\ 642}#
|
|
'(begin-form))
|
|
((lambda (#{tmp\ 653}#)
|
|
((lambda (#{tmp\ 654}#)
|
|
(if #{tmp\ 654}#
|
|
(apply (lambda (#{_\ 655}#
|
|
#{e1\ 656}#)
|
|
(#{parse\ 631}#
|
|
(letrec ((#{f\ 657}# (lambda (#{forms\ 658}#)
|
|
(if (null? #{forms\ 658}#)
|
|
(cdr #{body\ 632}#)
|
|
(cons (cons #{er\ 641}#
|
|
(#{wrap\ 156}#
|
|
(car #{forms\ 658}#)
|
|
#{w\ 645}#
|
|
#{mod\ 647}#))
|
|
(#{f\ 657}# (cdr #{forms\ 658}#)))))))
|
|
(#{f\ 657}# #{e1\ 656}#))
|
|
#{ids\ 633}#
|
|
#{labels\ 634}#
|
|
#{var-ids\ 635}#
|
|
#{vars\ 636}#
|
|
#{vals\ 637}#
|
|
#{bindings\ 638}#))
|
|
#{tmp\ 654}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 653}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 653}#
|
|
'(any . each-any))))
|
|
#{e\ 644}#)
|
|
(if (memv #{type\ 642}#
|
|
'(local-syntax-form))
|
|
(#{chi-local-syntax\ 169}#
|
|
#{value\ 643}#
|
|
#{e\ 644}#
|
|
#{er\ 641}#
|
|
#{w\ 645}#
|
|
#{s\ 646}#
|
|
#{mod\ 647}#
|
|
(lambda (#{forms\ 660}#
|
|
#{er\ 661}#
|
|
#{w\ 662}#
|
|
#{s\ 663}#
|
|
#{mod\ 664}#)
|
|
(#{parse\ 631}#
|
|
(letrec ((#{f\ 665}# (lambda (#{forms\ 666}#)
|
|
(if (null? #{forms\ 666}#)
|
|
(cdr #{body\ 632}#)
|
|
(cons (cons #{er\ 661}#
|
|
(#{wrap\ 156}#
|
|
(car #{forms\ 666}#)
|
|
#{w\ 662}#
|
|
#{mod\ 664}#))
|
|
(#{f\ 665}# (cdr #{forms\ 666}#)))))))
|
|
(#{f\ 665}# #{forms\ 660}#))
|
|
#{ids\ 633}#
|
|
#{labels\ 634}#
|
|
#{var-ids\ 635}#
|
|
#{vars\ 636}#
|
|
#{vals\ 637}#
|
|
#{bindings\ 638}#)))
|
|
(if (null? #{ids\ 633}#)
|
|
(#{build-sequence\ 107}#
|
|
#f
|
|
(map (lambda (#{x\ 667}#)
|
|
(#{chi\ 164}#
|
|
(cdr #{x\ 667}#)
|
|
(car #{x\ 667}#)
|
|
'(())
|
|
#{mod\ 647}#))
|
|
(cons (cons #{er\ 641}#
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 644}#
|
|
#{w\ 645}#
|
|
#{s\ 646}#
|
|
#{mod\ 647}#))
|
|
(cdr #{body\ 632}#))))
|
|
(begin
|
|
(if (not (#{valid-bound-ids?\ 153}#
|
|
#{ids\ 633}#))
|
|
(syntax-violation
|
|
#f
|
|
"invalid or duplicate identifier in definition"
|
|
#{outer-form\ 624}#))
|
|
(letrec ((#{loop\ 668}#
|
|
(lambda (#{bs\ 669}#
|
|
#{er-cache\ 670}#
|
|
#{r-cache\ 671}#)
|
|
(if (not (null? #{bs\ 669}#))
|
|
(let ((#{b\ 672}# (car #{bs\ 669}#)))
|
|
(if (eq? (car #{b\ 672}#)
|
|
'macro)
|
|
(let ((#{er\ 673}#
|
|
(cadr #{b\ 672}#)))
|
|
(let ((#{r-cache\ 674}#
|
|
(if (eq? #{er\ 673}#
|
|
#{er-cache\ 670}#)
|
|
#{r-cache\ 671}#
|
|
(#{macros-only-env\ 124}#
|
|
#{er\ 673}#))))
|
|
(begin
|
|
(set-cdr!
|
|
#{b\ 672}#
|
|
(#{eval-local-transformer\ 170}#
|
|
(#{chi\ 164}#
|
|
(cddr #{b\ 672}#)
|
|
#{r-cache\ 674}#
|
|
'(())
|
|
#{mod\ 647}#)
|
|
#{mod\ 647}#))
|
|
(#{loop\ 668}#
|
|
(cdr #{bs\ 669}#)
|
|
#{er\ 673}#
|
|
#{r-cache\ 674}#))))
|
|
(#{loop\ 668}#
|
|
(cdr #{bs\ 669}#)
|
|
#{er-cache\ 670}#
|
|
#{r-cache\ 671}#)))))))
|
|
(#{loop\ 668}#
|
|
#{bindings\ 638}#
|
|
#f
|
|
#f))
|
|
(set-cdr!
|
|
#{r\ 628}#
|
|
(#{extend-env\ 122}#
|
|
#{labels\ 634}#
|
|
#{bindings\ 638}#
|
|
(cdr #{r\ 628}#)))
|
|
(#{build-letrec\ 110}#
|
|
#f
|
|
(map syntax->datum
|
|
#{var-ids\ 635}#)
|
|
#{vars\ 636}#
|
|
(map (lambda (#{x\ 675}#)
|
|
(#{chi\ 164}#
|
|
(cdr #{x\ 675}#)
|
|
(car #{x\ 675}#)
|
|
'(())
|
|
#{mod\ 647}#))
|
|
#{vals\ 637}#)
|
|
(#{build-sequence\ 107}#
|
|
#f
|
|
(map (lambda (#{x\ 676}#)
|
|
(#{chi\ 164}#
|
|
(cdr #{x\ 676}#)
|
|
(car #{x\ 676}#)
|
|
'(())
|
|
#{mod\ 647}#))
|
|
(cons (cons #{er\ 641}#
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 644}#
|
|
#{w\ 645}#
|
|
#{s\ 646}#
|
|
#{mod\ 647}#))
|
|
(cdr #{body\ 632}#))))))))))))))))))
|
|
(#{parse\ 631}#
|
|
(map (lambda (#{x\ 639}#)
|
|
(cons #{r\ 628}#
|
|
(#{wrap\ 156}#
|
|
#{x\ 639}#
|
|
#{w\ 630}#
|
|
#{mod\ 627}#)))
|
|
#{body\ 623}#)
|
|
'()
|
|
'()
|
|
'()
|
|
'()
|
|
'()
|
|
'())))))))
|
|
(#{chi-macro\ 167}#
|
|
(lambda (#{p\ 677}#
|
|
#{e\ 678}#
|
|
#{r\ 679}#
|
|
#{w\ 680}#
|
|
#{rib\ 681}#
|
|
#{mod\ 682}#)
|
|
(letrec ((#{rebuild-macro-output\ 683}#
|
|
(lambda (#{x\ 684}# #{m\ 685}#)
|
|
(if (pair? #{x\ 684}#)
|
|
(cons (#{rebuild-macro-output\ 683}#
|
|
(car #{x\ 684}#)
|
|
#{m\ 685}#)
|
|
(#{rebuild-macro-output\ 683}#
|
|
(cdr #{x\ 684}#)
|
|
#{m\ 685}#))
|
|
(if (#{syntax-object?\ 112}# #{x\ 684}#)
|
|
(let ((#{w\ 686}# (#{syntax-object-wrap\ 114}#
|
|
#{x\ 684}#)))
|
|
(let ((#{ms\ 687}#
|
|
(#{wrap-marks\ 131}# #{w\ 686}#))
|
|
(#{s\ 688}# (#{wrap-subst\ 132}#
|
|
#{w\ 686}#)))
|
|
(if (if (pair? #{ms\ 687}#)
|
|
(eq? (car #{ms\ 687}#) #f)
|
|
#f)
|
|
(#{make-syntax-object\ 111}#
|
|
(#{syntax-object-expression\ 113}#
|
|
#{x\ 684}#)
|
|
(#{make-wrap\ 130}#
|
|
(cdr #{ms\ 687}#)
|
|
(if #{rib\ 681}#
|
|
(cons #{rib\ 681}#
|
|
(cdr #{s\ 688}#))
|
|
(cdr #{s\ 688}#)))
|
|
(#{syntax-object-module\ 115}#
|
|
#{x\ 684}#))
|
|
(#{make-syntax-object\ 111}#
|
|
(#{syntax-object-expression\ 113}#
|
|
#{x\ 684}#)
|
|
(#{make-wrap\ 130}#
|
|
(cons #{m\ 685}# #{ms\ 687}#)
|
|
(if #{rib\ 681}#
|
|
(cons #{rib\ 681}#
|
|
(cons 'shift
|
|
#{s\ 688}#))
|
|
(cons (quote shift) #{s\ 688}#)))
|
|
(cons 'hygiene
|
|
(cdr #{p\ 677}#))))))
|
|
(if (vector? #{x\ 684}#)
|
|
(let ((#{n\ 689}# (vector-length
|
|
#{x\ 684}#)))
|
|
(let ((#{v\ 690}# (make-vector
|
|
#{n\ 689}#)))
|
|
(letrec ((#{loop\ 691}#
|
|
(lambda (#{i\ 692}#)
|
|
(if (#{fx=\ 85}#
|
|
#{i\ 692}#
|
|
#{n\ 689}#)
|
|
(begin
|
|
(if #f #f)
|
|
#{v\ 690}#)
|
|
(begin
|
|
(vector-set!
|
|
#{v\ 690}#
|
|
#{i\ 692}#
|
|
(#{rebuild-macro-output\ 683}#
|
|
(vector-ref
|
|
#{x\ 684}#
|
|
#{i\ 692}#)
|
|
#{m\ 685}#))
|
|
(#{loop\ 691}#
|
|
(#{fx+\ 83}#
|
|
#{i\ 692}#
|
|
1)))))))
|
|
(#{loop\ 691}# 0))))
|
|
(if (symbol? #{x\ 684}#)
|
|
(syntax-violation
|
|
#f
|
|
"encountered raw symbol in macro output"
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 678}#
|
|
#{w\ 680}#
|
|
(#{wrap-subst\ 132}# #{w\ 680}#)
|
|
#{mod\ 682}#)
|
|
#{x\ 684}#)
|
|
#{x\ 684}#)))))))
|
|
(#{rebuild-macro-output\ 683}#
|
|
((car #{p\ 677}#)
|
|
(#{wrap\ 156}#
|
|
#{e\ 678}#
|
|
(#{anti-mark\ 143}# #{w\ 680}#)
|
|
#{mod\ 682}#))
|
|
(gensym "m")))))
|
|
(#{chi-application\ 166}#
|
|
(lambda (#{x\ 693}#
|
|
#{e\ 694}#
|
|
#{r\ 695}#
|
|
#{w\ 696}#
|
|
#{s\ 697}#
|
|
#{mod\ 698}#)
|
|
((lambda (#{tmp\ 699}#)
|
|
((lambda (#{tmp\ 700}#)
|
|
(if #{tmp\ 700}#
|
|
(apply (lambda (#{e0\ 701}# #{e1\ 702}#)
|
|
(#{build-application\ 93}#
|
|
#{s\ 697}#
|
|
#{x\ 693}#
|
|
(map (lambda (#{e\ 703}#)
|
|
(#{chi\ 164}#
|
|
#{e\ 703}#
|
|
#{r\ 695}#
|
|
#{w\ 696}#
|
|
#{mod\ 698}#))
|
|
#{e1\ 702}#)))
|
|
#{tmp\ 700}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 699}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 699}#
|
|
'(any . each-any))))
|
|
#{e\ 694}#)))
|
|
(#{chi-expr\ 165}#
|
|
(lambda (#{type\ 705}#
|
|
#{value\ 706}#
|
|
#{e\ 707}#
|
|
#{r\ 708}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#)
|
|
(if (memv #{type\ 705}# (quote (lexical)))
|
|
(#{build-lexical-reference\ 95}#
|
|
'value
|
|
#{s\ 710}#
|
|
#{e\ 707}#
|
|
#{value\ 706}#)
|
|
(if (memv #{type\ 705}# (quote (core core-form)))
|
|
(#{value\ 706}#
|
|
#{e\ 707}#
|
|
#{r\ 708}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#)
|
|
(if (memv #{type\ 705}# (quote (module-ref)))
|
|
(call-with-values
|
|
(lambda () (#{value\ 706}# #{e\ 707}#))
|
|
(lambda (#{id\ 712}# #{mod\ 713}#)
|
|
(#{build-global-reference\ 98}#
|
|
#{s\ 710}#
|
|
#{id\ 712}#
|
|
#{mod\ 713}#)))
|
|
(if (memv #{type\ 705}# (quote (lexical-call)))
|
|
(#{chi-application\ 166}#
|
|
(#{build-lexical-reference\ 95}#
|
|
'fun
|
|
(#{source-annotation\ 119}# (car #{e\ 707}#))
|
|
(car #{e\ 707}#)
|
|
#{value\ 706}#)
|
|
#{e\ 707}#
|
|
#{r\ 708}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#)
|
|
(if (memv #{type\ 705}# (quote (global-call)))
|
|
(#{chi-application\ 166}#
|
|
(#{build-global-reference\ 98}#
|
|
(#{source-annotation\ 119}# (car #{e\ 707}#))
|
|
(if (#{syntax-object?\ 112}# #{value\ 706}#)
|
|
(#{syntax-object-expression\ 113}#
|
|
#{value\ 706}#)
|
|
#{value\ 706}#)
|
|
(if (#{syntax-object?\ 112}# #{value\ 706}#)
|
|
(#{syntax-object-module\ 115}# #{value\ 706}#)
|
|
#{mod\ 711}#))
|
|
#{e\ 707}#
|
|
#{r\ 708}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#)
|
|
(if (memv #{type\ 705}# (quote (constant)))
|
|
(#{build-data\ 106}#
|
|
#{s\ 710}#
|
|
(#{strip\ 177}#
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 707}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#)
|
|
'(())))
|
|
(if (memv #{type\ 705}# (quote (global)))
|
|
(#{build-global-reference\ 98}#
|
|
#{s\ 710}#
|
|
#{value\ 706}#
|
|
#{mod\ 711}#)
|
|
(if (memv #{type\ 705}# (quote (call)))
|
|
(#{chi-application\ 166}#
|
|
(#{chi\ 164}#
|
|
(car #{e\ 707}#)
|
|
#{r\ 708}#
|
|
#{w\ 709}#
|
|
#{mod\ 711}#)
|
|
#{e\ 707}#
|
|
#{r\ 708}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#)
|
|
(if (memv #{type\ 705}# (quote (begin-form)))
|
|
((lambda (#{tmp\ 714}#)
|
|
((lambda (#{tmp\ 715}#)
|
|
(if #{tmp\ 715}#
|
|
(apply (lambda (#{_\ 716}#
|
|
#{e1\ 717}#
|
|
#{e2\ 718}#)
|
|
(#{chi-sequence\ 158}#
|
|
(cons #{e1\ 717}#
|
|
#{e2\ 718}#)
|
|
#{r\ 708}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#))
|
|
#{tmp\ 715}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 714}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 714}#
|
|
'(any any . each-any))))
|
|
#{e\ 707}#)
|
|
(if (memv #{type\ 705}#
|
|
'(local-syntax-form))
|
|
(#{chi-local-syntax\ 169}#
|
|
#{value\ 706}#
|
|
#{e\ 707}#
|
|
#{r\ 708}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#
|
|
#{chi-sequence\ 158}#)
|
|
(if (memv #{type\ 705}#
|
|
'(eval-when-form))
|
|
((lambda (#{tmp\ 720}#)
|
|
((lambda (#{tmp\ 721}#)
|
|
(if #{tmp\ 721}#
|
|
(apply (lambda (#{_\ 722}#
|
|
#{x\ 723}#
|
|
#{e1\ 724}#
|
|
#{e2\ 725}#)
|
|
(let ((#{when-list\ 726}#
|
|
(#{chi-when-list\ 161}#
|
|
#{e\ 707}#
|
|
#{x\ 723}#
|
|
#{w\ 709}#)))
|
|
(if (memq 'eval
|
|
#{when-list\ 726}#)
|
|
(#{chi-sequence\ 158}#
|
|
(cons #{e1\ 724}#
|
|
#{e2\ 725}#)
|
|
#{r\ 708}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#)
|
|
(#{chi-void\ 171}#))))
|
|
#{tmp\ 721}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 720}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 720}#
|
|
'(any each-any any . each-any))))
|
|
#{e\ 707}#)
|
|
(if (memv #{type\ 705}#
|
|
'(define-form
|
|
define-syntax-form))
|
|
(syntax-violation
|
|
#f
|
|
"definition in expression context"
|
|
#{e\ 707}#
|
|
(#{wrap\ 156}#
|
|
#{value\ 706}#
|
|
#{w\ 709}#
|
|
#{mod\ 711}#))
|
|
(if (memv #{type\ 705}#
|
|
'(syntax))
|
|
(syntax-violation
|
|
#f
|
|
"reference to pattern variable outside syntax form"
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 707}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#))
|
|
(if (memv #{type\ 705}#
|
|
'(displaced-lexical))
|
|
(syntax-violation
|
|
#f
|
|
"reference to identifier outside its scope"
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 707}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#))
|
|
(syntax-violation
|
|
#f
|
|
"unexpected syntax"
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 707}#
|
|
#{w\ 709}#
|
|
#{s\ 710}#
|
|
#{mod\ 711}#))))))))))))))))))
|
|
(#{chi\ 164}#
|
|
(lambda (#{e\ 729}# #{r\ 730}# #{w\ 731}# #{mod\ 732}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{syntax-type\ 162}#
|
|
#{e\ 729}#
|
|
#{r\ 730}#
|
|
#{w\ 731}#
|
|
(#{source-annotation\ 119}# #{e\ 729}#)
|
|
#f
|
|
#{mod\ 732}#
|
|
#f))
|
|
(lambda (#{type\ 733}#
|
|
#{value\ 734}#
|
|
#{e\ 735}#
|
|
#{w\ 736}#
|
|
#{s\ 737}#
|
|
#{mod\ 738}#)
|
|
(#{chi-expr\ 165}#
|
|
#{type\ 733}#
|
|
#{value\ 734}#
|
|
#{e\ 735}#
|
|
#{r\ 730}#
|
|
#{w\ 736}#
|
|
#{s\ 737}#
|
|
#{mod\ 738}#)))))
|
|
(#{chi-top\ 163}#
|
|
(lambda (#{e\ 739}#
|
|
#{r\ 740}#
|
|
#{w\ 741}#
|
|
#{m\ 742}#
|
|
#{esew\ 743}#
|
|
#{mod\ 744}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{syntax-type\ 162}#
|
|
#{e\ 739}#
|
|
#{r\ 740}#
|
|
#{w\ 741}#
|
|
(#{source-annotation\ 119}# #{e\ 739}#)
|
|
#f
|
|
#{mod\ 744}#
|
|
#f))
|
|
(lambda (#{type\ 752}#
|
|
#{value\ 753}#
|
|
#{e\ 754}#
|
|
#{w\ 755}#
|
|
#{s\ 756}#
|
|
#{mod\ 757}#)
|
|
(if (memv #{type\ 752}# (quote (begin-form)))
|
|
((lambda (#{tmp\ 758}#)
|
|
((lambda (#{tmp\ 759}#)
|
|
(if #{tmp\ 759}#
|
|
(apply (lambda (#{_\ 760}#) (#{chi-void\ 171}#))
|
|
#{tmp\ 759}#)
|
|
((lambda (#{tmp\ 761}#)
|
|
(if #{tmp\ 761}#
|
|
(apply (lambda (#{_\ 762}#
|
|
#{e1\ 763}#
|
|
#{e2\ 764}#)
|
|
(#{chi-top-sequence\ 159}#
|
|
(cons #{e1\ 763}# #{e2\ 764}#)
|
|
#{r\ 740}#
|
|
#{w\ 755}#
|
|
#{s\ 756}#
|
|
#{m\ 742}#
|
|
#{esew\ 743}#
|
|
#{mod\ 757}#))
|
|
#{tmp\ 761}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 758}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 758}#
|
|
'(any any . each-any)))))
|
|
($sc-dispatch #{tmp\ 758}# (quote (any)))))
|
|
#{e\ 754}#)
|
|
(if (memv #{type\ 752}# (quote (local-syntax-form)))
|
|
(#{chi-local-syntax\ 169}#
|
|
#{value\ 753}#
|
|
#{e\ 754}#
|
|
#{r\ 740}#
|
|
#{w\ 755}#
|
|
#{s\ 756}#
|
|
#{mod\ 757}#
|
|
(lambda (#{body\ 766}#
|
|
#{r\ 767}#
|
|
#{w\ 768}#
|
|
#{s\ 769}#
|
|
#{mod\ 770}#)
|
|
(#{chi-top-sequence\ 159}#
|
|
#{body\ 766}#
|
|
#{r\ 767}#
|
|
#{w\ 768}#
|
|
#{s\ 769}#
|
|
#{m\ 742}#
|
|
#{esew\ 743}#
|
|
#{mod\ 770}#)))
|
|
(if (memv #{type\ 752}# (quote (eval-when-form)))
|
|
((lambda (#{tmp\ 771}#)
|
|
((lambda (#{tmp\ 772}#)
|
|
(if #{tmp\ 772}#
|
|
(apply (lambda (#{_\ 773}#
|
|
#{x\ 774}#
|
|
#{e1\ 775}#
|
|
#{e2\ 776}#)
|
|
(let ((#{when-list\ 777}#
|
|
(#{chi-when-list\ 161}#
|
|
#{e\ 754}#
|
|
#{x\ 774}#
|
|
#{w\ 755}#))
|
|
(#{body\ 778}#
|
|
(cons #{e1\ 775}#
|
|
#{e2\ 776}#)))
|
|
(if (eq? #{m\ 742}# (quote e))
|
|
(if (memq 'eval
|
|
#{when-list\ 777}#)
|
|
(#{chi-top-sequence\ 159}#
|
|
#{body\ 778}#
|
|
#{r\ 740}#
|
|
#{w\ 755}#
|
|
#{s\ 756}#
|
|
'e
|
|
'(eval)
|
|
#{mod\ 757}#)
|
|
(#{chi-void\ 171}#))
|
|
(if (memq 'load
|
|
#{when-list\ 777}#)
|
|
(if (let ((#{t\ 781}# (memq 'compile
|
|
#{when-list\ 777}#)))
|
|
(if #{t\ 781}#
|
|
#{t\ 781}#
|
|
(if (eq? #{m\ 742}#
|
|
'c&e)
|
|
(memq 'eval
|
|
#{when-list\ 777}#)
|
|
#f)))
|
|
(#{chi-top-sequence\ 159}#
|
|
#{body\ 778}#
|
|
#{r\ 740}#
|
|
#{w\ 755}#
|
|
#{s\ 756}#
|
|
'c&e
|
|
'(compile load)
|
|
#{mod\ 757}#)
|
|
(if (memq #{m\ 742}#
|
|
'(c c&e))
|
|
(#{chi-top-sequence\ 159}#
|
|
#{body\ 778}#
|
|
#{r\ 740}#
|
|
#{w\ 755}#
|
|
#{s\ 756}#
|
|
'c
|
|
'(load)
|
|
#{mod\ 757}#)
|
|
(#{chi-void\ 171}#)))
|
|
(if (let ((#{t\ 782}# (memq 'compile
|
|
#{when-list\ 777}#)))
|
|
(if #{t\ 782}#
|
|
#{t\ 782}#
|
|
(if (eq? #{m\ 742}#
|
|
'c&e)
|
|
(memq 'eval
|
|
#{when-list\ 777}#)
|
|
#f)))
|
|
(begin
|
|
(#{top-level-eval-hook\ 87}#
|
|
(#{chi-top-sequence\ 159}#
|
|
#{body\ 778}#
|
|
#{r\ 740}#
|
|
#{w\ 755}#
|
|
#{s\ 756}#
|
|
'e
|
|
'(eval)
|
|
#{mod\ 757}#)
|
|
#{mod\ 757}#)
|
|
(#{chi-void\ 171}#))
|
|
(#{chi-void\ 171}#))))))
|
|
#{tmp\ 772}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 771}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 771}#
|
|
'(any each-any any . each-any))))
|
|
#{e\ 754}#)
|
|
(if (memv #{type\ 752}# (quote (define-syntax-form)))
|
|
(let ((#{n\ 783}# (#{id-var-name\ 150}#
|
|
#{value\ 753}#
|
|
#{w\ 755}#))
|
|
(#{r\ 784}# (#{macros-only-env\ 124}#
|
|
#{r\ 740}#)))
|
|
(if (memv #{m\ 742}# (quote (c)))
|
|
(if (memq (quote compile) #{esew\ 743}#)
|
|
(let ((#{e\ 785}# (#{chi-install-global\ 160}#
|
|
#{n\ 783}#
|
|
(#{chi\ 164}#
|
|
#{e\ 754}#
|
|
#{r\ 784}#
|
|
#{w\ 755}#
|
|
#{mod\ 757}#))))
|
|
(begin
|
|
(#{top-level-eval-hook\ 87}#
|
|
#{e\ 785}#
|
|
#{mod\ 757}#)
|
|
(if (memq (quote load) #{esew\ 743}#)
|
|
#{e\ 785}#
|
|
(#{chi-void\ 171}#))))
|
|
(if (memq (quote load) #{esew\ 743}#)
|
|
(#{chi-install-global\ 160}#
|
|
#{n\ 783}#
|
|
(#{chi\ 164}#
|
|
#{e\ 754}#
|
|
#{r\ 784}#
|
|
#{w\ 755}#
|
|
#{mod\ 757}#))
|
|
(#{chi-void\ 171}#)))
|
|
(if (memv #{m\ 742}# (quote (c&e)))
|
|
(let ((#{e\ 786}# (#{chi-install-global\ 160}#
|
|
#{n\ 783}#
|
|
(#{chi\ 164}#
|
|
#{e\ 754}#
|
|
#{r\ 784}#
|
|
#{w\ 755}#
|
|
#{mod\ 757}#))))
|
|
(begin
|
|
(#{top-level-eval-hook\ 87}#
|
|
#{e\ 786}#
|
|
#{mod\ 757}#)
|
|
#{e\ 786}#))
|
|
(begin
|
|
(if (memq (quote eval) #{esew\ 743}#)
|
|
(#{top-level-eval-hook\ 87}#
|
|
(#{chi-install-global\ 160}#
|
|
#{n\ 783}#
|
|
(#{chi\ 164}#
|
|
#{e\ 754}#
|
|
#{r\ 784}#
|
|
#{w\ 755}#
|
|
#{mod\ 757}#))
|
|
#{mod\ 757}#))
|
|
(#{chi-void\ 171}#)))))
|
|
(if (memv #{type\ 752}# (quote (define-form)))
|
|
(let ((#{n\ 787}# (#{id-var-name\ 150}#
|
|
#{value\ 753}#
|
|
#{w\ 755}#)))
|
|
(let ((#{type\ 788}#
|
|
(#{binding-type\ 120}#
|
|
(#{lookup\ 125}#
|
|
#{n\ 787}#
|
|
#{r\ 740}#
|
|
#{mod\ 757}#))))
|
|
(if (memv #{type\ 788}#
|
|
'(global core macro module-ref))
|
|
(begin
|
|
(if (if (not (module-local-variable
|
|
(current-module)
|
|
#{n\ 787}#))
|
|
(current-module)
|
|
#f)
|
|
(let ((#{old\ 789}#
|
|
(module-variable
|
|
(current-module)
|
|
#{n\ 787}#)))
|
|
(module-define!
|
|
(current-module)
|
|
#{n\ 787}#
|
|
(if (variable? #{old\ 789}#)
|
|
(variable-ref #{old\ 789}#)
|
|
#f))))
|
|
(let ((#{x\ 790}# (#{build-global-definition\ 101}#
|
|
#{s\ 756}#
|
|
#{n\ 787}#
|
|
(#{chi\ 164}#
|
|
#{e\ 754}#
|
|
#{r\ 740}#
|
|
#{w\ 755}#
|
|
#{mod\ 757}#))))
|
|
(begin
|
|
(if (eq? #{m\ 742}# (quote c&e))
|
|
(#{top-level-eval-hook\ 87}#
|
|
#{x\ 790}#
|
|
#{mod\ 757}#))
|
|
#{x\ 790}#)))
|
|
(if (memv #{type\ 788}#
|
|
'(displaced-lexical))
|
|
(syntax-violation
|
|
#f
|
|
"identifier out of context"
|
|
#{e\ 754}#
|
|
(#{wrap\ 156}#
|
|
#{value\ 753}#
|
|
#{w\ 755}#
|
|
#{mod\ 757}#))
|
|
(syntax-violation
|
|
#f
|
|
"cannot define keyword at top level"
|
|
#{e\ 754}#
|
|
(#{wrap\ 156}#
|
|
#{value\ 753}#
|
|
#{w\ 755}#
|
|
#{mod\ 757}#))))))
|
|
(let ((#{x\ 791}# (#{chi-expr\ 165}#
|
|
#{type\ 752}#
|
|
#{value\ 753}#
|
|
#{e\ 754}#
|
|
#{r\ 740}#
|
|
#{w\ 755}#
|
|
#{s\ 756}#
|
|
#{mod\ 757}#)))
|
|
(begin
|
|
(if (eq? #{m\ 742}# (quote c&e))
|
|
(#{top-level-eval-hook\ 87}#
|
|
#{x\ 791}#
|
|
#{mod\ 757}#))
|
|
#{x\ 791}#)))))))))))
|
|
(#{syntax-type\ 162}#
|
|
(lambda (#{e\ 792}#
|
|
#{r\ 793}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{rib\ 796}#
|
|
#{mod\ 797}#
|
|
#{for-car?\ 798}#)
|
|
(if (symbol? #{e\ 792}#)
|
|
(let ((#{n\ 799}# (#{id-var-name\ 150}#
|
|
#{e\ 792}#
|
|
#{w\ 794}#)))
|
|
(let ((#{b\ 800}# (#{lookup\ 125}#
|
|
#{n\ 799}#
|
|
#{r\ 793}#
|
|
#{mod\ 797}#)))
|
|
(let ((#{type\ 801}#
|
|
(#{binding-type\ 120}# #{b\ 800}#)))
|
|
(if (memv #{type\ 801}# (quote (lexical)))
|
|
(values
|
|
#{type\ 801}#
|
|
(#{binding-value\ 121}# #{b\ 800}#)
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)
|
|
(if (memv #{type\ 801}# (quote (global)))
|
|
(values
|
|
#{type\ 801}#
|
|
#{n\ 799}#
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)
|
|
(if (memv #{type\ 801}# (quote (macro)))
|
|
(if #{for-car?\ 798}#
|
|
(values
|
|
#{type\ 801}#
|
|
(#{binding-value\ 121}# #{b\ 800}#)
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)
|
|
(#{syntax-type\ 162}#
|
|
(#{chi-macro\ 167}#
|
|
(#{binding-value\ 121}# #{b\ 800}#)
|
|
#{e\ 792}#
|
|
#{r\ 793}#
|
|
#{w\ 794}#
|
|
#{rib\ 796}#
|
|
#{mod\ 797}#)
|
|
#{r\ 793}#
|
|
'(())
|
|
#{s\ 795}#
|
|
#{rib\ 796}#
|
|
#{mod\ 797}#
|
|
#f))
|
|
(values
|
|
#{type\ 801}#
|
|
(#{binding-value\ 121}# #{b\ 800}#)
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)))))))
|
|
(if (pair? #{e\ 792}#)
|
|
(let ((#{first\ 802}# (car #{e\ 792}#)))
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{syntax-type\ 162}#
|
|
#{first\ 802}#
|
|
#{r\ 793}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{rib\ 796}#
|
|
#{mod\ 797}#
|
|
#t))
|
|
(lambda (#{ftype\ 803}#
|
|
#{fval\ 804}#
|
|
#{fe\ 805}#
|
|
#{fw\ 806}#
|
|
#{fs\ 807}#
|
|
#{fmod\ 808}#)
|
|
(if (memv #{ftype\ 803}# (quote (lexical)))
|
|
(values
|
|
'lexical-call
|
|
#{fval\ 804}#
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)
|
|
(if (memv #{ftype\ 803}# (quote (global)))
|
|
(values
|
|
'global-call
|
|
(#{make-syntax-object\ 111}#
|
|
#{fval\ 804}#
|
|
#{w\ 794}#
|
|
#{fmod\ 808}#)
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)
|
|
(if (memv #{ftype\ 803}# (quote (macro)))
|
|
(#{syntax-type\ 162}#
|
|
(#{chi-macro\ 167}#
|
|
#{fval\ 804}#
|
|
#{e\ 792}#
|
|
#{r\ 793}#
|
|
#{w\ 794}#
|
|
#{rib\ 796}#
|
|
#{mod\ 797}#)
|
|
#{r\ 793}#
|
|
'(())
|
|
#{s\ 795}#
|
|
#{rib\ 796}#
|
|
#{mod\ 797}#
|
|
#{for-car?\ 798}#)
|
|
(if (memv #{ftype\ 803}# (quote (module-ref)))
|
|
(call-with-values
|
|
(lambda () (#{fval\ 804}# #{e\ 792}#))
|
|
(lambda (#{sym\ 809}# #{mod\ 810}#)
|
|
(#{syntax-type\ 162}#
|
|
#{sym\ 809}#
|
|
#{r\ 793}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{rib\ 796}#
|
|
#{mod\ 810}#
|
|
#{for-car?\ 798}#)))
|
|
(if (memv #{ftype\ 803}# (quote (core)))
|
|
(values
|
|
'core-form
|
|
#{fval\ 804}#
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)
|
|
(if (memv #{ftype\ 803}#
|
|
'(local-syntax))
|
|
(values
|
|
'local-syntax-form
|
|
#{fval\ 804}#
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)
|
|
(if (memv #{ftype\ 803}# (quote (begin)))
|
|
(values
|
|
'begin-form
|
|
#f
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)
|
|
(if (memv #{ftype\ 803}#
|
|
'(eval-when))
|
|
(values
|
|
'eval-when-form
|
|
#f
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)
|
|
(if (memv #{ftype\ 803}#
|
|
'(define))
|
|
((lambda (#{tmp\ 811}#)
|
|
((lambda (#{tmp\ 812}#)
|
|
(if (if #{tmp\ 812}#
|
|
(apply (lambda (#{_\ 813}#
|
|
#{name\ 814}#
|
|
#{val\ 815}#)
|
|
(#{id?\ 128}#
|
|
#{name\ 814}#))
|
|
#{tmp\ 812}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 816}#
|
|
#{name\ 817}#
|
|
#{val\ 818}#)
|
|
(values
|
|
'define-form
|
|
#{name\ 817}#
|
|
#{val\ 818}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#))
|
|
#{tmp\ 812}#)
|
|
((lambda (#{tmp\ 819}#)
|
|
(if (if #{tmp\ 819}#
|
|
(apply (lambda (#{_\ 820}#
|
|
#{name\ 821}#
|
|
#{args\ 822}#
|
|
#{e1\ 823}#
|
|
#{e2\ 824}#)
|
|
(if (#{id?\ 128}#
|
|
#{name\ 821}#)
|
|
(#{valid-bound-ids?\ 153}#
|
|
(#{lambda-var-list\ 179}#
|
|
#{args\ 822}#))
|
|
#f))
|
|
#{tmp\ 819}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 825}#
|
|
#{name\ 826}#
|
|
#{args\ 827}#
|
|
#{e1\ 828}#
|
|
#{e2\ 829}#)
|
|
(values
|
|
'define-form
|
|
(#{wrap\ 156}#
|
|
#{name\ 826}#
|
|
#{w\ 794}#
|
|
#{mod\ 797}#)
|
|
(#{decorate-source\ 91}#
|
|
(cons '#(syntax-object
|
|
lambda
|
|
((top)
|
|
#(ribcage
|
|
#(_
|
|
name
|
|
args
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(ftype
|
|
fval
|
|
fe
|
|
fw
|
|
fs
|
|
fmod)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(first)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(e
|
|
r
|
|
w
|
|
s
|
|
rib
|
|
mod
|
|
for-car?)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure
|
|
and-map*)
|
|
((top)
|
|
(top))
|
|
("i"
|
|
"i")))
|
|
(hygiene
|
|
guile))
|
|
(#{wrap\ 156}#
|
|
(cons #{args\ 827}#
|
|
(cons #{e1\ 828}#
|
|
#{e2\ 829}#))
|
|
#{w\ 794}#
|
|
#{mod\ 797}#))
|
|
#{s\ 795}#)
|
|
'(())
|
|
#{s\ 795}#
|
|
#{mod\ 797}#))
|
|
#{tmp\ 819}#)
|
|
((lambda (#{tmp\ 831}#)
|
|
(if (if #{tmp\ 831}#
|
|
(apply (lambda (#{_\ 832}#
|
|
#{name\ 833}#)
|
|
(#{id?\ 128}#
|
|
#{name\ 833}#))
|
|
#{tmp\ 831}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 834}#
|
|
#{name\ 835}#)
|
|
(values
|
|
'define-form
|
|
(#{wrap\ 156}#
|
|
#{name\ 835}#
|
|
#{w\ 794}#
|
|
#{mod\ 797}#)
|
|
'(#(syntax-object
|
|
if
|
|
((top)
|
|
#(ribcage
|
|
#(_
|
|
name)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(ftype
|
|
fval
|
|
fe
|
|
fw
|
|
fs
|
|
fmod)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(first)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(e
|
|
r
|
|
w
|
|
s
|
|
rib
|
|
mod
|
|
for-car?)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure
|
|
and-map*)
|
|
((top)
|
|
(top))
|
|
("i"
|
|
"i")))
|
|
(hygiene
|
|
guile))
|
|
#(syntax-object
|
|
#f
|
|
((top)
|
|
#(ribcage
|
|
#(_
|
|
name)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(ftype
|
|
fval
|
|
fe
|
|
fw
|
|
fs
|
|
fmod)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(first)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(e
|
|
r
|
|
w
|
|
s
|
|
rib
|
|
mod
|
|
for-car?)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure
|
|
and-map*)
|
|
((top)
|
|
(top))
|
|
("i"
|
|
"i")))
|
|
(hygiene
|
|
guile))
|
|
#(syntax-object
|
|
#f
|
|
((top)
|
|
#(ribcage
|
|
#(_
|
|
name)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(ftype
|
|
fval
|
|
fe
|
|
fw
|
|
fs
|
|
fmod)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(first)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(e
|
|
r
|
|
w
|
|
s
|
|
rib
|
|
mod
|
|
for-car?)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure
|
|
and-map*)
|
|
((top)
|
|
(top))
|
|
("i"
|
|
"i")))
|
|
(hygiene
|
|
guile)))
|
|
'(())
|
|
#{s\ 795}#
|
|
#{mod\ 797}#))
|
|
#{tmp\ 831}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 811}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 811}#
|
|
'(any any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 811}#
|
|
'(any (any . any)
|
|
any
|
|
.
|
|
each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 811}#
|
|
'(any any any))))
|
|
#{e\ 792}#)
|
|
(if (memv #{ftype\ 803}#
|
|
'(define-syntax))
|
|
((lambda (#{tmp\ 836}#)
|
|
((lambda (#{tmp\ 837}#)
|
|
(if (if #{tmp\ 837}#
|
|
(apply (lambda (#{_\ 838}#
|
|
#{name\ 839}#
|
|
#{val\ 840}#)
|
|
(#{id?\ 128}#
|
|
#{name\ 839}#))
|
|
#{tmp\ 837}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 841}#
|
|
#{name\ 842}#
|
|
#{val\ 843}#)
|
|
(values
|
|
'define-syntax-form
|
|
#{name\ 842}#
|
|
#{val\ 843}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#))
|
|
#{tmp\ 837}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 836}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 836}#
|
|
'(any any any))))
|
|
#{e\ 792}#)
|
|
(values
|
|
'call
|
|
#f
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#))))))))))))))
|
|
(if (#{syntax-object?\ 112}# #{e\ 792}#)
|
|
(#{syntax-type\ 162}#
|
|
(#{syntax-object-expression\ 113}# #{e\ 792}#)
|
|
#{r\ 793}#
|
|
(#{join-wraps\ 147}#
|
|
#{w\ 794}#
|
|
(#{syntax-object-wrap\ 114}# #{e\ 792}#))
|
|
#{s\ 795}#
|
|
#{rib\ 796}#
|
|
(let ((#{t\ 844}# (#{syntax-object-module\ 115}#
|
|
#{e\ 792}#)))
|
|
(if #{t\ 844}# #{t\ 844}# #{mod\ 797}#))
|
|
#{for-car?\ 798}#)
|
|
(if (self-evaluating? #{e\ 792}#)
|
|
(values
|
|
'constant
|
|
#f
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)
|
|
(values
|
|
'other
|
|
#f
|
|
#{e\ 792}#
|
|
#{w\ 794}#
|
|
#{s\ 795}#
|
|
#{mod\ 797}#)))))))
|
|
(#{chi-when-list\ 161}#
|
|
(lambda (#{e\ 845}# #{when-list\ 846}# #{w\ 847}#)
|
|
(letrec ((#{f\ 848}# (lambda (#{when-list\ 849}#
|
|
#{situations\ 850}#)
|
|
(if (null? #{when-list\ 849}#)
|
|
#{situations\ 850}#
|
|
(#{f\ 848}# (cdr #{when-list\ 849}#)
|
|
(cons (let ((#{x\ 851}# (car #{when-list\ 849}#)))
|
|
(if (#{free-id=?\ 151}#
|
|
#{x\ 851}#
|
|
'#(syntax-object
|
|
compile
|
|
((top)
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
when-list
|
|
situations)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(e
|
|
when-list
|
|
w)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure
|
|
and-map*)
|
|
((top)
|
|
(top))
|
|
("i"
|
|
"i")))
|
|
(hygiene
|
|
guile)))
|
|
'compile
|
|
(if (#{free-id=?\ 151}#
|
|
#{x\ 851}#
|
|
'#(syntax-object
|
|
load
|
|
((top)
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
when-list
|
|
situations)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(e
|
|
when-list
|
|
w)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure
|
|
and-map*)
|
|
((top)
|
|
(top))
|
|
("i"
|
|
"i")))
|
|
(hygiene
|
|
guile)))
|
|
'load
|
|
(if (#{free-id=?\ 151}#
|
|
#{x\ 851}#
|
|
'#(syntax-object
|
|
eval
|
|
((top)
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
when-list
|
|
situations)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(e
|
|
when-list
|
|
w)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure
|
|
and-map*)
|
|
((top)
|
|
(top))
|
|
("i"
|
|
"i")))
|
|
(hygiene
|
|
guile)))
|
|
'eval
|
|
(syntax-violation
|
|
'eval-when
|
|
"invalid situation"
|
|
#{e\ 845}#
|
|
(#{wrap\ 156}#
|
|
#{x\ 851}#
|
|
#{w\ 847}#
|
|
#f))))))
|
|
#{situations\ 850}#))))))
|
|
(#{f\ 848}# #{when-list\ 846}# (quote ())))))
|
|
(#{chi-install-global\ 160}#
|
|
(lambda (#{name\ 852}# #{e\ 853}#)
|
|
(#{build-global-definition\ 101}#
|
|
#f
|
|
#{name\ 852}#
|
|
(if (let ((#{v\ 854}# (module-variable
|
|
(current-module)
|
|
#{name\ 852}#)))
|
|
(if #{v\ 854}#
|
|
(if (variable-bound? #{v\ 854}#)
|
|
(if (macro? (variable-ref #{v\ 854}#))
|
|
(not (eq? (macro-type (variable-ref #{v\ 854}#))
|
|
'syncase-macro))
|
|
#f)
|
|
#f)
|
|
#f))
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}#
|
|
#f
|
|
'make-extended-syncase-macro)
|
|
(list (#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}# #f (quote module-ref))
|
|
(list (#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}#
|
|
#f
|
|
'current-module)
|
|
'())
|
|
(#{build-data\ 106}# #f #{name\ 852}#)))
|
|
(#{build-data\ 106}# #f (quote macro))
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}# #f (quote cons))
|
|
(list #{e\ 853}#
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}#
|
|
#f
|
|
'module-name)
|
|
(list (#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}#
|
|
#f
|
|
'current-module)
|
|
'())))))))
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}#
|
|
#f
|
|
'make-syncase-macro)
|
|
(list (#{build-data\ 106}# #f (quote macro))
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}# #f (quote cons))
|
|
(list #{e\ 853}#
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}#
|
|
#f
|
|
'module-name)
|
|
(list (#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}#
|
|
#f
|
|
'current-module)
|
|
'())))))))))))
|
|
(#{chi-top-sequence\ 159}#
|
|
(lambda (#{body\ 855}#
|
|
#{r\ 856}#
|
|
#{w\ 857}#
|
|
#{s\ 858}#
|
|
#{m\ 859}#
|
|
#{esew\ 860}#
|
|
#{mod\ 861}#)
|
|
(#{build-sequence\ 107}#
|
|
#{s\ 858}#
|
|
(letrec ((#{dobody\ 862}#
|
|
(lambda (#{body\ 863}#
|
|
#{r\ 864}#
|
|
#{w\ 865}#
|
|
#{m\ 866}#
|
|
#{esew\ 867}#
|
|
#{mod\ 868}#)
|
|
(if (null? #{body\ 863}#)
|
|
'()
|
|
(let ((#{first\ 869}#
|
|
(#{chi-top\ 163}#
|
|
(car #{body\ 863}#)
|
|
#{r\ 864}#
|
|
#{w\ 865}#
|
|
#{m\ 866}#
|
|
#{esew\ 867}#
|
|
#{mod\ 868}#)))
|
|
(cons #{first\ 869}#
|
|
(#{dobody\ 862}#
|
|
(cdr #{body\ 863}#)
|
|
#{r\ 864}#
|
|
#{w\ 865}#
|
|
#{m\ 866}#
|
|
#{esew\ 867}#
|
|
#{mod\ 868}#)))))))
|
|
(#{dobody\ 862}#
|
|
#{body\ 855}#
|
|
#{r\ 856}#
|
|
#{w\ 857}#
|
|
#{m\ 859}#
|
|
#{esew\ 860}#
|
|
#{mod\ 861}#)))))
|
|
(#{chi-sequence\ 158}#
|
|
(lambda (#{body\ 870}#
|
|
#{r\ 871}#
|
|
#{w\ 872}#
|
|
#{s\ 873}#
|
|
#{mod\ 874}#)
|
|
(#{build-sequence\ 107}#
|
|
#{s\ 873}#
|
|
(letrec ((#{dobody\ 875}#
|
|
(lambda (#{body\ 876}#
|
|
#{r\ 877}#
|
|
#{w\ 878}#
|
|
#{mod\ 879}#)
|
|
(if (null? #{body\ 876}#)
|
|
'()
|
|
(let ((#{first\ 880}#
|
|
(#{chi\ 164}#
|
|
(car #{body\ 876}#)
|
|
#{r\ 877}#
|
|
#{w\ 878}#
|
|
#{mod\ 879}#)))
|
|
(cons #{first\ 880}#
|
|
(#{dobody\ 875}#
|
|
(cdr #{body\ 876}#)
|
|
#{r\ 877}#
|
|
#{w\ 878}#
|
|
#{mod\ 879}#)))))))
|
|
(#{dobody\ 875}#
|
|
#{body\ 870}#
|
|
#{r\ 871}#
|
|
#{w\ 872}#
|
|
#{mod\ 874}#)))))
|
|
(#{source-wrap\ 157}#
|
|
(lambda (#{x\ 881}#
|
|
#{w\ 882}#
|
|
#{s\ 883}#
|
|
#{defmod\ 884}#)
|
|
(#{wrap\ 156}#
|
|
(#{decorate-source\ 91}# #{x\ 881}# #{s\ 883}#)
|
|
#{w\ 882}#
|
|
#{defmod\ 884}#)))
|
|
(#{wrap\ 156}#
|
|
(lambda (#{x\ 885}# #{w\ 886}# #{defmod\ 887}#)
|
|
(if (if (null? (#{wrap-marks\ 131}# #{w\ 886}#))
|
|
(null? (#{wrap-subst\ 132}# #{w\ 886}#))
|
|
#f)
|
|
#{x\ 885}#
|
|
(if (#{syntax-object?\ 112}# #{x\ 885}#)
|
|
(#{make-syntax-object\ 111}#
|
|
(#{syntax-object-expression\ 113}# #{x\ 885}#)
|
|
(#{join-wraps\ 147}#
|
|
#{w\ 886}#
|
|
(#{syntax-object-wrap\ 114}# #{x\ 885}#))
|
|
(#{syntax-object-module\ 115}# #{x\ 885}#))
|
|
(if (null? #{x\ 885}#)
|
|
#{x\ 885}#
|
|
(#{make-syntax-object\ 111}#
|
|
#{x\ 885}#
|
|
#{w\ 886}#
|
|
#{defmod\ 887}#))))))
|
|
(#{bound-id-member?\ 155}#
|
|
(lambda (#{x\ 888}# #{list\ 889}#)
|
|
(if (not (null? #{list\ 889}#))
|
|
(let ((#{t\ 890}# (#{bound-id=?\ 152}#
|
|
#{x\ 888}#
|
|
(car #{list\ 889}#))))
|
|
(if #{t\ 890}#
|
|
#{t\ 890}#
|
|
(#{bound-id-member?\ 155}#
|
|
#{x\ 888}#
|
|
(cdr #{list\ 889}#))))
|
|
#f)))
|
|
(#{distinct-bound-ids?\ 154}#
|
|
(lambda (#{ids\ 891}#)
|
|
(letrec ((#{distinct?\ 892}#
|
|
(lambda (#{ids\ 893}#)
|
|
(let ((#{t\ 894}# (null? #{ids\ 893}#)))
|
|
(if #{t\ 894}#
|
|
#{t\ 894}#
|
|
(if (not (#{bound-id-member?\ 155}#
|
|
(car #{ids\ 893}#)
|
|
(cdr #{ids\ 893}#)))
|
|
(#{distinct?\ 892}# (cdr #{ids\ 893}#))
|
|
#f))))))
|
|
(#{distinct?\ 892}# #{ids\ 891}#))))
|
|
(#{valid-bound-ids?\ 153}#
|
|
(lambda (#{ids\ 895}#)
|
|
(if (letrec ((#{all-ids?\ 896}#
|
|
(lambda (#{ids\ 897}#)
|
|
(let ((#{t\ 898}# (null? #{ids\ 897}#)))
|
|
(if #{t\ 898}#
|
|
#{t\ 898}#
|
|
(if (#{id?\ 128}# (car #{ids\ 897}#))
|
|
(#{all-ids?\ 896}# (cdr #{ids\ 897}#))
|
|
#f))))))
|
|
(#{all-ids?\ 896}# #{ids\ 895}#))
|
|
(#{distinct-bound-ids?\ 154}# #{ids\ 895}#)
|
|
#f)))
|
|
(#{bound-id=?\ 152}#
|
|
(lambda (#{i\ 899}# #{j\ 900}#)
|
|
(if (if (#{syntax-object?\ 112}# #{i\ 899}#)
|
|
(#{syntax-object?\ 112}# #{j\ 900}#)
|
|
#f)
|
|
(if (eq? (#{syntax-object-expression\ 113}# #{i\ 899}#)
|
|
(#{syntax-object-expression\ 113}# #{j\ 900}#))
|
|
(#{same-marks?\ 149}#
|
|
(#{wrap-marks\ 131}#
|
|
(#{syntax-object-wrap\ 114}# #{i\ 899}#))
|
|
(#{wrap-marks\ 131}#
|
|
(#{syntax-object-wrap\ 114}# #{j\ 900}#)))
|
|
#f)
|
|
(eq? #{i\ 899}# #{j\ 900}#))))
|
|
(#{free-id=?\ 151}#
|
|
(lambda (#{i\ 901}# #{j\ 902}#)
|
|
(if (eq? (let ((#{x\ 903}# #{i\ 901}#))
|
|
(if (#{syntax-object?\ 112}# #{x\ 903}#)
|
|
(#{syntax-object-expression\ 113}# #{x\ 903}#)
|
|
#{x\ 903}#))
|
|
(let ((#{x\ 904}# #{j\ 902}#))
|
|
(if (#{syntax-object?\ 112}# #{x\ 904}#)
|
|
(#{syntax-object-expression\ 113}# #{x\ 904}#)
|
|
#{x\ 904}#)))
|
|
(eq? (#{id-var-name\ 150}# #{i\ 901}# (quote (())))
|
|
(#{id-var-name\ 150}# #{j\ 902}# (quote (()))))
|
|
#f)))
|
|
(#{id-var-name\ 150}#
|
|
(lambda (#{id\ 905}# #{w\ 906}#)
|
|
(letrec ((#{search-vector-rib\ 909}#
|
|
(lambda (#{sym\ 915}#
|
|
#{subst\ 916}#
|
|
#{marks\ 917}#
|
|
#{symnames\ 918}#
|
|
#{ribcage\ 919}#)
|
|
(let ((#{n\ 920}# (vector-length
|
|
#{symnames\ 918}#)))
|
|
(letrec ((#{f\ 921}# (lambda (#{i\ 922}#)
|
|
(if (#{fx=\ 85}#
|
|
#{i\ 922}#
|
|
#{n\ 920}#)
|
|
(#{search\ 907}#
|
|
#{sym\ 915}#
|
|
(cdr #{subst\ 916}#)
|
|
#{marks\ 917}#)
|
|
(if (if (eq? (vector-ref
|
|
#{symnames\ 918}#
|
|
#{i\ 922}#)
|
|
#{sym\ 915}#)
|
|
(#{same-marks?\ 149}#
|
|
#{marks\ 917}#
|
|
(vector-ref
|
|
(#{ribcage-marks\ 138}#
|
|
#{ribcage\ 919}#)
|
|
#{i\ 922}#))
|
|
#f)
|
|
(values
|
|
(vector-ref
|
|
(#{ribcage-labels\ 139}#
|
|
#{ribcage\ 919}#)
|
|
#{i\ 922}#)
|
|
#{marks\ 917}#)
|
|
(#{f\ 921}# (#{fx+\ 83}#
|
|
#{i\ 922}#
|
|
1)))))))
|
|
(#{f\ 921}# 0)))))
|
|
(#{search-list-rib\ 908}#
|
|
(lambda (#{sym\ 923}#
|
|
#{subst\ 924}#
|
|
#{marks\ 925}#
|
|
#{symnames\ 926}#
|
|
#{ribcage\ 927}#)
|
|
(letrec ((#{f\ 928}# (lambda (#{symnames\ 929}#
|
|
#{i\ 930}#)
|
|
(if (null? #{symnames\ 929}#)
|
|
(#{search\ 907}#
|
|
#{sym\ 923}#
|
|
(cdr #{subst\ 924}#)
|
|
#{marks\ 925}#)
|
|
(if (if (eq? (car #{symnames\ 929}#)
|
|
#{sym\ 923}#)
|
|
(#{same-marks?\ 149}#
|
|
#{marks\ 925}#
|
|
(list-ref
|
|
(#{ribcage-marks\ 138}#
|
|
#{ribcage\ 927}#)
|
|
#{i\ 930}#))
|
|
#f)
|
|
(values
|
|
(list-ref
|
|
(#{ribcage-labels\ 139}#
|
|
#{ribcage\ 927}#)
|
|
#{i\ 930}#)
|
|
#{marks\ 925}#)
|
|
(#{f\ 928}# (cdr #{symnames\ 929}#)
|
|
(#{fx+\ 83}#
|
|
#{i\ 930}#
|
|
1)))))))
|
|
(#{f\ 928}# #{symnames\ 926}# 0))))
|
|
(#{search\ 907}#
|
|
(lambda (#{sym\ 931}# #{subst\ 932}# #{marks\ 933}#)
|
|
(if (null? #{subst\ 932}#)
|
|
(values #f #{marks\ 933}#)
|
|
(let ((#{fst\ 934}# (car #{subst\ 932}#)))
|
|
(if (eq? #{fst\ 934}# (quote shift))
|
|
(#{search\ 907}#
|
|
#{sym\ 931}#
|
|
(cdr #{subst\ 932}#)
|
|
(cdr #{marks\ 933}#))
|
|
(let ((#{symnames\ 935}#
|
|
(#{ribcage-symnames\ 137}#
|
|
#{fst\ 934}#)))
|
|
(if (vector? #{symnames\ 935}#)
|
|
(#{search-vector-rib\ 909}#
|
|
#{sym\ 931}#
|
|
#{subst\ 932}#
|
|
#{marks\ 933}#
|
|
#{symnames\ 935}#
|
|
#{fst\ 934}#)
|
|
(#{search-list-rib\ 908}#
|
|
#{sym\ 931}#
|
|
#{subst\ 932}#
|
|
#{marks\ 933}#
|
|
#{symnames\ 935}#
|
|
#{fst\ 934}#)))))))))
|
|
(if (symbol? #{id\ 905}#)
|
|
(let ((#{t\ 936}# (call-with-values
|
|
(lambda ()
|
|
(#{search\ 907}#
|
|
#{id\ 905}#
|
|
(#{wrap-subst\ 132}# #{w\ 906}#)
|
|
(#{wrap-marks\ 131}# #{w\ 906}#)))
|
|
(lambda (#{x\ 937}# . #{ignore\ 938}#)
|
|
#{x\ 937}#))))
|
|
(if #{t\ 936}# #{t\ 936}# #{id\ 905}#))
|
|
(if (#{syntax-object?\ 112}# #{id\ 905}#)
|
|
(let ((#{id\ 939}#
|
|
(#{syntax-object-expression\ 113}# #{id\ 905}#))
|
|
(#{w1\ 940}#
|
|
(#{syntax-object-wrap\ 114}# #{id\ 905}#)))
|
|
(let ((#{marks\ 941}#
|
|
(#{join-marks\ 148}#
|
|
(#{wrap-marks\ 131}# #{w\ 906}#)
|
|
(#{wrap-marks\ 131}# #{w1\ 940}#))))
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{search\ 907}#
|
|
#{id\ 939}#
|
|
(#{wrap-subst\ 132}# #{w\ 906}#)
|
|
#{marks\ 941}#))
|
|
(lambda (#{new-id\ 942}# #{marks\ 943}#)
|
|
(let ((#{t\ 944}# #{new-id\ 942}#))
|
|
(if #{t\ 944}#
|
|
#{t\ 944}#
|
|
(let ((#{t\ 945}# (call-with-values
|
|
(lambda ()
|
|
(#{search\ 907}#
|
|
#{id\ 939}#
|
|
(#{wrap-subst\ 132}#
|
|
#{w1\ 940}#)
|
|
#{marks\ 943}#))
|
|
(lambda (#{x\ 946}#
|
|
.
|
|
#{ignore\ 947}#)
|
|
#{x\ 946}#))))
|
|
(if #{t\ 945}#
|
|
#{t\ 945}#
|
|
#{id\ 939}#))))))))
|
|
(syntax-violation
|
|
'id-var-name
|
|
"invalid id"
|
|
#{id\ 905}#))))))
|
|
(#{same-marks?\ 149}#
|
|
(lambda (#{x\ 948}# #{y\ 949}#)
|
|
(let ((#{t\ 950}# (eq? #{x\ 948}# #{y\ 949}#)))
|
|
(if #{t\ 950}#
|
|
#{t\ 950}#
|
|
(if (not (null? #{x\ 948}#))
|
|
(if (not (null? #{y\ 949}#))
|
|
(if (eq? (car #{x\ 948}#) (car #{y\ 949}#))
|
|
(#{same-marks?\ 149}#
|
|
(cdr #{x\ 948}#)
|
|
(cdr #{y\ 949}#))
|
|
#f)
|
|
#f)
|
|
#f)))))
|
|
(#{join-marks\ 148}#
|
|
(lambda (#{m1\ 951}# #{m2\ 952}#)
|
|
(#{smart-append\ 146}# #{m1\ 951}# #{m2\ 952}#)))
|
|
(#{join-wraps\ 147}#
|
|
(lambda (#{w1\ 953}# #{w2\ 954}#)
|
|
(let ((#{m1\ 955}# (#{wrap-marks\ 131}# #{w1\ 953}#))
|
|
(#{s1\ 956}# (#{wrap-subst\ 132}# #{w1\ 953}#)))
|
|
(if (null? #{m1\ 955}#)
|
|
(if (null? #{s1\ 956}#)
|
|
#{w2\ 954}#
|
|
(#{make-wrap\ 130}#
|
|
(#{wrap-marks\ 131}# #{w2\ 954}#)
|
|
(#{smart-append\ 146}#
|
|
#{s1\ 956}#
|
|
(#{wrap-subst\ 132}# #{w2\ 954}#))))
|
|
(#{make-wrap\ 130}#
|
|
(#{smart-append\ 146}#
|
|
#{m1\ 955}#
|
|
(#{wrap-marks\ 131}# #{w2\ 954}#))
|
|
(#{smart-append\ 146}#
|
|
#{s1\ 956}#
|
|
(#{wrap-subst\ 132}# #{w2\ 954}#)))))))
|
|
(#{smart-append\ 146}#
|
|
(lambda (#{m1\ 957}# #{m2\ 958}#)
|
|
(if (null? #{m2\ 958}#)
|
|
#{m1\ 957}#
|
|
(append #{m1\ 957}# #{m2\ 958}#))))
|
|
(#{make-binding-wrap\ 145}#
|
|
(lambda (#{ids\ 959}# #{labels\ 960}# #{w\ 961}#)
|
|
(if (null? #{ids\ 959}#)
|
|
#{w\ 961}#
|
|
(#{make-wrap\ 130}#
|
|
(#{wrap-marks\ 131}# #{w\ 961}#)
|
|
(cons (let ((#{labelvec\ 962}#
|
|
(list->vector #{labels\ 960}#)))
|
|
(let ((#{n\ 963}# (vector-length
|
|
#{labelvec\ 962}#)))
|
|
(let ((#{symnamevec\ 964}#
|
|
(make-vector #{n\ 963}#))
|
|
(#{marksvec\ 965}#
|
|
(make-vector #{n\ 963}#)))
|
|
(begin
|
|
(letrec ((#{f\ 966}# (lambda (#{ids\ 967}#
|
|
#{i\ 968}#)
|
|
(if (not (null? #{ids\ 967}#))
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{id-sym-name&marks\ 129}#
|
|
(car #{ids\ 967}#)
|
|
#{w\ 961}#))
|
|
(lambda (#{symname\ 969}#
|
|
#{marks\ 970}#)
|
|
(begin
|
|
(vector-set!
|
|
#{symnamevec\ 964}#
|
|
#{i\ 968}#
|
|
#{symname\ 969}#)
|
|
(vector-set!
|
|
#{marksvec\ 965}#
|
|
#{i\ 968}#
|
|
#{marks\ 970}#)
|
|
(#{f\ 966}# (cdr #{ids\ 967}#)
|
|
(#{fx+\ 83}#
|
|
#{i\ 968}#
|
|
1)))))))))
|
|
(#{f\ 966}# #{ids\ 959}# 0))
|
|
(#{make-ribcage\ 135}#
|
|
#{symnamevec\ 964}#
|
|
#{marksvec\ 965}#
|
|
#{labelvec\ 962}#)))))
|
|
(#{wrap-subst\ 132}# #{w\ 961}#))))))
|
|
(#{extend-ribcage!\ 144}#
|
|
(lambda (#{ribcage\ 971}# #{id\ 972}# #{label\ 973}#)
|
|
(begin
|
|
(#{set-ribcage-symnames!\ 140}#
|
|
#{ribcage\ 971}#
|
|
(cons (#{syntax-object-expression\ 113}# #{id\ 972}#)
|
|
(#{ribcage-symnames\ 137}# #{ribcage\ 971}#)))
|
|
(#{set-ribcage-marks!\ 141}#
|
|
#{ribcage\ 971}#
|
|
(cons (#{wrap-marks\ 131}#
|
|
(#{syntax-object-wrap\ 114}# #{id\ 972}#))
|
|
(#{ribcage-marks\ 138}# #{ribcage\ 971}#)))
|
|
(#{set-ribcage-labels!\ 142}#
|
|
#{ribcage\ 971}#
|
|
(cons #{label\ 973}#
|
|
(#{ribcage-labels\ 139}# #{ribcage\ 971}#))))))
|
|
(#{anti-mark\ 143}#
|
|
(lambda (#{w\ 974}#)
|
|
(#{make-wrap\ 130}#
|
|
(cons #f (#{wrap-marks\ 131}# #{w\ 974}#))
|
|
(cons 'shift
|
|
(#{wrap-subst\ 132}# #{w\ 974}#)))))
|
|
(#{set-ribcage-labels!\ 142}#
|
|
(lambda (#{x\ 975}# #{update\ 976}#)
|
|
(vector-set! #{x\ 975}# 3 #{update\ 976}#)))
|
|
(#{set-ribcage-marks!\ 141}#
|
|
(lambda (#{x\ 977}# #{update\ 978}#)
|
|
(vector-set! #{x\ 977}# 2 #{update\ 978}#)))
|
|
(#{set-ribcage-symnames!\ 140}#
|
|
(lambda (#{x\ 979}# #{update\ 980}#)
|
|
(vector-set! #{x\ 979}# 1 #{update\ 980}#)))
|
|
(#{ribcage-labels\ 139}#
|
|
(lambda (#{x\ 981}#) (vector-ref #{x\ 981}# 3)))
|
|
(#{ribcage-marks\ 138}#
|
|
(lambda (#{x\ 982}#) (vector-ref #{x\ 982}# 2)))
|
|
(#{ribcage-symnames\ 137}#
|
|
(lambda (#{x\ 983}#) (vector-ref #{x\ 983}# 1)))
|
|
(#{ribcage?\ 136}#
|
|
(lambda (#{x\ 984}#)
|
|
(if (vector? #{x\ 984}#)
|
|
(if (= (vector-length #{x\ 984}#) 4)
|
|
(eq? (vector-ref #{x\ 984}# 0) (quote ribcage))
|
|
#f)
|
|
#f)))
|
|
(#{make-ribcage\ 135}#
|
|
(lambda (#{symnames\ 985}#
|
|
#{marks\ 986}#
|
|
#{labels\ 987}#)
|
|
(vector
|
|
'ribcage
|
|
#{symnames\ 985}#
|
|
#{marks\ 986}#
|
|
#{labels\ 987}#)))
|
|
(#{gen-labels\ 134}#
|
|
(lambda (#{ls\ 988}#)
|
|
(if (null? #{ls\ 988}#)
|
|
'()
|
|
(cons (#{gen-label\ 133}#)
|
|
(#{gen-labels\ 134}# (cdr #{ls\ 988}#))))))
|
|
(#{gen-label\ 133}#
|
|
(lambda () (symbol->string (gensym "i"))))
|
|
(#{wrap-subst\ 132}# cdr)
|
|
(#{wrap-marks\ 131}# car)
|
|
(#{make-wrap\ 130}# cons)
|
|
(#{id-sym-name&marks\ 129}#
|
|
(lambda (#{x\ 989}# #{w\ 990}#)
|
|
(if (#{syntax-object?\ 112}# #{x\ 989}#)
|
|
(values
|
|
(#{syntax-object-expression\ 113}# #{x\ 989}#)
|
|
(#{join-marks\ 148}#
|
|
(#{wrap-marks\ 131}# #{w\ 990}#)
|
|
(#{wrap-marks\ 131}#
|
|
(#{syntax-object-wrap\ 114}# #{x\ 989}#))))
|
|
(values
|
|
#{x\ 989}#
|
|
(#{wrap-marks\ 131}# #{w\ 990}#)))))
|
|
(#{id?\ 128}#
|
|
(lambda (#{x\ 991}#)
|
|
(if (symbol? #{x\ 991}#)
|
|
#t
|
|
(if (#{syntax-object?\ 112}# #{x\ 991}#)
|
|
(symbol?
|
|
(#{syntax-object-expression\ 113}# #{x\ 991}#))
|
|
#f))))
|
|
(#{nonsymbol-id?\ 127}#
|
|
(lambda (#{x\ 992}#)
|
|
(if (#{syntax-object?\ 112}# #{x\ 992}#)
|
|
(symbol?
|
|
(#{syntax-object-expression\ 113}# #{x\ 992}#))
|
|
#f)))
|
|
(#{global-extend\ 126}#
|
|
(lambda (#{type\ 993}# #{sym\ 994}# #{val\ 995}#)
|
|
(#{put-global-definition-hook\ 89}#
|
|
#{sym\ 994}#
|
|
#{type\ 993}#
|
|
#{val\ 995}#)))
|
|
(#{lookup\ 125}#
|
|
(lambda (#{x\ 996}# #{r\ 997}# #{mod\ 998}#)
|
|
(let ((#{t\ 999}# (assq #{x\ 996}# #{r\ 997}#)))
|
|
(if #{t\ 999}#
|
|
(cdr #{t\ 999}#)
|
|
(if (symbol? #{x\ 996}#)
|
|
(let ((#{t\ 1000}#
|
|
(#{get-global-definition-hook\ 90}#
|
|
#{x\ 996}#
|
|
#{mod\ 998}#)))
|
|
(if #{t\ 1000}# #{t\ 1000}# (quote (global))))
|
|
'(displaced-lexical))))))
|
|
(#{macros-only-env\ 124}#
|
|
(lambda (#{r\ 1001}#)
|
|
(if (null? #{r\ 1001}#)
|
|
'()
|
|
(let ((#{a\ 1002}# (car #{r\ 1001}#)))
|
|
(if (eq? (cadr #{a\ 1002}#) (quote macro))
|
|
(cons #{a\ 1002}#
|
|
(#{macros-only-env\ 124}# (cdr #{r\ 1001}#)))
|
|
(#{macros-only-env\ 124}# (cdr #{r\ 1001}#)))))))
|
|
(#{extend-var-env\ 123}#
|
|
(lambda (#{labels\ 1003}# #{vars\ 1004}# #{r\ 1005}#)
|
|
(if (null? #{labels\ 1003}#)
|
|
#{r\ 1005}#
|
|
(#{extend-var-env\ 123}#
|
|
(cdr #{labels\ 1003}#)
|
|
(cdr #{vars\ 1004}#)
|
|
(cons (cons (car #{labels\ 1003}#)
|
|
(cons (quote lexical) (car #{vars\ 1004}#)))
|
|
#{r\ 1005}#)))))
|
|
(#{extend-env\ 122}#
|
|
(lambda (#{labels\ 1006}# #{bindings\ 1007}# #{r\ 1008}#)
|
|
(if (null? #{labels\ 1006}#)
|
|
#{r\ 1008}#
|
|
(#{extend-env\ 122}#
|
|
(cdr #{labels\ 1006}#)
|
|
(cdr #{bindings\ 1007}#)
|
|
(cons (cons (car #{labels\ 1006}#)
|
|
(car #{bindings\ 1007}#))
|
|
#{r\ 1008}#)))))
|
|
(#{binding-value\ 121}# cdr)
|
|
(#{binding-type\ 120}# car)
|
|
(#{source-annotation\ 119}#
|
|
(lambda (#{x\ 1009}#)
|
|
(if (#{syntax-object?\ 112}# #{x\ 1009}#)
|
|
(#{source-annotation\ 119}#
|
|
(#{syntax-object-expression\ 113}# #{x\ 1009}#))
|
|
(if (pair? #{x\ 1009}#)
|
|
(let ((#{props\ 1010}# (source-properties #{x\ 1009}#)))
|
|
(if (pair? #{props\ 1010}#) #{props\ 1010}# #f))
|
|
#f))))
|
|
(#{set-syntax-object-module!\ 118}#
|
|
(lambda (#{x\ 1011}# #{update\ 1012}#)
|
|
(vector-set! #{x\ 1011}# 3 #{update\ 1012}#)))
|
|
(#{set-syntax-object-wrap!\ 117}#
|
|
(lambda (#{x\ 1013}# #{update\ 1014}#)
|
|
(vector-set! #{x\ 1013}# 2 #{update\ 1014}#)))
|
|
(#{set-syntax-object-expression!\ 116}#
|
|
(lambda (#{x\ 1015}# #{update\ 1016}#)
|
|
(vector-set! #{x\ 1015}# 1 #{update\ 1016}#)))
|
|
(#{syntax-object-module\ 115}#
|
|
(lambda (#{x\ 1017}#) (vector-ref #{x\ 1017}# 3)))
|
|
(#{syntax-object-wrap\ 114}#
|
|
(lambda (#{x\ 1018}#) (vector-ref #{x\ 1018}# 2)))
|
|
(#{syntax-object-expression\ 113}#
|
|
(lambda (#{x\ 1019}#) (vector-ref #{x\ 1019}# 1)))
|
|
(#{syntax-object?\ 112}#
|
|
(lambda (#{x\ 1020}#)
|
|
(if (vector? #{x\ 1020}#)
|
|
(if (= (vector-length #{x\ 1020}#) 4)
|
|
(eq? (vector-ref #{x\ 1020}# 0)
|
|
'syntax-object)
|
|
#f)
|
|
#f)))
|
|
(#{make-syntax-object\ 111}#
|
|
(lambda (#{expression\ 1021}#
|
|
#{wrap\ 1022}#
|
|
#{module\ 1023}#)
|
|
(vector
|
|
'syntax-object
|
|
#{expression\ 1021}#
|
|
#{wrap\ 1022}#
|
|
#{module\ 1023}#)))
|
|
(#{build-letrec\ 110}#
|
|
(lambda (#{src\ 1024}#
|
|
#{ids\ 1025}#
|
|
#{vars\ 1026}#
|
|
#{val-exps\ 1027}#
|
|
#{body-exp\ 1028}#)
|
|
(if (null? #{vars\ 1026}#)
|
|
#{body-exp\ 1028}#
|
|
(let ((#{atom-key\ 1029}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1029}# (quote (c)))
|
|
(begin
|
|
(for-each
|
|
#{maybe-name-value!\ 100}#
|
|
#{ids\ 1025}#
|
|
#{val-exps\ 1027}#)
|
|
((@ (language tree-il) make-letrec)
|
|
#{src\ 1024}#
|
|
#{ids\ 1025}#
|
|
#{vars\ 1026}#
|
|
#{val-exps\ 1027}#
|
|
#{body-exp\ 1028}#))
|
|
(#{decorate-source\ 91}#
|
|
(list 'letrec
|
|
(map list #{vars\ 1026}# #{val-exps\ 1027}#)
|
|
#{body-exp\ 1028}#)
|
|
#{src\ 1024}#))))))
|
|
(#{build-named-let\ 109}#
|
|
(lambda (#{src\ 1030}#
|
|
#{ids\ 1031}#
|
|
#{vars\ 1032}#
|
|
#{val-exps\ 1033}#
|
|
#{body-exp\ 1034}#)
|
|
(let ((#{f\ 1035}# (car #{vars\ 1032}#))
|
|
(#{f-name\ 1036}# (car #{ids\ 1031}#))
|
|
(#{vars\ 1037}# (cdr #{vars\ 1032}#))
|
|
(#{ids\ 1038}# (cdr #{ids\ 1031}#)))
|
|
(let ((#{atom-key\ 1039}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1039}# (quote (c)))
|
|
(let ((#{proc\ 1040}#
|
|
(#{build-simple-lambda\ 102}#
|
|
#{src\ 1030}#
|
|
#{ids\ 1038}#
|
|
#f
|
|
#{vars\ 1037}#
|
|
#f
|
|
#{body-exp\ 1034}#)))
|
|
(begin
|
|
(#{maybe-name-value!\ 100}#
|
|
#{f-name\ 1036}#
|
|
#{proc\ 1040}#)
|
|
(for-each
|
|
#{maybe-name-value!\ 100}#
|
|
#{ids\ 1038}#
|
|
#{val-exps\ 1033}#)
|
|
((@ (language tree-il) make-letrec)
|
|
#{src\ 1030}#
|
|
(list #{f-name\ 1036}#)
|
|
(list #{f\ 1035}#)
|
|
(list #{proc\ 1040}#)
|
|
(#{build-application\ 93}#
|
|
#{src\ 1030}#
|
|
(#{build-lexical-reference\ 95}#
|
|
'fun
|
|
#{src\ 1030}#
|
|
#{f-name\ 1036}#
|
|
#{f\ 1035}#)
|
|
#{val-exps\ 1033}#))))
|
|
(#{decorate-source\ 91}#
|
|
(list 'letrec
|
|
(list (list #{f\ 1035}#
|
|
(list 'lambda
|
|
#{vars\ 1037}#
|
|
#{body-exp\ 1034}#)))
|
|
(cons #{f\ 1035}# #{val-exps\ 1033}#))
|
|
#{src\ 1030}#))))))
|
|
(#{build-let\ 108}#
|
|
(lambda (#{src\ 1041}#
|
|
#{ids\ 1042}#
|
|
#{vars\ 1043}#
|
|
#{val-exps\ 1044}#
|
|
#{body-exp\ 1045}#)
|
|
(if (null? #{vars\ 1043}#)
|
|
#{body-exp\ 1045}#
|
|
(let ((#{atom-key\ 1046}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1046}# (quote (c)))
|
|
(begin
|
|
(for-each
|
|
#{maybe-name-value!\ 100}#
|
|
#{ids\ 1042}#
|
|
#{val-exps\ 1044}#)
|
|
((@ (language tree-il) make-let)
|
|
#{src\ 1041}#
|
|
#{ids\ 1042}#
|
|
#{vars\ 1043}#
|
|
#{val-exps\ 1044}#
|
|
#{body-exp\ 1045}#))
|
|
(#{decorate-source\ 91}#
|
|
(list 'let
|
|
(map list #{vars\ 1043}# #{val-exps\ 1044}#)
|
|
#{body-exp\ 1045}#)
|
|
#{src\ 1041}#))))))
|
|
(#{build-sequence\ 107}#
|
|
(lambda (#{src\ 1047}# #{exps\ 1048}#)
|
|
(if (null? (cdr #{exps\ 1048}#))
|
|
(car #{exps\ 1048}#)
|
|
(let ((#{atom-key\ 1049}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1049}# (quote (c)))
|
|
((@ (language tree-il) make-sequence)
|
|
#{src\ 1047}#
|
|
#{exps\ 1048}#)
|
|
(#{decorate-source\ 91}#
|
|
(cons (quote begin) #{exps\ 1048}#)
|
|
#{src\ 1047}#))))))
|
|
(#{build-data\ 106}#
|
|
(lambda (#{src\ 1050}# #{exp\ 1051}#)
|
|
(let ((#{atom-key\ 1052}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1052}# (quote (c)))
|
|
((@ (language tree-il) make-const)
|
|
#{src\ 1050}#
|
|
#{exp\ 1051}#)
|
|
(#{decorate-source\ 91}#
|
|
(if (if (self-evaluating? #{exp\ 1051}#)
|
|
(not (vector? #{exp\ 1051}#))
|
|
#f)
|
|
#{exp\ 1051}#
|
|
(list (quote quote) #{exp\ 1051}#))
|
|
#{src\ 1050}#)))))
|
|
(#{build-primref\ 105}#
|
|
(lambda (#{src\ 1053}# #{name\ 1054}#)
|
|
(if (equal?
|
|
(module-name (current-module))
|
|
'(guile))
|
|
(let ((#{atom-key\ 1055}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1055}# (quote (c)))
|
|
((@ (language tree-il) make-toplevel-ref)
|
|
#{src\ 1053}#
|
|
#{name\ 1054}#)
|
|
(#{decorate-source\ 91}#
|
|
#{name\ 1054}#
|
|
#{src\ 1053}#)))
|
|
(let ((#{atom-key\ 1056}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1056}# (quote (c)))
|
|
((@ (language tree-il) make-module-ref)
|
|
#{src\ 1053}#
|
|
'(guile)
|
|
#{name\ 1054}#
|
|
#f)
|
|
(#{decorate-source\ 91}#
|
|
(list (quote @@) (quote (guile)) #{name\ 1054}#)
|
|
#{src\ 1053}#))))))
|
|
(#{build-lambda-case\ 104}#
|
|
(lambda (#{src\ 1057}#
|
|
#{req\ 1058}#
|
|
#{opt\ 1059}#
|
|
#{rest\ 1060}#
|
|
#{kw\ 1061}#
|
|
#{inits\ 1062}#
|
|
#{vars\ 1063}#
|
|
#{body\ 1064}#
|
|
#{else-case\ 1065}#)
|
|
(let ((#{atom-key\ 1066}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1066}# (quote (c)))
|
|
((@ (language tree-il) make-lambda-case)
|
|
#{src\ 1057}#
|
|
#{req\ 1058}#
|
|
#{opt\ 1059}#
|
|
#{rest\ 1060}#
|
|
#{kw\ 1061}#
|
|
#{inits\ 1062}#
|
|
#{vars\ 1063}#
|
|
#{body\ 1064}#
|
|
#{else-case\ 1065}#)
|
|
(let ((#{nreq\ 1067}# (length #{req\ 1058}#)))
|
|
(let ((#{nopt\ 1068}#
|
|
(if #{opt\ 1059}# (length #{opt\ 1059}#) 0)))
|
|
(let ((#{rest-idx\ 1069}#
|
|
(if #{rest\ 1060}#
|
|
(+ #{nreq\ 1067}# #{nopt\ 1068}#)
|
|
#f)))
|
|
(let ((#{allow-other-keys?\ 1070}#
|
|
(if #{kw\ 1061}# (car #{kw\ 1061}#) #f)))
|
|
(let ((#{kw-indices\ 1071}#
|
|
(map (lambda (#{x\ 1072}#)
|
|
(cons (car #{x\ 1072}#)
|
|
(list-index
|
|
#{vars\ 1063}#
|
|
(caddr #{x\ 1072}#))))
|
|
(if #{kw\ 1061}#
|
|
(cdr #{kw\ 1061}#)
|
|
'()))))
|
|
(let ((#{nargs\ 1073}#
|
|
(apply max
|
|
(+ #{nreq\ 1067}#
|
|
#{nopt\ 1068}#
|
|
(if #{rest\ 1060}# 1 0))
|
|
(map 1+
|
|
(map cdr
|
|
#{kw-indices\ 1071}#)))))
|
|
(begin
|
|
(let ((#{t\ 1074}#
|
|
(= #{nargs\ 1073}#
|
|
(length #{vars\ 1063}#)
|
|
(+ #{nreq\ 1067}#
|
|
(length #{inits\ 1062}#)
|
|
(if #{rest\ 1060}# 1 0)))))
|
|
(if #{t\ 1074}#
|
|
#{t\ 1074}#
|
|
(error "something went wrong"
|
|
#{req\ 1058}#
|
|
#{opt\ 1059}#
|
|
#{rest\ 1060}#
|
|
#{kw\ 1061}#
|
|
#{inits\ 1062}#
|
|
#{vars\ 1063}#
|
|
#{nreq\ 1067}#
|
|
#{nopt\ 1068}#
|
|
#{kw-indices\ 1071}#
|
|
#{nargs\ 1073}#)))
|
|
(#{decorate-source\ 91}#
|
|
(cons (list (cons '(@@ (ice-9 optargs)
|
|
parse-lambda-case)
|
|
(cons (list 'quote
|
|
(list #{nreq\ 1067}#
|
|
#{nopt\ 1068}#
|
|
#{rest-idx\ 1069}#
|
|
#{nargs\ 1073}#
|
|
#{allow-other-keys?\ 1070}#
|
|
#{kw-indices\ 1071}#))
|
|
(cons (cons 'list
|
|
(map (lambda (#{i\ 1075}#)
|
|
(list 'lambda
|
|
#{vars\ 1063}#
|
|
#{i\ 1075}#))
|
|
#{inits\ 1062}#))
|
|
'(%%args))))
|
|
'=>
|
|
(list 'lambda
|
|
'(%%%args . _)
|
|
(cons 'apply
|
|
(cons (list 'lambda
|
|
#{vars\ 1063}#
|
|
#{body\ 1064}#)
|
|
'(%%%args)))))
|
|
(let ((#{t\ 1076}#
|
|
#{else-case\ 1065}#))
|
|
(if #{t\ 1076}#
|
|
#{t\ 1076}#
|
|
'((%%args
|
|
(error "wrong number of arguments"
|
|
%%args))))))
|
|
#{src\ 1057}#))))))))))))
|
|
(#{build-case-lambda\ 103}#
|
|
(lambda (#{src\ 1077}#
|
|
#{docstring\ 1078}#
|
|
#{body\ 1079}#)
|
|
(let ((#{atom-key\ 1080}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1080}# (quote (c)))
|
|
((@ (language tree-il) make-lambda)
|
|
#{src\ 1077}#
|
|
(if #{docstring\ 1078}#
|
|
(list (cons (quote documentation) #{docstring\ 1078}#))
|
|
'())
|
|
#{body\ 1079}#)
|
|
(#{decorate-source\ 91}#
|
|
(cons 'lambda
|
|
(cons '%%args
|
|
(append
|
|
(if #{docstring\ 1078}#
|
|
(list #{docstring\ 1078}#)
|
|
'())
|
|
(list (cons (quote cond) #{body\ 1079}#)))))
|
|
#{src\ 1077}#)))))
|
|
(#{build-simple-lambda\ 102}#
|
|
(lambda (#{src\ 1081}#
|
|
#{req\ 1082}#
|
|
#{rest\ 1083}#
|
|
#{vars\ 1084}#
|
|
#{docstring\ 1085}#
|
|
#{exp\ 1086}#)
|
|
(let ((#{atom-key\ 1087}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1087}# (quote (c)))
|
|
((@ (language tree-il) make-lambda)
|
|
#{src\ 1081}#
|
|
(if #{docstring\ 1085}#
|
|
(list (cons (quote documentation) #{docstring\ 1085}#))
|
|
'())
|
|
((@ (language tree-il) make-lambda-case)
|
|
#{src\ 1081}#
|
|
#{req\ 1082}#
|
|
#f
|
|
#{rest\ 1083}#
|
|
#f
|
|
'()
|
|
#{vars\ 1084}#
|
|
#{exp\ 1086}#
|
|
#f))
|
|
(#{decorate-source\ 91}#
|
|
(cons 'lambda
|
|
(cons (if #{rest\ 1083}#
|
|
(apply cons* #{vars\ 1084}#)
|
|
#{vars\ 1084}#)
|
|
(append
|
|
(if #{docstring\ 1085}#
|
|
(list #{docstring\ 1085}#)
|
|
'())
|
|
(list #{exp\ 1086}#))))
|
|
#{src\ 1081}#)))))
|
|
(#{build-global-definition\ 101}#
|
|
(lambda (#{source\ 1088}# #{var\ 1089}# #{exp\ 1090}#)
|
|
(let ((#{atom-key\ 1091}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1091}# (quote (c)))
|
|
(begin
|
|
(#{maybe-name-value!\ 100}#
|
|
#{var\ 1089}#
|
|
#{exp\ 1090}#)
|
|
((@ (language tree-il) make-toplevel-define)
|
|
#{source\ 1088}#
|
|
#{var\ 1089}#
|
|
#{exp\ 1090}#))
|
|
(#{decorate-source\ 91}#
|
|
(list (quote define) #{var\ 1089}# #{exp\ 1090}#)
|
|
#{source\ 1088}#)))))
|
|
(#{maybe-name-value!\ 100}#
|
|
(lambda (#{name\ 1092}# #{val\ 1093}#)
|
|
(if ((@ (language tree-il) lambda?) #{val\ 1093}#)
|
|
(let ((#{meta\ 1094}#
|
|
((@ (language tree-il) lambda-meta)
|
|
#{val\ 1093}#)))
|
|
(if (not (assq (quote name) #{meta\ 1094}#))
|
|
((setter (@ (language tree-il) lambda-meta))
|
|
#{val\ 1093}#
|
|
(acons 'name
|
|
#{name\ 1092}#
|
|
#{meta\ 1094}#)))))))
|
|
(#{build-global-assignment\ 99}#
|
|
(lambda (#{source\ 1095}#
|
|
#{var\ 1096}#
|
|
#{exp\ 1097}#
|
|
#{mod\ 1098}#)
|
|
(#{analyze-variable\ 97}#
|
|
#{mod\ 1098}#
|
|
#{var\ 1096}#
|
|
(lambda (#{mod\ 1099}# #{var\ 1100}# #{public?\ 1101}#)
|
|
(let ((#{atom-key\ 1102}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1102}# (quote (c)))
|
|
((@ (language tree-il) make-module-set)
|
|
#{source\ 1095}#
|
|
#{mod\ 1099}#
|
|
#{var\ 1100}#
|
|
#{public?\ 1101}#
|
|
#{exp\ 1097}#)
|
|
(#{decorate-source\ 91}#
|
|
(list 'set!
|
|
(list (if #{public?\ 1101}#
|
|
'@
|
|
'@@)
|
|
#{mod\ 1099}#
|
|
#{var\ 1100}#)
|
|
#{exp\ 1097}#)
|
|
#{source\ 1095}#))))
|
|
(lambda (#{var\ 1103}#)
|
|
(let ((#{atom-key\ 1104}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1104}# (quote (c)))
|
|
((@ (language tree-il) make-toplevel-set)
|
|
#{source\ 1095}#
|
|
#{var\ 1103}#
|
|
#{exp\ 1097}#)
|
|
(#{decorate-source\ 91}#
|
|
(list (quote set!) #{var\ 1103}# #{exp\ 1097}#)
|
|
#{source\ 1095}#)))))))
|
|
(#{build-global-reference\ 98}#
|
|
(lambda (#{source\ 1105}# #{var\ 1106}# #{mod\ 1107}#)
|
|
(#{analyze-variable\ 97}#
|
|
#{mod\ 1107}#
|
|
#{var\ 1106}#
|
|
(lambda (#{mod\ 1108}# #{var\ 1109}# #{public?\ 1110}#)
|
|
(let ((#{atom-key\ 1111}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1111}# (quote (c)))
|
|
((@ (language tree-il) make-module-ref)
|
|
#{source\ 1105}#
|
|
#{mod\ 1108}#
|
|
#{var\ 1109}#
|
|
#{public?\ 1110}#)
|
|
(#{decorate-source\ 91}#
|
|
(list (if #{public?\ 1110}# (quote @) (quote @@))
|
|
#{mod\ 1108}#
|
|
#{var\ 1109}#)
|
|
#{source\ 1105}#))))
|
|
(lambda (#{var\ 1112}#)
|
|
(let ((#{atom-key\ 1113}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1113}# (quote (c)))
|
|
((@ (language tree-il) make-toplevel-ref)
|
|
#{source\ 1105}#
|
|
#{var\ 1112}#)
|
|
(#{decorate-source\ 91}#
|
|
#{var\ 1112}#
|
|
#{source\ 1105}#)))))))
|
|
(#{analyze-variable\ 97}#
|
|
(lambda (#{mod\ 1114}#
|
|
#{var\ 1115}#
|
|
#{modref-cont\ 1116}#
|
|
#{bare-cont\ 1117}#)
|
|
(if (not #{mod\ 1114}#)
|
|
(#{bare-cont\ 1117}# #{var\ 1115}#)
|
|
(let ((#{kind\ 1118}# (car #{mod\ 1114}#))
|
|
(#{mod\ 1119}# (cdr #{mod\ 1114}#)))
|
|
(if (memv #{kind\ 1118}# (quote (public)))
|
|
(#{modref-cont\ 1116}#
|
|
#{mod\ 1119}#
|
|
#{var\ 1115}#
|
|
#t)
|
|
(if (memv #{kind\ 1118}# (quote (private)))
|
|
(if (not (equal?
|
|
#{mod\ 1119}#
|
|
(module-name (current-module))))
|
|
(#{modref-cont\ 1116}#
|
|
#{mod\ 1119}#
|
|
#{var\ 1115}#
|
|
#f)
|
|
(#{bare-cont\ 1117}# #{var\ 1115}#))
|
|
(if (memv #{kind\ 1118}# (quote (bare)))
|
|
(#{bare-cont\ 1117}# #{var\ 1115}#)
|
|
(if (memv #{kind\ 1118}# (quote (hygiene)))
|
|
(if (if (not (equal?
|
|
#{mod\ 1119}#
|
|
(module-name (current-module))))
|
|
(module-variable
|
|
(resolve-module #{mod\ 1119}#)
|
|
#{var\ 1115}#)
|
|
#f)
|
|
(#{modref-cont\ 1116}#
|
|
#{mod\ 1119}#
|
|
#{var\ 1115}#
|
|
#f)
|
|
(#{bare-cont\ 1117}# #{var\ 1115}#))
|
|
(syntax-violation
|
|
#f
|
|
"bad module kind"
|
|
#{var\ 1115}#
|
|
#{mod\ 1119}#)))))))))
|
|
(#{build-lexical-assignment\ 96}#
|
|
(lambda (#{source\ 1120}#
|
|
#{name\ 1121}#
|
|
#{var\ 1122}#
|
|
#{exp\ 1123}#)
|
|
(let ((#{atom-key\ 1124}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1124}# (quote (c)))
|
|
((@ (language tree-il) make-lexical-set)
|
|
#{source\ 1120}#
|
|
#{name\ 1121}#
|
|
#{var\ 1122}#
|
|
#{exp\ 1123}#)
|
|
(#{decorate-source\ 91}#
|
|
(list (quote set!) #{var\ 1122}# #{exp\ 1123}#)
|
|
#{source\ 1120}#)))))
|
|
(#{build-lexical-reference\ 95}#
|
|
(lambda (#{type\ 1125}#
|
|
#{source\ 1126}#
|
|
#{name\ 1127}#
|
|
#{var\ 1128}#)
|
|
(let ((#{atom-key\ 1129}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1129}# (quote (c)))
|
|
((@ (language tree-il) make-lexical-ref)
|
|
#{source\ 1126}#
|
|
#{name\ 1127}#
|
|
#{var\ 1128}#)
|
|
(#{decorate-source\ 91}#
|
|
#{var\ 1128}#
|
|
#{source\ 1126}#)))))
|
|
(#{build-conditional\ 94}#
|
|
(lambda (#{source\ 1130}#
|
|
#{test-exp\ 1131}#
|
|
#{then-exp\ 1132}#
|
|
#{else-exp\ 1133}#)
|
|
(let ((#{atom-key\ 1134}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1134}# (quote (c)))
|
|
((@ (language tree-il) make-conditional)
|
|
#{source\ 1130}#
|
|
#{test-exp\ 1131}#
|
|
#{then-exp\ 1132}#
|
|
#{else-exp\ 1133}#)
|
|
(#{decorate-source\ 91}#
|
|
(if (equal? #{else-exp\ 1133}# (quote (if #f #f)))
|
|
(list 'if
|
|
#{test-exp\ 1131}#
|
|
#{then-exp\ 1132}#)
|
|
(list 'if
|
|
#{test-exp\ 1131}#
|
|
#{then-exp\ 1132}#
|
|
#{else-exp\ 1133}#))
|
|
#{source\ 1130}#)))))
|
|
(#{build-application\ 93}#
|
|
(lambda (#{source\ 1135}#
|
|
#{fun-exp\ 1136}#
|
|
#{arg-exps\ 1137}#)
|
|
(let ((#{atom-key\ 1138}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1138}# (quote (c)))
|
|
((@ (language tree-il) make-application)
|
|
#{source\ 1135}#
|
|
#{fun-exp\ 1136}#
|
|
#{arg-exps\ 1137}#)
|
|
(#{decorate-source\ 91}#
|
|
(cons #{fun-exp\ 1136}# #{arg-exps\ 1137}#)
|
|
#{source\ 1135}#)))))
|
|
(#{build-void\ 92}#
|
|
(lambda (#{source\ 1139}#)
|
|
(let ((#{atom-key\ 1140}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1140}# (quote (c)))
|
|
((@ (language tree-il) make-void)
|
|
#{source\ 1139}#)
|
|
(#{decorate-source\ 91}#
|
|
'(if #f #f)
|
|
#{source\ 1139}#)))))
|
|
(#{decorate-source\ 91}#
|
|
(lambda (#{e\ 1141}# #{s\ 1142}#)
|
|
(begin
|
|
(if (if (pair? #{e\ 1141}#) #{s\ 1142}# #f)
|
|
(set-source-properties! #{e\ 1141}# #{s\ 1142}#))
|
|
#{e\ 1141}#)))
|
|
(#{get-global-definition-hook\ 90}#
|
|
(lambda (#{symbol\ 1143}# #{module\ 1144}#)
|
|
(begin
|
|
(if (if (not #{module\ 1144}#) (current-module) #f)
|
|
(warn "module system is booted, we should have a module"
|
|
#{symbol\ 1143}#))
|
|
(let ((#{v\ 1145}#
|
|
(module-variable
|
|
(if #{module\ 1144}#
|
|
(resolve-module (cdr #{module\ 1144}#))
|
|
(current-module))
|
|
#{symbol\ 1143}#)))
|
|
(if #{v\ 1145}#
|
|
(if (variable-bound? #{v\ 1145}#)
|
|
(let ((#{val\ 1146}# (variable-ref #{v\ 1145}#)))
|
|
(if (macro? #{val\ 1146}#)
|
|
(if (syncase-macro-type #{val\ 1146}#)
|
|
(cons (syncase-macro-type #{val\ 1146}#)
|
|
(syncase-macro-binding #{val\ 1146}#))
|
|
#f)
|
|
#f))
|
|
#f)
|
|
#f)))))
|
|
(#{put-global-definition-hook\ 89}#
|
|
(lambda (#{symbol\ 1147}# #{type\ 1148}# #{val\ 1149}#)
|
|
(let ((#{existing\ 1150}#
|
|
(let ((#{v\ 1151}#
|
|
(module-variable
|
|
(current-module)
|
|
#{symbol\ 1147}#)))
|
|
(if #{v\ 1151}#
|
|
(if (variable-bound? #{v\ 1151}#)
|
|
(let ((#{val\ 1152}# (variable-ref #{v\ 1151}#)))
|
|
(if (macro? #{val\ 1152}#)
|
|
(if (not (syncase-macro-type #{val\ 1152}#))
|
|
#{val\ 1152}#
|
|
#f)
|
|
#f))
|
|
#f)
|
|
#f))))
|
|
(module-define!
|
|
(current-module)
|
|
#{symbol\ 1147}#
|
|
(if #{existing\ 1150}#
|
|
(make-extended-syncase-macro
|
|
#{existing\ 1150}#
|
|
#{type\ 1148}#
|
|
#{val\ 1149}#)
|
|
(make-syncase-macro #{type\ 1148}# #{val\ 1149}#))))))
|
|
(#{local-eval-hook\ 88}#
|
|
(lambda (#{x\ 1153}# #{mod\ 1154}#)
|
|
(primitive-eval
|
|
(list #{noexpand\ 81}#
|
|
(let ((#{atom-key\ 1155}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1155}# (quote (c)))
|
|
((@ (language tree-il) tree-il->scheme)
|
|
#{x\ 1153}#)
|
|
#{x\ 1153}#))))))
|
|
(#{top-level-eval-hook\ 87}#
|
|
(lambda (#{x\ 1156}# #{mod\ 1157}#)
|
|
(primitive-eval
|
|
(list #{noexpand\ 81}#
|
|
(let ((#{atom-key\ 1158}# (fluid-ref #{*mode*\ 82}#)))
|
|
(if (memv #{atom-key\ 1158}# (quote (c)))
|
|
((@ (language tree-il) tree-il->scheme)
|
|
#{x\ 1156}#)
|
|
#{x\ 1156}#))))))
|
|
(#{fx<\ 86}# <)
|
|
(#{fx=\ 85}# =)
|
|
(#{fx-\ 84}# -)
|
|
(#{fx+\ 83}# +)
|
|
(#{*mode*\ 82}# (make-fluid))
|
|
(#{noexpand\ 81}# "noexpand"))
|
|
(begin
|
|
(#{global-extend\ 126}#
|
|
'local-syntax
|
|
'letrec-syntax
|
|
#t)
|
|
(#{global-extend\ 126}#
|
|
'local-syntax
|
|
'let-syntax
|
|
#f)
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'fluid-let-syntax
|
|
(lambda (#{e\ 1159}#
|
|
#{r\ 1160}#
|
|
#{w\ 1161}#
|
|
#{s\ 1162}#
|
|
#{mod\ 1163}#)
|
|
((lambda (#{tmp\ 1164}#)
|
|
((lambda (#{tmp\ 1165}#)
|
|
(if (if #{tmp\ 1165}#
|
|
(apply (lambda (#{_\ 1166}#
|
|
#{var\ 1167}#
|
|
#{val\ 1168}#
|
|
#{e1\ 1169}#
|
|
#{e2\ 1170}#)
|
|
(#{valid-bound-ids?\ 153}# #{var\ 1167}#))
|
|
#{tmp\ 1165}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 1172}#
|
|
#{var\ 1173}#
|
|
#{val\ 1174}#
|
|
#{e1\ 1175}#
|
|
#{e2\ 1176}#)
|
|
(let ((#{names\ 1177}#
|
|
(map (lambda (#{x\ 1178}#)
|
|
(#{id-var-name\ 150}#
|
|
#{x\ 1178}#
|
|
#{w\ 1161}#))
|
|
#{var\ 1173}#)))
|
|
(begin
|
|
(for-each
|
|
(lambda (#{id\ 1180}# #{n\ 1181}#)
|
|
(let ((#{atom-key\ 1182}#
|
|
(#{binding-type\ 120}#
|
|
(#{lookup\ 125}#
|
|
#{n\ 1181}#
|
|
#{r\ 1160}#
|
|
#{mod\ 1163}#))))
|
|
(if (memv #{atom-key\ 1182}#
|
|
'(displaced-lexical))
|
|
(syntax-violation
|
|
'fluid-let-syntax
|
|
"identifier out of context"
|
|
#{e\ 1159}#
|
|
(#{source-wrap\ 157}#
|
|
#{id\ 1180}#
|
|
#{w\ 1161}#
|
|
#{s\ 1162}#
|
|
#{mod\ 1163}#)))))
|
|
#{var\ 1173}#
|
|
#{names\ 1177}#)
|
|
(#{chi-body\ 168}#
|
|
(cons #{e1\ 1175}# #{e2\ 1176}#)
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 1159}#
|
|
#{w\ 1161}#
|
|
#{s\ 1162}#
|
|
#{mod\ 1163}#)
|
|
(#{extend-env\ 122}#
|
|
#{names\ 1177}#
|
|
(let ((#{trans-r\ 1185}#
|
|
(#{macros-only-env\ 124}#
|
|
#{r\ 1160}#)))
|
|
(map (lambda (#{x\ 1186}#)
|
|
(cons 'macro
|
|
(#{eval-local-transformer\ 170}#
|
|
(#{chi\ 164}#
|
|
#{x\ 1186}#
|
|
#{trans-r\ 1185}#
|
|
#{w\ 1161}#
|
|
#{mod\ 1163}#)
|
|
#{mod\ 1163}#)))
|
|
#{val\ 1174}#))
|
|
#{r\ 1160}#)
|
|
#{w\ 1161}#
|
|
#{mod\ 1163}#))))
|
|
#{tmp\ 1165}#)
|
|
((lambda (#{_\ 1188}#)
|
|
(syntax-violation
|
|
'fluid-let-syntax
|
|
"bad syntax"
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 1159}#
|
|
#{w\ 1161}#
|
|
#{s\ 1162}#
|
|
#{mod\ 1163}#)))
|
|
#{tmp\ 1164}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1164}#
|
|
'(any #(each (any any)) any . each-any))))
|
|
#{e\ 1159}#)))
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'quote
|
|
(lambda (#{e\ 1189}#
|
|
#{r\ 1190}#
|
|
#{w\ 1191}#
|
|
#{s\ 1192}#
|
|
#{mod\ 1193}#)
|
|
((lambda (#{tmp\ 1194}#)
|
|
((lambda (#{tmp\ 1195}#)
|
|
(if #{tmp\ 1195}#
|
|
(apply (lambda (#{_\ 1196}# #{e\ 1197}#)
|
|
(#{build-data\ 106}#
|
|
#{s\ 1192}#
|
|
(#{strip\ 177}# #{e\ 1197}# #{w\ 1191}#)))
|
|
#{tmp\ 1195}#)
|
|
((lambda (#{_\ 1198}#)
|
|
(syntax-violation
|
|
'quote
|
|
"bad syntax"
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 1189}#
|
|
#{w\ 1191}#
|
|
#{s\ 1192}#
|
|
#{mod\ 1193}#)))
|
|
#{tmp\ 1194}#)))
|
|
($sc-dispatch #{tmp\ 1194}# (quote (any any)))))
|
|
#{e\ 1189}#)))
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'syntax
|
|
(letrec ((#{regen\ 1206}#
|
|
(lambda (#{x\ 1207}#)
|
|
(let ((#{atom-key\ 1208}# (car #{x\ 1207}#)))
|
|
(if (memv #{atom-key\ 1208}# (quote (ref)))
|
|
(#{build-lexical-reference\ 95}#
|
|
'value
|
|
#f
|
|
(cadr #{x\ 1207}#)
|
|
(cadr #{x\ 1207}#))
|
|
(if (memv #{atom-key\ 1208}# (quote (primitive)))
|
|
(#{build-primref\ 105}# #f (cadr #{x\ 1207}#))
|
|
(if (memv #{atom-key\ 1208}# (quote (quote)))
|
|
(#{build-data\ 106}# #f (cadr #{x\ 1207}#))
|
|
(if (memv #{atom-key\ 1208}# (quote (lambda)))
|
|
(if (list? (cadr #{x\ 1207}#))
|
|
(#{build-simple-lambda\ 102}#
|
|
#f
|
|
(cadr #{x\ 1207}#)
|
|
#f
|
|
(cadr #{x\ 1207}#)
|
|
#f
|
|
(#{regen\ 1206}# (caddr #{x\ 1207}#)))
|
|
(error "how did we get here" #{x\ 1207}#))
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}# #f (car #{x\ 1207}#))
|
|
(map #{regen\ 1206}#
|
|
(cdr #{x\ 1207}#))))))))))
|
|
(#{gen-vector\ 1205}#
|
|
(lambda (#{x\ 1209}#)
|
|
(if (eq? (car #{x\ 1209}#) (quote list))
|
|
(cons (quote vector) (cdr #{x\ 1209}#))
|
|
(if (eq? (car #{x\ 1209}#) (quote quote))
|
|
(list 'quote
|
|
(list->vector (cadr #{x\ 1209}#)))
|
|
(list (quote list->vector) #{x\ 1209}#)))))
|
|
(#{gen-append\ 1204}#
|
|
(lambda (#{x\ 1210}# #{y\ 1211}#)
|
|
(if (equal? #{y\ 1211}# (quote (quote ())))
|
|
#{x\ 1210}#
|
|
(list (quote append) #{x\ 1210}# #{y\ 1211}#))))
|
|
(#{gen-cons\ 1203}#
|
|
(lambda (#{x\ 1212}# #{y\ 1213}#)
|
|
(let ((#{atom-key\ 1214}# (car #{y\ 1213}#)))
|
|
(if (memv #{atom-key\ 1214}# (quote (quote)))
|
|
(if (eq? (car #{x\ 1212}#) (quote quote))
|
|
(list 'quote
|
|
(cons (cadr #{x\ 1212}#) (cadr #{y\ 1213}#)))
|
|
(if (eq? (cadr #{y\ 1213}#) (quote ()))
|
|
(list (quote list) #{x\ 1212}#)
|
|
(list (quote cons) #{x\ 1212}# #{y\ 1213}#)))
|
|
(if (memv #{atom-key\ 1214}# (quote (list)))
|
|
(cons 'list
|
|
(cons #{x\ 1212}# (cdr #{y\ 1213}#)))
|
|
(list (quote cons) #{x\ 1212}# #{y\ 1213}#))))))
|
|
(#{gen-map\ 1202}#
|
|
(lambda (#{e\ 1215}# #{map-env\ 1216}#)
|
|
(let ((#{formals\ 1217}# (map cdr #{map-env\ 1216}#))
|
|
(#{actuals\ 1218}#
|
|
(map (lambda (#{x\ 1219}#)
|
|
(list (quote ref) (car #{x\ 1219}#)))
|
|
#{map-env\ 1216}#)))
|
|
(if (eq? (car #{e\ 1215}#) (quote ref))
|
|
(car #{actuals\ 1218}#)
|
|
(if (and-map
|
|
(lambda (#{x\ 1220}#)
|
|
(if (eq? (car #{x\ 1220}#) (quote ref))
|
|
(memq (cadr #{x\ 1220}#) #{formals\ 1217}#)
|
|
#f))
|
|
(cdr #{e\ 1215}#))
|
|
(cons 'map
|
|
(cons (list 'primitive
|
|
(car #{e\ 1215}#))
|
|
(map (let ((#{r\ 1221}#
|
|
(map cons
|
|
#{formals\ 1217}#
|
|
#{actuals\ 1218}#)))
|
|
(lambda (#{x\ 1222}#)
|
|
(cdr (assq (cadr #{x\ 1222}#)
|
|
#{r\ 1221}#))))
|
|
(cdr #{e\ 1215}#))))
|
|
(cons 'map
|
|
(cons (list 'lambda
|
|
#{formals\ 1217}#
|
|
#{e\ 1215}#)
|
|
#{actuals\ 1218}#)))))))
|
|
(#{gen-mappend\ 1201}#
|
|
(lambda (#{e\ 1223}# #{map-env\ 1224}#)
|
|
(list 'apply
|
|
'(primitive append)
|
|
(#{gen-map\ 1202}# #{e\ 1223}# #{map-env\ 1224}#))))
|
|
(#{gen-ref\ 1200}#
|
|
(lambda (#{src\ 1225}#
|
|
#{var\ 1226}#
|
|
#{level\ 1227}#
|
|
#{maps\ 1228}#)
|
|
(if (#{fx=\ 85}# #{level\ 1227}# 0)
|
|
(values #{var\ 1226}# #{maps\ 1228}#)
|
|
(if (null? #{maps\ 1228}#)
|
|
(syntax-violation
|
|
'syntax
|
|
"missing ellipsis"
|
|
#{src\ 1225}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{gen-ref\ 1200}#
|
|
#{src\ 1225}#
|
|
#{var\ 1226}#
|
|
(#{fx-\ 84}# #{level\ 1227}# 1)
|
|
(cdr #{maps\ 1228}#)))
|
|
(lambda (#{outer-var\ 1229}# #{outer-maps\ 1230}#)
|
|
(let ((#{b\ 1231}#
|
|
(assq #{outer-var\ 1229}#
|
|
(car #{maps\ 1228}#))))
|
|
(if #{b\ 1231}#
|
|
(values (cdr #{b\ 1231}#) #{maps\ 1228}#)
|
|
(let ((#{inner-var\ 1232}#
|
|
(#{gen-var\ 178}# (quote tmp))))
|
|
(values
|
|
#{inner-var\ 1232}#
|
|
(cons (cons (cons #{outer-var\ 1229}#
|
|
#{inner-var\ 1232}#)
|
|
(car #{maps\ 1228}#))
|
|
#{outer-maps\ 1230}#)))))))))))
|
|
(#{gen-syntax\ 1199}#
|
|
(lambda (#{src\ 1233}#
|
|
#{e\ 1234}#
|
|
#{r\ 1235}#
|
|
#{maps\ 1236}#
|
|
#{ellipsis?\ 1237}#
|
|
#{mod\ 1238}#)
|
|
(if (#{id?\ 128}# #{e\ 1234}#)
|
|
(let ((#{label\ 1239}#
|
|
(#{id-var-name\ 150}#
|
|
#{e\ 1234}#
|
|
'(()))))
|
|
(let ((#{b\ 1240}#
|
|
(#{lookup\ 125}#
|
|
#{label\ 1239}#
|
|
#{r\ 1235}#
|
|
#{mod\ 1238}#)))
|
|
(if (eq? (#{binding-type\ 120}# #{b\ 1240}#)
|
|
'syntax)
|
|
(call-with-values
|
|
(lambda ()
|
|
(let ((#{var.lev\ 1241}#
|
|
(#{binding-value\ 121}# #{b\ 1240}#)))
|
|
(#{gen-ref\ 1200}#
|
|
#{src\ 1233}#
|
|
(car #{var.lev\ 1241}#)
|
|
(cdr #{var.lev\ 1241}#)
|
|
#{maps\ 1236}#)))
|
|
(lambda (#{var\ 1242}# #{maps\ 1243}#)
|
|
(values
|
|
(list (quote ref) #{var\ 1242}#)
|
|
#{maps\ 1243}#)))
|
|
(if (#{ellipsis?\ 1237}# #{e\ 1234}#)
|
|
(syntax-violation
|
|
'syntax
|
|
"misplaced ellipsis"
|
|
#{src\ 1233}#)
|
|
(values
|
|
(list (quote quote) #{e\ 1234}#)
|
|
#{maps\ 1236}#)))))
|
|
((lambda (#{tmp\ 1244}#)
|
|
((lambda (#{tmp\ 1245}#)
|
|
(if (if #{tmp\ 1245}#
|
|
(apply (lambda (#{dots\ 1246}# #{e\ 1247}#)
|
|
(#{ellipsis?\ 1237}#
|
|
#{dots\ 1246}#))
|
|
#{tmp\ 1245}#)
|
|
#f)
|
|
(apply (lambda (#{dots\ 1248}# #{e\ 1249}#)
|
|
(#{gen-syntax\ 1199}#
|
|
#{src\ 1233}#
|
|
#{e\ 1249}#
|
|
#{r\ 1235}#
|
|
#{maps\ 1236}#
|
|
(lambda (#{x\ 1250}#) #f)
|
|
#{mod\ 1238}#))
|
|
#{tmp\ 1245}#)
|
|
((lambda (#{tmp\ 1251}#)
|
|
(if (if #{tmp\ 1251}#
|
|
(apply (lambda (#{x\ 1252}#
|
|
#{dots\ 1253}#
|
|
#{y\ 1254}#)
|
|
(#{ellipsis?\ 1237}#
|
|
#{dots\ 1253}#))
|
|
#{tmp\ 1251}#)
|
|
#f)
|
|
(apply (lambda (#{x\ 1255}#
|
|
#{dots\ 1256}#
|
|
#{y\ 1257}#)
|
|
(letrec ((#{f\ 1258}#
|
|
(lambda (#{y\ 1259}#
|
|
#{k\ 1260}#)
|
|
((lambda (#{tmp\ 1264}#)
|
|
((lambda (#{tmp\ 1265}#)
|
|
(if (if #{tmp\ 1265}#
|
|
(apply (lambda (#{dots\ 1266}#
|
|
#{y\ 1267}#)
|
|
(#{ellipsis?\ 1237}#
|
|
#{dots\ 1266}#))
|
|
#{tmp\ 1265}#)
|
|
#f)
|
|
(apply (lambda (#{dots\ 1268}#
|
|
#{y\ 1269}#)
|
|
(#{f\ 1258}#
|
|
#{y\ 1269}#
|
|
(lambda (#{maps\ 1270}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{k\ 1260}#
|
|
(cons '()
|
|
#{maps\ 1270}#)))
|
|
(lambda (#{x\ 1271}#
|
|
#{maps\ 1272}#)
|
|
(if (null? (car #{maps\ 1272}#))
|
|
(syntax-violation
|
|
'syntax
|
|
"extra ellipsis"
|
|
#{src\ 1233}#)
|
|
(values
|
|
(#{gen-mappend\ 1201}#
|
|
#{x\ 1271}#
|
|
(car #{maps\ 1272}#))
|
|
(cdr #{maps\ 1272}#))))))))
|
|
#{tmp\ 1265}#)
|
|
((lambda (#{_\ 1273}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{gen-syntax\ 1199}#
|
|
#{src\ 1233}#
|
|
#{y\ 1259}#
|
|
#{r\ 1235}#
|
|
#{maps\ 1236}#
|
|
#{ellipsis?\ 1237}#
|
|
#{mod\ 1238}#))
|
|
(lambda (#{y\ 1274}#
|
|
#{maps\ 1275}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{k\ 1260}#
|
|
#{maps\ 1275}#))
|
|
(lambda (#{x\ 1276}#
|
|
#{maps\ 1277}#)
|
|
(values
|
|
(#{gen-append\ 1204}#
|
|
#{x\ 1276}#
|
|
#{y\ 1274}#)
|
|
#{maps\ 1277}#))))))
|
|
#{tmp\ 1264}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1264}#
|
|
'(any . any))))
|
|
#{y\ 1259}#))))
|
|
(#{f\ 1258}#
|
|
#{y\ 1257}#
|
|
(lambda (#{maps\ 1261}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{gen-syntax\ 1199}#
|
|
#{src\ 1233}#
|
|
#{x\ 1255}#
|
|
#{r\ 1235}#
|
|
(cons '()
|
|
#{maps\ 1261}#)
|
|
#{ellipsis?\ 1237}#
|
|
#{mod\ 1238}#))
|
|
(lambda (#{x\ 1262}#
|
|
#{maps\ 1263}#)
|
|
(if (null? (car #{maps\ 1263}#))
|
|
(syntax-violation
|
|
'syntax
|
|
"extra ellipsis"
|
|
#{src\ 1233}#)
|
|
(values
|
|
(#{gen-map\ 1202}#
|
|
#{x\ 1262}#
|
|
(car #{maps\ 1263}#))
|
|
(cdr #{maps\ 1263}#)))))))))
|
|
#{tmp\ 1251}#)
|
|
((lambda (#{tmp\ 1278}#)
|
|
(if #{tmp\ 1278}#
|
|
(apply (lambda (#{x\ 1279}#
|
|
#{y\ 1280}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{gen-syntax\ 1199}#
|
|
#{src\ 1233}#
|
|
#{x\ 1279}#
|
|
#{r\ 1235}#
|
|
#{maps\ 1236}#
|
|
#{ellipsis?\ 1237}#
|
|
#{mod\ 1238}#))
|
|
(lambda (#{x\ 1281}#
|
|
#{maps\ 1282}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{gen-syntax\ 1199}#
|
|
#{src\ 1233}#
|
|
#{y\ 1280}#
|
|
#{r\ 1235}#
|
|
#{maps\ 1282}#
|
|
#{ellipsis?\ 1237}#
|
|
#{mod\ 1238}#))
|
|
(lambda (#{y\ 1283}#
|
|
#{maps\ 1284}#)
|
|
(values
|
|
(#{gen-cons\ 1203}#
|
|
#{x\ 1281}#
|
|
#{y\ 1283}#)
|
|
#{maps\ 1284}#))))))
|
|
#{tmp\ 1278}#)
|
|
((lambda (#{tmp\ 1285}#)
|
|
(if #{tmp\ 1285}#
|
|
(apply (lambda (#{e1\ 1286}#
|
|
#{e2\ 1287}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{gen-syntax\ 1199}#
|
|
#{src\ 1233}#
|
|
(cons #{e1\ 1286}#
|
|
#{e2\ 1287}#)
|
|
#{r\ 1235}#
|
|
#{maps\ 1236}#
|
|
#{ellipsis?\ 1237}#
|
|
#{mod\ 1238}#))
|
|
(lambda (#{e\ 1289}#
|
|
#{maps\ 1290}#)
|
|
(values
|
|
(#{gen-vector\ 1205}#
|
|
#{e\ 1289}#)
|
|
#{maps\ 1290}#))))
|
|
#{tmp\ 1285}#)
|
|
((lambda (#{_\ 1291}#)
|
|
(values
|
|
(list 'quote
|
|
#{e\ 1234}#)
|
|
#{maps\ 1236}#))
|
|
#{tmp\ 1244}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1244}#
|
|
'#(vector (any . each-any))))))
|
|
($sc-dispatch
|
|
#{tmp\ 1244}#
|
|
'(any . any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1244}#
|
|
'(any any . any)))))
|
|
($sc-dispatch #{tmp\ 1244}# (quote (any any)))))
|
|
#{e\ 1234}#)))))
|
|
(lambda (#{e\ 1292}#
|
|
#{r\ 1293}#
|
|
#{w\ 1294}#
|
|
#{s\ 1295}#
|
|
#{mod\ 1296}#)
|
|
(let ((#{e\ 1297}#
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 1292}#
|
|
#{w\ 1294}#
|
|
#{s\ 1295}#
|
|
#{mod\ 1296}#)))
|
|
((lambda (#{tmp\ 1298}#)
|
|
((lambda (#{tmp\ 1299}#)
|
|
(if #{tmp\ 1299}#
|
|
(apply (lambda (#{_\ 1300}# #{x\ 1301}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{gen-syntax\ 1199}#
|
|
#{e\ 1297}#
|
|
#{x\ 1301}#
|
|
#{r\ 1293}#
|
|
'()
|
|
#{ellipsis?\ 172}#
|
|
#{mod\ 1296}#))
|
|
(lambda (#{e\ 1302}# #{maps\ 1303}#)
|
|
(#{regen\ 1206}# #{e\ 1302}#))))
|
|
#{tmp\ 1299}#)
|
|
((lambda (#{_\ 1304}#)
|
|
(syntax-violation
|
|
'syntax
|
|
"bad `syntax' form"
|
|
#{e\ 1297}#))
|
|
#{tmp\ 1298}#)))
|
|
($sc-dispatch #{tmp\ 1298}# (quote (any any)))))
|
|
#{e\ 1297}#)))))
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'lambda
|
|
(lambda (#{e\ 1305}#
|
|
#{r\ 1306}#
|
|
#{w\ 1307}#
|
|
#{s\ 1308}#
|
|
#{mod\ 1309}#)
|
|
((lambda (#{tmp\ 1310}#)
|
|
((lambda (#{tmp\ 1311}#)
|
|
(if (if #{tmp\ 1311}#
|
|
(apply (lambda (#{_\ 1312}#
|
|
#{args\ 1313}#
|
|
#{docstring\ 1314}#
|
|
#{e1\ 1315}#
|
|
#{e2\ 1316}#)
|
|
(string? (syntax->datum #{docstring\ 1314}#)))
|
|
#{tmp\ 1311}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 1317}#
|
|
#{args\ 1318}#
|
|
#{docstring\ 1319}#
|
|
#{e1\ 1320}#
|
|
#{e2\ 1321}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{lambda-formals\ 173}# #{args\ 1318}#))
|
|
(lambda (#{req\ 1322}#
|
|
#{opt\ 1323}#
|
|
#{rest\ 1324}#
|
|
#{kw\ 1325}#)
|
|
(#{chi-simple-lambda\ 174}#
|
|
#{e\ 1305}#
|
|
#{r\ 1306}#
|
|
#{w\ 1307}#
|
|
#{s\ 1308}#
|
|
#{mod\ 1309}#
|
|
#{req\ 1322}#
|
|
#{rest\ 1324}#
|
|
(syntax->datum #{docstring\ 1319}#)
|
|
(cons #{e1\ 1320}# #{e2\ 1321}#)))))
|
|
#{tmp\ 1311}#)
|
|
((lambda (#{tmp\ 1327}#)
|
|
(if #{tmp\ 1327}#
|
|
(apply (lambda (#{_\ 1328}#
|
|
#{args\ 1329}#
|
|
#{e1\ 1330}#
|
|
#{e2\ 1331}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{lambda-formals\ 173}# #{args\ 1329}#))
|
|
(lambda (#{req\ 1332}#
|
|
#{opt\ 1333}#
|
|
#{rest\ 1334}#
|
|
#{kw\ 1335}#)
|
|
(#{chi-simple-lambda\ 174}#
|
|
#{e\ 1305}#
|
|
#{r\ 1306}#
|
|
#{w\ 1307}#
|
|
#{s\ 1308}#
|
|
#{mod\ 1309}#
|
|
#{req\ 1332}#
|
|
#{rest\ 1334}#
|
|
#f
|
|
(cons #{e1\ 1330}# #{e2\ 1331}#)))))
|
|
#{tmp\ 1327}#)
|
|
((lambda (#{_\ 1337}#)
|
|
(syntax-violation
|
|
'lambda
|
|
"bad lambda"
|
|
#{e\ 1305}#))
|
|
#{tmp\ 1310}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1310}#
|
|
'(any any any . each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1310}#
|
|
'(any any any any . each-any))))
|
|
#{e\ 1305}#)))
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'lambda*
|
|
(lambda (#{e\ 1338}#
|
|
#{r\ 1339}#
|
|
#{w\ 1340}#
|
|
#{s\ 1341}#
|
|
#{mod\ 1342}#)
|
|
((lambda (#{tmp\ 1343}#)
|
|
((lambda (#{tmp\ 1344}#)
|
|
(if #{tmp\ 1344}#
|
|
(apply (lambda (#{_\ 1345}#
|
|
#{args\ 1346}#
|
|
#{e1\ 1347}#
|
|
#{e2\ 1348}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{chi-lambda-case\ 176}#
|
|
#{e\ 1338}#
|
|
#{r\ 1339}#
|
|
#{w\ 1340}#
|
|
#{s\ 1341}#
|
|
#{mod\ 1342}#
|
|
#{lambda*-formals\ 175}#
|
|
(list (cons #{args\ 1346}#
|
|
(cons #{e1\ 1347}#
|
|
#{e2\ 1348}#)))))
|
|
(lambda (#{docstring\ 1350}# #{lcase\ 1351}#)
|
|
(#{build-case-lambda\ 103}#
|
|
#{s\ 1341}#
|
|
#{docstring\ 1350}#
|
|
#{lcase\ 1351}#))))
|
|
#{tmp\ 1344}#)
|
|
((lambda (#{_\ 1352}#)
|
|
(syntax-violation
|
|
'lambda
|
|
"bad lambda*"
|
|
#{e\ 1338}#))
|
|
#{tmp\ 1343}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1343}#
|
|
'(any any any . each-any))))
|
|
#{e\ 1338}#)))
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'case-lambda
|
|
(lambda (#{e\ 1353}#
|
|
#{r\ 1354}#
|
|
#{w\ 1355}#
|
|
#{s\ 1356}#
|
|
#{mod\ 1357}#)
|
|
((lambda (#{tmp\ 1358}#)
|
|
((lambda (#{tmp\ 1359}#)
|
|
(if #{tmp\ 1359}#
|
|
(apply (lambda (#{_\ 1360}#
|
|
#{args\ 1361}#
|
|
#{e1\ 1362}#
|
|
#{e2\ 1363}#
|
|
#{args*\ 1364}#
|
|
#{e1*\ 1365}#
|
|
#{e2*\ 1366}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{chi-lambda-case\ 176}#
|
|
#{e\ 1353}#
|
|
#{r\ 1354}#
|
|
#{w\ 1355}#
|
|
#{s\ 1356}#
|
|
#{mod\ 1357}#
|
|
#{lambda-formals\ 173}#
|
|
(cons (cons #{args\ 1361}#
|
|
(cons #{e1\ 1362}# #{e2\ 1363}#))
|
|
(map (lambda (#{tmp\ 1370}#
|
|
#{tmp\ 1369}#
|
|
#{tmp\ 1368}#)
|
|
(cons #{tmp\ 1368}#
|
|
(cons #{tmp\ 1369}#
|
|
#{tmp\ 1370}#)))
|
|
#{e2*\ 1366}#
|
|
#{e1*\ 1365}#
|
|
#{args*\ 1364}#))))
|
|
(lambda (#{docstring\ 1372}# #{lcase\ 1373}#)
|
|
(#{build-case-lambda\ 103}#
|
|
#{s\ 1356}#
|
|
#{docstring\ 1372}#
|
|
#{lcase\ 1373}#))))
|
|
#{tmp\ 1359}#)
|
|
((lambda (#{_\ 1374}#)
|
|
(syntax-violation
|
|
'case-lambda
|
|
"bad case-lambda"
|
|
#{e\ 1353}#))
|
|
#{tmp\ 1358}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1358}#
|
|
'(any (any any . each-any)
|
|
.
|
|
#(each (any any . each-any))))))
|
|
#{e\ 1353}#)))
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'case-lambda*
|
|
(lambda (#{e\ 1375}#
|
|
#{r\ 1376}#
|
|
#{w\ 1377}#
|
|
#{s\ 1378}#
|
|
#{mod\ 1379}#)
|
|
((lambda (#{tmp\ 1380}#)
|
|
((lambda (#{tmp\ 1381}#)
|
|
(if #{tmp\ 1381}#
|
|
(apply (lambda (#{_\ 1382}#
|
|
#{args\ 1383}#
|
|
#{e1\ 1384}#
|
|
#{e2\ 1385}#
|
|
#{args*\ 1386}#
|
|
#{e1*\ 1387}#
|
|
#{e2*\ 1388}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{chi-lambda-case\ 176}#
|
|
#{e\ 1375}#
|
|
#{r\ 1376}#
|
|
#{w\ 1377}#
|
|
#{s\ 1378}#
|
|
#{mod\ 1379}#
|
|
#{lambda*-formals\ 175}#
|
|
(cons (cons #{args\ 1383}#
|
|
(cons #{e1\ 1384}# #{e2\ 1385}#))
|
|
(map (lambda (#{tmp\ 1392}#
|
|
#{tmp\ 1391}#
|
|
#{tmp\ 1390}#)
|
|
(cons #{tmp\ 1390}#
|
|
(cons #{tmp\ 1391}#
|
|
#{tmp\ 1392}#)))
|
|
#{e2*\ 1388}#
|
|
#{e1*\ 1387}#
|
|
#{args*\ 1386}#))))
|
|
(lambda (#{docstring\ 1394}# #{lcase\ 1395}#)
|
|
(#{build-case-lambda\ 103}#
|
|
#{s\ 1378}#
|
|
#{docstring\ 1394}#
|
|
#{lcase\ 1395}#))))
|
|
#{tmp\ 1381}#)
|
|
((lambda (#{_\ 1396}#)
|
|
(syntax-violation
|
|
'case-lambda
|
|
"bad case-lambda*"
|
|
#{e\ 1375}#))
|
|
#{tmp\ 1380}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1380}#
|
|
'(any (any any . each-any)
|
|
.
|
|
#(each (any any . each-any))))))
|
|
#{e\ 1375}#)))
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'let
|
|
(letrec ((#{chi-let\ 1397}#
|
|
(lambda (#{e\ 1398}#
|
|
#{r\ 1399}#
|
|
#{w\ 1400}#
|
|
#{s\ 1401}#
|
|
#{mod\ 1402}#
|
|
#{constructor\ 1403}#
|
|
#{ids\ 1404}#
|
|
#{vals\ 1405}#
|
|
#{exps\ 1406}#)
|
|
(if (not (#{valid-bound-ids?\ 153}# #{ids\ 1404}#))
|
|
(syntax-violation
|
|
'let
|
|
"duplicate bound variable"
|
|
#{e\ 1398}#)
|
|
(let ((#{labels\ 1407}#
|
|
(#{gen-labels\ 134}# #{ids\ 1404}#))
|
|
(#{new-vars\ 1408}#
|
|
(map #{gen-var\ 178}# #{ids\ 1404}#)))
|
|
(let ((#{nw\ 1409}#
|
|
(#{make-binding-wrap\ 145}#
|
|
#{ids\ 1404}#
|
|
#{labels\ 1407}#
|
|
#{w\ 1400}#))
|
|
(#{nr\ 1410}#
|
|
(#{extend-var-env\ 123}#
|
|
#{labels\ 1407}#
|
|
#{new-vars\ 1408}#
|
|
#{r\ 1399}#)))
|
|
(#{constructor\ 1403}#
|
|
#{s\ 1401}#
|
|
(map syntax->datum #{ids\ 1404}#)
|
|
#{new-vars\ 1408}#
|
|
(map (lambda (#{x\ 1411}#)
|
|
(#{chi\ 164}#
|
|
#{x\ 1411}#
|
|
#{r\ 1399}#
|
|
#{w\ 1400}#
|
|
#{mod\ 1402}#))
|
|
#{vals\ 1405}#)
|
|
(#{chi-body\ 168}#
|
|
#{exps\ 1406}#
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 1398}#
|
|
#{nw\ 1409}#
|
|
#{s\ 1401}#
|
|
#{mod\ 1402}#)
|
|
#{nr\ 1410}#
|
|
#{nw\ 1409}#
|
|
#{mod\ 1402}#))))))))
|
|
(lambda (#{e\ 1412}#
|
|
#{r\ 1413}#
|
|
#{w\ 1414}#
|
|
#{s\ 1415}#
|
|
#{mod\ 1416}#)
|
|
((lambda (#{tmp\ 1417}#)
|
|
((lambda (#{tmp\ 1418}#)
|
|
(if (if #{tmp\ 1418}#
|
|
(apply (lambda (#{_\ 1419}#
|
|
#{id\ 1420}#
|
|
#{val\ 1421}#
|
|
#{e1\ 1422}#
|
|
#{e2\ 1423}#)
|
|
(and-map #{id?\ 128}# #{id\ 1420}#))
|
|
#{tmp\ 1418}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 1425}#
|
|
#{id\ 1426}#
|
|
#{val\ 1427}#
|
|
#{e1\ 1428}#
|
|
#{e2\ 1429}#)
|
|
(#{chi-let\ 1397}#
|
|
#{e\ 1412}#
|
|
#{r\ 1413}#
|
|
#{w\ 1414}#
|
|
#{s\ 1415}#
|
|
#{mod\ 1416}#
|
|
#{build-let\ 108}#
|
|
#{id\ 1426}#
|
|
#{val\ 1427}#
|
|
(cons #{e1\ 1428}# #{e2\ 1429}#)))
|
|
#{tmp\ 1418}#)
|
|
((lambda (#{tmp\ 1433}#)
|
|
(if (if #{tmp\ 1433}#
|
|
(apply (lambda (#{_\ 1434}#
|
|
#{f\ 1435}#
|
|
#{id\ 1436}#
|
|
#{val\ 1437}#
|
|
#{e1\ 1438}#
|
|
#{e2\ 1439}#)
|
|
(if (#{id?\ 128}# #{f\ 1435}#)
|
|
(and-map #{id?\ 128}# #{id\ 1436}#)
|
|
#f))
|
|
#{tmp\ 1433}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 1441}#
|
|
#{f\ 1442}#
|
|
#{id\ 1443}#
|
|
#{val\ 1444}#
|
|
#{e1\ 1445}#
|
|
#{e2\ 1446}#)
|
|
(#{chi-let\ 1397}#
|
|
#{e\ 1412}#
|
|
#{r\ 1413}#
|
|
#{w\ 1414}#
|
|
#{s\ 1415}#
|
|
#{mod\ 1416}#
|
|
#{build-named-let\ 109}#
|
|
(cons #{f\ 1442}# #{id\ 1443}#)
|
|
#{val\ 1444}#
|
|
(cons #{e1\ 1445}# #{e2\ 1446}#)))
|
|
#{tmp\ 1433}#)
|
|
((lambda (#{_\ 1450}#)
|
|
(syntax-violation
|
|
'let
|
|
"bad let"
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 1412}#
|
|
#{w\ 1414}#
|
|
#{s\ 1415}#
|
|
#{mod\ 1416}#)))
|
|
#{tmp\ 1417}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1417}#
|
|
'(any any #(each (any any)) any . each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1417}#
|
|
'(any #(each (any any)) any . each-any))))
|
|
#{e\ 1412}#))))
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'letrec
|
|
(lambda (#{e\ 1451}#
|
|
#{r\ 1452}#
|
|
#{w\ 1453}#
|
|
#{s\ 1454}#
|
|
#{mod\ 1455}#)
|
|
((lambda (#{tmp\ 1456}#)
|
|
((lambda (#{tmp\ 1457}#)
|
|
(if (if #{tmp\ 1457}#
|
|
(apply (lambda (#{_\ 1458}#
|
|
#{id\ 1459}#
|
|
#{val\ 1460}#
|
|
#{e1\ 1461}#
|
|
#{e2\ 1462}#)
|
|
(and-map #{id?\ 128}# #{id\ 1459}#))
|
|
#{tmp\ 1457}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 1464}#
|
|
#{id\ 1465}#
|
|
#{val\ 1466}#
|
|
#{e1\ 1467}#
|
|
#{e2\ 1468}#)
|
|
(let ((#{ids\ 1469}# #{id\ 1465}#))
|
|
(if (not (#{valid-bound-ids?\ 153}#
|
|
#{ids\ 1469}#))
|
|
(syntax-violation
|
|
'letrec
|
|
"duplicate bound variable"
|
|
#{e\ 1451}#)
|
|
(let ((#{labels\ 1471}#
|
|
(#{gen-labels\ 134}# #{ids\ 1469}#))
|
|
(#{new-vars\ 1472}#
|
|
(map #{gen-var\ 178}# #{ids\ 1469}#)))
|
|
(let ((#{w\ 1473}#
|
|
(#{make-binding-wrap\ 145}#
|
|
#{ids\ 1469}#
|
|
#{labels\ 1471}#
|
|
#{w\ 1453}#))
|
|
(#{r\ 1474}#
|
|
(#{extend-var-env\ 123}#
|
|
#{labels\ 1471}#
|
|
#{new-vars\ 1472}#
|
|
#{r\ 1452}#)))
|
|
(#{build-letrec\ 110}#
|
|
#{s\ 1454}#
|
|
(map syntax->datum #{ids\ 1469}#)
|
|
#{new-vars\ 1472}#
|
|
(map (lambda (#{x\ 1475}#)
|
|
(#{chi\ 164}#
|
|
#{x\ 1475}#
|
|
#{r\ 1474}#
|
|
#{w\ 1473}#
|
|
#{mod\ 1455}#))
|
|
#{val\ 1466}#)
|
|
(#{chi-body\ 168}#
|
|
(cons #{e1\ 1467}# #{e2\ 1468}#)
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 1451}#
|
|
#{w\ 1473}#
|
|
#{s\ 1454}#
|
|
#{mod\ 1455}#)
|
|
#{r\ 1474}#
|
|
#{w\ 1473}#
|
|
#{mod\ 1455}#)))))))
|
|
#{tmp\ 1457}#)
|
|
((lambda (#{_\ 1478}#)
|
|
(syntax-violation
|
|
'letrec
|
|
"bad letrec"
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 1451}#
|
|
#{w\ 1453}#
|
|
#{s\ 1454}#
|
|
#{mod\ 1455}#)))
|
|
#{tmp\ 1456}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1456}#
|
|
'(any #(each (any any)) any . each-any))))
|
|
#{e\ 1451}#)))
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'set!
|
|
(lambda (#{e\ 1479}#
|
|
#{r\ 1480}#
|
|
#{w\ 1481}#
|
|
#{s\ 1482}#
|
|
#{mod\ 1483}#)
|
|
((lambda (#{tmp\ 1484}#)
|
|
((lambda (#{tmp\ 1485}#)
|
|
(if (if #{tmp\ 1485}#
|
|
(apply (lambda (#{_\ 1486}# #{id\ 1487}# #{val\ 1488}#)
|
|
(#{id?\ 128}# #{id\ 1487}#))
|
|
#{tmp\ 1485}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 1489}# #{id\ 1490}# #{val\ 1491}#)
|
|
(let ((#{val\ 1492}#
|
|
(#{chi\ 164}#
|
|
#{val\ 1491}#
|
|
#{r\ 1480}#
|
|
#{w\ 1481}#
|
|
#{mod\ 1483}#))
|
|
(#{n\ 1493}#
|
|
(#{id-var-name\ 150}#
|
|
#{id\ 1490}#
|
|
#{w\ 1481}#)))
|
|
(let ((#{b\ 1494}#
|
|
(#{lookup\ 125}#
|
|
#{n\ 1493}#
|
|
#{r\ 1480}#
|
|
#{mod\ 1483}#)))
|
|
(let ((#{atom-key\ 1495}#
|
|
(#{binding-type\ 120}# #{b\ 1494}#)))
|
|
(if (memv #{atom-key\ 1495}#
|
|
'(lexical))
|
|
(#{build-lexical-assignment\ 96}#
|
|
#{s\ 1482}#
|
|
(syntax->datum #{id\ 1490}#)
|
|
(#{binding-value\ 121}# #{b\ 1494}#)
|
|
#{val\ 1492}#)
|
|
(if (memv #{atom-key\ 1495}#
|
|
'(global))
|
|
(#{build-global-assignment\ 99}#
|
|
#{s\ 1482}#
|
|
#{n\ 1493}#
|
|
#{val\ 1492}#
|
|
#{mod\ 1483}#)
|
|
(if (memv #{atom-key\ 1495}#
|
|
'(displaced-lexical))
|
|
(syntax-violation
|
|
'set!
|
|
"identifier out of context"
|
|
(#{wrap\ 156}#
|
|
#{id\ 1490}#
|
|
#{w\ 1481}#
|
|
#{mod\ 1483}#))
|
|
(syntax-violation
|
|
'set!
|
|
"bad set!"
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 1479}#
|
|
#{w\ 1481}#
|
|
#{s\ 1482}#
|
|
#{mod\ 1483}#)))))))))
|
|
#{tmp\ 1485}#)
|
|
((lambda (#{tmp\ 1496}#)
|
|
(if #{tmp\ 1496}#
|
|
(apply (lambda (#{_\ 1497}#
|
|
#{head\ 1498}#
|
|
#{tail\ 1499}#
|
|
#{val\ 1500}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{syntax-type\ 162}#
|
|
#{head\ 1498}#
|
|
#{r\ 1480}#
|
|
'(())
|
|
#f
|
|
#f
|
|
#{mod\ 1483}#
|
|
#t))
|
|
(lambda (#{type\ 1501}#
|
|
#{value\ 1502}#
|
|
#{ee\ 1503}#
|
|
#{ww\ 1504}#
|
|
#{ss\ 1505}#
|
|
#{modmod\ 1506}#)
|
|
(if (memv #{type\ 1501}#
|
|
'(module-ref))
|
|
(let ((#{val\ 1507}#
|
|
(#{chi\ 164}#
|
|
#{val\ 1500}#
|
|
#{r\ 1480}#
|
|
#{w\ 1481}#
|
|
#{mod\ 1483}#)))
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{value\ 1502}#
|
|
(cons #{head\ 1498}#
|
|
#{tail\ 1499}#)))
|
|
(lambda (#{id\ 1509}# #{mod\ 1510}#)
|
|
(#{build-global-assignment\ 99}#
|
|
#{s\ 1482}#
|
|
#{id\ 1509}#
|
|
#{val\ 1507}#
|
|
#{mod\ 1510}#))))
|
|
(#{build-application\ 93}#
|
|
#{s\ 1482}#
|
|
(#{chi\ 164}#
|
|
(list '#(syntax-object
|
|
setter
|
|
((top)
|
|
#(ribcage () () ())
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(type
|
|
value
|
|
ee
|
|
ww
|
|
ss
|
|
modmod)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_ head tail val)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(e r w s mod)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i" "i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure
|
|
and-map*)
|
|
((top) (top))
|
|
("i" "i")))
|
|
(hygiene guile))
|
|
#{head\ 1498}#)
|
|
#{r\ 1480}#
|
|
#{w\ 1481}#
|
|
#{mod\ 1483}#)
|
|
(map (lambda (#{e\ 1511}#)
|
|
(#{chi\ 164}#
|
|
#{e\ 1511}#
|
|
#{r\ 1480}#
|
|
#{w\ 1481}#
|
|
#{mod\ 1483}#))
|
|
(append
|
|
#{tail\ 1499}#
|
|
(list #{val\ 1500}#))))))))
|
|
#{tmp\ 1496}#)
|
|
((lambda (#{_\ 1513}#)
|
|
(syntax-violation
|
|
'set!
|
|
"bad set!"
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 1479}#
|
|
#{w\ 1481}#
|
|
#{s\ 1482}#
|
|
#{mod\ 1483}#)))
|
|
#{tmp\ 1484}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1484}#
|
|
'(any (any . each-any) any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1484}#
|
|
'(any any any))))
|
|
#{e\ 1479}#)))
|
|
(#{global-extend\ 126}#
|
|
'module-ref
|
|
'@
|
|
(lambda (#{e\ 1514}#)
|
|
((lambda (#{tmp\ 1515}#)
|
|
((lambda (#{tmp\ 1516}#)
|
|
(if (if #{tmp\ 1516}#
|
|
(apply (lambda (#{_\ 1517}# #{mod\ 1518}# #{id\ 1519}#)
|
|
(if (and-map #{id?\ 128}# #{mod\ 1518}#)
|
|
(#{id?\ 128}# #{id\ 1519}#)
|
|
#f))
|
|
#{tmp\ 1516}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 1521}# #{mod\ 1522}# #{id\ 1523}#)
|
|
(values
|
|
(syntax->datum #{id\ 1523}#)
|
|
(syntax->datum
|
|
(cons '#(syntax-object
|
|
public
|
|
((top)
|
|
#(ribcage
|
|
#(_ mod id)
|
|
#((top) (top) (top))
|
|
#("i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(e) #((top)) #("i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure and-map*)
|
|
((top) (top))
|
|
("i" "i")))
|
|
(hygiene guile))
|
|
#{mod\ 1522}#))))
|
|
#{tmp\ 1516}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1515}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1515}#
|
|
'(any each-any any))))
|
|
#{e\ 1514}#)))
|
|
(#{global-extend\ 126}#
|
|
'module-ref
|
|
'@@
|
|
(lambda (#{e\ 1525}#)
|
|
((lambda (#{tmp\ 1526}#)
|
|
((lambda (#{tmp\ 1527}#)
|
|
(if (if #{tmp\ 1527}#
|
|
(apply (lambda (#{_\ 1528}# #{mod\ 1529}# #{id\ 1530}#)
|
|
(if (and-map #{id?\ 128}# #{mod\ 1529}#)
|
|
(#{id?\ 128}# #{id\ 1530}#)
|
|
#f))
|
|
#{tmp\ 1527}#)
|
|
#f)
|
|
(apply (lambda (#{_\ 1532}# #{mod\ 1533}# #{id\ 1534}#)
|
|
(values
|
|
(syntax->datum #{id\ 1534}#)
|
|
(syntax->datum
|
|
(cons '#(syntax-object
|
|
private
|
|
((top)
|
|
#(ribcage
|
|
#(_ mod id)
|
|
#((top) (top) (top))
|
|
#("i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(e) #((top)) #("i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure and-map*)
|
|
((top) (top))
|
|
("i" "i")))
|
|
(hygiene guile))
|
|
#{mod\ 1533}#))))
|
|
#{tmp\ 1527}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1526}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1526}#
|
|
'(any each-any any))))
|
|
#{e\ 1525}#)))
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'if
|
|
(lambda (#{e\ 1536}#
|
|
#{r\ 1537}#
|
|
#{w\ 1538}#
|
|
#{s\ 1539}#
|
|
#{mod\ 1540}#)
|
|
((lambda (#{tmp\ 1541}#)
|
|
((lambda (#{tmp\ 1542}#)
|
|
(if #{tmp\ 1542}#
|
|
(apply (lambda (#{_\ 1543}# #{test\ 1544}# #{then\ 1545}#)
|
|
(#{build-conditional\ 94}#
|
|
#{s\ 1539}#
|
|
(#{chi\ 164}#
|
|
#{test\ 1544}#
|
|
#{r\ 1537}#
|
|
#{w\ 1538}#
|
|
#{mod\ 1540}#)
|
|
(#{chi\ 164}#
|
|
#{then\ 1545}#
|
|
#{r\ 1537}#
|
|
#{w\ 1538}#
|
|
#{mod\ 1540}#)
|
|
(#{build-void\ 92}# #f)))
|
|
#{tmp\ 1542}#)
|
|
((lambda (#{tmp\ 1546}#)
|
|
(if #{tmp\ 1546}#
|
|
(apply (lambda (#{_\ 1547}#
|
|
#{test\ 1548}#
|
|
#{then\ 1549}#
|
|
#{else\ 1550}#)
|
|
(#{build-conditional\ 94}#
|
|
#{s\ 1539}#
|
|
(#{chi\ 164}#
|
|
#{test\ 1548}#
|
|
#{r\ 1537}#
|
|
#{w\ 1538}#
|
|
#{mod\ 1540}#)
|
|
(#{chi\ 164}#
|
|
#{then\ 1549}#
|
|
#{r\ 1537}#
|
|
#{w\ 1538}#
|
|
#{mod\ 1540}#)
|
|
(#{chi\ 164}#
|
|
#{else\ 1550}#
|
|
#{r\ 1537}#
|
|
#{w\ 1538}#
|
|
#{mod\ 1540}#)))
|
|
#{tmp\ 1546}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1541}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1541}#
|
|
'(any any any any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1541}#
|
|
'(any any any))))
|
|
#{e\ 1536}#)))
|
|
(#{global-extend\ 126}#
|
|
'begin
|
|
'begin
|
|
'())
|
|
(#{global-extend\ 126}#
|
|
'define
|
|
'define
|
|
'())
|
|
(#{global-extend\ 126}#
|
|
'define-syntax
|
|
'define-syntax
|
|
'())
|
|
(#{global-extend\ 126}#
|
|
'eval-when
|
|
'eval-when
|
|
'())
|
|
(#{global-extend\ 126}#
|
|
'core
|
|
'syntax-case
|
|
(letrec ((#{gen-syntax-case\ 1554}#
|
|
(lambda (#{x\ 1555}#
|
|
#{keys\ 1556}#
|
|
#{clauses\ 1557}#
|
|
#{r\ 1558}#
|
|
#{mod\ 1559}#)
|
|
(if (null? #{clauses\ 1557}#)
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}#
|
|
#f
|
|
'syntax-violation)
|
|
(list (#{build-data\ 106}# #f #f)
|
|
(#{build-data\ 106}#
|
|
#f
|
|
"source expression failed to match any pattern")
|
|
#{x\ 1555}#))
|
|
((lambda (#{tmp\ 1560}#)
|
|
((lambda (#{tmp\ 1561}#)
|
|
(if #{tmp\ 1561}#
|
|
(apply (lambda (#{pat\ 1562}# #{exp\ 1563}#)
|
|
(if (if (#{id?\ 128}# #{pat\ 1562}#)
|
|
(and-map
|
|
(lambda (#{x\ 1564}#)
|
|
(not (#{free-id=?\ 151}#
|
|
#{pat\ 1562}#
|
|
#{x\ 1564}#)))
|
|
(cons '#(syntax-object
|
|
...
|
|
((top)
|
|
#(ribcage
|
|
#(pat exp)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x
|
|
keys
|
|
clauses
|
|
r
|
|
mod)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(gen-syntax-case
|
|
gen-clause
|
|
build-dispatch-call
|
|
convert-pattern)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i" "i" "i" "i"))
|
|
#(ribcage
|
|
(lambda-var-list
|
|
gen-var
|
|
strip
|
|
chi-lambda-case
|
|
lambda*-formals
|
|
chi-simple-lambda
|
|
lambda-formals
|
|
ellipsis?
|
|
chi-void
|
|
eval-local-transformer
|
|
chi-local-syntax
|
|
chi-body
|
|
chi-macro
|
|
chi-application
|
|
chi-expr
|
|
chi
|
|
chi-top
|
|
syntax-type
|
|
chi-when-list
|
|
chi-install-global
|
|
chi-top-sequence
|
|
chi-sequence
|
|
source-wrap
|
|
wrap
|
|
bound-id-member?
|
|
distinct-bound-ids?
|
|
valid-bound-ids?
|
|
bound-id=?
|
|
free-id=?
|
|
id-var-name
|
|
same-marks?
|
|
join-marks
|
|
join-wraps
|
|
smart-append
|
|
make-binding-wrap
|
|
extend-ribcage!
|
|
make-empty-ribcage
|
|
new-mark
|
|
anti-mark
|
|
the-anti-mark
|
|
top-marked?
|
|
top-wrap
|
|
empty-wrap
|
|
set-ribcage-labels!
|
|
set-ribcage-marks!
|
|
set-ribcage-symnames!
|
|
ribcage-labels
|
|
ribcage-marks
|
|
ribcage-symnames
|
|
ribcage?
|
|
make-ribcage
|
|
gen-labels
|
|
gen-label
|
|
make-rename
|
|
rename-marks
|
|
rename-new
|
|
rename-old
|
|
subst-rename?
|
|
wrap-subst
|
|
wrap-marks
|
|
make-wrap
|
|
id-sym-name&marks
|
|
id-sym-name
|
|
id?
|
|
nonsymbol-id?
|
|
global-extend
|
|
lookup
|
|
macros-only-env
|
|
extend-var-env
|
|
extend-env
|
|
null-env
|
|
binding-value
|
|
binding-type
|
|
make-binding
|
|
arg-check
|
|
source-annotation
|
|
no-source
|
|
set-syntax-object-module!
|
|
set-syntax-object-wrap!
|
|
set-syntax-object-expression!
|
|
syntax-object-module
|
|
syntax-object-wrap
|
|
syntax-object-expression
|
|
syntax-object?
|
|
make-syntax-object
|
|
build-lexical-var
|
|
build-letrec
|
|
build-named-let
|
|
build-let
|
|
build-sequence
|
|
build-data
|
|
build-primref
|
|
build-lambda-case
|
|
build-case-lambda
|
|
build-simple-lambda
|
|
build-global-definition
|
|
maybe-name-value!
|
|
build-global-assignment
|
|
build-global-reference
|
|
analyze-variable
|
|
build-lexical-assignment
|
|
build-lexical-reference
|
|
build-conditional
|
|
build-application
|
|
build-void
|
|
decorate-source
|
|
get-global-definition-hook
|
|
put-global-definition-hook
|
|
gensym-hook
|
|
local-eval-hook
|
|
top-level-eval-hook
|
|
fx<
|
|
fx=
|
|
fx-
|
|
fx+
|
|
*mode*
|
|
noexpand)
|
|
((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
(define-structure
|
|
and-map*)
|
|
((top) (top))
|
|
("i" "i")))
|
|
(hygiene guile))
|
|
#{keys\ 1556}#))
|
|
#f)
|
|
(let ((#{labels\ 1565}#
|
|
(list (#{gen-label\ 133}#)))
|
|
(#{var\ 1566}#
|
|
(#{gen-var\ 178}#
|
|
#{pat\ 1562}#)))
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-simple-lambda\ 102}#
|
|
#f
|
|
(list (syntax->datum
|
|
#{pat\ 1562}#))
|
|
#f
|
|
(list #{var\ 1566}#)
|
|
#f
|
|
(#{chi\ 164}#
|
|
#{exp\ 1563}#
|
|
(#{extend-env\ 122}#
|
|
#{labels\ 1565}#
|
|
(list (cons 'syntax
|
|
(cons #{var\ 1566}#
|
|
0)))
|
|
#{r\ 1558}#)
|
|
(#{make-binding-wrap\ 145}#
|
|
(list #{pat\ 1562}#)
|
|
#{labels\ 1565}#
|
|
'(()))
|
|
#{mod\ 1559}#))
|
|
(list #{x\ 1555}#)))
|
|
(#{gen-clause\ 1553}#
|
|
#{x\ 1555}#
|
|
#{keys\ 1556}#
|
|
(cdr #{clauses\ 1557}#)
|
|
#{r\ 1558}#
|
|
#{pat\ 1562}#
|
|
#t
|
|
#{exp\ 1563}#
|
|
#{mod\ 1559}#)))
|
|
#{tmp\ 1561}#)
|
|
((lambda (#{tmp\ 1567}#)
|
|
(if #{tmp\ 1567}#
|
|
(apply (lambda (#{pat\ 1568}#
|
|
#{fender\ 1569}#
|
|
#{exp\ 1570}#)
|
|
(#{gen-clause\ 1553}#
|
|
#{x\ 1555}#
|
|
#{keys\ 1556}#
|
|
(cdr #{clauses\ 1557}#)
|
|
#{r\ 1558}#
|
|
#{pat\ 1568}#
|
|
#{fender\ 1569}#
|
|
#{exp\ 1570}#
|
|
#{mod\ 1559}#))
|
|
#{tmp\ 1567}#)
|
|
((lambda (#{_\ 1571}#)
|
|
(syntax-violation
|
|
'syntax-case
|
|
"invalid clause"
|
|
(car #{clauses\ 1557}#)))
|
|
#{tmp\ 1560}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1560}#
|
|
'(any any any)))))
|
|
($sc-dispatch #{tmp\ 1560}# (quote (any any)))))
|
|
(car #{clauses\ 1557}#)))))
|
|
(#{gen-clause\ 1553}#
|
|
(lambda (#{x\ 1572}#
|
|
#{keys\ 1573}#
|
|
#{clauses\ 1574}#
|
|
#{r\ 1575}#
|
|
#{pat\ 1576}#
|
|
#{fender\ 1577}#
|
|
#{exp\ 1578}#
|
|
#{mod\ 1579}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{convert-pattern\ 1551}#
|
|
#{pat\ 1576}#
|
|
#{keys\ 1573}#))
|
|
(lambda (#{p\ 1580}# #{pvars\ 1581}#)
|
|
(if (not (#{distinct-bound-ids?\ 154}#
|
|
(map car #{pvars\ 1581}#)))
|
|
(syntax-violation
|
|
'syntax-case
|
|
"duplicate pattern variable"
|
|
#{pat\ 1576}#)
|
|
(if (not (and-map
|
|
(lambda (#{x\ 1582}#)
|
|
(not (#{ellipsis?\ 172}#
|
|
(car #{x\ 1582}#))))
|
|
#{pvars\ 1581}#))
|
|
(syntax-violation
|
|
'syntax-case
|
|
"misplaced ellipsis"
|
|
#{pat\ 1576}#)
|
|
(let ((#{y\ 1583}#
|
|
(#{gen-var\ 178}# (quote tmp))))
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-simple-lambda\ 102}#
|
|
#f
|
|
(list (quote tmp))
|
|
#f
|
|
(list #{y\ 1583}#)
|
|
#f
|
|
(let ((#{y\ 1584}#
|
|
(#{build-lexical-reference\ 95}#
|
|
'value
|
|
#f
|
|
'tmp
|
|
#{y\ 1583}#)))
|
|
(#{build-conditional\ 94}#
|
|
#f
|
|
((lambda (#{tmp\ 1585}#)
|
|
((lambda (#{tmp\ 1586}#)
|
|
(if #{tmp\ 1586}#
|
|
(apply (lambda () #{y\ 1584}#)
|
|
#{tmp\ 1586}#)
|
|
((lambda (#{_\ 1587}#)
|
|
(#{build-conditional\ 94}#
|
|
#f
|
|
#{y\ 1584}#
|
|
(#{build-dispatch-call\ 1552}#
|
|
#{pvars\ 1581}#
|
|
#{fender\ 1577}#
|
|
#{y\ 1584}#
|
|
#{r\ 1575}#
|
|
#{mod\ 1579}#)
|
|
(#{build-data\ 106}#
|
|
#f
|
|
#f)))
|
|
#{tmp\ 1585}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1585}#
|
|
'#(atom #t))))
|
|
#{fender\ 1577}#)
|
|
(#{build-dispatch-call\ 1552}#
|
|
#{pvars\ 1581}#
|
|
#{exp\ 1578}#
|
|
#{y\ 1584}#
|
|
#{r\ 1575}#
|
|
#{mod\ 1579}#)
|
|
(#{gen-syntax-case\ 1554}#
|
|
#{x\ 1572}#
|
|
#{keys\ 1573}#
|
|
#{clauses\ 1574}#
|
|
#{r\ 1575}#
|
|
#{mod\ 1579}#))))
|
|
(list (if (eq? #{p\ 1580}# (quote any))
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}#
|
|
#f
|
|
'list)
|
|
(list #{x\ 1572}#))
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}#
|
|
#f
|
|
'$sc-dispatch)
|
|
(list #{x\ 1572}#
|
|
(#{build-data\ 106}#
|
|
#f
|
|
#{p\ 1580}#)))))))))))))
|
|
(#{build-dispatch-call\ 1552}#
|
|
(lambda (#{pvars\ 1588}#
|
|
#{exp\ 1589}#
|
|
#{y\ 1590}#
|
|
#{r\ 1591}#
|
|
#{mod\ 1592}#)
|
|
(let ((#{ids\ 1593}# (map car #{pvars\ 1588}#))
|
|
(#{levels\ 1594}# (map cdr #{pvars\ 1588}#)))
|
|
(let ((#{labels\ 1595}#
|
|
(#{gen-labels\ 134}# #{ids\ 1593}#))
|
|
(#{new-vars\ 1596}#
|
|
(map #{gen-var\ 178}# #{ids\ 1593}#)))
|
|
(#{build-application\ 93}#
|
|
#f
|
|
(#{build-primref\ 105}# #f (quote apply))
|
|
(list (#{build-simple-lambda\ 102}#
|
|
#f
|
|
(map syntax->datum #{ids\ 1593}#)
|
|
#f
|
|
#{new-vars\ 1596}#
|
|
#f
|
|
(#{chi\ 164}#
|
|
#{exp\ 1589}#
|
|
(#{extend-env\ 122}#
|
|
#{labels\ 1595}#
|
|
(map (lambda (#{var\ 1597}#
|
|
#{level\ 1598}#)
|
|
(cons 'syntax
|
|
(cons #{var\ 1597}#
|
|
#{level\ 1598}#)))
|
|
#{new-vars\ 1596}#
|
|
(map cdr #{pvars\ 1588}#))
|
|
#{r\ 1591}#)
|
|
(#{make-binding-wrap\ 145}#
|
|
#{ids\ 1593}#
|
|
#{labels\ 1595}#
|
|
'(()))
|
|
#{mod\ 1592}#))
|
|
#{y\ 1590}#))))))
|
|
(#{convert-pattern\ 1551}#
|
|
(lambda (#{pattern\ 1599}# #{keys\ 1600}#)
|
|
(letrec ((#{cvt\ 1602}#
|
|
(lambda (#{p\ 1603}# #{n\ 1604}# #{ids\ 1605}#)
|
|
(if (#{id?\ 128}# #{p\ 1603}#)
|
|
(if (#{bound-id-member?\ 155}#
|
|
#{p\ 1603}#
|
|
#{keys\ 1600}#)
|
|
(values
|
|
(vector (quote free-id) #{p\ 1603}#)
|
|
#{ids\ 1605}#)
|
|
(values
|
|
'any
|
|
(cons (cons #{p\ 1603}# #{n\ 1604}#)
|
|
#{ids\ 1605}#)))
|
|
((lambda (#{tmp\ 1606}#)
|
|
((lambda (#{tmp\ 1607}#)
|
|
(if (if #{tmp\ 1607}#
|
|
(apply (lambda (#{x\ 1608}#
|
|
#{dots\ 1609}#)
|
|
(#{ellipsis?\ 172}#
|
|
#{dots\ 1609}#))
|
|
#{tmp\ 1607}#)
|
|
#f)
|
|
(apply (lambda (#{x\ 1610}#
|
|
#{dots\ 1611}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{cvt\ 1602}#
|
|
#{x\ 1610}#
|
|
(#{fx+\ 83}#
|
|
#{n\ 1604}#
|
|
1)
|
|
#{ids\ 1605}#))
|
|
(lambda (#{p\ 1612}#
|
|
#{ids\ 1613}#)
|
|
(values
|
|
(if (eq? #{p\ 1612}#
|
|
'any)
|
|
'each-any
|
|
(vector
|
|
'each
|
|
#{p\ 1612}#))
|
|
#{ids\ 1613}#))))
|
|
#{tmp\ 1607}#)
|
|
((lambda (#{tmp\ 1614}#)
|
|
(if (if #{tmp\ 1614}#
|
|
(apply (lambda (#{x\ 1615}#
|
|
#{dots\ 1616}#
|
|
#{ys\ 1617}#)
|
|
(#{ellipsis?\ 172}#
|
|
#{dots\ 1616}#))
|
|
#{tmp\ 1614}#)
|
|
#f)
|
|
(apply (lambda (#{x\ 1618}#
|
|
#{dots\ 1619}#
|
|
#{ys\ 1620}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{cvt*\ 1601}#
|
|
#{ys\ 1620}#
|
|
#{n\ 1604}#
|
|
#{ids\ 1605}#))
|
|
(lambda (#{ys\ 1622}#
|
|
#{ids\ 1623}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{cvt\ 1602}#
|
|
#{x\ 1618}#
|
|
(+ #{n\ 1604}#
|
|
1)
|
|
#{ids\ 1623}#))
|
|
(lambda (#{x\ 1624}#
|
|
#{ids\ 1625}#)
|
|
(values
|
|
(list->vector
|
|
(cons 'each+
|
|
(cons #{x\ 1624}#
|
|
(cons (reverse
|
|
#{ys\ 1622}#)
|
|
'(())))))
|
|
#{ids\ 1625}#))))))
|
|
#{tmp\ 1614}#)
|
|
((lambda (#{tmp\ 1626}#)
|
|
(if #{tmp\ 1626}#
|
|
(apply (lambda (#{x\ 1627}#
|
|
#{y\ 1628}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{cvt\ 1602}#
|
|
#{y\ 1628}#
|
|
#{n\ 1604}#
|
|
#{ids\ 1605}#))
|
|
(lambda (#{y\ 1629}#
|
|
#{ids\ 1630}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{cvt\ 1602}#
|
|
#{x\ 1627}#
|
|
#{n\ 1604}#
|
|
#{ids\ 1630}#))
|
|
(lambda (#{x\ 1631}#
|
|
#{ids\ 1632}#)
|
|
(values
|
|
(cons #{x\ 1631}#
|
|
#{y\ 1629}#)
|
|
#{ids\ 1632}#))))))
|
|
#{tmp\ 1626}#)
|
|
((lambda (#{tmp\ 1633}#)
|
|
(if #{tmp\ 1633}#
|
|
(apply (lambda ()
|
|
(values
|
|
'()
|
|
#{ids\ 1605}#))
|
|
#{tmp\ 1633}#)
|
|
((lambda (#{tmp\ 1634}#)
|
|
(if #{tmp\ 1634}#
|
|
(apply (lambda (#{x\ 1635}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{cvt\ 1602}#
|
|
#{x\ 1635}#
|
|
#{n\ 1604}#
|
|
#{ids\ 1605}#))
|
|
(lambda (#{p\ 1637}#
|
|
#{ids\ 1638}#)
|
|
(values
|
|
(vector
|
|
'vector
|
|
#{p\ 1637}#)
|
|
#{ids\ 1638}#))))
|
|
#{tmp\ 1634}#)
|
|
((lambda (#{x\ 1639}#)
|
|
(values
|
|
(vector
|
|
'atom
|
|
(#{strip\ 177}#
|
|
#{p\ 1603}#
|
|
'(())))
|
|
#{ids\ 1605}#))
|
|
#{tmp\ 1606}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1606}#
|
|
'#(vector
|
|
each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1606}#
|
|
'()))))
|
|
($sc-dispatch
|
|
#{tmp\ 1606}#
|
|
'(any . any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1606}#
|
|
'(any any . each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1606}#
|
|
'(any any))))
|
|
#{p\ 1603}#))))
|
|
(#{cvt*\ 1601}#
|
|
(lambda (#{p*\ 1640}#
|
|
#{n\ 1641}#
|
|
#{ids\ 1642}#)
|
|
(if (null? #{p*\ 1640}#)
|
|
(values (quote ()) #{ids\ 1642}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{cvt*\ 1601}#
|
|
(cdr #{p*\ 1640}#)
|
|
#{n\ 1641}#
|
|
#{ids\ 1642}#))
|
|
(lambda (#{y\ 1643}# #{ids\ 1644}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{cvt\ 1602}#
|
|
(car #{p*\ 1640}#)
|
|
#{n\ 1641}#
|
|
#{ids\ 1644}#))
|
|
(lambda (#{x\ 1645}# #{ids\ 1646}#)
|
|
(values
|
|
(cons #{x\ 1645}# #{y\ 1643}#)
|
|
#{ids\ 1646}#)))))))))
|
|
(#{cvt\ 1602}# #{pattern\ 1599}# 0 (quote ()))))))
|
|
(lambda (#{e\ 1647}#
|
|
#{r\ 1648}#
|
|
#{w\ 1649}#
|
|
#{s\ 1650}#
|
|
#{mod\ 1651}#)
|
|
(let ((#{e\ 1652}#
|
|
(#{source-wrap\ 157}#
|
|
#{e\ 1647}#
|
|
#{w\ 1649}#
|
|
#{s\ 1650}#
|
|
#{mod\ 1651}#)))
|
|
((lambda (#{tmp\ 1653}#)
|
|
((lambda (#{tmp\ 1654}#)
|
|
(if #{tmp\ 1654}#
|
|
(apply (lambda (#{_\ 1655}#
|
|
#{val\ 1656}#
|
|
#{key\ 1657}#
|
|
#{m\ 1658}#)
|
|
(if (and-map
|
|
(lambda (#{x\ 1659}#)
|
|
(if (#{id?\ 128}# #{x\ 1659}#)
|
|
(not (#{ellipsis?\ 172}# #{x\ 1659}#))
|
|
#f))
|
|
#{key\ 1657}#)
|
|
(let ((#{x\ 1661}#
|
|
(#{gen-var\ 178}# (quote tmp))))
|
|
(#{build-application\ 93}#
|
|
#{s\ 1650}#
|
|
(#{build-simple-lambda\ 102}#
|
|
#f
|
|
(list (quote tmp))
|
|
#f
|
|
(list #{x\ 1661}#)
|
|
#f
|
|
(#{gen-syntax-case\ 1554}#
|
|
(#{build-lexical-reference\ 95}#
|
|
'value
|
|
#f
|
|
'tmp
|
|
#{x\ 1661}#)
|
|
#{key\ 1657}#
|
|
#{m\ 1658}#
|
|
#{r\ 1648}#
|
|
#{mod\ 1651}#))
|
|
(list (#{chi\ 164}#
|
|
#{val\ 1656}#
|
|
#{r\ 1648}#
|
|
'(())
|
|
#{mod\ 1651}#))))
|
|
(syntax-violation
|
|
'syntax-case
|
|
"invalid literals list"
|
|
#{e\ 1652}#)))
|
|
#{tmp\ 1654}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1653}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1653}#
|
|
'(any any each-any . each-any))))
|
|
#{e\ 1652}#)))))
|
|
(set! sc-expand
|
|
(lambda (#{x\ 1664}# . #{rest\ 1665}#)
|
|
(if (if (pair? #{x\ 1664}#)
|
|
(equal? (car #{x\ 1664}#) #{noexpand\ 81}#)
|
|
#f)
|
|
(cadr #{x\ 1664}#)
|
|
(let ((#{m\ 1666}#
|
|
(if (null? #{rest\ 1665}#)
|
|
'e
|
|
(car #{rest\ 1665}#)))
|
|
(#{esew\ 1667}#
|
|
(if (let ((#{t\ 1668}# (null? #{rest\ 1665}#)))
|
|
(if #{t\ 1668}#
|
|
#{t\ 1668}#
|
|
(null? (cdr #{rest\ 1665}#))))
|
|
'(eval)
|
|
(cadr #{rest\ 1665}#))))
|
|
(with-fluid*
|
|
#{*mode*\ 82}#
|
|
#{m\ 1666}#
|
|
(lambda ()
|
|
(#{chi-top\ 163}#
|
|
#{x\ 1664}#
|
|
'()
|
|
'((top))
|
|
#{m\ 1666}#
|
|
#{esew\ 1667}#
|
|
(cons 'hygiene
|
|
(module-name (current-module))))))))))
|
|
(set! identifier?
|
|
(lambda (#{x\ 1669}#)
|
|
(#{nonsymbol-id?\ 127}# #{x\ 1669}#)))
|
|
(set! datum->syntax
|
|
(lambda (#{id\ 1670}# #{datum\ 1671}#)
|
|
(#{make-syntax-object\ 111}#
|
|
#{datum\ 1671}#
|
|
(#{syntax-object-wrap\ 114}# #{id\ 1670}#)
|
|
#f)))
|
|
(set! syntax->datum
|
|
(lambda (#{x\ 1672}#)
|
|
(#{strip\ 177}# #{x\ 1672}# (quote (())))))
|
|
(set! generate-temporaries
|
|
(lambda (#{ls\ 1673}#)
|
|
(begin
|
|
(let ((#{x\ 1674}# #{ls\ 1673}#))
|
|
(if (not (list? #{x\ 1674}#))
|
|
(syntax-violation
|
|
'generate-temporaries
|
|
"invalid argument"
|
|
#{x\ 1674}#)))
|
|
(map (lambda (#{x\ 1675}#)
|
|
(#{wrap\ 156}# (gensym) (quote ((top))) #f))
|
|
#{ls\ 1673}#))))
|
|
(set! free-identifier=?
|
|
(lambda (#{x\ 1676}# #{y\ 1677}#)
|
|
(begin
|
|
(let ((#{x\ 1678}# #{x\ 1676}#))
|
|
(if (not (#{nonsymbol-id?\ 127}# #{x\ 1678}#))
|
|
(syntax-violation
|
|
'free-identifier=?
|
|
"invalid argument"
|
|
#{x\ 1678}#)))
|
|
(let ((#{x\ 1679}# #{y\ 1677}#))
|
|
(if (not (#{nonsymbol-id?\ 127}# #{x\ 1679}#))
|
|
(syntax-violation
|
|
'free-identifier=?
|
|
"invalid argument"
|
|
#{x\ 1679}#)))
|
|
(#{free-id=?\ 151}# #{x\ 1676}# #{y\ 1677}#))))
|
|
(set! bound-identifier=?
|
|
(lambda (#{x\ 1680}# #{y\ 1681}#)
|
|
(begin
|
|
(let ((#{x\ 1682}# #{x\ 1680}#))
|
|
(if (not (#{nonsymbol-id?\ 127}# #{x\ 1682}#))
|
|
(syntax-violation
|
|
'bound-identifier=?
|
|
"invalid argument"
|
|
#{x\ 1682}#)))
|
|
(let ((#{x\ 1683}# #{y\ 1681}#))
|
|
(if (not (#{nonsymbol-id?\ 127}# #{x\ 1683}#))
|
|
(syntax-violation
|
|
'bound-identifier=?
|
|
"invalid argument"
|
|
#{x\ 1683}#)))
|
|
(#{bound-id=?\ 152}# #{x\ 1680}# #{y\ 1681}#))))
|
|
(set! syntax-violation
|
|
(lambda (#{who\ 1684}#
|
|
#{message\ 1685}#
|
|
#{form\ 1686}#
|
|
.
|
|
#{subform\ 1687}#)
|
|
(begin
|
|
(let ((#{x\ 1688}# #{who\ 1684}#))
|
|
(if (not ((lambda (#{x\ 1689}#)
|
|
(let ((#{t\ 1690}# (not #{x\ 1689}#)))
|
|
(if #{t\ 1690}#
|
|
#{t\ 1690}#
|
|
(let ((#{t\ 1691}# (string? #{x\ 1689}#)))
|
|
(if #{t\ 1691}#
|
|
#{t\ 1691}#
|
|
(symbol? #{x\ 1689}#))))))
|
|
#{x\ 1688}#))
|
|
(syntax-violation
|
|
'syntax-violation
|
|
"invalid argument"
|
|
#{x\ 1688}#)))
|
|
(let ((#{x\ 1692}# #{message\ 1685}#))
|
|
(if (not (string? #{x\ 1692}#))
|
|
(syntax-violation
|
|
'syntax-violation
|
|
"invalid argument"
|
|
#{x\ 1692}#)))
|
|
(scm-error
|
|
'syntax-error
|
|
'sc-expand
|
|
(string-append
|
|
(if #{who\ 1684}# "~a: " "")
|
|
"~a "
|
|
(if (null? #{subform\ 1687}#)
|
|
"in ~a"
|
|
"in subform `~s' of `~s'"))
|
|
(let ((#{tail\ 1693}#
|
|
(cons #{message\ 1685}#
|
|
(map (lambda (#{x\ 1694}#)
|
|
(#{strip\ 177}# #{x\ 1694}# (quote (()))))
|
|
(append
|
|
#{subform\ 1687}#
|
|
(list #{form\ 1686}#))))))
|
|
(if #{who\ 1684}#
|
|
(cons #{who\ 1684}# #{tail\ 1693}#)
|
|
#{tail\ 1693}#))
|
|
#f))))
|
|
(letrec ((#{match\ 1701}#
|
|
(lambda (#{e\ 1702}#
|
|
#{p\ 1703}#
|
|
#{w\ 1704}#
|
|
#{r\ 1705}#
|
|
#{mod\ 1706}#)
|
|
(if (not #{r\ 1705}#)
|
|
#f
|
|
(if (eq? #{p\ 1703}# (quote any))
|
|
(cons (#{wrap\ 156}#
|
|
#{e\ 1702}#
|
|
#{w\ 1704}#
|
|
#{mod\ 1706}#)
|
|
#{r\ 1705}#)
|
|
(if (#{syntax-object?\ 112}# #{e\ 1702}#)
|
|
(#{match*\ 1700}#
|
|
(#{syntax-object-expression\ 113}# #{e\ 1702}#)
|
|
#{p\ 1703}#
|
|
(#{join-wraps\ 147}#
|
|
#{w\ 1704}#
|
|
(#{syntax-object-wrap\ 114}# #{e\ 1702}#))
|
|
#{r\ 1705}#
|
|
(#{syntax-object-module\ 115}# #{e\ 1702}#))
|
|
(#{match*\ 1700}#
|
|
#{e\ 1702}#
|
|
#{p\ 1703}#
|
|
#{w\ 1704}#
|
|
#{r\ 1705}#
|
|
#{mod\ 1706}#))))))
|
|
(#{match*\ 1700}#
|
|
(lambda (#{e\ 1707}#
|
|
#{p\ 1708}#
|
|
#{w\ 1709}#
|
|
#{r\ 1710}#
|
|
#{mod\ 1711}#)
|
|
(if (null? #{p\ 1708}#)
|
|
(if (null? #{e\ 1707}#) #{r\ 1710}# #f)
|
|
(if (pair? #{p\ 1708}#)
|
|
(if (pair? #{e\ 1707}#)
|
|
(#{match\ 1701}#
|
|
(car #{e\ 1707}#)
|
|
(car #{p\ 1708}#)
|
|
#{w\ 1709}#
|
|
(#{match\ 1701}#
|
|
(cdr #{e\ 1707}#)
|
|
(cdr #{p\ 1708}#)
|
|
#{w\ 1709}#
|
|
#{r\ 1710}#
|
|
#{mod\ 1711}#)
|
|
#{mod\ 1711}#)
|
|
#f)
|
|
(if (eq? #{p\ 1708}# (quote each-any))
|
|
(let ((#{l\ 1712}#
|
|
(#{match-each-any\ 1697}#
|
|
#{e\ 1707}#
|
|
#{w\ 1709}#
|
|
#{mod\ 1711}#)))
|
|
(if #{l\ 1712}#
|
|
(cons #{l\ 1712}# #{r\ 1710}#)
|
|
#f))
|
|
(let ((#{atom-key\ 1713}# (vector-ref #{p\ 1708}# 0)))
|
|
(if (memv #{atom-key\ 1713}# (quote (each)))
|
|
(if (null? #{e\ 1707}#)
|
|
(#{match-empty\ 1698}#
|
|
(vector-ref #{p\ 1708}# 1)
|
|
#{r\ 1710}#)
|
|
(let ((#{l\ 1714}#
|
|
(#{match-each\ 1695}#
|
|
#{e\ 1707}#
|
|
(vector-ref #{p\ 1708}# 1)
|
|
#{w\ 1709}#
|
|
#{mod\ 1711}#)))
|
|
(if #{l\ 1714}#
|
|
(letrec ((#{collect\ 1715}#
|
|
(lambda (#{l\ 1716}#)
|
|
(if (null? (car #{l\ 1716}#))
|
|
#{r\ 1710}#
|
|
(cons (map car #{l\ 1716}#)
|
|
(#{collect\ 1715}#
|
|
(map cdr
|
|
#{l\ 1716}#)))))))
|
|
(#{collect\ 1715}# #{l\ 1714}#))
|
|
#f)))
|
|
(if (memv #{atom-key\ 1713}# (quote (each+)))
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{match-each+\ 1696}#
|
|
#{e\ 1707}#
|
|
(vector-ref #{p\ 1708}# 1)
|
|
(vector-ref #{p\ 1708}# 2)
|
|
(vector-ref #{p\ 1708}# 3)
|
|
#{w\ 1709}#
|
|
#{r\ 1710}#
|
|
#{mod\ 1711}#))
|
|
(lambda (#{xr*\ 1717}#
|
|
#{y-pat\ 1718}#
|
|
#{r\ 1719}#)
|
|
(if #{r\ 1719}#
|
|
(if (null? #{y-pat\ 1718}#)
|
|
(if (null? #{xr*\ 1717}#)
|
|
(#{match-empty\ 1698}#
|
|
(vector-ref #{p\ 1708}# 1)
|
|
#{r\ 1719}#)
|
|
(#{combine\ 1699}#
|
|
#{xr*\ 1717}#
|
|
#{r\ 1719}#))
|
|
#f)
|
|
#f)))
|
|
(if (memv #{atom-key\ 1713}# (quote (free-id)))
|
|
(if (#{id?\ 128}# #{e\ 1707}#)
|
|
(if (#{free-id=?\ 151}#
|
|
(#{wrap\ 156}#
|
|
#{e\ 1707}#
|
|
#{w\ 1709}#
|
|
#{mod\ 1711}#)
|
|
(vector-ref #{p\ 1708}# 1))
|
|
#{r\ 1710}#
|
|
#f)
|
|
#f)
|
|
(if (memv #{atom-key\ 1713}# (quote (atom)))
|
|
(if (equal?
|
|
(vector-ref #{p\ 1708}# 1)
|
|
(#{strip\ 177}#
|
|
#{e\ 1707}#
|
|
#{w\ 1709}#))
|
|
#{r\ 1710}#
|
|
#f)
|
|
(if (memv #{atom-key\ 1713}#
|
|
'(vector))
|
|
(if (vector? #{e\ 1707}#)
|
|
(#{match\ 1701}#
|
|
(vector->list #{e\ 1707}#)
|
|
(vector-ref #{p\ 1708}# 1)
|
|
#{w\ 1709}#
|
|
#{r\ 1710}#
|
|
#{mod\ 1711}#)
|
|
#f))))))))))))
|
|
(#{combine\ 1699}#
|
|
(lambda (#{r*\ 1720}# #{r\ 1721}#)
|
|
(if (null? (car #{r*\ 1720}#))
|
|
#{r\ 1721}#
|
|
(cons (map car #{r*\ 1720}#)
|
|
(#{combine\ 1699}#
|
|
(map cdr #{r*\ 1720}#)
|
|
#{r\ 1721}#)))))
|
|
(#{match-empty\ 1698}#
|
|
(lambda (#{p\ 1722}# #{r\ 1723}#)
|
|
(if (null? #{p\ 1722}#)
|
|
#{r\ 1723}#
|
|
(if (eq? #{p\ 1722}# (quote any))
|
|
(cons (quote ()) #{r\ 1723}#)
|
|
(if (pair? #{p\ 1722}#)
|
|
(#{match-empty\ 1698}#
|
|
(car #{p\ 1722}#)
|
|
(#{match-empty\ 1698}#
|
|
(cdr #{p\ 1722}#)
|
|
#{r\ 1723}#))
|
|
(if (eq? #{p\ 1722}# (quote each-any))
|
|
(cons (quote ()) #{r\ 1723}#)
|
|
(let ((#{atom-key\ 1724}#
|
|
(vector-ref #{p\ 1722}# 0)))
|
|
(if (memv #{atom-key\ 1724}# (quote (each)))
|
|
(#{match-empty\ 1698}#
|
|
(vector-ref #{p\ 1722}# 1)
|
|
#{r\ 1723}#)
|
|
(if (memv #{atom-key\ 1724}# (quote (each+)))
|
|
(#{match-empty\ 1698}#
|
|
(vector-ref #{p\ 1722}# 1)
|
|
(#{match-empty\ 1698}#
|
|
(reverse (vector-ref #{p\ 1722}# 2))
|
|
(#{match-empty\ 1698}#
|
|
(vector-ref #{p\ 1722}# 3)
|
|
#{r\ 1723}#)))
|
|
(if (memv #{atom-key\ 1724}#
|
|
'(free-id atom))
|
|
#{r\ 1723}#
|
|
(if (memv #{atom-key\ 1724}#
|
|
'(vector))
|
|
(#{match-empty\ 1698}#
|
|
(vector-ref #{p\ 1722}# 1)
|
|
#{r\ 1723}#))))))))))))
|
|
(#{match-each-any\ 1697}#
|
|
(lambda (#{e\ 1725}# #{w\ 1726}# #{mod\ 1727}#)
|
|
(if (pair? #{e\ 1725}#)
|
|
(let ((#{l\ 1728}#
|
|
(#{match-each-any\ 1697}#
|
|
(cdr #{e\ 1725}#)
|
|
#{w\ 1726}#
|
|
#{mod\ 1727}#)))
|
|
(if #{l\ 1728}#
|
|
(cons (#{wrap\ 156}#
|
|
(car #{e\ 1725}#)
|
|
#{w\ 1726}#
|
|
#{mod\ 1727}#)
|
|
#{l\ 1728}#)
|
|
#f))
|
|
(if (null? #{e\ 1725}#)
|
|
'()
|
|
(if (#{syntax-object?\ 112}# #{e\ 1725}#)
|
|
(#{match-each-any\ 1697}#
|
|
(#{syntax-object-expression\ 113}# #{e\ 1725}#)
|
|
(#{join-wraps\ 147}#
|
|
#{w\ 1726}#
|
|
(#{syntax-object-wrap\ 114}# #{e\ 1725}#))
|
|
#{mod\ 1727}#)
|
|
#f)))))
|
|
(#{match-each+\ 1696}#
|
|
(lambda (#{e\ 1729}#
|
|
#{x-pat\ 1730}#
|
|
#{y-pat\ 1731}#
|
|
#{z-pat\ 1732}#
|
|
#{w\ 1733}#
|
|
#{r\ 1734}#
|
|
#{mod\ 1735}#)
|
|
(letrec ((#{f\ 1736}#
|
|
(lambda (#{e\ 1737}# #{w\ 1738}#)
|
|
(if (pair? #{e\ 1737}#)
|
|
(call-with-values
|
|
(lambda ()
|
|
(#{f\ 1736}#
|
|
(cdr #{e\ 1737}#)
|
|
#{w\ 1738}#))
|
|
(lambda (#{xr*\ 1739}#
|
|
#{y-pat\ 1740}#
|
|
#{r\ 1741}#)
|
|
(if #{r\ 1741}#
|
|
(if (null? #{y-pat\ 1740}#)
|
|
(let ((#{xr\ 1742}#
|
|
(#{match\ 1701}#
|
|
(car #{e\ 1737}#)
|
|
#{x-pat\ 1730}#
|
|
#{w\ 1738}#
|
|
'()
|
|
#{mod\ 1735}#)))
|
|
(if #{xr\ 1742}#
|
|
(values
|
|
(cons #{xr\ 1742}#
|
|
#{xr*\ 1739}#)
|
|
#{y-pat\ 1740}#
|
|
#{r\ 1741}#)
|
|
(values #f #f #f)))
|
|
(values
|
|
'()
|
|
(cdr #{y-pat\ 1740}#)
|
|
(#{match\ 1701}#
|
|
(car #{e\ 1737}#)
|
|
(car #{y-pat\ 1740}#)
|
|
#{w\ 1738}#
|
|
#{r\ 1741}#
|
|
#{mod\ 1735}#)))
|
|
(values #f #f #f))))
|
|
(if (#{syntax-object?\ 112}# #{e\ 1737}#)
|
|
(#{f\ 1736}#
|
|
(#{syntax-object-expression\ 113}#
|
|
#{e\ 1737}#)
|
|
(#{join-wraps\ 147}#
|
|
#{w\ 1738}#
|
|
#{e\ 1737}#))
|
|
(values
|
|
'()
|
|
#{y-pat\ 1731}#
|
|
(#{match\ 1701}#
|
|
#{e\ 1737}#
|
|
#{z-pat\ 1732}#
|
|
#{w\ 1738}#
|
|
#{r\ 1734}#
|
|
#{mod\ 1735}#)))))))
|
|
(#{f\ 1736}# #{e\ 1729}# #{w\ 1733}#))))
|
|
(#{match-each\ 1695}#
|
|
(lambda (#{e\ 1743}#
|
|
#{p\ 1744}#
|
|
#{w\ 1745}#
|
|
#{mod\ 1746}#)
|
|
(if (pair? #{e\ 1743}#)
|
|
(let ((#{first\ 1747}#
|
|
(#{match\ 1701}#
|
|
(car #{e\ 1743}#)
|
|
#{p\ 1744}#
|
|
#{w\ 1745}#
|
|
'()
|
|
#{mod\ 1746}#)))
|
|
(if #{first\ 1747}#
|
|
(let ((#{rest\ 1748}#
|
|
(#{match-each\ 1695}#
|
|
(cdr #{e\ 1743}#)
|
|
#{p\ 1744}#
|
|
#{w\ 1745}#
|
|
#{mod\ 1746}#)))
|
|
(if #{rest\ 1748}#
|
|
(cons #{first\ 1747}# #{rest\ 1748}#)
|
|
#f))
|
|
#f))
|
|
(if (null? #{e\ 1743}#)
|
|
'()
|
|
(if (#{syntax-object?\ 112}# #{e\ 1743}#)
|
|
(#{match-each\ 1695}#
|
|
(#{syntax-object-expression\ 113}# #{e\ 1743}#)
|
|
#{p\ 1744}#
|
|
(#{join-wraps\ 147}#
|
|
#{w\ 1745}#
|
|
(#{syntax-object-wrap\ 114}# #{e\ 1743}#))
|
|
(#{syntax-object-module\ 115}# #{e\ 1743}#))
|
|
#f))))))
|
|
(set! $sc-dispatch
|
|
(lambda (#{e\ 1749}# #{p\ 1750}#)
|
|
(if (eq? #{p\ 1750}# (quote any))
|
|
(list #{e\ 1749}#)
|
|
(if (#{syntax-object?\ 112}# #{e\ 1749}#)
|
|
(#{match*\ 1700}#
|
|
(#{syntax-object-expression\ 113}# #{e\ 1749}#)
|
|
#{p\ 1750}#
|
|
(#{syntax-object-wrap\ 114}# #{e\ 1749}#)
|
|
'()
|
|
(#{syntax-object-module\ 115}# #{e\ 1749}#))
|
|
(#{match*\ 1700}#
|
|
#{e\ 1749}#
|
|
#{p\ 1750}#
|
|
'(())
|
|
'()
|
|
#f)))))))))
|
|
|
|
(define with-syntax
|
|
(make-syncase-macro
|
|
'macro
|
|
(cons (lambda (#{x\ 1751}#)
|
|
((lambda (#{tmp\ 1752}#)
|
|
((lambda (#{tmp\ 1753}#)
|
|
(if #{tmp\ 1753}#
|
|
(apply (lambda (#{_\ 1754}# #{e1\ 1755}# #{e2\ 1756}#)
|
|
(cons '#(syntax-object
|
|
begin
|
|
((top)
|
|
#(ribcage
|
|
#(_ e1 e2)
|
|
#((top) (top) (top))
|
|
#("i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i")))
|
|
(hygiene guile))
|
|
(cons #{e1\ 1755}# #{e2\ 1756}#)))
|
|
#{tmp\ 1753}#)
|
|
((lambda (#{tmp\ 1758}#)
|
|
(if #{tmp\ 1758}#
|
|
(apply (lambda (#{_\ 1759}#
|
|
#{out\ 1760}#
|
|
#{in\ 1761}#
|
|
#{e1\ 1762}#
|
|
#{e2\ 1763}#)
|
|
(list '#(syntax-object
|
|
syntax-case
|
|
((top)
|
|
#(ribcage
|
|
#(_ out in e1 e2)
|
|
#((top) (top) (top) (top) (top))
|
|
#("i" "i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i")))
|
|
(hygiene guile))
|
|
#{in\ 1761}#
|
|
'()
|
|
(list #{out\ 1760}#
|
|
(cons '#(syntax-object
|
|
begin
|
|
((top)
|
|
#(ribcage
|
|
#(_ out in e1 e2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
(cons #{e1\ 1762}#
|
|
#{e2\ 1763}#)))))
|
|
#{tmp\ 1758}#)
|
|
((lambda (#{tmp\ 1765}#)
|
|
(if #{tmp\ 1765}#
|
|
(apply (lambda (#{_\ 1766}#
|
|
#{out\ 1767}#
|
|
#{in\ 1768}#
|
|
#{e1\ 1769}#
|
|
#{e2\ 1770}#)
|
|
(list '#(syntax-object
|
|
syntax-case
|
|
((top)
|
|
#(ribcage
|
|
#(_ out in e1 e2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
(cons '#(syntax-object
|
|
list
|
|
((top)
|
|
#(ribcage
|
|
#(_ out in e1 e2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
#{in\ 1768}#)
|
|
'()
|
|
(list #{out\ 1767}#
|
|
(cons '#(syntax-object
|
|
begin
|
|
((top)
|
|
#(ribcage
|
|
#(_
|
|
out
|
|
in
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
(cons #{e1\ 1769}#
|
|
#{e2\ 1770}#)))))
|
|
#{tmp\ 1765}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1752}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1752}#
|
|
'(any #(each (any any)) any . each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1752}#
|
|
'(any ((any any)) any . each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1752}#
|
|
'(any () any . each-any))))
|
|
#{x\ 1751}#))
|
|
(module-name (current-module)))))
|
|
|
|
(define syntax-rules
|
|
(make-syncase-macro
|
|
'macro
|
|
(cons (lambda (#{x\ 1774}#)
|
|
((lambda (#{tmp\ 1775}#)
|
|
((lambda (#{tmp\ 1776}#)
|
|
(if #{tmp\ 1776}#
|
|
(apply (lambda (#{_\ 1777}#
|
|
#{k\ 1778}#
|
|
#{keyword\ 1779}#
|
|
#{pattern\ 1780}#
|
|
#{template\ 1781}#)
|
|
(list '#(syntax-object
|
|
lambda
|
|
((top)
|
|
#(ribcage
|
|
#(_ k keyword pattern template)
|
|
#((top) (top) (top) (top) (top))
|
|
#("i" "i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i")))
|
|
(hygiene guile))
|
|
'(#(syntax-object
|
|
x
|
|
((top)
|
|
#(ribcage
|
|
#(_ k keyword pattern template)
|
|
#((top) (top) (top) (top) (top))
|
|
#("i" "i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i")))
|
|
(hygiene guile)))
|
|
(cons '#(syntax-object
|
|
syntax-case
|
|
((top)
|
|
#(ribcage
|
|
#(_ k keyword pattern template)
|
|
#((top) (top) (top) (top) (top))
|
|
#("i" "i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i")))
|
|
(hygiene guile))
|
|
(cons '#(syntax-object
|
|
x
|
|
((top)
|
|
#(ribcage
|
|
#(_
|
|
k
|
|
keyword
|
|
pattern
|
|
template)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
(cons #{k\ 1778}#
|
|
(map (lambda (#{tmp\ 1784}#
|
|
#{tmp\ 1783}#)
|
|
(list (cons '#(syntax-object
|
|
dummy
|
|
((top)
|
|
#(ribcage
|
|
#(_
|
|
k
|
|
keyword
|
|
pattern
|
|
template)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
#{tmp\ 1783}#)
|
|
(list '#(syntax-object
|
|
syntax
|
|
((top)
|
|
#(ribcage
|
|
#(_
|
|
k
|
|
keyword
|
|
pattern
|
|
template)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
#{tmp\ 1784}#)))
|
|
#{template\ 1781}#
|
|
#{pattern\ 1780}#))))))
|
|
#{tmp\ 1776}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1775}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1775}#
|
|
'(any each-any . #(each ((any . any) any))))))
|
|
#{x\ 1774}#))
|
|
(module-name (current-module)))))
|
|
|
|
(define let*
|
|
(make-extended-syncase-macro
|
|
(module-ref (current-module) (quote let*))
|
|
'macro
|
|
(cons (lambda (#{x\ 1785}#)
|
|
((lambda (#{tmp\ 1786}#)
|
|
((lambda (#{tmp\ 1787}#)
|
|
(if (if #{tmp\ 1787}#
|
|
(apply (lambda (#{let*\ 1788}#
|
|
#{x\ 1789}#
|
|
#{v\ 1790}#
|
|
#{e1\ 1791}#
|
|
#{e2\ 1792}#)
|
|
(and-map identifier? #{x\ 1789}#))
|
|
#{tmp\ 1787}#)
|
|
#f)
|
|
(apply (lambda (#{let*\ 1794}#
|
|
#{x\ 1795}#
|
|
#{v\ 1796}#
|
|
#{e1\ 1797}#
|
|
#{e2\ 1798}#)
|
|
(letrec ((#{f\ 1799}#
|
|
(lambda (#{bindings\ 1800}#)
|
|
(if (null? #{bindings\ 1800}#)
|
|
(cons '#(syntax-object
|
|
let
|
|
((top)
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(f bindings)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(let* x v e1 e2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
(cons '()
|
|
(cons #{e1\ 1797}#
|
|
#{e2\ 1798}#)))
|
|
((lambda (#{tmp\ 1804}#)
|
|
((lambda (#{tmp\ 1805}#)
|
|
(if #{tmp\ 1805}#
|
|
(apply (lambda (#{body\ 1806}#
|
|
#{binding\ 1807}#)
|
|
(list '#(syntax-object
|
|
let
|
|
((top)
|
|
#(ribcage
|
|
#(body
|
|
binding)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
bindings)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(let*
|
|
x
|
|
v
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(list #{binding\ 1807}#)
|
|
#{body\ 1806}#))
|
|
#{tmp\ 1805}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1804}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1804}#
|
|
'(any any))))
|
|
(list (#{f\ 1799}#
|
|
(cdr #{bindings\ 1800}#))
|
|
(car #{bindings\ 1800}#)))))))
|
|
(#{f\ 1799}#
|
|
(map list #{x\ 1795}# #{v\ 1796}#))))
|
|
#{tmp\ 1787}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1786}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1786}#
|
|
'(any #(each (any any)) any . each-any))))
|
|
#{x\ 1785}#))
|
|
(module-name (current-module)))))
|
|
|
|
(define do
|
|
(make-syncase-macro
|
|
'macro
|
|
(cons (lambda (#{orig-x\ 1808}#)
|
|
((lambda (#{tmp\ 1809}#)
|
|
((lambda (#{tmp\ 1810}#)
|
|
(if #{tmp\ 1810}#
|
|
(apply (lambda (#{_\ 1811}#
|
|
#{var\ 1812}#
|
|
#{init\ 1813}#
|
|
#{step\ 1814}#
|
|
#{e0\ 1815}#
|
|
#{e1\ 1816}#
|
|
#{c\ 1817}#)
|
|
((lambda (#{tmp\ 1818}#)
|
|
((lambda (#{tmp\ 1819}#)
|
|
(if #{tmp\ 1819}#
|
|
(apply (lambda (#{step\ 1820}#)
|
|
((lambda (#{tmp\ 1821}#)
|
|
((lambda (#{tmp\ 1822}#)
|
|
(if #{tmp\ 1822}#
|
|
(apply (lambda ()
|
|
(list '#(syntax-object
|
|
let
|
|
((top)
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
'#(syntax-object
|
|
doloop
|
|
((top)
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(map list
|
|
#{var\ 1812}#
|
|
#{init\ 1813}#)
|
|
(list '#(syntax-object
|
|
if
|
|
((top)
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(list '#(syntax-object
|
|
not
|
|
((top)
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
#{e0\ 1815}#)
|
|
(cons '#(syntax-object
|
|
begin
|
|
((top)
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(append
|
|
#{c\ 1817}#
|
|
(list (cons '#(syntax-object
|
|
doloop
|
|
((top)
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
#{step\ 1820}#)))))))
|
|
#{tmp\ 1822}#)
|
|
((lambda (#{tmp\ 1827}#)
|
|
(if #{tmp\ 1827}#
|
|
(apply (lambda (#{e1\ 1828}#
|
|
#{e2\ 1829}#)
|
|
(list '#(syntax-object
|
|
let
|
|
((top)
|
|
#(ribcage
|
|
#(e1
|
|
e2)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
'#(syntax-object
|
|
doloop
|
|
((top)
|
|
#(ribcage
|
|
#(e1
|
|
e2)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(map list
|
|
#{var\ 1812}#
|
|
#{init\ 1813}#)
|
|
(list '#(syntax-object
|
|
if
|
|
((top)
|
|
#(ribcage
|
|
#(e1
|
|
e2)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
#{e0\ 1815}#
|
|
(cons '#(syntax-object
|
|
begin
|
|
((top)
|
|
#(ribcage
|
|
#(e1
|
|
e2)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(cons #{e1\ 1828}#
|
|
#{e2\ 1829}#))
|
|
(cons '#(syntax-object
|
|
begin
|
|
((top)
|
|
#(ribcage
|
|
#(e1
|
|
e2)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(append
|
|
#{c\ 1817}#
|
|
(list (cons '#(syntax-object
|
|
doloop
|
|
((top)
|
|
#(ribcage
|
|
#(e1
|
|
e2)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(step)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_
|
|
var
|
|
init
|
|
step
|
|
e0
|
|
e1
|
|
c)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(orig-x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
#{step\ 1820}#)))))))
|
|
#{tmp\ 1827}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1821}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1821}#
|
|
'(any . each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1821}#
|
|
'())))
|
|
#{e1\ 1816}#))
|
|
#{tmp\ 1819}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1818}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1818}#
|
|
'each-any)))
|
|
(map (lambda (#{v\ 1836}# #{s\ 1837}#)
|
|
((lambda (#{tmp\ 1838}#)
|
|
((lambda (#{tmp\ 1839}#)
|
|
(if #{tmp\ 1839}#
|
|
(apply (lambda () #{v\ 1836}#)
|
|
#{tmp\ 1839}#)
|
|
((lambda (#{tmp\ 1840}#)
|
|
(if #{tmp\ 1840}#
|
|
(apply (lambda (#{e\ 1841}#)
|
|
#{e\ 1841}#)
|
|
#{tmp\ 1840}#)
|
|
((lambda (#{_\ 1842}#)
|
|
(syntax-violation
|
|
'do
|
|
"bad step expression"
|
|
#{orig-x\ 1808}#
|
|
#{s\ 1837}#))
|
|
#{tmp\ 1838}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1838}#
|
|
'(any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1838}#
|
|
'())))
|
|
#{s\ 1837}#))
|
|
#{var\ 1812}#
|
|
#{step\ 1814}#)))
|
|
#{tmp\ 1810}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1809}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1809}#
|
|
'(any #(each (any any . any))
|
|
(any . each-any)
|
|
.
|
|
each-any))))
|
|
#{orig-x\ 1808}#))
|
|
(module-name (current-module)))))
|
|
|
|
(define quasiquote
|
|
(make-syncase-macro
|
|
'macro
|
|
(cons (letrec ((#{quasicons\ 1845}#
|
|
(lambda (#{x\ 1849}# #{y\ 1850}#)
|
|
((lambda (#{tmp\ 1851}#)
|
|
((lambda (#{tmp\ 1852}#)
|
|
(if #{tmp\ 1852}#
|
|
(apply (lambda (#{x\ 1853}# #{y\ 1854}#)
|
|
((lambda (#{tmp\ 1855}#)
|
|
((lambda (#{tmp\ 1856}#)
|
|
(if #{tmp\ 1856}#
|
|
(apply (lambda (#{dy\ 1857}#)
|
|
((lambda (#{tmp\ 1858}#)
|
|
((lambda (#{tmp\ 1859}#)
|
|
(if #{tmp\ 1859}#
|
|
(apply (lambda (#{dx\ 1860}#)
|
|
(list '#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage
|
|
#(dx)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(dy)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(x
|
|
y)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x
|
|
y)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene
|
|
guile))
|
|
(cons #{dx\ 1860}#
|
|
#{dy\ 1857}#)))
|
|
#{tmp\ 1859}#)
|
|
((lambda (#{_\ 1861}#)
|
|
(if (null? #{dy\ 1857}#)
|
|
(list '#(syntax-object
|
|
list
|
|
((top)
|
|
#(ribcage
|
|
#(_)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(dy)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(x
|
|
y)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x
|
|
y)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene
|
|
guile))
|
|
#{x\ 1853}#)
|
|
(list '#(syntax-object
|
|
cons
|
|
((top)
|
|
#(ribcage
|
|
#(_)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(dy)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(x
|
|
y)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x
|
|
y)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene
|
|
guile))
|
|
#{x\ 1853}#
|
|
#{y\ 1854}#)))
|
|
#{tmp\ 1858}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1858}#
|
|
'(#(free-id
|
|
#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage
|
|
#(dy)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(x y)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x y)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene
|
|
guile)))
|
|
any))))
|
|
#{x\ 1853}#))
|
|
#{tmp\ 1856}#)
|
|
((lambda (#{tmp\ 1862}#)
|
|
(if #{tmp\ 1862}#
|
|
(apply (lambda (#{stuff\ 1863}#)
|
|
(cons '#(syntax-object
|
|
list
|
|
((top)
|
|
#(ribcage
|
|
#(stuff)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(x
|
|
y)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x
|
|
y)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene
|
|
guile))
|
|
(cons #{x\ 1853}#
|
|
#{stuff\ 1863}#)))
|
|
#{tmp\ 1862}#)
|
|
((lambda (#{else\ 1864}#)
|
|
(list '#(syntax-object
|
|
cons
|
|
((top)
|
|
#(ribcage
|
|
#(else)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(x y)
|
|
#((top)
|
|
(top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x y)
|
|
#((top)
|
|
(top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene
|
|
guile))
|
|
#{x\ 1853}#
|
|
#{y\ 1854}#))
|
|
#{tmp\ 1855}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1855}#
|
|
'(#(free-id
|
|
#(syntax-object
|
|
list
|
|
((top)
|
|
#(ribcage
|
|
#(x y)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x y)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene guile)))
|
|
.
|
|
any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1855}#
|
|
'(#(free-id
|
|
#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage
|
|
#(x y)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x y)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile)))
|
|
any))))
|
|
#{y\ 1854}#))
|
|
#{tmp\ 1852}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1851}#)))
|
|
($sc-dispatch #{tmp\ 1851}# (quote (any any)))))
|
|
(list #{x\ 1849}# #{y\ 1850}#))))
|
|
(#{quasiappend\ 1846}#
|
|
(lambda (#{x\ 1865}# #{y\ 1866}#)
|
|
((lambda (#{tmp\ 1867}#)
|
|
((lambda (#{tmp\ 1868}#)
|
|
(if #{tmp\ 1868}#
|
|
(apply (lambda (#{x\ 1869}# #{y\ 1870}#)
|
|
((lambda (#{tmp\ 1871}#)
|
|
((lambda (#{tmp\ 1872}#)
|
|
(if #{tmp\ 1872}#
|
|
(apply (lambda () #{x\ 1869}#)
|
|
#{tmp\ 1872}#)
|
|
((lambda (#{_\ 1873}#)
|
|
(list '#(syntax-object
|
|
append
|
|
((top)
|
|
#(ribcage
|
|
#(_)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(x y)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x y)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene guile))
|
|
#{x\ 1869}#
|
|
#{y\ 1870}#))
|
|
#{tmp\ 1871}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1871}#
|
|
'(#(free-id
|
|
#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage
|
|
#(x y)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x y)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile)))
|
|
()))))
|
|
#{y\ 1870}#))
|
|
#{tmp\ 1868}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1867}#)))
|
|
($sc-dispatch #{tmp\ 1867}# (quote (any any)))))
|
|
(list #{x\ 1865}# #{y\ 1866}#))))
|
|
(#{quasivector\ 1847}#
|
|
(lambda (#{x\ 1874}#)
|
|
((lambda (#{tmp\ 1875}#)
|
|
((lambda (#{x\ 1876}#)
|
|
((lambda (#{tmp\ 1877}#)
|
|
((lambda (#{tmp\ 1878}#)
|
|
(if #{tmp\ 1878}#
|
|
(apply (lambda (#{x\ 1879}#)
|
|
(list '#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage () () ())
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile))
|
|
(list->vector
|
|
#{x\ 1879}#)))
|
|
#{tmp\ 1878}#)
|
|
((lambda (#{tmp\ 1881}#)
|
|
(if #{tmp\ 1881}#
|
|
(apply (lambda (#{x\ 1882}#)
|
|
(cons '#(syntax-object
|
|
vector
|
|
((top)
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene guile))
|
|
#{x\ 1882}#))
|
|
#{tmp\ 1881}#)
|
|
((lambda (#{_\ 1884}#)
|
|
(list '#(syntax-object
|
|
list->vector
|
|
((top)
|
|
#(ribcage
|
|
#(_)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage () () ())
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile))
|
|
#{x\ 1876}#))
|
|
#{tmp\ 1877}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1877}#
|
|
'(#(free-id
|
|
#(syntax-object
|
|
list
|
|
((top)
|
|
#(ribcage #(x) #((top)) #("i"))
|
|
#(ribcage () () ())
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top) (top) (top) (top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile)))
|
|
.
|
|
each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1877}#
|
|
'(#(free-id
|
|
#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage #(x) #((top)) #("i"))
|
|
#(ribcage () () ())
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top) (top) (top) (top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile)))
|
|
each-any))))
|
|
#{x\ 1876}#))
|
|
#{tmp\ 1875}#))
|
|
#{x\ 1874}#)))
|
|
(#{quasi\ 1848}#
|
|
(lambda (#{p\ 1885}# #{lev\ 1886}#)
|
|
((lambda (#{tmp\ 1887}#)
|
|
((lambda (#{tmp\ 1888}#)
|
|
(if #{tmp\ 1888}#
|
|
(apply (lambda (#{p\ 1889}#)
|
|
(if (= #{lev\ 1886}# 0)
|
|
#{p\ 1889}#
|
|
(#{quasicons\ 1845}#
|
|
'(#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage
|
|
#(p)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top) (top) (top) (top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile))
|
|
#(syntax-object
|
|
unquote
|
|
((top)
|
|
#(ribcage
|
|
#(p)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top) (top) (top) (top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile)))
|
|
(#{quasi\ 1848}#
|
|
(list #{p\ 1889}#)
|
|
(- #{lev\ 1886}# 1)))))
|
|
#{tmp\ 1888}#)
|
|
((lambda (#{tmp\ 1890}#)
|
|
(if (if #{tmp\ 1890}#
|
|
(apply (lambda (#{args\ 1891}#)
|
|
(= #{lev\ 1886}# 0))
|
|
#{tmp\ 1890}#)
|
|
#f)
|
|
(apply (lambda (#{args\ 1892}#)
|
|
(syntax-violation
|
|
'unquote
|
|
"unquote takes exactly one argument"
|
|
#{p\ 1885}#
|
|
(cons '#(syntax-object
|
|
unquote
|
|
((top)
|
|
#(ribcage
|
|
#(args)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile))
|
|
#{args\ 1892}#)))
|
|
#{tmp\ 1890}#)
|
|
((lambda (#{tmp\ 1893}#)
|
|
(if #{tmp\ 1893}#
|
|
(apply (lambda (#{p\ 1894}#
|
|
#{q\ 1895}#)
|
|
(if (= #{lev\ 1886}# 0)
|
|
(#{quasiappend\ 1846}#
|
|
#{p\ 1894}#
|
|
(#{quasi\ 1848}#
|
|
#{q\ 1895}#
|
|
#{lev\ 1886}#))
|
|
(#{quasicons\ 1845}#
|
|
(#{quasicons\ 1845}#
|
|
'(#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage
|
|
#(p q)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene guile))
|
|
#(syntax-object
|
|
unquote-splicing
|
|
((top)
|
|
#(ribcage
|
|
#(p q)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene guile)))
|
|
(#{quasi\ 1848}#
|
|
(list #{p\ 1894}#)
|
|
(- #{lev\ 1886}# 1)))
|
|
(#{quasi\ 1848}#
|
|
#{q\ 1895}#
|
|
#{lev\ 1886}#))))
|
|
#{tmp\ 1893}#)
|
|
((lambda (#{tmp\ 1896}#)
|
|
(if (if #{tmp\ 1896}#
|
|
(apply (lambda (#{args\ 1897}#
|
|
#{q\ 1898}#)
|
|
(= #{lev\ 1886}# 0))
|
|
#{tmp\ 1896}#)
|
|
#f)
|
|
(apply (lambda (#{args\ 1899}#
|
|
#{q\ 1900}#)
|
|
(syntax-violation
|
|
'unquote-splicing
|
|
"unquote-splicing takes exactly one argument"
|
|
#{p\ 1885}#
|
|
(cons '#(syntax-object
|
|
unquote-splicing
|
|
((top)
|
|
#(ribcage
|
|
#(args q)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene
|
|
guile))
|
|
#{args\ 1899}#)))
|
|
#{tmp\ 1896}#)
|
|
((lambda (#{tmp\ 1901}#)
|
|
(if #{tmp\ 1901}#
|
|
(apply (lambda (#{p\ 1902}#)
|
|
(#{quasicons\ 1845}#
|
|
'(#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage
|
|
#(p)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene
|
|
guile))
|
|
#(syntax-object
|
|
quasiquote
|
|
((top)
|
|
#(ribcage
|
|
#(p)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene
|
|
guile)))
|
|
(#{quasi\ 1848}#
|
|
(list #{p\ 1902}#)
|
|
(+ #{lev\ 1886}#
|
|
1))))
|
|
#{tmp\ 1901}#)
|
|
((lambda (#{tmp\ 1903}#)
|
|
(if #{tmp\ 1903}#
|
|
(apply (lambda (#{p\ 1904}#
|
|
#{q\ 1905}#)
|
|
(#{quasicons\ 1845}#
|
|
(#{quasi\ 1848}#
|
|
#{p\ 1904}#
|
|
#{lev\ 1886}#)
|
|
(#{quasi\ 1848}#
|
|
#{q\ 1905}#
|
|
#{lev\ 1886}#)))
|
|
#{tmp\ 1903}#)
|
|
((lambda (#{tmp\ 1906}#)
|
|
(if #{tmp\ 1906}#
|
|
(apply (lambda (#{x\ 1907}#)
|
|
(#{quasivector\ 1847}#
|
|
(#{quasi\ 1848}#
|
|
#{x\ 1907}#
|
|
#{lev\ 1886}#)))
|
|
#{tmp\ 1906}#)
|
|
((lambda (#{p\ 1909}#)
|
|
(list '#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage
|
|
#(p)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(p
|
|
lev)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i")))
|
|
(hygiene
|
|
guile))
|
|
#{p\ 1909}#))
|
|
#{tmp\ 1887}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1887}#
|
|
'#(vector
|
|
each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1887}#
|
|
'(any . any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1887}#
|
|
'(#(free-id
|
|
#(syntax-object
|
|
quasiquote
|
|
((top)
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile)))
|
|
any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1887}#
|
|
'((#(free-id
|
|
#(syntax-object
|
|
unquote-splicing
|
|
((top)
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile)))
|
|
.
|
|
any)
|
|
.
|
|
any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1887}#
|
|
'((#(free-id
|
|
#(syntax-object
|
|
unquote-splicing
|
|
((top)
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top) (top) (top) (top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile)))
|
|
any)
|
|
.
|
|
any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1887}#
|
|
'(#(free-id
|
|
#(syntax-object
|
|
unquote
|
|
((top)
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top) (top) (top) (top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile)))
|
|
.
|
|
any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1887}#
|
|
'(#(free-id
|
|
#(syntax-object
|
|
unquote
|
|
((top)
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(p lev)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
#(quasicons
|
|
quasiappend
|
|
quasivector
|
|
quasi)
|
|
#((top) (top) (top) (top))
|
|
#("i" "i" "i" "i")))
|
|
(hygiene guile)))
|
|
any))))
|
|
#{p\ 1885}#))))
|
|
(lambda (#{x\ 1910}#)
|
|
((lambda (#{tmp\ 1911}#)
|
|
((lambda (#{tmp\ 1912}#)
|
|
(if #{tmp\ 1912}#
|
|
(apply (lambda (#{_\ 1913}# #{e\ 1914}#)
|
|
(#{quasi\ 1848}# #{e\ 1914}# 0))
|
|
#{tmp\ 1912}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1911}#)))
|
|
($sc-dispatch #{tmp\ 1911}# (quote (any any)))))
|
|
#{x\ 1910}#)))
|
|
(module-name (current-module)))))
|
|
|
|
(define include
|
|
(make-syncase-macro
|
|
'macro
|
|
(cons (lambda (#{x\ 1915}#)
|
|
(letrec ((#{read-file\ 1916}#
|
|
(lambda (#{fn\ 1917}# #{k\ 1918}#)
|
|
(let ((#{p\ 1919}# (open-input-file #{fn\ 1917}#)))
|
|
(letrec ((#{f\ 1920}#
|
|
(lambda (#{x\ 1921}#)
|
|
(if (eof-object? #{x\ 1921}#)
|
|
(begin
|
|
(close-input-port #{p\ 1919}#)
|
|
'())
|
|
(cons (datum->syntax
|
|
#{k\ 1918}#
|
|
#{x\ 1921}#)
|
|
(#{f\ 1920}#
|
|
(read #{p\ 1919}#)))))))
|
|
(#{f\ 1920}# (read #{p\ 1919}#)))))))
|
|
((lambda (#{tmp\ 1922}#)
|
|
((lambda (#{tmp\ 1923}#)
|
|
(if #{tmp\ 1923}#
|
|
(apply (lambda (#{k\ 1924}# #{filename\ 1925}#)
|
|
(let ((#{fn\ 1926}#
|
|
(syntax->datum #{filename\ 1925}#)))
|
|
((lambda (#{tmp\ 1927}#)
|
|
((lambda (#{tmp\ 1928}#)
|
|
(if #{tmp\ 1928}#
|
|
(apply (lambda (#{exp\ 1929}#)
|
|
(cons '#(syntax-object
|
|
begin
|
|
((top)
|
|
#(ribcage
|
|
#(exp)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage () () ())
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(fn)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(k filename)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
(read-file)
|
|
((top))
|
|
("i"))
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
#{exp\ 1929}#))
|
|
#{tmp\ 1928}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1927}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1927}#
|
|
'each-any)))
|
|
(#{read-file\ 1916}#
|
|
#{fn\ 1926}#
|
|
#{k\ 1924}#))))
|
|
#{tmp\ 1923}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1922}#)))
|
|
($sc-dispatch #{tmp\ 1922}# (quote (any any)))))
|
|
#{x\ 1915}#)))
|
|
(module-name (current-module)))))
|
|
|
|
(define include-from-path
|
|
(make-syncase-macro
|
|
'macro
|
|
(cons (lambda (#{x\ 1931}#)
|
|
((lambda (#{tmp\ 1932}#)
|
|
((lambda (#{tmp\ 1933}#)
|
|
(if #{tmp\ 1933}#
|
|
(apply (lambda (#{k\ 1934}# #{filename\ 1935}#)
|
|
(let ((#{fn\ 1936}#
|
|
(syntax->datum #{filename\ 1935}#)))
|
|
((lambda (#{tmp\ 1937}#)
|
|
((lambda (#{fn\ 1938}#)
|
|
(list '#(syntax-object
|
|
include
|
|
((top)
|
|
#(ribcage #(fn) #((top)) #("i"))
|
|
#(ribcage () () ())
|
|
#(ribcage () () ())
|
|
#(ribcage #(fn) #((top)) #("i"))
|
|
#(ribcage
|
|
#(k filename)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i")))
|
|
(hygiene guile))
|
|
#{fn\ 1938}#))
|
|
#{tmp\ 1937}#))
|
|
(let ((#{t\ 1939}#
|
|
(%search-load-path #{fn\ 1936}#)))
|
|
(if #{t\ 1939}#
|
|
#{t\ 1939}#
|
|
(syntax-violation
|
|
'include-from-path
|
|
"file not found in path"
|
|
#{x\ 1931}#
|
|
#{filename\ 1935}#))))))
|
|
#{tmp\ 1933}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1932}#)))
|
|
($sc-dispatch #{tmp\ 1932}# (quote (any any)))))
|
|
#{x\ 1931}#))
|
|
(module-name (current-module)))))
|
|
|
|
(define unquote
|
|
(make-syncase-macro
|
|
'macro
|
|
(cons (lambda (#{x\ 1940}#)
|
|
((lambda (#{tmp\ 1941}#)
|
|
((lambda (#{tmp\ 1942}#)
|
|
(if #{tmp\ 1942}#
|
|
(apply (lambda (#{_\ 1943}# #{e\ 1944}#)
|
|
(syntax-violation
|
|
'unquote
|
|
"expression not valid outside of quasiquote"
|
|
#{x\ 1940}#))
|
|
#{tmp\ 1942}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1941}#)))
|
|
($sc-dispatch #{tmp\ 1941}# (quote (any any)))))
|
|
#{x\ 1940}#))
|
|
(module-name (current-module)))))
|
|
|
|
(define unquote-splicing
|
|
(make-syncase-macro
|
|
'macro
|
|
(cons (lambda (#{x\ 1945}#)
|
|
((lambda (#{tmp\ 1946}#)
|
|
((lambda (#{tmp\ 1947}#)
|
|
(if #{tmp\ 1947}#
|
|
(apply (lambda (#{_\ 1948}# #{e\ 1949}#)
|
|
(syntax-violation
|
|
'unquote-splicing
|
|
"expression not valid outside of quasiquote"
|
|
#{x\ 1945}#))
|
|
#{tmp\ 1947}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1946}#)))
|
|
($sc-dispatch #{tmp\ 1946}# (quote (any any)))))
|
|
#{x\ 1945}#))
|
|
(module-name (current-module)))))
|
|
|
|
(define case
|
|
(make-syncase-macro
|
|
'macro
|
|
(cons (lambda (#{x\ 1950}#)
|
|
((lambda (#{tmp\ 1951}#)
|
|
((lambda (#{tmp\ 1952}#)
|
|
(if #{tmp\ 1952}#
|
|
(apply (lambda (#{_\ 1953}#
|
|
#{e\ 1954}#
|
|
#{m1\ 1955}#
|
|
#{m2\ 1956}#)
|
|
((lambda (#{tmp\ 1957}#)
|
|
((lambda (#{body\ 1958}#)
|
|
(list '#(syntax-object
|
|
let
|
|
((top)
|
|
#(ribcage #(body) #((top)) #("i"))
|
|
#(ribcage
|
|
#(_ e m1 m2)
|
|
#((top) (top) (top) (top))
|
|
#("i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i")))
|
|
(hygiene guile))
|
|
(list (list '#(syntax-object
|
|
t
|
|
((top)
|
|
#(ribcage
|
|
#(body)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
#(_ e m1 m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
#{e\ 1954}#))
|
|
#{body\ 1958}#))
|
|
#{tmp\ 1957}#))
|
|
(letrec ((#{f\ 1959}#
|
|
(lambda (#{clause\ 1960}#
|
|
#{clauses\ 1961}#)
|
|
(if (null? #{clauses\ 1961}#)
|
|
((lambda (#{tmp\ 1963}#)
|
|
((lambda (#{tmp\ 1964}#)
|
|
(if #{tmp\ 1964}#
|
|
(apply (lambda (#{e1\ 1965}#
|
|
#{e2\ 1966}#)
|
|
(cons '#(syntax-object
|
|
begin
|
|
((top)
|
|
#(ribcage
|
|
#(e1
|
|
e2)
|
|
#((top)
|
|
(top))
|
|
#("i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
clause
|
|
clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_
|
|
e
|
|
m1
|
|
m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(cons #{e1\ 1965}#
|
|
#{e2\ 1966}#)))
|
|
#{tmp\ 1964}#)
|
|
((lambda (#{tmp\ 1968}#)
|
|
(if #{tmp\ 1968}#
|
|
(apply (lambda (#{k\ 1969}#
|
|
#{e1\ 1970}#
|
|
#{e2\ 1971}#)
|
|
(list '#(syntax-object
|
|
if
|
|
((top)
|
|
#(ribcage
|
|
#(k
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
clause
|
|
clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_
|
|
e
|
|
m1
|
|
m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(list '#(syntax-object
|
|
memv
|
|
((top)
|
|
#(ribcage
|
|
#(k
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
clause
|
|
clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_
|
|
e
|
|
m1
|
|
m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
'#(syntax-object
|
|
t
|
|
((top)
|
|
#(ribcage
|
|
#(k
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
clause
|
|
clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_
|
|
e
|
|
m1
|
|
m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(list '#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage
|
|
#(k
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
clause
|
|
clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_
|
|
e
|
|
m1
|
|
m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
#{k\ 1969}#))
|
|
(cons '#(syntax-object
|
|
begin
|
|
((top)
|
|
#(ribcage
|
|
#(k
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
clause
|
|
clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_
|
|
e
|
|
m1
|
|
m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(cons #{e1\ 1970}#
|
|
#{e2\ 1971}#))))
|
|
#{tmp\ 1968}#)
|
|
((lambda (#{_\ 1974}#)
|
|
(syntax-violation
|
|
'case
|
|
"bad clause"
|
|
#{x\ 1950}#
|
|
#{clause\ 1960}#))
|
|
#{tmp\ 1963}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1963}#
|
|
'(each-any
|
|
any
|
|
.
|
|
each-any)))))
|
|
($sc-dispatch
|
|
#{tmp\ 1963}#
|
|
'(#(free-id
|
|
#(syntax-object
|
|
else
|
|
((top)
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(f clause clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i"))
|
|
#(ribcage
|
|
#(_ e m1 m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile)))
|
|
any
|
|
.
|
|
each-any))))
|
|
#{clause\ 1960}#)
|
|
((lambda (#{tmp\ 1975}#)
|
|
((lambda (#{rest\ 1976}#)
|
|
((lambda (#{tmp\ 1977}#)
|
|
((lambda (#{tmp\ 1978}#)
|
|
(if #{tmp\ 1978}#
|
|
(apply (lambda (#{k\ 1979}#
|
|
#{e1\ 1980}#
|
|
#{e2\ 1981}#)
|
|
(list '#(syntax-object
|
|
if
|
|
((top)
|
|
#(ribcage
|
|
#(k
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(rest)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
clause
|
|
clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_
|
|
e
|
|
m1
|
|
m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(list '#(syntax-object
|
|
memv
|
|
((top)
|
|
#(ribcage
|
|
#(k
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(rest)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
clause
|
|
clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_
|
|
e
|
|
m1
|
|
m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
'#(syntax-object
|
|
t
|
|
((top)
|
|
#(ribcage
|
|
#(k
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(rest)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
clause
|
|
clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_
|
|
e
|
|
m1
|
|
m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(list '#(syntax-object
|
|
quote
|
|
((top)
|
|
#(ribcage
|
|
#(k
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(rest)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
clause
|
|
clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_
|
|
e
|
|
m1
|
|
m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
#{k\ 1979}#))
|
|
(cons '#(syntax-object
|
|
begin
|
|
((top)
|
|
#(ribcage
|
|
#(k
|
|
e1
|
|
e2)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(rest)
|
|
#((top))
|
|
#("i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(f
|
|
clause
|
|
clauses)
|
|
#((top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
#(_
|
|
e
|
|
m1
|
|
m2)
|
|
#((top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i"
|
|
"i"
|
|
"i"
|
|
"i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile))
|
|
(cons #{e1\ 1980}#
|
|
#{e2\ 1981}#))
|
|
#{rest\ 1976}#))
|
|
#{tmp\ 1978}#)
|
|
((lambda (#{_\ 1984}#)
|
|
(syntax-violation
|
|
'case
|
|
"bad clause"
|
|
#{x\ 1950}#
|
|
#{clause\ 1960}#))
|
|
#{tmp\ 1977}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1977}#
|
|
'(each-any
|
|
any
|
|
.
|
|
each-any))))
|
|
#{clause\ 1960}#))
|
|
#{tmp\ 1975}#))
|
|
(#{f\ 1959}#
|
|
(car #{clauses\ 1961}#)
|
|
(cdr #{clauses\ 1961}#)))))))
|
|
(#{f\ 1959}# #{m1\ 1955}# #{m2\ 1956}#))))
|
|
#{tmp\ 1952}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1951}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1951}#
|
|
'(any any any . each-any))))
|
|
#{x\ 1950}#))
|
|
(module-name (current-module)))))
|
|
|
|
(define identifier-syntax
|
|
(make-syncase-macro
|
|
'macro
|
|
(cons (lambda (#{x\ 1985}#)
|
|
((lambda (#{tmp\ 1986}#)
|
|
((lambda (#{tmp\ 1987}#)
|
|
(if #{tmp\ 1987}#
|
|
(apply (lambda (#{_\ 1988}# #{e\ 1989}#)
|
|
(list '#(syntax-object
|
|
lambda
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i")))
|
|
(hygiene guile))
|
|
'(#(syntax-object
|
|
x
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i")))
|
|
(hygiene guile)))
|
|
(list '#(syntax-object
|
|
syntax-case
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i")))
|
|
(hygiene guile))
|
|
'#(syntax-object
|
|
x
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #((top)) #("i")))
|
|
(hygiene guile))
|
|
'()
|
|
(list '#(syntax-object
|
|
id
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
'(#(syntax-object
|
|
identifier?
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
(#(syntax-object
|
|
syntax
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
#(syntax-object
|
|
id
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))))
|
|
(list '#(syntax-object
|
|
syntax
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
#{e\ 1989}#))
|
|
(list (cons #{_\ 1988}#
|
|
'(#(syntax-object
|
|
x
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
#(syntax-object
|
|
...
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))))
|
|
(list '#(syntax-object
|
|
syntax
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top) (top))
|
|
#("i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
(cons #{e\ 1989}#
|
|
'(#(syntax-object
|
|
x
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top)
|
|
(top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
#(syntax-object
|
|
...
|
|
((top)
|
|
#(ribcage
|
|
#(_ e)
|
|
#((top)
|
|
(top))
|
|
#("i" "i"))
|
|
#(ribcage
|
|
()
|
|
()
|
|
())
|
|
#(ribcage
|
|
#(x)
|
|
#((top))
|
|
#("i")))
|
|
(hygiene
|
|
guile)))))))))
|
|
#{tmp\ 1987}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1986}#)))
|
|
($sc-dispatch #{tmp\ 1986}# (quote (any any)))))
|
|
#{x\ 1985}#))
|
|
(module-name (current-module)))))
|
|
|
|
(define define*
|
|
(make-syncase-macro
|
|
'macro
|
|
(cons (lambda (#{x\ 1990}#)
|
|
((lambda (#{tmp\ 1991}#)
|
|
((lambda (#{tmp\ 1992}#)
|
|
(if #{tmp\ 1992}#
|
|
(apply (lambda (#{dummy\ 1993}#
|
|
#{id\ 1994}#
|
|
#{args\ 1995}#
|
|
#{b0\ 1996}#
|
|
#{b1\ 1997}#)
|
|
(list '#(syntax-object
|
|
define
|
|
((top)
|
|
#(ribcage
|
|
#(dummy id args b0 b1)
|
|
#(("m" top) (top) (top) (top) (top))
|
|
#("i" "i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage #(x) #(("m" top)) #("i")))
|
|
(hygiene guile))
|
|
#{id\ 1994}#
|
|
(cons '#(syntax-object
|
|
lambda*
|
|
((top)
|
|
#(ribcage
|
|
#(dummy id args b0 b1)
|
|
#(("m" top)
|
|
(top)
|
|
(top)
|
|
(top)
|
|
(top))
|
|
#("i" "i" "i" "i" "i"))
|
|
#(ribcage () () ())
|
|
#(ribcage
|
|
#(x)
|
|
#(("m" top))
|
|
#("i")))
|
|
(hygiene guile))
|
|
(cons #{args\ 1995}#
|
|
(cons #{b0\ 1996}#
|
|
#{b1\ 1997}#)))))
|
|
#{tmp\ 1992}#)
|
|
(syntax-violation
|
|
#f
|
|
"source expression failed to match any pattern"
|
|
#{tmp\ 1991}#)))
|
|
($sc-dispatch
|
|
#{tmp\ 1991}#
|
|
'(any (any . any) any . each-any))))
|
|
#{x\ 1990}#))
|
|
(module-name (current-module)))))
|
|
|