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