allow docstrings with internal definitions
[bpt/guile.git] / module / ice-9 / psyntax-pp.scm
CommitLineData
9c35c579
AW
1(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
2(void)
0ee32d01
AW
3(letrec ((lambda-var-list175 (lambda (vars380) (let lvl381 ((vars382 vars380) (ls383 (quote ())) (w384 (quote (())))) (cond ((pair? vars382) (lvl381 (cdr vars382) (cons (wrap154 (car vars382) w384 #f) ls383) w384)) ((id?126 vars382) (cons (wrap154 vars382 w384 #f) ls383)) ((null? vars382) ls383) ((syntax-object?110 vars382) (lvl381 (syntax-object-expression111 vars382) ls383 (join-wraps145 w384 (syntax-object-wrap112 vars382)))) ((annotation? vars382) (lvl381 (annotation-expression vars382) ls383 w384)) (else (cons vars382 ls383)))))) (gen-var174 (lambda (id385) (let ((id386 (if (syntax-object?110 id385) (syntax-object-expression111 id385) id385))) (if (annotation? id386) (build-annotated103 (annotation-source id386) (gensym (symbol->string (annotation-expression id386)))) (build-annotated103 #f (gensym (symbol->string id386))))))) (strip173 (lambda (x387 w388) (if (memq (quote top) (wrap-marks129 w388)) (if (or (annotation? x387) (and (pair? x387) (annotation? (car x387)))) (strip-annotation172 x387 #f) x387) (let f389 ((x390 x387)) (cond ((syntax-object?110 x390) (strip173 (syntax-object-expression111 x390) (syntax-object-wrap112 x390))) ((pair? x390) (let ((a391 (f389 (car x390))) (d392 (f389 (cdr x390)))) (if (and (eq? a391 (car x390)) (eq? d392 (cdr x390))) x390 (cons a391 d392)))) ((vector? x390) (let ((old393 (vector->list x390))) (let ((new394 (map f389 old393))) (if (andmap eq? old393 new394) x390 (list->vector new394))))) (else x390)))))) (strip-annotation172 (lambda (x395 parent396) (cond ((pair? x395) (let ((new397 (cons #f #f))) (begin (if parent396 (set-annotation-stripped! parent396 new397)) (set-car! new397 (strip-annotation172 (car x395) #f)) (set-cdr! new397 (strip-annotation172 (cdr x395) #f)) new397))) ((annotation? x395) (or (annotation-stripped x395) (strip-annotation172 (annotation-expression x395) x395))) ((vector? x395) (let ((new398 (make-vector (vector-length x395)))) (begin (if parent396 (set-annotation-stripped! parent396 new398)) (let loop399 ((i400 (- (vector-length x395) 1))) (unless (fx<96 i400 0) (vector-set! new398 i400 (strip-annotation172 (vector-ref x395 i400) #f)) (loop399 (fx-94 i400 1)))) new398))) (else x395)))) (ellipsis?171 (lambda (x401) (and (nonsymbol-id?125 x401) (free-id=?149 x401 (quote #(syntax-object ... ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook remove-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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) ((top)) ("i"))) (hygiene guile))))))) (chi-void170 (lambda () (build-annotated103 #f (list (build-annotated103 #f (quote void)))))) (eval-local-transformer169 (lambda (expanded402 mod403) (let ((p404 (local-eval-hook98 expanded402 mod403))) (if (procedure? p404) p404 (syntax-error p404 "nonprocedure transformer"))))) (chi-local-syntax168 (lambda (rec?405 e406 r407 w408 s409 mod410 k411) ((lambda (tmp412) ((lambda (tmp413) (if tmp413 (apply (lambda (_414 id415 val416 e1417 e2418) (let ((ids419 id415)) (if (not (valid-bound-ids?151 ids419)) (syntax-error e406 "duplicate bound keyword in") (let ((labels421 (gen-labels132 ids419))) (let ((new-w422 (make-binding-wrap143 ids419 labels421 w408))) (k411 (cons e1417 e2418) (extend-env120 labels421 (let ((w424 (if rec?405 new-w422 w408)) (trans-r425 (macros-only-env122 r407))) (map (lambda (x426) (cons (quote macro) (eval-local-transformer169 (chi162 x426 trans-r425 w424 mod410) mod410))) val416)) r407) new-w422 s409 mod410)))))) tmp413) ((lambda (_428) (syntax-error (source-wrap155 e406 w408 s409 mod410))) tmp412))) (syntax-dispatch tmp412 (quote (any #(each (any any)) any . each-any))))) e406))) (chi-lambda-clause167 (lambda (e429 docstring430 c431 r432 w433 mod434 k435) ((lambda (tmp436) ((lambda (tmp437) (if (if tmp437 (apply (lambda (args438 doc439 e1440 e2441) (and (string? (syntax-object->datum doc439)) (not docstring430))) tmp437) #f) (apply (lambda (args442 doc443 e1444 e2445) (chi-lambda-clause167 e429 doc443 (cons args442 (cons e1444 e2445)) r432 w433 mod434 k435)) tmp437) ((lambda (tmp447) (if tmp447 (apply (lambda (id448 e1449 e2450) (let ((ids451 id448)) (if (not (valid-bound-ids?151 ids451)) (syntax-error e429 "invalid parameter list in") (let ((labels453 (gen-labels132 ids451)) (new-vars454 (map gen-var174 ids451))) (k435 new-vars454 docstring430 (chi-body166 (cons e1449 e2450) e429 (extend-var-env121 labels453 new-vars454 r432) (make-binding-wrap143 ids451 labels453 w433) mod434)))))) tmp447) ((lambda (tmp456) (if tmp456 (apply (lambda (ids457 e1458 e2459) (let ((old-ids460 (lambda-var-list175 ids457))) (if (not (valid-bound-ids?151 old-ids460)) (syntax-error e429 "invalid parameter list in") (let ((labels461 (gen-labels132 old-ids460)) (new-vars462 (map gen-var174 old-ids460))) (k435 (let f463 ((ls1464 (cdr new-vars462)) (ls2465 (car new-vars462))) (if (null? ls1464) ls2465 (f463 (cdr ls1464) (cons (car ls1464) ls2465)))) docstring430 (chi-body166 (cons e1458 e2459) e429 (extend-var-env121 labels461 new-vars462 r432) (make-binding-wrap143 old-ids460 labels461 w433) mod434)))))) tmp456) ((lambda (_467) (syntax-error e429)) tmp436))) (syntax-dispatch tmp436 (quote (any any . each-any)))))) (syntax-dispatch tmp436 (quote (each-any any . each-any)))))) (syntax-dispatch tmp436 (quote (any any any . each-any))))) c431))) (chi-body166 (lambda (body468 outer-form469 r470 w471 mod472) (let ((r473 (cons (quote ("placeholder" placeholder)) r470))) (let ((ribcage474 (make-ribcage133 (quote ()) (quote ()) (quote ())))) (let ((w475 (make-wrap128 (wrap-marks129 w471) (cons ribcage474 (wrap-subst130 w471))))) (let parse476 ((body477 (map (lambda (x483) (cons r473 (wrap154 x483 w475 mod472))) body468)) (ids478 (quote ())) (labels479 (quote ())) (vars480 (quote ())) (vals481 (quote ())) (bindings482 (quote ()))) (if (null? body477) (syntax-error outer-form469 "no expressions in body") (let ((e484 (cdar body477)) (er485 (caar body477))) (call-with-values (lambda () (syntax-type160 e484 er485 (quote (())) #f ribcage474 mod472)) (lambda (type486 value487 e488 w489 s490 mod491) (let ((t492 type486)) (if (memv t492 (quote (define-form))) (let ((id493 (wrap154 value487 w489 mod491)) (label494 (gen-label131))) (let ((var495 (gen-var174 id493))) (begin (extend-ribcage!142 ribcage474 id493 label494) (parse476 (cdr body477) (cons id493 ids478) (cons label494 labels479) (cons var495 vars480) (cons (cons er485 (wrap154 e488 w489 mod491)) vals481) (cons (cons (quote lexical) var495) bindings482))))) (if (memv t492 (quote (define-syntax-form))) (let ((id496 (wrap154 value487 w489 mod491)) (label497 (gen-label131))) (begin (extend-ribcage!142 ribcage474 id496 label497) (parse476 (cdr body477) (cons id496 ids478) (cons label497 labels479) vars480 vals481 (cons (cons (quote macro) (cons er485 (wrap154 e488 w489 mod491))) bindings482)))) (if (memv t492 (quote (begin-form))) ((lambda (tmp498) ((lambda (tmp499) (if tmp499 (apply (lambda (_500 e1501) (parse476 (let f502 ((forms503 e1501)) (if (null? forms503) (cdr body477) (cons (cons er485 (wrap154 (car forms503) w489 mod491)) (f502 (cdr forms503))))) ids478 labels479 vars480 vals481 bindings482)) tmp499) (syntax-error tmp498))) (syntax-dispatch tmp498 (quote (any . each-any))))) e488) (if (memv t492 (quote (local-syntax-form))) (chi-local-syntax168 value487 e488 er485 w489 s490 mod491 (lambda (forms505 er506 w507 s508 mod509) (parse476 (let f510 ((forms511 forms505)) (if (null? forms511) (cdr body477) (cons (cons er506 (wrap154 (car forms511) w507 mod509)) (f510 (cdr forms511))))) ids478 labels479 vars480 vals481 bindings482))) (if (null? ids478) (build-sequence105 #f (map (lambda (x512) (chi162 (cdr x512) (car x512) (quote (())) mod491)) (cons (cons er485 (source-wrap155 e488 w489 s490 mod491)) (cdr body477)))) (begin (if (not (valid-bound-ids?151 ids478)) (syntax-error outer-form469 "invalid or duplicate identifier in definition")) (let loop513 ((bs514 bindings482) (er-cache515 #f) (r-cache516 #f)) (if (not (null? bs514)) (let ((b517 (car bs514))) (if (eq? (car b517) (quote macro)) (let ((er518 (cadr b517))) (let ((r-cache519 (if (eq? er518 er-cache515) r-cache516 (macros-only-env122 er518)))) (begin (set-cdr! b517 (eval-local-transformer169 (chi162 (cddr b517) r-cache519 (quote (())) mod491) mod491)) (loop513 (cdr bs514) er518 r-cache519)))) (loop513 (cdr bs514) er-cache515 r-cache516))))) (set-cdr! r473 (extend-env120 labels479 bindings482 (cdr r473))) (build-letrec108 #f vars480 (map (lambda (x520) (chi162 (cdr x520) (car x520) (quote (())) mod491)) vals481) (build-sequence105 #f (map (lambda (x521) (chi162 (cdr x521) (car x521) (quote (())) mod491)) (cons (cons er485 (source-wrap155 e488 w489 s490 mod491)) (cdr body477)))))))))))))))))))))) (chi-macro165 (lambda (p522 e523 r524 w525 rib526 mod527) (letrec ((rebuild-macro-output528 (lambda (x529 m530) (cond ((pair? x529) (cons (rebuild-macro-output528 (car x529) m530) (rebuild-macro-output528 (cdr x529) m530))) ((syntax-object?110 x529) (let ((w531 (syntax-object-wrap112 x529))) (let ((ms532 (wrap-marks129 w531)) (s533 (wrap-subst130 w531))) (if (and (pair? ms532) (eq? (car ms532) #f)) (make-syntax-object109 (syntax-object-expression111 x529) (make-wrap128 (cdr ms532) (if rib526 (cons rib526 (cdr s533)) (cdr s533))) (syntax-object-module113 x529)) (make-syntax-object109 (syntax-object-expression111 x529) (make-wrap128 (cons m530 ms532) (if rib526 (cons rib526 (cons (quote shift) s533)) (cons (quote shift) s533))) (let ((pmod534 (procedure-module p522))) (if pmod534 (cons (quote hygiene) (module-name pmod534)) (quote (hygiene guile))))))))) ((vector? x529) (let ((n535 (vector-length x529))) (let ((v536 (make-vector n535))) (let doloop537 ((i538 0)) (if (fx=95 i538 n535) v536 (begin (vector-set! v536 i538 (rebuild-macro-output528 (vector-ref x529 i538) m530)) (doloop537 (fx+93 i538 1)))))))) ((symbol? x529) (syntax-error x529 "encountered raw symbol in macro output")) (else x529))))) (rebuild-macro-output528 (p522 (wrap154 e523 (anti-mark141 w525) mod527)) (string #\m))))) (chi-application164 (lambda (x539 e540 r541 w542 s543 mod544) ((lambda (tmp545) ((lambda (tmp546) (if tmp546 (apply (lambda (e0547 e1548) (build-annotated103 s543 (cons x539 (map (lambda (e549) (chi162 e549 r541 w542 mod544)) e1548)))) tmp546) (syntax-error tmp545))) (syntax-dispatch tmp545 (quote (any . each-any))))) e540))) (chi-expr163 (lambda (type551 value552 e553 r554 w555 s556 mod557) (let ((t558 type551)) (if (memv t558 (quote (lexical))) (build-annotated103 s556 value552) (if (memv t558 (quote (core external-macro))) (value552 e553 r554 w555 s556 mod557) (if (memv t558 (quote (module-ref))) (call-with-values (lambda () (value552 e553)) (lambda (id559 mod560) (build-annotated103 s556 (if mod560 (make-module-ref (cdr mod560) id559 (car mod560)) (make-module-ref mod560 id559 (quote bare)))))) (if (memv t558 (quote (lexical-call))) (chi-application164 (build-annotated103 (source-annotation117 (car e553)) value552) e553 r554 w555 s556 mod557) (if (memv t558 (quote (global-call))) (chi-application164 (build-annotated103 (source-annotation117 (car e553)) (if (if (syntax-object?110 (car e553)) (syntax-object-module113 (car e553)) mod557) (make-module-ref (cdr (if (syntax-object?110 (car e553)) (syntax-object-module113 (car e553)) mod557)) value552 (car (if (syntax-object?110 (car e553)) (syntax-object-module113 (car e553)) mod557))) (make-module-ref (if (syntax-object?110 (car e553)) (syntax-object-module113 (car e553)) mod557) value552 (quote bare)))) e553 r554 w555 s556 mod557) (if (memv t558 (quote (constant))) (build-data104 s556 (strip173 (source-wrap155 e553 w555 s556 mod557) (quote (())))) (if (memv t558 (quote (global))) (build-annotated103 s556 (if mod557 (make-module-ref (cdr mod557) value552 (car mod557)) (make-module-ref mod557 value552 (quote bare)))) (if (memv t558 (quote (call))) (chi-application164 (chi162 (car e553) r554 w555 mod557) e553 r554 w555 s556 mod557) (if (memv t558 (quote (begin-form))) ((lambda (tmp561) ((lambda (tmp562) (if tmp562 (apply (lambda (_563 e1564 e2565) (chi-sequence156 (cons e1564 e2565) r554 w555 s556 mod557)) tmp562) (syntax-error tmp561))) (syntax-dispatch tmp561 (quote (any any . each-any))))) e553) (if (memv t558 (quote (local-syntax-form))) (chi-local-syntax168 value552 e553 r554 w555 s556 mod557 chi-sequence156) (if (memv t558 (quote (eval-when-form))) ((lambda (tmp567) ((lambda (tmp568) (if tmp568 (apply (lambda (_569 x570 e1571 e2572) (let ((when-list573 (chi-when-list159 e553 x570 w555))) (if (memq (quote eval) when-list573) (chi-sequence156 (cons e1571 e2572) r554 w555 s556 mod557) (chi-void170)))) tmp568) (syntax-error tmp567))) (syntax-dispatch tmp567 (quote (any each-any any . each-any))))) e553) (if (memv t558 (quote (define-form define-syntax-form))) (syntax-error (wrap154 value552 w555 mod557) "invalid context for definition of") (if (memv t558 (quote (syntax))) (syntax-error (source-wrap155 e553 w555 s556 mod557) "reference to pattern variable outside syntax form") (if (memv t558 (quote (displaced-lexical))) (syntax-error (source-wrap155 e553 w555 s556 mod557) "reference to identifier outside its scope") (syntax-error (source-wrap155 e553 w555 s556 mod557))))))))))))))))))) (chi162 (lambda (e576 r577 w578 mod579) (call-with-values (lambda () (syntax-type160 e576 r577 w578 #f #f mod579)) (lambda (type580 value581 e582 w583 s584 mod585) (chi-expr163 type580 value581 e582 r577 w583 s584 mod585))))) (chi-top161 (lambda (e586 r587 w588 m589 esew590 mod591) (call-with-values (lambda () (syntax-type160 e586 r587 w588 #f #f mod591)) (lambda (type599 value600 e601 w602 s603 mod604) (let ((t605 type599)) (if (memv t605 (quote (begin-form))) ((lambda (tmp606) ((lambda (tmp607) (if tmp607 (apply (lambda (_608) (chi-void170)) tmp607) ((lambda (tmp609) (if tmp609 (apply (lambda (_610 e1611 e2612) (chi-top-sequence157 (cons e1611 e2612) r587 w602 s603 m589 esew590 mod604)) tmp609) (syntax-error tmp606))) (syntax-dispatch tmp606 (quote (any any . each-any)))))) (syntax-dispatch tmp606 (quote (any))))) e601) (if (memv t605 (quote (local-syntax-form))) (chi-local-syntax168 value600 e601 r587 w602 s603 mod604 (lambda (body614 r615 w616 s617 mod618) (chi-top-sequence157 body614 r615 w616 s617 m589 esew590 mod618))) (if (memv t605 (quote (eval-when-form))) ((lambda (tmp619) ((lambda (tmp620) (if tmp620 (apply (lambda (_621 x622 e1623 e2624) (let ((when-list625 (chi-when-list159 e601 x622 w602)) (body626 (cons e1623 e2624))) (cond ((eq? m589 (quote e)) (if (memq (quote eval) when-list625) (chi-top-sequence157 body626 r587 w602 s603 (quote e) (quote (eval)) mod604) (chi-void170))) ((memq (quote load) when-list625) (if (or (memq (quote compile) when-list625) (and (eq? m589 (quote c&e)) (memq (quote eval) when-list625))) (chi-top-sequence157 body626 r587 w602 s603 (quote c&e) (quote (compile load)) mod604) (if (memq m589 (quote (c c&e))) (chi-top-sequence157 body626 r587 w602 s603 (quote c) (quote (load)) mod604) (chi-void170)))) ((or (memq (quote compile) when-list625) (and (eq? m589 (quote c&e)) (memq (quote eval) when-list625))) (top-level-eval-hook97 (chi-top-sequence157 body626 r587 w602 s603 (quote e) (quote (eval)) mod604) mod604) (chi-void170)) (else (chi-void170))))) tmp620) (syntax-error tmp619))) (syntax-dispatch tmp619 (quote (any each-any any . each-any))))) e601) (if (memv t605 (quote (define-syntax-form))) (let ((n629 (id-var-name148 value600 w602)) (r630 (macros-only-env122 r587))) (let ((t631 m589)) (if (memv t631 (quote (c))) (if (memq (quote compile) esew590) (let ((e632 (chi-install-global158 n629 (chi162 e601 r630 w602 mod604)))) (begin (top-level-eval-hook97 e632 mod604) (if (memq (quote load) esew590) e632 (chi-void170)))) (if (memq (quote load) esew590) (chi-install-global158 n629 (chi162 e601 r630 w602 mod604)) (chi-void170))) (if (memv t631 (quote (c&e))) (let ((e633 (chi-install-global158 n629 (chi162 e601 r630 w602 mod604)))) (begin (top-level-eval-hook97 e633 mod604) e633)) (begin (if (memq (quote eval) esew590) (top-level-eval-hook97 (chi-install-global158 n629 (chi162 e601 r630 w602 mod604)) mod604)) (chi-void170)))))) (if (memv t605 (quote (define-form))) (let ((n634 (id-var-name148 value600 w602))) (let ((type635 (binding-type118 (lookup123 n634 r587 mod604)))) (let ((t636 type635)) (if (memv t636 (quote (global))) (let ((x637 (build-annotated103 s603 (list (quote define) n634 (chi162 e601 r587 w602 mod604))))) (begin (if (eq? m589 (quote c&e)) (top-level-eval-hook97 x637 mod604)) x637)) (if (memv t636 (quote (displaced-lexical))) (syntax-error (wrap154 value600 w602 mod604) "identifier out of context") (if (memv t636 (quote (core macro module-ref))) (begin (remove-global-definition-hook101 n634) (let ((x638 (build-annotated103 s603 (list (quote define) n634 (chi162 e601 r587 w602 mod604))))) (begin (if (eq? m589 (quote c&e)) (top-level-eval-hook97 x638 mod604)) x638))) (syntax-error (wrap154 value600 w602 mod604) "cannot define keyword at top level"))))))) (let ((x639 (chi-expr163 type599 value600 e601 r587 w602 s603 mod604))) (begin (if (eq? m589 (quote c&e)) (top-level-eval-hook97 x639 mod604)) x639)))))))))))) (syntax-type160 (lambda (e640 r641 w642 s643 rib644 mod645) (cond ((symbol? e640) (let ((n646 (id-var-name148 e640 w642))) (let ((b647 (lookup123 n646 r641 mod645))) (let ((type648 (binding-type118 b647))) (let ((t649 type648)) (if (memv t649 (quote (lexical))) (values type648 (binding-value119 b647) e640 w642 s643 mod645) (if (memv t649 (quote (global))) (values type648 n646 e640 w642 s643 mod645) (if (memv t649 (quote (macro))) (syntax-type160 (chi-macro165 (binding-value119 b647) e640 r641 w642 rib644 mod645) r641 (quote (())) s643 rib644 mod645) (values type648 (binding-value119 b647) e640 w642 s643 mod645))))))))) ((pair? e640) (let ((first650 (car e640))) (if (id?126 first650) (let ((n651 (id-var-name148 first650 w642))) (let ((b652 (lookup123 n651 r641 (or (and (syntax-object?110 first650) (syntax-object-module113 first650)) mod645)))) (let ((type653 (binding-type118 b652))) (let ((t654 type653)) (if (memv t654 (quote (lexical))) (values (quote lexical-call) (binding-value119 b652) e640 w642 s643 mod645) (if (memv t654 (quote (global))) (values (quote global-call) n651 e640 w642 s643 mod645) (if (memv t654 (quote (macro))) (syntax-type160 (chi-macro165 (binding-value119 b652) e640 r641 w642 rib644 mod645) r641 (quote (())) s643 rib644 mod645) (if (memv t654 (quote (core external-macro module-ref))) (values type653 (binding-value119 b652) e640 w642 s643 mod645) (if (memv t654 (quote (local-syntax))) (values (quote local-syntax-form) (binding-value119 b652) e640 w642 s643 mod645) (if (memv t654 (quote (begin))) (values (quote begin-form) #f e640 w642 s643 mod645) (if (memv t654 (quote (eval-when))) (values (quote eval-when-form) #f e640 w642 s643 mod645) (if (memv t654 (quote (define))) ((lambda (tmp655) ((lambda (tmp656) (if (if tmp656 (apply (lambda (_657 name658 val659) (id?126 name658)) tmp656) #f) (apply (lambda (_660 name661 val662) (values (quote define-form) name661 val662 w642 s643 mod645)) tmp656) ((lambda (tmp663) (if (if tmp663 (apply (lambda (_664 name665 args666 e1667 e2668) (and (id?126 name665) (valid-bound-ids?151 (lambda-var-list175 args666)))) tmp663) #f) (apply (lambda (_669 name670 args671 e1672 e2673) (values (quote define-form) (wrap154 name670 w642 mod645) (cons (quote #(syntax-object lambda ((top) #(ribcage #(_ name args e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(t) #(("m" top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook remove-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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) ((top)) ("i"))) (hygiene guile))) (wrap154 (cons args671 (cons e1672 e2673)) w642 mod645)) (quote (())) s643 mod645)) tmp663) ((lambda (tmp675) (if (if tmp675 (apply (lambda (_676 name677) (id?126 name677)) tmp675) #f) (apply (lambda (_678 name679) (values (quote define-form) (wrap154 name679 w642 mod645) (quote (#(syntax-object void ((top) #(ribcage #(_ name) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(t) #(("m" top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook remove-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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) ((top)) ("i"))) (hygiene guile)))) (quote (())) s643 mod645)) tmp675) (syntax-error tmp655))) (syntax-dispatch tmp655 (quote (any any)))))) (syntax-dispatch tmp655 (quote (any (any . any) any . each-any)))))) (syntax-dispatch tmp655 (quote (any any any))))) e640) (if (memv t654 (quote (define-syntax))) ((lambda (tmp680) ((lambda (tmp681) (if (if tmp681 (apply (lambda (_682 name683 val684) (id?126 name683)) tmp681) #f) (apply (lambda (_685 name686 val687) (values (quote define-syntax-form) name686 val687 w642 s643 mod645)) tmp681) (syntax-error tmp680))) (syntax-dispatch tmp680 (quote (any any any))))) e640) (values (quote call) #f e640 w642 s643 mod645)))))))))))))) (values (quote call) #f e640 w642 s643 mod645)))) ((syntax-object?110 e640) (syntax-type160 (syntax-object-expression111 e640) r641 (join-wraps145 w642 (syntax-object-wrap112 e640)) #f rib644 (or (syntax-object-module113 e640) mod645))) ((annotation? e640) (syntax-type160 (annotation-expression e640) r641 w642 (annotation-source e640) rib644 mod645)) ((self-evaluating? e640) (values (quote constant) #f e640 w642 s643 mod645)) (else (values (quote other) #f e640 w642 s643 mod645))))) (chi-when-list159 (lambda (e688 when-list689 w690) (let f691 ((when-list692 when-list689) (situations693 (quote ()))) (if (null? when-list692) situations693 (f691 (cdr when-list692) (cons (let ((x694 (car when-list692))) (cond ((free-id=?149 x694 (quote #(syntax-object compile ((top) #(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 strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook remove-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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) ((top)) ("i"))) (hygiene guile)))) (quote compile)) ((free-id=?149 x694 (quote #(syntax-object load ((top) #(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 strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook remove-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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) ((top)) ("i"))) (hygiene guile)))) (quote load)) ((free-id=?149 x694 (quote #(syntax-object eval ((top) #(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 strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook remove-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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) ((top)) ("i"))) (hygiene guile)))) (quote eval)) (else (syntax-error (wrap154 x694 w690 #f) "invalid eval-when situation")))) situations693)))))) (chi-install-global158 (lambda (name695 e696) (build-annotated103 #f (list (build-annotated103 #f (quote install-global-transformer)) (build-data104 #f name695) e696)))) (chi-top-sequence157 (lambda (body697 r698 w699 s700 m701 esew702 mod703) (build-sequence105 s700 (let dobody704 ((body705 body697) (r706 r698) (w707 w699) (m708 m701) (esew709 esew702) (mod710 mod703)) (if (null? body705) (quote ()) (let ((first711 (chi-top161 (car body705) r706 w707 m708 esew709 mod710))) (cons first711 (dobody704 (cdr body705) r706 w707 m708 esew709 mod710)))))))) (chi-sequence156 (lambda (body712 r713 w714 s715 mod716) (build-sequence105 s715 (let dobody717 ((body718 body712) (r719 r713) (w720 w714) (mod721 mod716)) (if (null? body718) (quote ()) (let ((first722 (chi162 (car body718) r719 w720 mod721))) (cons first722 (dobody717 (cdr body718) r719 w720 mod721)))))))) (source-wrap155 (lambda (x723 w724 s725 defmod726) (wrap154 (if s725 (make-annotation x723 s725 #f) x723) w724 defmod726))) (wrap154 (lambda (x727 w728 defmod729) (cond ((and (null? (wrap-marks129 w728)) (null? (wrap-subst130 w728))) x727) ((syntax-object?110 x727) (make-syntax-object109 (syntax-object-expression111 x727) (join-wraps145 w728 (syntax-object-wrap112 x727)) (syntax-object-module113 x727))) ((null? x727) x727) (else (make-syntax-object109 x727 w728 defmod729))))) (bound-id-member?153 (lambda (x730 list731) (and (not (null? list731)) (or (bound-id=?150 x730 (car list731)) (bound-id-member?153 x730 (cdr list731)))))) (distinct-bound-ids?152 (lambda (ids732) (let distinct?733 ((ids734 ids732)) (or (null? ids734) (and (not (bound-id-member?153 (car ids734) (cdr ids734))) (distinct?733 (cdr ids734))))))) (valid-bound-ids?151 (lambda (ids735) (and (let all-ids?736 ((ids737 ids735)) (or (null? ids737) (and (id?126 (car ids737)) (all-ids?736 (cdr ids737))))) (distinct-bound-ids?152 ids735)))) (bound-id=?150 (lambda (i738 j739) (if (and (syntax-object?110 i738) (syntax-object?110 j739)) (and (eq? (let ((e740 (syntax-object-expression111 i738))) (if (annotation? e740) (annotation-expression e740) e740)) (let ((e741 (syntax-object-expression111 j739))) (if (annotation? e741) (annotation-expression e741) e741))) (same-marks?147 (wrap-marks129 (syntax-object-wrap112 i738)) (wrap-marks129 (syntax-object-wrap112 j739)))) (eq? (let ((e742 i738)) (if (annotation? e742) (annotation-expression e742) e742)) (let ((e743 j739)) (if (annotation? e743) (annotation-expression e743) e743)))))) (free-id=?149 (lambda (i744 j745) (and (eq? (let ((x746 i744)) (let ((e747 (if (syntax-object?110 x746) (syntax-object-expression111 x746) x746))) (if (annotation? e747) (annotation-expression e747) e747))) (let ((x748 j745)) (let ((e749 (if (syntax-object?110 x748) (syntax-object-expression111 x748) x748))) (if (annotation? e749) (annotation-expression e749) e749)))) (eq? (id-var-name148 i744 (quote (()))) (id-var-name148 j745 (quote (()))))))) (id-var-name148 (lambda (id750 w751) (letrec ((search-vector-rib754 (lambda (sym760 subst761 marks762 symnames763 ribcage764) (let ((n765 (vector-length symnames763))) (let f766 ((i767 0)) (cond ((fx=95 i767 n765) (search752 sym760 (cdr subst761) marks762)) ((and (eq? (vector-ref symnames763 i767) sym760) (same-marks?147 marks762 (vector-ref (ribcage-marks136 ribcage764) i767))) (values (vector-ref (ribcage-labels137 ribcage764) i767) marks762)) (else (f766 (fx+93 i767 1)))))))) (search-list-rib753 (lambda (sym768 subst769 marks770 symnames771 ribcage772) (let f773 ((symnames774 symnames771) (i775 0)) (cond ((null? symnames774) (search752 sym768 (cdr subst769) marks770)) ((and (eq? (car symnames774) sym768) (same-marks?147 marks770 (list-ref (ribcage-marks136 ribcage772) i775))) (values (list-ref (ribcage-labels137 ribcage772) i775) marks770)) (else (f773 (cdr symnames774) (fx+93 i775 1))))))) (search752 (lambda (sym776 subst777 marks778) (if (null? subst777) (values #f marks778) (let ((fst779 (car subst777))) (if (eq? fst779 (quote shift)) (search752 sym776 (cdr subst777) (cdr marks778)) (let ((symnames780 (ribcage-symnames135 fst779))) (if (vector? symnames780) (search-vector-rib754 sym776 subst777 marks778 symnames780 fst779) (search-list-rib753 sym776 subst777 marks778 symnames780 fst779))))))))) (cond ((symbol? id750) (or (call-with-values (lambda () (search752 id750 (wrap-subst130 w751) (wrap-marks129 w751))) (lambda (x782 . ignore781) x782)) id750)) ((syntax-object?110 id750) (let ((id783 (let ((e785 (syntax-object-expression111 id750))) (if (annotation? e785) (annotation-expression e785) e785))) (w1784 (syntax-object-wrap112 id750))) (let ((marks786 (join-marks146 (wrap-marks129 w751) (wrap-marks129 w1784)))) (call-with-values (lambda () (search752 id783 (wrap-subst130 w751) marks786)) (lambda (new-id787 marks788) (or new-id787 (call-with-values (lambda () (search752 id783 (wrap-subst130 w1784) marks788)) (lambda (x790 . ignore789) x790)) id783)))))) ((annotation? id750) (let ((id791 (let ((e792 id750)) (if (annotation? e792) (annotation-expression e792) e792)))) (or (call-with-values (lambda () (search752 id791 (wrap-subst130 w751) (wrap-marks129 w751))) (lambda (x794 . ignore793) x794)) id791))) (else (error-hook99 (quote id-var-name) "invalid id" id750)))))) (same-marks?147 (lambda (x795 y796) (or (eq? x795 y796) (and (not (null? x795)) (not (null? y796)) (eq? (car x795) (car y796)) (same-marks?147 (cdr x795) (cdr y796)))))) (join-marks146 (lambda (m1797 m2798) (smart-append144 m1797 m2798))) (join-wraps145 (lambda (w1799 w2800) (let ((m1801 (wrap-marks129 w1799)) (s1802 (wrap-subst130 w1799))) (if (null? m1801) (if (null? s1802) w2800 (make-wrap128 (wrap-marks129 w2800) (smart-append144 s1802 (wrap-subst130 w2800)))) (make-wrap128 (smart-append144 m1801 (wrap-marks129 w2800)) (smart-append144 s1802 (wrap-subst130 w2800))))))) (smart-append144 (lambda (m1803 m2804) (if (null? m2804) m1803 (append m1803 m2804)))) (make-binding-wrap143 (lambda (ids805 labels806 w807) (if (null? ids805) w807 (make-wrap128 (wrap-marks129 w807) (cons (let ((labelvec808 (list->vector labels806))) (let ((n809 (vector-length labelvec808))) (let ((symnamevec810 (make-vector n809)) (marksvec811 (make-vector n809))) (begin (let f812 ((ids813 ids805) (i814 0)) (if (not (null? ids813)) (call-with-values (lambda () (id-sym-name&marks127 (car ids813) w807)) (lambda (symname815 marks816) (begin (vector-set! symnamevec810 i814 symname815) (vector-set! marksvec811 i814 marks816) (f812 (cdr ids813) (fx+93 i814 1))))))) (make-ribcage133 symnamevec810 marksvec811 labelvec808))))) (wrap-subst130 w807)))))) (extend-ribcage!142 (lambda (ribcage817 id818 label819) (begin (set-ribcage-symnames!138 ribcage817 (cons (let ((e820 (syntax-object-expression111 id818))) (if (annotation? e820) (annotation-expression e820) e820)) (ribcage-symnames135 ribcage817))) (set-ribcage-marks!139 ribcage817 (cons (wrap-marks129 (syntax-object-wrap112 id818)) (ribcage-marks136 ribcage817))) (set-ribcage-labels!140 ribcage817 (cons label819 (ribcage-labels137 ribcage817)))))) (anti-mark141 (lambda (w821) (make-wrap128 (cons #f (wrap-marks129 w821)) (cons (quote shift) (wrap-subst130 w821))))) (set-ribcage-labels!140 (lambda (x822 update823) (vector-set! x822 3 update823))) (set-ribcage-marks!139 (lambda (x824 update825) (vector-set! x824 2 update825))) (set-ribcage-symnames!138 (lambda (x826 update827) (vector-set! x826 1 update827))) (ribcage-labels137 (lambda (x828) (vector-ref x828 3))) (ribcage-marks136 (lambda (x829) (vector-ref x829 2))) (ribcage-symnames135 (lambda (x830) (vector-ref x830 1))) (ribcage?134 (lambda (x831) (and (vector? x831) (= (vector-length x831) 4) (eq? (vector-ref x831 0) (quote ribcage))))) (make-ribcage133 (lambda (symnames832 marks833 labels834) (vector (quote ribcage) symnames832 marks833 labels834))) (gen-labels132 (lambda (ls835) (if (null? ls835) (quote ()) (cons (gen-label131) (gen-labels132 (cdr ls835)))))) (gen-label131 (lambda () (string #\i))) (wrap-subst130 cdr) (wrap-marks129 car) (make-wrap128 cons) (id-sym-name&marks127 (lambda (x836 w837) (if (syntax-object?110 x836) (values (let ((e838 (syntax-object-expression111 x836))) (if (annotation? e838) (annotation-expression e838) e838)) (join-marks146 (wrap-marks129 w837) (wrap-marks129 (syntax-object-wrap112 x836)))) (values (let ((e839 x836)) (if (annotation? e839) (annotation-expression e839) e839)) (wrap-marks129 w837))))) (id?126 (lambda (x840) (cond ((symbol? x840) #t) ((syntax-object?110 x840) (symbol? (let ((e841 (syntax-object-expression111 x840))) (if (annotation? e841) (annotation-expression e841) e841)))) ((annotation? x840) (symbol? (annotation-expression x840))) (else #f)))) (nonsymbol-id?125 (lambda (x842) (and (syntax-object?110 x842) (symbol? (let ((e843 (syntax-object-expression111 x842))) (if (annotation? e843) (annotation-expression e843) e843)))))) (global-extend124 (lambda (type844 sym845 val846) (put-global-definition-hook100 sym845 (cons type844 val846)))) (lookup123 (lambda (x847 r848 mod849) (cond ((assq x847 r848) => cdr) ((symbol? x847) (or (get-global-definition-hook102 x847 mod849) (quote (global)))) (else (quote (displaced-lexical)))))) (macros-only-env122 (lambda (r850) (if (null? r850) (quote ()) (let ((a851 (car r850))) (if (eq? (cadr a851) (quote macro)) (cons a851 (macros-only-env122 (cdr r850))) (macros-only-env122 (cdr r850))))))) (extend-var-env121 (lambda (labels852 vars853 r854) (if (null? labels852) r854 (extend-var-env121 (cdr labels852) (cdr vars853) (cons (cons (car labels852) (cons (quote lexical) (car vars853))) r854))))) (extend-env120 (lambda (labels855 bindings856 r857) (if (null? labels855) r857 (extend-env120 (cdr labels855) (cdr bindings856) (cons (cons (car labels855) (car bindings856)) r857))))) (binding-value119 cdr) (binding-type118 car) (source-annotation117 (lambda (x858) (cond ((annotation? x858) (annotation-source x858)) ((syntax-object?110 x858) (source-annotation117 (syntax-object-expression111 x858))) (else #f)))) (set-syntax-object-module!116 (lambda (x859 update860) (vector-set! x859 3 update860))) (set-syntax-object-wrap!115 (lambda (x861 update862) (vector-set! x861 2 update862))) (set-syntax-object-expression!114 (lambda (x863 update864) (vector-set! x863 1 update864))) (syntax-object-module113 (lambda (x865) (vector-ref x865 3))) (syntax-object-wrap112 (lambda (x866) (vector-ref x866 2))) (syntax-object-expression111 (lambda (x867) (vector-ref x867 1))) (syntax-object?110 (lambda (x868) (and (vector? x868) (= (vector-length x868) 4) (eq? (vector-ref x868 0) (quote syntax-object))))) (make-syntax-object109 (lambda (expression869 wrap870 module871) (vector (quote syntax-object) expression869 wrap870 module871))) (build-letrec108 (lambda (src872 vars873 val-exps874 body-exp875) (if (null? vars873) (build-annotated103 src872 body-exp875) (build-annotated103 src872 (list (quote letrec) (map list vars873 val-exps874) body-exp875))))) (build-named-let107 (lambda (src876 vars877 val-exps878 body-exp879) (if (null? vars877) (build-annotated103 src876 body-exp879) (build-annotated103 src876 (list (quote let) (car vars877) (map list (cdr vars877) val-exps878) body-exp879))))) (build-let106 (lambda (src880 vars881 val-exps882 body-exp883) (if (null? vars881) (build-annotated103 src880 body-exp883) (build-annotated103 src880 (list (quote let) (map list vars881 val-exps882) body-exp883))))) (build-sequence105 (lambda (src884 exps885) (if (null? (cdr exps885)) (build-annotated103 src884 (car exps885)) (build-annotated103 src884 (cons (quote begin) exps885))))) (build-data104 (lambda (src886 exp887) (if (and (self-evaluating? exp887) (not (vector? exp887))) (build-annotated103 src886 exp887) (build-annotated103 src886 (list (quote quote) exp887))))) (build-annotated103 (lambda (src888 exp889) (if (and src888 (not (annotation? exp889))) (make-annotation exp889 src888 #t) exp889))) (get-global-definition-hook102 (lambda (symbol890 module891) (let ((module892 (if module891 (resolve-module (cdr module891)) (let ((mod893 (current-module))) (begin (if mod893 (warn "wha" symbol890)) mod893))))) (let ((v894 (module-variable module892 symbol890))) (and v894 (object-property v894 (quote *sc-expander*))))))) (remove-global-definition-hook101 (lambda (symbol895) (let ((module896 (current-module))) (let ((v897 (module-local-variable module896 symbol895))) (if v897 (let ((p898 (assq (quote *sc-expander*) (object-properties v897)))) (set-object-properties! v897 (delq p898 (object-properties v897))))))))) (put-global-definition-hook100 (lambda (symbol899 binding900) (let ((module901 (current-module))) (let ((v902 (or (module-variable module901 symbol899) (let ((v903 (make-variable (gensym)))) (begin (module-add! module901 symbol899 v903) v903))))) (begin (if (not (variable-bound? v902)) (variable-set! v902 (gensym))) (set-object-property! v902 (quote *sc-expander*) binding900)))))) (error-hook99 (lambda (who904 why905 what906) (error who904 "~a ~s" why905 what906))) (local-eval-hook98 (lambda (x907 mod908) (primitive-eval (list noexpand92 x907)))) (top-level-eval-hook97 (lambda (x909 mod910) (primitive-eval (list noexpand92 x909)))) (fx<96 <) (fx=95 =) (fx-94 -) (fx+93 +) (noexpand92 "noexpand")) (begin (global-extend124 (quote local-syntax) (quote letrec-syntax) #t) (global-extend124 (quote local-syntax) (quote let-syntax) #f) (global-extend124 (quote core) (quote fluid-let-syntax) (lambda (e911 r912 w913 s914 mod915) ((lambda (tmp916) ((lambda (tmp917) (if (if tmp917 (apply (lambda (_918 var919 val920 e1921 e2922) (valid-bound-ids?151 var919)) tmp917) #f) (apply (lambda (_924 var925 val926 e1927 e2928) (let ((names929 (map (lambda (x930) (id-var-name148 x930 w913)) var925))) (begin (for-each (lambda (id932 n933) (let ((t934 (binding-type118 (lookup123 n933 r912 mod915)))) (if (memv t934 (quote (displaced-lexical))) (syntax-error (source-wrap155 id932 w913 s914 mod915) "identifier out of context")))) var925 names929) (chi-body166 (cons e1927 e2928) (source-wrap155 e911 w913 s914 mod915) (extend-env120 names929 (let ((trans-r937 (macros-only-env122 r912))) (map (lambda (x938) (cons (quote macro) (eval-local-transformer169 (chi162 x938 trans-r937 w913 mod915) mod915))) val926)) r912) w913 mod915)))) tmp917) ((lambda (_940) (syntax-error (source-wrap155 e911 w913 s914 mod915))) tmp916))) (syntax-dispatch tmp916 (quote (any #(each (any any)) any . each-any))))) e911))) (global-extend124 (quote core) (quote quote) (lambda (e941 r942 w943 s944 mod945) ((lambda (tmp946) ((lambda (tmp947) (if tmp947 (apply (lambda (_948 e949) (build-data104 s944 (strip173 e949 w943))) tmp947) ((lambda (_950) (syntax-error (source-wrap155 e941 w943 s944 mod945))) tmp946))) (syntax-dispatch tmp946 (quote (any any))))) e941))) (global-extend124 (quote core) (quote syntax) (letrec ((regen958 (lambda (x959) (let ((t960 (car x959))) (if (memv t960 (quote (ref))) (build-annotated103 #f (cadr x959)) (if (memv t960 (quote (primitive))) (build-annotated103 #f (cadr x959)) (if (memv t960 (quote (quote))) (build-data104 #f (cadr x959)) (if (memv t960 (quote (lambda))) (build-annotated103 #f (list (quote lambda) (cadr x959) (regen958 (caddr x959)))) (if (memv t960 (quote (map))) (let ((ls961 (map regen958 (cdr x959)))) (build-annotated103 #f (cons (if (fx=95 (length ls961) 2) (build-annotated103 #f (quote map)) (build-annotated103 #f (quote map))) ls961))) (build-annotated103 #f (cons (build-annotated103 #f (car x959)) (map regen958 (cdr x959)))))))))))) (gen-vector957 (lambda (x962) (cond ((eq? (car x962) (quote list)) (cons (quote vector) (cdr x962))) ((eq? (car x962) (quote quote)) (list (quote quote) (list->vector (cadr x962)))) (else (list (quote list->vector) x962))))) (gen-append956 (lambda (x963 y964) (if (equal? y964 (quote (quote ()))) x963 (list (quote append) x963 y964)))) (gen-cons955 (lambda (x965 y966) (let ((t967 (car y966))) (if (memv t967 (quote (quote))) (if (eq? (car x965) (quote quote)) (list (quote quote) (cons (cadr x965) (cadr y966))) (if (eq? (cadr y966) (quote ())) (list (quote list) x965) (list (quote cons) x965 y966))) (if (memv t967 (quote (list))) (cons (quote list) (cons x965 (cdr y966))) (list (quote cons) x965 y966)))))) (gen-map954 (lambda (e968 map-env969) (let ((formals970 (map cdr map-env969)) (actuals971 (map (lambda (x972) (list (quote ref) (car x972))) map-env969))) (cond ((eq? (car e968) (quote ref)) (car actuals971)) ((andmap (lambda (x973) (and (eq? (car x973) (quote ref)) (memq (cadr x973) formals970))) (cdr e968)) (cons (quote map) (cons (list (quote primitive) (car e968)) (map (let ((r974 (map cons formals970 actuals971))) (lambda (x975) (cdr (assq (cadr x975) r974)))) (cdr e968))))) (else (cons (quote map) (cons (list (quote lambda) formals970 e968) actuals971))))))) (gen-mappend953 (lambda (e976 map-env977) (list (quote apply) (quote (primitive append)) (gen-map954 e976 map-env977)))) (gen-ref952 (lambda (src978 var979 level980 maps981) (if (fx=95 level980 0) (values var979 maps981) (if (null? maps981) (syntax-error src978 "missing ellipsis in syntax form") (call-with-values (lambda () (gen-ref952 src978 var979 (fx-94 level980 1) (cdr maps981))) (lambda (outer-var982 outer-maps983) (let ((b984 (assq outer-var982 (car maps981)))) (if b984 (values (cdr b984) maps981) (let ((inner-var985 (gen-var174 (quote tmp)))) (values inner-var985 (cons (cons (cons outer-var982 inner-var985) (car maps981)) outer-maps983))))))))))) (gen-syntax951 (lambda (src986 e987 r988 maps989 ellipsis?990 mod991) (if (id?126 e987) (let ((label992 (id-var-name148 e987 (quote (()))))) (let ((b993 (lookup123 label992 r988 mod991))) (if (eq? (binding-type118 b993) (quote syntax)) (call-with-values (lambda () (let ((var.lev994 (binding-value119 b993))) (gen-ref952 src986 (car var.lev994) (cdr var.lev994) maps989))) (lambda (var995 maps996) (values (list (quote ref) var995) maps996))) (if (ellipsis?990 e987) (syntax-error src986 "misplaced ellipsis in syntax form") (values (list (quote quote) e987) maps989))))) ((lambda (tmp997) ((lambda (tmp998) (if (if tmp998 (apply (lambda (dots999 e1000) (ellipsis?990 dots999)) tmp998) #f) (apply (lambda (dots1001 e1002) (gen-syntax951 src986 e1002 r988 maps989 (lambda (x1003) #f) mod991)) tmp998) ((lambda (tmp1004) (if (if tmp1004 (apply (lambda (x1005 dots1006 y1007) (ellipsis?990 dots1006)) tmp1004) #f) (apply (lambda (x1008 dots1009 y1010) (let f1011 ((y1012 y1010) (k1013 (lambda (maps1014) (call-with-values (lambda () (gen-syntax951 src986 x1008 r988 (cons (quote ()) maps1014) ellipsis?990 mod991)) (lambda (x1015 maps1016) (if (null? (car maps1016)) (syntax-error src986 "extra ellipsis in syntax form") (values (gen-map954 x1015 (car maps1016)) (cdr maps1016)))))))) ((lambda (tmp1017) ((lambda (tmp1018) (if (if tmp1018 (apply (lambda (dots1019 y1020) (ellipsis?990 dots1019)) tmp1018) #f) (apply (lambda (dots1021 y1022) (f1011 y1022 (lambda (maps1023) (call-with-values (lambda () (k1013 (cons (quote ()) maps1023))) (lambda (x1024 maps1025) (if (null? (car maps1025)) (syntax-error src986 "extra ellipsis in syntax form") (values (gen-mappend953 x1024 (car maps1025)) (cdr maps1025)))))))) tmp1018) ((lambda (_1026) (call-with-values (lambda () (gen-syntax951 src986 y1012 r988 maps989 ellipsis?990 mod991)) (lambda (y1027 maps1028) (call-with-values (lambda () (k1013 maps1028)) (lambda (x1029 maps1030) (values (gen-append956 x1029 y1027) maps1030)))))) tmp1017))) (syntax-dispatch tmp1017 (quote (any . any))))) y1012))) tmp1004) ((lambda (tmp1031) (if tmp1031 (apply (lambda (x1032 y1033) (call-with-values (lambda () (gen-syntax951 src986 x1032 r988 maps989 ellipsis?990 mod991)) (lambda (x1034 maps1035) (call-with-values (lambda () (gen-syntax951 src986 y1033 r988 maps1035 ellipsis?990 mod991)) (lambda (y1036 maps1037) (values (gen-cons955 x1034 y1036) maps1037)))))) tmp1031) ((lambda (tmp1038) (if tmp1038 (apply (lambda (e11039 e21040) (call-with-values (lambda () (gen-syntax951 src986 (cons e11039 e21040) r988 maps989 ellipsis?990 mod991)) (lambda (e1042 maps1043) (values (gen-vector957 e1042) maps1043)))) tmp1038) ((lambda (_1044) (values (list (quote quote) e987) maps989)) tmp997))) (syntax-dispatch tmp997 (quote #(vector (any . each-any))))))) (syntax-dispatch tmp997 (quote (any . any)))))) (syntax-dispatch tmp997 (quote (any any . any)))))) (syntax-dispatch tmp997 (quote (any any))))) e987))))) (lambda (e1045 r1046 w1047 s1048 mod1049) (let ((e1050 (source-wrap155 e1045 w1047 s1048 mod1049))) ((lambda (tmp1051) ((lambda (tmp1052) (if tmp1052 (apply (lambda (_1053 x1054) (call-with-values (lambda () (gen-syntax951 e1050 x1054 r1046 (quote ()) ellipsis?171 mod1049)) (lambda (e1055 maps1056) (regen958 e1055)))) tmp1052) ((lambda (_1057) (syntax-error e1050)) tmp1051))) (syntax-dispatch tmp1051 (quote (any any))))) e1050))))) (global-extend124 (quote core) (quote lambda) (lambda (e1058 r1059 w1060 s1061 mod1062) ((lambda (tmp1063) ((lambda (tmp1064) (if tmp1064 (apply (lambda (_1065 c1066) (chi-lambda-clause167 (source-wrap155 e1058 w1060 s1061 mod1062) #f c1066 r1059 w1060 mod1062 (lambda (vars1067 docstring1068 body1069) (build-annotated103 s1061 (cons (quote lambda) (cons vars1067 (append (if docstring1068 (list docstring1068) (quote ())) (list body1069)))))))) tmp1064) (syntax-error tmp1063))) (syntax-dispatch tmp1063 (quote (any . any))))) e1058))) (global-extend124 (quote core) (quote let) (letrec ((chi-let1070 (lambda (e1071 r1072 w1073 s1074 mod1075 constructor1076 ids1077 vals1078 exps1079) (if (not (valid-bound-ids?151 ids1077)) (syntax-error e1071 "duplicate bound variable in") (let ((labels1080 (gen-labels132 ids1077)) (new-vars1081 (map gen-var174 ids1077))) (let ((nw1082 (make-binding-wrap143 ids1077 labels1080 w1073)) (nr1083 (extend-var-env121 labels1080 new-vars1081 r1072))) (constructor1076 s1074 new-vars1081 (map (lambda (x1084) (chi162 x1084 r1072 w1073 mod1075)) vals1078) (chi-body166 exps1079 (source-wrap155 e1071 nw1082 s1074 mod1075) nr1083 nw1082 mod1075)))))))) (lambda (e1085 r1086 w1087 s1088 mod1089) ((lambda (tmp1090) ((lambda (tmp1091) (if tmp1091 (apply (lambda (_1092 id1093 val1094 e11095 e21096) (chi-let1070 e1085 r1086 w1087 s1088 mod1089 build-let106 id1093 val1094 (cons e11095 e21096))) tmp1091) ((lambda (tmp1100) (if (if tmp1100 (apply (lambda (_1101 f1102 id1103 val1104 e11105 e21106) (id?126 f1102)) tmp1100) #f) (apply (lambda (_1107 f1108 id1109 val1110 e11111 e21112) (chi-let1070 e1085 r1086 w1087 s1088 mod1089 build-named-let107 (cons f1108 id1109) val1110 (cons e11111 e21112))) tmp1100) ((lambda (_1116) (syntax-error (source-wrap155 e1085 w1087 s1088 mod1089))) tmp1090))) (syntax-dispatch tmp1090 (quote (any any #(each (any any)) any . each-any)))))) (syntax-dispatch tmp1090 (quote (any #(each (any any)) any . each-any))))) e1085)))) (global-extend124 (quote core) (quote letrec) (lambda (e1117 r1118 w1119 s1120 mod1121) ((lambda (tmp1122) ((lambda (tmp1123) (if tmp1123 (apply (lambda (_1124 id1125 val1126 e11127 e21128) (let ((ids1129 id1125)) (if (not (valid-bound-ids?151 ids1129)) (syntax-error e1117 "duplicate bound variable in") (let ((labels1131 (gen-labels132 ids1129)) (new-vars1132 (map gen-var174 ids1129))) (let ((w1133 (make-binding-wrap143 ids1129 labels1131 w1119)) (r1134 (extend-var-env121 labels1131 new-vars1132 r1118))) (build-letrec108 s1120 new-vars1132 (map (lambda (x1135) (chi162 x1135 r1134 w1133 mod1121)) val1126) (chi-body166 (cons e11127 e21128) (source-wrap155 e1117 w1133 s1120 mod1121) r1134 w1133 mod1121))))))) tmp1123) ((lambda (_1138) (syntax-error (source-wrap155 e1117 w1119 s1120 mod1121))) tmp1122))) (syntax-dispatch tmp1122 (quote (any #(each (any any)) any . each-any))))) e1117))) (global-extend124 (quote core) (quote set!) (lambda (e1139 r1140 w1141 s1142 mod1143) ((lambda (tmp1144) ((lambda (tmp1145) (if (if tmp1145 (apply (lambda (_1146 id1147 val1148) (id?126 id1147)) tmp1145) #f) (apply (lambda (_1149 id1150 val1151) (let ((val1152 (chi162 val1151 r1140 w1141 mod1143)) (n1153 (id-var-name148 id1150 w1141))) (let ((b1154 (lookup123 n1153 r1140 mod1143))) (let ((t1155 (binding-type118 b1154))) (if (memv t1155 (quote (lexical))) (build-annotated103 s1142 (list (quote set!) (binding-value119 b1154) val1152)) (if (memv t1155 (quote (global))) (build-annotated103 s1142 (list (quote set!) (if mod1143 (make-module-ref (cdr mod1143) n1153 (car mod1143)) (make-module-ref mod1143 n1153 (quote bare))) val1152)) (if (memv t1155 (quote (displaced-lexical))) (syntax-error (wrap154 id1150 w1141 mod1143) "identifier out of context") (syntax-error (source-wrap155 e1139 w1141 s1142 mod1143))))))))) tmp1145) ((lambda (tmp1156) (if tmp1156 (apply (lambda (_1157 head1158 tail1159 val1160) (call-with-values (lambda () (syntax-type160 head1158 r1140 (quote (())) #f #f mod1143)) (lambda (type1161 value1162 ee1163 ww1164 ss1165 modmod1166) (let ((t1167 type1161)) (if (memv t1167 (quote (module-ref))) (let ((val1168 (chi162 val1160 r1140 w1141 mod1143))) (call-with-values (lambda () (value1162 (cons head1158 tail1159))) (lambda (id1170 mod1171) (build-annotated103 s1142 (list (quote set!) (if mod1171 (make-module-ref (cdr mod1171) id1170 (car mod1171)) (make-module-ref mod1171 id1170 (quote bare))) val1168))))) (build-annotated103 s1142 (cons (chi162 (list (quote #(syntax-object setter ((top) #(ribcage () () ()) #(ribcage #(t) #(("m" top)) #("i")) #(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 strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook remove-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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) ((top)) ("i"))) (hygiene guile))) head1158) r1140 w1141 mod1143) (map (lambda (e1172) (chi162 e1172 r1140 w1141 mod1143)) (append tail1159 (list val1160)))))))))) tmp1156) ((lambda (_1174) (syntax-error (source-wrap155 e1139 w1141 s1142 mod1143))) tmp1144))) (syntax-dispatch tmp1144 (quote (any (any . each-any) any)))))) (syntax-dispatch tmp1144 (quote (any any any))))) e1139))) (global-extend124 (quote module-ref) (quote @) (lambda (e1175) ((lambda (tmp1176) ((lambda (tmp1177) (if (if tmp1177 (apply (lambda (_1178 mod1179 id1180) (and (andmap id?126 mod1179) (id?126 id1180))) tmp1177) #f) (apply (lambda (_1182 mod1183 id1184) (values (syntax-object->datum id1184) (syntax-object->datum (cons (quote #(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 strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook remove-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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) ((top)) ("i"))) (hygiene guile))) mod1183)))) tmp1177) (syntax-error tmp1176))) (syntax-dispatch tmp1176 (quote (any each-any any))))) e1175))) (global-extend124 (quote module-ref) (quote @@) (lambda (e1186) ((lambda (tmp1187) ((lambda (tmp1188) (if (if tmp1188 (apply (lambda (_1189 mod1190 id1191) (and (andmap id?126 mod1190) (id?126 id1191))) tmp1188) #f) (apply (lambda (_1193 mod1194 id1195) (values (syntax-object->datum id1195) (syntax-object->datum (cons (quote #(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 strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook remove-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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) ((top)) ("i"))) (hygiene guile))) mod1194)))) tmp1188) (syntax-error tmp1187))) (syntax-dispatch tmp1187 (quote (any each-any any))))) e1186))) (global-extend124 (quote begin) (quote begin) (quote ())) (global-extend124 (quote define) (quote define) (quote ())) (global-extend124 (quote define-syntax) (quote define-syntax) (quote ())) (global-extend124 (quote eval-when) (quote eval-when) (quote ())) (global-extend124 (quote core) (quote syntax-case) (letrec ((gen-syntax-case1200 (lambda (x1201 keys1202 clauses1203 r1204 mod1205) (if (null? clauses1203) (build-annotated103 #f (list (build-annotated103 #f (quote syntax-error)) x1201)) ((lambda (tmp1206) ((lambda (tmp1207) (if tmp1207 (apply (lambda (pat1208 exp1209) (if (and (id?126 pat1208) (andmap (lambda (x1210) (not (free-id=?149 pat1208 x1210))) (cons (quote #(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 strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 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 unannotate 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 build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook remove-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook fx< fx= fx- fx+ 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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) ((top)) ("i"))) (hygiene guile))) keys1202))) (let ((labels1211 (list (gen-label131))) (var1212 (gen-var174 pat1208))) (build-annotated103 #f (list (build-annotated103 #f (list (quote lambda) (list var1212) (chi162 exp1209 (extend-env120 labels1211 (list (cons (quote syntax) (cons var1212 0))) r1204) (make-binding-wrap143 (list pat1208) labels1211 (quote (()))) mod1205))) x1201))) (gen-clause1199 x1201 keys1202 (cdr clauses1203) r1204 pat1208 #t exp1209 mod1205))) tmp1207) ((lambda (tmp1213) (if tmp1213 (apply (lambda (pat1214 fender1215 exp1216) (gen-clause1199 x1201 keys1202 (cdr clauses1203) r1204 pat1214 fender1215 exp1216 mod1205)) tmp1213) ((lambda (_1217) (syntax-error (car clauses1203) "invalid syntax-case clause")) tmp1206))) (syntax-dispatch tmp1206 (quote (any any any)))))) (syntax-dispatch tmp1206 (quote (any any))))) (car clauses1203))))) (gen-clause1199 (lambda (x1218 keys1219 clauses1220 r1221 pat1222 fender1223 exp1224 mod1225) (call-with-values (lambda () (convert-pattern1197 pat1222 keys1219)) (lambda (p1226 pvars1227) (cond ((not (distinct-bound-ids?152 (map car pvars1227))) (syntax-error pat1222 "duplicate pattern variable in syntax-case pattern")) ((not (andmap (lambda (x1228) (not (ellipsis?171 (car x1228)))) pvars1227)) (syntax-error pat1222 "misplaced ellipsis in syntax-case pattern")) (else (let ((y1229 (gen-var174 (quote tmp)))) (build-annotated103 #f (list (build-annotated103 #f (list (quote lambda) (list y1229) (let ((y1230 (build-annotated103 #f y1229))) (build-annotated103 #f (list (quote if) ((lambda (tmp1231) ((lambda (tmp1232) (if tmp1232 (apply (lambda () y1230) tmp1232) ((lambda (_1233) (build-annotated103 #f (list (quote if) y1230 (build-dispatch-call1198 pvars1227 fender1223 y1230 r1221 mod1225) (build-data104 #f #f)))) tmp1231))) (syntax-dispatch tmp1231 (quote #(atom #t))))) fender1223) (build-dispatch-call1198 pvars1227 exp1224 y1230 r1221 mod1225) (gen-syntax-case1200 x1218 keys1219 clauses1220 r1221 mod1225)))))) (if (eq? p1226 (quote any)) (build-annotated103 #f (list (build-annotated103 #f (quote list)) x1218)) (build-annotated103 #f (list (build-annotated103 #f (quote syntax-dispatch)) x1218 (build-data104 #f p1226))))))))))))) (build-dispatch-call1198 (lambda (pvars1234 exp1235 y1236 r1237 mod1238) (let ((ids1239 (map car pvars1234)) (levels1240 (map cdr pvars1234))) (let ((labels1241 (gen-labels132 ids1239)) (new-vars1242 (map gen-var174 ids1239))) (build-annotated103 #f (list (build-annotated103 #f (quote apply)) (build-annotated103 #f (list (quote lambda) new-vars1242 (chi162 exp1235 (extend-env120 labels1241 (map (lambda (var1243 level1244) (cons (quote syntax) (cons var1243 level1244))) new-vars1242 (map cdr pvars1234)) r1237) (make-binding-wrap143 ids1239 labels1241 (quote (()))) mod1238))) y1236)))))) (convert-pattern1197 (lambda (pattern1245 keys1246) (let cvt1247 ((p1248 pattern1245) (n1249 0) (ids1250 (quote ()))) (if (id?126 p1248) (if (bound-id-member?153 p1248 keys1246) (values (vector (quote free-id) p1248) ids1250) (values (quote any) (cons (cons p1248 n1249) ids1250))) ((lambda (tmp1251) ((lambda (tmp1252) (if (if tmp1252 (apply (lambda (x1253 dots1254) (ellipsis?171 dots1254)) tmp1252) #f) (apply (lambda (x1255 dots1256) (call-with-values (lambda () (cvt1247 x1255 (fx+93 n1249 1) ids1250)) (lambda (p1257 ids1258) (values (if (eq? p1257 (quote any)) (quote each-any) (vector (quote each) p1257)) ids1258)))) tmp1252) ((lambda (tmp1259) (if tmp1259 (apply (lambda (x1260 y1261) (call-with-values (lambda () (cvt1247 y1261 n1249 ids1250)) (lambda (y1262 ids1263) (call-with-values (lambda () (cvt1247 x1260 n1249 ids1263)) (lambda (x1264 ids1265) (values (cons x1264 y1262) ids1265)))))) tmp1259) ((lambda (tmp1266) (if tmp1266 (apply (lambda () (values (quote ()) ids1250)) tmp1266) ((lambda (tmp1267) (if tmp1267 (apply (lambda (x1268) (call-with-values (lambda () (cvt1247 x1268 n1249 ids1250)) (lambda (p1270 ids1271) (values (vector (quote vector) p1270) ids1271)))) tmp1267) ((lambda (x1272) (values (vector (quote atom) (strip173 p1248 (quote (())))) ids1250)) tmp1251))) (syntax-dispatch tmp1251 (quote #(vector each-any)))))) (syntax-dispatch tmp1251 (quote ()))))) (syntax-dispatch tmp1251 (quote (any . any)))))) (syntax-dispatch tmp1251 (quote (any any))))) p1248)))))) (lambda (e1273 r1274 w1275 s1276 mod1277) (let ((e1278 (source-wrap155 e1273 w1275 s1276 mod1277))) ((lambda (tmp1279) ((lambda (tmp1280) (if tmp1280 (apply (lambda (_1281 val1282 key1283 m1284) (if (andmap (lambda (x1285) (and (id?126 x1285) (not (ellipsis?171 x1285)))) key1283) (let ((x1287 (gen-var174 (quote tmp)))) (build-annotated103 s1276 (list (build-annotated103 #f (list (quote lambda) (list x1287) (gen-syntax-case1200 (build-annotated103 #f x1287) key1283 m1284 r1274 mod1277))) (chi162 val1282 r1274 (quote (())) mod1277)))) (syntax-error e1278 "invalid literals list in"))) tmp1280) (syntax-error tmp1279))) (syntax-dispatch tmp1279 (quote (any any each-any . each-any))))) e1278))))) (set! sc-expand (let ((m1290 (quote e)) (esew1291 (quote (eval)))) (lambda (x1292) (if (and (pair? x1292) (equal? (car x1292) noexpand92)) (cadr x1292) (chi-top161 x1292 (quote ()) (quote ((top))) m1290 esew1291 (cons (quote hygiene) (module-name (current-module)))))))) (set! sc-expand3 (let ((m1293 (quote e)) (esew1294 (quote (eval)))) (lambda (x1296 . rest1295) (if (and (pair? x1296) (equal? (car x1296) noexpand92)) (cadr x1296) (chi-top161 x1296 (quote ()) (quote ((top))) (if (null? rest1295) m1293 (car rest1295)) (if (or (null? rest1295) (null? (cdr rest1295))) esew1294 (cadr rest1295)) (cons (quote hygiene) (module-name (current-module)))))))) (set! identifier? (lambda (x1297) (nonsymbol-id?125 x1297))) (set! datum->syntax-object (lambda (id1298 datum1299) (make-syntax-object109 datum1299 (syntax-object-wrap112 id1298) #f))) (set! syntax-object->datum (lambda (x1300) (strip173 x1300 (quote (()))))) (set! generate-temporaries (lambda (ls1301) (begin (let ((x1302 ls1301)) (if (not (list? x1302)) (error-hook99 (quote generate-temporaries) "invalid argument" x1302))) (map (lambda (x1303) (wrap154 (gensym) (quote ((top))) #f)) ls1301)))) (set! free-identifier=? (lambda (x1304 y1305) (begin (let ((x1306 x1304)) (if (not (nonsymbol-id?125 x1306)) (error-hook99 (quote free-identifier=?) "invalid argument" x1306))) (let ((x1307 y1305)) (if (not (nonsymbol-id?125 x1307)) (error-hook99 (quote free-identifier=?) "invalid argument" x1307))) (free-id=?149 x1304 y1305)))) (set! bound-identifier=? (lambda (x1308 y1309) (begin (let ((x1310 x1308)) (if (not (nonsymbol-id?125 x1310)) (error-hook99 (quote bound-identifier=?) "invalid argument" x1310))) (let ((x1311 y1309)) (if (not (nonsymbol-id?125 x1311)) (error-hook99 (quote bound-identifier=?) "invalid argument" x1311))) (bound-id=?150 x1308 y1309)))) (set! syntax-error (lambda (object1313 . messages1312) (begin (for-each (lambda (x1314) (let ((x1315 x1314)) (if (not (string? x1315)) (error-hook99 (quote syntax-error) "invalid argument" x1315)))) messages1312) (let ((message1316 (if (null? messages1312) "invalid syntax" (apply string-append messages1312)))) (error-hook99 #f message1316 (strip173 object1313 (quote (())))))))) (set! install-global-transformer (lambda (sym1317 v1318) (begin (let ((x1319 sym1317)) (if (not (symbol? x1319)) (error-hook99 (quote define-syntax) "invalid argument" x1319))) (let ((x1320 v1318)) (if (not (procedure? x1320)) (error-hook99 (quote define-syntax) "invalid argument" x1320))) (global-extend124 (quote macro) sym1317 v1318)))) (letrec ((match1325 (lambda (e1326 p1327 w1328 r1329 mod1330) (cond ((not r1329) #f) ((eq? p1327 (quote any)) (cons (wrap154 e1326 w1328 mod1330) r1329)) ((syntax-object?110 e1326) (match*1324 (let ((e1331 (syntax-object-expression111 e1326))) (if (annotation? e1331) (annotation-expression e1331) e1331)) p1327 (join-wraps145 w1328 (syntax-object-wrap112 e1326)) r1329 (syntax-object-module113 e1326))) (else (match*1324 (let ((e1332 e1326)) (if (annotation? e1332) (annotation-expression e1332) e1332)) p1327 w1328 r1329 mod1330))))) (match*1324 (lambda (e1333 p1334 w1335 r1336 mod1337) (cond ((null? p1334) (and (null? e1333) r1336)) ((pair? p1334) (and (pair? e1333) (match1325 (car e1333) (car p1334) w1335 (match1325 (cdr e1333) (cdr p1334) w1335 r1336 mod1337) mod1337))) ((eq? p1334 (quote each-any)) (let ((l1338 (match-each-any1322 e1333 w1335 mod1337))) (and l1338 (cons l1338 r1336)))) (else (let ((t1339 (vector-ref p1334 0))) (if (memv t1339 (quote (each))) (if (null? e1333) (match-empty1323 (vector-ref p1334 1) r1336) (let ((l1340 (match-each1321 e1333 (vector-ref p1334 1) w1335 mod1337))) (and l1340 (let collect1341 ((l1342 l1340)) (if (null? (car l1342)) r1336 (cons (map car l1342) (collect1341 (map cdr l1342)))))))) (if (memv t1339 (quote (free-id))) (and (id?126 e1333) (free-id=?149 (wrap154 e1333 w1335 mod1337) (vector-ref p1334 1)) r1336) (if (memv t1339 (quote (atom))) (and (equal? (vector-ref p1334 1) (strip173 e1333 w1335)) r1336) (if (memv t1339 (quote (vector))) (and (vector? e1333) (match1325 (vector->list e1333) (vector-ref p1334 1) w1335 r1336 mod1337))))))))))) (match-empty1323 (lambda (p1343 r1344) (cond ((null? p1343) r1344) ((eq? p1343 (quote any)) (cons (quote ()) r1344)) ((pair? p1343) (match-empty1323 (car p1343) (match-empty1323 (cdr p1343) r1344))) ((eq? p1343 (quote each-any)) (cons (quote ()) r1344)) (else (let ((t1345 (vector-ref p1343 0))) (if (memv t1345 (quote (each))) (match-empty1323 (vector-ref p1343 1) r1344) (if (memv t1345 (quote (free-id atom))) r1344 (if (memv t1345 (quote (vector))) (match-empty1323 (vector-ref p1343 1) r1344))))))))) (match-each-any1322 (lambda (e1346 w1347 mod1348) (cond ((annotation? e1346) (match-each-any1322 (annotation-expression e1346) w1347 mod1348)) ((pair? e1346) (let ((l1349 (match-each-any1322 (cdr e1346) w1347 mod1348))) (and l1349 (cons (wrap154 (car e1346) w1347 mod1348) l1349)))) ((null? e1346) (quote ())) ((syntax-object?110 e1346) (match-each-any1322 (syntax-object-expression111 e1346) (join-wraps145 w1347 (syntax-object-wrap112 e1346)) mod1348)) (else #f)))) (match-each1321 (lambda (e1350 p1351 w1352 mod1353) (cond ((annotation? e1350) (match-each1321 (annotation-expression e1350) p1351 w1352 mod1353)) ((pair? e1350) (let ((first1354 (match1325 (car e1350) p1351 w1352 (quote ()) mod1353))) (and first1354 (let ((rest1355 (match-each1321 (cdr e1350) p1351 w1352 mod1353))) (and rest1355 (cons first1354 rest1355)))))) ((null? e1350) (quote ())) ((syntax-object?110 e1350) (match-each1321 (syntax-object-expression111 e1350) p1351 (join-wraps145 w1352 (syntax-object-wrap112 e1350)) (syntax-object-module113 e1350))) (else #f))))) (begin (set! syntax-dispatch (lambda (e1356 p1357) (cond ((eq? p1357 (quote any)) (list e1356)) ((syntax-object?110 e1356) (match*1324 (let ((e1358 (syntax-object-expression111 e1356))) (if (annotation? e1358) (annotation-expression e1358) e1358)) p1357 (syntax-object-wrap112 e1356) (quote ()) (syntax-object-module113 e1356))) (else (match*1324 (let ((e1359 e1356)) (if (annotation? e1359) (annotation-expression e1359) e1359)) p1357 (quote (())) (quote ()) #f))))) (set! sc-chi chi162)))))
4(install-global-transformer (quote with-syntax) (lambda (x1360) ((lambda (tmp1361) ((lambda (tmp1362) (if tmp1362 (apply (lambda (_1363 e11364 e21365) (cons (quote #(syntax-object begin ((top) #(ribcage #(_ e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (cons e11364 e21365))) tmp1362) ((lambda (tmp1367) (if tmp1367 (apply (lambda (_1368 out1369 in1370 e11371 e21372) (list (quote #(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))) in1370 (quote ()) (list out1369 (cons (quote #(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 e11371 e21372))))) tmp1367) ((lambda (tmp1374) (if tmp1374 (apply (lambda (_1375 out1376 in1377 e11378 e21379) (list (quote #(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 (quote #(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))) in1377) (quote ()) (list out1376 (cons (quote #(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 e11378 e21379))))) tmp1374) (syntax-error tmp1361))) (syntax-dispatch tmp1361 (quote (any #(each (any any)) any . each-any)))))) (syntax-dispatch tmp1361 (quote (any ((any any)) any . each-any)))))) (syntax-dispatch tmp1361 (quote (any () any . each-any))))) x1360)))
5(install-global-transformer (quote syntax-rules) (lambda (x1383) ((lambda (tmp1384) ((lambda (tmp1385) (if tmp1385 (apply (lambda (_1386 k1387 keyword1388 pattern1389 template1390) (list (quote #(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))) (quote (#(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 (quote #(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 (quote #(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 k1387 (map (lambda (tmp1393 tmp1392) (list (cons (quote #(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))) tmp1392) (list (quote #(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))) tmp1393))) template1390 pattern1389)))))) tmp1385) (syntax-error tmp1384))) (syntax-dispatch tmp1384 (quote (any each-any . #(each ((any . any) any))))))) x1383)))
6(install-global-transformer (quote let*) (lambda (x1394) ((lambda (tmp1395) ((lambda (tmp1396) (if (if tmp1396 (apply (lambda (let*1397 x1398 v1399 e11400 e21401) (andmap identifier? x1398)) tmp1396) #f) (apply (lambda (let*1403 x1404 v1405 e11406 e21407) (let f1408 ((bindings1409 (map list x1404 v1405))) (if (null? bindings1409) (cons (quote #(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 (quote ()) (cons e11406 e21407))) ((lambda (tmp1413) ((lambda (tmp1414) (if tmp1414 (apply (lambda (body1415 binding1416) (list (quote #(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 binding1416) body1415)) tmp1414) (syntax-error tmp1413))) (syntax-dispatch tmp1413 (quote (any any))))) (list (f1408 (cdr bindings1409)) (car bindings1409)))))) tmp1396) (syntax-error tmp1395))) (syntax-dispatch tmp1395 (quote (any #(each (any any)) any . each-any))))) x1394)))
7(install-global-transformer (quote do) (lambda (orig-x1417) ((lambda (tmp1418) ((lambda (tmp1419) (if tmp1419 (apply (lambda (_1420 var1421 init1422 step1423 e01424 e11425 c1426) ((lambda (tmp1427) ((lambda (tmp1428) (if tmp1428 (apply (lambda (step1429) ((lambda (tmp1430) ((lambda (tmp1431) (if tmp1431 (apply (lambda () (list (quote #(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))) (quote #(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 var1421 init1422) (list (quote #(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 (quote #(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))) e01424) (cons (quote #(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 c1426 (list (cons (quote #(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))) step1429))))))) tmp1431) ((lambda (tmp1436) (if tmp1436 (apply (lambda (e11437 e21438) (list (quote #(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))) (quote #(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 var1421 init1422) (list (quote #(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))) e01424 (cons (quote #(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 e11437 e21438)) (cons (quote #(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 c1426 (list (cons (quote #(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))) step1429))))))) tmp1436) (syntax-error tmp1430))) (syntax-dispatch tmp1430 (quote (any . each-any)))))) (syntax-dispatch tmp1430 (quote ())))) e11425)) tmp1428) (syntax-error tmp1427))) (syntax-dispatch tmp1427 (quote each-any)))) (map (lambda (v1445 s1446) ((lambda (tmp1447) ((lambda (tmp1448) (if tmp1448 (apply (lambda () v1445) tmp1448) ((lambda (tmp1449) (if tmp1449 (apply (lambda (e1450) e1450) tmp1449) ((lambda (_1451) (syntax-error orig-x1417)) tmp1447))) (syntax-dispatch tmp1447 (quote (any)))))) (syntax-dispatch tmp1447 (quote ())))) s1446)) var1421 step1423))) tmp1419) (syntax-error tmp1418))) (syntax-dispatch tmp1418 (quote (any #(each (any any . any)) (any . each-any) . each-any))))) orig-x1417)))
8(install-global-transformer (quote quasiquote) (letrec ((quasicons1454 (lambda (x1458 y1459) ((lambda (tmp1460) ((lambda (tmp1461) (if tmp1461 (apply (lambda (x1462 y1463) ((lambda (tmp1464) ((lambda (tmp1465) (if tmp1465 (apply (lambda (dy1466) ((lambda (tmp1467) ((lambda (tmp1468) (if tmp1468 (apply (lambda (dx1469) (list (quote #(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 dx1469 dy1466))) tmp1468) ((lambda (_1470) (if (null? dy1466) (list (quote #(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))) x1462) (list (quote #(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))) x1462 y1463))) tmp1467))) (syntax-dispatch tmp1467 (quote (#(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))))) x1462)) tmp1465) ((lambda (tmp1471) (if tmp1471 (apply (lambda (stuff1472) (cons (quote #(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 x1462 stuff1472))) tmp1471) ((lambda (else1473) (list (quote #(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))) x1462 y1463)) tmp1464))) (syntax-dispatch tmp1464 (quote (#(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)))))) (syntax-dispatch tmp1464 (quote (#(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))))) y1463)) tmp1461) (syntax-error tmp1460))) (syntax-dispatch tmp1460 (quote (any any))))) (list x1458 y1459)))) (quasiappend1455 (lambda (x1474 y1475) ((lambda (tmp1476) ((lambda (tmp1477) (if tmp1477 (apply (lambda (x1478 y1479) ((lambda (tmp1480) ((lambda (tmp1481) (if tmp1481 (apply (lambda () x1478) tmp1481) ((lambda (_1482) (list (quote #(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))) x1478 y1479)) tmp1480))) (syntax-dispatch tmp1480 (quote (#(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))) ()))))) y1479)) tmp1477) (syntax-error tmp1476))) (syntax-dispatch tmp1476 (quote (any any))))) (list x1474 y1475)))) (quasivector1456 (lambda (x1483) ((lambda (tmp1484) ((lambda (x1485) ((lambda (tmp1486) ((lambda (tmp1487) (if tmp1487 (apply (lambda (x1488) (list (quote #(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 x1488))) tmp1487) ((lambda (tmp1490) (if tmp1490 (apply (lambda (x1491) (cons (quote #(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))) x1491)) tmp1490) ((lambda (_1493) (list (quote #(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))) x1485)) tmp1486))) (syntax-dispatch tmp1486 (quote (#(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)))))) (syntax-dispatch tmp1486 (quote (#(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))))) x1485)) tmp1484)) x1483))) (quasi1457 (lambda (p1494 lev1495) ((lambda (tmp1496) ((lambda (tmp1497) (if tmp1497 (apply (lambda (p1498) (if (= lev1495 0) p1498 (quasicons1454 (quote (#(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)))) (quasi1457 (list p1498) (- lev1495 1))))) tmp1497) ((lambda (tmp1499) (if tmp1499 (apply (lambda (p1500 q1501) (if (= lev1495 0) (quasiappend1455 p1500 (quasi1457 q1501 lev1495)) (quasicons1454 (quasicons1454 (quote (#(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)))) (quasi1457 (list p1500) (- lev1495 1))) (quasi1457 q1501 lev1495)))) tmp1499) ((lambda (tmp1502) (if tmp1502 (apply (lambda (p1503) (quasicons1454 (quote (#(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)))) (quasi1457 (list p1503) (+ lev1495 1)))) tmp1502) ((lambda (tmp1504) (if tmp1504 (apply (lambda (p1505 q1506) (quasicons1454 (quasi1457 p1505 lev1495) (quasi1457 q1506 lev1495))) tmp1504) ((lambda (tmp1507) (if tmp1507 (apply (lambda (x1508) (quasivector1456 (quasi1457 x1508 lev1495))) tmp1507) ((lambda (p1510) (list (quote #(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))) p1510)) tmp1496))) (syntax-dispatch tmp1496 (quote #(vector each-any)))))) (syntax-dispatch tmp1496 (quote (any . any)))))) (syntax-dispatch tmp1496 (quote (#(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)))))) (syntax-dispatch tmp1496 (quote ((#(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)))))) (syntax-dispatch tmp1496 (quote (#(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))))) p1494)))) (lambda (x1511) ((lambda (tmp1512) ((lambda (tmp1513) (if tmp1513 (apply (lambda (_1514 e1515) (quasi1457 e1515 0)) tmp1513) (syntax-error tmp1512))) (syntax-dispatch tmp1512 (quote (any any))))) x1511))))
9(install-global-transformer (quote include) (lambda (x1516) (letrec ((read-file1517 (lambda (fn1518 k1519) (let ((p1520 (open-input-file fn1518))) (let f1521 ((x1522 (read p1520))) (if (eof-object? x1522) (begin (close-input-port p1520) (quote ())) (cons (datum->syntax-object k1519 x1522) (f1521 (read p1520))))))))) ((lambda (tmp1523) ((lambda (tmp1524) (if tmp1524 (apply (lambda (k1525 filename1526) (let ((fn1527 (syntax-object->datum filename1526))) ((lambda (tmp1528) ((lambda (tmp1529) (if tmp1529 (apply (lambda (exp1530) (cons (quote #(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))) exp1530)) tmp1529) (syntax-error tmp1528))) (syntax-dispatch tmp1528 (quote each-any)))) (read-file1517 fn1527 k1525)))) tmp1524) (syntax-error tmp1523))) (syntax-dispatch tmp1523 (quote (any any))))) x1516))))
10(install-global-transformer (quote unquote) (lambda (x1532) ((lambda (tmp1533) ((lambda (tmp1534) (if tmp1534 (apply (lambda (_1535 e1536) (error (quote unquote) "expression ,~s not valid outside of quasiquote" (syntax-object->datum e1536))) tmp1534) (syntax-error tmp1533))) (syntax-dispatch tmp1533 (quote (any any))))) x1532)))
11(install-global-transformer (quote unquote-splicing) (lambda (x1537) ((lambda (tmp1538) ((lambda (tmp1539) (if tmp1539 (apply (lambda (_1540 e1541) (error (quote unquote-splicing) "expression ,@~s not valid outside of quasiquote" (syntax-object->datum e1541))) tmp1539) (syntax-error tmp1538))) (syntax-dispatch tmp1538 (quote (any any))))) x1537)))
12(install-global-transformer (quote case) (lambda (x1542) ((lambda (tmp1543) ((lambda (tmp1544) (if tmp1544 (apply (lambda (_1545 e1546 m11547 m21548) ((lambda (tmp1549) ((lambda (body1550) (list (quote #(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 (quote #(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))) e1546)) body1550)) tmp1549)) (let f1551 ((clause1552 m11547) (clauses1553 m21548)) (if (null? clauses1553) ((lambda (tmp1555) ((lambda (tmp1556) (if tmp1556 (apply (lambda (e11557 e21558) (cons (quote #(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 e11557 e21558))) tmp1556) ((lambda (tmp1560) (if tmp1560 (apply (lambda (k1561 e11562 e21563) (list (quote #(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 (quote #(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))) (quote #(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 (quote #(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))) k1561)) (cons (quote #(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 e11562 e21563)))) tmp1560) ((lambda (_1566) (syntax-error x1542)) tmp1555))) (syntax-dispatch tmp1555 (quote (each-any any . each-any)))))) (syntax-dispatch tmp1555 (quote (#(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))))) clause1552) ((lambda (tmp1567) ((lambda (rest1568) ((lambda (tmp1569) ((lambda (tmp1570) (if tmp1570 (apply (lambda (k1571 e11572 e21573) (list (quote #(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 (quote #(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))) (quote #(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 (quote #(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))) k1571)) (cons (quote #(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 e11572 e21573)) rest1568)) tmp1570) ((lambda (_1576) (syntax-error x1542)) tmp1569))) (syntax-dispatch tmp1569 (quote (each-any any . each-any))))) clause1552)) tmp1567)) (f1551 (car clauses1553) (cdr clauses1553))))))) tmp1544) (syntax-error tmp1543))) (syntax-dispatch tmp1543 (quote (any any any . each-any))))) x1542)))
13(install-global-transformer (quote identifier-syntax) (lambda (x1577) ((lambda (tmp1578) ((lambda (tmp1579) (if tmp1579 (apply (lambda (_1580 e1581) (list (quote #(syntax-object lambda ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile)))) (list (quote #(syntax-object syntax-case ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (quote #(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (quote ()) (list (quote #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (quote (#(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 (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) e1581)) (list (cons _1580 (quote (#(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 (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (cons e1581 (quote (#(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)))))))))) tmp1579) (syntax-error tmp1578))) (syntax-dispatch tmp1578 (quote (any any))))) x1577)))