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