add modules to syntax objects (part 1, intermediate step)
authorAndy Wingo <wingo@pobox.com>
Sun, 29 Mar 2009 18:35:55 +0000 (11:35 -0700)
committerAndy Wingo <wingo@pobox.com>
Fri, 17 Apr 2009 13:20:16 +0000 (15:20 +0200)
* module/ice-9/psyntax.scm (make-syntax-object): As an intermediate step
  to adding modules to syntax objects, replace the definition of
  syntax-object as a structure with an expanded-out definition that has
  (1) a constructor that takes 2 or 3 arguments, and (2) a predicate that
  works with vectors of length 3 or 4. I couldn't just redefine
  make-syntax-object, for example, because these are internal
  definitions, and we can't have duplicate bindings in a letrec.

module/ice-9/psyntax-pp.scm
module/ice-9/psyntax.scm

dissimilarity index 80%
index 3c4cee9..bb7af90 100644 (file)
@@ -1,11 +1,11 @@
-(letrec ((syntmp-lambda-var-list-164 (lambda (syntmp-vars-549) (let syntmp-lvl-550 ((syntmp-vars-551 syntmp-vars-549) (syntmp-ls-552 (quote ())) (syntmp-w-553 (quote (())))) (cond ((pair? syntmp-vars-551) (syntmp-lvl-550 (cdr syntmp-vars-551) (cons (syntmp-wrap-143 (car syntmp-vars-551) syntmp-w-553) syntmp-ls-552) syntmp-w-553)) ((syntmp-id?-115 syntmp-vars-551) (cons (syntmp-wrap-143 syntmp-vars-551 syntmp-w-553) syntmp-ls-552)) ((null? syntmp-vars-551) syntmp-ls-552) ((syntmp-syntax-object?-101 syntmp-vars-551) (syntmp-lvl-550 (syntmp-syntax-object-expression-102 syntmp-vars-551) syntmp-ls-552 (syntmp-join-wraps-134 syntmp-w-553 (syntmp-syntax-object-wrap-103 syntmp-vars-551)))) ((annotation? syntmp-vars-551) (syntmp-lvl-550 (annotation-expression syntmp-vars-551) syntmp-ls-552 syntmp-w-553)) (else (cons syntmp-vars-551 syntmp-ls-552)))))) (syntmp-gen-var-163 (lambda (syntmp-id-554) (let ((syntmp-id-555 (if (syntmp-syntax-object?-101 syntmp-id-554) (syntmp-syntax-object-expression-102 syntmp-id-554) syntmp-id-554))) (if (annotation? syntmp-id-555) (syntmp-build-annotated-94 (annotation-source syntmp-id-555) (gensym (symbol->string (annotation-expression syntmp-id-555)))) (syntmp-build-annotated-94 #f (gensym (symbol->string syntmp-id-555))))))) (syntmp-strip-162 (lambda (syntmp-x-556 syntmp-w-557) (if (memq (quote top) (syntmp-wrap-marks-118 syntmp-w-557)) (if (or (annotation? syntmp-x-556) (and (pair? syntmp-x-556) (annotation? (car syntmp-x-556)))) (syntmp-strip-annotation-161 syntmp-x-556 #f) syntmp-x-556) (let syntmp-f-558 ((syntmp-x-559 syntmp-x-556)) (cond ((syntmp-syntax-object?-101 syntmp-x-559) (syntmp-strip-162 (syntmp-syntax-object-expression-102 syntmp-x-559) (syntmp-syntax-object-wrap-103 syntmp-x-559))) ((pair? syntmp-x-559) (let ((syntmp-a-560 (syntmp-f-558 (car syntmp-x-559))) (syntmp-d-561 (syntmp-f-558 (cdr syntmp-x-559)))) (if (and (eq? syntmp-a-560 (car syntmp-x-559)) (eq? syntmp-d-561 (cdr syntmp-x-559))) syntmp-x-559 (cons syntmp-a-560 syntmp-d-561)))) ((vector? syntmp-x-559) (let ((syntmp-old-562 (vector->list syntmp-x-559))) (let ((syntmp-new-563 (map syntmp-f-558 syntmp-old-562))) (if (andmap eq? syntmp-old-562 syntmp-new-563) syntmp-x-559 (list->vector syntmp-new-563))))) (else syntmp-x-559)))))) (syntmp-strip-annotation-161 (lambda (syntmp-x-564 syntmp-parent-565) (cond ((pair? syntmp-x-564) (let ((syntmp-new-566 (cons #f #f))) (begin (if syntmp-parent-565 (set-annotation-stripped! syntmp-parent-565 syntmp-new-566)) (set-car! syntmp-new-566 (syntmp-strip-annotation-161 (car syntmp-x-564) #f)) (set-cdr! syntmp-new-566 (syntmp-strip-annotation-161 (cdr syntmp-x-564) #f)) syntmp-new-566))) ((annotation? syntmp-x-564) (or (annotation-stripped syntmp-x-564) (syntmp-strip-annotation-161 (annotation-expression syntmp-x-564) syntmp-x-564))) ((vector? syntmp-x-564) (let ((syntmp-new-567 (make-vector (vector-length syntmp-x-564)))) (begin (if syntmp-parent-565 (set-annotation-stripped! syntmp-parent-565 syntmp-new-567)) (let syntmp-loop-568 ((syntmp-i-569 (- (vector-length syntmp-x-564) 1))) (unless (syntmp-fx<-88 syntmp-i-569 0) (vector-set! syntmp-new-567 syntmp-i-569 (syntmp-strip-annotation-161 (vector-ref syntmp-x-564 syntmp-i-569) #f)) (syntmp-loop-568 (syntmp-fx--86 syntmp-i-569 1)))) syntmp-new-567))) (else syntmp-x-564)))) (syntmp-ellipsis?-160 (lambda (syntmp-x-570) (and (syntmp-nonsymbol-id?-114 syntmp-x-570) (syntmp-free-id=?-138 syntmp-x-570 (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-wrap! set-syntax-object-expression! 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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"))))))))) (syntmp-chi-void-159 (lambda () (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote void)))))) (syntmp-eval-local-transformer-158 (lambda (syntmp-expanded-571) (let ((syntmp-p-572 (syntmp-local-eval-hook-90 syntmp-expanded-571))) (if (procedure? syntmp-p-572) syntmp-p-572 (syntax-error syntmp-p-572 "nonprocedure transformer"))))) (syntmp-chi-local-syntax-157 (lambda (syntmp-rec?-573 syntmp-e-574 syntmp-r-575 syntmp-w-576 syntmp-s-577 syntmp-k-578) ((lambda (syntmp-tmp-579) ((lambda (syntmp-tmp-580) (if syntmp-tmp-580 (apply (lambda (syntmp-_-581 syntmp-id-582 syntmp-val-583 syntmp-e1-584 syntmp-e2-585) (let ((syntmp-ids-586 syntmp-id-582)) (if (not (syntmp-valid-bound-ids?-140 syntmp-ids-586)) (syntax-error syntmp-e-574 "duplicate bound keyword in") (let ((syntmp-labels-588 (syntmp-gen-labels-121 syntmp-ids-586))) (let ((syntmp-new-w-589 (syntmp-make-binding-wrap-132 syntmp-ids-586 syntmp-labels-588 syntmp-w-576))) (syntmp-k-578 (cons syntmp-e1-584 syntmp-e2-585) (syntmp-extend-env-109 syntmp-labels-588 (let ((syntmp-w-591 (if syntmp-rec?-573 syntmp-new-w-589 syntmp-w-576)) (syntmp-trans-r-592 (syntmp-macros-only-env-111 syntmp-r-575))) (map (lambda (syntmp-x-593) (cons (quote macro) (syntmp-eval-local-transformer-158 (syntmp-chi-151 syntmp-x-593 syntmp-trans-r-592 syntmp-w-591)))) syntmp-val-583)) syntmp-r-575) syntmp-new-w-589 syntmp-s-577)))))) syntmp-tmp-580) ((lambda (syntmp-_-595) (syntax-error (syntmp-source-wrap-144 syntmp-e-574 syntmp-w-576 syntmp-s-577))) syntmp-tmp-579))) (syntax-dispatch syntmp-tmp-579 (quote (any #(each (any any)) any . each-any))))) syntmp-e-574))) (syntmp-chi-lambda-clause-156 (lambda (syntmp-e-596 syntmp-c-597 syntmp-r-598 syntmp-w-599 syntmp-k-600) ((lambda (syntmp-tmp-601) ((lambda (syntmp-tmp-602) (if syntmp-tmp-602 (apply (lambda (syntmp-id-603 syntmp-e1-604 syntmp-e2-605) (let ((syntmp-ids-606 syntmp-id-603)) (if (not (syntmp-valid-bound-ids?-140 syntmp-ids-606)) (syntax-error syntmp-e-596 "invalid parameter list in") (let ((syntmp-labels-608 (syntmp-gen-labels-121 syntmp-ids-606)) (syntmp-new-vars-609 (map syntmp-gen-var-163 syntmp-ids-606))) (syntmp-k-600 syntmp-new-vars-609 (syntmp-chi-body-155 (cons syntmp-e1-604 syntmp-e2-605) syntmp-e-596 (syntmp-extend-var-env-110 syntmp-labels-608 syntmp-new-vars-609 syntmp-r-598) (syntmp-make-binding-wrap-132 syntmp-ids-606 syntmp-labels-608 syntmp-w-599))))))) syntmp-tmp-602) ((lambda (syntmp-tmp-611) (if syntmp-tmp-611 (apply (lambda (syntmp-ids-612 syntmp-e1-613 syntmp-e2-614) (let ((syntmp-old-ids-615 (syntmp-lambda-var-list-164 syntmp-ids-612))) (if (not (syntmp-valid-bound-ids?-140 syntmp-old-ids-615)) (syntax-error syntmp-e-596 "invalid parameter list in") (let ((syntmp-labels-616 (syntmp-gen-labels-121 syntmp-old-ids-615)) (syntmp-new-vars-617 (map syntmp-gen-var-163 syntmp-old-ids-615))) (syntmp-k-600 (let syntmp-f-618 ((syntmp-ls1-619 (cdr syntmp-new-vars-617)) (syntmp-ls2-620 (car syntmp-new-vars-617))) (if (null? syntmp-ls1-619) syntmp-ls2-620 (syntmp-f-618 (cdr syntmp-ls1-619) (cons (car syntmp-ls1-619) syntmp-ls2-620)))) (syntmp-chi-body-155 (cons syntmp-e1-613 syntmp-e2-614) syntmp-e-596 (syntmp-extend-var-env-110 syntmp-labels-616 syntmp-new-vars-617 syntmp-r-598) (syntmp-make-binding-wrap-132 syntmp-old-ids-615 syntmp-labels-616 syntmp-w-599))))))) syntmp-tmp-611) ((lambda (syntmp-_-622) (syntax-error syntmp-e-596)) syntmp-tmp-601))) (syntax-dispatch syntmp-tmp-601 (quote (any any . each-any)))))) (syntax-dispatch syntmp-tmp-601 (quote (each-any any . each-any))))) syntmp-c-597))) (syntmp-chi-body-155 (lambda (syntmp-body-623 syntmp-outer-form-624 syntmp-r-625 syntmp-w-626) (let ((syntmp-r-627 (cons (quote ("placeholder" placeholder)) syntmp-r-625))) (let ((syntmp-ribcage-628 (syntmp-make-ribcage-122 (quote ()) (quote ()) (quote ())))) (let ((syntmp-w-629 (syntmp-make-wrap-117 (syntmp-wrap-marks-118 syntmp-w-626) (cons syntmp-ribcage-628 (syntmp-wrap-subst-119 syntmp-w-626))))) (let syntmp-parse-630 ((syntmp-body-631 (map (lambda (syntmp-x-637) (cons syntmp-r-627 (syntmp-wrap-143 syntmp-x-637 syntmp-w-629))) syntmp-body-623)) (syntmp-ids-632 (quote ())) (syntmp-labels-633 (quote ())) (syntmp-vars-634 (quote ())) (syntmp-vals-635 (quote ())) (syntmp-bindings-636 (quote ()))) (if (null? syntmp-body-631) (syntax-error syntmp-outer-form-624 "no expressions in body") (let ((syntmp-e-638 (cdar syntmp-body-631)) (syntmp-er-639 (caar syntmp-body-631))) (call-with-values (lambda () (syntmp-syntax-type-149 syntmp-e-638 syntmp-er-639 (quote (())) #f syntmp-ribcage-628)) (lambda (syntmp-type-640 syntmp-value-641 syntmp-e-642 syntmp-w-643 syntmp-s-644) (let ((syntmp-t-645 syntmp-type-640)) (if (memv syntmp-t-645 (quote (define-form))) (let ((syntmp-id-646 (syntmp-wrap-143 syntmp-value-641 syntmp-w-643)) (syntmp-label-647 (syntmp-gen-label-120))) (let ((syntmp-var-648 (syntmp-gen-var-163 syntmp-id-646))) (begin (syntmp-extend-ribcage!-131 syntmp-ribcage-628 syntmp-id-646 syntmp-label-647) (syntmp-parse-630 (cdr syntmp-body-631) (cons syntmp-id-646 syntmp-ids-632) (cons syntmp-label-647 syntmp-labels-633) (cons syntmp-var-648 syntmp-vars-634) (cons (cons syntmp-er-639 (syntmp-wrap-143 syntmp-e-642 syntmp-w-643)) syntmp-vals-635) (cons (cons (quote lexical) syntmp-var-648) syntmp-bindings-636))))) (if (memv syntmp-t-645 (quote (define-syntax-form))) (let ((syntmp-id-649 (syntmp-wrap-143 syntmp-value-641 syntmp-w-643)) (syntmp-label-650 (syntmp-gen-label-120))) (begin (syntmp-extend-ribcage!-131 syntmp-ribcage-628 syntmp-id-649 syntmp-label-650) (syntmp-parse-630 (cdr syntmp-body-631) (cons syntmp-id-649 syntmp-ids-632) (cons syntmp-label-650 syntmp-labels-633) syntmp-vars-634 syntmp-vals-635 (cons (cons (quote macro) (cons syntmp-er-639 (syntmp-wrap-143 syntmp-e-642 syntmp-w-643))) syntmp-bindings-636)))) (if (memv syntmp-t-645 (quote (begin-form))) ((lambda (syntmp-tmp-651) ((lambda (syntmp-tmp-652) (if syntmp-tmp-652 (apply (lambda (syntmp-_-653 syntmp-e1-654) (syntmp-parse-630 (let syntmp-f-655 ((syntmp-forms-656 syntmp-e1-654)) (if (null? syntmp-forms-656) (cdr syntmp-body-631) (cons (cons syntmp-er-639 (syntmp-wrap-143 (car syntmp-forms-656) syntmp-w-643)) (syntmp-f-655 (cdr syntmp-forms-656))))) syntmp-ids-632 syntmp-labels-633 syntmp-vars-634 syntmp-vals-635 syntmp-bindings-636)) syntmp-tmp-652) (syntax-error syntmp-tmp-651))) (syntax-dispatch syntmp-tmp-651 (quote (any . each-any))))) syntmp-e-642) (if (memv syntmp-t-645 (quote (local-syntax-form))) (syntmp-chi-local-syntax-157 syntmp-value-641 syntmp-e-642 syntmp-er-639 syntmp-w-643 syntmp-s-644 (lambda (syntmp-forms-658 syntmp-er-659 syntmp-w-660 syntmp-s-661) (syntmp-parse-630 (let syntmp-f-662 ((syntmp-forms-663 syntmp-forms-658)) (if (null? syntmp-forms-663) (cdr syntmp-body-631) (cons (cons syntmp-er-659 (syntmp-wrap-143 (car syntmp-forms-663) syntmp-w-660)) (syntmp-f-662 (cdr syntmp-forms-663))))) syntmp-ids-632 syntmp-labels-633 syntmp-vars-634 syntmp-vals-635 syntmp-bindings-636))) (if (null? syntmp-ids-632) (syntmp-build-sequence-96 #f (map (lambda (syntmp-x-664) (syntmp-chi-151 (cdr syntmp-x-664) (car syntmp-x-664) (quote (())))) (cons (cons syntmp-er-639 (syntmp-source-wrap-144 syntmp-e-642 syntmp-w-643 syntmp-s-644)) (cdr syntmp-body-631)))) (begin (if (not (syntmp-valid-bound-ids?-140 syntmp-ids-632)) (syntax-error syntmp-outer-form-624 "invalid or duplicate identifier in definition")) (let syntmp-loop-665 ((syntmp-bs-666 syntmp-bindings-636) (syntmp-er-cache-667 #f) (syntmp-r-cache-668 #f)) (if (not (null? syntmp-bs-666)) (let ((syntmp-b-669 (car syntmp-bs-666))) (if (eq? (car syntmp-b-669) (quote macro)) (let ((syntmp-er-670 (cadr syntmp-b-669))) (let ((syntmp-r-cache-671 (if (eq? syntmp-er-670 syntmp-er-cache-667) syntmp-r-cache-668 (syntmp-macros-only-env-111 syntmp-er-670)))) (begin (set-cdr! syntmp-b-669 (syntmp-eval-local-transformer-158 (syntmp-chi-151 (cddr syntmp-b-669) syntmp-r-cache-671 (quote (()))))) (syntmp-loop-665 (cdr syntmp-bs-666) syntmp-er-670 syntmp-r-cache-671)))) (syntmp-loop-665 (cdr syntmp-bs-666) syntmp-er-cache-667 syntmp-r-cache-668))))) (set-cdr! syntmp-r-627 (syntmp-extend-env-109 syntmp-labels-633 syntmp-bindings-636 (cdr syntmp-r-627))) (syntmp-build-letrec-99 #f syntmp-vars-634 (map (lambda (syntmp-x-672) (syntmp-chi-151 (cdr syntmp-x-672) (car syntmp-x-672) (quote (())))) syntmp-vals-635) (syntmp-build-sequence-96 #f (map (lambda (syntmp-x-673) (syntmp-chi-151 (cdr syntmp-x-673) (car syntmp-x-673) (quote (())))) (cons (cons syntmp-er-639 (syntmp-source-wrap-144 syntmp-e-642 syntmp-w-643 syntmp-s-644)) (cdr syntmp-body-631)))))))))))))))))))))) (syntmp-chi-macro-154 (lambda (syntmp-p-674 syntmp-e-675 syntmp-r-676 syntmp-w-677 syntmp-rib-678) (letrec ((syntmp-rebuild-macro-output-679 (lambda (syntmp-x-680 syntmp-m-681) (cond ((pair? syntmp-x-680) (cons (syntmp-rebuild-macro-output-679 (car syntmp-x-680) syntmp-m-681) (syntmp-rebuild-macro-output-679 (cdr syntmp-x-680) syntmp-m-681))) ((syntmp-syntax-object?-101 syntmp-x-680) (let ((syntmp-w-682 (syntmp-syntax-object-wrap-103 syntmp-x-680))) (let ((syntmp-ms-683 (syntmp-wrap-marks-118 syntmp-w-682)) (syntmp-s-684 (syntmp-wrap-subst-119 syntmp-w-682))) (syntmp-make-syntax-object-100 (syntmp-syntax-object-expression-102 syntmp-x-680) (if (and (pair? syntmp-ms-683) (eq? (car syntmp-ms-683) #f)) (syntmp-make-wrap-117 (cdr syntmp-ms-683) (if syntmp-rib-678 (cons syntmp-rib-678 (cdr syntmp-s-684)) (cdr syntmp-s-684))) (syntmp-make-wrap-117 (cons syntmp-m-681 syntmp-ms-683) (if syntmp-rib-678 (cons syntmp-rib-678 (cons (quote shift) syntmp-s-684)) (cons (quote shift) syntmp-s-684)))))))) ((vector? syntmp-x-680) (let ((syntmp-n-685 (vector-length syntmp-x-680))) (let ((syntmp-v-686 (make-vector syntmp-n-685))) (let syntmp-doloop-687 ((syntmp-i-688 0)) (if (syntmp-fx=-87 syntmp-i-688 syntmp-n-685) syntmp-v-686 (begin (vector-set! syntmp-v-686 syntmp-i-688 (syntmp-rebuild-macro-output-679 (vector-ref syntmp-x-680 syntmp-i-688) syntmp-m-681)) (syntmp-doloop-687 (syntmp-fx+-85 syntmp-i-688 1)))))))) ((symbol? syntmp-x-680) (syntax-error syntmp-x-680 "encountered raw symbol in macro output")) (else syntmp-x-680))))) (syntmp-rebuild-macro-output-679 (syntmp-p-674 (syntmp-wrap-143 syntmp-e-675 (syntmp-anti-mark-130 syntmp-w-677))) (string #\m))))) (syntmp-chi-application-153 (lambda (syntmp-x-689 syntmp-e-690 syntmp-r-691 syntmp-w-692 syntmp-s-693) ((lambda (syntmp-tmp-694) ((lambda (syntmp-tmp-695) (if syntmp-tmp-695 (apply (lambda (syntmp-e0-696 syntmp-e1-697) (syntmp-build-annotated-94 syntmp-s-693 (cons syntmp-x-689 (map (lambda (syntmp-e-698) (syntmp-chi-151 syntmp-e-698 syntmp-r-691 syntmp-w-692)) syntmp-e1-697)))) syntmp-tmp-695) (syntax-error syntmp-tmp-694))) (syntax-dispatch syntmp-tmp-694 (quote (any . each-any))))) syntmp-e-690))) (syntmp-chi-expr-152 (lambda (syntmp-type-700 syntmp-value-701 syntmp-e-702 syntmp-r-703 syntmp-w-704 syntmp-s-705) (let ((syntmp-t-706 syntmp-type-700)) (if (memv syntmp-t-706 (quote (lexical))) (syntmp-build-annotated-94 syntmp-s-705 syntmp-value-701) (if (memv syntmp-t-706 (quote (core external-macro))) (syntmp-value-701 syntmp-e-702 syntmp-r-703 syntmp-w-704 syntmp-s-705) (if (memv syntmp-t-706 (quote (lexical-call))) (syntmp-chi-application-153 (syntmp-build-annotated-94 (syntmp-source-annotation-106 (car syntmp-e-702)) syntmp-value-701) syntmp-e-702 syntmp-r-703 syntmp-w-704 syntmp-s-705) (if (memv syntmp-t-706 (quote (global-call))) (syntmp-chi-application-153 (syntmp-build-annotated-94 (syntmp-source-annotation-106 (car syntmp-e-702)) (make-module-ref #f syntmp-value-701 #f)) syntmp-e-702 syntmp-r-703 syntmp-w-704 syntmp-s-705) (if (memv syntmp-t-706 (quote (constant))) (syntmp-build-data-95 syntmp-s-705 (syntmp-strip-162 (syntmp-source-wrap-144 syntmp-e-702 syntmp-w-704 syntmp-s-705) (quote (())))) (if (memv syntmp-t-706 (quote (global))) (syntmp-build-annotated-94 syntmp-s-705 (make-module-ref #f syntmp-value-701 #f)) (if (memv syntmp-t-706 (quote (call))) (syntmp-chi-application-153 (syntmp-chi-151 (car syntmp-e-702) syntmp-r-703 syntmp-w-704) syntmp-e-702 syntmp-r-703 syntmp-w-704 syntmp-s-705) (if (memv syntmp-t-706 (quote (begin-form))) ((lambda (syntmp-tmp-707) ((lambda (syntmp-tmp-708) (if syntmp-tmp-708 (apply (lambda (syntmp-_-709 syntmp-e1-710 syntmp-e2-711) (syntmp-chi-sequence-145 (cons syntmp-e1-710 syntmp-e2-711) syntmp-r-703 syntmp-w-704 syntmp-s-705)) syntmp-tmp-708) (syntax-error syntmp-tmp-707))) (syntax-dispatch syntmp-tmp-707 (quote (any any . each-any))))) syntmp-e-702) (if (memv syntmp-t-706 (quote (local-syntax-form))) (syntmp-chi-local-syntax-157 syntmp-value-701 syntmp-e-702 syntmp-r-703 syntmp-w-704 syntmp-s-705 syntmp-chi-sequence-145) (if (memv syntmp-t-706 (quote (eval-when-form))) ((lambda (syntmp-tmp-713) ((lambda (syntmp-tmp-714) (if syntmp-tmp-714 (apply (lambda (syntmp-_-715 syntmp-x-716 syntmp-e1-717 syntmp-e2-718) (let ((syntmp-when-list-719 (syntmp-chi-when-list-148 syntmp-e-702 syntmp-x-716 syntmp-w-704))) (if (memq (quote eval) syntmp-when-list-719) (syntmp-chi-sequence-145 (cons syntmp-e1-717 syntmp-e2-718) syntmp-r-703 syntmp-w-704 syntmp-s-705) (syntmp-chi-void-159)))) syntmp-tmp-714) (syntax-error syntmp-tmp-713))) (syntax-dispatch syntmp-tmp-713 (quote (any each-any any . each-any))))) syntmp-e-702) (if (memv syntmp-t-706 (quote (define-form define-syntax-form))) (syntax-error (syntmp-wrap-143 syntmp-value-701 syntmp-w-704) "invalid context for definition of") (if (memv syntmp-t-706 (quote (syntax))) (syntax-error (syntmp-source-wrap-144 syntmp-e-702 syntmp-w-704 syntmp-s-705) "reference to pattern variable outside syntax form") (if (memv syntmp-t-706 (quote (displaced-lexical))) (syntax-error (syntmp-source-wrap-144 syntmp-e-702 syntmp-w-704 syntmp-s-705) "reference to identifier outside its scope") (syntax-error (syntmp-source-wrap-144 syntmp-e-702 syntmp-w-704 syntmp-s-705)))))))))))))))))) (syntmp-chi-151 (lambda (syntmp-e-722 syntmp-r-723 syntmp-w-724) (call-with-values (lambda () (syntmp-syntax-type-149 syntmp-e-722 syntmp-r-723 syntmp-w-724 #f #f)) (lambda (syntmp-type-725 syntmp-value-726 syntmp-e-727 syntmp-w-728 syntmp-s-729) (syntmp-chi-expr-152 syntmp-type-725 syntmp-value-726 syntmp-e-727 syntmp-r-723 syntmp-w-728 syntmp-s-729))))) (syntmp-chi-top-150 (lambda (syntmp-e-730 syntmp-r-731 syntmp-w-732 syntmp-m-733 syntmp-esew-734) (call-with-values (lambda () (syntmp-syntax-type-149 syntmp-e-730 syntmp-r-731 syntmp-w-732 #f #f)) (lambda (syntmp-type-747 syntmp-value-748 syntmp-e-749 syntmp-w-750 syntmp-s-751) (let ((syntmp-t-752 syntmp-type-747)) (if (memv syntmp-t-752 (quote (begin-form))) ((lambda (syntmp-tmp-753) ((lambda (syntmp-tmp-754) (if syntmp-tmp-754 (apply (lambda (syntmp-_-755) (syntmp-chi-void-159)) syntmp-tmp-754) ((lambda (syntmp-tmp-756) (if syntmp-tmp-756 (apply (lambda (syntmp-_-757 syntmp-e1-758 syntmp-e2-759) (syntmp-chi-top-sequence-146 (cons syntmp-e1-758 syntmp-e2-759) syntmp-r-731 syntmp-w-750 syntmp-s-751 syntmp-m-733 syntmp-esew-734)) syntmp-tmp-756) (syntax-error syntmp-tmp-753))) (syntax-dispatch syntmp-tmp-753 (quote (any any . each-any)))))) (syntax-dispatch syntmp-tmp-753 (quote (any))))) syntmp-e-749) (if (memv syntmp-t-752 (quote (local-syntax-form))) (syntmp-chi-local-syntax-157 syntmp-value-748 syntmp-e-749 syntmp-r-731 syntmp-w-750 syntmp-s-751 (lambda (syntmp-body-761 syntmp-r-762 syntmp-w-763 syntmp-s-764) (syntmp-chi-top-sequence-146 syntmp-body-761 syntmp-r-762 syntmp-w-763 syntmp-s-764 syntmp-m-733 syntmp-esew-734))) (if (memv syntmp-t-752 (quote (eval-when-form))) ((lambda (syntmp-tmp-765) ((lambda (syntmp-tmp-766) (if syntmp-tmp-766 (apply (lambda (syntmp-_-767 syntmp-x-768 syntmp-e1-769 syntmp-e2-770) (let ((syntmp-when-list-771 (syntmp-chi-when-list-148 syntmp-e-749 syntmp-x-768 syntmp-w-750)) (syntmp-body-772 (cons syntmp-e1-769 syntmp-e2-770))) (cond ((eq? syntmp-m-733 (quote e)) (if (memq (quote eval) syntmp-when-list-771) (syntmp-chi-top-sequence-146 syntmp-body-772 syntmp-r-731 syntmp-w-750 syntmp-s-751 (quote e) (quote (eval))) (syntmp-chi-void-159))) ((memq (quote load) syntmp-when-list-771) (if (or (memq (quote compile) syntmp-when-list-771) (and (eq? syntmp-m-733 (quote c&e)) (memq (quote eval) syntmp-when-list-771))) (syntmp-chi-top-sequence-146 syntmp-body-772 syntmp-r-731 syntmp-w-750 syntmp-s-751 (quote c&e) (quote (compile load))) (if (memq syntmp-m-733 (quote (c c&e))) (syntmp-chi-top-sequence-146 syntmp-body-772 syntmp-r-731 syntmp-w-750 syntmp-s-751 (quote c) (quote (load))) (syntmp-chi-void-159)))) ((or (memq (quote compile) syntmp-when-list-771) (and (eq? syntmp-m-733 (quote c&e)) (memq (quote eval) syntmp-when-list-771))) (syntmp-top-level-eval-hook-89 (syntmp-chi-top-sequence-146 syntmp-body-772 syntmp-r-731 syntmp-w-750 syntmp-s-751 (quote e) (quote (eval)))) (syntmp-chi-void-159)) (else (syntmp-chi-void-159))))) syntmp-tmp-766) (syntax-error syntmp-tmp-765))) (syntax-dispatch syntmp-tmp-765 (quote (any each-any any . each-any))))) syntmp-e-749) (if (memv syntmp-t-752 (quote (define-syntax-form))) (let ((syntmp-n-775 (syntmp-id-var-name-137 syntmp-value-748 syntmp-w-750)) (syntmp-r-776 (syntmp-macros-only-env-111 syntmp-r-731))) (let ((syntmp-t-777 syntmp-m-733)) (if (memv syntmp-t-777 (quote (c))) (if (memq (quote compile) syntmp-esew-734) (let ((syntmp-e-778 (syntmp-chi-install-global-147 syntmp-n-775 (syntmp-chi-151 syntmp-e-749 syntmp-r-776 syntmp-w-750)))) (begin (syntmp-top-level-eval-hook-89 syntmp-e-778) (if (memq (quote load) syntmp-esew-734) syntmp-e-778 (syntmp-chi-void-159)))) (if (memq (quote load) syntmp-esew-734) (syntmp-chi-install-global-147 syntmp-n-775 (syntmp-chi-151 syntmp-e-749 syntmp-r-776 syntmp-w-750)) (syntmp-chi-void-159))) (if (memv syntmp-t-777 (quote (c&e))) (let ((syntmp-e-779 (syntmp-chi-install-global-147 syntmp-n-775 (syntmp-chi-151 syntmp-e-749 syntmp-r-776 syntmp-w-750)))) (begin (syntmp-top-level-eval-hook-89 syntmp-e-779) syntmp-e-779)) (begin (if (memq (quote eval) syntmp-esew-734) (syntmp-top-level-eval-hook-89 (syntmp-chi-install-global-147 syntmp-n-775 (syntmp-chi-151 syntmp-e-749 syntmp-r-776 syntmp-w-750)))) (syntmp-chi-void-159)))))) (if (memv syntmp-t-752 (quote (define-form))) (let ((syntmp-n-780 (syntmp-id-var-name-137 syntmp-value-748 syntmp-w-750))) (let ((syntmp-type-781 (syntmp-binding-type-107 (syntmp-lookup-112 syntmp-n-780 syntmp-r-731)))) (let ((syntmp-t-782 syntmp-type-781)) (if (memv syntmp-t-782 (quote (global))) (let ((syntmp-x-783 (syntmp-build-annotated-94 syntmp-s-751 (list (quote define) syntmp-n-780 (syntmp-chi-151 syntmp-e-749 syntmp-r-731 syntmp-w-750))))) (begin (if (eq? syntmp-m-733 (quote c&e)) (syntmp-top-level-eval-hook-89 syntmp-x-783)) syntmp-x-783)) (if (memv syntmp-t-782 (quote (displaced-lexical))) (syntax-error (syntmp-wrap-143 syntmp-value-748 syntmp-w-750) "identifier out of context") (if (eq? syntmp-type-781 (quote external-macro)) (let ((syntmp-x-784 (syntmp-build-annotated-94 syntmp-s-751 (list (quote define) syntmp-n-780 (syntmp-chi-151 syntmp-e-749 syntmp-r-731 syntmp-w-750))))) (begin (if (eq? syntmp-m-733 (quote c&e)) (syntmp-top-level-eval-hook-89 syntmp-x-784)) syntmp-x-784)) (syntax-error (syntmp-wrap-143 syntmp-value-748 syntmp-w-750) "cannot define keyword at top level"))))))) (let ((syntmp-x-785 (syntmp-chi-expr-152 syntmp-type-747 syntmp-value-748 syntmp-e-749 syntmp-r-731 syntmp-w-750 syntmp-s-751))) (begin (if (eq? syntmp-m-733 (quote c&e)) (syntmp-top-level-eval-hook-89 syntmp-x-785)) syntmp-x-785)))))))))))) (syntmp-syntax-type-149 (lambda (syntmp-e-786 syntmp-r-787 syntmp-w-788 syntmp-s-789 syntmp-rib-790) (cond ((symbol? syntmp-e-786) (let ((syntmp-n-791 (syntmp-id-var-name-137 syntmp-e-786 syntmp-w-788))) (let ((syntmp-b-792 (syntmp-lookup-112 syntmp-n-791 syntmp-r-787))) (let ((syntmp-type-793 (syntmp-binding-type-107 syntmp-b-792))) (let ((syntmp-t-794 syntmp-type-793)) (if (memv syntmp-t-794 (quote (lexical))) (values syntmp-type-793 (syntmp-binding-value-108 syntmp-b-792) syntmp-e-786 syntmp-w-788 syntmp-s-789) (if (memv syntmp-t-794 (quote (global))) (values syntmp-type-793 syntmp-n-791 syntmp-e-786 syntmp-w-788 syntmp-s-789) (if (memv syntmp-t-794 (quote (macro))) (syntmp-syntax-type-149 (syntmp-chi-macro-154 (syntmp-binding-value-108 syntmp-b-792) syntmp-e-786 syntmp-r-787 syntmp-w-788 syntmp-rib-790) syntmp-r-787 (quote (())) syntmp-s-789 syntmp-rib-790) (values syntmp-type-793 (syntmp-binding-value-108 syntmp-b-792) syntmp-e-786 syntmp-w-788 syntmp-s-789))))))))) ((pair? syntmp-e-786) (let ((syntmp-first-795 (car syntmp-e-786))) (if (syntmp-id?-115 syntmp-first-795) (let ((syntmp-n-796 (syntmp-id-var-name-137 syntmp-first-795 syntmp-w-788))) (let ((syntmp-b-797 (syntmp-lookup-112 syntmp-n-796 syntmp-r-787))) (let ((syntmp-type-798 (syntmp-binding-type-107 syntmp-b-797))) (let ((syntmp-t-799 syntmp-type-798)) (if (memv syntmp-t-799 (quote (lexical))) (values (quote lexical-call) (syntmp-binding-value-108 syntmp-b-797) syntmp-e-786 syntmp-w-788 syntmp-s-789) (if (memv syntmp-t-799 (quote (global))) (values (quote global-call) syntmp-n-796 syntmp-e-786 syntmp-w-788 syntmp-s-789) (if (memv syntmp-t-799 (quote (macro))) (syntmp-syntax-type-149 (syntmp-chi-macro-154 (syntmp-binding-value-108 syntmp-b-797) syntmp-e-786 syntmp-r-787 syntmp-w-788 syntmp-rib-790) syntmp-r-787 (quote (())) syntmp-s-789 syntmp-rib-790) (if (memv syntmp-t-799 (quote (core external-macro))) (values syntmp-type-798 (syntmp-binding-value-108 syntmp-b-797) syntmp-e-786 syntmp-w-788 syntmp-s-789) (if (memv syntmp-t-799 (quote (local-syntax))) (values (quote local-syntax-form) (syntmp-binding-value-108 syntmp-b-797) syntmp-e-786 syntmp-w-788 syntmp-s-789) (if (memv syntmp-t-799 (quote (begin))) (values (quote begin-form) #f syntmp-e-786 syntmp-w-788 syntmp-s-789) (if (memv syntmp-t-799 (quote (eval-when))) (values (quote eval-when-form) #f syntmp-e-786 syntmp-w-788 syntmp-s-789) (if (memv syntmp-t-799 (quote (define))) ((lambda (syntmp-tmp-800) ((lambda (syntmp-tmp-801) (if (if syntmp-tmp-801 (apply (lambda (syntmp-_-802 syntmp-name-803 syntmp-val-804) (syntmp-id?-115 syntmp-name-803)) syntmp-tmp-801) #f) (apply (lambda (syntmp-_-805 syntmp-name-806 syntmp-val-807) (values (quote define-form) syntmp-name-806 syntmp-val-807 syntmp-w-788 syntmp-s-789)) syntmp-tmp-801) ((lambda (syntmp-tmp-808) (if (if syntmp-tmp-808 (apply (lambda (syntmp-_-809 syntmp-name-810 syntmp-args-811 syntmp-e1-812 syntmp-e2-813) (and (syntmp-id?-115 syntmp-name-810) (syntmp-valid-bound-ids?-140 (syntmp-lambda-var-list-164 syntmp-args-811)))) syntmp-tmp-808) #f) (apply (lambda (syntmp-_-814 syntmp-name-815 syntmp-args-816 syntmp-e1-817 syntmp-e2-818) (values (quote define-form) (syntmp-wrap-143 syntmp-name-815 syntmp-w-788) (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) #((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-wrap! set-syntax-object-expression! 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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"))))) (syntmp-wrap-143 (cons syntmp-args-816 (cons syntmp-e1-817 syntmp-e2-818)) syntmp-w-788)) (quote (())) syntmp-s-789)) syntmp-tmp-808) ((lambda (syntmp-tmp-820) (if (if syntmp-tmp-820 (apply (lambda (syntmp-_-821 syntmp-name-822) (syntmp-id?-115 syntmp-name-822)) syntmp-tmp-820) #f) (apply (lambda (syntmp-_-823 syntmp-name-824) (values (quote define-form) (syntmp-wrap-143 syntmp-name-824 syntmp-w-788) (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) #((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-wrap! set-syntax-object-expression! 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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")))))) (quote (())) syntmp-s-789)) syntmp-tmp-820) (syntax-error syntmp-tmp-800))) (syntax-dispatch syntmp-tmp-800 (quote (any any)))))) (syntax-dispatch syntmp-tmp-800 (quote (any (any . any) any . each-any)))))) (syntax-dispatch syntmp-tmp-800 (quote (any any any))))) syntmp-e-786) (if (memv syntmp-t-799 (quote (define-syntax))) ((lambda (syntmp-tmp-825) ((lambda (syntmp-tmp-826) (if (if syntmp-tmp-826 (apply (lambda (syntmp-_-827 syntmp-name-828 syntmp-val-829) (syntmp-id?-115 syntmp-name-828)) syntmp-tmp-826) #f) (apply (lambda (syntmp-_-830 syntmp-name-831 syntmp-val-832) (values (quote define-syntax-form) syntmp-name-831 syntmp-val-832 syntmp-w-788 syntmp-s-789)) syntmp-tmp-826) (syntax-error syntmp-tmp-825))) (syntax-dispatch syntmp-tmp-825 (quote (any any any))))) syntmp-e-786) (values (quote call) #f syntmp-e-786 syntmp-w-788 syntmp-s-789)))))))))))))) (values (quote call) #f syntmp-e-786 syntmp-w-788 syntmp-s-789)))) ((syntmp-syntax-object?-101 syntmp-e-786) (syntmp-syntax-type-149 (syntmp-syntax-object-expression-102 syntmp-e-786) syntmp-r-787 (syntmp-join-wraps-134 syntmp-w-788 (syntmp-syntax-object-wrap-103 syntmp-e-786)) #f syntmp-rib-790)) ((annotation? syntmp-e-786) (syntmp-syntax-type-149 (annotation-expression syntmp-e-786) syntmp-r-787 syntmp-w-788 (annotation-source syntmp-e-786) syntmp-rib-790)) ((self-evaluating? syntmp-e-786) (values (quote constant) #f syntmp-e-786 syntmp-w-788 syntmp-s-789)) (else (values (quote other) #f syntmp-e-786 syntmp-w-788 syntmp-s-789))))) (syntmp-chi-when-list-148 (lambda (syntmp-e-833 syntmp-when-list-834 syntmp-w-835) (let syntmp-f-836 ((syntmp-when-list-837 syntmp-when-list-834) (syntmp-situations-838 (quote ()))) (if (null? syntmp-when-list-837) syntmp-situations-838 (syntmp-f-836 (cdr syntmp-when-list-837) (cons (let ((syntmp-x-839 (car syntmp-when-list-837))) (cond ((syntmp-free-id=?-138 syntmp-x-839 (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-wrap! set-syntax-object-expression! 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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")))))) (quote compile)) ((syntmp-free-id=?-138 syntmp-x-839 (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-wrap! set-syntax-object-expression! 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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")))))) (quote load)) ((syntmp-free-id=?-138 syntmp-x-839 (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-wrap! set-syntax-object-expression! 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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")))))) (quote eval)) (else (syntax-error (syntmp-wrap-143 syntmp-x-839 syntmp-w-835) "invalid eval-when situation")))) syntmp-situations-838)))))) (syntmp-chi-install-global-147 (lambda (syntmp-name-851 syntmp-e-852) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote install-global-transformer)) (syntmp-build-data-95 #f syntmp-name-851) syntmp-e-852)))) (syntmp-chi-top-sequence-146 (lambda (syntmp-body-853 syntmp-r-854 syntmp-w-855 syntmp-s-856 syntmp-m-857 syntmp-esew-858) (syntmp-build-sequence-96 syntmp-s-856 (let syntmp-dobody-859 ((syntmp-body-860 syntmp-body-853) (syntmp-r-861 syntmp-r-854) (syntmp-w-862 syntmp-w-855) (syntmp-m-863 syntmp-m-857) (syntmp-esew-864 syntmp-esew-858)) (if (null? syntmp-body-860) (quote ()) (let ((syntmp-first-865 (syntmp-chi-top-150 (car syntmp-body-860) syntmp-r-861 syntmp-w-862 syntmp-m-863 syntmp-esew-864))) (cons syntmp-first-865 (syntmp-dobody-859 (cdr syntmp-body-860) syntmp-r-861 syntmp-w-862 syntmp-m-863 syntmp-esew-864)))))))) (syntmp-chi-sequence-145 (lambda (syntmp-body-866 syntmp-r-867 syntmp-w-868 syntmp-s-869) (syntmp-build-sequence-96 syntmp-s-869 (let syntmp-dobody-870 ((syntmp-body-871 syntmp-body-866) (syntmp-r-872 syntmp-r-867) (syntmp-w-873 syntmp-w-868)) (if (null? syntmp-body-871) (quote ()) (let ((syntmp-first-874 (syntmp-chi-151 (car syntmp-body-871) syntmp-r-872 syntmp-w-873))) (cons syntmp-first-874 (syntmp-dobody-870 (cdr syntmp-body-871) syntmp-r-872 syntmp-w-873)))))))) (syntmp-source-wrap-144 (lambda (syntmp-x-875 syntmp-w-876 syntmp-s-877) (syntmp-wrap-143 (if syntmp-s-877 (make-annotation syntmp-x-875 syntmp-s-877 #f) syntmp-x-875) syntmp-w-876))) (syntmp-wrap-143 (lambda (syntmp-x-878 syntmp-w-879) (cond ((and (null? (syntmp-wrap-marks-118 syntmp-w-879)) (null? (syntmp-wrap-subst-119 syntmp-w-879))) syntmp-x-878) ((syntmp-syntax-object?-101 syntmp-x-878) (syntmp-make-syntax-object-100 (syntmp-syntax-object-expression-102 syntmp-x-878) (syntmp-join-wraps-134 syntmp-w-879 (syntmp-syntax-object-wrap-103 syntmp-x-878)))) ((null? syntmp-x-878) syntmp-x-878) (else (syntmp-make-syntax-object-100 syntmp-x-878 syntmp-w-879))))) (syntmp-bound-id-member?-142 (lambda (syntmp-x-880 syntmp-list-881) (and (not (null? syntmp-list-881)) (or (syntmp-bound-id=?-139 syntmp-x-880 (car syntmp-list-881)) (syntmp-bound-id-member?-142 syntmp-x-880 (cdr syntmp-list-881)))))) (syntmp-distinct-bound-ids?-141 (lambda (syntmp-ids-882) (let syntmp-distinct?-883 ((syntmp-ids-884 syntmp-ids-882)) (or (null? syntmp-ids-884) (and (not (syntmp-bound-id-member?-142 (car syntmp-ids-884) (cdr syntmp-ids-884))) (syntmp-distinct?-883 (cdr syntmp-ids-884))))))) (syntmp-valid-bound-ids?-140 (lambda (syntmp-ids-885) (and (let syntmp-all-ids?-886 ((syntmp-ids-887 syntmp-ids-885)) (or (null? syntmp-ids-887) (and (syntmp-id?-115 (car syntmp-ids-887)) (syntmp-all-ids?-886 (cdr syntmp-ids-887))))) (syntmp-distinct-bound-ids?-141 syntmp-ids-885)))) (syntmp-bound-id=?-139 (lambda (syntmp-i-888 syntmp-j-889) (if (and (syntmp-syntax-object?-101 syntmp-i-888) (syntmp-syntax-object?-101 syntmp-j-889)) (and (eq? (let ((syntmp-e-890 (syntmp-syntax-object-expression-102 syntmp-i-888))) (if (annotation? syntmp-e-890) (annotation-expression syntmp-e-890) syntmp-e-890)) (let ((syntmp-e-891 (syntmp-syntax-object-expression-102 syntmp-j-889))) (if (annotation? syntmp-e-891) (annotation-expression syntmp-e-891) syntmp-e-891))) (syntmp-same-marks?-136 (syntmp-wrap-marks-118 (syntmp-syntax-object-wrap-103 syntmp-i-888)) (syntmp-wrap-marks-118 (syntmp-syntax-object-wrap-103 syntmp-j-889)))) (eq? (let ((syntmp-e-892 syntmp-i-888)) (if (annotation? syntmp-e-892) (annotation-expression syntmp-e-892) syntmp-e-892)) (let ((syntmp-e-893 syntmp-j-889)) (if (annotation? syntmp-e-893) (annotation-expression syntmp-e-893) syntmp-e-893)))))) (syntmp-free-id=?-138 (lambda (syntmp-i-894 syntmp-j-895) (and (eq? (let ((syntmp-x-896 syntmp-i-894)) (let ((syntmp-e-897 (if (syntmp-syntax-object?-101 syntmp-x-896) (syntmp-syntax-object-expression-102 syntmp-x-896) syntmp-x-896))) (if (annotation? syntmp-e-897) (annotation-expression syntmp-e-897) syntmp-e-897))) (let ((syntmp-x-898 syntmp-j-895)) (let ((syntmp-e-899 (if (syntmp-syntax-object?-101 syntmp-x-898) (syntmp-syntax-object-expression-102 syntmp-x-898) syntmp-x-898))) (if (annotation? syntmp-e-899) (annotation-expression syntmp-e-899) syntmp-e-899)))) (eq? (syntmp-id-var-name-137 syntmp-i-894 (quote (()))) (syntmp-id-var-name-137 syntmp-j-895 (quote (()))))))) (syntmp-id-var-name-137 (lambda (syntmp-id-900 syntmp-w-901) (letrec ((syntmp-search-vector-rib-904 (lambda (syntmp-sym-915 syntmp-subst-916 syntmp-marks-917 syntmp-symnames-918 syntmp-ribcage-919) (let ((syntmp-n-920 (vector-length syntmp-symnames-918))) (let syntmp-f-921 ((syntmp-i-922 0)) (cond ((syntmp-fx=-87 syntmp-i-922 syntmp-n-920) (syntmp-search-902 syntmp-sym-915 (cdr syntmp-subst-916) syntmp-marks-917)) ((and (eq? (vector-ref syntmp-symnames-918 syntmp-i-922) syntmp-sym-915) (syntmp-same-marks?-136 syntmp-marks-917 (vector-ref (syntmp-ribcage-marks-125 syntmp-ribcage-919) syntmp-i-922))) (values (vector-ref (syntmp-ribcage-labels-126 syntmp-ribcage-919) syntmp-i-922) syntmp-marks-917)) (else (syntmp-f-921 (syntmp-fx+-85 syntmp-i-922 1)))))))) (syntmp-search-list-rib-903 (lambda (syntmp-sym-923 syntmp-subst-924 syntmp-marks-925 syntmp-symnames-926 syntmp-ribcage-927) (let syntmp-f-928 ((syntmp-symnames-929 syntmp-symnames-926) (syntmp-i-930 0)) (cond ((null? syntmp-symnames-929) (syntmp-search-902 syntmp-sym-923 (cdr syntmp-subst-924) syntmp-marks-925)) ((and (eq? (car syntmp-symnames-929) syntmp-sym-923) (syntmp-same-marks?-136 syntmp-marks-925 (list-ref (syntmp-ribcage-marks-125 syntmp-ribcage-927) syntmp-i-930))) (values (list-ref (syntmp-ribcage-labels-126 syntmp-ribcage-927) syntmp-i-930) syntmp-marks-925)) (else (syntmp-f-928 (cdr syntmp-symnames-929) (syntmp-fx+-85 syntmp-i-930 1))))))) (syntmp-search-902 (lambda (syntmp-sym-931 syntmp-subst-932 syntmp-marks-933) (if (null? syntmp-subst-932) (values #f syntmp-marks-933) (let ((syntmp-fst-934 (car syntmp-subst-932))) (if (eq? syntmp-fst-934 (quote shift)) (syntmp-search-902 syntmp-sym-931 (cdr syntmp-subst-932) (cdr syntmp-marks-933)) (let ((syntmp-symnames-935 (syntmp-ribcage-symnames-124 syntmp-fst-934))) (if (vector? syntmp-symnames-935) (syntmp-search-vector-rib-904 syntmp-sym-931 syntmp-subst-932 syntmp-marks-933 syntmp-symnames-935 syntmp-fst-934) (syntmp-search-list-rib-903 syntmp-sym-931 syntmp-subst-932 syntmp-marks-933 syntmp-symnames-935 syntmp-fst-934))))))))) (cond ((symbol? syntmp-id-900) (or (call-with-values (lambda () (syntmp-search-902 syntmp-id-900 (syntmp-wrap-subst-119 syntmp-w-901) (syntmp-wrap-marks-118 syntmp-w-901))) (lambda (syntmp-x-937 . syntmp-ignore-936) syntmp-x-937)) syntmp-id-900)) ((syntmp-syntax-object?-101 syntmp-id-900) (let ((syntmp-id-938 (let ((syntmp-e-940 (syntmp-syntax-object-expression-102 syntmp-id-900))) (if (annotation? syntmp-e-940) (annotation-expression syntmp-e-940) syntmp-e-940))) (syntmp-w1-939 (syntmp-syntax-object-wrap-103 syntmp-id-900))) (let ((syntmp-marks-941 (syntmp-join-marks-135 (syntmp-wrap-marks-118 syntmp-w-901) (syntmp-wrap-marks-118 syntmp-w1-939)))) (call-with-values (lambda () (syntmp-search-902 syntmp-id-938 (syntmp-wrap-subst-119 syntmp-w-901) syntmp-marks-941)) (lambda (syntmp-new-id-942 syntmp-marks-943) (or syntmp-new-id-942 (call-with-values (lambda () (syntmp-search-902 syntmp-id-938 (syntmp-wrap-subst-119 syntmp-w1-939) syntmp-marks-943)) (lambda (syntmp-x-945 . syntmp-ignore-944) syntmp-x-945)) syntmp-id-938)))))) ((annotation? syntmp-id-900) (let ((syntmp-id-946 (let ((syntmp-e-947 syntmp-id-900)) (if (annotation? syntmp-e-947) (annotation-expression syntmp-e-947) syntmp-e-947)))) (or (call-with-values (lambda () (syntmp-search-902 syntmp-id-946 (syntmp-wrap-subst-119 syntmp-w-901) (syntmp-wrap-marks-118 syntmp-w-901))) (lambda (syntmp-x-949 . syntmp-ignore-948) syntmp-x-949)) syntmp-id-946))) (else (syntmp-error-hook-91 (quote id-var-name) "invalid id" syntmp-id-900)))))) (syntmp-same-marks?-136 (lambda (syntmp-x-950 syntmp-y-951) (or (eq? syntmp-x-950 syntmp-y-951) (and (not (null? syntmp-x-950)) (not (null? syntmp-y-951)) (eq? (car syntmp-x-950) (car syntmp-y-951)) (syntmp-same-marks?-136 (cdr syntmp-x-950) (cdr syntmp-y-951)))))) (syntmp-join-marks-135 (lambda (syntmp-m1-952 syntmp-m2-953) (syntmp-smart-append-133 syntmp-m1-952 syntmp-m2-953))) (syntmp-join-wraps-134 (lambda (syntmp-w1-954 syntmp-w2-955) (let ((syntmp-m1-956 (syntmp-wrap-marks-118 syntmp-w1-954)) (syntmp-s1-957 (syntmp-wrap-subst-119 syntmp-w1-954))) (if (null? syntmp-m1-956) (if (null? syntmp-s1-957) syntmp-w2-955 (syntmp-make-wrap-117 (syntmp-wrap-marks-118 syntmp-w2-955) (syntmp-smart-append-133 syntmp-s1-957 (syntmp-wrap-subst-119 syntmp-w2-955)))) (syntmp-make-wrap-117 (syntmp-smart-append-133 syntmp-m1-956 (syntmp-wrap-marks-118 syntmp-w2-955)) (syntmp-smart-append-133 syntmp-s1-957 (syntmp-wrap-subst-119 syntmp-w2-955))))))) (syntmp-smart-append-133 (lambda (syntmp-m1-958 syntmp-m2-959) (if (null? syntmp-m2-959) syntmp-m1-958 (append syntmp-m1-958 syntmp-m2-959)))) (syntmp-make-binding-wrap-132 (lambda (syntmp-ids-960 syntmp-labels-961 syntmp-w-962) (if (null? syntmp-ids-960) syntmp-w-962 (syntmp-make-wrap-117 (syntmp-wrap-marks-118 syntmp-w-962) (cons (let ((syntmp-labelvec-963 (list->vector syntmp-labels-961))) (let ((syntmp-n-964 (vector-length syntmp-labelvec-963))) (let ((syntmp-symnamevec-965 (make-vector syntmp-n-964)) (syntmp-marksvec-966 (make-vector syntmp-n-964))) (begin (let syntmp-f-967 ((syntmp-ids-968 syntmp-ids-960) (syntmp-i-969 0)) (if (not (null? syntmp-ids-968)) (call-with-values (lambda () (syntmp-id-sym-name&marks-116 (car syntmp-ids-968) syntmp-w-962)) (lambda (syntmp-symname-970 syntmp-marks-971) (begin (vector-set! syntmp-symnamevec-965 syntmp-i-969 syntmp-symname-970) (vector-set! syntmp-marksvec-966 syntmp-i-969 syntmp-marks-971) (syntmp-f-967 (cdr syntmp-ids-968) (syntmp-fx+-85 syntmp-i-969 1))))))) (syntmp-make-ribcage-122 syntmp-symnamevec-965 syntmp-marksvec-966 syntmp-labelvec-963))))) (syntmp-wrap-subst-119 syntmp-w-962)))))) (syntmp-extend-ribcage!-131 (lambda (syntmp-ribcage-972 syntmp-id-973 syntmp-label-974) (begin (syntmp-set-ribcage-symnames!-127 syntmp-ribcage-972 (cons (let ((syntmp-e-975 (syntmp-syntax-object-expression-102 syntmp-id-973))) (if (annotation? syntmp-e-975) (annotation-expression syntmp-e-975) syntmp-e-975)) (syntmp-ribcage-symnames-124 syntmp-ribcage-972))) (syntmp-set-ribcage-marks!-128 syntmp-ribcage-972 (cons (syntmp-wrap-marks-118 (syntmp-syntax-object-wrap-103 syntmp-id-973)) (syntmp-ribcage-marks-125 syntmp-ribcage-972))) (syntmp-set-ribcage-labels!-129 syntmp-ribcage-972 (cons syntmp-label-974 (syntmp-ribcage-labels-126 syntmp-ribcage-972)))))) (syntmp-anti-mark-130 (lambda (syntmp-w-976) (syntmp-make-wrap-117 (cons #f (syntmp-wrap-marks-118 syntmp-w-976)) (cons (quote shift) (syntmp-wrap-subst-119 syntmp-w-976))))) (syntmp-set-ribcage-labels!-129 (lambda (syntmp-x-977 syntmp-update-978) (vector-set! syntmp-x-977 3 syntmp-update-978))) (syntmp-set-ribcage-marks!-128 (lambda (syntmp-x-979 syntmp-update-980) (vector-set! syntmp-x-979 2 syntmp-update-980))) (syntmp-set-ribcage-symnames!-127 (lambda (syntmp-x-981 syntmp-update-982) (vector-set! syntmp-x-981 1 syntmp-update-982))) (syntmp-ribcage-labels-126 (lambda (syntmp-x-983) (vector-ref syntmp-x-983 3))) (syntmp-ribcage-marks-125 (lambda (syntmp-x-984) (vector-ref syntmp-x-984 2))) (syntmp-ribcage-symnames-124 (lambda (syntmp-x-985) (vector-ref syntmp-x-985 1))) (syntmp-ribcage?-123 (lambda (syntmp-x-986) (and (vector? syntmp-x-986) (= (vector-length syntmp-x-986) 4) (eq? (vector-ref syntmp-x-986 0) (quote ribcage))))) (syntmp-make-ribcage-122 (lambda (syntmp-symnames-987 syntmp-marks-988 syntmp-labels-989) (vector (quote ribcage) syntmp-symnames-987 syntmp-marks-988 syntmp-labels-989))) (syntmp-gen-labels-121 (lambda (syntmp-ls-990) (if (null? syntmp-ls-990) (quote ()) (cons (syntmp-gen-label-120) (syntmp-gen-labels-121 (cdr syntmp-ls-990)))))) (syntmp-gen-label-120 (lambda () (string #\i))) (syntmp-wrap-subst-119 cdr) (syntmp-wrap-marks-118 car) (syntmp-make-wrap-117 cons) (syntmp-id-sym-name&marks-116 (lambda (syntmp-x-991 syntmp-w-992) (if (syntmp-syntax-object?-101 syntmp-x-991) (values (let ((syntmp-e-993 (syntmp-syntax-object-expression-102 syntmp-x-991))) (if (annotation? syntmp-e-993) (annotation-expression syntmp-e-993) syntmp-e-993)) (syntmp-join-marks-135 (syntmp-wrap-marks-118 syntmp-w-992) (syntmp-wrap-marks-118 (syntmp-syntax-object-wrap-103 syntmp-x-991)))) (values (let ((syntmp-e-994 syntmp-x-991)) (if (annotation? syntmp-e-994) (annotation-expression syntmp-e-994) syntmp-e-994)) (syntmp-wrap-marks-118 syntmp-w-992))))) (syntmp-id?-115 (lambda (syntmp-x-995) (cond ((symbol? syntmp-x-995) #t) ((syntmp-syntax-object?-101 syntmp-x-995) (symbol? (let ((syntmp-e-996 (syntmp-syntax-object-expression-102 syntmp-x-995))) (if (annotation? syntmp-e-996) (annotation-expression syntmp-e-996) syntmp-e-996)))) ((annotation? syntmp-x-995) (symbol? (annotation-expression syntmp-x-995))) (else #f)))) (syntmp-nonsymbol-id?-114 (lambda (syntmp-x-997) (and (syntmp-syntax-object?-101 syntmp-x-997) (symbol? (let ((syntmp-e-998 (syntmp-syntax-object-expression-102 syntmp-x-997))) (if (annotation? syntmp-e-998) (annotation-expression syntmp-e-998) syntmp-e-998)))))) (syntmp-global-extend-113 (lambda (syntmp-type-999 syntmp-sym-1000 syntmp-val-1001) (syntmp-put-global-definition-hook-92 syntmp-sym-1000 (cons syntmp-type-999 syntmp-val-1001)))) (syntmp-lookup-112 (lambda (syntmp-x-1002 syntmp-r-1003) (cond ((assq syntmp-x-1002 syntmp-r-1003) => cdr) ((symbol? syntmp-x-1002) (or (syntmp-get-global-definition-hook-93 syntmp-x-1002) (quote (global)))) (else (quote (displaced-lexical)))))) (syntmp-macros-only-env-111 (lambda (syntmp-r-1004) (if (null? syntmp-r-1004) (quote ()) (let ((syntmp-a-1005 (car syntmp-r-1004))) (if (eq? (cadr syntmp-a-1005) (quote macro)) (cons syntmp-a-1005 (syntmp-macros-only-env-111 (cdr syntmp-r-1004))) (syntmp-macros-only-env-111 (cdr syntmp-r-1004))))))) (syntmp-extend-var-env-110 (lambda (syntmp-labels-1006 syntmp-vars-1007 syntmp-r-1008) (if (null? syntmp-labels-1006) syntmp-r-1008 (syntmp-extend-var-env-110 (cdr syntmp-labels-1006) (cdr syntmp-vars-1007) (cons (cons (car syntmp-labels-1006) (cons (quote lexical) (car syntmp-vars-1007))) syntmp-r-1008))))) (syntmp-extend-env-109 (lambda (syntmp-labels-1009 syntmp-bindings-1010 syntmp-r-1011) (if (null? syntmp-labels-1009) syntmp-r-1011 (syntmp-extend-env-109 (cdr syntmp-labels-1009) (cdr syntmp-bindings-1010) (cons (cons (car syntmp-labels-1009) (car syntmp-bindings-1010)) syntmp-r-1011))))) (syntmp-binding-value-108 cdr) (syntmp-binding-type-107 car) (syntmp-source-annotation-106 (lambda (syntmp-x-1012) (cond ((annotation? syntmp-x-1012) (annotation-source syntmp-x-1012)) ((syntmp-syntax-object?-101 syntmp-x-1012) (syntmp-source-annotation-106 (syntmp-syntax-object-expression-102 syntmp-x-1012))) (else #f)))) (syntmp-set-syntax-object-wrap!-105 (lambda (syntmp-x-1013 syntmp-update-1014) (vector-set! syntmp-x-1013 2 syntmp-update-1014))) (syntmp-set-syntax-object-expression!-104 (lambda (syntmp-x-1015 syntmp-update-1016) (vector-set! syntmp-x-1015 1 syntmp-update-1016))) (syntmp-syntax-object-wrap-103 (lambda (syntmp-x-1017) (vector-ref syntmp-x-1017 2))) (syntmp-syntax-object-expression-102 (lambda (syntmp-x-1018) (vector-ref syntmp-x-1018 1))) (syntmp-syntax-object?-101 (lambda (syntmp-x-1019) (and (vector? syntmp-x-1019) (= (vector-length syntmp-x-1019) 3) (eq? (vector-ref syntmp-x-1019 0) (quote syntax-object))))) (syntmp-make-syntax-object-100 (lambda (syntmp-expression-1020 syntmp-wrap-1021) (vector (quote syntax-object) syntmp-expression-1020 syntmp-wrap-1021))) (syntmp-build-letrec-99 (lambda (syntmp-src-1022 syntmp-vars-1023 syntmp-val-exps-1024 syntmp-body-exp-1025) (if (null? syntmp-vars-1023) (syntmp-build-annotated-94 syntmp-src-1022 syntmp-body-exp-1025) (syntmp-build-annotated-94 syntmp-src-1022 (list (quote letrec) (map list syntmp-vars-1023 syntmp-val-exps-1024) syntmp-body-exp-1025))))) (syntmp-build-named-let-98 (lambda (syntmp-src-1026 syntmp-vars-1027 syntmp-val-exps-1028 syntmp-body-exp-1029) (if (null? syntmp-vars-1027) (syntmp-build-annotated-94 syntmp-src-1026 syntmp-body-exp-1029) (syntmp-build-annotated-94 syntmp-src-1026 (list (quote let) (car syntmp-vars-1027) (map list (cdr syntmp-vars-1027) syntmp-val-exps-1028) syntmp-body-exp-1029))))) (syntmp-build-let-97 (lambda (syntmp-src-1030 syntmp-vars-1031 syntmp-val-exps-1032 syntmp-body-exp-1033) (if (null? syntmp-vars-1031) (syntmp-build-annotated-94 syntmp-src-1030 syntmp-body-exp-1033) (syntmp-build-annotated-94 syntmp-src-1030 (list (quote let) (map list syntmp-vars-1031 syntmp-val-exps-1032) syntmp-body-exp-1033))))) (syntmp-build-sequence-96 (lambda (syntmp-src-1034 syntmp-exps-1035) (if (null? (cdr syntmp-exps-1035)) (syntmp-build-annotated-94 syntmp-src-1034 (car syntmp-exps-1035)) (syntmp-build-annotated-94 syntmp-src-1034 (cons (quote begin) syntmp-exps-1035))))) (syntmp-build-data-95 (lambda (syntmp-src-1036 syntmp-exp-1037) (if (and (self-evaluating? syntmp-exp-1037) (not (vector? syntmp-exp-1037))) (syntmp-build-annotated-94 syntmp-src-1036 syntmp-exp-1037) (syntmp-build-annotated-94 syntmp-src-1036 (list (quote quote) syntmp-exp-1037))))) (syntmp-build-annotated-94 (lambda (syntmp-src-1038 syntmp-exp-1039) (if (and syntmp-src-1038 (not (annotation? syntmp-exp-1039))) (make-annotation syntmp-exp-1039 syntmp-src-1038 #t) syntmp-exp-1039))) (syntmp-get-global-definition-hook-93 (lambda (syntmp-symbol-1040) (getprop syntmp-symbol-1040 (quote *sc-expander*)))) (syntmp-put-global-definition-hook-92 (lambda (syntmp-symbol-1041 syntmp-binding-1042) (putprop syntmp-symbol-1041 (quote *sc-expander*) syntmp-binding-1042))) (syntmp-error-hook-91 (lambda (syntmp-who-1043 syntmp-why-1044 syntmp-what-1045) (error syntmp-who-1043 "~a ~s" syntmp-why-1044 syntmp-what-1045))) (syntmp-local-eval-hook-90 (lambda (syntmp-x-1046) (eval (list syntmp-noexpand-84 syntmp-x-1046) (interaction-environment)))) (syntmp-top-level-eval-hook-89 (lambda (syntmp-x-1047) (eval (list syntmp-noexpand-84 syntmp-x-1047) (interaction-environment)))) (syntmp-fx<-88 <) (syntmp-fx=-87 =) (syntmp-fx--86 -) (syntmp-fx+-85 +) (syntmp-noexpand-84 "noexpand")) (begin (syntmp-global-extend-113 (quote local-syntax) (quote letrec-syntax) #t) (syntmp-global-extend-113 (quote local-syntax) (quote let-syntax) #f) (syntmp-global-extend-113 (quote core) (quote fluid-let-syntax) (lambda (syntmp-e-1048 syntmp-r-1049 syntmp-w-1050 syntmp-s-1051) ((lambda (syntmp-tmp-1052) ((lambda (syntmp-tmp-1053) (if (if syntmp-tmp-1053 (apply (lambda (syntmp-_-1054 syntmp-var-1055 syntmp-val-1056 syntmp-e1-1057 syntmp-e2-1058) (syntmp-valid-bound-ids?-140 syntmp-var-1055)) syntmp-tmp-1053) #f) (apply (lambda (syntmp-_-1060 syntmp-var-1061 syntmp-val-1062 syntmp-e1-1063 syntmp-e2-1064) (let ((syntmp-names-1065 (map (lambda (syntmp-x-1066) (syntmp-id-var-name-137 syntmp-x-1066 syntmp-w-1050)) syntmp-var-1061))) (begin (for-each (lambda (syntmp-id-1068 syntmp-n-1069) (let ((syntmp-t-1070 (syntmp-binding-type-107 (syntmp-lookup-112 syntmp-n-1069 syntmp-r-1049)))) (if (memv syntmp-t-1070 (quote (displaced-lexical))) (syntax-error (syntmp-source-wrap-144 syntmp-id-1068 syntmp-w-1050 syntmp-s-1051) "identifier out of context")))) syntmp-var-1061 syntmp-names-1065) (syntmp-chi-body-155 (cons syntmp-e1-1063 syntmp-e2-1064) (syntmp-source-wrap-144 syntmp-e-1048 syntmp-w-1050 syntmp-s-1051) (syntmp-extend-env-109 syntmp-names-1065 (let ((syntmp-trans-r-1073 (syntmp-macros-only-env-111 syntmp-r-1049))) (map (lambda (syntmp-x-1074) (cons (quote macro) (syntmp-eval-local-transformer-158 (syntmp-chi-151 syntmp-x-1074 syntmp-trans-r-1073 syntmp-w-1050)))) syntmp-val-1062)) syntmp-r-1049) syntmp-w-1050)))) syntmp-tmp-1053) ((lambda (syntmp-_-1076) (syntax-error (syntmp-source-wrap-144 syntmp-e-1048 syntmp-w-1050 syntmp-s-1051))) syntmp-tmp-1052))) (syntax-dispatch syntmp-tmp-1052 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1048))) (syntmp-global-extend-113 (quote core) (quote quote) (lambda (syntmp-e-1077 syntmp-r-1078 syntmp-w-1079 syntmp-s-1080) ((lambda (syntmp-tmp-1081) ((lambda (syntmp-tmp-1082) (if syntmp-tmp-1082 (apply (lambda (syntmp-_-1083 syntmp-e-1084) (syntmp-build-data-95 syntmp-s-1080 (syntmp-strip-162 syntmp-e-1084 syntmp-w-1079))) syntmp-tmp-1082) ((lambda (syntmp-_-1085) (syntax-error (syntmp-source-wrap-144 syntmp-e-1077 syntmp-w-1079 syntmp-s-1080))) syntmp-tmp-1081))) (syntax-dispatch syntmp-tmp-1081 (quote (any any))))) syntmp-e-1077))) (syntmp-global-extend-113 (quote core) (quote syntax) (letrec ((syntmp-regen-1093 (lambda (syntmp-x-1094) (let ((syntmp-t-1095 (car syntmp-x-1094))) (if (memv syntmp-t-1095 (quote (ref))) (syntmp-build-annotated-94 #f (cadr syntmp-x-1094)) (if (memv syntmp-t-1095 (quote (primitive))) (syntmp-build-annotated-94 #f (cadr syntmp-x-1094)) (if (memv syntmp-t-1095 (quote (quote))) (syntmp-build-data-95 #f (cadr syntmp-x-1094)) (if (memv syntmp-t-1095 (quote (lambda))) (syntmp-build-annotated-94 #f (list (quote lambda) (cadr syntmp-x-1094) (syntmp-regen-1093 (caddr syntmp-x-1094)))) (if (memv syntmp-t-1095 (quote (map))) (let ((syntmp-ls-1096 (map syntmp-regen-1093 (cdr syntmp-x-1094)))) (syntmp-build-annotated-94 #f (cons (if (syntmp-fx=-87 (length syntmp-ls-1096) 2) (syntmp-build-annotated-94 #f (quote map)) (syntmp-build-annotated-94 #f (quote map))) syntmp-ls-1096))) (syntmp-build-annotated-94 #f (cons (syntmp-build-annotated-94 #f (car syntmp-x-1094)) (map syntmp-regen-1093 (cdr syntmp-x-1094)))))))))))) (syntmp-gen-vector-1092 (lambda (syntmp-x-1097) (cond ((eq? (car syntmp-x-1097) (quote list)) (cons (quote vector) (cdr syntmp-x-1097))) ((eq? (car syntmp-x-1097) (quote quote)) (list (quote quote) (list->vector (cadr syntmp-x-1097)))) (else (list (quote list->vector) syntmp-x-1097))))) (syntmp-gen-append-1091 (lambda (syntmp-x-1098 syntmp-y-1099) (if (equal? syntmp-y-1099 (quote (quote ()))) syntmp-x-1098 (list (quote append) syntmp-x-1098 syntmp-y-1099)))) (syntmp-gen-cons-1090 (lambda (syntmp-x-1100 syntmp-y-1101) (let ((syntmp-t-1102 (car syntmp-y-1101))) (if (memv syntmp-t-1102 (quote (quote))) (if (eq? (car syntmp-x-1100) (quote quote)) (list (quote quote) (cons (cadr syntmp-x-1100) (cadr syntmp-y-1101))) (if (eq? (cadr syntmp-y-1101) (quote ())) (list (quote list) syntmp-x-1100) (list (quote cons) syntmp-x-1100 syntmp-y-1101))) (if (memv syntmp-t-1102 (quote (list))) (cons (quote list) (cons syntmp-x-1100 (cdr syntmp-y-1101))) (list (quote cons) syntmp-x-1100 syntmp-y-1101)))))) (syntmp-gen-map-1089 (lambda (syntmp-e-1103 syntmp-map-env-1104) (let ((syntmp-formals-1105 (map cdr syntmp-map-env-1104)) (syntmp-actuals-1106 (map (lambda (syntmp-x-1107) (list (quote ref) (car syntmp-x-1107))) syntmp-map-env-1104))) (cond ((eq? (car syntmp-e-1103) (quote ref)) (car syntmp-actuals-1106)) ((andmap (lambda (syntmp-x-1108) (and (eq? (car syntmp-x-1108) (quote ref)) (memq (cadr syntmp-x-1108) syntmp-formals-1105))) (cdr syntmp-e-1103)) (cons (quote map) (cons (list (quote primitive) (car syntmp-e-1103)) (map (let ((syntmp-r-1109 (map cons syntmp-formals-1105 syntmp-actuals-1106))) (lambda (syntmp-x-1110) (cdr (assq (cadr syntmp-x-1110) syntmp-r-1109)))) (cdr syntmp-e-1103))))) (else (cons (quote map) (cons (list (quote lambda) syntmp-formals-1105 syntmp-e-1103) syntmp-actuals-1106))))))) (syntmp-gen-mappend-1088 (lambda (syntmp-e-1111 syntmp-map-env-1112) (list (quote apply) (quote (primitive append)) (syntmp-gen-map-1089 syntmp-e-1111 syntmp-map-env-1112)))) (syntmp-gen-ref-1087 (lambda (syntmp-src-1113 syntmp-var-1114 syntmp-level-1115 syntmp-maps-1116) (if (syntmp-fx=-87 syntmp-level-1115 0) (values syntmp-var-1114 syntmp-maps-1116) (if (null? syntmp-maps-1116) (syntax-error syntmp-src-1113 "missing ellipsis in syntax form") (call-with-values (lambda () (syntmp-gen-ref-1087 syntmp-src-1113 syntmp-var-1114 (syntmp-fx--86 syntmp-level-1115 1) (cdr syntmp-maps-1116))) (lambda (syntmp-outer-var-1117 syntmp-outer-maps-1118) (let ((syntmp-b-1119 (assq syntmp-outer-var-1117 (car syntmp-maps-1116)))) (if syntmp-b-1119 (values (cdr syntmp-b-1119) syntmp-maps-1116) (let ((syntmp-inner-var-1120 (syntmp-gen-var-163 (quote tmp)))) (values syntmp-inner-var-1120 (cons (cons (cons syntmp-outer-var-1117 syntmp-inner-var-1120) (car syntmp-maps-1116)) syntmp-outer-maps-1118))))))))))) (syntmp-gen-syntax-1086 (lambda (syntmp-src-1121 syntmp-e-1122 syntmp-r-1123 syntmp-maps-1124 syntmp-ellipsis?-1125) (if (syntmp-id?-115 syntmp-e-1122) (let ((syntmp-label-1126 (syntmp-id-var-name-137 syntmp-e-1122 (quote (()))))) (let ((syntmp-b-1127 (syntmp-lookup-112 syntmp-label-1126 syntmp-r-1123))) (if (eq? (syntmp-binding-type-107 syntmp-b-1127) (quote syntax)) (call-with-values (lambda () (let ((syntmp-var.lev-1128 (syntmp-binding-value-108 syntmp-b-1127))) (syntmp-gen-ref-1087 syntmp-src-1121 (car syntmp-var.lev-1128) (cdr syntmp-var.lev-1128) syntmp-maps-1124))) (lambda (syntmp-var-1129 syntmp-maps-1130) (values (list (quote ref) syntmp-var-1129) syntmp-maps-1130))) (if (syntmp-ellipsis?-1125 syntmp-e-1122) (syntax-error syntmp-src-1121 "misplaced ellipsis in syntax form") (values (list (quote quote) syntmp-e-1122) syntmp-maps-1124))))) ((lambda (syntmp-tmp-1131) ((lambda (syntmp-tmp-1132) (if (if syntmp-tmp-1132 (apply (lambda (syntmp-dots-1133 syntmp-e-1134) (syntmp-ellipsis?-1125 syntmp-dots-1133)) syntmp-tmp-1132) #f) (apply (lambda (syntmp-dots-1135 syntmp-e-1136) (syntmp-gen-syntax-1086 syntmp-src-1121 syntmp-e-1136 syntmp-r-1123 syntmp-maps-1124 (lambda (syntmp-x-1137) #f))) syntmp-tmp-1132) ((lambda (syntmp-tmp-1138) (if (if syntmp-tmp-1138 (apply (lambda (syntmp-x-1139 syntmp-dots-1140 syntmp-y-1141) (syntmp-ellipsis?-1125 syntmp-dots-1140)) syntmp-tmp-1138) #f) (apply (lambda (syntmp-x-1142 syntmp-dots-1143 syntmp-y-1144) (let syntmp-f-1145 ((syntmp-y-1146 syntmp-y-1144) (syntmp-k-1147 (lambda (syntmp-maps-1148) (call-with-values (lambda () (syntmp-gen-syntax-1086 syntmp-src-1121 syntmp-x-1142 syntmp-r-1123 (cons (quote ()) syntmp-maps-1148) syntmp-ellipsis?-1125)) (lambda (syntmp-x-1149 syntmp-maps-1150) (if (null? (car syntmp-maps-1150)) (syntax-error syntmp-src-1121 "extra ellipsis in syntax form") (values (syntmp-gen-map-1089 syntmp-x-1149 (car syntmp-maps-1150)) (cdr syntmp-maps-1150)))))))) ((lambda (syntmp-tmp-1151) ((lambda (syntmp-tmp-1152) (if (if syntmp-tmp-1152 (apply (lambda (syntmp-dots-1153 syntmp-y-1154) (syntmp-ellipsis?-1125 syntmp-dots-1153)) syntmp-tmp-1152) #f) (apply (lambda (syntmp-dots-1155 syntmp-y-1156) (syntmp-f-1145 syntmp-y-1156 (lambda (syntmp-maps-1157) (call-with-values (lambda () (syntmp-k-1147 (cons (quote ()) syntmp-maps-1157))) (lambda (syntmp-x-1158 syntmp-maps-1159) (if (null? (car syntmp-maps-1159)) (syntax-error syntmp-src-1121 "extra ellipsis in syntax form") (values (syntmp-gen-mappend-1088 syntmp-x-1158 (car syntmp-maps-1159)) (cdr syntmp-maps-1159)))))))) syntmp-tmp-1152) ((lambda (syntmp-_-1160) (call-with-values (lambda () (syntmp-gen-syntax-1086 syntmp-src-1121 syntmp-y-1146 syntmp-r-1123 syntmp-maps-1124 syntmp-ellipsis?-1125)) (lambda (syntmp-y-1161 syntmp-maps-1162) (call-with-values (lambda () (syntmp-k-1147 syntmp-maps-1162)) (lambda (syntmp-x-1163 syntmp-maps-1164) (values (syntmp-gen-append-1091 syntmp-x-1163 syntmp-y-1161) syntmp-maps-1164)))))) syntmp-tmp-1151))) (syntax-dispatch syntmp-tmp-1151 (quote (any . any))))) syntmp-y-1146))) syntmp-tmp-1138) ((lambda (syntmp-tmp-1165) (if syntmp-tmp-1165 (apply (lambda (syntmp-x-1166 syntmp-y-1167) (call-with-values (lambda () (syntmp-gen-syntax-1086 syntmp-src-1121 syntmp-x-1166 syntmp-r-1123 syntmp-maps-1124 syntmp-ellipsis?-1125)) (lambda (syntmp-x-1168 syntmp-maps-1169) (call-with-values (lambda () (syntmp-gen-syntax-1086 syntmp-src-1121 syntmp-y-1167 syntmp-r-1123 syntmp-maps-1169 syntmp-ellipsis?-1125)) (lambda (syntmp-y-1170 syntmp-maps-1171) (values (syntmp-gen-cons-1090 syntmp-x-1168 syntmp-y-1170) syntmp-maps-1171)))))) syntmp-tmp-1165) ((lambda (syntmp-tmp-1172) (if syntmp-tmp-1172 (apply (lambda (syntmp-e1-1173 syntmp-e2-1174) (call-with-values (lambda () (syntmp-gen-syntax-1086 syntmp-src-1121 (cons syntmp-e1-1173 syntmp-e2-1174) syntmp-r-1123 syntmp-maps-1124 syntmp-ellipsis?-1125)) (lambda (syntmp-e-1176 syntmp-maps-1177) (values (syntmp-gen-vector-1092 syntmp-e-1176) syntmp-maps-1177)))) syntmp-tmp-1172) ((lambda (syntmp-_-1178) (values (list (quote quote) syntmp-e-1122) syntmp-maps-1124)) syntmp-tmp-1131))) (syntax-dispatch syntmp-tmp-1131 (quote #(vector (any . each-any))))))) (syntax-dispatch syntmp-tmp-1131 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1131 (quote (any any . any)))))) (syntax-dispatch syntmp-tmp-1131 (quote (any any))))) syntmp-e-1122))))) (lambda (syntmp-e-1179 syntmp-r-1180 syntmp-w-1181 syntmp-s-1182) (let ((syntmp-e-1183 (syntmp-source-wrap-144 syntmp-e-1179 syntmp-w-1181 syntmp-s-1182))) ((lambda (syntmp-tmp-1184) ((lambda (syntmp-tmp-1185) (if syntmp-tmp-1185 (apply (lambda (syntmp-_-1186 syntmp-x-1187) (call-with-values (lambda () (syntmp-gen-syntax-1086 syntmp-e-1183 syntmp-x-1187 syntmp-r-1180 (quote ()) syntmp-ellipsis?-160)) (lambda (syntmp-e-1188 syntmp-maps-1189) (syntmp-regen-1093 syntmp-e-1188)))) syntmp-tmp-1185) ((lambda (syntmp-_-1190) (syntax-error syntmp-e-1183)) syntmp-tmp-1184))) (syntax-dispatch syntmp-tmp-1184 (quote (any any))))) syntmp-e-1183))))) (syntmp-global-extend-113 (quote core) (quote lambda) (lambda (syntmp-e-1191 syntmp-r-1192 syntmp-w-1193 syntmp-s-1194) ((lambda (syntmp-tmp-1195) ((lambda (syntmp-tmp-1196) (if syntmp-tmp-1196 (apply (lambda (syntmp-_-1197 syntmp-c-1198) (syntmp-chi-lambda-clause-156 (syntmp-source-wrap-144 syntmp-e-1191 syntmp-w-1193 syntmp-s-1194) syntmp-c-1198 syntmp-r-1192 syntmp-w-1193 (lambda (syntmp-vars-1199 syntmp-body-1200) (syntmp-build-annotated-94 syntmp-s-1194 (list (quote lambda) syntmp-vars-1199 syntmp-body-1200))))) syntmp-tmp-1196) (syntax-error syntmp-tmp-1195))) (syntax-dispatch syntmp-tmp-1195 (quote (any . any))))) syntmp-e-1191))) (syntmp-global-extend-113 (quote core) (quote let) (letrec ((syntmp-chi-let-1201 (lambda (syntmp-e-1202 syntmp-r-1203 syntmp-w-1204 syntmp-s-1205 syntmp-constructor-1206 syntmp-ids-1207 syntmp-vals-1208 syntmp-exps-1209) (if (not (syntmp-valid-bound-ids?-140 syntmp-ids-1207)) (syntax-error syntmp-e-1202 "duplicate bound variable in") (let ((syntmp-labels-1210 (syntmp-gen-labels-121 syntmp-ids-1207)) (syntmp-new-vars-1211 (map syntmp-gen-var-163 syntmp-ids-1207))) (let ((syntmp-nw-1212 (syntmp-make-binding-wrap-132 syntmp-ids-1207 syntmp-labels-1210 syntmp-w-1204)) (syntmp-nr-1213 (syntmp-extend-var-env-110 syntmp-labels-1210 syntmp-new-vars-1211 syntmp-r-1203))) (syntmp-constructor-1206 syntmp-s-1205 syntmp-new-vars-1211 (map (lambda (syntmp-x-1214) (syntmp-chi-151 syntmp-x-1214 syntmp-r-1203 syntmp-w-1204)) syntmp-vals-1208) (syntmp-chi-body-155 syntmp-exps-1209 (syntmp-source-wrap-144 syntmp-e-1202 syntmp-nw-1212 syntmp-s-1205) syntmp-nr-1213 syntmp-nw-1212)))))))) (lambda (syntmp-e-1215 syntmp-r-1216 syntmp-w-1217 syntmp-s-1218) ((lambda (syntmp-tmp-1219) ((lambda (syntmp-tmp-1220) (if syntmp-tmp-1220 (apply (lambda (syntmp-_-1221 syntmp-id-1222 syntmp-val-1223 syntmp-e1-1224 syntmp-e2-1225) (syntmp-chi-let-1201 syntmp-e-1215 syntmp-r-1216 syntmp-w-1217 syntmp-s-1218 syntmp-build-let-97 syntmp-id-1222 syntmp-val-1223 (cons syntmp-e1-1224 syntmp-e2-1225))) syntmp-tmp-1220) ((lambda (syntmp-tmp-1229) (if (if syntmp-tmp-1229 (apply (lambda (syntmp-_-1230 syntmp-f-1231 syntmp-id-1232 syntmp-val-1233 syntmp-e1-1234 syntmp-e2-1235) (syntmp-id?-115 syntmp-f-1231)) syntmp-tmp-1229) #f) (apply (lambda (syntmp-_-1236 syntmp-f-1237 syntmp-id-1238 syntmp-val-1239 syntmp-e1-1240 syntmp-e2-1241) (syntmp-chi-let-1201 syntmp-e-1215 syntmp-r-1216 syntmp-w-1217 syntmp-s-1218 syntmp-build-named-let-98 (cons syntmp-f-1237 syntmp-id-1238) syntmp-val-1239 (cons syntmp-e1-1240 syntmp-e2-1241))) syntmp-tmp-1229) ((lambda (syntmp-_-1245) (syntax-error (syntmp-source-wrap-144 syntmp-e-1215 syntmp-w-1217 syntmp-s-1218))) syntmp-tmp-1219))) (syntax-dispatch syntmp-tmp-1219 (quote (any any #(each (any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1219 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1215)))) (syntmp-global-extend-113 (quote core) (quote letrec) (lambda (syntmp-e-1246 syntmp-r-1247 syntmp-w-1248 syntmp-s-1249) ((lambda (syntmp-tmp-1250) ((lambda (syntmp-tmp-1251) (if syntmp-tmp-1251 (apply (lambda (syntmp-_-1252 syntmp-id-1253 syntmp-val-1254 syntmp-e1-1255 syntmp-e2-1256) (let ((syntmp-ids-1257 syntmp-id-1253)) (if (not (syntmp-valid-bound-ids?-140 syntmp-ids-1257)) (syntax-error syntmp-e-1246 "duplicate bound variable in") (let ((syntmp-labels-1259 (syntmp-gen-labels-121 syntmp-ids-1257)) (syntmp-new-vars-1260 (map syntmp-gen-var-163 syntmp-ids-1257))) (let ((syntmp-w-1261 (syntmp-make-binding-wrap-132 syntmp-ids-1257 syntmp-labels-1259 syntmp-w-1248)) (syntmp-r-1262 (syntmp-extend-var-env-110 syntmp-labels-1259 syntmp-new-vars-1260 syntmp-r-1247))) (syntmp-build-letrec-99 syntmp-s-1249 syntmp-new-vars-1260 (map (lambda (syntmp-x-1263) (syntmp-chi-151 syntmp-x-1263 syntmp-r-1262 syntmp-w-1261)) syntmp-val-1254) (syntmp-chi-body-155 (cons syntmp-e1-1255 syntmp-e2-1256) (syntmp-source-wrap-144 syntmp-e-1246 syntmp-w-1261 syntmp-s-1249) syntmp-r-1262 syntmp-w-1261))))))) syntmp-tmp-1251) ((lambda (syntmp-_-1266) (syntax-error (syntmp-source-wrap-144 syntmp-e-1246 syntmp-w-1248 syntmp-s-1249))) syntmp-tmp-1250))) (syntax-dispatch syntmp-tmp-1250 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1246))) (syntmp-global-extend-113 (quote core) (quote set!) (lambda (syntmp-e-1267 syntmp-r-1268 syntmp-w-1269 syntmp-s-1270) ((lambda (syntmp-tmp-1271) ((lambda (syntmp-tmp-1272) (if (if syntmp-tmp-1272 (apply (lambda (syntmp-_-1273 syntmp-id-1274 syntmp-val-1275) (syntmp-id?-115 syntmp-id-1274)) syntmp-tmp-1272) #f) (apply (lambda (syntmp-_-1276 syntmp-id-1277 syntmp-val-1278) (let ((syntmp-val-1279 (syntmp-chi-151 syntmp-val-1278 syntmp-r-1268 syntmp-w-1269)) (syntmp-n-1280 (syntmp-id-var-name-137 syntmp-id-1277 syntmp-w-1269))) (let ((syntmp-b-1281 (syntmp-lookup-112 syntmp-n-1280 syntmp-r-1268))) (let ((syntmp-t-1282 (syntmp-binding-type-107 syntmp-b-1281))) (if (memv syntmp-t-1282 (quote (lexical))) (syntmp-build-annotated-94 syntmp-s-1270 (list (quote set!) (syntmp-binding-value-108 syntmp-b-1281) syntmp-val-1279)) (if (memv syntmp-t-1282 (quote (global))) (syntmp-build-annotated-94 syntmp-s-1270 (list (quote set!) (make-module-ref #f syntmp-n-1280 #f) syntmp-val-1279)) (if (memv syntmp-t-1282 (quote (displaced-lexical))) (syntax-error (syntmp-wrap-143 syntmp-id-1277 syntmp-w-1269) "identifier out of context") (syntax-error (syntmp-source-wrap-144 syntmp-e-1267 syntmp-w-1269 syntmp-s-1270))))))))) syntmp-tmp-1272) ((lambda (syntmp-tmp-1283) (if syntmp-tmp-1283 (apply (lambda (syntmp-_-1284 syntmp-getter-1285 syntmp-arg-1286 syntmp-val-1287) (syntmp-build-annotated-94 syntmp-s-1270 (cons (syntmp-chi-151 (list (quote #(syntax-object setter ((top) #(ribcage #(_ getter arg val) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(e r w s) #((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-wrap! set-syntax-object-expression! 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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"))))) syntmp-getter-1285) syntmp-r-1268 syntmp-w-1269) (map (lambda (syntmp-e-1288) (syntmp-chi-151 syntmp-e-1288 syntmp-r-1268 syntmp-w-1269)) (append syntmp-arg-1286 (list syntmp-val-1287)))))) syntmp-tmp-1283) ((lambda (syntmp-_-1290) (syntax-error (syntmp-source-wrap-144 syntmp-e-1267 syntmp-w-1269 syntmp-s-1270))) syntmp-tmp-1271))) (syntax-dispatch syntmp-tmp-1271 (quote (any (any . each-any) any)))))) (syntax-dispatch syntmp-tmp-1271 (quote (any any any))))) syntmp-e-1267))) (syntmp-global-extend-113 (quote begin) (quote begin) (quote ())) (syntmp-global-extend-113 (quote define) (quote define) (quote ())) (syntmp-global-extend-113 (quote define-syntax) (quote define-syntax) (quote ())) (syntmp-global-extend-113 (quote eval-when) (quote eval-when) (quote ())) (syntmp-global-extend-113 (quote core) (quote syntax-case) (letrec ((syntmp-gen-syntax-case-1294 (lambda (syntmp-x-1295 syntmp-keys-1296 syntmp-clauses-1297 syntmp-r-1298) (if (null? syntmp-clauses-1297) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote syntax-error)) syntmp-x-1295)) ((lambda (syntmp-tmp-1299) ((lambda (syntmp-tmp-1300) (if syntmp-tmp-1300 (apply (lambda (syntmp-pat-1301 syntmp-exp-1302) (if (and (syntmp-id?-115 syntmp-pat-1301) (andmap (lambda (syntmp-x-1303) (not (syntmp-free-id=?-138 syntmp-pat-1301 syntmp-x-1303))) (cons (quote #(syntax-object ... ((top) #(ribcage #(pat exp) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x keys clauses r) #((top) (top) (top) (top)) #("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-wrap! set-syntax-object-expression! 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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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"))))) syntmp-keys-1296))) (let ((syntmp-labels-1304 (list (syntmp-gen-label-120))) (syntmp-var-1305 (syntmp-gen-var-163 syntmp-pat-1301))) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (list (quote lambda) (list syntmp-var-1305) (syntmp-chi-151 syntmp-exp-1302 (syntmp-extend-env-109 syntmp-labels-1304 (list (cons (quote syntax) (cons syntmp-var-1305 0))) syntmp-r-1298) (syntmp-make-binding-wrap-132 (list syntmp-pat-1301) syntmp-labels-1304 (quote (())))))) syntmp-x-1295))) (syntmp-gen-clause-1293 syntmp-x-1295 syntmp-keys-1296 (cdr syntmp-clauses-1297) syntmp-r-1298 syntmp-pat-1301 #t syntmp-exp-1302))) syntmp-tmp-1300) ((lambda (syntmp-tmp-1306) (if syntmp-tmp-1306 (apply (lambda (syntmp-pat-1307 syntmp-fender-1308 syntmp-exp-1309) (syntmp-gen-clause-1293 syntmp-x-1295 syntmp-keys-1296 (cdr syntmp-clauses-1297) syntmp-r-1298 syntmp-pat-1307 syntmp-fender-1308 syntmp-exp-1309)) syntmp-tmp-1306) ((lambda (syntmp-_-1310) (syntax-error (car syntmp-clauses-1297) "invalid syntax-case clause")) syntmp-tmp-1299))) (syntax-dispatch syntmp-tmp-1299 (quote (any any any)))))) (syntax-dispatch syntmp-tmp-1299 (quote (any any))))) (car syntmp-clauses-1297))))) (syntmp-gen-clause-1293 (lambda (syntmp-x-1311 syntmp-keys-1312 syntmp-clauses-1313 syntmp-r-1314 syntmp-pat-1315 syntmp-fender-1316 syntmp-exp-1317) (call-with-values (lambda () (syntmp-convert-pattern-1291 syntmp-pat-1315 syntmp-keys-1312)) (lambda (syntmp-p-1318 syntmp-pvars-1319) (cond ((not (syntmp-distinct-bound-ids?-141 (map car syntmp-pvars-1319))) (syntax-error syntmp-pat-1315 "duplicate pattern variable in syntax-case pattern")) ((not (andmap (lambda (syntmp-x-1320) (not (syntmp-ellipsis?-160 (car syntmp-x-1320)))) syntmp-pvars-1319)) (syntax-error syntmp-pat-1315 "misplaced ellipsis in syntax-case pattern")) (else (let ((syntmp-y-1321 (syntmp-gen-var-163 (quote tmp)))) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (list (quote lambda) (list syntmp-y-1321) (let ((syntmp-y-1322 (syntmp-build-annotated-94 #f syntmp-y-1321))) (syntmp-build-annotated-94 #f (list (quote if) ((lambda (syntmp-tmp-1323) ((lambda (syntmp-tmp-1324) (if syntmp-tmp-1324 (apply (lambda () syntmp-y-1322) syntmp-tmp-1324) ((lambda (syntmp-_-1325) (syntmp-build-annotated-94 #f (list (quote if) syntmp-y-1322 (syntmp-build-dispatch-call-1292 syntmp-pvars-1319 syntmp-fender-1316 syntmp-y-1322 syntmp-r-1314) (syntmp-build-data-95 #f #f)))) syntmp-tmp-1323))) (syntax-dispatch syntmp-tmp-1323 (quote #(atom #t))))) syntmp-fender-1316) (syntmp-build-dispatch-call-1292 syntmp-pvars-1319 syntmp-exp-1317 syntmp-y-1322 syntmp-r-1314) (syntmp-gen-syntax-case-1294 syntmp-x-1311 syntmp-keys-1312 syntmp-clauses-1313 syntmp-r-1314)))))) (if (eq? syntmp-p-1318 (quote any)) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote list)) syntmp-x-1311)) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote syntax-dispatch)) syntmp-x-1311 (syntmp-build-data-95 #f syntmp-p-1318))))))))))))) (syntmp-build-dispatch-call-1292 (lambda (syntmp-pvars-1326 syntmp-exp-1327 syntmp-y-1328 syntmp-r-1329) (let ((syntmp-ids-1330 (map car syntmp-pvars-1326)) (syntmp-levels-1331 (map cdr syntmp-pvars-1326))) (let ((syntmp-labels-1332 (syntmp-gen-labels-121 syntmp-ids-1330)) (syntmp-new-vars-1333 (map syntmp-gen-var-163 syntmp-ids-1330))) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote apply)) (syntmp-build-annotated-94 #f (list (quote lambda) syntmp-new-vars-1333 (syntmp-chi-151 syntmp-exp-1327 (syntmp-extend-env-109 syntmp-labels-1332 (map (lambda (syntmp-var-1334 syntmp-level-1335) (cons (quote syntax) (cons syntmp-var-1334 syntmp-level-1335))) syntmp-new-vars-1333 (map cdr syntmp-pvars-1326)) syntmp-r-1329) (syntmp-make-binding-wrap-132 syntmp-ids-1330 syntmp-labels-1332 (quote (())))))) syntmp-y-1328)))))) (syntmp-convert-pattern-1291 (lambda (syntmp-pattern-1336 syntmp-keys-1337) (let syntmp-cvt-1338 ((syntmp-p-1339 syntmp-pattern-1336) (syntmp-n-1340 0) (syntmp-ids-1341 (quote ()))) (if (syntmp-id?-115 syntmp-p-1339) (if (syntmp-bound-id-member?-142 syntmp-p-1339 syntmp-keys-1337) (values (vector (quote free-id) syntmp-p-1339) syntmp-ids-1341) (values (quote any) (cons (cons syntmp-p-1339 syntmp-n-1340) syntmp-ids-1341))) ((lambda (syntmp-tmp-1342) ((lambda (syntmp-tmp-1343) (if (if syntmp-tmp-1343 (apply (lambda (syntmp-x-1344 syntmp-dots-1345) (syntmp-ellipsis?-160 syntmp-dots-1345)) syntmp-tmp-1343) #f) (apply (lambda (syntmp-x-1346 syntmp-dots-1347) (call-with-values (lambda () (syntmp-cvt-1338 syntmp-x-1346 (syntmp-fx+-85 syntmp-n-1340 1) syntmp-ids-1341)) (lambda (syntmp-p-1348 syntmp-ids-1349) (values (if (eq? syntmp-p-1348 (quote any)) (quote each-any) (vector (quote each) syntmp-p-1348)) syntmp-ids-1349)))) syntmp-tmp-1343) ((lambda (syntmp-tmp-1350) (if syntmp-tmp-1350 (apply (lambda (syntmp-x-1351 syntmp-y-1352) (call-with-values (lambda () (syntmp-cvt-1338 syntmp-y-1352 syntmp-n-1340 syntmp-ids-1341)) (lambda (syntmp-y-1353 syntmp-ids-1354) (call-with-values (lambda () (syntmp-cvt-1338 syntmp-x-1351 syntmp-n-1340 syntmp-ids-1354)) (lambda (syntmp-x-1355 syntmp-ids-1356) (values (cons syntmp-x-1355 syntmp-y-1353) syntmp-ids-1356)))))) syntmp-tmp-1350) ((lambda (syntmp-tmp-1357) (if syntmp-tmp-1357 (apply (lambda () (values (quote ()) syntmp-ids-1341)) syntmp-tmp-1357) ((lambda (syntmp-tmp-1358) (if syntmp-tmp-1358 (apply (lambda (syntmp-x-1359) (call-with-values (lambda () (syntmp-cvt-1338 syntmp-x-1359 syntmp-n-1340 syntmp-ids-1341)) (lambda (syntmp-p-1361 syntmp-ids-1362) (values (vector (quote vector) syntmp-p-1361) syntmp-ids-1362)))) syntmp-tmp-1358) ((lambda (syntmp-x-1363) (values (vector (quote atom) (syntmp-strip-162 syntmp-p-1339 (quote (())))) syntmp-ids-1341)) syntmp-tmp-1342))) (syntax-dispatch syntmp-tmp-1342 (quote #(vector each-any)))))) (syntax-dispatch syntmp-tmp-1342 (quote ()))))) (syntax-dispatch syntmp-tmp-1342 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1342 (quote (any any))))) syntmp-p-1339)))))) (lambda (syntmp-e-1364 syntmp-r-1365 syntmp-w-1366 syntmp-s-1367) (let ((syntmp-e-1368 (syntmp-source-wrap-144 syntmp-e-1364 syntmp-w-1366 syntmp-s-1367))) ((lambda (syntmp-tmp-1369) ((lambda (syntmp-tmp-1370) (if syntmp-tmp-1370 (apply (lambda (syntmp-_-1371 syntmp-val-1372 syntmp-key-1373 syntmp-m-1374) (if (andmap (lambda (syntmp-x-1375) (and (syntmp-id?-115 syntmp-x-1375) (not (syntmp-ellipsis?-160 syntmp-x-1375)))) syntmp-key-1373) (let ((syntmp-x-1377 (syntmp-gen-var-163 (quote tmp)))) (syntmp-build-annotated-94 syntmp-s-1367 (list (syntmp-build-annotated-94 #f (list (quote lambda) (list syntmp-x-1377) (syntmp-gen-syntax-case-1294 (syntmp-build-annotated-94 #f syntmp-x-1377) syntmp-key-1373 syntmp-m-1374 syntmp-r-1365))) (syntmp-chi-151 syntmp-val-1372 syntmp-r-1365 (quote (())))))) (syntax-error syntmp-e-1368 "invalid literals list in"))) syntmp-tmp-1370) (syntax-error syntmp-tmp-1369))) (syntax-dispatch syntmp-tmp-1369 (quote (any any each-any . each-any))))) syntmp-e-1368))))) (set! sc-expand (let ((syntmp-m-1380 (quote e)) (syntmp-esew-1381 (quote (eval)))) (lambda (syntmp-x-1382) (if (and (pair? syntmp-x-1382) (equal? (car syntmp-x-1382) syntmp-noexpand-84)) (cadr syntmp-x-1382) (syntmp-chi-top-150 syntmp-x-1382 (quote ()) (quote ((top))) syntmp-m-1380 syntmp-esew-1381))))) (set! sc-expand3 (let ((syntmp-m-1383 (quote e)) (syntmp-esew-1384 (quote (eval)))) (lambda (syntmp-x-1386 . syntmp-rest-1385) (if (and (pair? syntmp-x-1386) (equal? (car syntmp-x-1386) syntmp-noexpand-84)) (cadr syntmp-x-1386) (syntmp-chi-top-150 syntmp-x-1386 (quote ()) (quote ((top))) (if (null? syntmp-rest-1385) syntmp-m-1383 (car syntmp-rest-1385)) (if (or (null? syntmp-rest-1385) (null? (cdr syntmp-rest-1385))) syntmp-esew-1384 (cadr syntmp-rest-1385))))))) (set! identifier? (lambda (syntmp-x-1387) (syntmp-nonsymbol-id?-114 syntmp-x-1387))) (set! datum->syntax-object (lambda (syntmp-id-1388 syntmp-datum-1389) (syntmp-make-syntax-object-100 syntmp-datum-1389 (syntmp-syntax-object-wrap-103 syntmp-id-1388)))) (set! syntax-object->datum (lambda (syntmp-x-1390) (syntmp-strip-162 syntmp-x-1390 (quote (()))))) (set! generate-temporaries (lambda (syntmp-ls-1391) (begin (let ((syntmp-x-1392 syntmp-ls-1391)) (if (not (list? syntmp-x-1392)) (syntmp-error-hook-91 (quote generate-temporaries) "invalid argument" syntmp-x-1392))) (map (lambda (syntmp-x-1393) (syntmp-wrap-143 (gensym) (quote ((top))))) syntmp-ls-1391)))) (set! free-identifier=? (lambda (syntmp-x-1394 syntmp-y-1395) (begin (let ((syntmp-x-1396 syntmp-x-1394)) (if (not (syntmp-nonsymbol-id?-114 syntmp-x-1396)) (syntmp-error-hook-91 (quote free-identifier=?) "invalid argument" syntmp-x-1396))) (let ((syntmp-x-1397 syntmp-y-1395)) (if (not (syntmp-nonsymbol-id?-114 syntmp-x-1397)) (syntmp-error-hook-91 (quote free-identifier=?) "invalid argument" syntmp-x-1397))) (syntmp-free-id=?-138 syntmp-x-1394 syntmp-y-1395)))) (set! bound-identifier=? (lambda (syntmp-x-1398 syntmp-y-1399) (begin (let ((syntmp-x-1400 syntmp-x-1398)) (if (not (syntmp-nonsymbol-id?-114 syntmp-x-1400)) (syntmp-error-hook-91 (quote bound-identifier=?) "invalid argument" syntmp-x-1400))) (let ((syntmp-x-1401 syntmp-y-1399)) (if (not (syntmp-nonsymbol-id?-114 syntmp-x-1401)) (syntmp-error-hook-91 (quote bound-identifier=?) "invalid argument" syntmp-x-1401))) (syntmp-bound-id=?-139 syntmp-x-1398 syntmp-y-1399)))) (set! syntax-error (lambda (syntmp-object-1403 . syntmp-messages-1402) (begin (for-each (lambda (syntmp-x-1404) (let ((syntmp-x-1405 syntmp-x-1404)) (if (not (string? syntmp-x-1405)) (syntmp-error-hook-91 (quote syntax-error) "invalid argument" syntmp-x-1405)))) syntmp-messages-1402) (let ((syntmp-message-1406 (if (null? syntmp-messages-1402) "invalid syntax" (apply string-append syntmp-messages-1402)))) (syntmp-error-hook-91 #f syntmp-message-1406 (syntmp-strip-162 syntmp-object-1403 (quote (())))))))) (set! install-global-transformer (lambda (syntmp-sym-1407 syntmp-v-1408) (begin (let ((syntmp-x-1409 syntmp-sym-1407)) (if (not (symbol? syntmp-x-1409)) (syntmp-error-hook-91 (quote define-syntax) "invalid argument" syntmp-x-1409))) (let ((syntmp-x-1410 syntmp-v-1408)) (if (not (procedure? syntmp-x-1410)) (syntmp-error-hook-91 (quote define-syntax) "invalid argument" syntmp-x-1410))) (syntmp-global-extend-113 (quote macro) syntmp-sym-1407 syntmp-v-1408)))) (letrec ((syntmp-match-1415 (lambda (syntmp-e-1416 syntmp-p-1417 syntmp-w-1418 syntmp-r-1419) (cond ((not syntmp-r-1419) #f) ((eq? syntmp-p-1417 (quote any)) (cons (syntmp-wrap-143 syntmp-e-1416 syntmp-w-1418) syntmp-r-1419)) ((syntmp-syntax-object?-101 syntmp-e-1416) (syntmp-match*-1414 (let ((syntmp-e-1420 (syntmp-syntax-object-expression-102 syntmp-e-1416))) (if (annotation? syntmp-e-1420) (annotation-expression syntmp-e-1420) syntmp-e-1420)) syntmp-p-1417 (syntmp-join-wraps-134 syntmp-w-1418 (syntmp-syntax-object-wrap-103 syntmp-e-1416)) syntmp-r-1419)) (else (syntmp-match*-1414 (let ((syntmp-e-1421 syntmp-e-1416)) (if (annotation? syntmp-e-1421) (annotation-expression syntmp-e-1421) syntmp-e-1421)) syntmp-p-1417 syntmp-w-1418 syntmp-r-1419))))) (syntmp-match*-1414 (lambda (syntmp-e-1422 syntmp-p-1423 syntmp-w-1424 syntmp-r-1425) (cond ((null? syntmp-p-1423) (and (null? syntmp-e-1422) syntmp-r-1425)) ((pair? syntmp-p-1423) (and (pair? syntmp-e-1422) (syntmp-match-1415 (car syntmp-e-1422) (car syntmp-p-1423) syntmp-w-1424 (syntmp-match-1415 (cdr syntmp-e-1422) (cdr syntmp-p-1423) syntmp-w-1424 syntmp-r-1425)))) ((eq? syntmp-p-1423 (quote each-any)) (let ((syntmp-l-1426 (syntmp-match-each-any-1412 syntmp-e-1422 syntmp-w-1424))) (and syntmp-l-1426 (cons syntmp-l-1426 syntmp-r-1425)))) (else (let ((syntmp-t-1427 (vector-ref syntmp-p-1423 0))) (if (memv syntmp-t-1427 (quote (each))) (if (null? syntmp-e-1422) (syntmp-match-empty-1413 (vector-ref syntmp-p-1423 1) syntmp-r-1425) (let ((syntmp-l-1428 (syntmp-match-each-1411 syntmp-e-1422 (vector-ref syntmp-p-1423 1) syntmp-w-1424))) (and syntmp-l-1428 (let syntmp-collect-1429 ((syntmp-l-1430 syntmp-l-1428)) (if (null? (car syntmp-l-1430)) syntmp-r-1425 (cons (map car syntmp-l-1430) (syntmp-collect-1429 (map cdr syntmp-l-1430)))))))) (if (memv syntmp-t-1427 (quote (free-id))) (and (syntmp-id?-115 syntmp-e-1422) (syntmp-free-id=?-138 (syntmp-wrap-143 syntmp-e-1422 syntmp-w-1424) (vector-ref syntmp-p-1423 1)) syntmp-r-1425) (if (memv syntmp-t-1427 (quote (atom))) (and (equal? (vector-ref syntmp-p-1423 1) (syntmp-strip-162 syntmp-e-1422 syntmp-w-1424)) syntmp-r-1425) (if (memv syntmp-t-1427 (quote (vector))) (and (vector? syntmp-e-1422) (syntmp-match-1415 (vector->list syntmp-e-1422) (vector-ref syntmp-p-1423 1) syntmp-w-1424 syntmp-r-1425))))))))))) (syntmp-match-empty-1413 (lambda (syntmp-p-1431 syntmp-r-1432) (cond ((null? syntmp-p-1431) syntmp-r-1432) ((eq? syntmp-p-1431 (quote any)) (cons (quote ()) syntmp-r-1432)) ((pair? syntmp-p-1431) (syntmp-match-empty-1413 (car syntmp-p-1431) (syntmp-match-empty-1413 (cdr syntmp-p-1431) syntmp-r-1432))) ((eq? syntmp-p-1431 (quote each-any)) (cons (quote ()) syntmp-r-1432)) (else (let ((syntmp-t-1433 (vector-ref syntmp-p-1431 0))) (if (memv syntmp-t-1433 (quote (each))) (syntmp-match-empty-1413 (vector-ref syntmp-p-1431 1) syntmp-r-1432) (if (memv syntmp-t-1433 (quote (free-id atom))) syntmp-r-1432 (if (memv syntmp-t-1433 (quote (vector))) (syntmp-match-empty-1413 (vector-ref syntmp-p-1431 1) syntmp-r-1432))))))))) (syntmp-match-each-any-1412 (lambda (syntmp-e-1434 syntmp-w-1435) (cond ((annotation? syntmp-e-1434) (syntmp-match-each-any-1412 (annotation-expression syntmp-e-1434) syntmp-w-1435)) ((pair? syntmp-e-1434) (let ((syntmp-l-1436 (syntmp-match-each-any-1412 (cdr syntmp-e-1434) syntmp-w-1435))) (and syntmp-l-1436 (cons (syntmp-wrap-143 (car syntmp-e-1434) syntmp-w-1435) syntmp-l-1436)))) ((null? syntmp-e-1434) (quote ())) ((syntmp-syntax-object?-101 syntmp-e-1434) (syntmp-match-each-any-1412 (syntmp-syntax-object-expression-102 syntmp-e-1434) (syntmp-join-wraps-134 syntmp-w-1435 (syntmp-syntax-object-wrap-103 syntmp-e-1434)))) (else #f)))) (syntmp-match-each-1411 (lambda (syntmp-e-1437 syntmp-p-1438 syntmp-w-1439) (cond ((annotation? syntmp-e-1437) (syntmp-match-each-1411 (annotation-expression syntmp-e-1437) syntmp-p-1438 syntmp-w-1439)) ((pair? syntmp-e-1437) (let ((syntmp-first-1440 (syntmp-match-1415 (car syntmp-e-1437) syntmp-p-1438 syntmp-w-1439 (quote ())))) (and syntmp-first-1440 (let ((syntmp-rest-1441 (syntmp-match-each-1411 (cdr syntmp-e-1437) syntmp-p-1438 syntmp-w-1439))) (and syntmp-rest-1441 (cons syntmp-first-1440 syntmp-rest-1441)))))) ((null? syntmp-e-1437) (quote ())) ((syntmp-syntax-object?-101 syntmp-e-1437) (syntmp-match-each-1411 (syntmp-syntax-object-expression-102 syntmp-e-1437) syntmp-p-1438 (syntmp-join-wraps-134 syntmp-w-1439 (syntmp-syntax-object-wrap-103 syntmp-e-1437)))) (else #f))))) (begin (set! syntax-dispatch (lambda (syntmp-e-1442 syntmp-p-1443) (cond ((eq? syntmp-p-1443 (quote any)) (list syntmp-e-1442)) ((syntmp-syntax-object?-101 syntmp-e-1442) (syntmp-match*-1414 (let ((syntmp-e-1444 (syntmp-syntax-object-expression-102 syntmp-e-1442))) (if (annotation? syntmp-e-1444) (annotation-expression syntmp-e-1444) syntmp-e-1444)) syntmp-p-1443 (syntmp-syntax-object-wrap-103 syntmp-e-1442) (quote ()))) (else (syntmp-match*-1414 (let ((syntmp-e-1445 syntmp-e-1442)) (if (annotation? syntmp-e-1445) (annotation-expression syntmp-e-1445) syntmp-e-1445)) syntmp-p-1443 (quote (())) (quote ())))))) (set! sc-chi syntmp-chi-151)))))
-(install-global-transformer (quote with-syntax) (lambda (syntmp-x-1446) ((lambda (syntmp-tmp-1447) ((lambda (syntmp-tmp-1448) (if syntmp-tmp-1448 (apply (lambda (syntmp-_-1449 syntmp-e1-1450 syntmp-e2-1451) (cons (quote #(syntax-object begin ((top) #(ribcage #(_ e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (cons syntmp-e1-1450 syntmp-e2-1451))) syntmp-tmp-1448) ((lambda (syntmp-tmp-1453) (if syntmp-tmp-1453 (apply (lambda (syntmp-_-1454 syntmp-out-1455 syntmp-in-1456 syntmp-e1-1457 syntmp-e2-1458) (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"))))) syntmp-in-1456 (quote ()) (list syntmp-out-1455 (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"))))) (cons syntmp-e1-1457 syntmp-e2-1458))))) syntmp-tmp-1453) ((lambda (syntmp-tmp-1460) (if syntmp-tmp-1460 (apply (lambda (syntmp-_-1461 syntmp-out-1462 syntmp-in-1463 syntmp-e1-1464 syntmp-e2-1465) (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"))))) (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"))))) syntmp-in-1463) (quote ()) (list syntmp-out-1462 (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"))))) (cons syntmp-e1-1464 syntmp-e2-1465))))) syntmp-tmp-1460) (syntax-error syntmp-tmp-1447))) (syntax-dispatch syntmp-tmp-1447 (quote (any #(each (any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1447 (quote (any ((any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1447 (quote (any () any . each-any))))) syntmp-x-1446)))
-(install-global-transformer (quote syntax-rules) (lambda (syntmp-x-1487) ((lambda (syntmp-tmp-1488) ((lambda (syntmp-tmp-1489) (if syntmp-tmp-1489 (apply (lambda (syntmp-_-1490 syntmp-k-1491 syntmp-keyword-1492 syntmp-pattern-1493 syntmp-template-1494) (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"))))) (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")))))) (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"))))) (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"))))) (cons syntmp-k-1491 (map (lambda (syntmp-tmp-1497 syntmp-tmp-1496) (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"))))) syntmp-tmp-1496) (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"))))) syntmp-tmp-1497))) syntmp-template-1494 syntmp-pattern-1493)))))) syntmp-tmp-1489) (syntax-error syntmp-tmp-1488))) (syntax-dispatch syntmp-tmp-1488 (quote (any each-any . #(each ((any . any) any))))))) syntmp-x-1487)))
-(install-global-transformer (quote let*) (lambda (syntmp-x-1508) ((lambda (syntmp-tmp-1509) ((lambda (syntmp-tmp-1510) (if (if syntmp-tmp-1510 (apply (lambda (syntmp-let*-1511 syntmp-x-1512 syntmp-v-1513 syntmp-e1-1514 syntmp-e2-1515) (andmap identifier? syntmp-x-1512)) syntmp-tmp-1510) #f) (apply (lambda (syntmp-let*-1517 syntmp-x-1518 syntmp-v-1519 syntmp-e1-1520 syntmp-e2-1521) (let syntmp-f-1522 ((syntmp-bindings-1523 (map list syntmp-x-1518 syntmp-v-1519))) (if (null? syntmp-bindings-1523) (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"))))) (cons (quote ()) (cons syntmp-e1-1520 syntmp-e2-1521))) ((lambda (syntmp-tmp-1527) ((lambda (syntmp-tmp-1528) (if syntmp-tmp-1528 (apply (lambda (syntmp-body-1529 syntmp-binding-1530) (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"))))) (list syntmp-binding-1530) syntmp-body-1529)) syntmp-tmp-1528) (syntax-error syntmp-tmp-1527))) (syntax-dispatch syntmp-tmp-1527 (quote (any any))))) (list (syntmp-f-1522 (cdr syntmp-bindings-1523)) (car syntmp-bindings-1523)))))) syntmp-tmp-1510) (syntax-error syntmp-tmp-1509))) (syntax-dispatch syntmp-tmp-1509 (quote (any #(each (any any)) any . each-any))))) syntmp-x-1508)))
-(install-global-transformer (quote do) (lambda (syntmp-orig-x-1550) ((lambda (syntmp-tmp-1551) ((lambda (syntmp-tmp-1552) (if syntmp-tmp-1552 (apply (lambda (syntmp-_-1553 syntmp-var-1554 syntmp-init-1555 syntmp-step-1556 syntmp-e0-1557 syntmp-e1-1558 syntmp-c-1559) ((lambda (syntmp-tmp-1560) ((lambda (syntmp-tmp-1561) (if syntmp-tmp-1561 (apply (lambda (syntmp-step-1562) ((lambda (syntmp-tmp-1563) ((lambda (syntmp-tmp-1564) (if syntmp-tmp-1564 (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"))))) (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"))))) (map list syntmp-var-1554 syntmp-init-1555) (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"))))) (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"))))) syntmp-e0-1557) (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"))))) (append syntmp-c-1559 (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"))))) syntmp-step-1562))))))) syntmp-tmp-1564) ((lambda (syntmp-tmp-1569) (if syntmp-tmp-1569 (apply (lambda (syntmp-e1-1570 syntmp-e2-1571) (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"))))) (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"))))) (map list syntmp-var-1554 syntmp-init-1555) (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"))))) syntmp-e0-1557 (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"))))) (cons syntmp-e1-1570 syntmp-e2-1571)) (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"))))) (append syntmp-c-1559 (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"))))) syntmp-step-1562))))))) syntmp-tmp-1569) (syntax-error syntmp-tmp-1563))) (syntax-dispatch syntmp-tmp-1563 (quote (any . each-any)))))) (syntax-dispatch syntmp-tmp-1563 (quote ())))) syntmp-e1-1558)) syntmp-tmp-1561) (syntax-error syntmp-tmp-1560))) (syntax-dispatch syntmp-tmp-1560 (quote each-any)))) (map (lambda (syntmp-v-1578 syntmp-s-1579) ((lambda (syntmp-tmp-1580) ((lambda (syntmp-tmp-1581) (if syntmp-tmp-1581 (apply (lambda () syntmp-v-1578) syntmp-tmp-1581) ((lambda (syntmp-tmp-1582) (if syntmp-tmp-1582 (apply (lambda (syntmp-e-1583) syntmp-e-1583) syntmp-tmp-1582) ((lambda (syntmp-_-1584) (syntax-error syntmp-orig-x-1550)) syntmp-tmp-1580))) (syntax-dispatch syntmp-tmp-1580 (quote (any)))))) (syntax-dispatch syntmp-tmp-1580 (quote ())))) syntmp-s-1579)) syntmp-var-1554 syntmp-step-1556))) syntmp-tmp-1552) (syntax-error syntmp-tmp-1551))) (syntax-dispatch syntmp-tmp-1551 (quote (any #(each (any any . any)) (any . each-any) . each-any))))) syntmp-orig-x-1550)))
-(install-global-transformer (quote quasiquote) (letrec ((syntmp-quasicons-1612 (lambda (syntmp-x-1616 syntmp-y-1617) ((lambda (syntmp-tmp-1618) ((lambda (syntmp-tmp-1619) (if syntmp-tmp-1619 (apply (lambda (syntmp-x-1620 syntmp-y-1621) ((lambda (syntmp-tmp-1622) ((lambda (syntmp-tmp-1623) (if syntmp-tmp-1623 (apply (lambda (syntmp-dy-1624) ((lambda (syntmp-tmp-1625) ((lambda (syntmp-tmp-1626) (if syntmp-tmp-1626 (apply (lambda (syntmp-dx-1627) (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"))))) (cons syntmp-dx-1627 syntmp-dy-1624))) syntmp-tmp-1626) ((lambda (syntmp-_-1628) (if (null? syntmp-dy-1624) (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"))))) syntmp-x-1620) (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"))))) syntmp-x-1620 syntmp-y-1621))) syntmp-tmp-1625))) (syntax-dispatch syntmp-tmp-1625 (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"))))) any))))) syntmp-x-1620)) syntmp-tmp-1623) ((lambda (syntmp-tmp-1629) (if syntmp-tmp-1629 (apply (lambda (syntmp-stuff-1630) (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"))))) (cons syntmp-x-1620 syntmp-stuff-1630))) syntmp-tmp-1629) ((lambda (syntmp-else-1631) (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"))))) syntmp-x-1620 syntmp-y-1621)) syntmp-tmp-1622))) (syntax-dispatch syntmp-tmp-1622 (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"))))) . any)))))) (syntax-dispatch syntmp-tmp-1622 (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"))))) any))))) syntmp-y-1621)) syntmp-tmp-1619) (syntax-error syntmp-tmp-1618))) (syntax-dispatch syntmp-tmp-1618 (quote (any any))))) (list syntmp-x-1616 syntmp-y-1617)))) (syntmp-quasiappend-1613 (lambda (syntmp-x-1632 syntmp-y-1633) ((lambda (syntmp-tmp-1634) ((lambda (syntmp-tmp-1635) (if syntmp-tmp-1635 (apply (lambda (syntmp-x-1636 syntmp-y-1637) ((lambda (syntmp-tmp-1638) ((lambda (syntmp-tmp-1639) (if syntmp-tmp-1639 (apply (lambda () syntmp-x-1636) syntmp-tmp-1639) ((lambda (syntmp-_-1640) (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"))))) syntmp-x-1636 syntmp-y-1637)) syntmp-tmp-1638))) (syntax-dispatch syntmp-tmp-1638 (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"))))) ()))))) syntmp-y-1637)) syntmp-tmp-1635) (syntax-error syntmp-tmp-1634))) (syntax-dispatch syntmp-tmp-1634 (quote (any any))))) (list syntmp-x-1632 syntmp-y-1633)))) (syntmp-quasivector-1614 (lambda (syntmp-x-1641) ((lambda (syntmp-tmp-1642) ((lambda (syntmp-x-1643) ((lambda (syntmp-tmp-1644) ((lambda (syntmp-tmp-1645) (if syntmp-tmp-1645 (apply (lambda (syntmp-x-1646) (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"))))) (list->vector syntmp-x-1646))) syntmp-tmp-1645) ((lambda (syntmp-tmp-1648) (if syntmp-tmp-1648 (apply (lambda (syntmp-x-1649) (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"))))) syntmp-x-1649)) syntmp-tmp-1648) ((lambda (syntmp-_-1651) (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"))))) syntmp-x-1643)) syntmp-tmp-1644))) (syntax-dispatch syntmp-tmp-1644 (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"))))) . each-any)))))) (syntax-dispatch syntmp-tmp-1644 (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"))))) each-any))))) syntmp-x-1643)) syntmp-tmp-1642)) syntmp-x-1641))) (syntmp-quasi-1615 (lambda (syntmp-p-1652 syntmp-lev-1653) ((lambda (syntmp-tmp-1654) ((lambda (syntmp-tmp-1655) (if syntmp-tmp-1655 (apply (lambda (syntmp-p-1656) (if (= syntmp-lev-1653 0) syntmp-p-1656 (syntmp-quasicons-1612 (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")))) #(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")))))) (syntmp-quasi-1615 (list syntmp-p-1656) (- syntmp-lev-1653 1))))) syntmp-tmp-1655) ((lambda (syntmp-tmp-1657) (if syntmp-tmp-1657 (apply (lambda (syntmp-p-1658 syntmp-q-1659) (if (= syntmp-lev-1653 0) (syntmp-quasiappend-1613 syntmp-p-1658 (syntmp-quasi-1615 syntmp-q-1659 syntmp-lev-1653)) (syntmp-quasicons-1612 (syntmp-quasicons-1612 (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")))) #(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")))))) (syntmp-quasi-1615 (list syntmp-p-1658) (- syntmp-lev-1653 1))) (syntmp-quasi-1615 syntmp-q-1659 syntmp-lev-1653)))) syntmp-tmp-1657) ((lambda (syntmp-tmp-1660) (if syntmp-tmp-1660 (apply (lambda (syntmp-p-1661) (syntmp-quasicons-1612 (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")))) #(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")))))) (syntmp-quasi-1615 (list syntmp-p-1661) (+ syntmp-lev-1653 1)))) syntmp-tmp-1660) ((lambda (syntmp-tmp-1662) (if syntmp-tmp-1662 (apply (lambda (syntmp-p-1663 syntmp-q-1664) (syntmp-quasicons-1612 (syntmp-quasi-1615 syntmp-p-1663 syntmp-lev-1653) (syntmp-quasi-1615 syntmp-q-1664 syntmp-lev-1653))) syntmp-tmp-1662) ((lambda (syntmp-tmp-1665) (if syntmp-tmp-1665 (apply (lambda (syntmp-x-1666) (syntmp-quasivector-1614 (syntmp-quasi-1615 syntmp-x-1666 syntmp-lev-1653))) syntmp-tmp-1665) ((lambda (syntmp-p-1668) (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"))))) syntmp-p-1668)) syntmp-tmp-1654))) (syntax-dispatch syntmp-tmp-1654 (quote #(vector each-any)))))) (syntax-dispatch syntmp-tmp-1654 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1654 (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"))))) any)))))) (syntax-dispatch syntmp-tmp-1654 (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"))))) any) . any)))))) (syntax-dispatch syntmp-tmp-1654 (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"))))) any))))) syntmp-p-1652)))) (lambda (syntmp-x-1669) ((lambda (syntmp-tmp-1670) ((lambda (syntmp-tmp-1671) (if syntmp-tmp-1671 (apply (lambda (syntmp-_-1672 syntmp-e-1673) (syntmp-quasi-1615 syntmp-e-1673 0)) syntmp-tmp-1671) (syntax-error syntmp-tmp-1670))) (syntax-dispatch syntmp-tmp-1670 (quote (any any))))) syntmp-x-1669))))
-(install-global-transformer (quote include) (lambda (syntmp-x-1733) (letrec ((syntmp-read-file-1734 (lambda (syntmp-fn-1735 syntmp-k-1736) (let ((syntmp-p-1737 (open-input-file syntmp-fn-1735))) (let syntmp-f-1738 ((syntmp-x-1739 (read syntmp-p-1737))) (if (eof-object? syntmp-x-1739) (begin (close-input-port syntmp-p-1737) (quote ())) (cons (datum->syntax-object syntmp-k-1736 syntmp-x-1739) (syntmp-f-1738 (read syntmp-p-1737))))))))) ((lambda (syntmp-tmp-1740) ((lambda (syntmp-tmp-1741) (if syntmp-tmp-1741 (apply (lambda (syntmp-k-1742 syntmp-filename-1743) (let ((syntmp-fn-1744 (syntax-object->datum syntmp-filename-1743))) ((lambda (syntmp-tmp-1745) ((lambda (syntmp-tmp-1746) (if syntmp-tmp-1746 (apply (lambda (syntmp-exp-1747) (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"))))) syntmp-exp-1747)) syntmp-tmp-1746) (syntax-error syntmp-tmp-1745))) (syntax-dispatch syntmp-tmp-1745 (quote each-any)))) (syntmp-read-file-1734 syntmp-fn-1744 syntmp-k-1742)))) syntmp-tmp-1741) (syntax-error syntmp-tmp-1740))) (syntax-dispatch syntmp-tmp-1740 (quote (any any))))) syntmp-x-1733))))
-(install-global-transformer (quote unquote) (lambda (syntmp-x-1764) ((lambda (syntmp-tmp-1765) ((lambda (syntmp-tmp-1766) (if syntmp-tmp-1766 (apply (lambda (syntmp-_-1767 syntmp-e-1768) (error (quote unquote) "expression ,~s not valid outside of quasiquote" (syntax-object->datum syntmp-e-1768))) syntmp-tmp-1766) (syntax-error syntmp-tmp-1765))) (syntax-dispatch syntmp-tmp-1765 (quote (any any))))) syntmp-x-1764)))
-(install-global-transformer (quote unquote-splicing) (lambda (syntmp-x-1774) ((lambda (syntmp-tmp-1775) ((lambda (syntmp-tmp-1776) (if syntmp-tmp-1776 (apply (lambda (syntmp-_-1777 syntmp-e-1778) (error (quote unquote-splicing) "expression ,@~s not valid outside of quasiquote" (syntax-object->datum syntmp-e-1778))) syntmp-tmp-1776) (syntax-error syntmp-tmp-1775))) (syntax-dispatch syntmp-tmp-1775 (quote (any any))))) syntmp-x-1774)))
-(install-global-transformer (quote case) (lambda (syntmp-x-1784) ((lambda (syntmp-tmp-1785) ((lambda (syntmp-tmp-1786) (if syntmp-tmp-1786 (apply (lambda (syntmp-_-1787 syntmp-e-1788 syntmp-m1-1789 syntmp-m2-1790) ((lambda (syntmp-tmp-1791) ((lambda (syntmp-body-1792) (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"))))) (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"))))) syntmp-e-1788)) syntmp-body-1792)) syntmp-tmp-1791)) (let syntmp-f-1793 ((syntmp-clause-1794 syntmp-m1-1789) (syntmp-clauses-1795 syntmp-m2-1790)) (if (null? syntmp-clauses-1795) ((lambda (syntmp-tmp-1797) ((lambda (syntmp-tmp-1798) (if syntmp-tmp-1798 (apply (lambda (syntmp-e1-1799 syntmp-e2-1800) (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"))))) (cons syntmp-e1-1799 syntmp-e2-1800))) syntmp-tmp-1798) ((lambda (syntmp-tmp-1802) (if syntmp-tmp-1802 (apply (lambda (syntmp-k-1803 syntmp-e1-1804 syntmp-e2-1805) (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"))))) (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"))))) (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"))))) (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"))))) syntmp-k-1803)) (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"))))) (cons syntmp-e1-1804 syntmp-e2-1805)))) syntmp-tmp-1802) ((lambda (syntmp-_-1808) (syntax-error syntmp-x-1784)) syntmp-tmp-1797))) (syntax-dispatch syntmp-tmp-1797 (quote (each-any any . each-any)))))) (syntax-dispatch syntmp-tmp-1797 (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"))))) any . each-any))))) syntmp-clause-1794) ((lambda (syntmp-tmp-1809) ((lambda (syntmp-rest-1810) ((lambda (syntmp-tmp-1811) ((lambda (syntmp-tmp-1812) (if syntmp-tmp-1812 (apply (lambda (syntmp-k-1813 syntmp-e1-1814 syntmp-e2-1815) (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"))))) (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"))))) (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"))))) (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"))))) syntmp-k-1813)) (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"))))) (cons syntmp-e1-1814 syntmp-e2-1815)) syntmp-rest-1810)) syntmp-tmp-1812) ((lambda (syntmp-_-1818) (syntax-error syntmp-x-1784)) syntmp-tmp-1811))) (syntax-dispatch syntmp-tmp-1811 (quote (each-any any . each-any))))) syntmp-clause-1794)) syntmp-tmp-1809)) (syntmp-f-1793 (car syntmp-clauses-1795) (cdr syntmp-clauses-1795))))))) syntmp-tmp-1786) (syntax-error syntmp-tmp-1785))) (syntax-dispatch syntmp-tmp-1785 (quote (any any any . each-any))))) syntmp-x-1784)))
-(install-global-transformer (quote identifier-syntax) (lambda (syntmp-x-1848) ((lambda (syntmp-tmp-1849) ((lambda (syntmp-tmp-1850) (if syntmp-tmp-1850 (apply (lambda (syntmp-_-1851 syntmp-e-1852) (list (quote #(syntax-object lambda ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))))) (list (quote #(syntax-object syntax-case ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (quote #(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (quote ()) (list (quote #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (quote (#(syntax-object identifier? ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))) (#(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))) #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))))) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) syntmp-e-1852)) (list (cons syntmp-_-1851 (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))))) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (cons syntmp-e-1852 (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))))))))))) syntmp-tmp-1850) (syntax-error syntmp-tmp-1849))) (syntax-dispatch syntmp-tmp-1849 (quote (any any))))) syntmp-x-1848)))
+(letrec ((syntmp-lambda-var-list-153 (lambda (syntmp-vars-538) (let syntmp-lvl-539 ((syntmp-vars-540 syntmp-vars-538) (syntmp-ls-541 (quote ())) (syntmp-w-542 (quote (())))) (cond ((pair? syntmp-vars-540) (syntmp-lvl-539 (cdr syntmp-vars-540) (cons (syntmp-wrap-132 (car syntmp-vars-540) syntmp-w-542) syntmp-ls-541) syntmp-w-542)) ((syntmp-id?-104 syntmp-vars-540) (cons (syntmp-wrap-132 syntmp-vars-540 syntmp-w-542) syntmp-ls-541)) ((null? syntmp-vars-540) syntmp-ls-541) ((syntmp-syntax-object?-88 syntmp-vars-540) (syntmp-lvl-539 (syntmp-syntax-object-expression-89 syntmp-vars-540) syntmp-ls-541 (syntmp-join-wraps-123 syntmp-w-542 (syntmp-syntax-object-wrap-90 syntmp-vars-540)))) ((annotation? syntmp-vars-540) (syntmp-lvl-539 (annotation-expression syntmp-vars-540) syntmp-ls-541 syntmp-w-542)) (else (cons syntmp-vars-540 syntmp-ls-541)))))) (syntmp-gen-var-152 (lambda (syntmp-id-543) (let ((syntmp-id-544 (if (syntmp-syntax-object?-88 syntmp-id-543) (syntmp-syntax-object-expression-89 syntmp-id-543) syntmp-id-543))) (if (annotation? syntmp-id-544) (syntmp-build-annotated-81 (annotation-source syntmp-id-544) (gensym (symbol->string (annotation-expression syntmp-id-544)))) (syntmp-build-annotated-81 #f (gensym (symbol->string syntmp-id-544))))))) (syntmp-strip-151 (lambda (syntmp-x-545 syntmp-w-546) (if (memq (quote top) (syntmp-wrap-marks-107 syntmp-w-546)) (if (or (annotation? syntmp-x-545) (and (pair? syntmp-x-545) (annotation? (car syntmp-x-545)))) (syntmp-strip-annotation-150 syntmp-x-545 #f) syntmp-x-545) (let syntmp-f-547 ((syntmp-x-548 syntmp-x-545)) (cond ((syntmp-syntax-object?-88 syntmp-x-548) (syntmp-strip-151 (syntmp-syntax-object-expression-89 syntmp-x-548) (syntmp-syntax-object-wrap-90 syntmp-x-548))) ((pair? syntmp-x-548) (let ((syntmp-a-549 (syntmp-f-547 (car syntmp-x-548))) (syntmp-d-550 (syntmp-f-547 (cdr syntmp-x-548)))) (if (and (eq? syntmp-a-549 (car syntmp-x-548)) (eq? syntmp-d-550 (cdr syntmp-x-548))) syntmp-x-548 (cons syntmp-a-549 syntmp-d-550)))) ((vector? syntmp-x-548) (let ((syntmp-old-551 (vector->list syntmp-x-548))) (let ((syntmp-new-552 (map syntmp-f-547 syntmp-old-551))) (if (andmap eq? syntmp-old-551 syntmp-new-552) syntmp-x-548 (list->vector syntmp-new-552))))) (else syntmp-x-548)))))) (syntmp-strip-annotation-150 (lambda (syntmp-x-553 syntmp-parent-554) (cond ((pair? syntmp-x-553) (let ((syntmp-new-555 (cons #f #f))) (begin (if syntmp-parent-554 (set-annotation-stripped! syntmp-parent-554 syntmp-new-555)) (set-car! syntmp-new-555 (syntmp-strip-annotation-150 (car syntmp-x-553) #f)) (set-cdr! syntmp-new-555 (syntmp-strip-annotation-150 (cdr syntmp-x-553) #f)) syntmp-new-555))) ((annotation? syntmp-x-553) (or (annotation-stripped syntmp-x-553) (syntmp-strip-annotation-150 (annotation-expression syntmp-x-553) syntmp-x-553))) ((vector? syntmp-x-553) (let ((syntmp-new-556 (make-vector (vector-length syntmp-x-553)))) (begin (if syntmp-parent-554 (set-annotation-stripped! syntmp-parent-554 syntmp-new-556)) (let syntmp-loop-557 ((syntmp-i-558 (- (vector-length syntmp-x-553) 1))) (unless (syntmp-fx<-75 syntmp-i-558 0) (vector-set! syntmp-new-556 syntmp-i-558 (syntmp-strip-annotation-150 (vector-ref syntmp-x-553 syntmp-i-558) #f)) (syntmp-loop-557 (syntmp-fx--73 syntmp-i-558 1)))) syntmp-new-556))) (else syntmp-x-553)))) (syntmp-ellipsis?-149 (lambda (syntmp-x-559) (and (syntmp-nonsymbol-id?-103 syntmp-x-559) (syntmp-free-id=?-127 syntmp-x-559 (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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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"))))))))) (syntmp-chi-void-148 (lambda () (syntmp-build-annotated-81 #f (list (syntmp-build-annotated-81 #f (quote void)))))) (syntmp-eval-local-transformer-147 (lambda (syntmp-expanded-560) (let ((syntmp-p-561 (syntmp-local-eval-hook-77 syntmp-expanded-560))) (if (procedure? syntmp-p-561) syntmp-p-561 (syntax-error syntmp-p-561 "nonprocedure transformer"))))) (syntmp-chi-local-syntax-146 (lambda (syntmp-rec?-562 syntmp-e-563 syntmp-r-564 syntmp-w-565 syntmp-s-566 syntmp-k-567) ((lambda (syntmp-tmp-568) ((lambda (syntmp-tmp-569) (if syntmp-tmp-569 (apply (lambda (syntmp-_-570 syntmp-id-571 syntmp-val-572 syntmp-e1-573 syntmp-e2-574) (let ((syntmp-ids-575 syntmp-id-571)) (if (not (syntmp-valid-bound-ids?-129 syntmp-ids-575)) (syntax-error syntmp-e-563 "duplicate bound keyword in") (let ((syntmp-labels-577 (syntmp-gen-labels-110 syntmp-ids-575))) (let ((syntmp-new-w-578 (syntmp-make-binding-wrap-121 syntmp-ids-575 syntmp-labels-577 syntmp-w-565))) (syntmp-k-567 (cons syntmp-e1-573 syntmp-e2-574) (syntmp-extend-env-98 syntmp-labels-577 (let ((syntmp-w-580 (if syntmp-rec?-562 syntmp-new-w-578 syntmp-w-565)) (syntmp-trans-r-581 (syntmp-macros-only-env-100 syntmp-r-564))) (map (lambda (syntmp-x-582) (cons (quote macro) (syntmp-eval-local-transformer-147 (syntmp-chi-140 syntmp-x-582 syntmp-trans-r-581 syntmp-w-580)))) syntmp-val-572)) syntmp-r-564) syntmp-new-w-578 syntmp-s-566)))))) syntmp-tmp-569) ((lambda (syntmp-_-584) (syntax-error (syntmp-source-wrap-133 syntmp-e-563 syntmp-w-565 syntmp-s-566))) syntmp-tmp-568))) (syntax-dispatch syntmp-tmp-568 (quote (any #(each (any any)) any . each-any))))) syntmp-e-563))) (syntmp-chi-lambda-clause-145 (lambda (syntmp-e-585 syntmp-c-586 syntmp-r-587 syntmp-w-588 syntmp-k-589) ((lambda (syntmp-tmp-590) ((lambda (syntmp-tmp-591) (if syntmp-tmp-591 (apply (lambda (syntmp-id-592 syntmp-e1-593 syntmp-e2-594) (let ((syntmp-ids-595 syntmp-id-592)) (if (not (syntmp-valid-bound-ids?-129 syntmp-ids-595)) (syntax-error syntmp-e-585 "invalid parameter list in") (let ((syntmp-labels-597 (syntmp-gen-labels-110 syntmp-ids-595)) (syntmp-new-vars-598 (map syntmp-gen-var-152 syntmp-ids-595))) (syntmp-k-589 syntmp-new-vars-598 (syntmp-chi-body-144 (cons syntmp-e1-593 syntmp-e2-594) syntmp-e-585 (syntmp-extend-var-env-99 syntmp-labels-597 syntmp-new-vars-598 syntmp-r-587) (syntmp-make-binding-wrap-121 syntmp-ids-595 syntmp-labels-597 syntmp-w-588))))))) syntmp-tmp-591) ((lambda (syntmp-tmp-600) (if syntmp-tmp-600 (apply (lambda (syntmp-ids-601 syntmp-e1-602 syntmp-e2-603) (let ((syntmp-old-ids-604 (syntmp-lambda-var-list-153 syntmp-ids-601))) (if (not (syntmp-valid-bound-ids?-129 syntmp-old-ids-604)) (syntax-error syntmp-e-585 "invalid parameter list in") (let ((syntmp-labels-605 (syntmp-gen-labels-110 syntmp-old-ids-604)) (syntmp-new-vars-606 (map syntmp-gen-var-152 syntmp-old-ids-604))) (syntmp-k-589 (let syntmp-f-607 ((syntmp-ls1-608 (cdr syntmp-new-vars-606)) (syntmp-ls2-609 (car syntmp-new-vars-606))) (if (null? syntmp-ls1-608) syntmp-ls2-609 (syntmp-f-607 (cdr syntmp-ls1-608) (cons (car syntmp-ls1-608) syntmp-ls2-609)))) (syntmp-chi-body-144 (cons syntmp-e1-602 syntmp-e2-603) syntmp-e-585 (syntmp-extend-var-env-99 syntmp-labels-605 syntmp-new-vars-606 syntmp-r-587) (syntmp-make-binding-wrap-121 syntmp-old-ids-604 syntmp-labels-605 syntmp-w-588))))))) syntmp-tmp-600) ((lambda (syntmp-_-611) (syntax-error syntmp-e-585)) syntmp-tmp-590))) (syntax-dispatch syntmp-tmp-590 (quote (any any . each-any)))))) (syntax-dispatch syntmp-tmp-590 (quote (each-any any . each-any))))) syntmp-c-586))) (syntmp-chi-body-144 (lambda (syntmp-body-612 syntmp-outer-form-613 syntmp-r-614 syntmp-w-615) (let ((syntmp-r-616 (cons (quote ("placeholder" placeholder)) syntmp-r-614))) (let ((syntmp-ribcage-617 (syntmp-make-ribcage-111 (quote ()) (quote ()) (quote ())))) (let ((syntmp-w-618 (syntmp-make-wrap-106 (syntmp-wrap-marks-107 syntmp-w-615) (cons syntmp-ribcage-617 (syntmp-wrap-subst-108 syntmp-w-615))))) (let syntmp-parse-619 ((syntmp-body-620 (map (lambda (syntmp-x-626) (cons syntmp-r-616 (syntmp-wrap-132 syntmp-x-626 syntmp-w-618))) syntmp-body-612)) (syntmp-ids-621 (quote ())) (syntmp-labels-622 (quote ())) (syntmp-vars-623 (quote ())) (syntmp-vals-624 (quote ())) (syntmp-bindings-625 (quote ()))) (if (null? syntmp-body-620) (syntax-error syntmp-outer-form-613 "no expressions in body") (let ((syntmp-e-627 (cdar syntmp-body-620)) (syntmp-er-628 (caar syntmp-body-620))) (call-with-values (lambda () (syntmp-syntax-type-138 syntmp-e-627 syntmp-er-628 (quote (())) #f syntmp-ribcage-617)) (lambda (syntmp-type-629 syntmp-value-630 syntmp-e-631 syntmp-w-632 syntmp-s-633) (let ((syntmp-t-634 syntmp-type-629)) (if (memv syntmp-t-634 (quote (define-form))) (let ((syntmp-id-635 (syntmp-wrap-132 syntmp-value-630 syntmp-w-632)) (syntmp-label-636 (syntmp-gen-label-109))) (let ((syntmp-var-637 (syntmp-gen-var-152 syntmp-id-635))) (begin (syntmp-extend-ribcage!-120 syntmp-ribcage-617 syntmp-id-635 syntmp-label-636) (syntmp-parse-619 (cdr syntmp-body-620) (cons syntmp-id-635 syntmp-ids-621) (cons syntmp-label-636 syntmp-labels-622) (cons syntmp-var-637 syntmp-vars-623) (cons (cons syntmp-er-628 (syntmp-wrap-132 syntmp-e-631 syntmp-w-632)) syntmp-vals-624) (cons (cons (quote lexical) syntmp-var-637) syntmp-bindings-625))))) (if (memv syntmp-t-634 (quote (define-syntax-form))) (let ((syntmp-id-638 (syntmp-wrap-132 syntmp-value-630 syntmp-w-632)) (syntmp-label-639 (syntmp-gen-label-109))) (begin (syntmp-extend-ribcage!-120 syntmp-ribcage-617 syntmp-id-638 syntmp-label-639) (syntmp-parse-619 (cdr syntmp-body-620) (cons syntmp-id-638 syntmp-ids-621) (cons syntmp-label-639 syntmp-labels-622) syntmp-vars-623 syntmp-vals-624 (cons (cons (quote macro) (cons syntmp-er-628 (syntmp-wrap-132 syntmp-e-631 syntmp-w-632))) syntmp-bindings-625)))) (if (memv syntmp-t-634 (quote (begin-form))) ((lambda (syntmp-tmp-640) ((lambda (syntmp-tmp-641) (if syntmp-tmp-641 (apply (lambda (syntmp-_-642 syntmp-e1-643) (syntmp-parse-619 (let syntmp-f-644 ((syntmp-forms-645 syntmp-e1-643)) (if (null? syntmp-forms-645) (cdr syntmp-body-620) (cons (cons syntmp-er-628 (syntmp-wrap-132 (car syntmp-forms-645) syntmp-w-632)) (syntmp-f-644 (cdr syntmp-forms-645))))) syntmp-ids-621 syntmp-labels-622 syntmp-vars-623 syntmp-vals-624 syntmp-bindings-625)) syntmp-tmp-641) (syntax-error syntmp-tmp-640))) (syntax-dispatch syntmp-tmp-640 (quote (any . each-any))))) syntmp-e-631) (if (memv syntmp-t-634 (quote (local-syntax-form))) (syntmp-chi-local-syntax-146 syntmp-value-630 syntmp-e-631 syntmp-er-628 syntmp-w-632 syntmp-s-633 (lambda (syntmp-forms-647 syntmp-er-648 syntmp-w-649 syntmp-s-650) (syntmp-parse-619 (let syntmp-f-651 ((syntmp-forms-652 syntmp-forms-647)) (if (null? syntmp-forms-652) (cdr syntmp-body-620) (cons (cons syntmp-er-648 (syntmp-wrap-132 (car syntmp-forms-652) syntmp-w-649)) (syntmp-f-651 (cdr syntmp-forms-652))))) syntmp-ids-621 syntmp-labels-622 syntmp-vars-623 syntmp-vals-624 syntmp-bindings-625))) (if (null? syntmp-ids-621) (syntmp-build-sequence-83 #f (map (lambda (syntmp-x-653) (syntmp-chi-140 (cdr syntmp-x-653) (car syntmp-x-653) (quote (())))) (cons (cons syntmp-er-628 (syntmp-source-wrap-133 syntmp-e-631 syntmp-w-632 syntmp-s-633)) (cdr syntmp-body-620)))) (begin (if (not (syntmp-valid-bound-ids?-129 syntmp-ids-621)) (syntax-error syntmp-outer-form-613 "invalid or duplicate identifier in definition")) (let syntmp-loop-654 ((syntmp-bs-655 syntmp-bindings-625) (syntmp-er-cache-656 #f) (syntmp-r-cache-657 #f)) (if (not (null? syntmp-bs-655)) (let ((syntmp-b-658 (car syntmp-bs-655))) (if (eq? (car syntmp-b-658) (quote macro)) (let ((syntmp-er-659 (cadr syntmp-b-658))) (let ((syntmp-r-cache-660 (if (eq? syntmp-er-659 syntmp-er-cache-656) syntmp-r-cache-657 (syntmp-macros-only-env-100 syntmp-er-659)))) (begin (set-cdr! syntmp-b-658 (syntmp-eval-local-transformer-147 (syntmp-chi-140 (cddr syntmp-b-658) syntmp-r-cache-660 (quote (()))))) (syntmp-loop-654 (cdr syntmp-bs-655) syntmp-er-659 syntmp-r-cache-660)))) (syntmp-loop-654 (cdr syntmp-bs-655) syntmp-er-cache-656 syntmp-r-cache-657))))) (set-cdr! syntmp-r-616 (syntmp-extend-env-98 syntmp-labels-622 syntmp-bindings-625 (cdr syntmp-r-616))) (syntmp-build-letrec-86 #f syntmp-vars-623 (map (lambda (syntmp-x-661) (syntmp-chi-140 (cdr syntmp-x-661) (car syntmp-x-661) (quote (())))) syntmp-vals-624) (syntmp-build-sequence-83 #f (map (lambda (syntmp-x-662) (syntmp-chi-140 (cdr syntmp-x-662) (car syntmp-x-662) (quote (())))) (cons (cons syntmp-er-628 (syntmp-source-wrap-133 syntmp-e-631 syntmp-w-632 syntmp-s-633)) (cdr syntmp-body-620)))))))))))))))))))))) (syntmp-chi-macro-143 (lambda (syntmp-p-663 syntmp-e-664 syntmp-r-665 syntmp-w-666 syntmp-rib-667) (letrec ((syntmp-rebuild-macro-output-668 (lambda (syntmp-x-669 syntmp-m-670) (cond ((pair? syntmp-x-669) (cons (syntmp-rebuild-macro-output-668 (car syntmp-x-669) syntmp-m-670) (syntmp-rebuild-macro-output-668 (cdr syntmp-x-669) syntmp-m-670))) ((syntmp-syntax-object?-88 syntmp-x-669) (let ((syntmp-w-671 (syntmp-syntax-object-wrap-90 syntmp-x-669))) (let ((syntmp-ms-672 (syntmp-wrap-marks-107 syntmp-w-671)) (syntmp-s-673 (syntmp-wrap-subst-108 syntmp-w-671))) (syntmp-make-syntax-object-87 (syntmp-syntax-object-expression-89 syntmp-x-669) (if (and (pair? syntmp-ms-672) (eq? (car syntmp-ms-672) #f)) (syntmp-make-wrap-106 (cdr syntmp-ms-672) (if syntmp-rib-667 (cons syntmp-rib-667 (cdr syntmp-s-673)) (cdr syntmp-s-673))) (syntmp-make-wrap-106 (cons syntmp-m-670 syntmp-ms-672) (if syntmp-rib-667 (cons syntmp-rib-667 (cons (quote shift) syntmp-s-673)) (cons (quote shift) syntmp-s-673)))))))) ((vector? syntmp-x-669) (let ((syntmp-n-674 (vector-length syntmp-x-669))) (let ((syntmp-v-675 (make-vector syntmp-n-674))) (let syntmp-doloop-676 ((syntmp-i-677 0)) (if (syntmp-fx=-74 syntmp-i-677 syntmp-n-674) syntmp-v-675 (begin (vector-set! syntmp-v-675 syntmp-i-677 (syntmp-rebuild-macro-output-668 (vector-ref syntmp-x-669 syntmp-i-677) syntmp-m-670)) (syntmp-doloop-676 (syntmp-fx+-72 syntmp-i-677 1)))))))) ((symbol? syntmp-x-669) (syntax-error syntmp-x-669 "encountered raw symbol in macro output")) (else syntmp-x-669))))) (syntmp-rebuild-macro-output-668 (syntmp-p-663 (syntmp-wrap-132 syntmp-e-664 (syntmp-anti-mark-119 syntmp-w-666))) (string #\m))))) (syntmp-chi-application-142 (lambda (syntmp-x-678 syntmp-e-679 syntmp-r-680 syntmp-w-681 syntmp-s-682) ((lambda (syntmp-tmp-683) ((lambda (syntmp-tmp-684) (if syntmp-tmp-684 (apply (lambda (syntmp-e0-685 syntmp-e1-686) (syntmp-build-annotated-81 syntmp-s-682 (cons syntmp-x-678 (map (lambda (syntmp-e-687) (syntmp-chi-140 syntmp-e-687 syntmp-r-680 syntmp-w-681)) syntmp-e1-686)))) syntmp-tmp-684) (syntax-error syntmp-tmp-683))) (syntax-dispatch syntmp-tmp-683 (quote (any . each-any))))) syntmp-e-679))) (syntmp-chi-expr-141 (lambda (syntmp-type-689 syntmp-value-690 syntmp-e-691 syntmp-r-692 syntmp-w-693 syntmp-s-694) (let ((syntmp-t-695 syntmp-type-689)) (if (memv syntmp-t-695 (quote (lexical))) (syntmp-build-annotated-81 syntmp-s-694 syntmp-value-690) (if (memv syntmp-t-695 (quote (core external-macro))) (syntmp-value-690 syntmp-e-691 syntmp-r-692 syntmp-w-693 syntmp-s-694) (if (memv syntmp-t-695 (quote (lexical-call))) (syntmp-chi-application-142 (syntmp-build-annotated-81 (syntmp-source-annotation-95 (car syntmp-e-691)) syntmp-value-690) syntmp-e-691 syntmp-r-692 syntmp-w-693 syntmp-s-694) (if (memv syntmp-t-695 (quote (global-call))) (syntmp-chi-application-142 (syntmp-build-annotated-81 (syntmp-source-annotation-95 (car syntmp-e-691)) (make-module-ref #f syntmp-value-690 #f)) syntmp-e-691 syntmp-r-692 syntmp-w-693 syntmp-s-694) (if (memv syntmp-t-695 (quote (constant))) (syntmp-build-data-82 syntmp-s-694 (syntmp-strip-151 (syntmp-source-wrap-133 syntmp-e-691 syntmp-w-693 syntmp-s-694) (quote (())))) (if (memv syntmp-t-695 (quote (global))) (syntmp-build-annotated-81 syntmp-s-694 (make-module-ref #f syntmp-value-690 #f)) (if (memv syntmp-t-695 (quote (call))) (syntmp-chi-application-142 (syntmp-chi-140 (car syntmp-e-691) syntmp-r-692 syntmp-w-693) syntmp-e-691 syntmp-r-692 syntmp-w-693 syntmp-s-694) (if (memv syntmp-t-695 (quote (begin-form))) ((lambda (syntmp-tmp-696) ((lambda (syntmp-tmp-697) (if syntmp-tmp-697 (apply (lambda (syntmp-_-698 syntmp-e1-699 syntmp-e2-700) (syntmp-chi-sequence-134 (cons syntmp-e1-699 syntmp-e2-700) syntmp-r-692 syntmp-w-693 syntmp-s-694)) syntmp-tmp-697) (syntax-error syntmp-tmp-696))) (syntax-dispatch syntmp-tmp-696 (quote (any any . each-any))))) syntmp-e-691) (if (memv syntmp-t-695 (quote (local-syntax-form))) (syntmp-chi-local-syntax-146 syntmp-value-690 syntmp-e-691 syntmp-r-692 syntmp-w-693 syntmp-s-694 syntmp-chi-sequence-134) (if (memv syntmp-t-695 (quote (eval-when-form))) ((lambda (syntmp-tmp-702) ((lambda (syntmp-tmp-703) (if syntmp-tmp-703 (apply (lambda (syntmp-_-704 syntmp-x-705 syntmp-e1-706 syntmp-e2-707) (let ((syntmp-when-list-708 (syntmp-chi-when-list-137 syntmp-e-691 syntmp-x-705 syntmp-w-693))) (if (memq (quote eval) syntmp-when-list-708) (syntmp-chi-sequence-134 (cons syntmp-e1-706 syntmp-e2-707) syntmp-r-692 syntmp-w-693 syntmp-s-694) (syntmp-chi-void-148)))) syntmp-tmp-703) (syntax-error syntmp-tmp-702))) (syntax-dispatch syntmp-tmp-702 (quote (any each-any any . each-any))))) syntmp-e-691) (if (memv syntmp-t-695 (quote (define-form define-syntax-form))) (syntax-error (syntmp-wrap-132 syntmp-value-690 syntmp-w-693) "invalid context for definition of") (if (memv syntmp-t-695 (quote (syntax))) (syntax-error (syntmp-source-wrap-133 syntmp-e-691 syntmp-w-693 syntmp-s-694) "reference to pattern variable outside syntax form") (if (memv syntmp-t-695 (quote (displaced-lexical))) (syntax-error (syntmp-source-wrap-133 syntmp-e-691 syntmp-w-693 syntmp-s-694) "reference to identifier outside its scope") (syntax-error (syntmp-source-wrap-133 syntmp-e-691 syntmp-w-693 syntmp-s-694)))))))))))))))))) (syntmp-chi-140 (lambda (syntmp-e-711 syntmp-r-712 syntmp-w-713) (call-with-values (lambda () (syntmp-syntax-type-138 syntmp-e-711 syntmp-r-712 syntmp-w-713 #f #f)) (lambda (syntmp-type-714 syntmp-value-715 syntmp-e-716 syntmp-w-717 syntmp-s-718) (syntmp-chi-expr-141 syntmp-type-714 syntmp-value-715 syntmp-e-716 syntmp-r-712 syntmp-w-717 syntmp-s-718))))) (syntmp-chi-top-139 (lambda (syntmp-e-719 syntmp-r-720 syntmp-w-721 syntmp-m-722 syntmp-esew-723) (call-with-values (lambda () (syntmp-syntax-type-138 syntmp-e-719 syntmp-r-720 syntmp-w-721 #f #f)) (lambda (syntmp-type-736 syntmp-value-737 syntmp-e-738 syntmp-w-739 syntmp-s-740) (let ((syntmp-t-741 syntmp-type-736)) (if (memv syntmp-t-741 (quote (begin-form))) ((lambda (syntmp-tmp-742) ((lambda (syntmp-tmp-743) (if syntmp-tmp-743 (apply (lambda (syntmp-_-744) (syntmp-chi-void-148)) syntmp-tmp-743) ((lambda (syntmp-tmp-745) (if syntmp-tmp-745 (apply (lambda (syntmp-_-746 syntmp-e1-747 syntmp-e2-748) (syntmp-chi-top-sequence-135 (cons syntmp-e1-747 syntmp-e2-748) syntmp-r-720 syntmp-w-739 syntmp-s-740 syntmp-m-722 syntmp-esew-723)) syntmp-tmp-745) (syntax-error syntmp-tmp-742))) (syntax-dispatch syntmp-tmp-742 (quote (any any . each-any)))))) (syntax-dispatch syntmp-tmp-742 (quote (any))))) syntmp-e-738) (if (memv syntmp-t-741 (quote (local-syntax-form))) (syntmp-chi-local-syntax-146 syntmp-value-737 syntmp-e-738 syntmp-r-720 syntmp-w-739 syntmp-s-740 (lambda (syntmp-body-750 syntmp-r-751 syntmp-w-752 syntmp-s-753) (syntmp-chi-top-sequence-135 syntmp-body-750 syntmp-r-751 syntmp-w-752 syntmp-s-753 syntmp-m-722 syntmp-esew-723))) (if (memv syntmp-t-741 (quote (eval-when-form))) ((lambda (syntmp-tmp-754) ((lambda (syntmp-tmp-755) (if syntmp-tmp-755 (apply (lambda (syntmp-_-756 syntmp-x-757 syntmp-e1-758 syntmp-e2-759) (let ((syntmp-when-list-760 (syntmp-chi-when-list-137 syntmp-e-738 syntmp-x-757 syntmp-w-739)) (syntmp-body-761 (cons syntmp-e1-758 syntmp-e2-759))) (cond ((eq? syntmp-m-722 (quote e)) (if (memq (quote eval) syntmp-when-list-760) (syntmp-chi-top-sequence-135 syntmp-body-761 syntmp-r-720 syntmp-w-739 syntmp-s-740 (quote e) (quote (eval))) (syntmp-chi-void-148))) ((memq (quote load) syntmp-when-list-760) (if (or (memq (quote compile) syntmp-when-list-760) (and (eq? syntmp-m-722 (quote c&e)) (memq (quote eval) syntmp-when-list-760))) (syntmp-chi-top-sequence-135 syntmp-body-761 syntmp-r-720 syntmp-w-739 syntmp-s-740 (quote c&e) (quote (compile load))) (if (memq syntmp-m-722 (quote (c c&e))) (syntmp-chi-top-sequence-135 syntmp-body-761 syntmp-r-720 syntmp-w-739 syntmp-s-740 (quote c) (quote (load))) (syntmp-chi-void-148)))) ((or (memq (quote compile) syntmp-when-list-760) (and (eq? syntmp-m-722 (quote c&e)) (memq (quote eval) syntmp-when-list-760))) (syntmp-top-level-eval-hook-76 (syntmp-chi-top-sequence-135 syntmp-body-761 syntmp-r-720 syntmp-w-739 syntmp-s-740 (quote e) (quote (eval)))) (syntmp-chi-void-148)) (else (syntmp-chi-void-148))))) syntmp-tmp-755) (syntax-error syntmp-tmp-754))) (syntax-dispatch syntmp-tmp-754 (quote (any each-any any . each-any))))) syntmp-e-738) (if (memv syntmp-t-741 (quote (define-syntax-form))) (let ((syntmp-n-764 (syntmp-id-var-name-126 syntmp-value-737 syntmp-w-739)) (syntmp-r-765 (syntmp-macros-only-env-100 syntmp-r-720))) (let ((syntmp-t-766 syntmp-m-722)) (if (memv syntmp-t-766 (quote (c))) (if (memq (quote compile) syntmp-esew-723) (let ((syntmp-e-767 (syntmp-chi-install-global-136 syntmp-n-764 (syntmp-chi-140 syntmp-e-738 syntmp-r-765 syntmp-w-739)))) (begin (syntmp-top-level-eval-hook-76 syntmp-e-767) (if (memq (quote load) syntmp-esew-723) syntmp-e-767 (syntmp-chi-void-148)))) (if (memq (quote load) syntmp-esew-723) (syntmp-chi-install-global-136 syntmp-n-764 (syntmp-chi-140 syntmp-e-738 syntmp-r-765 syntmp-w-739)) (syntmp-chi-void-148))) (if (memv syntmp-t-766 (quote (c&e))) (let ((syntmp-e-768 (syntmp-chi-install-global-136 syntmp-n-764 (syntmp-chi-140 syntmp-e-738 syntmp-r-765 syntmp-w-739)))) (begin (syntmp-top-level-eval-hook-76 syntmp-e-768) syntmp-e-768)) (begin (if (memq (quote eval) syntmp-esew-723) (syntmp-top-level-eval-hook-76 (syntmp-chi-install-global-136 syntmp-n-764 (syntmp-chi-140 syntmp-e-738 syntmp-r-765 syntmp-w-739)))) (syntmp-chi-void-148)))))) (if (memv syntmp-t-741 (quote (define-form))) (let ((syntmp-n-769 (syntmp-id-var-name-126 syntmp-value-737 syntmp-w-739))) (let ((syntmp-type-770 (syntmp-binding-type-96 (syntmp-lookup-101 syntmp-n-769 syntmp-r-720)))) (let ((syntmp-t-771 syntmp-type-770)) (if (memv syntmp-t-771 (quote (global))) (let ((syntmp-x-772 (syntmp-build-annotated-81 syntmp-s-740 (list (quote define) syntmp-n-769 (syntmp-chi-140 syntmp-e-738 syntmp-r-720 syntmp-w-739))))) (begin (if (eq? syntmp-m-722 (quote c&e)) (syntmp-top-level-eval-hook-76 syntmp-x-772)) syntmp-x-772)) (if (memv syntmp-t-771 (quote (displaced-lexical))) (syntax-error (syntmp-wrap-132 syntmp-value-737 syntmp-w-739) "identifier out of context") (if (eq? syntmp-type-770 (quote external-macro)) (let ((syntmp-x-773 (syntmp-build-annotated-81 syntmp-s-740 (list (quote define) syntmp-n-769 (syntmp-chi-140 syntmp-e-738 syntmp-r-720 syntmp-w-739))))) (begin (if (eq? syntmp-m-722 (quote c&e)) (syntmp-top-level-eval-hook-76 syntmp-x-773)) syntmp-x-773)) (syntax-error (syntmp-wrap-132 syntmp-value-737 syntmp-w-739) "cannot define keyword at top level"))))))) (let ((syntmp-x-774 (syntmp-chi-expr-141 syntmp-type-736 syntmp-value-737 syntmp-e-738 syntmp-r-720 syntmp-w-739 syntmp-s-740))) (begin (if (eq? syntmp-m-722 (quote c&e)) (syntmp-top-level-eval-hook-76 syntmp-x-774)) syntmp-x-774)))))))))))) (syntmp-syntax-type-138 (lambda (syntmp-e-775 syntmp-r-776 syntmp-w-777 syntmp-s-778 syntmp-rib-779) (cond ((symbol? syntmp-e-775) (let ((syntmp-n-780 (syntmp-id-var-name-126 syntmp-e-775 syntmp-w-777))) (let ((syntmp-b-781 (syntmp-lookup-101 syntmp-n-780 syntmp-r-776))) (let ((syntmp-type-782 (syntmp-binding-type-96 syntmp-b-781))) (let ((syntmp-t-783 syntmp-type-782)) (if (memv syntmp-t-783 (quote (lexical))) (values syntmp-type-782 (syntmp-binding-value-97 syntmp-b-781) syntmp-e-775 syntmp-w-777 syntmp-s-778) (if (memv syntmp-t-783 (quote (global))) (values syntmp-type-782 syntmp-n-780 syntmp-e-775 syntmp-w-777 syntmp-s-778) (if (memv syntmp-t-783 (quote (macro))) (syntmp-syntax-type-138 (syntmp-chi-macro-143 (syntmp-binding-value-97 syntmp-b-781) syntmp-e-775 syntmp-r-776 syntmp-w-777 syntmp-rib-779) syntmp-r-776 (quote (())) syntmp-s-778 syntmp-rib-779) (values syntmp-type-782 (syntmp-binding-value-97 syntmp-b-781) syntmp-e-775 syntmp-w-777 syntmp-s-778))))))))) ((pair? syntmp-e-775) (let ((syntmp-first-784 (car syntmp-e-775))) (if (syntmp-id?-104 syntmp-first-784) (let ((syntmp-n-785 (syntmp-id-var-name-126 syntmp-first-784 syntmp-w-777))) (let ((syntmp-b-786 (syntmp-lookup-101 syntmp-n-785 syntmp-r-776))) (let ((syntmp-type-787 (syntmp-binding-type-96 syntmp-b-786))) (let ((syntmp-t-788 syntmp-type-787)) (if (memv syntmp-t-788 (quote (lexical))) (values (quote lexical-call) (syntmp-binding-value-97 syntmp-b-786) syntmp-e-775 syntmp-w-777 syntmp-s-778) (if (memv syntmp-t-788 (quote (global))) (values (quote global-call) syntmp-n-785 syntmp-e-775 syntmp-w-777 syntmp-s-778) (if (memv syntmp-t-788 (quote (macro))) (syntmp-syntax-type-138 (syntmp-chi-macro-143 (syntmp-binding-value-97 syntmp-b-786) syntmp-e-775 syntmp-r-776 syntmp-w-777 syntmp-rib-779) syntmp-r-776 (quote (())) syntmp-s-778 syntmp-rib-779) (if (memv syntmp-t-788 (quote (core external-macro))) (values syntmp-type-787 (syntmp-binding-value-97 syntmp-b-786) syntmp-e-775 syntmp-w-777 syntmp-s-778) (if (memv syntmp-t-788 (quote (local-syntax))) (values (quote local-syntax-form) (syntmp-binding-value-97 syntmp-b-786) syntmp-e-775 syntmp-w-777 syntmp-s-778) (if (memv syntmp-t-788 (quote (begin))) (values (quote begin-form) #f syntmp-e-775 syntmp-w-777 syntmp-s-778) (if (memv syntmp-t-788 (quote (eval-when))) (values (quote eval-when-form) #f syntmp-e-775 syntmp-w-777 syntmp-s-778) (if (memv syntmp-t-788 (quote (define))) ((lambda (syntmp-tmp-789) ((lambda (syntmp-tmp-790) (if (if syntmp-tmp-790 (apply (lambda (syntmp-_-791 syntmp-name-792 syntmp-val-793) (syntmp-id?-104 syntmp-name-792)) syntmp-tmp-790) #f) (apply (lambda (syntmp-_-794 syntmp-name-795 syntmp-val-796) (values (quote define-form) syntmp-name-795 syntmp-val-796 syntmp-w-777 syntmp-s-778)) syntmp-tmp-790) ((lambda (syntmp-tmp-797) (if (if syntmp-tmp-797 (apply (lambda (syntmp-_-798 syntmp-name-799 syntmp-args-800 syntmp-e1-801 syntmp-e2-802) (and (syntmp-id?-104 syntmp-name-799) (syntmp-valid-bound-ids?-129 (syntmp-lambda-var-list-153 syntmp-args-800)))) syntmp-tmp-797) #f) (apply (lambda (syntmp-_-803 syntmp-name-804 syntmp-args-805 syntmp-e1-806 syntmp-e2-807) (values (quote define-form) (syntmp-wrap-132 syntmp-name-804 syntmp-w-777) (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) #((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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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"))))) (syntmp-wrap-132 (cons syntmp-args-805 (cons syntmp-e1-806 syntmp-e2-807)) syntmp-w-777)) (quote (())) syntmp-s-778)) syntmp-tmp-797) ((lambda (syntmp-tmp-809) (if (if syntmp-tmp-809 (apply (lambda (syntmp-_-810 syntmp-name-811) (syntmp-id?-104 syntmp-name-811)) syntmp-tmp-809) #f) (apply (lambda (syntmp-_-812 syntmp-name-813) (values (quote define-form) (syntmp-wrap-132 syntmp-name-813 syntmp-w-777) (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) #((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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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")))))) (quote (())) syntmp-s-778)) syntmp-tmp-809) (syntax-error syntmp-tmp-789))) (syntax-dispatch syntmp-tmp-789 (quote (any any)))))) (syntax-dispatch syntmp-tmp-789 (quote (any (any . any) any . each-any)))))) (syntax-dispatch syntmp-tmp-789 (quote (any any any))))) syntmp-e-775) (if (memv syntmp-t-788 (quote (define-syntax))) ((lambda (syntmp-tmp-814) ((lambda (syntmp-tmp-815) (if (if syntmp-tmp-815 (apply (lambda (syntmp-_-816 syntmp-name-817 syntmp-val-818) (syntmp-id?-104 syntmp-name-817)) syntmp-tmp-815) #f) (apply (lambda (syntmp-_-819 syntmp-name-820 syntmp-val-821) (values (quote define-syntax-form) syntmp-name-820 syntmp-val-821 syntmp-w-777 syntmp-s-778)) syntmp-tmp-815) (syntax-error syntmp-tmp-814))) (syntax-dispatch syntmp-tmp-814 (quote (any any any))))) syntmp-e-775) (values (quote call) #f syntmp-e-775 syntmp-w-777 syntmp-s-778)))))))))))))) (values (quote call) #f syntmp-e-775 syntmp-w-777 syntmp-s-778)))) ((syntmp-syntax-object?-88 syntmp-e-775) (syntmp-syntax-type-138 (syntmp-syntax-object-expression-89 syntmp-e-775) syntmp-r-776 (syntmp-join-wraps-123 syntmp-w-777 (syntmp-syntax-object-wrap-90 syntmp-e-775)) #f syntmp-rib-779)) ((annotation? syntmp-e-775) (syntmp-syntax-type-138 (annotation-expression syntmp-e-775) syntmp-r-776 syntmp-w-777 (annotation-source syntmp-e-775) syntmp-rib-779)) ((self-evaluating? syntmp-e-775) (values (quote constant) #f syntmp-e-775 syntmp-w-777 syntmp-s-778)) (else (values (quote other) #f syntmp-e-775 syntmp-w-777 syntmp-s-778))))) (syntmp-chi-when-list-137 (lambda (syntmp-e-822 syntmp-when-list-823 syntmp-w-824) (let syntmp-f-825 ((syntmp-when-list-826 syntmp-when-list-823) (syntmp-situations-827 (quote ()))) (if (null? syntmp-when-list-826) syntmp-situations-827 (syntmp-f-825 (cdr syntmp-when-list-826) (cons (let ((syntmp-x-828 (car syntmp-when-list-826))) (cond ((syntmp-free-id=?-127 syntmp-x-828 (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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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")))))) (quote compile)) ((syntmp-free-id=?-127 syntmp-x-828 (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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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")))))) (quote load)) ((syntmp-free-id=?-127 syntmp-x-828 (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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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")))))) (quote eval)) (else (syntax-error (syntmp-wrap-132 syntmp-x-828 syntmp-w-824) "invalid eval-when situation")))) syntmp-situations-827)))))) (syntmp-chi-install-global-136 (lambda (syntmp-name-829 syntmp-e-830) (syntmp-build-annotated-81 #f (list (syntmp-build-annotated-81 #f (quote install-global-transformer)) (syntmp-build-data-82 #f syntmp-name-829) syntmp-e-830)))) (syntmp-chi-top-sequence-135 (lambda (syntmp-body-831 syntmp-r-832 syntmp-w-833 syntmp-s-834 syntmp-m-835 syntmp-esew-836) (syntmp-build-sequence-83 syntmp-s-834 (let syntmp-dobody-837 ((syntmp-body-838 syntmp-body-831) (syntmp-r-839 syntmp-r-832) (syntmp-w-840 syntmp-w-833) (syntmp-m-841 syntmp-m-835) (syntmp-esew-842 syntmp-esew-836)) (if (null? syntmp-body-838) (quote ()) (let ((syntmp-first-843 (syntmp-chi-top-139 (car syntmp-body-838) syntmp-r-839 syntmp-w-840 syntmp-m-841 syntmp-esew-842))) (cons syntmp-first-843 (syntmp-dobody-837 (cdr syntmp-body-838) syntmp-r-839 syntmp-w-840 syntmp-m-841 syntmp-esew-842)))))))) (syntmp-chi-sequence-134 (lambda (syntmp-body-844 syntmp-r-845 syntmp-w-846 syntmp-s-847) (syntmp-build-sequence-83 syntmp-s-847 (let syntmp-dobody-848 ((syntmp-body-849 syntmp-body-844) (syntmp-r-850 syntmp-r-845) (syntmp-w-851 syntmp-w-846)) (if (null? syntmp-body-849) (quote ()) (let ((syntmp-first-852 (syntmp-chi-140 (car syntmp-body-849) syntmp-r-850 syntmp-w-851))) (cons syntmp-first-852 (syntmp-dobody-848 (cdr syntmp-body-849) syntmp-r-850 syntmp-w-851)))))))) (syntmp-source-wrap-133 (lambda (syntmp-x-853 syntmp-w-854 syntmp-s-855) (syntmp-wrap-132 (if syntmp-s-855 (make-annotation syntmp-x-853 syntmp-s-855 #f) syntmp-x-853) syntmp-w-854))) (syntmp-wrap-132 (lambda (syntmp-x-856 syntmp-w-857) (cond ((and (null? (syntmp-wrap-marks-107 syntmp-w-857)) (null? (syntmp-wrap-subst-108 syntmp-w-857))) syntmp-x-856) ((syntmp-syntax-object?-88 syntmp-x-856) (syntmp-make-syntax-object-87 (syntmp-syntax-object-expression-89 syntmp-x-856) (syntmp-join-wraps-123 syntmp-w-857 (syntmp-syntax-object-wrap-90 syntmp-x-856)))) ((null? syntmp-x-856) syntmp-x-856) (else (syntmp-make-syntax-object-87 syntmp-x-856 syntmp-w-857))))) (syntmp-bound-id-member?-131 (lambda (syntmp-x-858 syntmp-list-859) (and (not (null? syntmp-list-859)) (or (syntmp-bound-id=?-128 syntmp-x-858 (car syntmp-list-859)) (syntmp-bound-id-member?-131 syntmp-x-858 (cdr syntmp-list-859)))))) (syntmp-distinct-bound-ids?-130 (lambda (syntmp-ids-860) (let syntmp-distinct?-861 ((syntmp-ids-862 syntmp-ids-860)) (or (null? syntmp-ids-862) (and (not (syntmp-bound-id-member?-131 (car syntmp-ids-862) (cdr syntmp-ids-862))) (syntmp-distinct?-861 (cdr syntmp-ids-862))))))) (syntmp-valid-bound-ids?-129 (lambda (syntmp-ids-863) (and (let syntmp-all-ids?-864 ((syntmp-ids-865 syntmp-ids-863)) (or (null? syntmp-ids-865) (and (syntmp-id?-104 (car syntmp-ids-865)) (syntmp-all-ids?-864 (cdr syntmp-ids-865))))) (syntmp-distinct-bound-ids?-130 syntmp-ids-863)))) (syntmp-bound-id=?-128 (lambda (syntmp-i-866 syntmp-j-867) (if (and (syntmp-syntax-object?-88 syntmp-i-866) (syntmp-syntax-object?-88 syntmp-j-867)) (and (eq? (let ((syntmp-e-868 (syntmp-syntax-object-expression-89 syntmp-i-866))) (if (annotation? syntmp-e-868) (annotation-expression syntmp-e-868) syntmp-e-868)) (let ((syntmp-e-869 (syntmp-syntax-object-expression-89 syntmp-j-867))) (if (annotation? syntmp-e-869) (annotation-expression syntmp-e-869) syntmp-e-869))) (syntmp-same-marks?-125 (syntmp-wrap-marks-107 (syntmp-syntax-object-wrap-90 syntmp-i-866)) (syntmp-wrap-marks-107 (syntmp-syntax-object-wrap-90 syntmp-j-867)))) (eq? (let ((syntmp-e-870 syntmp-i-866)) (if (annotation? syntmp-e-870) (annotation-expression syntmp-e-870) syntmp-e-870)) (let ((syntmp-e-871 syntmp-j-867)) (if (annotation? syntmp-e-871) (annotation-expression syntmp-e-871) syntmp-e-871)))))) (syntmp-free-id=?-127 (lambda (syntmp-i-872 syntmp-j-873) (and (eq? (let ((syntmp-x-874 syntmp-i-872)) (let ((syntmp-e-875 (if (syntmp-syntax-object?-88 syntmp-x-874) (syntmp-syntax-object-expression-89 syntmp-x-874) syntmp-x-874))) (if (annotation? syntmp-e-875) (annotation-expression syntmp-e-875) syntmp-e-875))) (let ((syntmp-x-876 syntmp-j-873)) (let ((syntmp-e-877 (if (syntmp-syntax-object?-88 syntmp-x-876) (syntmp-syntax-object-expression-89 syntmp-x-876) syntmp-x-876))) (if (annotation? syntmp-e-877) (annotation-expression syntmp-e-877) syntmp-e-877)))) (eq? (syntmp-id-var-name-126 syntmp-i-872 (quote (()))) (syntmp-id-var-name-126 syntmp-j-873 (quote (()))))))) (syntmp-id-var-name-126 (lambda (syntmp-id-878 syntmp-w-879) (letrec ((syntmp-search-vector-rib-882 (lambda (syntmp-sym-893 syntmp-subst-894 syntmp-marks-895 syntmp-symnames-896 syntmp-ribcage-897) (let ((syntmp-n-898 (vector-length syntmp-symnames-896))) (let syntmp-f-899 ((syntmp-i-900 0)) (cond ((syntmp-fx=-74 syntmp-i-900 syntmp-n-898) (syntmp-search-880 syntmp-sym-893 (cdr syntmp-subst-894) syntmp-marks-895)) ((and (eq? (vector-ref syntmp-symnames-896 syntmp-i-900) syntmp-sym-893) (syntmp-same-marks?-125 syntmp-marks-895 (vector-ref (syntmp-ribcage-marks-114 syntmp-ribcage-897) syntmp-i-900))) (values (vector-ref (syntmp-ribcage-labels-115 syntmp-ribcage-897) syntmp-i-900) syntmp-marks-895)) (else (syntmp-f-899 (syntmp-fx+-72 syntmp-i-900 1)))))))) (syntmp-search-list-rib-881 (lambda (syntmp-sym-901 syntmp-subst-902 syntmp-marks-903 syntmp-symnames-904 syntmp-ribcage-905) (let syntmp-f-906 ((syntmp-symnames-907 syntmp-symnames-904) (syntmp-i-908 0)) (cond ((null? syntmp-symnames-907) (syntmp-search-880 syntmp-sym-901 (cdr syntmp-subst-902) syntmp-marks-903)) ((and (eq? (car syntmp-symnames-907) syntmp-sym-901) (syntmp-same-marks?-125 syntmp-marks-903 (list-ref (syntmp-ribcage-marks-114 syntmp-ribcage-905) syntmp-i-908))) (values (list-ref (syntmp-ribcage-labels-115 syntmp-ribcage-905) syntmp-i-908) syntmp-marks-903)) (else (syntmp-f-906 (cdr syntmp-symnames-907) (syntmp-fx+-72 syntmp-i-908 1))))))) (syntmp-search-880 (lambda (syntmp-sym-909 syntmp-subst-910 syntmp-marks-911) (if (null? syntmp-subst-910) (values #f syntmp-marks-911) (let ((syntmp-fst-912 (car syntmp-subst-910))) (if (eq? syntmp-fst-912 (quote shift)) (syntmp-search-880 syntmp-sym-909 (cdr syntmp-subst-910) (cdr syntmp-marks-911)) (let ((syntmp-symnames-913 (syntmp-ribcage-symnames-113 syntmp-fst-912))) (if (vector? syntmp-symnames-913) (syntmp-search-vector-rib-882 syntmp-sym-909 syntmp-subst-910 syntmp-marks-911 syntmp-symnames-913 syntmp-fst-912) (syntmp-search-list-rib-881 syntmp-sym-909 syntmp-subst-910 syntmp-marks-911 syntmp-symnames-913 syntmp-fst-912))))))))) (cond ((symbol? syntmp-id-878) (or (call-with-values (lambda () (syntmp-search-880 syntmp-id-878 (syntmp-wrap-subst-108 syntmp-w-879) (syntmp-wrap-marks-107 syntmp-w-879))) (lambda (syntmp-x-915 . syntmp-ignore-914) syntmp-x-915)) syntmp-id-878)) ((syntmp-syntax-object?-88 syntmp-id-878) (let ((syntmp-id-916 (let ((syntmp-e-918 (syntmp-syntax-object-expression-89 syntmp-id-878))) (if (annotation? syntmp-e-918) (annotation-expression syntmp-e-918) syntmp-e-918))) (syntmp-w1-917 (syntmp-syntax-object-wrap-90 syntmp-id-878))) (let ((syntmp-marks-919 (syntmp-join-marks-124 (syntmp-wrap-marks-107 syntmp-w-879) (syntmp-wrap-marks-107 syntmp-w1-917)))) (call-with-values (lambda () (syntmp-search-880 syntmp-id-916 (syntmp-wrap-subst-108 syntmp-w-879) syntmp-marks-919)) (lambda (syntmp-new-id-920 syntmp-marks-921) (or syntmp-new-id-920 (call-with-values (lambda () (syntmp-search-880 syntmp-id-916 (syntmp-wrap-subst-108 syntmp-w1-917) syntmp-marks-921)) (lambda (syntmp-x-923 . syntmp-ignore-922) syntmp-x-923)) syntmp-id-916)))))) ((annotation? syntmp-id-878) (let ((syntmp-id-924 (let ((syntmp-e-925 syntmp-id-878)) (if (annotation? syntmp-e-925) (annotation-expression syntmp-e-925) syntmp-e-925)))) (or (call-with-values (lambda () (syntmp-search-880 syntmp-id-924 (syntmp-wrap-subst-108 syntmp-w-879) (syntmp-wrap-marks-107 syntmp-w-879))) (lambda (syntmp-x-927 . syntmp-ignore-926) syntmp-x-927)) syntmp-id-924))) (else (syntmp-error-hook-78 (quote id-var-name) "invalid id" syntmp-id-878)))))) (syntmp-same-marks?-125 (lambda (syntmp-x-928 syntmp-y-929) (or (eq? syntmp-x-928 syntmp-y-929) (and (not (null? syntmp-x-928)) (not (null? syntmp-y-929)) (eq? (car syntmp-x-928) (car syntmp-y-929)) (syntmp-same-marks?-125 (cdr syntmp-x-928) (cdr syntmp-y-929)))))) (syntmp-join-marks-124 (lambda (syntmp-m1-930 syntmp-m2-931) (syntmp-smart-append-122 syntmp-m1-930 syntmp-m2-931))) (syntmp-join-wraps-123 (lambda (syntmp-w1-932 syntmp-w2-933) (let ((syntmp-m1-934 (syntmp-wrap-marks-107 syntmp-w1-932)) (syntmp-s1-935 (syntmp-wrap-subst-108 syntmp-w1-932))) (if (null? syntmp-m1-934) (if (null? syntmp-s1-935) syntmp-w2-933 (syntmp-make-wrap-106 (syntmp-wrap-marks-107 syntmp-w2-933) (syntmp-smart-append-122 syntmp-s1-935 (syntmp-wrap-subst-108 syntmp-w2-933)))) (syntmp-make-wrap-106 (syntmp-smart-append-122 syntmp-m1-934 (syntmp-wrap-marks-107 syntmp-w2-933)) (syntmp-smart-append-122 syntmp-s1-935 (syntmp-wrap-subst-108 syntmp-w2-933))))))) (syntmp-smart-append-122 (lambda (syntmp-m1-936 syntmp-m2-937) (if (null? syntmp-m2-937) syntmp-m1-936 (append syntmp-m1-936 syntmp-m2-937)))) (syntmp-make-binding-wrap-121 (lambda (syntmp-ids-938 syntmp-labels-939 syntmp-w-940) (if (null? syntmp-ids-938) syntmp-w-940 (syntmp-make-wrap-106 (syntmp-wrap-marks-107 syntmp-w-940) (cons (let ((syntmp-labelvec-941 (list->vector syntmp-labels-939))) (let ((syntmp-n-942 (vector-length syntmp-labelvec-941))) (let ((syntmp-symnamevec-943 (make-vector syntmp-n-942)) (syntmp-marksvec-944 (make-vector syntmp-n-942))) (begin (let syntmp-f-945 ((syntmp-ids-946 syntmp-ids-938) (syntmp-i-947 0)) (if (not (null? syntmp-ids-946)) (call-with-values (lambda () (syntmp-id-sym-name&marks-105 (car syntmp-ids-946) syntmp-w-940)) (lambda (syntmp-symname-948 syntmp-marks-949) (begin (vector-set! syntmp-symnamevec-943 syntmp-i-947 syntmp-symname-948) (vector-set! syntmp-marksvec-944 syntmp-i-947 syntmp-marks-949) (syntmp-f-945 (cdr syntmp-ids-946) (syntmp-fx+-72 syntmp-i-947 1))))))) (syntmp-make-ribcage-111 syntmp-symnamevec-943 syntmp-marksvec-944 syntmp-labelvec-941))))) (syntmp-wrap-subst-108 syntmp-w-940)))))) (syntmp-extend-ribcage!-120 (lambda (syntmp-ribcage-950 syntmp-id-951 syntmp-label-952) (begin (syntmp-set-ribcage-symnames!-116 syntmp-ribcage-950 (cons (let ((syntmp-e-953 (syntmp-syntax-object-expression-89 syntmp-id-951))) (if (annotation? syntmp-e-953) (annotation-expression syntmp-e-953) syntmp-e-953)) (syntmp-ribcage-symnames-113 syntmp-ribcage-950))) (syntmp-set-ribcage-marks!-117 syntmp-ribcage-950 (cons (syntmp-wrap-marks-107 (syntmp-syntax-object-wrap-90 syntmp-id-951)) (syntmp-ribcage-marks-114 syntmp-ribcage-950))) (syntmp-set-ribcage-labels!-118 syntmp-ribcage-950 (cons syntmp-label-952 (syntmp-ribcage-labels-115 syntmp-ribcage-950)))))) (syntmp-anti-mark-119 (lambda (syntmp-w-954) (syntmp-make-wrap-106 (cons #f (syntmp-wrap-marks-107 syntmp-w-954)) (cons (quote shift) (syntmp-wrap-subst-108 syntmp-w-954))))) (syntmp-set-ribcage-labels!-118 (lambda (syntmp-x-955 syntmp-update-956) (vector-set! syntmp-x-955 3 syntmp-update-956))) (syntmp-set-ribcage-marks!-117 (lambda (syntmp-x-957 syntmp-update-958) (vector-set! syntmp-x-957 2 syntmp-update-958))) (syntmp-set-ribcage-symnames!-116 (lambda (syntmp-x-959 syntmp-update-960) (vector-set! syntmp-x-959 1 syntmp-update-960))) (syntmp-ribcage-labels-115 (lambda (syntmp-x-961) (vector-ref syntmp-x-961 3))) (syntmp-ribcage-marks-114 (lambda (syntmp-x-962) (vector-ref syntmp-x-962 2))) (syntmp-ribcage-symnames-113 (lambda (syntmp-x-963) (vector-ref syntmp-x-963 1))) (syntmp-ribcage?-112 (lambda (syntmp-x-964) (and (vector? syntmp-x-964) (= (vector-length syntmp-x-964) 4) (eq? (vector-ref syntmp-x-964 0) (quote ribcage))))) (syntmp-make-ribcage-111 (lambda (syntmp-symnames-965 syntmp-marks-966 syntmp-labels-967) (vector (quote ribcage) syntmp-symnames-965 syntmp-marks-966 syntmp-labels-967))) (syntmp-gen-labels-110 (lambda (syntmp-ls-968) (if (null? syntmp-ls-968) (quote ()) (cons (syntmp-gen-label-109) (syntmp-gen-labels-110 (cdr syntmp-ls-968)))))) (syntmp-gen-label-109 (lambda () (string #\i))) (syntmp-wrap-subst-108 cdr) (syntmp-wrap-marks-107 car) (syntmp-make-wrap-106 cons) (syntmp-id-sym-name&marks-105 (lambda (syntmp-x-969 syntmp-w-970) (if (syntmp-syntax-object?-88 syntmp-x-969) (values (let ((syntmp-e-971 (syntmp-syntax-object-expression-89 syntmp-x-969))) (if (annotation? syntmp-e-971) (annotation-expression syntmp-e-971) syntmp-e-971)) (syntmp-join-marks-124 (syntmp-wrap-marks-107 syntmp-w-970) (syntmp-wrap-marks-107 (syntmp-syntax-object-wrap-90 syntmp-x-969)))) (values (let ((syntmp-e-972 syntmp-x-969)) (if (annotation? syntmp-e-972) (annotation-expression syntmp-e-972) syntmp-e-972)) (syntmp-wrap-marks-107 syntmp-w-970))))) (syntmp-id?-104 (lambda (syntmp-x-973) (cond ((symbol? syntmp-x-973) #t) ((syntmp-syntax-object?-88 syntmp-x-973) (symbol? (let ((syntmp-e-974 (syntmp-syntax-object-expression-89 syntmp-x-973))) (if (annotation? syntmp-e-974) (annotation-expression syntmp-e-974) syntmp-e-974)))) ((annotation? syntmp-x-973) (symbol? (annotation-expression syntmp-x-973))) (else #f)))) (syntmp-nonsymbol-id?-103 (lambda (syntmp-x-975) (and (syntmp-syntax-object?-88 syntmp-x-975) (symbol? (let ((syntmp-e-976 (syntmp-syntax-object-expression-89 syntmp-x-975))) (if (annotation? syntmp-e-976) (annotation-expression syntmp-e-976) syntmp-e-976)))))) (syntmp-global-extend-102 (lambda (syntmp-type-977 syntmp-sym-978 syntmp-val-979) (syntmp-put-global-definition-hook-79 syntmp-sym-978 (cons syntmp-type-977 syntmp-val-979)))) (syntmp-lookup-101 (lambda (syntmp-x-980 syntmp-r-981) (cond ((assq syntmp-x-980 syntmp-r-981) => cdr) ((symbol? syntmp-x-980) (or (syntmp-get-global-definition-hook-80 syntmp-x-980) (quote (global)))) (else (quote (displaced-lexical)))))) (syntmp-macros-only-env-100 (lambda (syntmp-r-982) (if (null? syntmp-r-982) (quote ()) (let ((syntmp-a-983 (car syntmp-r-982))) (if (eq? (cadr syntmp-a-983) (quote macro)) (cons syntmp-a-983 (syntmp-macros-only-env-100 (cdr syntmp-r-982))) (syntmp-macros-only-env-100 (cdr syntmp-r-982))))))) (syntmp-extend-var-env-99 (lambda (syntmp-labels-984 syntmp-vars-985 syntmp-r-986) (if (null? syntmp-labels-984) syntmp-r-986 (syntmp-extend-var-env-99 (cdr syntmp-labels-984) (cdr syntmp-vars-985) (cons (cons (car syntmp-labels-984) (cons (quote lexical) (car syntmp-vars-985))) syntmp-r-986))))) (syntmp-extend-env-98 (lambda (syntmp-labels-987 syntmp-bindings-988 syntmp-r-989) (if (null? syntmp-labels-987) syntmp-r-989 (syntmp-extend-env-98 (cdr syntmp-labels-987) (cdr syntmp-bindings-988) (cons (cons (car syntmp-labels-987) (car syntmp-bindings-988)) syntmp-r-989))))) (syntmp-binding-value-97 cdr) (syntmp-binding-type-96 car) (syntmp-source-annotation-95 (lambda (syntmp-x-990) (cond ((annotation? syntmp-x-990) (annotation-source syntmp-x-990)) ((syntmp-syntax-object?-88 syntmp-x-990) (syntmp-source-annotation-95 (syntmp-syntax-object-expression-89 syntmp-x-990))) (else #f)))) (syntmp-set-syntax-object-module!-94 (lambda (syntmp-x-991 syntmp-y-992) (vector-set! syntmp-x-991 3 syntmp-y-992))) (syntmp-set-syntax-object-wrap!-93 (lambda (syntmp-x-993 syntmp-y-994) (vector-set! syntmp-x-993 2 syntmp-y-994))) (syntmp-set-syntax-object-expression!-92 (lambda (syntmp-x-995 syntmp-y-996) (vector-set! syntmp-x-995 1 syntmp-y-996))) (syntmp-syntax-object-module-91 (lambda (syntmp-x-997) (vector-ref syntmp-x-997 3))) (syntmp-syntax-object-wrap-90 (lambda (syntmp-x-998) (vector-ref syntmp-x-998 2))) (syntmp-syntax-object-expression-89 (lambda (syntmp-x-999) (vector-ref syntmp-x-999 1))) (syntmp-syntax-object?-88 (lambda (syntmp-x-1000) (and (vector? syntmp-x-1000) (> (vector-length syntmp-x-1000) 0) (eq? (vector-ref syntmp-x-1000 0) (quote syntax-object))))) (syntmp-make-syntax-object-87 (lambda (syntmp-exp-1003 syntmp-wrap-1002 . syntmp-mod-1001) (vector (quote syntax-object) syntmp-exp-1003 syntmp-wrap-1002 (if (null? syntmp-mod-1001) #f (car syntmp-mod-1001))))) (syntmp-build-letrec-86 (lambda (syntmp-src-1004 syntmp-vars-1005 syntmp-val-exps-1006 syntmp-body-exp-1007) (if (null? syntmp-vars-1005) (syntmp-build-annotated-81 syntmp-src-1004 syntmp-body-exp-1007) (syntmp-build-annotated-81 syntmp-src-1004 (list (quote letrec) (map list syntmp-vars-1005 syntmp-val-exps-1006) syntmp-body-exp-1007))))) (syntmp-build-named-let-85 (lambda (syntmp-src-1008 syntmp-vars-1009 syntmp-val-exps-1010 syntmp-body-exp-1011) (if (null? syntmp-vars-1009) (syntmp-build-annotated-81 syntmp-src-1008 syntmp-body-exp-1011) (syntmp-build-annotated-81 syntmp-src-1008 (list (quote let) (car syntmp-vars-1009) (map list (cdr syntmp-vars-1009) syntmp-val-exps-1010) syntmp-body-exp-1011))))) (syntmp-build-let-84 (lambda (syntmp-src-1012 syntmp-vars-1013 syntmp-val-exps-1014 syntmp-body-exp-1015) (if (null? syntmp-vars-1013) (syntmp-build-annotated-81 syntmp-src-1012 syntmp-body-exp-1015) (syntmp-build-annotated-81 syntmp-src-1012 (list (quote let) (map list syntmp-vars-1013 syntmp-val-exps-1014) syntmp-body-exp-1015))))) (syntmp-build-sequence-83 (lambda (syntmp-src-1016 syntmp-exps-1017) (if (null? (cdr syntmp-exps-1017)) (syntmp-build-annotated-81 syntmp-src-1016 (car syntmp-exps-1017)) (syntmp-build-annotated-81 syntmp-src-1016 (cons (quote begin) syntmp-exps-1017))))) (syntmp-build-data-82 (lambda (syntmp-src-1018 syntmp-exp-1019) (if (and (self-evaluating? syntmp-exp-1019) (not (vector? syntmp-exp-1019))) (syntmp-build-annotated-81 syntmp-src-1018 syntmp-exp-1019) (syntmp-build-annotated-81 syntmp-src-1018 (list (quote quote) syntmp-exp-1019))))) (syntmp-build-annotated-81 (lambda (syntmp-src-1020 syntmp-exp-1021) (if (and syntmp-src-1020 (not (annotation? syntmp-exp-1021))) (make-annotation syntmp-exp-1021 syntmp-src-1020 #t) syntmp-exp-1021))) (syntmp-get-global-definition-hook-80 (lambda (syntmp-symbol-1022) (getprop syntmp-symbol-1022 (quote *sc-expander*)))) (syntmp-put-global-definition-hook-79 (lambda (syntmp-symbol-1023 syntmp-binding-1024) (putprop syntmp-symbol-1023 (quote *sc-expander*) syntmp-binding-1024))) (syntmp-error-hook-78 (lambda (syntmp-who-1025 syntmp-why-1026 syntmp-what-1027) (error syntmp-who-1025 "~a ~s" syntmp-why-1026 syntmp-what-1027))) (syntmp-local-eval-hook-77 (lambda (syntmp-x-1028) (eval (list syntmp-noexpand-71 syntmp-x-1028) (interaction-environment)))) (syntmp-top-level-eval-hook-76 (lambda (syntmp-x-1029) (eval (list syntmp-noexpand-71 syntmp-x-1029) (interaction-environment)))) (syntmp-fx<-75 <) (syntmp-fx=-74 =) (syntmp-fx--73 -) (syntmp-fx+-72 +) (syntmp-noexpand-71 "noexpand")) (begin (syntmp-global-extend-102 (quote local-syntax) (quote letrec-syntax) #t) (syntmp-global-extend-102 (quote local-syntax) (quote let-syntax) #f) (syntmp-global-extend-102 (quote core) (quote fluid-let-syntax) (lambda (syntmp-e-1030 syntmp-r-1031 syntmp-w-1032 syntmp-s-1033) ((lambda (syntmp-tmp-1034) ((lambda (syntmp-tmp-1035) (if (if syntmp-tmp-1035 (apply (lambda (syntmp-_-1036 syntmp-var-1037 syntmp-val-1038 syntmp-e1-1039 syntmp-e2-1040) (syntmp-valid-bound-ids?-129 syntmp-var-1037)) syntmp-tmp-1035) #f) (apply (lambda (syntmp-_-1042 syntmp-var-1043 syntmp-val-1044 syntmp-e1-1045 syntmp-e2-1046) (let ((syntmp-names-1047 (map (lambda (syntmp-x-1048) (syntmp-id-var-name-126 syntmp-x-1048 syntmp-w-1032)) syntmp-var-1043))) (begin (for-each (lambda (syntmp-id-1050 syntmp-n-1051) (let ((syntmp-t-1052 (syntmp-binding-type-96 (syntmp-lookup-101 syntmp-n-1051 syntmp-r-1031)))) (if (memv syntmp-t-1052 (quote (displaced-lexical))) (syntax-error (syntmp-source-wrap-133 syntmp-id-1050 syntmp-w-1032 syntmp-s-1033) "identifier out of context")))) syntmp-var-1043 syntmp-names-1047) (syntmp-chi-body-144 (cons syntmp-e1-1045 syntmp-e2-1046) (syntmp-source-wrap-133 syntmp-e-1030 syntmp-w-1032 syntmp-s-1033) (syntmp-extend-env-98 syntmp-names-1047 (let ((syntmp-trans-r-1055 (syntmp-macros-only-env-100 syntmp-r-1031))) (map (lambda (syntmp-x-1056) (cons (quote macro) (syntmp-eval-local-transformer-147 (syntmp-chi-140 syntmp-x-1056 syntmp-trans-r-1055 syntmp-w-1032)))) syntmp-val-1044)) syntmp-r-1031) syntmp-w-1032)))) syntmp-tmp-1035) ((lambda (syntmp-_-1058) (syntax-error (syntmp-source-wrap-133 syntmp-e-1030 syntmp-w-1032 syntmp-s-1033))) syntmp-tmp-1034))) (syntax-dispatch syntmp-tmp-1034 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1030))) (syntmp-global-extend-102 (quote core) (quote quote) (lambda (syntmp-e-1059 syntmp-r-1060 syntmp-w-1061 syntmp-s-1062) ((lambda (syntmp-tmp-1063) ((lambda (syntmp-tmp-1064) (if syntmp-tmp-1064 (apply (lambda (syntmp-_-1065 syntmp-e-1066) (syntmp-build-data-82 syntmp-s-1062 (syntmp-strip-151 syntmp-e-1066 syntmp-w-1061))) syntmp-tmp-1064) ((lambda (syntmp-_-1067) (syntax-error (syntmp-source-wrap-133 syntmp-e-1059 syntmp-w-1061 syntmp-s-1062))) syntmp-tmp-1063))) (syntax-dispatch syntmp-tmp-1063 (quote (any any))))) syntmp-e-1059))) (syntmp-global-extend-102 (quote core) (quote syntax) (letrec ((syntmp-regen-1075 (lambda (syntmp-x-1076) (let ((syntmp-t-1077 (car syntmp-x-1076))) (if (memv syntmp-t-1077 (quote (ref))) (syntmp-build-annotated-81 #f (cadr syntmp-x-1076)) (if (memv syntmp-t-1077 (quote (primitive))) (syntmp-build-annotated-81 #f (cadr syntmp-x-1076)) (if (memv syntmp-t-1077 (quote (quote))) (syntmp-build-data-82 #f (cadr syntmp-x-1076)) (if (memv syntmp-t-1077 (quote (lambda))) (syntmp-build-annotated-81 #f (list (quote lambda) (cadr syntmp-x-1076) (syntmp-regen-1075 (caddr syntmp-x-1076)))) (if (memv syntmp-t-1077 (quote (map))) (let ((syntmp-ls-1078 (map syntmp-regen-1075 (cdr syntmp-x-1076)))) (syntmp-build-annotated-81 #f (cons (if (syntmp-fx=-74 (length syntmp-ls-1078) 2) (syntmp-build-annotated-81 #f (quote map)) (syntmp-build-annotated-81 #f (quote map))) syntmp-ls-1078))) (syntmp-build-annotated-81 #f (cons (syntmp-build-annotated-81 #f (car syntmp-x-1076)) (map syntmp-regen-1075 (cdr syntmp-x-1076)))))))))))) (syntmp-gen-vector-1074 (lambda (syntmp-x-1079) (cond ((eq? (car syntmp-x-1079) (quote list)) (cons (quote vector) (cdr syntmp-x-1079))) ((eq? (car syntmp-x-1079) (quote quote)) (list (quote quote) (list->vector (cadr syntmp-x-1079)))) (else (list (quote list->vector) syntmp-x-1079))))) (syntmp-gen-append-1073 (lambda (syntmp-x-1080 syntmp-y-1081) (if (equal? syntmp-y-1081 (quote (quote ()))) syntmp-x-1080 (list (quote append) syntmp-x-1080 syntmp-y-1081)))) (syntmp-gen-cons-1072 (lambda (syntmp-x-1082 syntmp-y-1083) (let ((syntmp-t-1084 (car syntmp-y-1083))) (if (memv syntmp-t-1084 (quote (quote))) (if (eq? (car syntmp-x-1082) (quote quote)) (list (quote quote) (cons (cadr syntmp-x-1082) (cadr syntmp-y-1083))) (if (eq? (cadr syntmp-y-1083) (quote ())) (list (quote list) syntmp-x-1082) (list (quote cons) syntmp-x-1082 syntmp-y-1083))) (if (memv syntmp-t-1084 (quote (list))) (cons (quote list) (cons syntmp-x-1082 (cdr syntmp-y-1083))) (list (quote cons) syntmp-x-1082 syntmp-y-1083)))))) (syntmp-gen-map-1071 (lambda (syntmp-e-1085 syntmp-map-env-1086) (let ((syntmp-formals-1087 (map cdr syntmp-map-env-1086)) (syntmp-actuals-1088 (map (lambda (syntmp-x-1089) (list (quote ref) (car syntmp-x-1089))) syntmp-map-env-1086))) (cond ((eq? (car syntmp-e-1085) (quote ref)) (car syntmp-actuals-1088)) ((andmap (lambda (syntmp-x-1090) (and (eq? (car syntmp-x-1090) (quote ref)) (memq (cadr syntmp-x-1090) syntmp-formals-1087))) (cdr syntmp-e-1085)) (cons (quote map) (cons (list (quote primitive) (car syntmp-e-1085)) (map (let ((syntmp-r-1091 (map cons syntmp-formals-1087 syntmp-actuals-1088))) (lambda (syntmp-x-1092) (cdr (assq (cadr syntmp-x-1092) syntmp-r-1091)))) (cdr syntmp-e-1085))))) (else (cons (quote map) (cons (list (quote lambda) syntmp-formals-1087 syntmp-e-1085) syntmp-actuals-1088))))))) (syntmp-gen-mappend-1070 (lambda (syntmp-e-1093 syntmp-map-env-1094) (list (quote apply) (quote (primitive append)) (syntmp-gen-map-1071 syntmp-e-1093 syntmp-map-env-1094)))) (syntmp-gen-ref-1069 (lambda (syntmp-src-1095 syntmp-var-1096 syntmp-level-1097 syntmp-maps-1098) (if (syntmp-fx=-74 syntmp-level-1097 0) (values syntmp-var-1096 syntmp-maps-1098) (if (null? syntmp-maps-1098) (syntax-error syntmp-src-1095 "missing ellipsis in syntax form") (call-with-values (lambda () (syntmp-gen-ref-1069 syntmp-src-1095 syntmp-var-1096 (syntmp-fx--73 syntmp-level-1097 1) (cdr syntmp-maps-1098))) (lambda (syntmp-outer-var-1099 syntmp-outer-maps-1100) (let ((syntmp-b-1101 (assq syntmp-outer-var-1099 (car syntmp-maps-1098)))) (if syntmp-b-1101 (values (cdr syntmp-b-1101) syntmp-maps-1098) (let ((syntmp-inner-var-1102 (syntmp-gen-var-152 (quote tmp)))) (values syntmp-inner-var-1102 (cons (cons (cons syntmp-outer-var-1099 syntmp-inner-var-1102) (car syntmp-maps-1098)) syntmp-outer-maps-1100))))))))))) (syntmp-gen-syntax-1068 (lambda (syntmp-src-1103 syntmp-e-1104 syntmp-r-1105 syntmp-maps-1106 syntmp-ellipsis?-1107) (if (syntmp-id?-104 syntmp-e-1104) (let ((syntmp-label-1108 (syntmp-id-var-name-126 syntmp-e-1104 (quote (()))))) (let ((syntmp-b-1109 (syntmp-lookup-101 syntmp-label-1108 syntmp-r-1105))) (if (eq? (syntmp-binding-type-96 syntmp-b-1109) (quote syntax)) (call-with-values (lambda () (let ((syntmp-var.lev-1110 (syntmp-binding-value-97 syntmp-b-1109))) (syntmp-gen-ref-1069 syntmp-src-1103 (car syntmp-var.lev-1110) (cdr syntmp-var.lev-1110) syntmp-maps-1106))) (lambda (syntmp-var-1111 syntmp-maps-1112) (values (list (quote ref) syntmp-var-1111) syntmp-maps-1112))) (if (syntmp-ellipsis?-1107 syntmp-e-1104) (syntax-error syntmp-src-1103 "misplaced ellipsis in syntax form") (values (list (quote quote) syntmp-e-1104) syntmp-maps-1106))))) ((lambda (syntmp-tmp-1113) ((lambda (syntmp-tmp-1114) (if (if syntmp-tmp-1114 (apply (lambda (syntmp-dots-1115 syntmp-e-1116) (syntmp-ellipsis?-1107 syntmp-dots-1115)) syntmp-tmp-1114) #f) (apply (lambda (syntmp-dots-1117 syntmp-e-1118) (syntmp-gen-syntax-1068 syntmp-src-1103 syntmp-e-1118 syntmp-r-1105 syntmp-maps-1106 (lambda (syntmp-x-1119) #f))) syntmp-tmp-1114) ((lambda (syntmp-tmp-1120) (if (if syntmp-tmp-1120 (apply (lambda (syntmp-x-1121 syntmp-dots-1122 syntmp-y-1123) (syntmp-ellipsis?-1107 syntmp-dots-1122)) syntmp-tmp-1120) #f) (apply (lambda (syntmp-x-1124 syntmp-dots-1125 syntmp-y-1126) (let syntmp-f-1127 ((syntmp-y-1128 syntmp-y-1126) (syntmp-k-1129 (lambda (syntmp-maps-1130) (call-with-values (lambda () (syntmp-gen-syntax-1068 syntmp-src-1103 syntmp-x-1124 syntmp-r-1105 (cons (quote ()) syntmp-maps-1130) syntmp-ellipsis?-1107)) (lambda (syntmp-x-1131 syntmp-maps-1132) (if (null? (car syntmp-maps-1132)) (syntax-error syntmp-src-1103 "extra ellipsis in syntax form") (values (syntmp-gen-map-1071 syntmp-x-1131 (car syntmp-maps-1132)) (cdr syntmp-maps-1132)))))))) ((lambda (syntmp-tmp-1133) ((lambda (syntmp-tmp-1134) (if (if syntmp-tmp-1134 (apply (lambda (syntmp-dots-1135 syntmp-y-1136) (syntmp-ellipsis?-1107 syntmp-dots-1135)) syntmp-tmp-1134) #f) (apply (lambda (syntmp-dots-1137 syntmp-y-1138) (syntmp-f-1127 syntmp-y-1138 (lambda (syntmp-maps-1139) (call-with-values (lambda () (syntmp-k-1129 (cons (quote ()) syntmp-maps-1139))) (lambda (syntmp-x-1140 syntmp-maps-1141) (if (null? (car syntmp-maps-1141)) (syntax-error syntmp-src-1103 "extra ellipsis in syntax form") (values (syntmp-gen-mappend-1070 syntmp-x-1140 (car syntmp-maps-1141)) (cdr syntmp-maps-1141)))))))) syntmp-tmp-1134) ((lambda (syntmp-_-1142) (call-with-values (lambda () (syntmp-gen-syntax-1068 syntmp-src-1103 syntmp-y-1128 syntmp-r-1105 syntmp-maps-1106 syntmp-ellipsis?-1107)) (lambda (syntmp-y-1143 syntmp-maps-1144) (call-with-values (lambda () (syntmp-k-1129 syntmp-maps-1144)) (lambda (syntmp-x-1145 syntmp-maps-1146) (values (syntmp-gen-append-1073 syntmp-x-1145 syntmp-y-1143) syntmp-maps-1146)))))) syntmp-tmp-1133))) (syntax-dispatch syntmp-tmp-1133 (quote (any . any))))) syntmp-y-1128))) syntmp-tmp-1120) ((lambda (syntmp-tmp-1147) (if syntmp-tmp-1147 (apply (lambda (syntmp-x-1148 syntmp-y-1149) (call-with-values (lambda () (syntmp-gen-syntax-1068 syntmp-src-1103 syntmp-x-1148 syntmp-r-1105 syntmp-maps-1106 syntmp-ellipsis?-1107)) (lambda (syntmp-x-1150 syntmp-maps-1151) (call-with-values (lambda () (syntmp-gen-syntax-1068 syntmp-src-1103 syntmp-y-1149 syntmp-r-1105 syntmp-maps-1151 syntmp-ellipsis?-1107)) (lambda (syntmp-y-1152 syntmp-maps-1153) (values (syntmp-gen-cons-1072 syntmp-x-1150 syntmp-y-1152) syntmp-maps-1153)))))) syntmp-tmp-1147) ((lambda (syntmp-tmp-1154) (if syntmp-tmp-1154 (apply (lambda (syntmp-e1-1155 syntmp-e2-1156) (call-with-values (lambda () (syntmp-gen-syntax-1068 syntmp-src-1103 (cons syntmp-e1-1155 syntmp-e2-1156) syntmp-r-1105 syntmp-maps-1106 syntmp-ellipsis?-1107)) (lambda (syntmp-e-1158 syntmp-maps-1159) (values (syntmp-gen-vector-1074 syntmp-e-1158) syntmp-maps-1159)))) syntmp-tmp-1154) ((lambda (syntmp-_-1160) (values (list (quote quote) syntmp-e-1104) syntmp-maps-1106)) syntmp-tmp-1113))) (syntax-dispatch syntmp-tmp-1113 (quote #(vector (any . each-any))))))) (syntax-dispatch syntmp-tmp-1113 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1113 (quote (any any . any)))))) (syntax-dispatch syntmp-tmp-1113 (quote (any any))))) syntmp-e-1104))))) (lambda (syntmp-e-1161 syntmp-r-1162 syntmp-w-1163 syntmp-s-1164) (let ((syntmp-e-1165 (syntmp-source-wrap-133 syntmp-e-1161 syntmp-w-1163 syntmp-s-1164))) ((lambda (syntmp-tmp-1166) ((lambda (syntmp-tmp-1167) (if syntmp-tmp-1167 (apply (lambda (syntmp-_-1168 syntmp-x-1169) (call-with-values (lambda () (syntmp-gen-syntax-1068 syntmp-e-1165 syntmp-x-1169 syntmp-r-1162 (quote ()) syntmp-ellipsis?-149)) (lambda (syntmp-e-1170 syntmp-maps-1171) (syntmp-regen-1075 syntmp-e-1170)))) syntmp-tmp-1167) ((lambda (syntmp-_-1172) (syntax-error syntmp-e-1165)) syntmp-tmp-1166))) (syntax-dispatch syntmp-tmp-1166 (quote (any any))))) syntmp-e-1165))))) (syntmp-global-extend-102 (quote core) (quote lambda) (lambda (syntmp-e-1173 syntmp-r-1174 syntmp-w-1175 syntmp-s-1176) ((lambda (syntmp-tmp-1177) ((lambda (syntmp-tmp-1178) (if syntmp-tmp-1178 (apply (lambda (syntmp-_-1179 syntmp-c-1180) (syntmp-chi-lambda-clause-145 (syntmp-source-wrap-133 syntmp-e-1173 syntmp-w-1175 syntmp-s-1176) syntmp-c-1180 syntmp-r-1174 syntmp-w-1175 (lambda (syntmp-vars-1181 syntmp-body-1182) (syntmp-build-annotated-81 syntmp-s-1176 (list (quote lambda) syntmp-vars-1181 syntmp-body-1182))))) syntmp-tmp-1178) (syntax-error syntmp-tmp-1177))) (syntax-dispatch syntmp-tmp-1177 (quote (any . any))))) syntmp-e-1173))) (syntmp-global-extend-102 (quote core) (quote let) (letrec ((syntmp-chi-let-1183 (lambda (syntmp-e-1184 syntmp-r-1185 syntmp-w-1186 syntmp-s-1187 syntmp-constructor-1188 syntmp-ids-1189 syntmp-vals-1190 syntmp-exps-1191) (if (not (syntmp-valid-bound-ids?-129 syntmp-ids-1189)) (syntax-error syntmp-e-1184 "duplicate bound variable in") (let ((syntmp-labels-1192 (syntmp-gen-labels-110 syntmp-ids-1189)) (syntmp-new-vars-1193 (map syntmp-gen-var-152 syntmp-ids-1189))) (let ((syntmp-nw-1194 (syntmp-make-binding-wrap-121 syntmp-ids-1189 syntmp-labels-1192 syntmp-w-1186)) (syntmp-nr-1195 (syntmp-extend-var-env-99 syntmp-labels-1192 syntmp-new-vars-1193 syntmp-r-1185))) (syntmp-constructor-1188 syntmp-s-1187 syntmp-new-vars-1193 (map (lambda (syntmp-x-1196) (syntmp-chi-140 syntmp-x-1196 syntmp-r-1185 syntmp-w-1186)) syntmp-vals-1190) (syntmp-chi-body-144 syntmp-exps-1191 (syntmp-source-wrap-133 syntmp-e-1184 syntmp-nw-1194 syntmp-s-1187) syntmp-nr-1195 syntmp-nw-1194)))))))) (lambda (syntmp-e-1197 syntmp-r-1198 syntmp-w-1199 syntmp-s-1200) ((lambda (syntmp-tmp-1201) ((lambda (syntmp-tmp-1202) (if syntmp-tmp-1202 (apply (lambda (syntmp-_-1203 syntmp-id-1204 syntmp-val-1205 syntmp-e1-1206 syntmp-e2-1207) (syntmp-chi-let-1183 syntmp-e-1197 syntmp-r-1198 syntmp-w-1199 syntmp-s-1200 syntmp-build-let-84 syntmp-id-1204 syntmp-val-1205 (cons syntmp-e1-1206 syntmp-e2-1207))) syntmp-tmp-1202) ((lambda (syntmp-tmp-1211) (if (if syntmp-tmp-1211 (apply (lambda (syntmp-_-1212 syntmp-f-1213 syntmp-id-1214 syntmp-val-1215 syntmp-e1-1216 syntmp-e2-1217) (syntmp-id?-104 syntmp-f-1213)) syntmp-tmp-1211) #f) (apply (lambda (syntmp-_-1218 syntmp-f-1219 syntmp-id-1220 syntmp-val-1221 syntmp-e1-1222 syntmp-e2-1223) (syntmp-chi-let-1183 syntmp-e-1197 syntmp-r-1198 syntmp-w-1199 syntmp-s-1200 syntmp-build-named-let-85 (cons syntmp-f-1219 syntmp-id-1220) syntmp-val-1221 (cons syntmp-e1-1222 syntmp-e2-1223))) syntmp-tmp-1211) ((lambda (syntmp-_-1227) (syntax-error (syntmp-source-wrap-133 syntmp-e-1197 syntmp-w-1199 syntmp-s-1200))) syntmp-tmp-1201))) (syntax-dispatch syntmp-tmp-1201 (quote (any any #(each (any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1201 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1197)))) (syntmp-global-extend-102 (quote core) (quote letrec) (lambda (syntmp-e-1228 syntmp-r-1229 syntmp-w-1230 syntmp-s-1231) ((lambda (syntmp-tmp-1232) ((lambda (syntmp-tmp-1233) (if syntmp-tmp-1233 (apply (lambda (syntmp-_-1234 syntmp-id-1235 syntmp-val-1236 syntmp-e1-1237 syntmp-e2-1238) (let ((syntmp-ids-1239 syntmp-id-1235)) (if (not (syntmp-valid-bound-ids?-129 syntmp-ids-1239)) (syntax-error syntmp-e-1228 "duplicate bound variable in") (let ((syntmp-labels-1241 (syntmp-gen-labels-110 syntmp-ids-1239)) (syntmp-new-vars-1242 (map syntmp-gen-var-152 syntmp-ids-1239))) (let ((syntmp-w-1243 (syntmp-make-binding-wrap-121 syntmp-ids-1239 syntmp-labels-1241 syntmp-w-1230)) (syntmp-r-1244 (syntmp-extend-var-env-99 syntmp-labels-1241 syntmp-new-vars-1242 syntmp-r-1229))) (syntmp-build-letrec-86 syntmp-s-1231 syntmp-new-vars-1242 (map (lambda (syntmp-x-1245) (syntmp-chi-140 syntmp-x-1245 syntmp-r-1244 syntmp-w-1243)) syntmp-val-1236) (syntmp-chi-body-144 (cons syntmp-e1-1237 syntmp-e2-1238) (syntmp-source-wrap-133 syntmp-e-1228 syntmp-w-1243 syntmp-s-1231) syntmp-r-1244 syntmp-w-1243))))))) syntmp-tmp-1233) ((lambda (syntmp-_-1248) (syntax-error (syntmp-source-wrap-133 syntmp-e-1228 syntmp-w-1230 syntmp-s-1231))) syntmp-tmp-1232))) (syntax-dispatch syntmp-tmp-1232 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1228))) (syntmp-global-extend-102 (quote core) (quote set!) (lambda (syntmp-e-1249 syntmp-r-1250 syntmp-w-1251 syntmp-s-1252) ((lambda (syntmp-tmp-1253) ((lambda (syntmp-tmp-1254) (if (if syntmp-tmp-1254 (apply (lambda (syntmp-_-1255 syntmp-id-1256 syntmp-val-1257) (syntmp-id?-104 syntmp-id-1256)) syntmp-tmp-1254) #f) (apply (lambda (syntmp-_-1258 syntmp-id-1259 syntmp-val-1260) (let ((syntmp-val-1261 (syntmp-chi-140 syntmp-val-1260 syntmp-r-1250 syntmp-w-1251)) (syntmp-n-1262 (syntmp-id-var-name-126 syntmp-id-1259 syntmp-w-1251))) (let ((syntmp-b-1263 (syntmp-lookup-101 syntmp-n-1262 syntmp-r-1250))) (let ((syntmp-t-1264 (syntmp-binding-type-96 syntmp-b-1263))) (if (memv syntmp-t-1264 (quote (lexical))) (syntmp-build-annotated-81 syntmp-s-1252 (list (quote set!) (syntmp-binding-value-97 syntmp-b-1263) syntmp-val-1261)) (if (memv syntmp-t-1264 (quote (global))) (syntmp-build-annotated-81 syntmp-s-1252 (list (quote set!) (make-module-ref #f syntmp-n-1262 #f) syntmp-val-1261)) (if (memv syntmp-t-1264 (quote (displaced-lexical))) (syntax-error (syntmp-wrap-132 syntmp-id-1259 syntmp-w-1251) "identifier out of context") (syntax-error (syntmp-source-wrap-133 syntmp-e-1249 syntmp-w-1251 syntmp-s-1252))))))))) syntmp-tmp-1254) ((lambda (syntmp-tmp-1265) (if syntmp-tmp-1265 (apply (lambda (syntmp-_-1266 syntmp-getter-1267 syntmp-arg-1268 syntmp-val-1269) (syntmp-build-annotated-81 syntmp-s-1252 (cons (syntmp-chi-140 (list (quote #(syntax-object setter ((top) #(ribcage #(_ getter arg val) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(e r w s) #((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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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"))))) syntmp-getter-1267) syntmp-r-1250 syntmp-w-1251) (map (lambda (syntmp-e-1270) (syntmp-chi-140 syntmp-e-1270 syntmp-r-1250 syntmp-w-1251)) (append syntmp-arg-1268 (list syntmp-val-1269)))))) syntmp-tmp-1265) ((lambda (syntmp-_-1272) (syntax-error (syntmp-source-wrap-133 syntmp-e-1249 syntmp-w-1251 syntmp-s-1252))) syntmp-tmp-1253))) (syntax-dispatch syntmp-tmp-1253 (quote (any (any . each-any) any)))))) (syntax-dispatch syntmp-tmp-1253 (quote (any any any))))) syntmp-e-1249))) (syntmp-global-extend-102 (quote begin) (quote begin) (quote ())) (syntmp-global-extend-102 (quote define) (quote define) (quote ())) (syntmp-global-extend-102 (quote define-syntax) (quote define-syntax) (quote ())) (syntmp-global-extend-102 (quote eval-when) (quote eval-when) (quote ())) (syntmp-global-extend-102 (quote core) (quote syntax-case) (letrec ((syntmp-gen-syntax-case-1276 (lambda (syntmp-x-1277 syntmp-keys-1278 syntmp-clauses-1279 syntmp-r-1280) (if (null? syntmp-clauses-1279) (syntmp-build-annotated-81 #f (list (syntmp-build-annotated-81 #f (quote syntax-error)) syntmp-x-1277)) ((lambda (syntmp-tmp-1281) ((lambda (syntmp-tmp-1282) (if syntmp-tmp-1282 (apply (lambda (syntmp-pat-1283 syntmp-exp-1284) (if (and (syntmp-id?-104 syntmp-pat-1283) (andmap (lambda (syntmp-x-1285) (not (syntmp-free-id=?-127 syntmp-pat-1283 syntmp-x-1285))) (cons (quote #(syntax-object ... ((top) #(ribcage #(pat exp) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x keys clauses r) #((top) (top) (top) (top)) #("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 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "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"))))) syntmp-keys-1278))) (let ((syntmp-labels-1286 (list (syntmp-gen-label-109))) (syntmp-var-1287 (syntmp-gen-var-152 syntmp-pat-1283))) (syntmp-build-annotated-81 #f (list (syntmp-build-annotated-81 #f (list (quote lambda) (list syntmp-var-1287) (syntmp-chi-140 syntmp-exp-1284 (syntmp-extend-env-98 syntmp-labels-1286 (list (cons (quote syntax) (cons syntmp-var-1287 0))) syntmp-r-1280) (syntmp-make-binding-wrap-121 (list syntmp-pat-1283) syntmp-labels-1286 (quote (())))))) syntmp-x-1277))) (syntmp-gen-clause-1275 syntmp-x-1277 syntmp-keys-1278 (cdr syntmp-clauses-1279) syntmp-r-1280 syntmp-pat-1283 #t syntmp-exp-1284))) syntmp-tmp-1282) ((lambda (syntmp-tmp-1288) (if syntmp-tmp-1288 (apply (lambda (syntmp-pat-1289 syntmp-fender-1290 syntmp-exp-1291) (syntmp-gen-clause-1275 syntmp-x-1277 syntmp-keys-1278 (cdr syntmp-clauses-1279) syntmp-r-1280 syntmp-pat-1289 syntmp-fender-1290 syntmp-exp-1291)) syntmp-tmp-1288) ((lambda (syntmp-_-1292) (syntax-error (car syntmp-clauses-1279) "invalid syntax-case clause")) syntmp-tmp-1281))) (syntax-dispatch syntmp-tmp-1281 (quote (any any any)))))) (syntax-dispatch syntmp-tmp-1281 (quote (any any))))) (car syntmp-clauses-1279))))) (syntmp-gen-clause-1275 (lambda (syntmp-x-1293 syntmp-keys-1294 syntmp-clauses-1295 syntmp-r-1296 syntmp-pat-1297 syntmp-fender-1298 syntmp-exp-1299) (call-with-values (lambda () (syntmp-convert-pattern-1273 syntmp-pat-1297 syntmp-keys-1294)) (lambda (syntmp-p-1300 syntmp-pvars-1301) (cond ((not (syntmp-distinct-bound-ids?-130 (map car syntmp-pvars-1301))) (syntax-error syntmp-pat-1297 "duplicate pattern variable in syntax-case pattern")) ((not (andmap (lambda (syntmp-x-1302) (not (syntmp-ellipsis?-149 (car syntmp-x-1302)))) syntmp-pvars-1301)) (syntax-error syntmp-pat-1297 "misplaced ellipsis in syntax-case pattern")) (else (let ((syntmp-y-1303 (syntmp-gen-var-152 (quote tmp)))) (syntmp-build-annotated-81 #f (list (syntmp-build-annotated-81 #f (list (quote lambda) (list syntmp-y-1303) (let ((syntmp-y-1304 (syntmp-build-annotated-81 #f syntmp-y-1303))) (syntmp-build-annotated-81 #f (list (quote if) ((lambda (syntmp-tmp-1305) ((lambda (syntmp-tmp-1306) (if syntmp-tmp-1306 (apply (lambda () syntmp-y-1304) syntmp-tmp-1306) ((lambda (syntmp-_-1307) (syntmp-build-annotated-81 #f (list (quote if) syntmp-y-1304 (syntmp-build-dispatch-call-1274 syntmp-pvars-1301 syntmp-fender-1298 syntmp-y-1304 syntmp-r-1296) (syntmp-build-data-82 #f #f)))) syntmp-tmp-1305))) (syntax-dispatch syntmp-tmp-1305 (quote #(atom #t))))) syntmp-fender-1298) (syntmp-build-dispatch-call-1274 syntmp-pvars-1301 syntmp-exp-1299 syntmp-y-1304 syntmp-r-1296) (syntmp-gen-syntax-case-1276 syntmp-x-1293 syntmp-keys-1294 syntmp-clauses-1295 syntmp-r-1296)))))) (if (eq? syntmp-p-1300 (quote any)) (syntmp-build-annotated-81 #f (list (syntmp-build-annotated-81 #f (quote list)) syntmp-x-1293)) (syntmp-build-annotated-81 #f (list (syntmp-build-annotated-81 #f (quote syntax-dispatch)) syntmp-x-1293 (syntmp-build-data-82 #f syntmp-p-1300))))))))))))) (syntmp-build-dispatch-call-1274 (lambda (syntmp-pvars-1308 syntmp-exp-1309 syntmp-y-1310 syntmp-r-1311) (let ((syntmp-ids-1312 (map car syntmp-pvars-1308)) (syntmp-levels-1313 (map cdr syntmp-pvars-1308))) (let ((syntmp-labels-1314 (syntmp-gen-labels-110 syntmp-ids-1312)) (syntmp-new-vars-1315 (map syntmp-gen-var-152 syntmp-ids-1312))) (syntmp-build-annotated-81 #f (list (syntmp-build-annotated-81 #f (quote apply)) (syntmp-build-annotated-81 #f (list (quote lambda) syntmp-new-vars-1315 (syntmp-chi-140 syntmp-exp-1309 (syntmp-extend-env-98 syntmp-labels-1314 (map (lambda (syntmp-var-1316 syntmp-level-1317) (cons (quote syntax) (cons syntmp-var-1316 syntmp-level-1317))) syntmp-new-vars-1315 (map cdr syntmp-pvars-1308)) syntmp-r-1311) (syntmp-make-binding-wrap-121 syntmp-ids-1312 syntmp-labels-1314 (quote (())))))) syntmp-y-1310)))))) (syntmp-convert-pattern-1273 (lambda (syntmp-pattern-1318 syntmp-keys-1319) (let syntmp-cvt-1320 ((syntmp-p-1321 syntmp-pattern-1318) (syntmp-n-1322 0) (syntmp-ids-1323 (quote ()))) (if (syntmp-id?-104 syntmp-p-1321) (if (syntmp-bound-id-member?-131 syntmp-p-1321 syntmp-keys-1319) (values (vector (quote free-id) syntmp-p-1321) syntmp-ids-1323) (values (quote any) (cons (cons syntmp-p-1321 syntmp-n-1322) syntmp-ids-1323))) ((lambda (syntmp-tmp-1324) ((lambda (syntmp-tmp-1325) (if (if syntmp-tmp-1325 (apply (lambda (syntmp-x-1326 syntmp-dots-1327) (syntmp-ellipsis?-149 syntmp-dots-1327)) syntmp-tmp-1325) #f) (apply (lambda (syntmp-x-1328 syntmp-dots-1329) (call-with-values (lambda () (syntmp-cvt-1320 syntmp-x-1328 (syntmp-fx+-72 syntmp-n-1322 1) syntmp-ids-1323)) (lambda (syntmp-p-1330 syntmp-ids-1331) (values (if (eq? syntmp-p-1330 (quote any)) (quote each-any) (vector (quote each) syntmp-p-1330)) syntmp-ids-1331)))) syntmp-tmp-1325) ((lambda (syntmp-tmp-1332) (if syntmp-tmp-1332 (apply (lambda (syntmp-x-1333 syntmp-y-1334) (call-with-values (lambda () (syntmp-cvt-1320 syntmp-y-1334 syntmp-n-1322 syntmp-ids-1323)) (lambda (syntmp-y-1335 syntmp-ids-1336) (call-with-values (lambda () (syntmp-cvt-1320 syntmp-x-1333 syntmp-n-1322 syntmp-ids-1336)) (lambda (syntmp-x-1337 syntmp-ids-1338) (values (cons syntmp-x-1337 syntmp-y-1335) syntmp-ids-1338)))))) syntmp-tmp-1332) ((lambda (syntmp-tmp-1339) (if syntmp-tmp-1339 (apply (lambda () (values (quote ()) syntmp-ids-1323)) syntmp-tmp-1339) ((lambda (syntmp-tmp-1340) (if syntmp-tmp-1340 (apply (lambda (syntmp-x-1341) (call-with-values (lambda () (syntmp-cvt-1320 syntmp-x-1341 syntmp-n-1322 syntmp-ids-1323)) (lambda (syntmp-p-1343 syntmp-ids-1344) (values (vector (quote vector) syntmp-p-1343) syntmp-ids-1344)))) syntmp-tmp-1340) ((lambda (syntmp-x-1345) (values (vector (quote atom) (syntmp-strip-151 syntmp-p-1321 (quote (())))) syntmp-ids-1323)) syntmp-tmp-1324))) (syntax-dispatch syntmp-tmp-1324 (quote #(vector each-any)))))) (syntax-dispatch syntmp-tmp-1324 (quote ()))))) (syntax-dispatch syntmp-tmp-1324 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1324 (quote (any any))))) syntmp-p-1321)))))) (lambda (syntmp-e-1346 syntmp-r-1347 syntmp-w-1348 syntmp-s-1349) (let ((syntmp-e-1350 (syntmp-source-wrap-133 syntmp-e-1346 syntmp-w-1348 syntmp-s-1349))) ((lambda (syntmp-tmp-1351) ((lambda (syntmp-tmp-1352) (if syntmp-tmp-1352 (apply (lambda (syntmp-_-1353 syntmp-val-1354 syntmp-key-1355 syntmp-m-1356) (if (andmap (lambda (syntmp-x-1357) (and (syntmp-id?-104 syntmp-x-1357) (not (syntmp-ellipsis?-149 syntmp-x-1357)))) syntmp-key-1355) (let ((syntmp-x-1359 (syntmp-gen-var-152 (quote tmp)))) (syntmp-build-annotated-81 syntmp-s-1349 (list (syntmp-build-annotated-81 #f (list (quote lambda) (list syntmp-x-1359) (syntmp-gen-syntax-case-1276 (syntmp-build-annotated-81 #f syntmp-x-1359) syntmp-key-1355 syntmp-m-1356 syntmp-r-1347))) (syntmp-chi-140 syntmp-val-1354 syntmp-r-1347 (quote (())))))) (syntax-error syntmp-e-1350 "invalid literals list in"))) syntmp-tmp-1352) (syntax-error syntmp-tmp-1351))) (syntax-dispatch syntmp-tmp-1351 (quote (any any each-any . each-any))))) syntmp-e-1350))))) (set! sc-expand (let ((syntmp-m-1362 (quote e)) (syntmp-esew-1363 (quote (eval)))) (lambda (syntmp-x-1364) (if (and (pair? syntmp-x-1364) (equal? (car syntmp-x-1364) syntmp-noexpand-71)) (cadr syntmp-x-1364) (syntmp-chi-top-139 syntmp-x-1364 (quote ()) (quote ((top))) syntmp-m-1362 syntmp-esew-1363))))) (set! sc-expand3 (let ((syntmp-m-1365 (quote e)) (syntmp-esew-1366 (quote (eval)))) (lambda (syntmp-x-1368 . syntmp-rest-1367) (if (and (pair? syntmp-x-1368) (equal? (car syntmp-x-1368) syntmp-noexpand-71)) (cadr syntmp-x-1368) (syntmp-chi-top-139 syntmp-x-1368 (quote ()) (quote ((top))) (if (null? syntmp-rest-1367) syntmp-m-1365 (car syntmp-rest-1367)) (if (or (null? syntmp-rest-1367) (null? (cdr syntmp-rest-1367))) syntmp-esew-1366 (cadr syntmp-rest-1367))))))) (set! identifier? (lambda (syntmp-x-1369) (syntmp-nonsymbol-id?-103 syntmp-x-1369))) (set! datum->syntax-object (lambda (syntmp-id-1370 syntmp-datum-1371) (syntmp-make-syntax-object-87 syntmp-datum-1371 (syntmp-syntax-object-wrap-90 syntmp-id-1370)))) (set! syntax-object->datum (lambda (syntmp-x-1372) (syntmp-strip-151 syntmp-x-1372 (quote (()))))) (set! generate-temporaries (lambda (syntmp-ls-1373) (begin (let ((syntmp-x-1374 syntmp-ls-1373)) (if (not (list? syntmp-x-1374)) (syntmp-error-hook-78 (quote generate-temporaries) "invalid argument" syntmp-x-1374))) (map (lambda (syntmp-x-1375) (syntmp-wrap-132 (gensym) (quote ((top))))) syntmp-ls-1373)))) (set! free-identifier=? (lambda (syntmp-x-1376 syntmp-y-1377) (begin (let ((syntmp-x-1378 syntmp-x-1376)) (if (not (syntmp-nonsymbol-id?-103 syntmp-x-1378)) (syntmp-error-hook-78 (quote free-identifier=?) "invalid argument" syntmp-x-1378))) (let ((syntmp-x-1379 syntmp-y-1377)) (if (not (syntmp-nonsymbol-id?-103 syntmp-x-1379)) (syntmp-error-hook-78 (quote free-identifier=?) "invalid argument" syntmp-x-1379))) (syntmp-free-id=?-127 syntmp-x-1376 syntmp-y-1377)))) (set! bound-identifier=? (lambda (syntmp-x-1380 syntmp-y-1381) (begin (let ((syntmp-x-1382 syntmp-x-1380)) (if (not (syntmp-nonsymbol-id?-103 syntmp-x-1382)) (syntmp-error-hook-78 (quote bound-identifier=?) "invalid argument" syntmp-x-1382))) (let ((syntmp-x-1383 syntmp-y-1381)) (if (not (syntmp-nonsymbol-id?-103 syntmp-x-1383)) (syntmp-error-hook-78 (quote bound-identifier=?) "invalid argument" syntmp-x-1383))) (syntmp-bound-id=?-128 syntmp-x-1380 syntmp-y-1381)))) (set! syntax-error (lambda (syntmp-object-1385 . syntmp-messages-1384) (begin (for-each (lambda (syntmp-x-1386) (let ((syntmp-x-1387 syntmp-x-1386)) (if (not (string? syntmp-x-1387)) (syntmp-error-hook-78 (quote syntax-error) "invalid argument" syntmp-x-1387)))) syntmp-messages-1384) (let ((syntmp-message-1388 (if (null? syntmp-messages-1384) "invalid syntax" (apply string-append syntmp-messages-1384)))) (syntmp-error-hook-78 #f syntmp-message-1388 (syntmp-strip-151 syntmp-object-1385 (quote (())))))))) (set! install-global-transformer (lambda (syntmp-sym-1389 syntmp-v-1390) (begin (let ((syntmp-x-1391 syntmp-sym-1389)) (if (not (symbol? syntmp-x-1391)) (syntmp-error-hook-78 (quote define-syntax) "invalid argument" syntmp-x-1391))) (let ((syntmp-x-1392 syntmp-v-1390)) (if (not (procedure? syntmp-x-1392)) (syntmp-error-hook-78 (quote define-syntax) "invalid argument" syntmp-x-1392))) (syntmp-global-extend-102 (quote macro) syntmp-sym-1389 syntmp-v-1390)))) (letrec ((syntmp-match-1397 (lambda (syntmp-e-1398 syntmp-p-1399 syntmp-w-1400 syntmp-r-1401) (cond ((not syntmp-r-1401) #f) ((eq? syntmp-p-1399 (quote any)) (cons (syntmp-wrap-132 syntmp-e-1398 syntmp-w-1400) syntmp-r-1401)) ((syntmp-syntax-object?-88 syntmp-e-1398) (syntmp-match*-1396 (let ((syntmp-e-1402 (syntmp-syntax-object-expression-89 syntmp-e-1398))) (if (annotation? syntmp-e-1402) (annotation-expression syntmp-e-1402) syntmp-e-1402)) syntmp-p-1399 (syntmp-join-wraps-123 syntmp-w-1400 (syntmp-syntax-object-wrap-90 syntmp-e-1398)) syntmp-r-1401)) (else (syntmp-match*-1396 (let ((syntmp-e-1403 syntmp-e-1398)) (if (annotation? syntmp-e-1403) (annotation-expression syntmp-e-1403) syntmp-e-1403)) syntmp-p-1399 syntmp-w-1400 syntmp-r-1401))))) (syntmp-match*-1396 (lambda (syntmp-e-1404 syntmp-p-1405 syntmp-w-1406 syntmp-r-1407) (cond ((null? syntmp-p-1405) (and (null? syntmp-e-1404) syntmp-r-1407)) ((pair? syntmp-p-1405) (and (pair? syntmp-e-1404) (syntmp-match-1397 (car syntmp-e-1404) (car syntmp-p-1405) syntmp-w-1406 (syntmp-match-1397 (cdr syntmp-e-1404) (cdr syntmp-p-1405) syntmp-w-1406 syntmp-r-1407)))) ((eq? syntmp-p-1405 (quote each-any)) (let ((syntmp-l-1408 (syntmp-match-each-any-1394 syntmp-e-1404 syntmp-w-1406))) (and syntmp-l-1408 (cons syntmp-l-1408 syntmp-r-1407)))) (else (let ((syntmp-t-1409 (vector-ref syntmp-p-1405 0))) (if (memv syntmp-t-1409 (quote (each))) (if (null? syntmp-e-1404) (syntmp-match-empty-1395 (vector-ref syntmp-p-1405 1) syntmp-r-1407) (let ((syntmp-l-1410 (syntmp-match-each-1393 syntmp-e-1404 (vector-ref syntmp-p-1405 1) syntmp-w-1406))) (and syntmp-l-1410 (let syntmp-collect-1411 ((syntmp-l-1412 syntmp-l-1410)) (if (null? (car syntmp-l-1412)) syntmp-r-1407 (cons (map car syntmp-l-1412) (syntmp-collect-1411 (map cdr syntmp-l-1412)))))))) (if (memv syntmp-t-1409 (quote (free-id))) (and (syntmp-id?-104 syntmp-e-1404) (syntmp-free-id=?-127 (syntmp-wrap-132 syntmp-e-1404 syntmp-w-1406) (vector-ref syntmp-p-1405 1)) syntmp-r-1407) (if (memv syntmp-t-1409 (quote (atom))) (and (equal? (vector-ref syntmp-p-1405 1) (syntmp-strip-151 syntmp-e-1404 syntmp-w-1406)) syntmp-r-1407) (if (memv syntmp-t-1409 (quote (vector))) (and (vector? syntmp-e-1404) (syntmp-match-1397 (vector->list syntmp-e-1404) (vector-ref syntmp-p-1405 1) syntmp-w-1406 syntmp-r-1407))))))))))) (syntmp-match-empty-1395 (lambda (syntmp-p-1413 syntmp-r-1414) (cond ((null? syntmp-p-1413) syntmp-r-1414) ((eq? syntmp-p-1413 (quote any)) (cons (quote ()) syntmp-r-1414)) ((pair? syntmp-p-1413) (syntmp-match-empty-1395 (car syntmp-p-1413) (syntmp-match-empty-1395 (cdr syntmp-p-1413) syntmp-r-1414))) ((eq? syntmp-p-1413 (quote each-any)) (cons (quote ()) syntmp-r-1414)) (else (let ((syntmp-t-1415 (vector-ref syntmp-p-1413 0))) (if (memv syntmp-t-1415 (quote (each))) (syntmp-match-empty-1395 (vector-ref syntmp-p-1413 1) syntmp-r-1414) (if (memv syntmp-t-1415 (quote (free-id atom))) syntmp-r-1414 (if (memv syntmp-t-1415 (quote (vector))) (syntmp-match-empty-1395 (vector-ref syntmp-p-1413 1) syntmp-r-1414))))))))) (syntmp-match-each-any-1394 (lambda (syntmp-e-1416 syntmp-w-1417) (cond ((annotation? syntmp-e-1416) (syntmp-match-each-any-1394 (annotation-expression syntmp-e-1416) syntmp-w-1417)) ((pair? syntmp-e-1416) (let ((syntmp-l-1418 (syntmp-match-each-any-1394 (cdr syntmp-e-1416) syntmp-w-1417))) (and syntmp-l-1418 (cons (syntmp-wrap-132 (car syntmp-e-1416) syntmp-w-1417) syntmp-l-1418)))) ((null? syntmp-e-1416) (quote ())) ((syntmp-syntax-object?-88 syntmp-e-1416) (syntmp-match-each-any-1394 (syntmp-syntax-object-expression-89 syntmp-e-1416) (syntmp-join-wraps-123 syntmp-w-1417 (syntmp-syntax-object-wrap-90 syntmp-e-1416)))) (else #f)))) (syntmp-match-each-1393 (lambda (syntmp-e-1419 syntmp-p-1420 syntmp-w-1421) (cond ((annotation? syntmp-e-1419) (syntmp-match-each-1393 (annotation-expression syntmp-e-1419) syntmp-p-1420 syntmp-w-1421)) ((pair? syntmp-e-1419) (let ((syntmp-first-1422 (syntmp-match-1397 (car syntmp-e-1419) syntmp-p-1420 syntmp-w-1421 (quote ())))) (and syntmp-first-1422 (let ((syntmp-rest-1423 (syntmp-match-each-1393 (cdr syntmp-e-1419) syntmp-p-1420 syntmp-w-1421))) (and syntmp-rest-1423 (cons syntmp-first-1422 syntmp-rest-1423)))))) ((null? syntmp-e-1419) (quote ())) ((syntmp-syntax-object?-88 syntmp-e-1419) (syntmp-match-each-1393 (syntmp-syntax-object-expression-89 syntmp-e-1419) syntmp-p-1420 (syntmp-join-wraps-123 syntmp-w-1421 (syntmp-syntax-object-wrap-90 syntmp-e-1419)))) (else #f))))) (begin (set! syntax-dispatch (lambda (syntmp-e-1424 syntmp-p-1425) (cond ((eq? syntmp-p-1425 (quote any)) (list syntmp-e-1424)) ((syntmp-syntax-object?-88 syntmp-e-1424) (syntmp-match*-1396 (let ((syntmp-e-1426 (syntmp-syntax-object-expression-89 syntmp-e-1424))) (if (annotation? syntmp-e-1426) (annotation-expression syntmp-e-1426) syntmp-e-1426)) syntmp-p-1425 (syntmp-syntax-object-wrap-90 syntmp-e-1424) (quote ()))) (else (syntmp-match*-1396 (let ((syntmp-e-1427 syntmp-e-1424)) (if (annotation? syntmp-e-1427) (annotation-expression syntmp-e-1427) syntmp-e-1427)) syntmp-p-1425 (quote (())) (quote ())))))) (set! sc-chi syntmp-chi-140)))))
+(install-global-transformer (quote with-syntax) (lambda (syntmp-x-1428) ((lambda (syntmp-tmp-1429) ((lambda (syntmp-tmp-1430) (if syntmp-tmp-1430 (apply (lambda (syntmp-_-1431 syntmp-e1-1432 syntmp-e2-1433) (cons (quote #(syntax-object begin ((top) #(ribcage #(_ e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (cons syntmp-e1-1432 syntmp-e2-1433))) syntmp-tmp-1430) ((lambda (syntmp-tmp-1435) (if syntmp-tmp-1435 (apply (lambda (syntmp-_-1436 syntmp-out-1437 syntmp-in-1438 syntmp-e1-1439 syntmp-e2-1440) (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"))))) syntmp-in-1438 (quote ()) (list syntmp-out-1437 (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"))))) (cons syntmp-e1-1439 syntmp-e2-1440))))) syntmp-tmp-1435) ((lambda (syntmp-tmp-1442) (if syntmp-tmp-1442 (apply (lambda (syntmp-_-1443 syntmp-out-1444 syntmp-in-1445 syntmp-e1-1446 syntmp-e2-1447) (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"))))) (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"))))) syntmp-in-1445) (quote ()) (list syntmp-out-1444 (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"))))) (cons syntmp-e1-1446 syntmp-e2-1447))))) syntmp-tmp-1442) (syntax-error syntmp-tmp-1429))) (syntax-dispatch syntmp-tmp-1429 (quote (any #(each (any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1429 (quote (any ((any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1429 (quote (any () any . each-any))))) syntmp-x-1428)))
+(install-global-transformer (quote syntax-rules) (lambda (syntmp-x-1469) ((lambda (syntmp-tmp-1470) ((lambda (syntmp-tmp-1471) (if syntmp-tmp-1471 (apply (lambda (syntmp-_-1472 syntmp-k-1473 syntmp-keyword-1474 syntmp-pattern-1475 syntmp-template-1476) (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"))))) (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")))))) (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"))))) (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"))))) (cons syntmp-k-1473 (map (lambda (syntmp-tmp-1479 syntmp-tmp-1478) (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"))))) syntmp-tmp-1478) (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"))))) syntmp-tmp-1479))) syntmp-template-1476 syntmp-pattern-1475)))))) syntmp-tmp-1471) (syntax-error syntmp-tmp-1470))) (syntax-dispatch syntmp-tmp-1470 (quote (any each-any . #(each ((any . any) any))))))) syntmp-x-1469)))
+(install-global-transformer (quote let*) (lambda (syntmp-x-1490) ((lambda (syntmp-tmp-1491) ((lambda (syntmp-tmp-1492) (if (if syntmp-tmp-1492 (apply (lambda (syntmp-let*-1493 syntmp-x-1494 syntmp-v-1495 syntmp-e1-1496 syntmp-e2-1497) (andmap identifier? syntmp-x-1494)) syntmp-tmp-1492) #f) (apply (lambda (syntmp-let*-1499 syntmp-x-1500 syntmp-v-1501 syntmp-e1-1502 syntmp-e2-1503) (let syntmp-f-1504 ((syntmp-bindings-1505 (map list syntmp-x-1500 syntmp-v-1501))) (if (null? syntmp-bindings-1505) (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"))))) (cons (quote ()) (cons syntmp-e1-1502 syntmp-e2-1503))) ((lambda (syntmp-tmp-1509) ((lambda (syntmp-tmp-1510) (if syntmp-tmp-1510 (apply (lambda (syntmp-body-1511 syntmp-binding-1512) (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"))))) (list syntmp-binding-1512) syntmp-body-1511)) syntmp-tmp-1510) (syntax-error syntmp-tmp-1509))) (syntax-dispatch syntmp-tmp-1509 (quote (any any))))) (list (syntmp-f-1504 (cdr syntmp-bindings-1505)) (car syntmp-bindings-1505)))))) syntmp-tmp-1492) (syntax-error syntmp-tmp-1491))) (syntax-dispatch syntmp-tmp-1491 (quote (any #(each (any any)) any . each-any))))) syntmp-x-1490)))
+(install-global-transformer (quote do) (lambda (syntmp-orig-x-1532) ((lambda (syntmp-tmp-1533) ((lambda (syntmp-tmp-1534) (if syntmp-tmp-1534 (apply (lambda (syntmp-_-1535 syntmp-var-1536 syntmp-init-1537 syntmp-step-1538 syntmp-e0-1539 syntmp-e1-1540 syntmp-c-1541) ((lambda (syntmp-tmp-1542) ((lambda (syntmp-tmp-1543) (if syntmp-tmp-1543 (apply (lambda (syntmp-step-1544) ((lambda (syntmp-tmp-1545) ((lambda (syntmp-tmp-1546) (if syntmp-tmp-1546 (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"))))) (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"))))) (map list syntmp-var-1536 syntmp-init-1537) (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"))))) (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"))))) syntmp-e0-1539) (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"))))) (append syntmp-c-1541 (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"))))) syntmp-step-1544))))))) syntmp-tmp-1546) ((lambda (syntmp-tmp-1551) (if syntmp-tmp-1551 (apply (lambda (syntmp-e1-1552 syntmp-e2-1553) (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"))))) (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"))))) (map list syntmp-var-1536 syntmp-init-1537) (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"))))) syntmp-e0-1539 (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"))))) (cons syntmp-e1-1552 syntmp-e2-1553)) (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"))))) (append syntmp-c-1541 (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"))))) syntmp-step-1544))))))) syntmp-tmp-1551) (syntax-error syntmp-tmp-1545))) (syntax-dispatch syntmp-tmp-1545 (quote (any . each-any)))))) (syntax-dispatch syntmp-tmp-1545 (quote ())))) syntmp-e1-1540)) syntmp-tmp-1543) (syntax-error syntmp-tmp-1542))) (syntax-dispatch syntmp-tmp-1542 (quote each-any)))) (map (lambda (syntmp-v-1560 syntmp-s-1561) ((lambda (syntmp-tmp-1562) ((lambda (syntmp-tmp-1563) (if syntmp-tmp-1563 (apply (lambda () syntmp-v-1560) syntmp-tmp-1563) ((lambda (syntmp-tmp-1564) (if syntmp-tmp-1564 (apply (lambda (syntmp-e-1565) syntmp-e-1565) syntmp-tmp-1564) ((lambda (syntmp-_-1566) (syntax-error syntmp-orig-x-1532)) syntmp-tmp-1562))) (syntax-dispatch syntmp-tmp-1562 (quote (any)))))) (syntax-dispatch syntmp-tmp-1562 (quote ())))) syntmp-s-1561)) syntmp-var-1536 syntmp-step-1538))) syntmp-tmp-1534) (syntax-error syntmp-tmp-1533))) (syntax-dispatch syntmp-tmp-1533 (quote (any #(each (any any . any)) (any . each-any) . each-any))))) syntmp-orig-x-1532)))
+(install-global-transformer (quote quasiquote) (letrec ((syntmp-quasicons-1594 (lambda (syntmp-x-1598 syntmp-y-1599) ((lambda (syntmp-tmp-1600) ((lambda (syntmp-tmp-1601) (if syntmp-tmp-1601 (apply (lambda (syntmp-x-1602 syntmp-y-1603) ((lambda (syntmp-tmp-1604) ((lambda (syntmp-tmp-1605) (if syntmp-tmp-1605 (apply (lambda (syntmp-dy-1606) ((lambda (syntmp-tmp-1607) ((lambda (syntmp-tmp-1608) (if syntmp-tmp-1608 (apply (lambda (syntmp-dx-1609) (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"))))) (cons syntmp-dx-1609 syntmp-dy-1606))) syntmp-tmp-1608) ((lambda (syntmp-_-1610) (if (null? syntmp-dy-1606) (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"))))) syntmp-x-1602) (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"))))) syntmp-x-1602 syntmp-y-1603))) syntmp-tmp-1607))) (syntax-dispatch syntmp-tmp-1607 (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"))))) any))))) syntmp-x-1602)) syntmp-tmp-1605) ((lambda (syntmp-tmp-1611) (if syntmp-tmp-1611 (apply (lambda (syntmp-stuff-1612) (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"))))) (cons syntmp-x-1602 syntmp-stuff-1612))) syntmp-tmp-1611) ((lambda (syntmp-else-1613) (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"))))) syntmp-x-1602 syntmp-y-1603)) syntmp-tmp-1604))) (syntax-dispatch syntmp-tmp-1604 (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"))))) . any)))))) (syntax-dispatch syntmp-tmp-1604 (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"))))) any))))) syntmp-y-1603)) syntmp-tmp-1601) (syntax-error syntmp-tmp-1600))) (syntax-dispatch syntmp-tmp-1600 (quote (any any))))) (list syntmp-x-1598 syntmp-y-1599)))) (syntmp-quasiappend-1595 (lambda (syntmp-x-1614 syntmp-y-1615) ((lambda (syntmp-tmp-1616) ((lambda (syntmp-tmp-1617) (if syntmp-tmp-1617 (apply (lambda (syntmp-x-1618 syntmp-y-1619) ((lambda (syntmp-tmp-1620) ((lambda (syntmp-tmp-1621) (if syntmp-tmp-1621 (apply (lambda () syntmp-x-1618) syntmp-tmp-1621) ((lambda (syntmp-_-1622) (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"))))) syntmp-x-1618 syntmp-y-1619)) syntmp-tmp-1620))) (syntax-dispatch syntmp-tmp-1620 (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"))))) ()))))) syntmp-y-1619)) syntmp-tmp-1617) (syntax-error syntmp-tmp-1616))) (syntax-dispatch syntmp-tmp-1616 (quote (any any))))) (list syntmp-x-1614 syntmp-y-1615)))) (syntmp-quasivector-1596 (lambda (syntmp-x-1623) ((lambda (syntmp-tmp-1624) ((lambda (syntmp-x-1625) ((lambda (syntmp-tmp-1626) ((lambda (syntmp-tmp-1627) (if syntmp-tmp-1627 (apply (lambda (syntmp-x-1628) (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"))))) (list->vector syntmp-x-1628))) syntmp-tmp-1627) ((lambda (syntmp-tmp-1630) (if syntmp-tmp-1630 (apply (lambda (syntmp-x-1631) (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"))))) syntmp-x-1631)) syntmp-tmp-1630) ((lambda (syntmp-_-1633) (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"))))) syntmp-x-1625)) syntmp-tmp-1626))) (syntax-dispatch syntmp-tmp-1626 (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"))))) . each-any)))))) (syntax-dispatch syntmp-tmp-1626 (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"))))) each-any))))) syntmp-x-1625)) syntmp-tmp-1624)) syntmp-x-1623))) (syntmp-quasi-1597 (lambda (syntmp-p-1634 syntmp-lev-1635) ((lambda (syntmp-tmp-1636) ((lambda (syntmp-tmp-1637) (if syntmp-tmp-1637 (apply (lambda (syntmp-p-1638) (if (= syntmp-lev-1635 0) syntmp-p-1638 (syntmp-quasicons-1594 (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")))) #(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")))))) (syntmp-quasi-1597 (list syntmp-p-1638) (- syntmp-lev-1635 1))))) syntmp-tmp-1637) ((lambda (syntmp-tmp-1639) (if syntmp-tmp-1639 (apply (lambda (syntmp-p-1640 syntmp-q-1641) (if (= syntmp-lev-1635 0) (syntmp-quasiappend-1595 syntmp-p-1640 (syntmp-quasi-1597 syntmp-q-1641 syntmp-lev-1635)) (syntmp-quasicons-1594 (syntmp-quasicons-1594 (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")))) #(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")))))) (syntmp-quasi-1597 (list syntmp-p-1640) (- syntmp-lev-1635 1))) (syntmp-quasi-1597 syntmp-q-1641 syntmp-lev-1635)))) syntmp-tmp-1639) ((lambda (syntmp-tmp-1642) (if syntmp-tmp-1642 (apply (lambda (syntmp-p-1643) (syntmp-quasicons-1594 (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")))) #(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")))))) (syntmp-quasi-1597 (list syntmp-p-1643) (+ syntmp-lev-1635 1)))) syntmp-tmp-1642) ((lambda (syntmp-tmp-1644) (if syntmp-tmp-1644 (apply (lambda (syntmp-p-1645 syntmp-q-1646) (syntmp-quasicons-1594 (syntmp-quasi-1597 syntmp-p-1645 syntmp-lev-1635) (syntmp-quasi-1597 syntmp-q-1646 syntmp-lev-1635))) syntmp-tmp-1644) ((lambda (syntmp-tmp-1647) (if syntmp-tmp-1647 (apply (lambda (syntmp-x-1648) (syntmp-quasivector-1596 (syntmp-quasi-1597 syntmp-x-1648 syntmp-lev-1635))) syntmp-tmp-1647) ((lambda (syntmp-p-1650) (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"))))) syntmp-p-1650)) syntmp-tmp-1636))) (syntax-dispatch syntmp-tmp-1636 (quote #(vector each-any)))))) (syntax-dispatch syntmp-tmp-1636 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1636 (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"))))) any)))))) (syntax-dispatch syntmp-tmp-1636 (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"))))) any) . any)))))) (syntax-dispatch syntmp-tmp-1636 (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"))))) any))))) syntmp-p-1634)))) (lambda (syntmp-x-1651) ((lambda (syntmp-tmp-1652) ((lambda (syntmp-tmp-1653) (if syntmp-tmp-1653 (apply (lambda (syntmp-_-1654 syntmp-e-1655) (syntmp-quasi-1597 syntmp-e-1655 0)) syntmp-tmp-1653) (syntax-error syntmp-tmp-1652))) (syntax-dispatch syntmp-tmp-1652 (quote (any any))))) syntmp-x-1651))))
+(install-global-transformer (quote include) (lambda (syntmp-x-1715) (letrec ((syntmp-read-file-1716 (lambda (syntmp-fn-1717 syntmp-k-1718) (let ((syntmp-p-1719 (open-input-file syntmp-fn-1717))) (let syntmp-f-1720 ((syntmp-x-1721 (read syntmp-p-1719))) (if (eof-object? syntmp-x-1721) (begin (close-input-port syntmp-p-1719) (quote ())) (cons (datum->syntax-object syntmp-k-1718 syntmp-x-1721) (syntmp-f-1720 (read syntmp-p-1719))))))))) ((lambda (syntmp-tmp-1722) ((lambda (syntmp-tmp-1723) (if syntmp-tmp-1723 (apply (lambda (syntmp-k-1724 syntmp-filename-1725) (let ((syntmp-fn-1726 (syntax-object->datum syntmp-filename-1725))) ((lambda (syntmp-tmp-1727) ((lambda (syntmp-tmp-1728) (if syntmp-tmp-1728 (apply (lambda (syntmp-exp-1729) (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"))))) syntmp-exp-1729)) syntmp-tmp-1728) (syntax-error syntmp-tmp-1727))) (syntax-dispatch syntmp-tmp-1727 (quote each-any)))) (syntmp-read-file-1716 syntmp-fn-1726 syntmp-k-1724)))) syntmp-tmp-1723) (syntax-error syntmp-tmp-1722))) (syntax-dispatch syntmp-tmp-1722 (quote (any any))))) syntmp-x-1715))))
+(install-global-transformer (quote unquote) (lambda (syntmp-x-1746) ((lambda (syntmp-tmp-1747) ((lambda (syntmp-tmp-1748) (if syntmp-tmp-1748 (apply (lambda (syntmp-_-1749 syntmp-e-1750) (error (quote unquote) "expression ,~s not valid outside of quasiquote" (syntax-object->datum syntmp-e-1750))) syntmp-tmp-1748) (syntax-error syntmp-tmp-1747))) (syntax-dispatch syntmp-tmp-1747 (quote (any any))))) syntmp-x-1746)))
+(install-global-transformer (quote unquote-splicing) (lambda (syntmp-x-1756) ((lambda (syntmp-tmp-1757) ((lambda (syntmp-tmp-1758) (if syntmp-tmp-1758 (apply (lambda (syntmp-_-1759 syntmp-e-1760) (error (quote unquote-splicing) "expression ,@~s not valid outside of quasiquote" (syntax-object->datum syntmp-e-1760))) syntmp-tmp-1758) (syntax-error syntmp-tmp-1757))) (syntax-dispatch syntmp-tmp-1757 (quote (any any))))) syntmp-x-1756)))
+(install-global-transformer (quote case) (lambda (syntmp-x-1766) ((lambda (syntmp-tmp-1767) ((lambda (syntmp-tmp-1768) (if syntmp-tmp-1768 (apply (lambda (syntmp-_-1769 syntmp-e-1770 syntmp-m1-1771 syntmp-m2-1772) ((lambda (syntmp-tmp-1773) ((lambda (syntmp-body-1774) (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"))))) (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"))))) syntmp-e-1770)) syntmp-body-1774)) syntmp-tmp-1773)) (let syntmp-f-1775 ((syntmp-clause-1776 syntmp-m1-1771) (syntmp-clauses-1777 syntmp-m2-1772)) (if (null? syntmp-clauses-1777) ((lambda (syntmp-tmp-1779) ((lambda (syntmp-tmp-1780) (if syntmp-tmp-1780 (apply (lambda (syntmp-e1-1781 syntmp-e2-1782) (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"))))) (cons syntmp-e1-1781 syntmp-e2-1782))) syntmp-tmp-1780) ((lambda (syntmp-tmp-1784) (if syntmp-tmp-1784 (apply (lambda (syntmp-k-1785 syntmp-e1-1786 syntmp-e2-1787) (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"))))) (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"))))) (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"))))) (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"))))) syntmp-k-1785)) (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"))))) (cons syntmp-e1-1786 syntmp-e2-1787)))) syntmp-tmp-1784) ((lambda (syntmp-_-1790) (syntax-error syntmp-x-1766)) syntmp-tmp-1779))) (syntax-dispatch syntmp-tmp-1779 (quote (each-any any . each-any)))))) (syntax-dispatch syntmp-tmp-1779 (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"))))) any . each-any))))) syntmp-clause-1776) ((lambda (syntmp-tmp-1791) ((lambda (syntmp-rest-1792) ((lambda (syntmp-tmp-1793) ((lambda (syntmp-tmp-1794) (if syntmp-tmp-1794 (apply (lambda (syntmp-k-1795 syntmp-e1-1796 syntmp-e2-1797) (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"))))) (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"))))) (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"))))) (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"))))) syntmp-k-1795)) (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"))))) (cons syntmp-e1-1796 syntmp-e2-1797)) syntmp-rest-1792)) syntmp-tmp-1794) ((lambda (syntmp-_-1800) (syntax-error syntmp-x-1766)) syntmp-tmp-1793))) (syntax-dispatch syntmp-tmp-1793 (quote (each-any any . each-any))))) syntmp-clause-1776)) syntmp-tmp-1791)) (syntmp-f-1775 (car syntmp-clauses-1777) (cdr syntmp-clauses-1777))))))) syntmp-tmp-1768) (syntax-error syntmp-tmp-1767))) (syntax-dispatch syntmp-tmp-1767 (quote (any any any . each-any))))) syntmp-x-1766)))
+(install-global-transformer (quote identifier-syntax) (lambda (syntmp-x-1830) ((lambda (syntmp-tmp-1831) ((lambda (syntmp-tmp-1832) (if syntmp-tmp-1832 (apply (lambda (syntmp-_-1833 syntmp-e-1834) (list (quote #(syntax-object lambda ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))))) (list (quote #(syntax-object syntax-case ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (quote #(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (quote ()) (list (quote #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (quote (#(syntax-object identifier? ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))) (#(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))) #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))))) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) syntmp-e-1834)) (list (cons syntmp-_-1833 (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))))) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))))) (cons syntmp-e-1834 (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")))))))))))) syntmp-tmp-1832) (syntax-error syntmp-tmp-1831))) (syntax-dispatch syntmp-tmp-1831 (quote (any any))))) syntmp-x-1830)))
index 40ec916..3650aac 100644 (file)
   (syntax-rules ()
     ((_ src id) (build-annotated src (gensym (symbol->string id))))))
 
-(define-structure (syntax-object expression wrap))
+;; (define-structure (syntax-object expression wrap module))
+
+(define (make-syntax-object exp wrap . mod)
+  (vector 'syntax-object exp wrap (if (null? mod) #f (car mod))))
+
+(define (syntax-object? x)
+  (and (vector? x) (> (vector-length x) 0) (eq? (vector-ref x 0) 'syntax-object)))
+
+(define (syntax-object-expression x)
+  (vector-ref x 1))
+(define (syntax-object-wrap x)
+  (vector-ref x 2))
+(define (syntax-object-module x)
+  (vector-ref x 3))
+(define (set-syntax-object-expression! x y)
+  (vector-set! x 1 y))
+(define (set-syntax-object-wrap! x y)
+  (vector-set! x 2 y))
+(define (set-syntax-object-module! x y)
+  (vector-set! x 3 y))
 
 (define-syntax unannotate
   (syntax-rules ()