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