(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}#))))