summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-04-21 22:26:27 +0200
committerAndy Wingo <wingo@pobox.com>2009-04-21 22:26:27 +0200
commit265e61273df38c3b3cca7add41807ded3678907c (patch)
treec89af668d57185bb5b6a41c6da8b8f973802fe2f
parentd4876cb4133625d1cdddf044a1b434e292ee82d7 (diff)
downloadguile-265e61273df38c3b3cca7add41807ded3678907c.tar.gz
syncase knows about @ / @@
* module/ice-9/psyntax.scm (syntax-type): Handle a new type, module-ref. Like external-macro, it also has a procedure as a binding. (chi-expr): module-ref forms -- that is to say, (@ (foo ...) bar) -- as expressions they are global references, but with respect to a specific module. (@, @@): Define module-ref syntax handlers. * module/ice-9/psyntax-pp.scm: Regenerated. * module/ice-9/syncase.scm: Mark as primitive syntax so we don't clobber their definitions. The reason I'm doing things like this is so as to support (set! (@@ ...) ...) sensibly, which will be the next patch.
-rw-r--r--module/ice-9/psyntax-pp.scm22
-rw-r--r--module/ice-9/psyntax.scm26
-rw-r--r--module/ice-9/syncase.scm2
3 files changed, 37 insertions, 13 deletions
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 0ae942270..e1fd72a37 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -1,11 +1,11 @@
-(letrec ((syntmp-lambda-var-list-166 (lambda (syntmp-vars-557) (let syntmp-lvl-558 ((syntmp-vars-559 syntmp-vars-557) (syntmp-ls-560 (quote ())) (syntmp-w-561 (quote (())))) (cond ((pair? syntmp-vars-559) (syntmp-lvl-558 (cdr syntmp-vars-559) (cons (syntmp-wrap-145 (car syntmp-vars-559) syntmp-w-561 #f) syntmp-ls-560) syntmp-w-561)) ((syntmp-id?-117 syntmp-vars-559) (cons (syntmp-wrap-145 syntmp-vars-559 syntmp-w-561 #f) syntmp-ls-560)) ((null? syntmp-vars-559) syntmp-ls-560) ((syntmp-syntax-object?-101 syntmp-vars-559) (syntmp-lvl-558 (syntmp-syntax-object-expression-102 syntmp-vars-559) syntmp-ls-560 (syntmp-join-wraps-136 syntmp-w-561 (syntmp-syntax-object-wrap-103 syntmp-vars-559)))) ((annotation? syntmp-vars-559) (syntmp-lvl-558 (annotation-expression syntmp-vars-559) syntmp-ls-560 syntmp-w-561)) (else (cons syntmp-vars-559 syntmp-ls-560)))))) (syntmp-gen-var-165 (lambda (syntmp-id-562) (let ((syntmp-id-563 (if (syntmp-syntax-object?-101 syntmp-id-562) (syntmp-syntax-object-expression-102 syntmp-id-562) syntmp-id-562))) (if (annotation? syntmp-id-563) (syntmp-build-annotated-94 (annotation-source syntmp-id-563) (gensym (symbol->string (annotation-expression syntmp-id-563)))) (syntmp-build-annotated-94 #f (gensym (symbol->string syntmp-id-563))))))) (syntmp-strip-164 (lambda (syntmp-x-564 syntmp-w-565) (if (memq (quote top) (syntmp-wrap-marks-120 syntmp-w-565)) (if (or (annotation? syntmp-x-564) (and (pair? syntmp-x-564) (annotation? (car syntmp-x-564)))) (syntmp-strip-annotation-163 syntmp-x-564 #f) syntmp-x-564) (let syntmp-f-566 ((syntmp-x-567 syntmp-x-564)) (cond ((syntmp-syntax-object?-101 syntmp-x-567) (syntmp-strip-164 (syntmp-syntax-object-expression-102 syntmp-x-567) (syntmp-syntax-object-wrap-103 syntmp-x-567))) ((pair? syntmp-x-567) (let ((syntmp-a-568 (syntmp-f-566 (car syntmp-x-567))) (syntmp-d-569 (syntmp-f-566 (cdr syntmp-x-567)))) (if (and (eq? syntmp-a-568 (car syntmp-x-567)) (eq? syntmp-d-569 (cdr syntmp-x-567))) syntmp-x-567 (cons syntmp-a-568 syntmp-d-569)))) ((vector? syntmp-x-567) (let ((syntmp-old-570 (vector->list syntmp-x-567))) (let ((syntmp-new-571 (map syntmp-f-566 syntmp-old-570))) (if (andmap eq? syntmp-old-570 syntmp-new-571) syntmp-x-567 (list->vector syntmp-new-571))))) (else syntmp-x-567)))))) (syntmp-strip-annotation-163 (lambda (syntmp-x-572 syntmp-parent-573) (cond ((pair? syntmp-x-572) (let ((syntmp-new-574 (cons #f #f))) (begin (if syntmp-parent-573 (set-annotation-stripped! syntmp-parent-573 syntmp-new-574)) (set-car! syntmp-new-574 (syntmp-strip-annotation-163 (car syntmp-x-572) #f)) (set-cdr! syntmp-new-574 (syntmp-strip-annotation-163 (cdr syntmp-x-572) #f)) syntmp-new-574))) ((annotation? syntmp-x-572) (or (annotation-stripped syntmp-x-572) (syntmp-strip-annotation-163 (annotation-expression syntmp-x-572) syntmp-x-572))) ((vector? syntmp-x-572) (let ((syntmp-new-575 (make-vector (vector-length syntmp-x-572)))) (begin (if syntmp-parent-573 (set-annotation-stripped! syntmp-parent-573 syntmp-new-575)) (let syntmp-loop-576 ((syntmp-i-577 (- (vector-length syntmp-x-572) 1))) (unless (syntmp-fx<-88 syntmp-i-577 0) (vector-set! syntmp-new-575 syntmp-i-577 (syntmp-strip-annotation-163 (vector-ref syntmp-x-572 syntmp-i-577) #f)) (syntmp-loop-576 (syntmp-fx--86 syntmp-i-577 1)))) syntmp-new-575))) (else syntmp-x-572)))) (syntmp-ellipsis?-162 (lambda (syntmp-x-578) (and (syntmp-nonsymbol-id?-116 syntmp-x-578) (syntmp-free-id=?-140 syntmp-x-578 (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"))) (ice-9 syncase))))))) (syntmp-chi-void-161 (lambda () (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote void)))))) (syntmp-eval-local-transformer-160 (lambda (syntmp-expanded-579 syntmp-mod-580) (let ((syntmp-p-581 (syntmp-local-eval-hook-90 syntmp-expanded-579 syntmp-mod-580))) (if (procedure? syntmp-p-581) syntmp-p-581 (syntax-error syntmp-p-581 "nonprocedure transformer"))))) (syntmp-chi-local-syntax-159 (lambda (syntmp-rec?-582 syntmp-e-583 syntmp-r-584 syntmp-w-585 syntmp-s-586 syntmp-mod-587 syntmp-k-588) ((lambda (syntmp-tmp-589) ((lambda (syntmp-tmp-590) (if syntmp-tmp-590 (apply (lambda (syntmp-_-591 syntmp-id-592 syntmp-val-593 syntmp-e1-594 syntmp-e2-595) (let ((syntmp-ids-596 syntmp-id-592)) (if (not (syntmp-valid-bound-ids?-142 syntmp-ids-596)) (syntax-error syntmp-e-583 "duplicate bound keyword in") (let ((syntmp-labels-598 (syntmp-gen-labels-123 syntmp-ids-596))) (let ((syntmp-new-w-599 (syntmp-make-binding-wrap-134 syntmp-ids-596 syntmp-labels-598 syntmp-w-585))) (syntmp-k-588 (cons syntmp-e1-594 syntmp-e2-595) (syntmp-extend-env-111 syntmp-labels-598 (let ((syntmp-w-601 (if syntmp-rec?-582 syntmp-new-w-599 syntmp-w-585)) (syntmp-trans-r-602 (syntmp-macros-only-env-113 syntmp-r-584))) (map (lambda (syntmp-x-603) (cons (quote macro) (syntmp-eval-local-transformer-160 (syntmp-chi-153 syntmp-x-603 syntmp-trans-r-602 syntmp-w-601 syntmp-mod-587) syntmp-mod-587))) syntmp-val-593)) syntmp-r-584) syntmp-new-w-599 syntmp-s-586 syntmp-mod-587)))))) syntmp-tmp-590) ((lambda (syntmp-_-605) (syntax-error (syntmp-source-wrap-146 syntmp-e-583 syntmp-w-585 syntmp-s-586 syntmp-mod-587))) syntmp-tmp-589))) (syntax-dispatch syntmp-tmp-589 (quote (any #(each (any any)) any . each-any))))) syntmp-e-583))) (syntmp-chi-lambda-clause-158 (lambda (syntmp-e-606 syntmp-c-607 syntmp-r-608 syntmp-w-609 syntmp-mod-610 syntmp-k-611) ((lambda (syntmp-tmp-612) ((lambda (syntmp-tmp-613) (if syntmp-tmp-613 (apply (lambda (syntmp-id-614 syntmp-e1-615 syntmp-e2-616) (let ((syntmp-ids-617 syntmp-id-614)) (if (not (syntmp-valid-bound-ids?-142 syntmp-ids-617)) (syntax-error syntmp-e-606 "invalid parameter list in") (let ((syntmp-labels-619 (syntmp-gen-labels-123 syntmp-ids-617)) (syntmp-new-vars-620 (map syntmp-gen-var-165 syntmp-ids-617))) (syntmp-k-611 syntmp-new-vars-620 (syntmp-chi-body-157 (cons syntmp-e1-615 syntmp-e2-616) syntmp-e-606 (syntmp-extend-var-env-112 syntmp-labels-619 syntmp-new-vars-620 syntmp-r-608) (syntmp-make-binding-wrap-134 syntmp-ids-617 syntmp-labels-619 syntmp-w-609) syntmp-mod-610)))))) syntmp-tmp-613) ((lambda (syntmp-tmp-622) (if syntmp-tmp-622 (apply (lambda (syntmp-ids-623 syntmp-e1-624 syntmp-e2-625) (let ((syntmp-old-ids-626 (syntmp-lambda-var-list-166 syntmp-ids-623))) (if (not (syntmp-valid-bound-ids?-142 syntmp-old-ids-626)) (syntax-error syntmp-e-606 "invalid parameter list in") (let ((syntmp-labels-627 (syntmp-gen-labels-123 syntmp-old-ids-626)) (syntmp-new-vars-628 (map syntmp-gen-var-165 syntmp-old-ids-626))) (syntmp-k-611 (let syntmp-f-629 ((syntmp-ls1-630 (cdr syntmp-new-vars-628)) (syntmp-ls2-631 (car syntmp-new-vars-628))) (if (null? syntmp-ls1-630) syntmp-ls2-631 (syntmp-f-629 (cdr syntmp-ls1-630) (cons (car syntmp-ls1-630) syntmp-ls2-631)))) (syntmp-chi-body-157 (cons syntmp-e1-624 syntmp-e2-625) syntmp-e-606 (syntmp-extend-var-env-112 syntmp-labels-627 syntmp-new-vars-628 syntmp-r-608) (syntmp-make-binding-wrap-134 syntmp-old-ids-626 syntmp-labels-627 syntmp-w-609) syntmp-mod-610)))))) syntmp-tmp-622) ((lambda (syntmp-_-633) (syntax-error syntmp-e-606)) syntmp-tmp-612))) (syntax-dispatch syntmp-tmp-612 (quote (any any . each-any)))))) (syntax-dispatch syntmp-tmp-612 (quote (each-any any . each-any))))) syntmp-c-607))) (syntmp-chi-body-157 (lambda (syntmp-body-634 syntmp-outer-form-635 syntmp-r-636 syntmp-w-637 syntmp-mod-638) (let ((syntmp-r-639 (cons (quote ("placeholder" placeholder)) syntmp-r-636))) (let ((syntmp-ribcage-640 (syntmp-make-ribcage-124 (quote ()) (quote ()) (quote ())))) (let ((syntmp-w-641 (syntmp-make-wrap-119 (syntmp-wrap-marks-120 syntmp-w-637) (cons syntmp-ribcage-640 (syntmp-wrap-subst-121 syntmp-w-637))))) (let syntmp-parse-642 ((syntmp-body-643 (map (lambda (syntmp-x-649) (cons syntmp-r-639 (syntmp-wrap-145 syntmp-x-649 syntmp-w-641 syntmp-mod-638))) syntmp-body-634)) (syntmp-ids-644 (quote ())) (syntmp-labels-645 (quote ())) (syntmp-vars-646 (quote ())) (syntmp-vals-647 (quote ())) (syntmp-bindings-648 (quote ()))) (if (null? syntmp-body-643) (syntax-error syntmp-outer-form-635 "no expressions in body") (let ((syntmp-e-650 (cdar syntmp-body-643)) (syntmp-er-651 (caar syntmp-body-643))) (call-with-values (lambda () (syntmp-syntax-type-151 syntmp-e-650 syntmp-er-651 (quote (())) #f syntmp-ribcage-640 syntmp-mod-638)) (lambda (syntmp-type-652 syntmp-value-653 syntmp-e-654 syntmp-w-655 syntmp-s-656 syntmp-mod-657) (let ((syntmp-t-658 syntmp-type-652)) (if (memv syntmp-t-658 (quote (define-form))) (let ((syntmp-id-659 (syntmp-wrap-145 syntmp-value-653 syntmp-w-655 syntmp-mod-657)) (syntmp-label-660 (syntmp-gen-label-122))) (let ((syntmp-var-661 (syntmp-gen-var-165 syntmp-id-659))) (begin (syntmp-extend-ribcage!-133 syntmp-ribcage-640 syntmp-id-659 syntmp-label-660) (syntmp-parse-642 (cdr syntmp-body-643) (cons syntmp-id-659 syntmp-ids-644) (cons syntmp-label-660 syntmp-labels-645) (cons syntmp-var-661 syntmp-vars-646) (cons (cons syntmp-er-651 (syntmp-wrap-145 syntmp-e-654 syntmp-w-655 syntmp-mod-657)) syntmp-vals-647) (cons (cons (quote lexical) syntmp-var-661) syntmp-bindings-648))))) (if (memv syntmp-t-658 (quote (define-syntax-form))) (let ((syntmp-id-662 (syntmp-wrap-145 syntmp-value-653 syntmp-w-655 syntmp-mod-657)) (syntmp-label-663 (syntmp-gen-label-122))) (begin (syntmp-extend-ribcage!-133 syntmp-ribcage-640 syntmp-id-662 syntmp-label-663) (syntmp-parse-642 (cdr syntmp-body-643) (cons syntmp-id-662 syntmp-ids-644) (cons syntmp-label-663 syntmp-labels-645) syntmp-vars-646 syntmp-vals-647 (cons (cons (quote macro) (cons syntmp-er-651 (syntmp-wrap-145 syntmp-e-654 syntmp-w-655 syntmp-mod-657))) syntmp-bindings-648)))) (if (memv syntmp-t-658 (quote (begin-form))) ((lambda (syntmp-tmp-664) ((lambda (syntmp-tmp-665) (if syntmp-tmp-665 (apply (lambda (syntmp-_-666 syntmp-e1-667) (syntmp-parse-642 (let syntmp-f-668 ((syntmp-forms-669 syntmp-e1-667)) (if (null? syntmp-forms-669) (cdr syntmp-body-643) (cons (cons syntmp-er-651 (syntmp-wrap-145 (car syntmp-forms-669) syntmp-w-655 syntmp-mod-657)) (syntmp-f-668 (cdr syntmp-forms-669))))) syntmp-ids-644 syntmp-labels-645 syntmp-vars-646 syntmp-vals-647 syntmp-bindings-648)) syntmp-tmp-665) (syntax-error syntmp-tmp-664))) (syntax-dispatch syntmp-tmp-664 (quote (any . each-any))))) syntmp-e-654) (if (memv syntmp-t-658 (quote (local-syntax-form))) (syntmp-chi-local-syntax-159 syntmp-value-653 syntmp-e-654 syntmp-er-651 syntmp-w-655 syntmp-s-656 syntmp-mod-657 (lambda (syntmp-forms-671 syntmp-er-672 syntmp-w-673 syntmp-s-674 syntmp-mod-675) (syntmp-parse-642 (let syntmp-f-676 ((syntmp-forms-677 syntmp-forms-671)) (if (null? syntmp-forms-677) (cdr syntmp-body-643) (cons (cons syntmp-er-672 (syntmp-wrap-145 (car syntmp-forms-677) syntmp-w-673 syntmp-mod-675)) (syntmp-f-676 (cdr syntmp-forms-677))))) syntmp-ids-644 syntmp-labels-645 syntmp-vars-646 syntmp-vals-647 syntmp-bindings-648))) (if (null? syntmp-ids-644) (syntmp-build-sequence-96 #f (map (lambda (syntmp-x-678) (syntmp-chi-153 (cdr syntmp-x-678) (car syntmp-x-678) (quote (())) syntmp-mod-657)) (cons (cons syntmp-er-651 (syntmp-source-wrap-146 syntmp-e-654 syntmp-w-655 syntmp-s-656 syntmp-mod-657)) (cdr syntmp-body-643)))) (begin (if (not (syntmp-valid-bound-ids?-142 syntmp-ids-644)) (syntax-error syntmp-outer-form-635 "invalid or duplicate identifier in definition")) (let syntmp-loop-679 ((syntmp-bs-680 syntmp-bindings-648) (syntmp-er-cache-681 #f) (syntmp-r-cache-682 #f)) (if (not (null? syntmp-bs-680)) (let ((syntmp-b-683 (car syntmp-bs-680))) (if (eq? (car syntmp-b-683) (quote macro)) (let ((syntmp-er-684 (cadr syntmp-b-683))) (let ((syntmp-r-cache-685 (if (eq? syntmp-er-684 syntmp-er-cache-681) syntmp-r-cache-682 (syntmp-macros-only-env-113 syntmp-er-684)))) (begin (set-cdr! syntmp-b-683 (syntmp-eval-local-transformer-160 (syntmp-chi-153 (cddr syntmp-b-683) syntmp-r-cache-685 (quote (())) syntmp-mod-657) syntmp-mod-657)) (syntmp-loop-679 (cdr syntmp-bs-680) syntmp-er-684 syntmp-r-cache-685)))) (syntmp-loop-679 (cdr syntmp-bs-680) syntmp-er-cache-681 syntmp-r-cache-682))))) (set-cdr! syntmp-r-639 (syntmp-extend-env-111 syntmp-labels-645 syntmp-bindings-648 (cdr syntmp-r-639))) (syntmp-build-letrec-99 #f syntmp-vars-646 (map (lambda (syntmp-x-686) (syntmp-chi-153 (cdr syntmp-x-686) (car syntmp-x-686) (quote (())) syntmp-mod-657)) syntmp-vals-647) (syntmp-build-sequence-96 #f (map (lambda (syntmp-x-687) (syntmp-chi-153 (cdr syntmp-x-687) (car syntmp-x-687) (quote (())) syntmp-mod-657)) (cons (cons syntmp-er-651 (syntmp-source-wrap-146 syntmp-e-654 syntmp-w-655 syntmp-s-656 syntmp-mod-657)) (cdr syntmp-body-643)))))))))))))))))))))) (syntmp-chi-macro-156 (lambda (syntmp-p-688 syntmp-e-689 syntmp-r-690 syntmp-w-691 syntmp-rib-692 syntmp-mod-693) (letrec ((syntmp-rebuild-macro-output-694 (lambda (syntmp-x-695 syntmp-m-696) (cond ((pair? syntmp-x-695) (cons (syntmp-rebuild-macro-output-694 (car syntmp-x-695) syntmp-m-696) (syntmp-rebuild-macro-output-694 (cdr syntmp-x-695) syntmp-m-696))) ((syntmp-syntax-object?-101 syntmp-x-695) (let ((syntmp-w-697 (syntmp-syntax-object-wrap-103 syntmp-x-695))) (let ((syntmp-ms-698 (syntmp-wrap-marks-120 syntmp-w-697)) (syntmp-s-699 (syntmp-wrap-subst-121 syntmp-w-697))) (if (and (pair? syntmp-ms-698) (eq? (car syntmp-ms-698) #f)) (syntmp-make-syntax-object-100 (syntmp-syntax-object-expression-102 syntmp-x-695) (syntmp-make-wrap-119 (cdr syntmp-ms-698) (if syntmp-rib-692 (cons syntmp-rib-692 (cdr syntmp-s-699)) (cdr syntmp-s-699))) (syntmp-syntax-object-module-104 syntmp-x-695)) (syntmp-make-syntax-object-100 (syntmp-syntax-object-expression-102 syntmp-x-695) (syntmp-make-wrap-119 (cons syntmp-m-696 syntmp-ms-698) (if syntmp-rib-692 (cons syntmp-rib-692 (cons (quote shift) syntmp-s-699)) (cons (quote shift) syntmp-s-699))) (module-name (procedure-module syntmp-p-688))))))) ((vector? syntmp-x-695) (let ((syntmp-n-700 (vector-length syntmp-x-695))) (let ((syntmp-v-701 (make-vector syntmp-n-700))) (let syntmp-doloop-702 ((syntmp-i-703 0)) (if (syntmp-fx=-87 syntmp-i-703 syntmp-n-700) syntmp-v-701 (begin (vector-set! syntmp-v-701 syntmp-i-703 (syntmp-rebuild-macro-output-694 (vector-ref syntmp-x-695 syntmp-i-703) syntmp-m-696)) (syntmp-doloop-702 (syntmp-fx+-85 syntmp-i-703 1)))))))) ((symbol? syntmp-x-695) (syntax-error syntmp-x-695 "encountered raw symbol in macro output")) (else syntmp-x-695))))) (syntmp-rebuild-macro-output-694 (syntmp-p-688 (syntmp-wrap-145 syntmp-e-689 (syntmp-anti-mark-132 syntmp-w-691) syntmp-mod-693)) (string #\m))))) (syntmp-chi-application-155 (lambda (syntmp-x-704 syntmp-e-705 syntmp-r-706 syntmp-w-707 syntmp-s-708 syntmp-mod-709) ((lambda (syntmp-tmp-710) ((lambda (syntmp-tmp-711) (if syntmp-tmp-711 (apply (lambda (syntmp-e0-712 syntmp-e1-713) (syntmp-build-annotated-94 syntmp-s-708 (cons syntmp-x-704 (map (lambda (syntmp-e-714) (syntmp-chi-153 syntmp-e-714 syntmp-r-706 syntmp-w-707 syntmp-mod-709)) syntmp-e1-713)))) syntmp-tmp-711) (syntax-error syntmp-tmp-710))) (syntax-dispatch syntmp-tmp-710 (quote (any . each-any))))) syntmp-e-705))) (syntmp-chi-expr-154 (lambda (syntmp-type-716 syntmp-value-717 syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (let ((syntmp-t-723 syntmp-type-716)) (if (memv syntmp-t-723 (quote (lexical))) (syntmp-build-annotated-94 syntmp-s-721 syntmp-value-717) (if (memv syntmp-t-723 (quote (core external-macro))) (syntmp-value-717 syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (if (memv syntmp-t-723 (quote (lexical-call))) (syntmp-chi-application-155 (syntmp-build-annotated-94 (syntmp-source-annotation-108 (car syntmp-e-718)) syntmp-value-717) syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (if (memv syntmp-t-723 (quote (global-call))) (syntmp-chi-application-155 (syntmp-build-annotated-94 (syntmp-source-annotation-108 (car syntmp-e-718)) (make-module-ref (if (syntmp-syntax-object?-101 (car syntmp-e-718)) (syntmp-syntax-object-module-104 (car syntmp-e-718)) syntmp-mod-722) syntmp-value-717 #f)) syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (if (memv syntmp-t-723 (quote (constant))) (syntmp-build-data-95 syntmp-s-721 (syntmp-strip-164 (syntmp-source-wrap-146 syntmp-e-718 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (quote (())))) (if (memv syntmp-t-723 (quote (global))) (syntmp-build-annotated-94 syntmp-s-721 (make-module-ref syntmp-mod-722 syntmp-value-717 #f)) (if (memv syntmp-t-723 (quote (call))) (syntmp-chi-application-155 (syntmp-chi-153 (car syntmp-e-718) syntmp-r-719 syntmp-w-720 syntmp-mod-722) syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (if (memv syntmp-t-723 (quote (begin-form))) ((lambda (syntmp-tmp-724) ((lambda (syntmp-tmp-725) (if syntmp-tmp-725 (apply (lambda (syntmp-_-726 syntmp-e1-727 syntmp-e2-728) (syntmp-chi-sequence-147 (cons syntmp-e1-727 syntmp-e2-728) syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722)) syntmp-tmp-725) (syntax-error syntmp-tmp-724))) (syntax-dispatch syntmp-tmp-724 (quote (any any . each-any))))) syntmp-e-718) (if (memv syntmp-t-723 (quote (local-syntax-form))) (syntmp-chi-local-syntax-159 syntmp-value-717 syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722 syntmp-chi-sequence-147) (if (memv syntmp-t-723 (quote (eval-when-form))) ((lambda (syntmp-tmp-730) ((lambda (syntmp-tmp-731) (if syntmp-tmp-731 (apply (lambda (syntmp-_-732 syntmp-x-733 syntmp-e1-734 syntmp-e2-735) (let ((syntmp-when-list-736 (syntmp-chi-when-list-150 syntmp-e-718 syntmp-x-733 syntmp-w-720))) (if (memq (quote eval) syntmp-when-list-736) (syntmp-chi-sequence-147 (cons syntmp-e1-734 syntmp-e2-735) syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (syntmp-chi-void-161)))) syntmp-tmp-731) (syntax-error syntmp-tmp-730))) (syntax-dispatch syntmp-tmp-730 (quote (any each-any any . each-any))))) syntmp-e-718) (if (memv syntmp-t-723 (quote (define-form define-syntax-form))) (syntax-error (syntmp-wrap-145 syntmp-value-717 syntmp-w-720 syntmp-mod-722) "invalid context for definition of") (if (memv syntmp-t-723 (quote (syntax))) (syntax-error (syntmp-source-wrap-146 syntmp-e-718 syntmp-w-720 syntmp-s-721 syntmp-mod-722) "reference to pattern variable outside syntax form") (if (memv syntmp-t-723 (quote (displaced-lexical))) (syntax-error (syntmp-source-wrap-146 syntmp-e-718 syntmp-w-720 syntmp-s-721 syntmp-mod-722) "reference to identifier outside its scope") (syntax-error (syntmp-source-wrap-146 syntmp-e-718 syntmp-w-720 syntmp-s-721 syntmp-mod-722)))))))))))))))))) (syntmp-chi-153 (lambda (syntmp-e-739 syntmp-r-740 syntmp-w-741 syntmp-mod-742) (call-with-values (lambda () (syntmp-syntax-type-151 syntmp-e-739 syntmp-r-740 syntmp-w-741 #f #f syntmp-mod-742)) (lambda (syntmp-type-743 syntmp-value-744 syntmp-e-745 syntmp-w-746 syntmp-s-747 syntmp-mod-748) (syntmp-chi-expr-154 syntmp-type-743 syntmp-value-744 syntmp-e-745 syntmp-r-740 syntmp-w-746 syntmp-s-747 syntmp-mod-748))))) (syntmp-chi-top-152 (lambda (syntmp-e-749 syntmp-r-750 syntmp-w-751 syntmp-m-752 syntmp-esew-753 syntmp-mod-754) (call-with-values (lambda () (syntmp-syntax-type-151 syntmp-e-749 syntmp-r-750 syntmp-w-751 #f #f syntmp-mod-754)) (lambda (syntmp-type-769 syntmp-value-770 syntmp-e-771 syntmp-w-772 syntmp-s-773 syntmp-mod-774) (let ((syntmp-t-775 syntmp-type-769)) (if (memv syntmp-t-775 (quote (begin-form))) ((lambda (syntmp-tmp-776) ((lambda (syntmp-tmp-777) (if syntmp-tmp-777 (apply (lambda (syntmp-_-778) (syntmp-chi-void-161)) syntmp-tmp-777) ((lambda (syntmp-tmp-779) (if syntmp-tmp-779 (apply (lambda (syntmp-_-780 syntmp-e1-781 syntmp-e2-782) (syntmp-chi-top-sequence-148 (cons syntmp-e1-781 syntmp-e2-782) syntmp-r-750 syntmp-w-772 syntmp-s-773 syntmp-m-752 syntmp-esew-753 syntmp-mod-774)) syntmp-tmp-779) (syntax-error syntmp-tmp-776))) (syntax-dispatch syntmp-tmp-776 (quote (any any . each-any)))))) (syntax-dispatch syntmp-tmp-776 (quote (any))))) syntmp-e-771) (if (memv syntmp-t-775 (quote (local-syntax-form))) (syntmp-chi-local-syntax-159 syntmp-value-770 syntmp-e-771 syntmp-r-750 syntmp-w-772 syntmp-s-773 syntmp-mod-774 (lambda (syntmp-body-784 syntmp-r-785 syntmp-w-786 syntmp-s-787 syntmp-mod-788) (syntmp-chi-top-sequence-148 syntmp-body-784 syntmp-r-785 syntmp-w-786 syntmp-s-787 syntmp-m-752 syntmp-esew-753 syntmp-mod-788))) (if (memv syntmp-t-775 (quote (eval-when-form))) ((lambda (syntmp-tmp-789) ((lambda (syntmp-tmp-790) (if syntmp-tmp-790 (apply (lambda (syntmp-_-791 syntmp-x-792 syntmp-e1-793 syntmp-e2-794) (let ((syntmp-when-list-795 (syntmp-chi-when-list-150 syntmp-e-771 syntmp-x-792 syntmp-w-772)) (syntmp-body-796 (cons syntmp-e1-793 syntmp-e2-794))) (cond ((eq? syntmp-m-752 (quote e)) (if (memq (quote eval) syntmp-when-list-795) (syntmp-chi-top-sequence-148 syntmp-body-796 syntmp-r-750 syntmp-w-772 syntmp-s-773 (quote e) (quote (eval)) syntmp-mod-774) (syntmp-chi-void-161))) ((memq (quote load) syntmp-when-list-795) (if (or (memq (quote compile) syntmp-when-list-795) (and (eq? syntmp-m-752 (quote c&e)) (memq (quote eval) syntmp-when-list-795))) (syntmp-chi-top-sequence-148 syntmp-body-796 syntmp-r-750 syntmp-w-772 syntmp-s-773 (quote c&e) (quote (compile load)) syntmp-mod-774) (if (memq syntmp-m-752 (quote (c c&e))) (syntmp-chi-top-sequence-148 syntmp-body-796 syntmp-r-750 syntmp-w-772 syntmp-s-773 (quote c) (quote (load)) syntmp-mod-774) (syntmp-chi-void-161)))) ((or (memq (quote compile) syntmp-when-list-795) (and (eq? syntmp-m-752 (quote c&e)) (memq (quote eval) syntmp-when-list-795))) (syntmp-top-level-eval-hook-89 (syntmp-chi-top-sequence-148 syntmp-body-796 syntmp-r-750 syntmp-w-772 syntmp-s-773 (quote e) (quote (eval)) syntmp-mod-774) syntmp-mod-774) (syntmp-chi-void-161)) (else (syntmp-chi-void-161))))) syntmp-tmp-790) (syntax-error syntmp-tmp-789))) (syntax-dispatch syntmp-tmp-789 (quote (any each-any any . each-any))))) syntmp-e-771) (if (memv syntmp-t-775 (quote (define-syntax-form))) (let ((syntmp-n-799 (syntmp-id-var-name-139 syntmp-value-770 syntmp-w-772)) (syntmp-r-800 (syntmp-macros-only-env-113 syntmp-r-750))) (let ((syntmp-t-801 syntmp-m-752)) (if (memv syntmp-t-801 (quote (c))) (if (memq (quote compile) syntmp-esew-753) (let ((syntmp-e-802 (syntmp-chi-install-global-149 syntmp-n-799 (syntmp-chi-153 syntmp-e-771 syntmp-r-800 syntmp-w-772 syntmp-mod-774)))) (begin (syntmp-top-level-eval-hook-89 syntmp-e-802 syntmp-mod-774) (if (memq (quote load) syntmp-esew-753) syntmp-e-802 (syntmp-chi-void-161)))) (if (memq (quote load) syntmp-esew-753) (syntmp-chi-install-global-149 syntmp-n-799 (syntmp-chi-153 syntmp-e-771 syntmp-r-800 syntmp-w-772 syntmp-mod-774)) (syntmp-chi-void-161))) (if (memv syntmp-t-801 (quote (c&e))) (let ((syntmp-e-803 (syntmp-chi-install-global-149 syntmp-n-799 (syntmp-chi-153 syntmp-e-771 syntmp-r-800 syntmp-w-772 syntmp-mod-774)))) (begin (syntmp-top-level-eval-hook-89 syntmp-e-803 syntmp-mod-774) syntmp-e-803)) (begin (if (memq (quote eval) syntmp-esew-753) (syntmp-top-level-eval-hook-89 (syntmp-chi-install-global-149 syntmp-n-799 (syntmp-chi-153 syntmp-e-771 syntmp-r-800 syntmp-w-772 syntmp-mod-774)) syntmp-mod-774)) (syntmp-chi-void-161)))))) (if (memv syntmp-t-775 (quote (define-form))) (let ((syntmp-n-804 (syntmp-id-var-name-139 syntmp-value-770 syntmp-w-772))) (let ((syntmp-type-805 (syntmp-binding-type-109 (syntmp-lookup-114 syntmp-n-804 syntmp-r-750 syntmp-mod-774)))) (let ((syntmp-t-806 syntmp-type-805)) (if (memv syntmp-t-806 (quote (global))) (let ((syntmp-x-807 (syntmp-build-annotated-94 syntmp-s-773 (list (quote define) syntmp-n-804 (syntmp-chi-153 syntmp-e-771 syntmp-r-750 syntmp-w-772 syntmp-mod-774))))) (begin (if (eq? syntmp-m-752 (quote c&e)) (syntmp-top-level-eval-hook-89 syntmp-x-807 syntmp-mod-774)) syntmp-x-807)) (if (memv syntmp-t-806 (quote (displaced-lexical))) (syntax-error (syntmp-wrap-145 syntmp-value-770 syntmp-w-772 syntmp-mod-774) "identifier out of context") (if (eq? syntmp-type-805 (quote external-macro)) (let ((syntmp-x-808 (syntmp-build-annotated-94 syntmp-s-773 (list (quote define) syntmp-n-804 (syntmp-chi-153 syntmp-e-771 syntmp-r-750 syntmp-w-772 syntmp-mod-774))))) (begin (if (eq? syntmp-m-752 (quote c&e)) (syntmp-top-level-eval-hook-89 syntmp-x-808 syntmp-mod-774)) syntmp-x-808)) (syntax-error (syntmp-wrap-145 syntmp-value-770 syntmp-w-772 syntmp-mod-774) "cannot define keyword at top level"))))))) (let ((syntmp-x-809 (syntmp-chi-expr-154 syntmp-type-769 syntmp-value-770 syntmp-e-771 syntmp-r-750 syntmp-w-772 syntmp-s-773 syntmp-mod-774))) (begin (if (eq? syntmp-m-752 (quote c&e)) (syntmp-top-level-eval-hook-89 syntmp-x-809 syntmp-mod-774)) syntmp-x-809)))))))))))) (syntmp-syntax-type-151 (lambda (syntmp-e-810 syntmp-r-811 syntmp-w-812 syntmp-s-813 syntmp-rib-814 syntmp-mod-815) (cond ((symbol? syntmp-e-810) (let ((syntmp-n-816 (syntmp-id-var-name-139 syntmp-e-810 syntmp-w-812))) (let ((syntmp-b-817 (syntmp-lookup-114 syntmp-n-816 syntmp-r-811 syntmp-mod-815))) (let ((syntmp-type-818 (syntmp-binding-type-109 syntmp-b-817))) (let ((syntmp-t-819 syntmp-type-818)) (if (memv syntmp-t-819 (quote (lexical))) (values syntmp-type-818 (syntmp-binding-value-110 syntmp-b-817) syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815) (if (memv syntmp-t-819 (quote (global))) (values syntmp-type-818 syntmp-n-816 syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815) (if (memv syntmp-t-819 (quote (macro))) (syntmp-syntax-type-151 (syntmp-chi-macro-156 (syntmp-binding-value-110 syntmp-b-817) syntmp-e-810 syntmp-r-811 syntmp-w-812 syntmp-rib-814 syntmp-mod-815) syntmp-r-811 (quote (())) syntmp-s-813 syntmp-rib-814 syntmp-mod-815) (values syntmp-type-818 (syntmp-binding-value-110 syntmp-b-817) syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815))))))))) ((pair? syntmp-e-810) (let ((syntmp-first-820 (car syntmp-e-810))) (if (syntmp-id?-117 syntmp-first-820) (let ((syntmp-n-821 (syntmp-id-var-name-139 syntmp-first-820 syntmp-w-812))) (let ((syntmp-b-822 (syntmp-lookup-114 syntmp-n-821 syntmp-r-811 (or (and (syntmp-syntax-object?-101 syntmp-first-820) (syntmp-syntax-object-module-104 syntmp-first-820)) syntmp-mod-815)))) (let ((syntmp-type-823 (syntmp-binding-type-109 syntmp-b-822))) (let ((syntmp-t-824 syntmp-type-823)) (if (memv syntmp-t-824 (quote (lexical))) (values (quote lexical-call) (syntmp-binding-value-110 syntmp-b-822) syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815) (if (memv syntmp-t-824 (quote (global))) (values (quote global-call) syntmp-n-821 syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815) (if (memv syntmp-t-824 (quote (macro))) (syntmp-syntax-type-151 (syntmp-chi-macro-156 (syntmp-binding-value-110 syntmp-b-822) syntmp-e-810 syntmp-r-811 syntmp-w-812 syntmp-rib-814 syntmp-mod-815) syntmp-r-811 (quote (())) syntmp-s-813 syntmp-rib-814 syntmp-mod-815) (if (memv syntmp-t-824 (quote (core external-macro))) (values syntmp-type-823 (syntmp-binding-value-110 syntmp-b-822) syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815) (if (memv syntmp-t-824 (quote (local-syntax))) (values (quote local-syntax-form) (syntmp-binding-value-110 syntmp-b-822) syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815) (if (memv syntmp-t-824 (quote (begin))) (values (quote begin-form) #f syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815) (if (memv syntmp-t-824 (quote (eval-when))) (values (quote eval-when-form) #f syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815) (if (memv syntmp-t-824 (quote (define))) ((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?-117 syntmp-name-828)) syntmp-tmp-826) #f) (apply (lambda (syntmp-_-830 syntmp-name-831 syntmp-val-832) (values (quote define-form) syntmp-name-831 syntmp-val-832 syntmp-w-812 syntmp-s-813 syntmp-mod-815)) syntmp-tmp-826) ((lambda (syntmp-tmp-833) (if (if syntmp-tmp-833 (apply (lambda (syntmp-_-834 syntmp-name-835 syntmp-args-836 syntmp-e1-837 syntmp-e2-838) (and (syntmp-id?-117 syntmp-name-835) (syntmp-valid-bound-ids?-142 (syntmp-lambda-var-list-166 syntmp-args-836)))) syntmp-tmp-833) #f) (apply (lambda (syntmp-_-839 syntmp-name-840 syntmp-args-841 syntmp-e1-842 syntmp-e2-843) (values (quote define-form) (syntmp-wrap-145 syntmp-name-840 syntmp-w-812 syntmp-mod-815) (cons (quote #(syntax-object lambda ((top) #(ribcage #(_ name args e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(t) #(("m" top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook 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"))) (ice-9 syncase))) (syntmp-wrap-145 (cons syntmp-args-841 (cons syntmp-e1-842 syntmp-e2-843)) syntmp-w-812 syntmp-mod-815)) (quote (())) syntmp-s-813 syntmp-mod-815)) syntmp-tmp-833) ((lambda (syntmp-tmp-845) (if (if syntmp-tmp-845 (apply (lambda (syntmp-_-846 syntmp-name-847) (syntmp-id?-117 syntmp-name-847)) syntmp-tmp-845) #f) (apply (lambda (syntmp-_-848 syntmp-name-849) (values (quote define-form) (syntmp-wrap-145 syntmp-name-849 syntmp-w-812 syntmp-mod-815) (quote (#(syntax-object void ((top) #(ribcage #(_ name) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(t) #(("m" top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook 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"))) (ice-9 syncase)))) (quote (())) syntmp-s-813 syntmp-mod-815)) syntmp-tmp-845) (syntax-error syntmp-tmp-825))) (syntax-dispatch syntmp-tmp-825 (quote (any any)))))) (syntax-dispatch syntmp-tmp-825 (quote (any (any . any) any . each-any)))))) (syntax-dispatch syntmp-tmp-825 (quote (any any any))))) syntmp-e-810) (if (memv syntmp-t-824 (quote (define-syntax))) ((lambda (syntmp-tmp-850) ((lambda (syntmp-tmp-851) (if (if syntmp-tmp-851 (apply (lambda (syntmp-_-852 syntmp-name-853 syntmp-val-854) (syntmp-id?-117 syntmp-name-853)) syntmp-tmp-851) #f) (apply (lambda (syntmp-_-855 syntmp-name-856 syntmp-val-857) (values (quote define-syntax-form) syntmp-name-856 syntmp-val-857 syntmp-w-812 syntmp-s-813 syntmp-mod-815)) syntmp-tmp-851) (syntax-error syntmp-tmp-850))) (syntax-dispatch syntmp-tmp-850 (quote (any any any))))) syntmp-e-810) (values (quote call) #f syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815)))))))))))))) (values (quote call) #f syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815)))) ((syntmp-syntax-object?-101 syntmp-e-810) (syntmp-syntax-type-151 (syntmp-syntax-object-expression-102 syntmp-e-810) syntmp-r-811 (syntmp-join-wraps-136 syntmp-w-812 (syntmp-syntax-object-wrap-103 syntmp-e-810)) #f syntmp-rib-814 (or (syntmp-syntax-object-module-104 syntmp-e-810) syntmp-mod-815))) ((annotation? syntmp-e-810) (syntmp-syntax-type-151 (annotation-expression syntmp-e-810) syntmp-r-811 syntmp-w-812 (annotation-source syntmp-e-810) syntmp-rib-814 syntmp-mod-815)) ((self-evaluating? syntmp-e-810) (values (quote constant) #f syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815)) (else (values (quote other) #f syntmp-e-810 syntmp-w-812 syntmp-s-813 syntmp-mod-815))))) (syntmp-chi-when-list-150 (lambda (syntmp-e-858 syntmp-when-list-859 syntmp-w-860) (let syntmp-f-861 ((syntmp-when-list-862 syntmp-when-list-859) (syntmp-situations-863 (quote ()))) (if (null? syntmp-when-list-862) syntmp-situations-863 (syntmp-f-861 (cdr syntmp-when-list-862) (cons (let ((syntmp-x-864 (car syntmp-when-list-862))) (cond ((syntmp-free-id=?-140 syntmp-x-864 (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"))) (ice-9 syncase)))) (quote compile)) ((syntmp-free-id=?-140 syntmp-x-864 (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"))) (ice-9 syncase)))) (quote load)) ((syntmp-free-id=?-140 syntmp-x-864 (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"))) (ice-9 syncase)))) (quote eval)) (else (syntax-error (syntmp-wrap-145 syntmp-x-864 syntmp-w-860 #f) "invalid eval-when situation")))) syntmp-situations-863)))))) (syntmp-chi-install-global-149 (lambda (syntmp-name-869 syntmp-e-870) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote install-global-transformer)) (syntmp-build-data-95 #f syntmp-name-869) syntmp-e-870)))) (syntmp-chi-top-sequence-148 (lambda (syntmp-body-871 syntmp-r-872 syntmp-w-873 syntmp-s-874 syntmp-m-875 syntmp-esew-876 syntmp-mod-877) (syntmp-build-sequence-96 syntmp-s-874 (let syntmp-dobody-878 ((syntmp-body-879 syntmp-body-871) (syntmp-r-880 syntmp-r-872) (syntmp-w-881 syntmp-w-873) (syntmp-m-882 syntmp-m-875) (syntmp-esew-883 syntmp-esew-876) (syntmp-mod-884 syntmp-mod-877)) (if (null? syntmp-body-879) (quote ()) (let ((syntmp-first-885 (syntmp-chi-top-152 (car syntmp-body-879) syntmp-r-880 syntmp-w-881 syntmp-m-882 syntmp-esew-883 syntmp-mod-884))) (cons syntmp-first-885 (syntmp-dobody-878 (cdr syntmp-body-879) syntmp-r-880 syntmp-w-881 syntmp-m-882 syntmp-esew-883 syntmp-mod-884)))))))) (syntmp-chi-sequence-147 (lambda (syntmp-body-886 syntmp-r-887 syntmp-w-888 syntmp-s-889 syntmp-mod-890) (syntmp-build-sequence-96 syntmp-s-889 (let syntmp-dobody-891 ((syntmp-body-892 syntmp-body-886) (syntmp-r-893 syntmp-r-887) (syntmp-w-894 syntmp-w-888) (syntmp-mod-895 syntmp-mod-890)) (if (null? syntmp-body-892) (quote ()) (let ((syntmp-first-896 (syntmp-chi-153 (car syntmp-body-892) syntmp-r-893 syntmp-w-894 syntmp-mod-895))) (cons syntmp-first-896 (syntmp-dobody-891 (cdr syntmp-body-892) syntmp-r-893 syntmp-w-894 syntmp-mod-895)))))))) (syntmp-source-wrap-146 (lambda (syntmp-x-897 syntmp-w-898 syntmp-s-899 syntmp-defmod-900) (syntmp-wrap-145 (if syntmp-s-899 (make-annotation syntmp-x-897 syntmp-s-899 #f) syntmp-x-897) syntmp-w-898 syntmp-defmod-900))) (syntmp-wrap-145 (lambda (syntmp-x-901 syntmp-w-902 syntmp-defmod-903) (cond ((and (null? (syntmp-wrap-marks-120 syntmp-w-902)) (null? (syntmp-wrap-subst-121 syntmp-w-902))) syntmp-x-901) ((syntmp-syntax-object?-101 syntmp-x-901) (syntmp-make-syntax-object-100 (syntmp-syntax-object-expression-102 syntmp-x-901) (syntmp-join-wraps-136 syntmp-w-902 (syntmp-syntax-object-wrap-103 syntmp-x-901)) (syntmp-syntax-object-module-104 syntmp-x-901))) ((null? syntmp-x-901) syntmp-x-901) (else (syntmp-make-syntax-object-100 syntmp-x-901 syntmp-w-902 syntmp-defmod-903))))) (syntmp-bound-id-member?-144 (lambda (syntmp-x-904 syntmp-list-905) (and (not (null? syntmp-list-905)) (or (syntmp-bound-id=?-141 syntmp-x-904 (car syntmp-list-905)) (syntmp-bound-id-member?-144 syntmp-x-904 (cdr syntmp-list-905)))))) (syntmp-distinct-bound-ids?-143 (lambda (syntmp-ids-906) (let syntmp-distinct?-907 ((syntmp-ids-908 syntmp-ids-906)) (or (null? syntmp-ids-908) (and (not (syntmp-bound-id-member?-144 (car syntmp-ids-908) (cdr syntmp-ids-908))) (syntmp-distinct?-907 (cdr syntmp-ids-908))))))) (syntmp-valid-bound-ids?-142 (lambda (syntmp-ids-909) (and (let syntmp-all-ids?-910 ((syntmp-ids-911 syntmp-ids-909)) (or (null? syntmp-ids-911) (and (syntmp-id?-117 (car syntmp-ids-911)) (syntmp-all-ids?-910 (cdr syntmp-ids-911))))) (syntmp-distinct-bound-ids?-143 syntmp-ids-909)))) (syntmp-bound-id=?-141 (lambda (syntmp-i-912 syntmp-j-913) (if (and (syntmp-syntax-object?-101 syntmp-i-912) (syntmp-syntax-object?-101 syntmp-j-913)) (and (eq? (let ((syntmp-e-914 (syntmp-syntax-object-expression-102 syntmp-i-912))) (if (annotation? syntmp-e-914) (annotation-expression syntmp-e-914) syntmp-e-914)) (let ((syntmp-e-915 (syntmp-syntax-object-expression-102 syntmp-j-913))) (if (annotation? syntmp-e-915) (annotation-expression syntmp-e-915) syntmp-e-915))) (syntmp-same-marks?-138 (syntmp-wrap-marks-120 (syntmp-syntax-object-wrap-103 syntmp-i-912)) (syntmp-wrap-marks-120 (syntmp-syntax-object-wrap-103 syntmp-j-913)))) (eq? (let ((syntmp-e-916 syntmp-i-912)) (if (annotation? syntmp-e-916) (annotation-expression syntmp-e-916) syntmp-e-916)) (let ((syntmp-e-917 syntmp-j-913)) (if (annotation? syntmp-e-917) (annotation-expression syntmp-e-917) syntmp-e-917)))))) (syntmp-free-id=?-140 (lambda (syntmp-i-918 syntmp-j-919) (and (eq? (let ((syntmp-x-920 syntmp-i-918)) (let ((syntmp-e-921 (if (syntmp-syntax-object?-101 syntmp-x-920) (syntmp-syntax-object-expression-102 syntmp-x-920) syntmp-x-920))) (if (annotation? syntmp-e-921) (annotation-expression syntmp-e-921) syntmp-e-921))) (let ((syntmp-x-922 syntmp-j-919)) (let ((syntmp-e-923 (if (syntmp-syntax-object?-101 syntmp-x-922) (syntmp-syntax-object-expression-102 syntmp-x-922) syntmp-x-922))) (if (annotation? syntmp-e-923) (annotation-expression syntmp-e-923) syntmp-e-923)))) (eq? (syntmp-id-var-name-139 syntmp-i-918 (quote (()))) (syntmp-id-var-name-139 syntmp-j-919 (quote (()))))))) (syntmp-id-var-name-139 (lambda (syntmp-id-924 syntmp-w-925) (letrec ((syntmp-search-vector-rib-928 (lambda (syntmp-sym-939 syntmp-subst-940 syntmp-marks-941 syntmp-symnames-942 syntmp-ribcage-943) (let ((syntmp-n-944 (vector-length syntmp-symnames-942))) (let syntmp-f-945 ((syntmp-i-946 0)) (cond ((syntmp-fx=-87 syntmp-i-946 syntmp-n-944) (syntmp-search-926 syntmp-sym-939 (cdr syntmp-subst-940) syntmp-marks-941)) ((and (eq? (vector-ref syntmp-symnames-942 syntmp-i-946) syntmp-sym-939) (syntmp-same-marks?-138 syntmp-marks-941 (vector-ref (syntmp-ribcage-marks-127 syntmp-ribcage-943) syntmp-i-946))) (values (vector-ref (syntmp-ribcage-labels-128 syntmp-ribcage-943) syntmp-i-946) syntmp-marks-941)) (else (syntmp-f-945 (syntmp-fx+-85 syntmp-i-946 1)))))))) (syntmp-search-list-rib-927 (lambda (syntmp-sym-947 syntmp-subst-948 syntmp-marks-949 syntmp-symnames-950 syntmp-ribcage-951) (let syntmp-f-952 ((syntmp-symnames-953 syntmp-symnames-950) (syntmp-i-954 0)) (cond ((null? syntmp-symnames-953) (syntmp-search-926 syntmp-sym-947 (cdr syntmp-subst-948) syntmp-marks-949)) ((and (eq? (car syntmp-symnames-953) syntmp-sym-947) (syntmp-same-marks?-138 syntmp-marks-949 (list-ref (syntmp-ribcage-marks-127 syntmp-ribcage-951) syntmp-i-954))) (values (list-ref (syntmp-ribcage-labels-128 syntmp-ribcage-951) syntmp-i-954) syntmp-marks-949)) (else (syntmp-f-952 (cdr syntmp-symnames-953) (syntmp-fx+-85 syntmp-i-954 1))))))) (syntmp-search-926 (lambda (syntmp-sym-955 syntmp-subst-956 syntmp-marks-957) (if (null? syntmp-subst-956) (values #f syntmp-marks-957) (let ((syntmp-fst-958 (car syntmp-subst-956))) (if (eq? syntmp-fst-958 (quote shift)) (syntmp-search-926 syntmp-sym-955 (cdr syntmp-subst-956) (cdr syntmp-marks-957)) (let ((syntmp-symnames-959 (syntmp-ribcage-symnames-126 syntmp-fst-958))) (if (vector? syntmp-symnames-959) (syntmp-search-vector-rib-928 syntmp-sym-955 syntmp-subst-956 syntmp-marks-957 syntmp-symnames-959 syntmp-fst-958) (syntmp-search-list-rib-927 syntmp-sym-955 syntmp-subst-956 syntmp-marks-957 syntmp-symnames-959 syntmp-fst-958))))))))) (cond ((symbol? syntmp-id-924) (or (call-with-values (lambda () (syntmp-search-926 syntmp-id-924 (syntmp-wrap-subst-121 syntmp-w-925) (syntmp-wrap-marks-120 syntmp-w-925))) (lambda (syntmp-x-961 . syntmp-ignore-960) syntmp-x-961)) syntmp-id-924)) ((syntmp-syntax-object?-101 syntmp-id-924) (let ((syntmp-id-962 (let ((syntmp-e-964 (syntmp-syntax-object-expression-102 syntmp-id-924))) (if (annotation? syntmp-e-964) (annotation-expression syntmp-e-964) syntmp-e-964))) (syntmp-w1-963 (syntmp-syntax-object-wrap-103 syntmp-id-924))) (let ((syntmp-marks-965 (syntmp-join-marks-137 (syntmp-wrap-marks-120 syntmp-w-925) (syntmp-wrap-marks-120 syntmp-w1-963)))) (call-with-values (lambda () (syntmp-search-926 syntmp-id-962 (syntmp-wrap-subst-121 syntmp-w-925) syntmp-marks-965)) (lambda (syntmp-new-id-966 syntmp-marks-967) (or syntmp-new-id-966 (call-with-values (lambda () (syntmp-search-926 syntmp-id-962 (syntmp-wrap-subst-121 syntmp-w1-963) syntmp-marks-967)) (lambda (syntmp-x-969 . syntmp-ignore-968) syntmp-x-969)) syntmp-id-962)))))) ((annotation? syntmp-id-924) (let ((syntmp-id-970 (let ((syntmp-e-971 syntmp-id-924)) (if (annotation? syntmp-e-971) (annotation-expression syntmp-e-971) syntmp-e-971)))) (or (call-with-values (lambda () (syntmp-search-926 syntmp-id-970 (syntmp-wrap-subst-121 syntmp-w-925) (syntmp-wrap-marks-120 syntmp-w-925))) (lambda (syntmp-x-973 . syntmp-ignore-972) syntmp-x-973)) syntmp-id-970))) (else (syntmp-error-hook-91 (quote id-var-name) "invalid id" syntmp-id-924)))))) (syntmp-same-marks?-138 (lambda (syntmp-x-974 syntmp-y-975) (or (eq? syntmp-x-974 syntmp-y-975) (and (not (null? syntmp-x-974)) (not (null? syntmp-y-975)) (eq? (car syntmp-x-974) (car syntmp-y-975)) (syntmp-same-marks?-138 (cdr syntmp-x-974) (cdr syntmp-y-975)))))) (syntmp-join-marks-137 (lambda (syntmp-m1-976 syntmp-m2-977) (syntmp-smart-append-135 syntmp-m1-976 syntmp-m2-977))) (syntmp-join-wraps-136 (lambda (syntmp-w1-978 syntmp-w2-979) (let ((syntmp-m1-980 (syntmp-wrap-marks-120 syntmp-w1-978)) (syntmp-s1-981 (syntmp-wrap-subst-121 syntmp-w1-978))) (if (null? syntmp-m1-980) (if (null? syntmp-s1-981) syntmp-w2-979 (syntmp-make-wrap-119 (syntmp-wrap-marks-120 syntmp-w2-979) (syntmp-smart-append-135 syntmp-s1-981 (syntmp-wrap-subst-121 syntmp-w2-979)))) (syntmp-make-wrap-119 (syntmp-smart-append-135 syntmp-m1-980 (syntmp-wrap-marks-120 syntmp-w2-979)) (syntmp-smart-append-135 syntmp-s1-981 (syntmp-wrap-subst-121 syntmp-w2-979))))))) (syntmp-smart-append-135 (lambda (syntmp-m1-982 syntmp-m2-983) (if (null? syntmp-m2-983) syntmp-m1-982 (append syntmp-m1-982 syntmp-m2-983)))) (syntmp-make-binding-wrap-134 (lambda (syntmp-ids-984 syntmp-labels-985 syntmp-w-986) (if (null? syntmp-ids-984) syntmp-w-986 (syntmp-make-wrap-119 (syntmp-wrap-marks-120 syntmp-w-986) (cons (let ((syntmp-labelvec-987 (list->vector syntmp-labels-985))) (let ((syntmp-n-988 (vector-length syntmp-labelvec-987))) (let ((syntmp-symnamevec-989 (make-vector syntmp-n-988)) (syntmp-marksvec-990 (make-vector syntmp-n-988))) (begin (let syntmp-f-991 ((syntmp-ids-992 syntmp-ids-984) (syntmp-i-993 0)) (if (not (null? syntmp-ids-992)) (call-with-values (lambda () (syntmp-id-sym-name&marks-118 (car syntmp-ids-992) syntmp-w-986)) (lambda (syntmp-symname-994 syntmp-marks-995) (begin (vector-set! syntmp-symnamevec-989 syntmp-i-993 syntmp-symname-994) (vector-set! syntmp-marksvec-990 syntmp-i-993 syntmp-marks-995) (syntmp-f-991 (cdr syntmp-ids-992) (syntmp-fx+-85 syntmp-i-993 1))))))) (syntmp-make-ribcage-124 syntmp-symnamevec-989 syntmp-marksvec-990 syntmp-labelvec-987))))) (syntmp-wrap-subst-121 syntmp-w-986)))))) (syntmp-extend-ribcage!-133 (lambda (syntmp-ribcage-996 syntmp-id-997 syntmp-label-998) (begin (syntmp-set-ribcage-symnames!-129 syntmp-ribcage-996 (cons (let ((syntmp-e-999 (syntmp-syntax-object-expression-102 syntmp-id-997))) (if (annotation? syntmp-e-999) (annotation-expression syntmp-e-999) syntmp-e-999)) (syntmp-ribcage-symnames-126 syntmp-ribcage-996))) (syntmp-set-ribcage-marks!-130 syntmp-ribcage-996 (cons (syntmp-wrap-marks-120 (syntmp-syntax-object-wrap-103 syntmp-id-997)) (syntmp-ribcage-marks-127 syntmp-ribcage-996))) (syntmp-set-ribcage-labels!-131 syntmp-ribcage-996 (cons syntmp-label-998 (syntmp-ribcage-labels-128 syntmp-ribcage-996)))))) (syntmp-anti-mark-132 (lambda (syntmp-w-1000) (syntmp-make-wrap-119 (cons #f (syntmp-wrap-marks-120 syntmp-w-1000)) (cons (quote shift) (syntmp-wrap-subst-121 syntmp-w-1000))))) (syntmp-set-ribcage-labels!-131 (lambda (syntmp-x-1001 syntmp-update-1002) (vector-set! syntmp-x-1001 3 syntmp-update-1002))) (syntmp-set-ribcage-marks!-130 (lambda (syntmp-x-1003 syntmp-update-1004) (vector-set! syntmp-x-1003 2 syntmp-update-1004))) (syntmp-set-ribcage-symnames!-129 (lambda (syntmp-x-1005 syntmp-update-1006) (vector-set! syntmp-x-1005 1 syntmp-update-1006))) (syntmp-ribcage-labels-128 (lambda (syntmp-x-1007) (vector-ref syntmp-x-1007 3))) (syntmp-ribcage-marks-127 (lambda (syntmp-x-1008) (vector-ref syntmp-x-1008 2))) (syntmp-ribcage-symnames-126 (lambda (syntmp-x-1009) (vector-ref syntmp-x-1009 1))) (syntmp-ribcage?-125 (lambda (syntmp-x-1010) (and (vector? syntmp-x-1010) (= (vector-length syntmp-x-1010) 4) (eq? (vector-ref syntmp-x-1010 0) (quote ribcage))))) (syntmp-make-ribcage-124 (lambda (syntmp-symnames-1011 syntmp-marks-1012 syntmp-labels-1013) (vector (quote ribcage) syntmp-symnames-1011 syntmp-marks-1012 syntmp-labels-1013))) (syntmp-gen-labels-123 (lambda (syntmp-ls-1014) (if (null? syntmp-ls-1014) (quote ()) (cons (syntmp-gen-label-122) (syntmp-gen-labels-123 (cdr syntmp-ls-1014)))))) (syntmp-gen-label-122 (lambda () (string #\i))) (syntmp-wrap-subst-121 cdr) (syntmp-wrap-marks-120 car) (syntmp-make-wrap-119 cons) (syntmp-id-sym-name&marks-118 (lambda (syntmp-x-1015 syntmp-w-1016) (if (syntmp-syntax-object?-101 syntmp-x-1015) (values (let ((syntmp-e-1017 (syntmp-syntax-object-expression-102 syntmp-x-1015))) (if (annotation? syntmp-e-1017) (annotation-expression syntmp-e-1017) syntmp-e-1017)) (syntmp-join-marks-137 (syntmp-wrap-marks-120 syntmp-w-1016) (syntmp-wrap-marks-120 (syntmp-syntax-object-wrap-103 syntmp-x-1015)))) (values (let ((syntmp-e-1018 syntmp-x-1015)) (if (annotation? syntmp-e-1018) (annotation-expression syntmp-e-1018) syntmp-e-1018)) (syntmp-wrap-marks-120 syntmp-w-1016))))) (syntmp-id?-117 (lambda (syntmp-x-1019) (cond ((symbol? syntmp-x-1019) #t) ((syntmp-syntax-object?-101 syntmp-x-1019) (symbol? (let ((syntmp-e-1020 (syntmp-syntax-object-expression-102 syntmp-x-1019))) (if (annotation? syntmp-e-1020) (annotation-expression syntmp-e-1020) syntmp-e-1020)))) ((annotation? syntmp-x-1019) (symbol? (annotation-expression syntmp-x-1019))) (else #f)))) (syntmp-nonsymbol-id?-116 (lambda (syntmp-x-1021) (and (syntmp-syntax-object?-101 syntmp-x-1021) (symbol? (let ((syntmp-e-1022 (syntmp-syntax-object-expression-102 syntmp-x-1021))) (if (annotation? syntmp-e-1022) (annotation-expression syntmp-e-1022) syntmp-e-1022)))))) (syntmp-global-extend-115 (lambda (syntmp-type-1023 syntmp-sym-1024 syntmp-val-1025) (syntmp-put-global-definition-hook-92 syntmp-sym-1024 (cons syntmp-type-1023 syntmp-val-1025) (module-name (current-module))))) (syntmp-lookup-114 (lambda (syntmp-x-1026 syntmp-r-1027 syntmp-mod-1028) (cond ((assq syntmp-x-1026 syntmp-r-1027) => cdr) ((symbol? syntmp-x-1026) (or (syntmp-get-global-definition-hook-93 syntmp-x-1026 syntmp-mod-1028) (quote (global)))) (else (quote (displaced-lexical)))))) (syntmp-macros-only-env-113 (lambda (syntmp-r-1029) (if (null? syntmp-r-1029) (quote ()) (let ((syntmp-a-1030 (car syntmp-r-1029))) (if (eq? (cadr syntmp-a-1030) (quote macro)) (cons syntmp-a-1030 (syntmp-macros-only-env-113 (cdr syntmp-r-1029))) (syntmp-macros-only-env-113 (cdr syntmp-r-1029))))))) (syntmp-extend-var-env-112 (lambda (syntmp-labels-1031 syntmp-vars-1032 syntmp-r-1033) (if (null? syntmp-labels-1031) syntmp-r-1033 (syntmp-extend-var-env-112 (cdr syntmp-labels-1031) (cdr syntmp-vars-1032) (cons (cons (car syntmp-labels-1031) (cons (quote lexical) (car syntmp-vars-1032))) syntmp-r-1033))))) (syntmp-extend-env-111 (lambda (syntmp-labels-1034 syntmp-bindings-1035 syntmp-r-1036) (if (null? syntmp-labels-1034) syntmp-r-1036 (syntmp-extend-env-111 (cdr syntmp-labels-1034) (cdr syntmp-bindings-1035) (cons (cons (car syntmp-labels-1034) (car syntmp-bindings-1035)) syntmp-r-1036))))) (syntmp-binding-value-110 cdr) (syntmp-binding-type-109 car) (syntmp-source-annotation-108 (lambda (syntmp-x-1037) (cond ((annotation? syntmp-x-1037) (annotation-source syntmp-x-1037)) ((syntmp-syntax-object?-101 syntmp-x-1037) (syntmp-source-annotation-108 (syntmp-syntax-object-expression-102 syntmp-x-1037))) (else #f)))) (syntmp-set-syntax-object-module!-107 (lambda (syntmp-x-1038 syntmp-update-1039) (vector-set! syntmp-x-1038 3 syntmp-update-1039))) (syntmp-set-syntax-object-wrap!-106 (lambda (syntmp-x-1040 syntmp-update-1041) (vector-set! syntmp-x-1040 2 syntmp-update-1041))) (syntmp-set-syntax-object-expression!-105 (lambda (syntmp-x-1042 syntmp-update-1043) (vector-set! syntmp-x-1042 1 syntmp-update-1043))) (syntmp-syntax-object-module-104 (lambda (syntmp-x-1044) (vector-ref syntmp-x-1044 3))) (syntmp-syntax-object-wrap-103 (lambda (syntmp-x-1045) (vector-ref syntmp-x-1045 2))) (syntmp-syntax-object-expression-102 (lambda (syntmp-x-1046) (vector-ref syntmp-x-1046 1))) (syntmp-syntax-object?-101 (lambda (syntmp-x-1047) (and (vector? syntmp-x-1047) (= (vector-length syntmp-x-1047) 4) (eq? (vector-ref syntmp-x-1047 0) (quote syntax-object))))) (syntmp-make-syntax-object-100 (lambda (syntmp-expression-1048 syntmp-wrap-1049 syntmp-module-1050) (vector (quote syntax-object) syntmp-expression-1048 syntmp-wrap-1049 syntmp-module-1050))) (syntmp-build-letrec-99 (lambda (syntmp-src-1051 syntmp-vars-1052 syntmp-val-exps-1053 syntmp-body-exp-1054) (if (null? syntmp-vars-1052) (syntmp-build-annotated-94 syntmp-src-1051 syntmp-body-exp-1054) (syntmp-build-annotated-94 syntmp-src-1051 (list (quote letrec) (map list syntmp-vars-1052 syntmp-val-exps-1053) syntmp-body-exp-1054))))) (syntmp-build-named-let-98 (lambda (syntmp-src-1055 syntmp-vars-1056 syntmp-val-exps-1057 syntmp-body-exp-1058) (if (null? syntmp-vars-1056) (syntmp-build-annotated-94 syntmp-src-1055 syntmp-body-exp-1058) (syntmp-build-annotated-94 syntmp-src-1055 (list (quote let) (car syntmp-vars-1056) (map list (cdr syntmp-vars-1056) syntmp-val-exps-1057) syntmp-body-exp-1058))))) (syntmp-build-let-97 (lambda (syntmp-src-1059 syntmp-vars-1060 syntmp-val-exps-1061 syntmp-body-exp-1062) (if (null? syntmp-vars-1060) (syntmp-build-annotated-94 syntmp-src-1059 syntmp-body-exp-1062) (syntmp-build-annotated-94 syntmp-src-1059 (list (quote let) (map list syntmp-vars-1060 syntmp-val-exps-1061) syntmp-body-exp-1062))))) (syntmp-build-sequence-96 (lambda (syntmp-src-1063 syntmp-exps-1064) (if (null? (cdr syntmp-exps-1064)) (syntmp-build-annotated-94 syntmp-src-1063 (car syntmp-exps-1064)) (syntmp-build-annotated-94 syntmp-src-1063 (cons (quote begin) syntmp-exps-1064))))) (syntmp-build-data-95 (lambda (syntmp-src-1065 syntmp-exp-1066) (if (and (self-evaluating? syntmp-exp-1066) (not (vector? syntmp-exp-1066))) (syntmp-build-annotated-94 syntmp-src-1065 syntmp-exp-1066) (syntmp-build-annotated-94 syntmp-src-1065 (list (quote quote) syntmp-exp-1066))))) (syntmp-build-annotated-94 (lambda (syntmp-src-1067 syntmp-exp-1068) (if (and syntmp-src-1067 (not (annotation? syntmp-exp-1068))) (make-annotation syntmp-exp-1068 syntmp-src-1067 #t) syntmp-exp-1068))) (syntmp-get-global-definition-hook-93 (lambda (syntmp-symbol-1069 syntmp-module-1070) (let ((syntmp-module-1071 (if syntmp-module-1070 (resolve-module syntmp-module-1070) (warn "wha" syntmp-symbol-1069 (current-module))))) (let ((syntmp-v-1072 (module-variable syntmp-module-1071 syntmp-symbol-1069))) (and syntmp-v-1072 (or (object-property syntmp-v-1072 (quote *sc-expander*)) (and (variable-bound? syntmp-v-1072) (macro? (variable-ref syntmp-v-1072)) (macro-transformer (variable-ref syntmp-v-1072)) guile-macro))))))) (syntmp-put-global-definition-hook-92 (lambda (syntmp-symbol-1073 syntmp-binding-1074 syntmp-module-1075) (let ((syntmp-module-1076 (if syntmp-module-1075 (resolve-module syntmp-module-1075) (warn "wha" syntmp-symbol-1073 (current-module))))) (let ((syntmp-v-1077 (or (module-variable syntmp-module-1076 syntmp-symbol-1073) (let ((syntmp-v-1078 (make-variable sc-macro))) (begin (module-add! syntmp-module-1076 syntmp-symbol-1073 syntmp-v-1078) syntmp-v-1078))))) (begin (if (not (and (symbol-property syntmp-symbol-1073 (quote primitive-syntax)) (eq? syntmp-module-1076 the-syncase-module))) (variable-set! syntmp-v-1077 sc-macro)) (set-object-property! syntmp-v-1077 (quote *sc-expander*) syntmp-binding-1074)))))) (syntmp-error-hook-91 (lambda (syntmp-who-1079 syntmp-why-1080 syntmp-what-1081) (error syntmp-who-1079 "~a ~s" syntmp-why-1080 syntmp-what-1081))) (syntmp-local-eval-hook-90 (lambda (syntmp-x-1082 syntmp-mod-1083) (eval (list syntmp-noexpand-84 syntmp-x-1082) (if syntmp-mod-1083 (resolve-module syntmp-mod-1083) (interaction-environment))))) (syntmp-top-level-eval-hook-89 (lambda (syntmp-x-1084 syntmp-mod-1085) (eval (list syntmp-noexpand-84 syntmp-x-1084) (if syntmp-mod-1085 (resolve-module syntmp-mod-1085) (interaction-environment))))) (syntmp-fx<-88 <) (syntmp-fx=-87 =) (syntmp-fx--86 -) (syntmp-fx+-85 +) (syntmp-noexpand-84 "noexpand")) (begin (syntmp-global-extend-115 (quote local-syntax) (quote letrec-syntax) #t) (syntmp-global-extend-115 (quote local-syntax) (quote let-syntax) #f) (syntmp-global-extend-115 (quote core) (quote fluid-let-syntax) (lambda (syntmp-e-1086 syntmp-r-1087 syntmp-w-1088 syntmp-s-1089 syntmp-mod-1090) ((lambda (syntmp-tmp-1091) ((lambda (syntmp-tmp-1092) (if (if syntmp-tmp-1092 (apply (lambda (syntmp-_-1093 syntmp-var-1094 syntmp-val-1095 syntmp-e1-1096 syntmp-e2-1097) (syntmp-valid-bound-ids?-142 syntmp-var-1094)) syntmp-tmp-1092) #f) (apply (lambda (syntmp-_-1099 syntmp-var-1100 syntmp-val-1101 syntmp-e1-1102 syntmp-e2-1103) (let ((syntmp-names-1104 (map (lambda (syntmp-x-1105) (syntmp-id-var-name-139 syntmp-x-1105 syntmp-w-1088)) syntmp-var-1100))) (begin (for-each (lambda (syntmp-id-1107 syntmp-n-1108) (let ((syntmp-t-1109 (syntmp-binding-type-109 (syntmp-lookup-114 syntmp-n-1108 syntmp-r-1087 syntmp-mod-1090)))) (if (memv syntmp-t-1109 (quote (displaced-lexical))) (syntax-error (syntmp-source-wrap-146 syntmp-id-1107 syntmp-w-1088 syntmp-s-1089 syntmp-mod-1090) "identifier out of context")))) syntmp-var-1100 syntmp-names-1104) (syntmp-chi-body-157 (cons syntmp-e1-1102 syntmp-e2-1103) (syntmp-source-wrap-146 syntmp-e-1086 syntmp-w-1088 syntmp-s-1089 syntmp-mod-1090) (syntmp-extend-env-111 syntmp-names-1104 (let ((syntmp-trans-r-1112 (syntmp-macros-only-env-113 syntmp-r-1087))) (map (lambda (syntmp-x-1113) (cons (quote macro) (syntmp-eval-local-transformer-160 (syntmp-chi-153 syntmp-x-1113 syntmp-trans-r-1112 syntmp-w-1088 syntmp-mod-1090) syntmp-mod-1090))) syntmp-val-1101)) syntmp-r-1087) syntmp-w-1088 syntmp-mod-1090)))) syntmp-tmp-1092) ((lambda (syntmp-_-1115) (syntax-error (syntmp-source-wrap-146 syntmp-e-1086 syntmp-w-1088 syntmp-s-1089 syntmp-mod-1090))) syntmp-tmp-1091))) (syntax-dispatch syntmp-tmp-1091 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1086))) (syntmp-global-extend-115 (quote core) (quote quote) (lambda (syntmp-e-1116 syntmp-r-1117 syntmp-w-1118 syntmp-s-1119 syntmp-mod-1120) ((lambda (syntmp-tmp-1121) ((lambda (syntmp-tmp-1122) (if syntmp-tmp-1122 (apply (lambda (syntmp-_-1123 syntmp-e-1124) (syntmp-build-data-95 syntmp-s-1119 (syntmp-strip-164 syntmp-e-1124 syntmp-w-1118))) syntmp-tmp-1122) ((lambda (syntmp-_-1125) (syntax-error (syntmp-source-wrap-146 syntmp-e-1116 syntmp-w-1118 syntmp-s-1119 syntmp-mod-1120))) syntmp-tmp-1121))) (syntax-dispatch syntmp-tmp-1121 (quote (any any))))) syntmp-e-1116))) (syntmp-global-extend-115 (quote core) (quote syntax) (letrec ((syntmp-regen-1133 (lambda (syntmp-x-1134) (let ((syntmp-t-1135 (car syntmp-x-1134))) (if (memv syntmp-t-1135 (quote (ref))) (syntmp-build-annotated-94 #f (cadr syntmp-x-1134)) (if (memv syntmp-t-1135 (quote (primitive))) (syntmp-build-annotated-94 #f (cadr syntmp-x-1134)) (if (memv syntmp-t-1135 (quote (quote))) (syntmp-build-data-95 #f (cadr syntmp-x-1134)) (if (memv syntmp-t-1135 (quote (lambda))) (syntmp-build-annotated-94 #f (list (quote lambda) (cadr syntmp-x-1134) (syntmp-regen-1133 (caddr syntmp-x-1134)))) (if (memv syntmp-t-1135 (quote (map))) (let ((syntmp-ls-1136 (map syntmp-regen-1133 (cdr syntmp-x-1134)))) (syntmp-build-annotated-94 #f (cons (if (syntmp-fx=-87 (length syntmp-ls-1136) 2) (syntmp-build-annotated-94 #f (quote map)) (syntmp-build-annotated-94 #f (quote map))) syntmp-ls-1136))) (syntmp-build-annotated-94 #f (cons (syntmp-build-annotated-94 #f (car syntmp-x-1134)) (map syntmp-regen-1133 (cdr syntmp-x-1134)))))))))))) (syntmp-gen-vector-1132 (lambda (syntmp-x-1137) (cond ((eq? (car syntmp-x-1137) (quote list)) (cons (quote vector) (cdr syntmp-x-1137))) ((eq? (car syntmp-x-1137) (quote quote)) (list (quote quote) (list->vector (cadr syntmp-x-1137)))) (else (list (quote list->vector) syntmp-x-1137))))) (syntmp-gen-append-1131 (lambda (syntmp-x-1138 syntmp-y-1139) (if (equal? syntmp-y-1139 (quote (quote ()))) syntmp-x-1138 (list (quote append) syntmp-x-1138 syntmp-y-1139)))) (syntmp-gen-cons-1130 (lambda (syntmp-x-1140 syntmp-y-1141) (let ((syntmp-t-1142 (car syntmp-y-1141))) (if (memv syntmp-t-1142 (quote (quote))) (if (eq? (car syntmp-x-1140) (quote quote)) (list (quote quote) (cons (cadr syntmp-x-1140) (cadr syntmp-y-1141))) (if (eq? (cadr syntmp-y-1141) (quote ())) (list (quote list) syntmp-x-1140) (list (quote cons) syntmp-x-1140 syntmp-y-1141))) (if (memv syntmp-t-1142 (quote (list))) (cons (quote list) (cons syntmp-x-1140 (cdr syntmp-y-1141))) (list (quote cons) syntmp-x-1140 syntmp-y-1141)))))) (syntmp-gen-map-1129 (lambda (syntmp-e-1143 syntmp-map-env-1144) (let ((syntmp-formals-1145 (map cdr syntmp-map-env-1144)) (syntmp-actuals-1146 (map (lambda (syntmp-x-1147) (list (quote ref) (car syntmp-x-1147))) syntmp-map-env-1144))) (cond ((eq? (car syntmp-e-1143) (quote ref)) (car syntmp-actuals-1146)) ((andmap (lambda (syntmp-x-1148) (and (eq? (car syntmp-x-1148) (quote ref)) (memq (cadr syntmp-x-1148) syntmp-formals-1145))) (cdr syntmp-e-1143)) (cons (quote map) (cons (list (quote primitive) (car syntmp-e-1143)) (map (let ((syntmp-r-1149 (map cons syntmp-formals-1145 syntmp-actuals-1146))) (lambda (syntmp-x-1150) (cdr (assq (cadr syntmp-x-1150) syntmp-r-1149)))) (cdr syntmp-e-1143))))) (else (cons (quote map) (cons (list (quote lambda) syntmp-formals-1145 syntmp-e-1143) syntmp-actuals-1146))))))) (syntmp-gen-mappend-1128 (lambda (syntmp-e-1151 syntmp-map-env-1152) (list (quote apply) (quote (primitive append)) (syntmp-gen-map-1129 syntmp-e-1151 syntmp-map-env-1152)))) (syntmp-gen-ref-1127 (lambda (syntmp-src-1153 syntmp-var-1154 syntmp-level-1155 syntmp-maps-1156) (if (syntmp-fx=-87 syntmp-level-1155 0) (values syntmp-var-1154 syntmp-maps-1156) (if (null? syntmp-maps-1156) (syntax-error syntmp-src-1153 "missing ellipsis in syntax form") (call-with-values (lambda () (syntmp-gen-ref-1127 syntmp-src-1153 syntmp-var-1154 (syntmp-fx--86 syntmp-level-1155 1) (cdr syntmp-maps-1156))) (lambda (syntmp-outer-var-1157 syntmp-outer-maps-1158) (let ((syntmp-b-1159 (assq syntmp-outer-var-1157 (car syntmp-maps-1156)))) (if syntmp-b-1159 (values (cdr syntmp-b-1159) syntmp-maps-1156) (let ((syntmp-inner-var-1160 (syntmp-gen-var-165 (quote tmp)))) (values syntmp-inner-var-1160 (cons (cons (cons syntmp-outer-var-1157 syntmp-inner-var-1160) (car syntmp-maps-1156)) syntmp-outer-maps-1158))))))))))) (syntmp-gen-syntax-1126 (lambda (syntmp-src-1161 syntmp-e-1162 syntmp-r-1163 syntmp-maps-1164 syntmp-ellipsis?-1165 syntmp-mod-1166) (if (syntmp-id?-117 syntmp-e-1162) (let ((syntmp-label-1167 (syntmp-id-var-name-139 syntmp-e-1162 (quote (()))))) (let ((syntmp-b-1168 (syntmp-lookup-114 syntmp-label-1167 syntmp-r-1163 syntmp-mod-1166))) (if (eq? (syntmp-binding-type-109 syntmp-b-1168) (quote syntax)) (call-with-values (lambda () (let ((syntmp-var.lev-1169 (syntmp-binding-value-110 syntmp-b-1168))) (syntmp-gen-ref-1127 syntmp-src-1161 (car syntmp-var.lev-1169) (cdr syntmp-var.lev-1169) syntmp-maps-1164))) (lambda (syntmp-var-1170 syntmp-maps-1171) (values (list (quote ref) syntmp-var-1170) syntmp-maps-1171))) (if (syntmp-ellipsis?-1165 syntmp-e-1162) (syntax-error syntmp-src-1161 "misplaced ellipsis in syntax form") (values (list (quote quote) syntmp-e-1162) syntmp-maps-1164))))) ((lambda (syntmp-tmp-1172) ((lambda (syntmp-tmp-1173) (if (if syntmp-tmp-1173 (apply (lambda (syntmp-dots-1174 syntmp-e-1175) (syntmp-ellipsis?-1165 syntmp-dots-1174)) syntmp-tmp-1173) #f) (apply (lambda (syntmp-dots-1176 syntmp-e-1177) (syntmp-gen-syntax-1126 syntmp-src-1161 syntmp-e-1177 syntmp-r-1163 syntmp-maps-1164 (lambda (syntmp-x-1178) #f) syntmp-mod-1166)) syntmp-tmp-1173) ((lambda (syntmp-tmp-1179) (if (if syntmp-tmp-1179 (apply (lambda (syntmp-x-1180 syntmp-dots-1181 syntmp-y-1182) (syntmp-ellipsis?-1165 syntmp-dots-1181)) syntmp-tmp-1179) #f) (apply (lambda (syntmp-x-1183 syntmp-dots-1184 syntmp-y-1185) (let syntmp-f-1186 ((syntmp-y-1187 syntmp-y-1185) (syntmp-k-1188 (lambda (syntmp-maps-1189) (call-with-values (lambda () (syntmp-gen-syntax-1126 syntmp-src-1161 syntmp-x-1183 syntmp-r-1163 (cons (quote ()) syntmp-maps-1189) syntmp-ellipsis?-1165 syntmp-mod-1166)) (lambda (syntmp-x-1190 syntmp-maps-1191) (if (null? (car syntmp-maps-1191)) (syntax-error syntmp-src-1161 "extra ellipsis in syntax form") (values (syntmp-gen-map-1129 syntmp-x-1190 (car syntmp-maps-1191)) (cdr syntmp-maps-1191)))))))) ((lambda (syntmp-tmp-1192) ((lambda (syntmp-tmp-1193) (if (if syntmp-tmp-1193 (apply (lambda (syntmp-dots-1194 syntmp-y-1195) (syntmp-ellipsis?-1165 syntmp-dots-1194)) syntmp-tmp-1193) #f) (apply (lambda (syntmp-dots-1196 syntmp-y-1197) (syntmp-f-1186 syntmp-y-1197 (lambda (syntmp-maps-1198) (call-with-values (lambda () (syntmp-k-1188 (cons (quote ()) syntmp-maps-1198))) (lambda (syntmp-x-1199 syntmp-maps-1200) (if (null? (car syntmp-maps-1200)) (syntax-error syntmp-src-1161 "extra ellipsis in syntax form") (values (syntmp-gen-mappend-1128 syntmp-x-1199 (car syntmp-maps-1200)) (cdr syntmp-maps-1200)))))))) syntmp-tmp-1193) ((lambda (syntmp-_-1201) (call-with-values (lambda () (syntmp-gen-syntax-1126 syntmp-src-1161 syntmp-y-1187 syntmp-r-1163 syntmp-maps-1164 syntmp-ellipsis?-1165 syntmp-mod-1166)) (lambda (syntmp-y-1202 syntmp-maps-1203) (call-with-values (lambda () (syntmp-k-1188 syntmp-maps-1203)) (lambda (syntmp-x-1204 syntmp-maps-1205) (values (syntmp-gen-append-1131 syntmp-x-1204 syntmp-y-1202) syntmp-maps-1205)))))) syntmp-tmp-1192))) (syntax-dispatch syntmp-tmp-1192 (quote (any . any))))) syntmp-y-1187))) syntmp-tmp-1179) ((lambda (syntmp-tmp-1206) (if syntmp-tmp-1206 (apply (lambda (syntmp-x-1207 syntmp-y-1208) (call-with-values (lambda () (syntmp-gen-syntax-1126 syntmp-src-1161 syntmp-x-1207 syntmp-r-1163 syntmp-maps-1164 syntmp-ellipsis?-1165 syntmp-mod-1166)) (lambda (syntmp-x-1209 syntmp-maps-1210) (call-with-values (lambda () (syntmp-gen-syntax-1126 syntmp-src-1161 syntmp-y-1208 syntmp-r-1163 syntmp-maps-1210 syntmp-ellipsis?-1165 syntmp-mod-1166)) (lambda (syntmp-y-1211 syntmp-maps-1212) (values (syntmp-gen-cons-1130 syntmp-x-1209 syntmp-y-1211) syntmp-maps-1212)))))) syntmp-tmp-1206) ((lambda (syntmp-tmp-1213) (if syntmp-tmp-1213 (apply (lambda (syntmp-e1-1214 syntmp-e2-1215) (call-with-values (lambda () (syntmp-gen-syntax-1126 syntmp-src-1161 (cons syntmp-e1-1214 syntmp-e2-1215) syntmp-r-1163 syntmp-maps-1164 syntmp-ellipsis?-1165 syntmp-mod-1166)) (lambda (syntmp-e-1217 syntmp-maps-1218) (values (syntmp-gen-vector-1132 syntmp-e-1217) syntmp-maps-1218)))) syntmp-tmp-1213) ((lambda (syntmp-_-1219) (values (list (quote quote) syntmp-e-1162) syntmp-maps-1164)) syntmp-tmp-1172))) (syntax-dispatch syntmp-tmp-1172 (quote #(vector (any . each-any))))))) (syntax-dispatch syntmp-tmp-1172 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1172 (quote (any any . any)))))) (syntax-dispatch syntmp-tmp-1172 (quote (any any))))) syntmp-e-1162))))) (lambda (syntmp-e-1220 syntmp-r-1221 syntmp-w-1222 syntmp-s-1223 syntmp-mod-1224) (let ((syntmp-e-1225 (syntmp-source-wrap-146 syntmp-e-1220 syntmp-w-1222 syntmp-s-1223 syntmp-mod-1224))) ((lambda (syntmp-tmp-1226) ((lambda (syntmp-tmp-1227) (if syntmp-tmp-1227 (apply (lambda (syntmp-_-1228 syntmp-x-1229) (call-with-values (lambda () (syntmp-gen-syntax-1126 syntmp-e-1225 syntmp-x-1229 syntmp-r-1221 (quote ()) syntmp-ellipsis?-162 syntmp-mod-1224)) (lambda (syntmp-e-1230 syntmp-maps-1231) (syntmp-regen-1133 syntmp-e-1230)))) syntmp-tmp-1227) ((lambda (syntmp-_-1232) (syntax-error syntmp-e-1225)) syntmp-tmp-1226))) (syntax-dispatch syntmp-tmp-1226 (quote (any any))))) syntmp-e-1225))))) (syntmp-global-extend-115 (quote core) (quote lambda) (lambda (syntmp-e-1233 syntmp-r-1234 syntmp-w-1235 syntmp-s-1236 syntmp-mod-1237) ((lambda (syntmp-tmp-1238) ((lambda (syntmp-tmp-1239) (if syntmp-tmp-1239 (apply (lambda (syntmp-_-1240 syntmp-c-1241) (syntmp-chi-lambda-clause-158 (syntmp-source-wrap-146 syntmp-e-1233 syntmp-w-1235 syntmp-s-1236 syntmp-mod-1237) syntmp-c-1241 syntmp-r-1234 syntmp-w-1235 syntmp-mod-1237 (lambda (syntmp-vars-1242 syntmp-body-1243) (syntmp-build-annotated-94 syntmp-s-1236 (list (quote lambda) syntmp-vars-1242 syntmp-body-1243))))) syntmp-tmp-1239) (syntax-error syntmp-tmp-1238))) (syntax-dispatch syntmp-tmp-1238 (quote (any . any))))) syntmp-e-1233))) (syntmp-global-extend-115 (quote core) (quote let) (letrec ((syntmp-chi-let-1244 (lambda (syntmp-e-1245 syntmp-r-1246 syntmp-w-1247 syntmp-s-1248 syntmp-mod-1249 syntmp-constructor-1250 syntmp-ids-1251 syntmp-vals-1252 syntmp-exps-1253) (if (not (syntmp-valid-bound-ids?-142 syntmp-ids-1251)) (syntax-error syntmp-e-1245 "duplicate bound variable in") (let ((syntmp-labels-1254 (syntmp-gen-labels-123 syntmp-ids-1251)) (syntmp-new-vars-1255 (map syntmp-gen-var-165 syntmp-ids-1251))) (let ((syntmp-nw-1256 (syntmp-make-binding-wrap-134 syntmp-ids-1251 syntmp-labels-1254 syntmp-w-1247)) (syntmp-nr-1257 (syntmp-extend-var-env-112 syntmp-labels-1254 syntmp-new-vars-1255 syntmp-r-1246))) (syntmp-constructor-1250 syntmp-s-1248 syntmp-new-vars-1255 (map (lambda (syntmp-x-1258) (syntmp-chi-153 syntmp-x-1258 syntmp-r-1246 syntmp-w-1247 syntmp-mod-1249)) syntmp-vals-1252) (syntmp-chi-body-157 syntmp-exps-1253 (syntmp-source-wrap-146 syntmp-e-1245 syntmp-nw-1256 syntmp-s-1248 syntmp-mod-1249) syntmp-nr-1257 syntmp-nw-1256 syntmp-mod-1249)))))))) (lambda (syntmp-e-1259 syntmp-r-1260 syntmp-w-1261 syntmp-s-1262 syntmp-mod-1263) ((lambda (syntmp-tmp-1264) ((lambda (syntmp-tmp-1265) (if syntmp-tmp-1265 (apply (lambda (syntmp-_-1266 syntmp-id-1267 syntmp-val-1268 syntmp-e1-1269 syntmp-e2-1270) (syntmp-chi-let-1244 syntmp-e-1259 syntmp-r-1260 syntmp-w-1261 syntmp-s-1262 syntmp-mod-1263 syntmp-build-let-97 syntmp-id-1267 syntmp-val-1268 (cons syntmp-e1-1269 syntmp-e2-1270))) syntmp-tmp-1265) ((lambda (syntmp-tmp-1274) (if (if syntmp-tmp-1274 (apply (lambda (syntmp-_-1275 syntmp-f-1276 syntmp-id-1277 syntmp-val-1278 syntmp-e1-1279 syntmp-e2-1280) (syntmp-id?-117 syntmp-f-1276)) syntmp-tmp-1274) #f) (apply (lambda (syntmp-_-1281 syntmp-f-1282 syntmp-id-1283 syntmp-val-1284 syntmp-e1-1285 syntmp-e2-1286) (syntmp-chi-let-1244 syntmp-e-1259 syntmp-r-1260 syntmp-w-1261 syntmp-s-1262 syntmp-mod-1263 syntmp-build-named-let-98 (cons syntmp-f-1282 syntmp-id-1283) syntmp-val-1284 (cons syntmp-e1-1285 syntmp-e2-1286))) syntmp-tmp-1274) ((lambda (syntmp-_-1290) (syntax-error (syntmp-source-wrap-146 syntmp-e-1259 syntmp-w-1261 syntmp-s-1262 syntmp-mod-1263))) syntmp-tmp-1264))) (syntax-dispatch syntmp-tmp-1264 (quote (any any #(each (any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1264 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1259)))) (syntmp-global-extend-115 (quote core) (quote letrec) (lambda (syntmp-e-1291 syntmp-r-1292 syntmp-w-1293 syntmp-s-1294 syntmp-mod-1295) ((lambda (syntmp-tmp-1296) ((lambda (syntmp-tmp-1297) (if syntmp-tmp-1297 (apply (lambda (syntmp-_-1298 syntmp-id-1299 syntmp-val-1300 syntmp-e1-1301 syntmp-e2-1302) (let ((syntmp-ids-1303 syntmp-id-1299)) (if (not (syntmp-valid-bound-ids?-142 syntmp-ids-1303)) (syntax-error syntmp-e-1291 "duplicate bound variable in") (let ((syntmp-labels-1305 (syntmp-gen-labels-123 syntmp-ids-1303)) (syntmp-new-vars-1306 (map syntmp-gen-var-165 syntmp-ids-1303))) (let ((syntmp-w-1307 (syntmp-make-binding-wrap-134 syntmp-ids-1303 syntmp-labels-1305 syntmp-w-1293)) (syntmp-r-1308 (syntmp-extend-var-env-112 syntmp-labels-1305 syntmp-new-vars-1306 syntmp-r-1292))) (syntmp-build-letrec-99 syntmp-s-1294 syntmp-new-vars-1306 (map (lambda (syntmp-x-1309) (syntmp-chi-153 syntmp-x-1309 syntmp-r-1308 syntmp-w-1307 syntmp-mod-1295)) syntmp-val-1300) (syntmp-chi-body-157 (cons syntmp-e1-1301 syntmp-e2-1302) (syntmp-source-wrap-146 syntmp-e-1291 syntmp-w-1307 syntmp-s-1294 syntmp-mod-1295) syntmp-r-1308 syntmp-w-1307 syntmp-mod-1295))))))) syntmp-tmp-1297) ((lambda (syntmp-_-1312) (syntax-error (syntmp-source-wrap-146 syntmp-e-1291 syntmp-w-1293 syntmp-s-1294 syntmp-mod-1295))) syntmp-tmp-1296))) (syntax-dispatch syntmp-tmp-1296 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1291))) (syntmp-global-extend-115 (quote core) (quote set!) (lambda (syntmp-e-1313 syntmp-r-1314 syntmp-w-1315 syntmp-s-1316 syntmp-mod-1317) ((lambda (syntmp-tmp-1318) ((lambda (syntmp-tmp-1319) (if (if syntmp-tmp-1319 (apply (lambda (syntmp-_-1320 syntmp-id-1321 syntmp-val-1322) (syntmp-id?-117 syntmp-id-1321)) syntmp-tmp-1319) #f) (apply (lambda (syntmp-_-1323 syntmp-id-1324 syntmp-val-1325) (let ((syntmp-val-1326 (syntmp-chi-153 syntmp-val-1325 syntmp-r-1314 syntmp-w-1315 syntmp-mod-1317)) (syntmp-n-1327 (syntmp-id-var-name-139 syntmp-id-1324 syntmp-w-1315))) (let ((syntmp-b-1328 (syntmp-lookup-114 syntmp-n-1327 syntmp-r-1314 syntmp-mod-1317))) (let ((syntmp-t-1329 (syntmp-binding-type-109 syntmp-b-1328))) (if (memv syntmp-t-1329 (quote (lexical))) (syntmp-build-annotated-94 syntmp-s-1316 (list (quote set!) (syntmp-binding-value-110 syntmp-b-1328) syntmp-val-1326)) (if (memv syntmp-t-1329 (quote (global))) (syntmp-build-annotated-94 syntmp-s-1316 (list (quote set!) (make-module-ref syntmp-mod-1317 syntmp-n-1327 #f) syntmp-val-1326)) (if (memv syntmp-t-1329 (quote (displaced-lexical))) (syntax-error (syntmp-wrap-145 syntmp-id-1324 syntmp-w-1315 syntmp-mod-1317) "identifier out of context") (syntax-error (syntmp-source-wrap-146 syntmp-e-1313 syntmp-w-1315 syntmp-s-1316 syntmp-mod-1317))))))))) syntmp-tmp-1319) ((lambda (syntmp-tmp-1330) (if syntmp-tmp-1330 (apply (lambda (syntmp-_-1331 syntmp-getter-1332 syntmp-arg-1333 syntmp-val-1334) (syntmp-build-annotated-94 syntmp-s-1316 (cons (syntmp-chi-153 (list (quote #(syntax-object setter ((top) #(ribcage #(_ getter arg val) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(e r w s mod) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook 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"))) (ice-9 syncase))) syntmp-getter-1332) syntmp-r-1314 syntmp-w-1315 syntmp-mod-1317) (map (lambda (syntmp-e-1335) (syntmp-chi-153 syntmp-e-1335 syntmp-r-1314 syntmp-w-1315 syntmp-mod-1317)) (append syntmp-arg-1333 (list syntmp-val-1334)))))) syntmp-tmp-1330) ((lambda (syntmp-_-1337) (syntax-error (syntmp-source-wrap-146 syntmp-e-1313 syntmp-w-1315 syntmp-s-1316 syntmp-mod-1317))) syntmp-tmp-1318))) (syntax-dispatch syntmp-tmp-1318 (quote (any (any . each-any) any)))))) (syntax-dispatch syntmp-tmp-1318 (quote (any any any))))) syntmp-e-1313))) (syntmp-global-extend-115 (quote begin) (quote begin) (quote ())) (syntmp-global-extend-115 (quote define) (quote define) (quote ())) (syntmp-global-extend-115 (quote define-syntax) (quote define-syntax) (quote ())) (syntmp-global-extend-115 (quote eval-when) (quote eval-when) (quote ())) (syntmp-global-extend-115 (quote core) (quote syntax-case) (letrec ((syntmp-gen-syntax-case-1341 (lambda (syntmp-x-1342 syntmp-keys-1343 syntmp-clauses-1344 syntmp-r-1345 syntmp-mod-1346) (if (null? syntmp-clauses-1344) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote syntax-error)) syntmp-x-1342)) ((lambda (syntmp-tmp-1347) ((lambda (syntmp-tmp-1348) (if syntmp-tmp-1348 (apply (lambda (syntmp-pat-1349 syntmp-exp-1350) (if (and (syntmp-id?-117 syntmp-pat-1349) (andmap (lambda (syntmp-x-1351) (not (syntmp-free-id=?-140 syntmp-pat-1349 syntmp-x-1351))) (cons (quote #(syntax-object ... ((top) #(ribcage #(pat exp) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) ("i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook 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"))) (ice-9 syncase))) syntmp-keys-1343))) (let ((syntmp-labels-1352 (list (syntmp-gen-label-122))) (syntmp-var-1353 (syntmp-gen-var-165 syntmp-pat-1349))) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (list (quote lambda) (list syntmp-var-1353) (syntmp-chi-153 syntmp-exp-1350 (syntmp-extend-env-111 syntmp-labels-1352 (list (cons (quote syntax) (cons syntmp-var-1353 0))) syntmp-r-1345) (syntmp-make-binding-wrap-134 (list syntmp-pat-1349) syntmp-labels-1352 (quote (()))) syntmp-mod-1346))) syntmp-x-1342))) (syntmp-gen-clause-1340 syntmp-x-1342 syntmp-keys-1343 (cdr syntmp-clauses-1344) syntmp-r-1345 syntmp-pat-1349 #t syntmp-exp-1350 syntmp-mod-1346))) syntmp-tmp-1348) ((lambda (syntmp-tmp-1354) (if syntmp-tmp-1354 (apply (lambda (syntmp-pat-1355 syntmp-fender-1356 syntmp-exp-1357) (syntmp-gen-clause-1340 syntmp-x-1342 syntmp-keys-1343 (cdr syntmp-clauses-1344) syntmp-r-1345 syntmp-pat-1355 syntmp-fender-1356 syntmp-exp-1357 syntmp-mod-1346)) syntmp-tmp-1354) ((lambda (syntmp-_-1358) (syntax-error (car syntmp-clauses-1344) "invalid syntax-case clause")) syntmp-tmp-1347))) (syntax-dispatch syntmp-tmp-1347 (quote (any any any)))))) (syntax-dispatch syntmp-tmp-1347 (quote (any any))))) (car syntmp-clauses-1344))))) (syntmp-gen-clause-1340 (lambda (syntmp-x-1359 syntmp-keys-1360 syntmp-clauses-1361 syntmp-r-1362 syntmp-pat-1363 syntmp-fender-1364 syntmp-exp-1365 syntmp-mod-1366) (call-with-values (lambda () (syntmp-convert-pattern-1338 syntmp-pat-1363 syntmp-keys-1360)) (lambda (syntmp-p-1367 syntmp-pvars-1368) (cond ((not (syntmp-distinct-bound-ids?-143 (map car syntmp-pvars-1368))) (syntax-error syntmp-pat-1363 "duplicate pattern variable in syntax-case pattern")) ((not (andmap (lambda (syntmp-x-1369) (not (syntmp-ellipsis?-162 (car syntmp-x-1369)))) syntmp-pvars-1368)) (syntax-error syntmp-pat-1363 "misplaced ellipsis in syntax-case pattern")) (else (let ((syntmp-y-1370 (syntmp-gen-var-165 (quote tmp)))) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (list (quote lambda) (list syntmp-y-1370) (let ((syntmp-y-1371 (syntmp-build-annotated-94 #f syntmp-y-1370))) (syntmp-build-annotated-94 #f (list (quote if) ((lambda (syntmp-tmp-1372) ((lambda (syntmp-tmp-1373) (if syntmp-tmp-1373 (apply (lambda () syntmp-y-1371) syntmp-tmp-1373) ((lambda (syntmp-_-1374) (syntmp-build-annotated-94 #f (list (quote if) syntmp-y-1371 (syntmp-build-dispatch-call-1339 syntmp-pvars-1368 syntmp-fender-1364 syntmp-y-1371 syntmp-r-1362 syntmp-mod-1366) (syntmp-build-data-95 #f #f)))) syntmp-tmp-1372))) (syntax-dispatch syntmp-tmp-1372 (quote #(atom #t))))) syntmp-fender-1364) (syntmp-build-dispatch-call-1339 syntmp-pvars-1368 syntmp-exp-1365 syntmp-y-1371 syntmp-r-1362 syntmp-mod-1366) (syntmp-gen-syntax-case-1341 syntmp-x-1359 syntmp-keys-1360 syntmp-clauses-1361 syntmp-r-1362 syntmp-mod-1366)))))) (if (eq? syntmp-p-1367 (quote any)) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote list)) syntmp-x-1359)) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote syntax-dispatch)) syntmp-x-1359 (syntmp-build-data-95 #f syntmp-p-1367))))))))))))) (syntmp-build-dispatch-call-1339 (lambda (syntmp-pvars-1375 syntmp-exp-1376 syntmp-y-1377 syntmp-r-1378 syntmp-mod-1379) (let ((syntmp-ids-1380 (map car syntmp-pvars-1375)) (syntmp-levels-1381 (map cdr syntmp-pvars-1375))) (let ((syntmp-labels-1382 (syntmp-gen-labels-123 syntmp-ids-1380)) (syntmp-new-vars-1383 (map syntmp-gen-var-165 syntmp-ids-1380))) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote apply)) (syntmp-build-annotated-94 #f (list (quote lambda) syntmp-new-vars-1383 (syntmp-chi-153 syntmp-exp-1376 (syntmp-extend-env-111 syntmp-labels-1382 (map (lambda (syntmp-var-1384 syntmp-level-1385) (cons (quote syntax) (cons syntmp-var-1384 syntmp-level-1385))) syntmp-new-vars-1383 (map cdr syntmp-pvars-1375)) syntmp-r-1378) (syntmp-make-binding-wrap-134 syntmp-ids-1380 syntmp-labels-1382 (quote (()))) syntmp-mod-1379))) syntmp-y-1377)))))) (syntmp-convert-pattern-1338 (lambda (syntmp-pattern-1386 syntmp-keys-1387) (let syntmp-cvt-1388 ((syntmp-p-1389 syntmp-pattern-1386) (syntmp-n-1390 0) (syntmp-ids-1391 (quote ()))) (if (syntmp-id?-117 syntmp-p-1389) (if (syntmp-bound-id-member?-144 syntmp-p-1389 syntmp-keys-1387) (values (vector (quote free-id) syntmp-p-1389) syntmp-ids-1391) (values (quote any) (cons (cons syntmp-p-1389 syntmp-n-1390) syntmp-ids-1391))) ((lambda (syntmp-tmp-1392) ((lambda (syntmp-tmp-1393) (if (if syntmp-tmp-1393 (apply (lambda (syntmp-x-1394 syntmp-dots-1395) (syntmp-ellipsis?-162 syntmp-dots-1395)) syntmp-tmp-1393) #f) (apply (lambda (syntmp-x-1396 syntmp-dots-1397) (call-with-values (lambda () (syntmp-cvt-1388 syntmp-x-1396 (syntmp-fx+-85 syntmp-n-1390 1) syntmp-ids-1391)) (lambda (syntmp-p-1398 syntmp-ids-1399) (values (if (eq? syntmp-p-1398 (quote any)) (quote each-any) (vector (quote each) syntmp-p-1398)) syntmp-ids-1399)))) syntmp-tmp-1393) ((lambda (syntmp-tmp-1400) (if syntmp-tmp-1400 (apply (lambda (syntmp-x-1401 syntmp-y-1402) (call-with-values (lambda () (syntmp-cvt-1388 syntmp-y-1402 syntmp-n-1390 syntmp-ids-1391)) (lambda (syntmp-y-1403 syntmp-ids-1404) (call-with-values (lambda () (syntmp-cvt-1388 syntmp-x-1401 syntmp-n-1390 syntmp-ids-1404)) (lambda (syntmp-x-1405 syntmp-ids-1406) (values (cons syntmp-x-1405 syntmp-y-1403) syntmp-ids-1406)))))) syntmp-tmp-1400) ((lambda (syntmp-tmp-1407) (if syntmp-tmp-1407 (apply (lambda () (values (quote ()) syntmp-ids-1391)) syntmp-tmp-1407) ((lambda (syntmp-tmp-1408) (if syntmp-tmp-1408 (apply (lambda (syntmp-x-1409) (call-with-values (lambda () (syntmp-cvt-1388 syntmp-x-1409 syntmp-n-1390 syntmp-ids-1391)) (lambda (syntmp-p-1411 syntmp-ids-1412) (values (vector (quote vector) syntmp-p-1411) syntmp-ids-1412)))) syntmp-tmp-1408) ((lambda (syntmp-x-1413) (values (vector (quote atom) (syntmp-strip-164 syntmp-p-1389 (quote (())))) syntmp-ids-1391)) syntmp-tmp-1392))) (syntax-dispatch syntmp-tmp-1392 (quote #(vector each-any)))))) (syntax-dispatch syntmp-tmp-1392 (quote ()))))) (syntax-dispatch syntmp-tmp-1392 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1392 (quote (any any))))) syntmp-p-1389)))))) (lambda (syntmp-e-1414 syntmp-r-1415 syntmp-w-1416 syntmp-s-1417 syntmp-mod-1418) (let ((syntmp-e-1419 (syntmp-source-wrap-146 syntmp-e-1414 syntmp-w-1416 syntmp-s-1417 syntmp-mod-1418))) ((lambda (syntmp-tmp-1420) ((lambda (syntmp-tmp-1421) (if syntmp-tmp-1421 (apply (lambda (syntmp-_-1422 syntmp-val-1423 syntmp-key-1424 syntmp-m-1425) (if (andmap (lambda (syntmp-x-1426) (and (syntmp-id?-117 syntmp-x-1426) (not (syntmp-ellipsis?-162 syntmp-x-1426)))) syntmp-key-1424) (let ((syntmp-x-1428 (syntmp-gen-var-165 (quote tmp)))) (syntmp-build-annotated-94 syntmp-s-1417 (list (syntmp-build-annotated-94 #f (list (quote lambda) (list syntmp-x-1428) (syntmp-gen-syntax-case-1341 (syntmp-build-annotated-94 #f syntmp-x-1428) syntmp-key-1424 syntmp-m-1425 syntmp-r-1415 syntmp-mod-1418))) (syntmp-chi-153 syntmp-val-1423 syntmp-r-1415 (quote (())) syntmp-mod-1418)))) (syntax-error syntmp-e-1419 "invalid literals list in"))) syntmp-tmp-1421) (syntax-error syntmp-tmp-1420))) (syntax-dispatch syntmp-tmp-1420 (quote (any any each-any . each-any))))) syntmp-e-1419))))) (set! sc-expand (let ((syntmp-m-1431 (quote e)) (syntmp-esew-1432 (quote (eval)))) (lambda (syntmp-x-1433) (if (and (pair? syntmp-x-1433) (equal? (car syntmp-x-1433) syntmp-noexpand-84)) (cadr syntmp-x-1433) (syntmp-chi-top-152 syntmp-x-1433 (quote ()) (quote ((top))) syntmp-m-1431 syntmp-esew-1432 (module-name (current-module))))))) (set! sc-expand3 (let ((syntmp-m-1434 (quote e)) (syntmp-esew-1435 (quote (eval)))) (lambda (syntmp-x-1437 . syntmp-rest-1436) (if (and (pair? syntmp-x-1437) (equal? (car syntmp-x-1437) syntmp-noexpand-84)) (cadr syntmp-x-1437) (syntmp-chi-top-152 syntmp-x-1437 (quote ()) (quote ((top))) (if (null? syntmp-rest-1436) syntmp-m-1434 (car syntmp-rest-1436)) (if (or (null? syntmp-rest-1436) (null? (cdr syntmp-rest-1436))) syntmp-esew-1435 (cadr syntmp-rest-1436)) (module-name (current-module))))))) (set! identifier? (lambda (syntmp-x-1438) (syntmp-nonsymbol-id?-116 syntmp-x-1438))) (set! datum->syntax-object (lambda (syntmp-id-1439 syntmp-datum-1440) (syntmp-make-syntax-object-100 syntmp-datum-1440 (syntmp-syntax-object-wrap-103 syntmp-id-1439) #f))) (set! syntax-object->datum (lambda (syntmp-x-1441) (syntmp-strip-164 syntmp-x-1441 (quote (()))))) (set! generate-temporaries (lambda (syntmp-ls-1442) (begin (let ((syntmp-x-1443 syntmp-ls-1442)) (if (not (list? syntmp-x-1443)) (syntmp-error-hook-91 (quote generate-temporaries) "invalid argument" syntmp-x-1443))) (map (lambda (syntmp-x-1444) (syntmp-wrap-145 (gensym) (quote ((top))) #f)) syntmp-ls-1442)))) (set! free-identifier=? (lambda (syntmp-x-1445 syntmp-y-1446) (begin (let ((syntmp-x-1447 syntmp-x-1445)) (if (not (syntmp-nonsymbol-id?-116 syntmp-x-1447)) (syntmp-error-hook-91 (quote free-identifier=?) "invalid argument" syntmp-x-1447))) (let ((syntmp-x-1448 syntmp-y-1446)) (if (not (syntmp-nonsymbol-id?-116 syntmp-x-1448)) (syntmp-error-hook-91 (quote free-identifier=?) "invalid argument" syntmp-x-1448))) (syntmp-free-id=?-140 syntmp-x-1445 syntmp-y-1446)))) (set! bound-identifier=? (lambda (syntmp-x-1449 syntmp-y-1450) (begin (let ((syntmp-x-1451 syntmp-x-1449)) (if (not (syntmp-nonsymbol-id?-116 syntmp-x-1451)) (syntmp-error-hook-91 (quote bound-identifier=?) "invalid argument" syntmp-x-1451))) (let ((syntmp-x-1452 syntmp-y-1450)) (if (not (syntmp-nonsymbol-id?-116 syntmp-x-1452)) (syntmp-error-hook-91 (quote bound-identifier=?) "invalid argument" syntmp-x-1452))) (syntmp-bound-id=?-141 syntmp-x-1449 syntmp-y-1450)))) (set! syntax-error (lambda (syntmp-object-1454 . syntmp-messages-1453) (begin (for-each (lambda (syntmp-x-1455) (let ((syntmp-x-1456 syntmp-x-1455)) (if (not (string? syntmp-x-1456)) (syntmp-error-hook-91 (quote syntax-error) "invalid argument" syntmp-x-1456)))) syntmp-messages-1453) (let ((syntmp-message-1457 (if (null? syntmp-messages-1453) "invalid syntax" (apply string-append syntmp-messages-1453)))) (syntmp-error-hook-91 #f syntmp-message-1457 (syntmp-strip-164 syntmp-object-1454 (quote (())))))))) (set! install-global-transformer (lambda (syntmp-sym-1458 syntmp-v-1459) (begin (let ((syntmp-x-1460 syntmp-sym-1458)) (if (not (symbol? syntmp-x-1460)) (syntmp-error-hook-91 (quote define-syntax) "invalid argument" syntmp-x-1460))) (let ((syntmp-x-1461 syntmp-v-1459)) (if (not (procedure? syntmp-x-1461)) (syntmp-error-hook-91 (quote define-syntax) "invalid argument" syntmp-x-1461))) (syntmp-global-extend-115 (quote macro) syntmp-sym-1458 syntmp-v-1459)))) (letrec ((syntmp-match-1466 (lambda (syntmp-e-1467 syntmp-p-1468 syntmp-w-1469 syntmp-r-1470 syntmp-mod-1471) (cond ((not syntmp-r-1470) #f) ((eq? syntmp-p-1468 (quote any)) (cons (syntmp-wrap-145 syntmp-e-1467 syntmp-w-1469 syntmp-mod-1471) syntmp-r-1470)) ((syntmp-syntax-object?-101 syntmp-e-1467) (syntmp-match*-1465 (let ((syntmp-e-1472 (syntmp-syntax-object-expression-102 syntmp-e-1467))) (if (annotation? syntmp-e-1472) (annotation-expression syntmp-e-1472) syntmp-e-1472)) syntmp-p-1468 (syntmp-join-wraps-136 syntmp-w-1469 (syntmp-syntax-object-wrap-103 syntmp-e-1467)) syntmp-r-1470 (syntmp-syntax-object-module-104 syntmp-e-1467))) (else (syntmp-match*-1465 (let ((syntmp-e-1473 syntmp-e-1467)) (if (annotation? syntmp-e-1473) (annotation-expression syntmp-e-1473) syntmp-e-1473)) syntmp-p-1468 syntmp-w-1469 syntmp-r-1470 syntmp-mod-1471))))) (syntmp-match*-1465 (lambda (syntmp-e-1474 syntmp-p-1475 syntmp-w-1476 syntmp-r-1477 syntmp-mod-1478) (cond ((null? syntmp-p-1475) (and (null? syntmp-e-1474) syntmp-r-1477)) ((pair? syntmp-p-1475) (and (pair? syntmp-e-1474) (syntmp-match-1466 (car syntmp-e-1474) (car syntmp-p-1475) syntmp-w-1476 (syntmp-match-1466 (cdr syntmp-e-1474) (cdr syntmp-p-1475) syntmp-w-1476 syntmp-r-1477 syntmp-mod-1478) syntmp-mod-1478))) ((eq? syntmp-p-1475 (quote each-any)) (let ((syntmp-l-1479 (syntmp-match-each-any-1463 syntmp-e-1474 syntmp-w-1476 syntmp-mod-1478))) (and syntmp-l-1479 (cons syntmp-l-1479 syntmp-r-1477)))) (else (let ((syntmp-t-1480 (vector-ref syntmp-p-1475 0))) (if (memv syntmp-t-1480 (quote (each))) (if (null? syntmp-e-1474) (syntmp-match-empty-1464 (vector-ref syntmp-p-1475 1) syntmp-r-1477) (let ((syntmp-l-1481 (syntmp-match-each-1462 syntmp-e-1474 (vector-ref syntmp-p-1475 1) syntmp-w-1476 syntmp-mod-1478))) (and syntmp-l-1481 (let syntmp-collect-1482 ((syntmp-l-1483 syntmp-l-1481)) (if (null? (car syntmp-l-1483)) syntmp-r-1477 (cons (map car syntmp-l-1483) (syntmp-collect-1482 (map cdr syntmp-l-1483)))))))) (if (memv syntmp-t-1480 (quote (free-id))) (and (syntmp-id?-117 syntmp-e-1474) (syntmp-free-id=?-140 (syntmp-wrap-145 syntmp-e-1474 syntmp-w-1476 syntmp-mod-1478) (vector-ref syntmp-p-1475 1)) syntmp-r-1477) (if (memv syntmp-t-1480 (quote (atom))) (and (equal? (vector-ref syntmp-p-1475 1) (syntmp-strip-164 syntmp-e-1474 syntmp-w-1476)) syntmp-r-1477) (if (memv syntmp-t-1480 (quote (vector))) (and (vector? syntmp-e-1474) (syntmp-match-1466 (vector->list syntmp-e-1474) (vector-ref syntmp-p-1475 1) syntmp-w-1476 syntmp-r-1477 syntmp-mod-1478))))))))))) (syntmp-match-empty-1464 (lambda (syntmp-p-1484 syntmp-r-1485) (cond ((null? syntmp-p-1484) syntmp-r-1485) ((eq? syntmp-p-1484 (quote any)) (cons (quote ()) syntmp-r-1485)) ((pair? syntmp-p-1484) (syntmp-match-empty-1464 (car syntmp-p-1484) (syntmp-match-empty-1464 (cdr syntmp-p-1484) syntmp-r-1485))) ((eq? syntmp-p-1484 (quote each-any)) (cons (quote ()) syntmp-r-1485)) (else (let ((syntmp-t-1486 (vector-ref syntmp-p-1484 0))) (if (memv syntmp-t-1486 (quote (each))) (syntmp-match-empty-1464 (vector-ref syntmp-p-1484 1) syntmp-r-1485) (if (memv syntmp-t-1486 (quote (free-id atom))) syntmp-r-1485 (if (memv syntmp-t-1486 (quote (vector))) (syntmp-match-empty-1464 (vector-ref syntmp-p-1484 1) syntmp-r-1485))))))))) (syntmp-match-each-any-1463 (lambda (syntmp-e-1487 syntmp-w-1488 syntmp-mod-1489) (cond ((annotation? syntmp-e-1487) (syntmp-match-each-any-1463 (annotation-expression syntmp-e-1487) syntmp-w-1488 syntmp-mod-1489)) ((pair? syntmp-e-1487) (let ((syntmp-l-1490 (syntmp-match-each-any-1463 (cdr syntmp-e-1487) syntmp-w-1488 syntmp-mod-1489))) (and syntmp-l-1490 (cons (syntmp-wrap-145 (car syntmp-e-1487) syntmp-w-1488 syntmp-mod-1489) syntmp-l-1490)))) ((null? syntmp-e-1487) (quote ())) ((syntmp-syntax-object?-101 syntmp-e-1487) (syntmp-match-each-any-1463 (syntmp-syntax-object-expression-102 syntmp-e-1487) (syntmp-join-wraps-136 syntmp-w-1488 (syntmp-syntax-object-wrap-103 syntmp-e-1487)) syntmp-mod-1489)) (else #f)))) (syntmp-match-each-1462 (lambda (syntmp-e-1491 syntmp-p-1492 syntmp-w-1493 syntmp-mod-1494) (cond ((annotation? syntmp-e-1491) (syntmp-match-each-1462 (annotation-expression syntmp-e-1491) syntmp-p-1492 syntmp-w-1493 syntmp-mod-1494)) ((pair? syntmp-e-1491) (let ((syntmp-first-1495 (syntmp-match-1466 (car syntmp-e-1491) syntmp-p-1492 syntmp-w-1493 (quote ()) syntmp-mod-1494))) (and syntmp-first-1495 (let ((syntmp-rest-1496 (syntmp-match-each-1462 (cdr syntmp-e-1491) syntmp-p-1492 syntmp-w-1493 syntmp-mod-1494))) (and syntmp-rest-1496 (cons syntmp-first-1495 syntmp-rest-1496)))))) ((null? syntmp-e-1491) (quote ())) ((syntmp-syntax-object?-101 syntmp-e-1491) (syntmp-match-each-1462 (syntmp-syntax-object-expression-102 syntmp-e-1491) syntmp-p-1492 (syntmp-join-wraps-136 syntmp-w-1493 (syntmp-syntax-object-wrap-103 syntmp-e-1491)) (syntmp-syntax-object-module-104 syntmp-e-1491))) (else #f))))) (begin (set! syntax-dispatch (lambda (syntmp-e-1497 syntmp-p-1498) (cond ((eq? syntmp-p-1498 (quote any)) (list syntmp-e-1497)) ((syntmp-syntax-object?-101 syntmp-e-1497) (syntmp-match*-1465 (let ((syntmp-e-1499 (syntmp-syntax-object-expression-102 syntmp-e-1497))) (if (annotation? syntmp-e-1499) (annotation-expression syntmp-e-1499) syntmp-e-1499)) syntmp-p-1498 (syntmp-syntax-object-wrap-103 syntmp-e-1497) (quote ()) (syntmp-syntax-object-module-104 syntmp-e-1497))) (else (syntmp-match*-1465 (let ((syntmp-e-1500 syntmp-e-1497)) (if (annotation? syntmp-e-1500) (annotation-expression syntmp-e-1500) syntmp-e-1500)) syntmp-p-1498 (quote (())) (quote ()) #f))))) (set! sc-chi syntmp-chi-153)))))
-(install-global-transformer (quote with-syntax) (lambda (syntmp-x-1501) ((lambda (syntmp-tmp-1502) ((lambda (syntmp-tmp-1503) (if syntmp-tmp-1503 (apply (lambda (syntmp-_-1504 syntmp-e1-1505 syntmp-e2-1506) (cons (quote #(syntax-object begin ((top) #(ribcage #(_ e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (cons syntmp-e1-1505 syntmp-e2-1506))) syntmp-tmp-1503) ((lambda (syntmp-tmp-1508) (if syntmp-tmp-1508 (apply (lambda (syntmp-_-1509 syntmp-out-1510 syntmp-in-1511 syntmp-e1-1512 syntmp-e2-1513) (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"))) (ice-9 syncase))) syntmp-in-1511 (quote ()) (list syntmp-out-1510 (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"))) (ice-9 syncase))) (cons syntmp-e1-1512 syntmp-e2-1513))))) syntmp-tmp-1508) ((lambda (syntmp-tmp-1515) (if syntmp-tmp-1515 (apply (lambda (syntmp-_-1516 syntmp-out-1517 syntmp-in-1518 syntmp-e1-1519 syntmp-e2-1520) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) syntmp-in-1518) (quote ()) (list syntmp-out-1517 (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"))) (ice-9 syncase))) (cons syntmp-e1-1519 syntmp-e2-1520))))) syntmp-tmp-1515) (syntax-error syntmp-tmp-1502))) (syntax-dispatch syntmp-tmp-1502 (quote (any #(each (any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1502 (quote (any ((any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1502 (quote (any () any . each-any))))) syntmp-x-1501)))
-(install-global-transformer (quote syntax-rules) (lambda (syntmp-x-1542) ((lambda (syntmp-tmp-1543) ((lambda (syntmp-tmp-1544) (if syntmp-tmp-1544 (apply (lambda (syntmp-_-1545 syntmp-k-1546 syntmp-keyword-1547 syntmp-pattern-1548 syntmp-template-1549) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase)))) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (cons syntmp-k-1546 (map (lambda (syntmp-tmp-1552 syntmp-tmp-1551) (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"))) (ice-9 syncase))) syntmp-tmp-1551) (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"))) (ice-9 syncase))) syntmp-tmp-1552))) syntmp-template-1549 syntmp-pattern-1548)))))) syntmp-tmp-1544) (syntax-error syntmp-tmp-1543))) (syntax-dispatch syntmp-tmp-1543 (quote (any each-any . #(each ((any . any) any))))))) syntmp-x-1542)))
-(install-global-transformer (quote let*) (lambda (syntmp-x-1563) ((lambda (syntmp-tmp-1564) ((lambda (syntmp-tmp-1565) (if (if syntmp-tmp-1565 (apply (lambda (syntmp-let*-1566 syntmp-x-1567 syntmp-v-1568 syntmp-e1-1569 syntmp-e2-1570) (andmap identifier? syntmp-x-1567)) syntmp-tmp-1565) #f) (apply (lambda (syntmp-let*-1572 syntmp-x-1573 syntmp-v-1574 syntmp-e1-1575 syntmp-e2-1576) (let syntmp-f-1577 ((syntmp-bindings-1578 (map list syntmp-x-1573 syntmp-v-1574))) (if (null? syntmp-bindings-1578) (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"))) (ice-9 syncase))) (cons (quote ()) (cons syntmp-e1-1575 syntmp-e2-1576))) ((lambda (syntmp-tmp-1582) ((lambda (syntmp-tmp-1583) (if syntmp-tmp-1583 (apply (lambda (syntmp-body-1584 syntmp-binding-1585) (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"))) (ice-9 syncase))) (list syntmp-binding-1585) syntmp-body-1584)) syntmp-tmp-1583) (syntax-error syntmp-tmp-1582))) (syntax-dispatch syntmp-tmp-1582 (quote (any any))))) (list (syntmp-f-1577 (cdr syntmp-bindings-1578)) (car syntmp-bindings-1578)))))) syntmp-tmp-1565) (syntax-error syntmp-tmp-1564))) (syntax-dispatch syntmp-tmp-1564 (quote (any #(each (any any)) any . each-any))))) syntmp-x-1563)))
-(install-global-transformer (quote do) (lambda (syntmp-orig-x-1605) ((lambda (syntmp-tmp-1606) ((lambda (syntmp-tmp-1607) (if syntmp-tmp-1607 (apply (lambda (syntmp-_-1608 syntmp-var-1609 syntmp-init-1610 syntmp-step-1611 syntmp-e0-1612 syntmp-e1-1613 syntmp-c-1614) ((lambda (syntmp-tmp-1615) ((lambda (syntmp-tmp-1616) (if syntmp-tmp-1616 (apply (lambda (syntmp-step-1617) ((lambda (syntmp-tmp-1618) ((lambda (syntmp-tmp-1619) (if syntmp-tmp-1619 (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (map list syntmp-var-1609 syntmp-init-1610) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) syntmp-e0-1612) (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"))) (ice-9 syncase))) (append syntmp-c-1614 (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"))) (ice-9 syncase))) syntmp-step-1617))))))) syntmp-tmp-1619) ((lambda (syntmp-tmp-1624) (if syntmp-tmp-1624 (apply (lambda (syntmp-e1-1625 syntmp-e2-1626) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (map list syntmp-var-1609 syntmp-init-1610) (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"))) (ice-9 syncase))) syntmp-e0-1612 (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"))) (ice-9 syncase))) (cons syntmp-e1-1625 syntmp-e2-1626)) (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"))) (ice-9 syncase))) (append syntmp-c-1614 (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"))) (ice-9 syncase))) syntmp-step-1617))))))) syntmp-tmp-1624) (syntax-error syntmp-tmp-1618))) (syntax-dispatch syntmp-tmp-1618 (quote (any . each-any)))))) (syntax-dispatch syntmp-tmp-1618 (quote ())))) syntmp-e1-1613)) syntmp-tmp-1616) (syntax-error syntmp-tmp-1615))) (syntax-dispatch syntmp-tmp-1615 (quote each-any)))) (map (lambda (syntmp-v-1633 syntmp-s-1634) ((lambda (syntmp-tmp-1635) ((lambda (syntmp-tmp-1636) (if syntmp-tmp-1636 (apply (lambda () syntmp-v-1633) syntmp-tmp-1636) ((lambda (syntmp-tmp-1637) (if syntmp-tmp-1637 (apply (lambda (syntmp-e-1638) syntmp-e-1638) syntmp-tmp-1637) ((lambda (syntmp-_-1639) (syntax-error syntmp-orig-x-1605)) syntmp-tmp-1635))) (syntax-dispatch syntmp-tmp-1635 (quote (any)))))) (syntax-dispatch syntmp-tmp-1635 (quote ())))) syntmp-s-1634)) syntmp-var-1609 syntmp-step-1611))) syntmp-tmp-1607) (syntax-error syntmp-tmp-1606))) (syntax-dispatch syntmp-tmp-1606 (quote (any #(each (any any . any)) (any . each-any) . each-any))))) syntmp-orig-x-1605)))
-(install-global-transformer (quote quasiquote) (letrec ((syntmp-quasicons-1667 (lambda (syntmp-x-1671 syntmp-y-1672) ((lambda (syntmp-tmp-1673) ((lambda (syntmp-tmp-1674) (if syntmp-tmp-1674 (apply (lambda (syntmp-x-1675 syntmp-y-1676) ((lambda (syntmp-tmp-1677) ((lambda (syntmp-tmp-1678) (if syntmp-tmp-1678 (apply (lambda (syntmp-dy-1679) ((lambda (syntmp-tmp-1680) ((lambda (syntmp-tmp-1681) (if syntmp-tmp-1681 (apply (lambda (syntmp-dx-1682) (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"))) (ice-9 syncase))) (cons syntmp-dx-1682 syntmp-dy-1679))) syntmp-tmp-1681) ((lambda (syntmp-_-1683) (if (null? syntmp-dy-1679) (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"))) (ice-9 syncase))) syntmp-x-1675) (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"))) (ice-9 syncase))) syntmp-x-1675 syntmp-y-1676))) syntmp-tmp-1680))) (syntax-dispatch syntmp-tmp-1680 (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"))) (ice-9 syncase))) any))))) syntmp-x-1675)) syntmp-tmp-1678) ((lambda (syntmp-tmp-1684) (if syntmp-tmp-1684 (apply (lambda (syntmp-stuff-1685) (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"))) (ice-9 syncase))) (cons syntmp-x-1675 syntmp-stuff-1685))) syntmp-tmp-1684) ((lambda (syntmp-else-1686) (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"))) (ice-9 syncase))) syntmp-x-1675 syntmp-y-1676)) syntmp-tmp-1677))) (syntax-dispatch syntmp-tmp-1677 (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"))) (ice-9 syncase))) . any)))))) (syntax-dispatch syntmp-tmp-1677 (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"))) (ice-9 syncase))) any))))) syntmp-y-1676)) syntmp-tmp-1674) (syntax-error syntmp-tmp-1673))) (syntax-dispatch syntmp-tmp-1673 (quote (any any))))) (list syntmp-x-1671 syntmp-y-1672)))) (syntmp-quasiappend-1668 (lambda (syntmp-x-1687 syntmp-y-1688) ((lambda (syntmp-tmp-1689) ((lambda (syntmp-tmp-1690) (if syntmp-tmp-1690 (apply (lambda (syntmp-x-1691 syntmp-y-1692) ((lambda (syntmp-tmp-1693) ((lambda (syntmp-tmp-1694) (if syntmp-tmp-1694 (apply (lambda () syntmp-x-1691) syntmp-tmp-1694) ((lambda (syntmp-_-1695) (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"))) (ice-9 syncase))) syntmp-x-1691 syntmp-y-1692)) syntmp-tmp-1693))) (syntax-dispatch syntmp-tmp-1693 (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"))) (ice-9 syncase))) ()))))) syntmp-y-1692)) syntmp-tmp-1690) (syntax-error syntmp-tmp-1689))) (syntax-dispatch syntmp-tmp-1689 (quote (any any))))) (list syntmp-x-1687 syntmp-y-1688)))) (syntmp-quasivector-1669 (lambda (syntmp-x-1696) ((lambda (syntmp-tmp-1697) ((lambda (syntmp-x-1698) ((lambda (syntmp-tmp-1699) ((lambda (syntmp-tmp-1700) (if syntmp-tmp-1700 (apply (lambda (syntmp-x-1701) (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"))) (ice-9 syncase))) (list->vector syntmp-x-1701))) syntmp-tmp-1700) ((lambda (syntmp-tmp-1703) (if syntmp-tmp-1703 (apply (lambda (syntmp-x-1704) (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"))) (ice-9 syncase))) syntmp-x-1704)) syntmp-tmp-1703) ((lambda (syntmp-_-1706) (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"))) (ice-9 syncase))) syntmp-x-1698)) syntmp-tmp-1699))) (syntax-dispatch syntmp-tmp-1699 (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"))) (ice-9 syncase))) . each-any)))))) (syntax-dispatch syntmp-tmp-1699 (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"))) (ice-9 syncase))) each-any))))) syntmp-x-1698)) syntmp-tmp-1697)) syntmp-x-1696))) (syntmp-quasi-1670 (lambda (syntmp-p-1707 syntmp-lev-1708) ((lambda (syntmp-tmp-1709) ((lambda (syntmp-tmp-1710) (if syntmp-tmp-1710 (apply (lambda (syntmp-p-1711) (if (= syntmp-lev-1708 0) syntmp-p-1711 (syntmp-quasicons-1667 (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"))) (ice-9 syncase)) #(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"))) (ice-9 syncase)))) (syntmp-quasi-1670 (list syntmp-p-1711) (- syntmp-lev-1708 1))))) syntmp-tmp-1710) ((lambda (syntmp-tmp-1712) (if syntmp-tmp-1712 (apply (lambda (syntmp-p-1713 syntmp-q-1714) (if (= syntmp-lev-1708 0) (syntmp-quasiappend-1668 syntmp-p-1713 (syntmp-quasi-1670 syntmp-q-1714 syntmp-lev-1708)) (syntmp-quasicons-1667 (syntmp-quasicons-1667 (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"))) (ice-9 syncase)) #(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"))) (ice-9 syncase)))) (syntmp-quasi-1670 (list syntmp-p-1713) (- syntmp-lev-1708 1))) (syntmp-quasi-1670 syntmp-q-1714 syntmp-lev-1708)))) syntmp-tmp-1712) ((lambda (syntmp-tmp-1715) (if syntmp-tmp-1715 (apply (lambda (syntmp-p-1716) (syntmp-quasicons-1667 (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"))) (ice-9 syncase)) #(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"))) (ice-9 syncase)))) (syntmp-quasi-1670 (list syntmp-p-1716) (+ syntmp-lev-1708 1)))) syntmp-tmp-1715) ((lambda (syntmp-tmp-1717) (if syntmp-tmp-1717 (apply (lambda (syntmp-p-1718 syntmp-q-1719) (syntmp-quasicons-1667 (syntmp-quasi-1670 syntmp-p-1718 syntmp-lev-1708) (syntmp-quasi-1670 syntmp-q-1719 syntmp-lev-1708))) syntmp-tmp-1717) ((lambda (syntmp-tmp-1720) (if syntmp-tmp-1720 (apply (lambda (syntmp-x-1721) (syntmp-quasivector-1669 (syntmp-quasi-1670 syntmp-x-1721 syntmp-lev-1708))) syntmp-tmp-1720) ((lambda (syntmp-p-1723) (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"))) (ice-9 syncase))) syntmp-p-1723)) syntmp-tmp-1709))) (syntax-dispatch syntmp-tmp-1709 (quote #(vector each-any)))))) (syntax-dispatch syntmp-tmp-1709 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1709 (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"))) (ice-9 syncase))) any)))))) (syntax-dispatch syntmp-tmp-1709 (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"))) (ice-9 syncase))) any) . any)))))) (syntax-dispatch syntmp-tmp-1709 (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"))) (ice-9 syncase))) any))))) syntmp-p-1707)))) (lambda (syntmp-x-1724) ((lambda (syntmp-tmp-1725) ((lambda (syntmp-tmp-1726) (if syntmp-tmp-1726 (apply (lambda (syntmp-_-1727 syntmp-e-1728) (syntmp-quasi-1670 syntmp-e-1728 0)) syntmp-tmp-1726) (syntax-error syntmp-tmp-1725))) (syntax-dispatch syntmp-tmp-1725 (quote (any any))))) syntmp-x-1724))))
-(install-global-transformer (quote include) (lambda (syntmp-x-1788) (letrec ((syntmp-read-file-1789 (lambda (syntmp-fn-1790 syntmp-k-1791) (let ((syntmp-p-1792 (open-input-file syntmp-fn-1790))) (let syntmp-f-1793 ((syntmp-x-1794 (read syntmp-p-1792))) (if (eof-object? syntmp-x-1794) (begin (close-input-port syntmp-p-1792) (quote ())) (cons (datum->syntax-object syntmp-k-1791 syntmp-x-1794) (syntmp-f-1793 (read syntmp-p-1792))))))))) ((lambda (syntmp-tmp-1795) ((lambda (syntmp-tmp-1796) (if syntmp-tmp-1796 (apply (lambda (syntmp-k-1797 syntmp-filename-1798) (let ((syntmp-fn-1799 (syntax-object->datum syntmp-filename-1798))) ((lambda (syntmp-tmp-1800) ((lambda (syntmp-tmp-1801) (if syntmp-tmp-1801 (apply (lambda (syntmp-exp-1802) (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"))) (ice-9 syncase))) syntmp-exp-1802)) syntmp-tmp-1801) (syntax-error syntmp-tmp-1800))) (syntax-dispatch syntmp-tmp-1800 (quote each-any)))) (syntmp-read-file-1789 syntmp-fn-1799 syntmp-k-1797)))) syntmp-tmp-1796) (syntax-error syntmp-tmp-1795))) (syntax-dispatch syntmp-tmp-1795 (quote (any any))))) syntmp-x-1788))))
-(install-global-transformer (quote unquote) (lambda (syntmp-x-1819) ((lambda (syntmp-tmp-1820) ((lambda (syntmp-tmp-1821) (if syntmp-tmp-1821 (apply (lambda (syntmp-_-1822 syntmp-e-1823) (error (quote unquote) "expression ,~s not valid outside of quasiquote" (syntax-object->datum syntmp-e-1823))) syntmp-tmp-1821) (syntax-error syntmp-tmp-1820))) (syntax-dispatch syntmp-tmp-1820 (quote (any any))))) syntmp-x-1819)))
-(install-global-transformer (quote unquote-splicing) (lambda (syntmp-x-1829) ((lambda (syntmp-tmp-1830) ((lambda (syntmp-tmp-1831) (if syntmp-tmp-1831 (apply (lambda (syntmp-_-1832 syntmp-e-1833) (error (quote unquote-splicing) "expression ,@~s not valid outside of quasiquote" (syntax-object->datum syntmp-e-1833))) syntmp-tmp-1831) (syntax-error syntmp-tmp-1830))) (syntax-dispatch syntmp-tmp-1830 (quote (any any))))) syntmp-x-1829)))
-(install-global-transformer (quote case) (lambda (syntmp-x-1839) ((lambda (syntmp-tmp-1840) ((lambda (syntmp-tmp-1841) (if syntmp-tmp-1841 (apply (lambda (syntmp-_-1842 syntmp-e-1843 syntmp-m1-1844 syntmp-m2-1845) ((lambda (syntmp-tmp-1846) ((lambda (syntmp-body-1847) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) syntmp-e-1843)) syntmp-body-1847)) syntmp-tmp-1846)) (let syntmp-f-1848 ((syntmp-clause-1849 syntmp-m1-1844) (syntmp-clauses-1850 syntmp-m2-1845)) (if (null? syntmp-clauses-1850) ((lambda (syntmp-tmp-1852) ((lambda (syntmp-tmp-1853) (if syntmp-tmp-1853 (apply (lambda (syntmp-e1-1854 syntmp-e2-1855) (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"))) (ice-9 syncase))) (cons syntmp-e1-1854 syntmp-e2-1855))) syntmp-tmp-1853) ((lambda (syntmp-tmp-1857) (if syntmp-tmp-1857 (apply (lambda (syntmp-k-1858 syntmp-e1-1859 syntmp-e2-1860) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) syntmp-k-1858)) (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"))) (ice-9 syncase))) (cons syntmp-e1-1859 syntmp-e2-1860)))) syntmp-tmp-1857) ((lambda (syntmp-_-1863) (syntax-error syntmp-x-1839)) syntmp-tmp-1852))) (syntax-dispatch syntmp-tmp-1852 (quote (each-any any . each-any)))))) (syntax-dispatch syntmp-tmp-1852 (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"))) (ice-9 syncase))) any . each-any))))) syntmp-clause-1849) ((lambda (syntmp-tmp-1864) ((lambda (syntmp-rest-1865) ((lambda (syntmp-tmp-1866) ((lambda (syntmp-tmp-1867) (if syntmp-tmp-1867 (apply (lambda (syntmp-k-1868 syntmp-e1-1869 syntmp-e2-1870) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) syntmp-k-1868)) (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"))) (ice-9 syncase))) (cons syntmp-e1-1869 syntmp-e2-1870)) syntmp-rest-1865)) syntmp-tmp-1867) ((lambda (syntmp-_-1873) (syntax-error syntmp-x-1839)) syntmp-tmp-1866))) (syntax-dispatch syntmp-tmp-1866 (quote (each-any any . each-any))))) syntmp-clause-1849)) syntmp-tmp-1864)) (syntmp-f-1848 (car syntmp-clauses-1850) (cdr syntmp-clauses-1850))))))) syntmp-tmp-1841) (syntax-error syntmp-tmp-1840))) (syntax-dispatch syntmp-tmp-1840 (quote (any any any . each-any))))) syntmp-x-1839)))
-(install-global-transformer (quote identifier-syntax) (lambda (syntmp-x-1903) ((lambda (syntmp-tmp-1904) ((lambda (syntmp-tmp-1905) (if syntmp-tmp-1905 (apply (lambda (syntmp-_-1906 syntmp-e-1907) (list (quote #(syntax-object lambda ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)))) (list (quote #(syntax-object syntax-case ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (quote #(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (quote ()) (list (quote #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (quote (#(syntax-object identifier? ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)) (#(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)) #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))))) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) syntmp-e-1907)) (list (cons syntmp-_-1906 (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))))) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (cons syntmp-e-1907 (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)))))))))) syntmp-tmp-1905) (syntax-error syntmp-tmp-1904))) (syntax-dispatch syntmp-tmp-1904 (quote (any any))))) syntmp-x-1903)))
+(letrec ((syntmp-lambda-var-list-166 (lambda (syntmp-vars-557) (let syntmp-lvl-558 ((syntmp-vars-559 syntmp-vars-557) (syntmp-ls-560 (quote ())) (syntmp-w-561 (quote (())))) (cond ((pair? syntmp-vars-559) (syntmp-lvl-558 (cdr syntmp-vars-559) (cons (syntmp-wrap-145 (car syntmp-vars-559) syntmp-w-561 #f) syntmp-ls-560) syntmp-w-561)) ((syntmp-id?-117 syntmp-vars-559) (cons (syntmp-wrap-145 syntmp-vars-559 syntmp-w-561 #f) syntmp-ls-560)) ((null? syntmp-vars-559) syntmp-ls-560) ((syntmp-syntax-object?-101 syntmp-vars-559) (syntmp-lvl-558 (syntmp-syntax-object-expression-102 syntmp-vars-559) syntmp-ls-560 (syntmp-join-wraps-136 syntmp-w-561 (syntmp-syntax-object-wrap-103 syntmp-vars-559)))) ((annotation? syntmp-vars-559) (syntmp-lvl-558 (annotation-expression syntmp-vars-559) syntmp-ls-560 syntmp-w-561)) (else (cons syntmp-vars-559 syntmp-ls-560)))))) (syntmp-gen-var-165 (lambda (syntmp-id-562) (let ((syntmp-id-563 (if (syntmp-syntax-object?-101 syntmp-id-562) (syntmp-syntax-object-expression-102 syntmp-id-562) syntmp-id-562))) (if (annotation? syntmp-id-563) (syntmp-build-annotated-94 (annotation-source syntmp-id-563) (gensym (symbol->string (annotation-expression syntmp-id-563)))) (syntmp-build-annotated-94 #f (gensym (symbol->string syntmp-id-563))))))) (syntmp-strip-164 (lambda (syntmp-x-564 syntmp-w-565) (if (memq (quote top) (syntmp-wrap-marks-120 syntmp-w-565)) (if (or (annotation? syntmp-x-564) (and (pair? syntmp-x-564) (annotation? (car syntmp-x-564)))) (syntmp-strip-annotation-163 syntmp-x-564 #f) syntmp-x-564) (let syntmp-f-566 ((syntmp-x-567 syntmp-x-564)) (cond ((syntmp-syntax-object?-101 syntmp-x-567) (syntmp-strip-164 (syntmp-syntax-object-expression-102 syntmp-x-567) (syntmp-syntax-object-wrap-103 syntmp-x-567))) ((pair? syntmp-x-567) (let ((syntmp-a-568 (syntmp-f-566 (car syntmp-x-567))) (syntmp-d-569 (syntmp-f-566 (cdr syntmp-x-567)))) (if (and (eq? syntmp-a-568 (car syntmp-x-567)) (eq? syntmp-d-569 (cdr syntmp-x-567))) syntmp-x-567 (cons syntmp-a-568 syntmp-d-569)))) ((vector? syntmp-x-567) (let ((syntmp-old-570 (vector->list syntmp-x-567))) (let ((syntmp-new-571 (map syntmp-f-566 syntmp-old-570))) (if (andmap eq? syntmp-old-570 syntmp-new-571) syntmp-x-567 (list->vector syntmp-new-571))))) (else syntmp-x-567)))))) (syntmp-strip-annotation-163 (lambda (syntmp-x-572 syntmp-parent-573) (cond ((pair? syntmp-x-572) (let ((syntmp-new-574 (cons #f #f))) (begin (if syntmp-parent-573 (set-annotation-stripped! syntmp-parent-573 syntmp-new-574)) (set-car! syntmp-new-574 (syntmp-strip-annotation-163 (car syntmp-x-572) #f)) (set-cdr! syntmp-new-574 (syntmp-strip-annotation-163 (cdr syntmp-x-572) #f)) syntmp-new-574))) ((annotation? syntmp-x-572) (or (annotation-stripped syntmp-x-572) (syntmp-strip-annotation-163 (annotation-expression syntmp-x-572) syntmp-x-572))) ((vector? syntmp-x-572) (let ((syntmp-new-575 (make-vector (vector-length syntmp-x-572)))) (begin (if syntmp-parent-573 (set-annotation-stripped! syntmp-parent-573 syntmp-new-575)) (let syntmp-loop-576 ((syntmp-i-577 (- (vector-length syntmp-x-572) 1))) (unless (syntmp-fx<-88 syntmp-i-577 0) (vector-set! syntmp-new-575 syntmp-i-577 (syntmp-strip-annotation-163 (vector-ref syntmp-x-572 syntmp-i-577) #f)) (syntmp-loop-576 (syntmp-fx--86 syntmp-i-577 1)))) syntmp-new-575))) (else syntmp-x-572)))) (syntmp-ellipsis?-162 (lambda (syntmp-x-578) (and (syntmp-nonsymbol-id?-116 syntmp-x-578) (syntmp-free-id=?-140 syntmp-x-578 (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"))) (ice-9 syncase))))))) (syntmp-chi-void-161 (lambda () (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote void)))))) (syntmp-eval-local-transformer-160 (lambda (syntmp-expanded-579 syntmp-mod-580) (let ((syntmp-p-581 (syntmp-local-eval-hook-90 syntmp-expanded-579 syntmp-mod-580))) (if (procedure? syntmp-p-581) syntmp-p-581 (syntax-error syntmp-p-581 "nonprocedure transformer"))))) (syntmp-chi-local-syntax-159 (lambda (syntmp-rec?-582 syntmp-e-583 syntmp-r-584 syntmp-w-585 syntmp-s-586 syntmp-mod-587 syntmp-k-588) ((lambda (syntmp-tmp-589) ((lambda (syntmp-tmp-590) (if syntmp-tmp-590 (apply (lambda (syntmp-_-591 syntmp-id-592 syntmp-val-593 syntmp-e1-594 syntmp-e2-595) (let ((syntmp-ids-596 syntmp-id-592)) (if (not (syntmp-valid-bound-ids?-142 syntmp-ids-596)) (syntax-error syntmp-e-583 "duplicate bound keyword in") (let ((syntmp-labels-598 (syntmp-gen-labels-123 syntmp-ids-596))) (let ((syntmp-new-w-599 (syntmp-make-binding-wrap-134 syntmp-ids-596 syntmp-labels-598 syntmp-w-585))) (syntmp-k-588 (cons syntmp-e1-594 syntmp-e2-595) (syntmp-extend-env-111 syntmp-labels-598 (let ((syntmp-w-601 (if syntmp-rec?-582 syntmp-new-w-599 syntmp-w-585)) (syntmp-trans-r-602 (syntmp-macros-only-env-113 syntmp-r-584))) (map (lambda (syntmp-x-603) (cons (quote macro) (syntmp-eval-local-transformer-160 (syntmp-chi-153 syntmp-x-603 syntmp-trans-r-602 syntmp-w-601 syntmp-mod-587) syntmp-mod-587))) syntmp-val-593)) syntmp-r-584) syntmp-new-w-599 syntmp-s-586 syntmp-mod-587)))))) syntmp-tmp-590) ((lambda (syntmp-_-605) (syntax-error (syntmp-source-wrap-146 syntmp-e-583 syntmp-w-585 syntmp-s-586 syntmp-mod-587))) syntmp-tmp-589))) (syntax-dispatch syntmp-tmp-589 (quote (any #(each (any any)) any . each-any))))) syntmp-e-583))) (syntmp-chi-lambda-clause-158 (lambda (syntmp-e-606 syntmp-c-607 syntmp-r-608 syntmp-w-609 syntmp-mod-610 syntmp-k-611) ((lambda (syntmp-tmp-612) ((lambda (syntmp-tmp-613) (if syntmp-tmp-613 (apply (lambda (syntmp-id-614 syntmp-e1-615 syntmp-e2-616) (let ((syntmp-ids-617 syntmp-id-614)) (if (not (syntmp-valid-bound-ids?-142 syntmp-ids-617)) (syntax-error syntmp-e-606 "invalid parameter list in") (let ((syntmp-labels-619 (syntmp-gen-labels-123 syntmp-ids-617)) (syntmp-new-vars-620 (map syntmp-gen-var-165 syntmp-ids-617))) (syntmp-k-611 syntmp-new-vars-620 (syntmp-chi-body-157 (cons syntmp-e1-615 syntmp-e2-616) syntmp-e-606 (syntmp-extend-var-env-112 syntmp-labels-619 syntmp-new-vars-620 syntmp-r-608) (syntmp-make-binding-wrap-134 syntmp-ids-617 syntmp-labels-619 syntmp-w-609) syntmp-mod-610)))))) syntmp-tmp-613) ((lambda (syntmp-tmp-622) (if syntmp-tmp-622 (apply (lambda (syntmp-ids-623 syntmp-e1-624 syntmp-e2-625) (let ((syntmp-old-ids-626 (syntmp-lambda-var-list-166 syntmp-ids-623))) (if (not (syntmp-valid-bound-ids?-142 syntmp-old-ids-626)) (syntax-error syntmp-e-606 "invalid parameter list in") (let ((syntmp-labels-627 (syntmp-gen-labels-123 syntmp-old-ids-626)) (syntmp-new-vars-628 (map syntmp-gen-var-165 syntmp-old-ids-626))) (syntmp-k-611 (let syntmp-f-629 ((syntmp-ls1-630 (cdr syntmp-new-vars-628)) (syntmp-ls2-631 (car syntmp-new-vars-628))) (if (null? syntmp-ls1-630) syntmp-ls2-631 (syntmp-f-629 (cdr syntmp-ls1-630) (cons (car syntmp-ls1-630) syntmp-ls2-631)))) (syntmp-chi-body-157 (cons syntmp-e1-624 syntmp-e2-625) syntmp-e-606 (syntmp-extend-var-env-112 syntmp-labels-627 syntmp-new-vars-628 syntmp-r-608) (syntmp-make-binding-wrap-134 syntmp-old-ids-626 syntmp-labels-627 syntmp-w-609) syntmp-mod-610)))))) syntmp-tmp-622) ((lambda (syntmp-_-633) (syntax-error syntmp-e-606)) syntmp-tmp-612))) (syntax-dispatch syntmp-tmp-612 (quote (any any . each-any)))))) (syntax-dispatch syntmp-tmp-612 (quote (each-any any . each-any))))) syntmp-c-607))) (syntmp-chi-body-157 (lambda (syntmp-body-634 syntmp-outer-form-635 syntmp-r-636 syntmp-w-637 syntmp-mod-638) (let ((syntmp-r-639 (cons (quote ("placeholder" placeholder)) syntmp-r-636))) (let ((syntmp-ribcage-640 (syntmp-make-ribcage-124 (quote ()) (quote ()) (quote ())))) (let ((syntmp-w-641 (syntmp-make-wrap-119 (syntmp-wrap-marks-120 syntmp-w-637) (cons syntmp-ribcage-640 (syntmp-wrap-subst-121 syntmp-w-637))))) (let syntmp-parse-642 ((syntmp-body-643 (map (lambda (syntmp-x-649) (cons syntmp-r-639 (syntmp-wrap-145 syntmp-x-649 syntmp-w-641 syntmp-mod-638))) syntmp-body-634)) (syntmp-ids-644 (quote ())) (syntmp-labels-645 (quote ())) (syntmp-vars-646 (quote ())) (syntmp-vals-647 (quote ())) (syntmp-bindings-648 (quote ()))) (if (null? syntmp-body-643) (syntax-error syntmp-outer-form-635 "no expressions in body") (let ((syntmp-e-650 (cdar syntmp-body-643)) (syntmp-er-651 (caar syntmp-body-643))) (call-with-values (lambda () (syntmp-syntax-type-151 syntmp-e-650 syntmp-er-651 (quote (())) #f syntmp-ribcage-640 syntmp-mod-638)) (lambda (syntmp-type-652 syntmp-value-653 syntmp-e-654 syntmp-w-655 syntmp-s-656 syntmp-mod-657) (let ((syntmp-t-658 syntmp-type-652)) (if (memv syntmp-t-658 (quote (define-form))) (let ((syntmp-id-659 (syntmp-wrap-145 syntmp-value-653 syntmp-w-655 syntmp-mod-657)) (syntmp-label-660 (syntmp-gen-label-122))) (let ((syntmp-var-661 (syntmp-gen-var-165 syntmp-id-659))) (begin (syntmp-extend-ribcage!-133 syntmp-ribcage-640 syntmp-id-659 syntmp-label-660) (syntmp-parse-642 (cdr syntmp-body-643) (cons syntmp-id-659 syntmp-ids-644) (cons syntmp-label-660 syntmp-labels-645) (cons syntmp-var-661 syntmp-vars-646) (cons (cons syntmp-er-651 (syntmp-wrap-145 syntmp-e-654 syntmp-w-655 syntmp-mod-657)) syntmp-vals-647) (cons (cons (quote lexical) syntmp-var-661) syntmp-bindings-648))))) (if (memv syntmp-t-658 (quote (define-syntax-form))) (let ((syntmp-id-662 (syntmp-wrap-145 syntmp-value-653 syntmp-w-655 syntmp-mod-657)) (syntmp-label-663 (syntmp-gen-label-122))) (begin (syntmp-extend-ribcage!-133 syntmp-ribcage-640 syntmp-id-662 syntmp-label-663) (syntmp-parse-642 (cdr syntmp-body-643) (cons syntmp-id-662 syntmp-ids-644) (cons syntmp-label-663 syntmp-labels-645) syntmp-vars-646 syntmp-vals-647 (cons (cons (quote macro) (cons syntmp-er-651 (syntmp-wrap-145 syntmp-e-654 syntmp-w-655 syntmp-mod-657))) syntmp-bindings-648)))) (if (memv syntmp-t-658 (quote (begin-form))) ((lambda (syntmp-tmp-664) ((lambda (syntmp-tmp-665) (if syntmp-tmp-665 (apply (lambda (syntmp-_-666 syntmp-e1-667) (syntmp-parse-642 (let syntmp-f-668 ((syntmp-forms-669 syntmp-e1-667)) (if (null? syntmp-forms-669) (cdr syntmp-body-643) (cons (cons syntmp-er-651 (syntmp-wrap-145 (car syntmp-forms-669) syntmp-w-655 syntmp-mod-657)) (syntmp-f-668 (cdr syntmp-forms-669))))) syntmp-ids-644 syntmp-labels-645 syntmp-vars-646 syntmp-vals-647 syntmp-bindings-648)) syntmp-tmp-665) (syntax-error syntmp-tmp-664))) (syntax-dispatch syntmp-tmp-664 (quote (any . each-any))))) syntmp-e-654) (if (memv syntmp-t-658 (quote (local-syntax-form))) (syntmp-chi-local-syntax-159 syntmp-value-653 syntmp-e-654 syntmp-er-651 syntmp-w-655 syntmp-s-656 syntmp-mod-657 (lambda (syntmp-forms-671 syntmp-er-672 syntmp-w-673 syntmp-s-674 syntmp-mod-675) (syntmp-parse-642 (let syntmp-f-676 ((syntmp-forms-677 syntmp-forms-671)) (if (null? syntmp-forms-677) (cdr syntmp-body-643) (cons (cons syntmp-er-672 (syntmp-wrap-145 (car syntmp-forms-677) syntmp-w-673 syntmp-mod-675)) (syntmp-f-676 (cdr syntmp-forms-677))))) syntmp-ids-644 syntmp-labels-645 syntmp-vars-646 syntmp-vals-647 syntmp-bindings-648))) (if (null? syntmp-ids-644) (syntmp-build-sequence-96 #f (map (lambda (syntmp-x-678) (syntmp-chi-153 (cdr syntmp-x-678) (car syntmp-x-678) (quote (())) syntmp-mod-657)) (cons (cons syntmp-er-651 (syntmp-source-wrap-146 syntmp-e-654 syntmp-w-655 syntmp-s-656 syntmp-mod-657)) (cdr syntmp-body-643)))) (begin (if (not (syntmp-valid-bound-ids?-142 syntmp-ids-644)) (syntax-error syntmp-outer-form-635 "invalid or duplicate identifier in definition")) (let syntmp-loop-679 ((syntmp-bs-680 syntmp-bindings-648) (syntmp-er-cache-681 #f) (syntmp-r-cache-682 #f)) (if (not (null? syntmp-bs-680)) (let ((syntmp-b-683 (car syntmp-bs-680))) (if (eq? (car syntmp-b-683) (quote macro)) (let ((syntmp-er-684 (cadr syntmp-b-683))) (let ((syntmp-r-cache-685 (if (eq? syntmp-er-684 syntmp-er-cache-681) syntmp-r-cache-682 (syntmp-macros-only-env-113 syntmp-er-684)))) (begin (set-cdr! syntmp-b-683 (syntmp-eval-local-transformer-160 (syntmp-chi-153 (cddr syntmp-b-683) syntmp-r-cache-685 (quote (())) syntmp-mod-657) syntmp-mod-657)) (syntmp-loop-679 (cdr syntmp-bs-680) syntmp-er-684 syntmp-r-cache-685)))) (syntmp-loop-679 (cdr syntmp-bs-680) syntmp-er-cache-681 syntmp-r-cache-682))))) (set-cdr! syntmp-r-639 (syntmp-extend-env-111 syntmp-labels-645 syntmp-bindings-648 (cdr syntmp-r-639))) (syntmp-build-letrec-99 #f syntmp-vars-646 (map (lambda (syntmp-x-686) (syntmp-chi-153 (cdr syntmp-x-686) (car syntmp-x-686) (quote (())) syntmp-mod-657)) syntmp-vals-647) (syntmp-build-sequence-96 #f (map (lambda (syntmp-x-687) (syntmp-chi-153 (cdr syntmp-x-687) (car syntmp-x-687) (quote (())) syntmp-mod-657)) (cons (cons syntmp-er-651 (syntmp-source-wrap-146 syntmp-e-654 syntmp-w-655 syntmp-s-656 syntmp-mod-657)) (cdr syntmp-body-643)))))))))))))))))))))) (syntmp-chi-macro-156 (lambda (syntmp-p-688 syntmp-e-689 syntmp-r-690 syntmp-w-691 syntmp-rib-692 syntmp-mod-693) (letrec ((syntmp-rebuild-macro-output-694 (lambda (syntmp-x-695 syntmp-m-696) (cond ((pair? syntmp-x-695) (cons (syntmp-rebuild-macro-output-694 (car syntmp-x-695) syntmp-m-696) (syntmp-rebuild-macro-output-694 (cdr syntmp-x-695) syntmp-m-696))) ((syntmp-syntax-object?-101 syntmp-x-695) (let ((syntmp-w-697 (syntmp-syntax-object-wrap-103 syntmp-x-695))) (let ((syntmp-ms-698 (syntmp-wrap-marks-120 syntmp-w-697)) (syntmp-s-699 (syntmp-wrap-subst-121 syntmp-w-697))) (if (and (pair? syntmp-ms-698) (eq? (car syntmp-ms-698) #f)) (syntmp-make-syntax-object-100 (syntmp-syntax-object-expression-102 syntmp-x-695) (syntmp-make-wrap-119 (cdr syntmp-ms-698) (if syntmp-rib-692 (cons syntmp-rib-692 (cdr syntmp-s-699)) (cdr syntmp-s-699))) (syntmp-syntax-object-module-104 syntmp-x-695)) (syntmp-make-syntax-object-100 (syntmp-syntax-object-expression-102 syntmp-x-695) (syntmp-make-wrap-119 (cons syntmp-m-696 syntmp-ms-698) (if syntmp-rib-692 (cons syntmp-rib-692 (cons (quote shift) syntmp-s-699)) (cons (quote shift) syntmp-s-699))) (module-name (procedure-module syntmp-p-688))))))) ((vector? syntmp-x-695) (let ((syntmp-n-700 (vector-length syntmp-x-695))) (let ((syntmp-v-701 (make-vector syntmp-n-700))) (let syntmp-doloop-702 ((syntmp-i-703 0)) (if (syntmp-fx=-87 syntmp-i-703 syntmp-n-700) syntmp-v-701 (begin (vector-set! syntmp-v-701 syntmp-i-703 (syntmp-rebuild-macro-output-694 (vector-ref syntmp-x-695 syntmp-i-703) syntmp-m-696)) (syntmp-doloop-702 (syntmp-fx+-85 syntmp-i-703 1)))))))) ((symbol? syntmp-x-695) (syntax-error syntmp-x-695 "encountered raw symbol in macro output")) (else syntmp-x-695))))) (syntmp-rebuild-macro-output-694 (syntmp-p-688 (syntmp-wrap-145 syntmp-e-689 (syntmp-anti-mark-132 syntmp-w-691) syntmp-mod-693)) (string #\m))))) (syntmp-chi-application-155 (lambda (syntmp-x-704 syntmp-e-705 syntmp-r-706 syntmp-w-707 syntmp-s-708 syntmp-mod-709) ((lambda (syntmp-tmp-710) ((lambda (syntmp-tmp-711) (if syntmp-tmp-711 (apply (lambda (syntmp-e0-712 syntmp-e1-713) (syntmp-build-annotated-94 syntmp-s-708 (cons syntmp-x-704 (map (lambda (syntmp-e-714) (syntmp-chi-153 syntmp-e-714 syntmp-r-706 syntmp-w-707 syntmp-mod-709)) syntmp-e1-713)))) syntmp-tmp-711) (syntax-error syntmp-tmp-710))) (syntax-dispatch syntmp-tmp-710 (quote (any . each-any))))) syntmp-e-705))) (syntmp-chi-expr-154 (lambda (syntmp-type-716 syntmp-value-717 syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (let ((syntmp-t-723 syntmp-type-716)) (if (memv syntmp-t-723 (quote (lexical))) (syntmp-build-annotated-94 syntmp-s-721 syntmp-value-717) (if (memv syntmp-t-723 (quote (core external-macro))) (syntmp-value-717 syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (if (memv syntmp-t-723 (quote (module-ref))) (call-with-values (lambda () (syntmp-value-717 syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722)) (lambda (syntmp-id-724 syntmp-mod-725) (syntmp-build-annotated-94 syntmp-s-721 (make-module-ref syntmp-mod-725 syntmp-id-724 #f)))) (if (memv syntmp-t-723 (quote (lexical-call))) (syntmp-chi-application-155 (syntmp-build-annotated-94 (syntmp-source-annotation-108 (car syntmp-e-718)) syntmp-value-717) syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (if (memv syntmp-t-723 (quote (global-call))) (syntmp-chi-application-155 (syntmp-build-annotated-94 (syntmp-source-annotation-108 (car syntmp-e-718)) (make-module-ref (if (syntmp-syntax-object?-101 (car syntmp-e-718)) (syntmp-syntax-object-module-104 (car syntmp-e-718)) syntmp-mod-722) syntmp-value-717 #f)) syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (if (memv syntmp-t-723 (quote (constant))) (syntmp-build-data-95 syntmp-s-721 (syntmp-strip-164 (syntmp-source-wrap-146 syntmp-e-718 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (quote (())))) (if (memv syntmp-t-723 (quote (global))) (syntmp-build-annotated-94 syntmp-s-721 (make-module-ref syntmp-mod-722 syntmp-value-717 #f)) (if (memv syntmp-t-723 (quote (call))) (syntmp-chi-application-155 (syntmp-chi-153 (car syntmp-e-718) syntmp-r-719 syntmp-w-720 syntmp-mod-722) syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (if (memv syntmp-t-723 (quote (begin-form))) ((lambda (syntmp-tmp-726) ((lambda (syntmp-tmp-727) (if syntmp-tmp-727 (apply (lambda (syntmp-_-728 syntmp-e1-729 syntmp-e2-730) (syntmp-chi-sequence-147 (cons syntmp-e1-729 syntmp-e2-730) syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722)) syntmp-tmp-727) (syntax-error syntmp-tmp-726))) (syntax-dispatch syntmp-tmp-726 (quote (any any . each-any))))) syntmp-e-718) (if (memv syntmp-t-723 (quote (local-syntax-form))) (syntmp-chi-local-syntax-159 syntmp-value-717 syntmp-e-718 syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722 syntmp-chi-sequence-147) (if (memv syntmp-t-723 (quote (eval-when-form))) ((lambda (syntmp-tmp-732) ((lambda (syntmp-tmp-733) (if syntmp-tmp-733 (apply (lambda (syntmp-_-734 syntmp-x-735 syntmp-e1-736 syntmp-e2-737) (let ((syntmp-when-list-738 (syntmp-chi-when-list-150 syntmp-e-718 syntmp-x-735 syntmp-w-720))) (if (memq (quote eval) syntmp-when-list-738) (syntmp-chi-sequence-147 (cons syntmp-e1-736 syntmp-e2-737) syntmp-r-719 syntmp-w-720 syntmp-s-721 syntmp-mod-722) (syntmp-chi-void-161)))) syntmp-tmp-733) (syntax-error syntmp-tmp-732))) (syntax-dispatch syntmp-tmp-732 (quote (any each-any any . each-any))))) syntmp-e-718) (if (memv syntmp-t-723 (quote (define-form define-syntax-form))) (syntax-error (syntmp-wrap-145 syntmp-value-717 syntmp-w-720 syntmp-mod-722) "invalid context for definition of") (if (memv syntmp-t-723 (quote (syntax))) (syntax-error (syntmp-source-wrap-146 syntmp-e-718 syntmp-w-720 syntmp-s-721 syntmp-mod-722) "reference to pattern variable outside syntax form") (if (memv syntmp-t-723 (quote (displaced-lexical))) (syntax-error (syntmp-source-wrap-146 syntmp-e-718 syntmp-w-720 syntmp-s-721 syntmp-mod-722) "reference to identifier outside its scope") (syntax-error (syntmp-source-wrap-146 syntmp-e-718 syntmp-w-720 syntmp-s-721 syntmp-mod-722))))))))))))))))))) (syntmp-chi-153 (lambda (syntmp-e-741 syntmp-r-742 syntmp-w-743 syntmp-mod-744) (call-with-values (lambda () (syntmp-syntax-type-151 syntmp-e-741 syntmp-r-742 syntmp-w-743 #f #f syntmp-mod-744)) (lambda (syntmp-type-745 syntmp-value-746 syntmp-e-747 syntmp-w-748 syntmp-s-749 syntmp-mod-750) (syntmp-chi-expr-154 syntmp-type-745 syntmp-value-746 syntmp-e-747 syntmp-r-742 syntmp-w-748 syntmp-s-749 syntmp-mod-750))))) (syntmp-chi-top-152 (lambda (syntmp-e-751 syntmp-r-752 syntmp-w-753 syntmp-m-754 syntmp-esew-755 syntmp-mod-756) (call-with-values (lambda () (syntmp-syntax-type-151 syntmp-e-751 syntmp-r-752 syntmp-w-753 #f #f syntmp-mod-756)) (lambda (syntmp-type-771 syntmp-value-772 syntmp-e-773 syntmp-w-774 syntmp-s-775 syntmp-mod-776) (let ((syntmp-t-777 syntmp-type-771)) (if (memv syntmp-t-777 (quote (begin-form))) ((lambda (syntmp-tmp-778) ((lambda (syntmp-tmp-779) (if syntmp-tmp-779 (apply (lambda (syntmp-_-780) (syntmp-chi-void-161)) syntmp-tmp-779) ((lambda (syntmp-tmp-781) (if syntmp-tmp-781 (apply (lambda (syntmp-_-782 syntmp-e1-783 syntmp-e2-784) (syntmp-chi-top-sequence-148 (cons syntmp-e1-783 syntmp-e2-784) syntmp-r-752 syntmp-w-774 syntmp-s-775 syntmp-m-754 syntmp-esew-755 syntmp-mod-776)) syntmp-tmp-781) (syntax-error syntmp-tmp-778))) (syntax-dispatch syntmp-tmp-778 (quote (any any . each-any)))))) (syntax-dispatch syntmp-tmp-778 (quote (any))))) syntmp-e-773) (if (memv syntmp-t-777 (quote (local-syntax-form))) (syntmp-chi-local-syntax-159 syntmp-value-772 syntmp-e-773 syntmp-r-752 syntmp-w-774 syntmp-s-775 syntmp-mod-776 (lambda (syntmp-body-786 syntmp-r-787 syntmp-w-788 syntmp-s-789 syntmp-mod-790) (syntmp-chi-top-sequence-148 syntmp-body-786 syntmp-r-787 syntmp-w-788 syntmp-s-789 syntmp-m-754 syntmp-esew-755 syntmp-mod-790))) (if (memv syntmp-t-777 (quote (eval-when-form))) ((lambda (syntmp-tmp-791) ((lambda (syntmp-tmp-792) (if syntmp-tmp-792 (apply (lambda (syntmp-_-793 syntmp-x-794 syntmp-e1-795 syntmp-e2-796) (let ((syntmp-when-list-797 (syntmp-chi-when-list-150 syntmp-e-773 syntmp-x-794 syntmp-w-774)) (syntmp-body-798 (cons syntmp-e1-795 syntmp-e2-796))) (cond ((eq? syntmp-m-754 (quote e)) (if (memq (quote eval) syntmp-when-list-797) (syntmp-chi-top-sequence-148 syntmp-body-798 syntmp-r-752 syntmp-w-774 syntmp-s-775 (quote e) (quote (eval)) syntmp-mod-776) (syntmp-chi-void-161))) ((memq (quote load) syntmp-when-list-797) (if (or (memq (quote compile) syntmp-when-list-797) (and (eq? syntmp-m-754 (quote c&e)) (memq (quote eval) syntmp-when-list-797))) (syntmp-chi-top-sequence-148 syntmp-body-798 syntmp-r-752 syntmp-w-774 syntmp-s-775 (quote c&e) (quote (compile load)) syntmp-mod-776) (if (memq syntmp-m-754 (quote (c c&e))) (syntmp-chi-top-sequence-148 syntmp-body-798 syntmp-r-752 syntmp-w-774 syntmp-s-775 (quote c) (quote (load)) syntmp-mod-776) (syntmp-chi-void-161)))) ((or (memq (quote compile) syntmp-when-list-797) (and (eq? syntmp-m-754 (quote c&e)) (memq (quote eval) syntmp-when-list-797))) (syntmp-top-level-eval-hook-89 (syntmp-chi-top-sequence-148 syntmp-body-798 syntmp-r-752 syntmp-w-774 syntmp-s-775 (quote e) (quote (eval)) syntmp-mod-776) syntmp-mod-776) (syntmp-chi-void-161)) (else (syntmp-chi-void-161))))) syntmp-tmp-792) (syntax-error syntmp-tmp-791))) (syntax-dispatch syntmp-tmp-791 (quote (any each-any any . each-any))))) syntmp-e-773) (if (memv syntmp-t-777 (quote (define-syntax-form))) (let ((syntmp-n-801 (syntmp-id-var-name-139 syntmp-value-772 syntmp-w-774)) (syntmp-r-802 (syntmp-macros-only-env-113 syntmp-r-752))) (let ((syntmp-t-803 syntmp-m-754)) (if (memv syntmp-t-803 (quote (c))) (if (memq (quote compile) syntmp-esew-755) (let ((syntmp-e-804 (syntmp-chi-install-global-149 syntmp-n-801 (syntmp-chi-153 syntmp-e-773 syntmp-r-802 syntmp-w-774 syntmp-mod-776)))) (begin (syntmp-top-level-eval-hook-89 syntmp-e-804 syntmp-mod-776) (if (memq (quote load) syntmp-esew-755) syntmp-e-804 (syntmp-chi-void-161)))) (if (memq (quote load) syntmp-esew-755) (syntmp-chi-install-global-149 syntmp-n-801 (syntmp-chi-153 syntmp-e-773 syntmp-r-802 syntmp-w-774 syntmp-mod-776)) (syntmp-chi-void-161))) (if (memv syntmp-t-803 (quote (c&e))) (let ((syntmp-e-805 (syntmp-chi-install-global-149 syntmp-n-801 (syntmp-chi-153 syntmp-e-773 syntmp-r-802 syntmp-w-774 syntmp-mod-776)))) (begin (syntmp-top-level-eval-hook-89 syntmp-e-805 syntmp-mod-776) syntmp-e-805)) (begin (if (memq (quote eval) syntmp-esew-755) (syntmp-top-level-eval-hook-89 (syntmp-chi-install-global-149 syntmp-n-801 (syntmp-chi-153 syntmp-e-773 syntmp-r-802 syntmp-w-774 syntmp-mod-776)) syntmp-mod-776)) (syntmp-chi-void-161)))))) (if (memv syntmp-t-777 (quote (define-form))) (let ((syntmp-n-806 (syntmp-id-var-name-139 syntmp-value-772 syntmp-w-774))) (let ((syntmp-type-807 (syntmp-binding-type-109 (syntmp-lookup-114 syntmp-n-806 syntmp-r-752 syntmp-mod-776)))) (let ((syntmp-t-808 syntmp-type-807)) (if (memv syntmp-t-808 (quote (global))) (let ((syntmp-x-809 (syntmp-build-annotated-94 syntmp-s-775 (list (quote define) syntmp-n-806 (syntmp-chi-153 syntmp-e-773 syntmp-r-752 syntmp-w-774 syntmp-mod-776))))) (begin (if (eq? syntmp-m-754 (quote c&e)) (syntmp-top-level-eval-hook-89 syntmp-x-809 syntmp-mod-776)) syntmp-x-809)) (if (memv syntmp-t-808 (quote (displaced-lexical))) (syntax-error (syntmp-wrap-145 syntmp-value-772 syntmp-w-774 syntmp-mod-776) "identifier out of context") (if (eq? syntmp-type-807 (quote external-macro)) (let ((syntmp-x-810 (syntmp-build-annotated-94 syntmp-s-775 (list (quote define) syntmp-n-806 (syntmp-chi-153 syntmp-e-773 syntmp-r-752 syntmp-w-774 syntmp-mod-776))))) (begin (if (eq? syntmp-m-754 (quote c&e)) (syntmp-top-level-eval-hook-89 syntmp-x-810 syntmp-mod-776)) syntmp-x-810)) (syntax-error (syntmp-wrap-145 syntmp-value-772 syntmp-w-774 syntmp-mod-776) "cannot define keyword at top level"))))))) (let ((syntmp-x-811 (syntmp-chi-expr-154 syntmp-type-771 syntmp-value-772 syntmp-e-773 syntmp-r-752 syntmp-w-774 syntmp-s-775 syntmp-mod-776))) (begin (if (eq? syntmp-m-754 (quote c&e)) (syntmp-top-level-eval-hook-89 syntmp-x-811 syntmp-mod-776)) syntmp-x-811)))))))))))) (syntmp-syntax-type-151 (lambda (syntmp-e-812 syntmp-r-813 syntmp-w-814 syntmp-s-815 syntmp-rib-816 syntmp-mod-817) (cond ((symbol? syntmp-e-812) (let ((syntmp-n-818 (syntmp-id-var-name-139 syntmp-e-812 syntmp-w-814))) (let ((syntmp-b-819 (syntmp-lookup-114 syntmp-n-818 syntmp-r-813 syntmp-mod-817))) (let ((syntmp-type-820 (syntmp-binding-type-109 syntmp-b-819))) (let ((syntmp-t-821 syntmp-type-820)) (if (memv syntmp-t-821 (quote (lexical))) (values syntmp-type-820 (syntmp-binding-value-110 syntmp-b-819) syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817) (if (memv syntmp-t-821 (quote (global))) (values syntmp-type-820 syntmp-n-818 syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817) (if (memv syntmp-t-821 (quote (macro))) (syntmp-syntax-type-151 (syntmp-chi-macro-156 (syntmp-binding-value-110 syntmp-b-819) syntmp-e-812 syntmp-r-813 syntmp-w-814 syntmp-rib-816 syntmp-mod-817) syntmp-r-813 (quote (())) syntmp-s-815 syntmp-rib-816 syntmp-mod-817) (values syntmp-type-820 (syntmp-binding-value-110 syntmp-b-819) syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817))))))))) ((pair? syntmp-e-812) (let ((syntmp-first-822 (car syntmp-e-812))) (if (syntmp-id?-117 syntmp-first-822) (let ((syntmp-n-823 (syntmp-id-var-name-139 syntmp-first-822 syntmp-w-814))) (let ((syntmp-b-824 (syntmp-lookup-114 syntmp-n-823 syntmp-r-813 (or (and (syntmp-syntax-object?-101 syntmp-first-822) (syntmp-syntax-object-module-104 syntmp-first-822)) syntmp-mod-817)))) (let ((syntmp-type-825 (syntmp-binding-type-109 syntmp-b-824))) (let ((syntmp-t-826 syntmp-type-825)) (if (memv syntmp-t-826 (quote (lexical))) (values (quote lexical-call) (syntmp-binding-value-110 syntmp-b-824) syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817) (if (memv syntmp-t-826 (quote (global))) (values (quote global-call) syntmp-n-823 syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817) (if (memv syntmp-t-826 (quote (macro))) (syntmp-syntax-type-151 (syntmp-chi-macro-156 (syntmp-binding-value-110 syntmp-b-824) syntmp-e-812 syntmp-r-813 syntmp-w-814 syntmp-rib-816 syntmp-mod-817) syntmp-r-813 (quote (())) syntmp-s-815 syntmp-rib-816 syntmp-mod-817) (if (memv syntmp-t-826 (quote (core external-macro module-ref))) (values syntmp-type-825 (syntmp-binding-value-110 syntmp-b-824) syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817) (if (memv syntmp-t-826 (quote (local-syntax))) (values (quote local-syntax-form) (syntmp-binding-value-110 syntmp-b-824) syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817) (if (memv syntmp-t-826 (quote (begin))) (values (quote begin-form) #f syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817) (if (memv syntmp-t-826 (quote (eval-when))) (values (quote eval-when-form) #f syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817) (if (memv syntmp-t-826 (quote (define))) ((lambda (syntmp-tmp-827) ((lambda (syntmp-tmp-828) (if (if syntmp-tmp-828 (apply (lambda (syntmp-_-829 syntmp-name-830 syntmp-val-831) (syntmp-id?-117 syntmp-name-830)) syntmp-tmp-828) #f) (apply (lambda (syntmp-_-832 syntmp-name-833 syntmp-val-834) (values (quote define-form) syntmp-name-833 syntmp-val-834 syntmp-w-814 syntmp-s-815 syntmp-mod-817)) syntmp-tmp-828) ((lambda (syntmp-tmp-835) (if (if syntmp-tmp-835 (apply (lambda (syntmp-_-836 syntmp-name-837 syntmp-args-838 syntmp-e1-839 syntmp-e2-840) (and (syntmp-id?-117 syntmp-name-837) (syntmp-valid-bound-ids?-142 (syntmp-lambda-var-list-166 syntmp-args-838)))) syntmp-tmp-835) #f) (apply (lambda (syntmp-_-841 syntmp-name-842 syntmp-args-843 syntmp-e1-844 syntmp-e2-845) (values (quote define-form) (syntmp-wrap-145 syntmp-name-842 syntmp-w-814 syntmp-mod-817) (cons (quote #(syntax-object lambda ((top) #(ribcage #(_ name args e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(t) #(("m" top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook 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"))) (ice-9 syncase))) (syntmp-wrap-145 (cons syntmp-args-843 (cons syntmp-e1-844 syntmp-e2-845)) syntmp-w-814 syntmp-mod-817)) (quote (())) syntmp-s-815 syntmp-mod-817)) syntmp-tmp-835) ((lambda (syntmp-tmp-847) (if (if syntmp-tmp-847 (apply (lambda (syntmp-_-848 syntmp-name-849) (syntmp-id?-117 syntmp-name-849)) syntmp-tmp-847) #f) (apply (lambda (syntmp-_-850 syntmp-name-851) (values (quote define-form) (syntmp-wrap-145 syntmp-name-851 syntmp-w-814 syntmp-mod-817) (quote (#(syntax-object void ((top) #(ribcage #(_ name) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(t) #(("m" top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(e r w s rib mod) #((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook 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"))) (ice-9 syncase)))) (quote (())) syntmp-s-815 syntmp-mod-817)) syntmp-tmp-847) (syntax-error syntmp-tmp-827))) (syntax-dispatch syntmp-tmp-827 (quote (any any)))))) (syntax-dispatch syntmp-tmp-827 (quote (any (any . any) any . each-any)))))) (syntax-dispatch syntmp-tmp-827 (quote (any any any))))) syntmp-e-812) (if (memv syntmp-t-826 (quote (define-syntax))) ((lambda (syntmp-tmp-852) ((lambda (syntmp-tmp-853) (if (if syntmp-tmp-853 (apply (lambda (syntmp-_-854 syntmp-name-855 syntmp-val-856) (syntmp-id?-117 syntmp-name-855)) syntmp-tmp-853) #f) (apply (lambda (syntmp-_-857 syntmp-name-858 syntmp-val-859) (values (quote define-syntax-form) syntmp-name-858 syntmp-val-859 syntmp-w-814 syntmp-s-815 syntmp-mod-817)) syntmp-tmp-853) (syntax-error syntmp-tmp-852))) (syntax-dispatch syntmp-tmp-852 (quote (any any any))))) syntmp-e-812) (values (quote call) #f syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817)))))))))))))) (values (quote call) #f syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817)))) ((syntmp-syntax-object?-101 syntmp-e-812) (syntmp-syntax-type-151 (syntmp-syntax-object-expression-102 syntmp-e-812) syntmp-r-813 (syntmp-join-wraps-136 syntmp-w-814 (syntmp-syntax-object-wrap-103 syntmp-e-812)) #f syntmp-rib-816 (or (syntmp-syntax-object-module-104 syntmp-e-812) syntmp-mod-817))) ((annotation? syntmp-e-812) (syntmp-syntax-type-151 (annotation-expression syntmp-e-812) syntmp-r-813 syntmp-w-814 (annotation-source syntmp-e-812) syntmp-rib-816 syntmp-mod-817)) ((self-evaluating? syntmp-e-812) (values (quote constant) #f syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817)) (else (values (quote other) #f syntmp-e-812 syntmp-w-814 syntmp-s-815 syntmp-mod-817))))) (syntmp-chi-when-list-150 (lambda (syntmp-e-860 syntmp-when-list-861 syntmp-w-862) (let syntmp-f-863 ((syntmp-when-list-864 syntmp-when-list-861) (syntmp-situations-865 (quote ()))) (if (null? syntmp-when-list-864) syntmp-situations-865 (syntmp-f-863 (cdr syntmp-when-list-864) (cons (let ((syntmp-x-866 (car syntmp-when-list-864))) (cond ((syntmp-free-id=?-140 syntmp-x-866 (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"))) (ice-9 syncase)))) (quote compile)) ((syntmp-free-id=?-140 syntmp-x-866 (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"))) (ice-9 syncase)))) (quote load)) ((syntmp-free-id=?-140 syntmp-x-866 (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"))) (ice-9 syncase)))) (quote eval)) (else (syntax-error (syntmp-wrap-145 syntmp-x-866 syntmp-w-862 #f) "invalid eval-when situation")))) syntmp-situations-865)))))) (syntmp-chi-install-global-149 (lambda (syntmp-name-878 syntmp-e-879) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote install-global-transformer)) (syntmp-build-data-95 #f syntmp-name-878) syntmp-e-879)))) (syntmp-chi-top-sequence-148 (lambda (syntmp-body-880 syntmp-r-881 syntmp-w-882 syntmp-s-883 syntmp-m-884 syntmp-esew-885 syntmp-mod-886) (syntmp-build-sequence-96 syntmp-s-883 (let syntmp-dobody-887 ((syntmp-body-888 syntmp-body-880) (syntmp-r-889 syntmp-r-881) (syntmp-w-890 syntmp-w-882) (syntmp-m-891 syntmp-m-884) (syntmp-esew-892 syntmp-esew-885) (syntmp-mod-893 syntmp-mod-886)) (if (null? syntmp-body-888) (quote ()) (let ((syntmp-first-894 (syntmp-chi-top-152 (car syntmp-body-888) syntmp-r-889 syntmp-w-890 syntmp-m-891 syntmp-esew-892 syntmp-mod-893))) (cons syntmp-first-894 (syntmp-dobody-887 (cdr syntmp-body-888) syntmp-r-889 syntmp-w-890 syntmp-m-891 syntmp-esew-892 syntmp-mod-893)))))))) (syntmp-chi-sequence-147 (lambda (syntmp-body-895 syntmp-r-896 syntmp-w-897 syntmp-s-898 syntmp-mod-899) (syntmp-build-sequence-96 syntmp-s-898 (let syntmp-dobody-900 ((syntmp-body-901 syntmp-body-895) (syntmp-r-902 syntmp-r-896) (syntmp-w-903 syntmp-w-897) (syntmp-mod-904 syntmp-mod-899)) (if (null? syntmp-body-901) (quote ()) (let ((syntmp-first-905 (syntmp-chi-153 (car syntmp-body-901) syntmp-r-902 syntmp-w-903 syntmp-mod-904))) (cons syntmp-first-905 (syntmp-dobody-900 (cdr syntmp-body-901) syntmp-r-902 syntmp-w-903 syntmp-mod-904)))))))) (syntmp-source-wrap-146 (lambda (syntmp-x-906 syntmp-w-907 syntmp-s-908 syntmp-defmod-909) (syntmp-wrap-145 (if syntmp-s-908 (make-annotation syntmp-x-906 syntmp-s-908 #f) syntmp-x-906) syntmp-w-907 syntmp-defmod-909))) (syntmp-wrap-145 (lambda (syntmp-x-910 syntmp-w-911 syntmp-defmod-912) (cond ((and (null? (syntmp-wrap-marks-120 syntmp-w-911)) (null? (syntmp-wrap-subst-121 syntmp-w-911))) syntmp-x-910) ((syntmp-syntax-object?-101 syntmp-x-910) (syntmp-make-syntax-object-100 (syntmp-syntax-object-expression-102 syntmp-x-910) (syntmp-join-wraps-136 syntmp-w-911 (syntmp-syntax-object-wrap-103 syntmp-x-910)) (syntmp-syntax-object-module-104 syntmp-x-910))) ((null? syntmp-x-910) syntmp-x-910) (else (syntmp-make-syntax-object-100 syntmp-x-910 syntmp-w-911 syntmp-defmod-912))))) (syntmp-bound-id-member?-144 (lambda (syntmp-x-913 syntmp-list-914) (and (not (null? syntmp-list-914)) (or (syntmp-bound-id=?-141 syntmp-x-913 (car syntmp-list-914)) (syntmp-bound-id-member?-144 syntmp-x-913 (cdr syntmp-list-914)))))) (syntmp-distinct-bound-ids?-143 (lambda (syntmp-ids-915) (let syntmp-distinct?-916 ((syntmp-ids-917 syntmp-ids-915)) (or (null? syntmp-ids-917) (and (not (syntmp-bound-id-member?-144 (car syntmp-ids-917) (cdr syntmp-ids-917))) (syntmp-distinct?-916 (cdr syntmp-ids-917))))))) (syntmp-valid-bound-ids?-142 (lambda (syntmp-ids-918) (and (let syntmp-all-ids?-919 ((syntmp-ids-920 syntmp-ids-918)) (or (null? syntmp-ids-920) (and (syntmp-id?-117 (car syntmp-ids-920)) (syntmp-all-ids?-919 (cdr syntmp-ids-920))))) (syntmp-distinct-bound-ids?-143 syntmp-ids-918)))) (syntmp-bound-id=?-141 (lambda (syntmp-i-921 syntmp-j-922) (if (and (syntmp-syntax-object?-101 syntmp-i-921) (syntmp-syntax-object?-101 syntmp-j-922)) (and (eq? (let ((syntmp-e-923 (syntmp-syntax-object-expression-102 syntmp-i-921))) (if (annotation? syntmp-e-923) (annotation-expression syntmp-e-923) syntmp-e-923)) (let ((syntmp-e-924 (syntmp-syntax-object-expression-102 syntmp-j-922))) (if (annotation? syntmp-e-924) (annotation-expression syntmp-e-924) syntmp-e-924))) (syntmp-same-marks?-138 (syntmp-wrap-marks-120 (syntmp-syntax-object-wrap-103 syntmp-i-921)) (syntmp-wrap-marks-120 (syntmp-syntax-object-wrap-103 syntmp-j-922)))) (eq? (let ((syntmp-e-925 syntmp-i-921)) (if (annotation? syntmp-e-925) (annotation-expression syntmp-e-925) syntmp-e-925)) (let ((syntmp-e-926 syntmp-j-922)) (if (annotation? syntmp-e-926) (annotation-expression syntmp-e-926) syntmp-e-926)))))) (syntmp-free-id=?-140 (lambda (syntmp-i-927 syntmp-j-928) (and (eq? (let ((syntmp-x-929 syntmp-i-927)) (let ((syntmp-e-930 (if (syntmp-syntax-object?-101 syntmp-x-929) (syntmp-syntax-object-expression-102 syntmp-x-929) syntmp-x-929))) (if (annotation? syntmp-e-930) (annotation-expression syntmp-e-930) syntmp-e-930))) (let ((syntmp-x-931 syntmp-j-928)) (let ((syntmp-e-932 (if (syntmp-syntax-object?-101 syntmp-x-931) (syntmp-syntax-object-expression-102 syntmp-x-931) syntmp-x-931))) (if (annotation? syntmp-e-932) (annotation-expression syntmp-e-932) syntmp-e-932)))) (eq? (syntmp-id-var-name-139 syntmp-i-927 (quote (()))) (syntmp-id-var-name-139 syntmp-j-928 (quote (()))))))) (syntmp-id-var-name-139 (lambda (syntmp-id-933 syntmp-w-934) (letrec ((syntmp-search-vector-rib-937 (lambda (syntmp-sym-948 syntmp-subst-949 syntmp-marks-950 syntmp-symnames-951 syntmp-ribcage-952) (let ((syntmp-n-953 (vector-length syntmp-symnames-951))) (let syntmp-f-954 ((syntmp-i-955 0)) (cond ((syntmp-fx=-87 syntmp-i-955 syntmp-n-953) (syntmp-search-935 syntmp-sym-948 (cdr syntmp-subst-949) syntmp-marks-950)) ((and (eq? (vector-ref syntmp-symnames-951 syntmp-i-955) syntmp-sym-948) (syntmp-same-marks?-138 syntmp-marks-950 (vector-ref (syntmp-ribcage-marks-127 syntmp-ribcage-952) syntmp-i-955))) (values (vector-ref (syntmp-ribcage-labels-128 syntmp-ribcage-952) syntmp-i-955) syntmp-marks-950)) (else (syntmp-f-954 (syntmp-fx+-85 syntmp-i-955 1)))))))) (syntmp-search-list-rib-936 (lambda (syntmp-sym-956 syntmp-subst-957 syntmp-marks-958 syntmp-symnames-959 syntmp-ribcage-960) (let syntmp-f-961 ((syntmp-symnames-962 syntmp-symnames-959) (syntmp-i-963 0)) (cond ((null? syntmp-symnames-962) (syntmp-search-935 syntmp-sym-956 (cdr syntmp-subst-957) syntmp-marks-958)) ((and (eq? (car syntmp-symnames-962) syntmp-sym-956) (syntmp-same-marks?-138 syntmp-marks-958 (list-ref (syntmp-ribcage-marks-127 syntmp-ribcage-960) syntmp-i-963))) (values (list-ref (syntmp-ribcage-labels-128 syntmp-ribcage-960) syntmp-i-963) syntmp-marks-958)) (else (syntmp-f-961 (cdr syntmp-symnames-962) (syntmp-fx+-85 syntmp-i-963 1))))))) (syntmp-search-935 (lambda (syntmp-sym-964 syntmp-subst-965 syntmp-marks-966) (if (null? syntmp-subst-965) (values #f syntmp-marks-966) (let ((syntmp-fst-967 (car syntmp-subst-965))) (if (eq? syntmp-fst-967 (quote shift)) (syntmp-search-935 syntmp-sym-964 (cdr syntmp-subst-965) (cdr syntmp-marks-966)) (let ((syntmp-symnames-968 (syntmp-ribcage-symnames-126 syntmp-fst-967))) (if (vector? syntmp-symnames-968) (syntmp-search-vector-rib-937 syntmp-sym-964 syntmp-subst-965 syntmp-marks-966 syntmp-symnames-968 syntmp-fst-967) (syntmp-search-list-rib-936 syntmp-sym-964 syntmp-subst-965 syntmp-marks-966 syntmp-symnames-968 syntmp-fst-967))))))))) (cond ((symbol? syntmp-id-933) (or (call-with-values (lambda () (syntmp-search-935 syntmp-id-933 (syntmp-wrap-subst-121 syntmp-w-934) (syntmp-wrap-marks-120 syntmp-w-934))) (lambda (syntmp-x-970 . syntmp-ignore-969) syntmp-x-970)) syntmp-id-933)) ((syntmp-syntax-object?-101 syntmp-id-933) (let ((syntmp-id-971 (let ((syntmp-e-973 (syntmp-syntax-object-expression-102 syntmp-id-933))) (if (annotation? syntmp-e-973) (annotation-expression syntmp-e-973) syntmp-e-973))) (syntmp-w1-972 (syntmp-syntax-object-wrap-103 syntmp-id-933))) (let ((syntmp-marks-974 (syntmp-join-marks-137 (syntmp-wrap-marks-120 syntmp-w-934) (syntmp-wrap-marks-120 syntmp-w1-972)))) (call-with-values (lambda () (syntmp-search-935 syntmp-id-971 (syntmp-wrap-subst-121 syntmp-w-934) syntmp-marks-974)) (lambda (syntmp-new-id-975 syntmp-marks-976) (or syntmp-new-id-975 (call-with-values (lambda () (syntmp-search-935 syntmp-id-971 (syntmp-wrap-subst-121 syntmp-w1-972) syntmp-marks-976)) (lambda (syntmp-x-978 . syntmp-ignore-977) syntmp-x-978)) syntmp-id-971)))))) ((annotation? syntmp-id-933) (let ((syntmp-id-979 (let ((syntmp-e-980 syntmp-id-933)) (if (annotation? syntmp-e-980) (annotation-expression syntmp-e-980) syntmp-e-980)))) (or (call-with-values (lambda () (syntmp-search-935 syntmp-id-979 (syntmp-wrap-subst-121 syntmp-w-934) (syntmp-wrap-marks-120 syntmp-w-934))) (lambda (syntmp-x-982 . syntmp-ignore-981) syntmp-x-982)) syntmp-id-979))) (else (syntmp-error-hook-91 (quote id-var-name) "invalid id" syntmp-id-933)))))) (syntmp-same-marks?-138 (lambda (syntmp-x-983 syntmp-y-984) (or (eq? syntmp-x-983 syntmp-y-984) (and (not (null? syntmp-x-983)) (not (null? syntmp-y-984)) (eq? (car syntmp-x-983) (car syntmp-y-984)) (syntmp-same-marks?-138 (cdr syntmp-x-983) (cdr syntmp-y-984)))))) (syntmp-join-marks-137 (lambda (syntmp-m1-985 syntmp-m2-986) (syntmp-smart-append-135 syntmp-m1-985 syntmp-m2-986))) (syntmp-join-wraps-136 (lambda (syntmp-w1-987 syntmp-w2-988) (let ((syntmp-m1-989 (syntmp-wrap-marks-120 syntmp-w1-987)) (syntmp-s1-990 (syntmp-wrap-subst-121 syntmp-w1-987))) (if (null? syntmp-m1-989) (if (null? syntmp-s1-990) syntmp-w2-988 (syntmp-make-wrap-119 (syntmp-wrap-marks-120 syntmp-w2-988) (syntmp-smart-append-135 syntmp-s1-990 (syntmp-wrap-subst-121 syntmp-w2-988)))) (syntmp-make-wrap-119 (syntmp-smart-append-135 syntmp-m1-989 (syntmp-wrap-marks-120 syntmp-w2-988)) (syntmp-smart-append-135 syntmp-s1-990 (syntmp-wrap-subst-121 syntmp-w2-988))))))) (syntmp-smart-append-135 (lambda (syntmp-m1-991 syntmp-m2-992) (if (null? syntmp-m2-992) syntmp-m1-991 (append syntmp-m1-991 syntmp-m2-992)))) (syntmp-make-binding-wrap-134 (lambda (syntmp-ids-993 syntmp-labels-994 syntmp-w-995) (if (null? syntmp-ids-993) syntmp-w-995 (syntmp-make-wrap-119 (syntmp-wrap-marks-120 syntmp-w-995) (cons (let ((syntmp-labelvec-996 (list->vector syntmp-labels-994))) (let ((syntmp-n-997 (vector-length syntmp-labelvec-996))) (let ((syntmp-symnamevec-998 (make-vector syntmp-n-997)) (syntmp-marksvec-999 (make-vector syntmp-n-997))) (begin (let syntmp-f-1000 ((syntmp-ids-1001 syntmp-ids-993) (syntmp-i-1002 0)) (if (not (null? syntmp-ids-1001)) (call-with-values (lambda () (syntmp-id-sym-name&marks-118 (car syntmp-ids-1001) syntmp-w-995)) (lambda (syntmp-symname-1003 syntmp-marks-1004) (begin (vector-set! syntmp-symnamevec-998 syntmp-i-1002 syntmp-symname-1003) (vector-set! syntmp-marksvec-999 syntmp-i-1002 syntmp-marks-1004) (syntmp-f-1000 (cdr syntmp-ids-1001) (syntmp-fx+-85 syntmp-i-1002 1))))))) (syntmp-make-ribcage-124 syntmp-symnamevec-998 syntmp-marksvec-999 syntmp-labelvec-996))))) (syntmp-wrap-subst-121 syntmp-w-995)))))) (syntmp-extend-ribcage!-133 (lambda (syntmp-ribcage-1005 syntmp-id-1006 syntmp-label-1007) (begin (syntmp-set-ribcage-symnames!-129 syntmp-ribcage-1005 (cons (let ((syntmp-e-1008 (syntmp-syntax-object-expression-102 syntmp-id-1006))) (if (annotation? syntmp-e-1008) (annotation-expression syntmp-e-1008) syntmp-e-1008)) (syntmp-ribcage-symnames-126 syntmp-ribcage-1005))) (syntmp-set-ribcage-marks!-130 syntmp-ribcage-1005 (cons (syntmp-wrap-marks-120 (syntmp-syntax-object-wrap-103 syntmp-id-1006)) (syntmp-ribcage-marks-127 syntmp-ribcage-1005))) (syntmp-set-ribcage-labels!-131 syntmp-ribcage-1005 (cons syntmp-label-1007 (syntmp-ribcage-labels-128 syntmp-ribcage-1005)))))) (syntmp-anti-mark-132 (lambda (syntmp-w-1009) (syntmp-make-wrap-119 (cons #f (syntmp-wrap-marks-120 syntmp-w-1009)) (cons (quote shift) (syntmp-wrap-subst-121 syntmp-w-1009))))) (syntmp-set-ribcage-labels!-131 (lambda (syntmp-x-1010 syntmp-update-1011) (vector-set! syntmp-x-1010 3 syntmp-update-1011))) (syntmp-set-ribcage-marks!-130 (lambda (syntmp-x-1012 syntmp-update-1013) (vector-set! syntmp-x-1012 2 syntmp-update-1013))) (syntmp-set-ribcage-symnames!-129 (lambda (syntmp-x-1014 syntmp-update-1015) (vector-set! syntmp-x-1014 1 syntmp-update-1015))) (syntmp-ribcage-labels-128 (lambda (syntmp-x-1016) (vector-ref syntmp-x-1016 3))) (syntmp-ribcage-marks-127 (lambda (syntmp-x-1017) (vector-ref syntmp-x-1017 2))) (syntmp-ribcage-symnames-126 (lambda (syntmp-x-1018) (vector-ref syntmp-x-1018 1))) (syntmp-ribcage?-125 (lambda (syntmp-x-1019) (and (vector? syntmp-x-1019) (= (vector-length syntmp-x-1019) 4) (eq? (vector-ref syntmp-x-1019 0) (quote ribcage))))) (syntmp-make-ribcage-124 (lambda (syntmp-symnames-1020 syntmp-marks-1021 syntmp-labels-1022) (vector (quote ribcage) syntmp-symnames-1020 syntmp-marks-1021 syntmp-labels-1022))) (syntmp-gen-labels-123 (lambda (syntmp-ls-1023) (if (null? syntmp-ls-1023) (quote ()) (cons (syntmp-gen-label-122) (syntmp-gen-labels-123 (cdr syntmp-ls-1023)))))) (syntmp-gen-label-122 (lambda () (string #\i))) (syntmp-wrap-subst-121 cdr) (syntmp-wrap-marks-120 car) (syntmp-make-wrap-119 cons) (syntmp-id-sym-name&marks-118 (lambda (syntmp-x-1024 syntmp-w-1025) (if (syntmp-syntax-object?-101 syntmp-x-1024) (values (let ((syntmp-e-1026 (syntmp-syntax-object-expression-102 syntmp-x-1024))) (if (annotation? syntmp-e-1026) (annotation-expression syntmp-e-1026) syntmp-e-1026)) (syntmp-join-marks-137 (syntmp-wrap-marks-120 syntmp-w-1025) (syntmp-wrap-marks-120 (syntmp-syntax-object-wrap-103 syntmp-x-1024)))) (values (let ((syntmp-e-1027 syntmp-x-1024)) (if (annotation? syntmp-e-1027) (annotation-expression syntmp-e-1027) syntmp-e-1027)) (syntmp-wrap-marks-120 syntmp-w-1025))))) (syntmp-id?-117 (lambda (syntmp-x-1028) (cond ((symbol? syntmp-x-1028) #t) ((syntmp-syntax-object?-101 syntmp-x-1028) (symbol? (let ((syntmp-e-1029 (syntmp-syntax-object-expression-102 syntmp-x-1028))) (if (annotation? syntmp-e-1029) (annotation-expression syntmp-e-1029) syntmp-e-1029)))) ((annotation? syntmp-x-1028) (symbol? (annotation-expression syntmp-x-1028))) (else #f)))) (syntmp-nonsymbol-id?-116 (lambda (syntmp-x-1030) (and (syntmp-syntax-object?-101 syntmp-x-1030) (symbol? (let ((syntmp-e-1031 (syntmp-syntax-object-expression-102 syntmp-x-1030))) (if (annotation? syntmp-e-1031) (annotation-expression syntmp-e-1031) syntmp-e-1031)))))) (syntmp-global-extend-115 (lambda (syntmp-type-1032 syntmp-sym-1033 syntmp-val-1034) (syntmp-put-global-definition-hook-92 syntmp-sym-1033 (cons syntmp-type-1032 syntmp-val-1034) (module-name (current-module))))) (syntmp-lookup-114 (lambda (syntmp-x-1035 syntmp-r-1036 syntmp-mod-1037) (cond ((assq syntmp-x-1035 syntmp-r-1036) => cdr) ((symbol? syntmp-x-1035) (or (syntmp-get-global-definition-hook-93 syntmp-x-1035 syntmp-mod-1037) (quote (global)))) (else (quote (displaced-lexical)))))) (syntmp-macros-only-env-113 (lambda (syntmp-r-1038) (if (null? syntmp-r-1038) (quote ()) (let ((syntmp-a-1039 (car syntmp-r-1038))) (if (eq? (cadr syntmp-a-1039) (quote macro)) (cons syntmp-a-1039 (syntmp-macros-only-env-113 (cdr syntmp-r-1038))) (syntmp-macros-only-env-113 (cdr syntmp-r-1038))))))) (syntmp-extend-var-env-112 (lambda (syntmp-labels-1040 syntmp-vars-1041 syntmp-r-1042) (if (null? syntmp-labels-1040) syntmp-r-1042 (syntmp-extend-var-env-112 (cdr syntmp-labels-1040) (cdr syntmp-vars-1041) (cons (cons (car syntmp-labels-1040) (cons (quote lexical) (car syntmp-vars-1041))) syntmp-r-1042))))) (syntmp-extend-env-111 (lambda (syntmp-labels-1043 syntmp-bindings-1044 syntmp-r-1045) (if (null? syntmp-labels-1043) syntmp-r-1045 (syntmp-extend-env-111 (cdr syntmp-labels-1043) (cdr syntmp-bindings-1044) (cons (cons (car syntmp-labels-1043) (car syntmp-bindings-1044)) syntmp-r-1045))))) (syntmp-binding-value-110 cdr) (syntmp-binding-type-109 car) (syntmp-source-annotation-108 (lambda (syntmp-x-1046) (cond ((annotation? syntmp-x-1046) (annotation-source syntmp-x-1046)) ((syntmp-syntax-object?-101 syntmp-x-1046) (syntmp-source-annotation-108 (syntmp-syntax-object-expression-102 syntmp-x-1046))) (else #f)))) (syntmp-set-syntax-object-module!-107 (lambda (syntmp-x-1047 syntmp-update-1048) (vector-set! syntmp-x-1047 3 syntmp-update-1048))) (syntmp-set-syntax-object-wrap!-106 (lambda (syntmp-x-1049 syntmp-update-1050) (vector-set! syntmp-x-1049 2 syntmp-update-1050))) (syntmp-set-syntax-object-expression!-105 (lambda (syntmp-x-1051 syntmp-update-1052) (vector-set! syntmp-x-1051 1 syntmp-update-1052))) (syntmp-syntax-object-module-104 (lambda (syntmp-x-1053) (vector-ref syntmp-x-1053 3))) (syntmp-syntax-object-wrap-103 (lambda (syntmp-x-1054) (vector-ref syntmp-x-1054 2))) (syntmp-syntax-object-expression-102 (lambda (syntmp-x-1055) (vector-ref syntmp-x-1055 1))) (syntmp-syntax-object?-101 (lambda (syntmp-x-1056) (and (vector? syntmp-x-1056) (= (vector-length syntmp-x-1056) 4) (eq? (vector-ref syntmp-x-1056 0) (quote syntax-object))))) (syntmp-make-syntax-object-100 (lambda (syntmp-expression-1057 syntmp-wrap-1058 syntmp-module-1059) (vector (quote syntax-object) syntmp-expression-1057 syntmp-wrap-1058 syntmp-module-1059))) (syntmp-build-letrec-99 (lambda (syntmp-src-1060 syntmp-vars-1061 syntmp-val-exps-1062 syntmp-body-exp-1063) (if (null? syntmp-vars-1061) (syntmp-build-annotated-94 syntmp-src-1060 syntmp-body-exp-1063) (syntmp-build-annotated-94 syntmp-src-1060 (list (quote letrec) (map list syntmp-vars-1061 syntmp-val-exps-1062) syntmp-body-exp-1063))))) (syntmp-build-named-let-98 (lambda (syntmp-src-1064 syntmp-vars-1065 syntmp-val-exps-1066 syntmp-body-exp-1067) (if (null? syntmp-vars-1065) (syntmp-build-annotated-94 syntmp-src-1064 syntmp-body-exp-1067) (syntmp-build-annotated-94 syntmp-src-1064 (list (quote let) (car syntmp-vars-1065) (map list (cdr syntmp-vars-1065) syntmp-val-exps-1066) syntmp-body-exp-1067))))) (syntmp-build-let-97 (lambda (syntmp-src-1068 syntmp-vars-1069 syntmp-val-exps-1070 syntmp-body-exp-1071) (if (null? syntmp-vars-1069) (syntmp-build-annotated-94 syntmp-src-1068 syntmp-body-exp-1071) (syntmp-build-annotated-94 syntmp-src-1068 (list (quote let) (map list syntmp-vars-1069 syntmp-val-exps-1070) syntmp-body-exp-1071))))) (syntmp-build-sequence-96 (lambda (syntmp-src-1072 syntmp-exps-1073) (if (null? (cdr syntmp-exps-1073)) (syntmp-build-annotated-94 syntmp-src-1072 (car syntmp-exps-1073)) (syntmp-build-annotated-94 syntmp-src-1072 (cons (quote begin) syntmp-exps-1073))))) (syntmp-build-data-95 (lambda (syntmp-src-1074 syntmp-exp-1075) (if (and (self-evaluating? syntmp-exp-1075) (not (vector? syntmp-exp-1075))) (syntmp-build-annotated-94 syntmp-src-1074 syntmp-exp-1075) (syntmp-build-annotated-94 syntmp-src-1074 (list (quote quote) syntmp-exp-1075))))) (syntmp-build-annotated-94 (lambda (syntmp-src-1076 syntmp-exp-1077) (if (and syntmp-src-1076 (not (annotation? syntmp-exp-1077))) (make-annotation syntmp-exp-1077 syntmp-src-1076 #t) syntmp-exp-1077))) (syntmp-get-global-definition-hook-93 (lambda (syntmp-symbol-1078 syntmp-module-1079) (let ((syntmp-module-1080 (if syntmp-module-1079 (resolve-module syntmp-module-1079) (warn "wha" syntmp-symbol-1078 (current-module))))) (let ((syntmp-v-1081 (module-variable syntmp-module-1080 syntmp-symbol-1078))) (and syntmp-v-1081 (or (object-property syntmp-v-1081 (quote *sc-expander*)) (and (variable-bound? syntmp-v-1081) (macro? (variable-ref syntmp-v-1081)) (macro-transformer (variable-ref syntmp-v-1081)) guile-macro))))))) (syntmp-put-global-definition-hook-92 (lambda (syntmp-symbol-1082 syntmp-binding-1083 syntmp-module-1084) (let ((syntmp-module-1085 (if syntmp-module-1084 (resolve-module syntmp-module-1084) (warn "wha" syntmp-symbol-1082 (current-module))))) (let ((syntmp-v-1086 (or (module-variable syntmp-module-1085 syntmp-symbol-1082) (let ((syntmp-v-1087 (make-variable sc-macro))) (begin (module-add! syntmp-module-1085 syntmp-symbol-1082 syntmp-v-1087) syntmp-v-1087))))) (begin (if (not (and (symbol-property syntmp-symbol-1082 (quote primitive-syntax)) (eq? syntmp-module-1085 the-syncase-module))) (variable-set! syntmp-v-1086 sc-macro)) (set-object-property! syntmp-v-1086 (quote *sc-expander*) syntmp-binding-1083)))))) (syntmp-error-hook-91 (lambda (syntmp-who-1088 syntmp-why-1089 syntmp-what-1090) (error syntmp-who-1088 "~a ~s" syntmp-why-1089 syntmp-what-1090))) (syntmp-local-eval-hook-90 (lambda (syntmp-x-1091 syntmp-mod-1092) (eval (list syntmp-noexpand-84 syntmp-x-1091) (if syntmp-mod-1092 (resolve-module syntmp-mod-1092) (interaction-environment))))) (syntmp-top-level-eval-hook-89 (lambda (syntmp-x-1093 syntmp-mod-1094) (eval (list syntmp-noexpand-84 syntmp-x-1093) (if syntmp-mod-1094 (resolve-module syntmp-mod-1094) (interaction-environment))))) (syntmp-fx<-88 <) (syntmp-fx=-87 =) (syntmp-fx--86 -) (syntmp-fx+-85 +) (syntmp-noexpand-84 "noexpand")) (begin (syntmp-global-extend-115 (quote local-syntax) (quote letrec-syntax) #t) (syntmp-global-extend-115 (quote local-syntax) (quote let-syntax) #f) (syntmp-global-extend-115 (quote core) (quote fluid-let-syntax) (lambda (syntmp-e-1095 syntmp-r-1096 syntmp-w-1097 syntmp-s-1098 syntmp-mod-1099) ((lambda (syntmp-tmp-1100) ((lambda (syntmp-tmp-1101) (if (if syntmp-tmp-1101 (apply (lambda (syntmp-_-1102 syntmp-var-1103 syntmp-val-1104 syntmp-e1-1105 syntmp-e2-1106) (syntmp-valid-bound-ids?-142 syntmp-var-1103)) syntmp-tmp-1101) #f) (apply (lambda (syntmp-_-1108 syntmp-var-1109 syntmp-val-1110 syntmp-e1-1111 syntmp-e2-1112) (let ((syntmp-names-1113 (map (lambda (syntmp-x-1114) (syntmp-id-var-name-139 syntmp-x-1114 syntmp-w-1097)) syntmp-var-1109))) (begin (for-each (lambda (syntmp-id-1116 syntmp-n-1117) (let ((syntmp-t-1118 (syntmp-binding-type-109 (syntmp-lookup-114 syntmp-n-1117 syntmp-r-1096 syntmp-mod-1099)))) (if (memv syntmp-t-1118 (quote (displaced-lexical))) (syntax-error (syntmp-source-wrap-146 syntmp-id-1116 syntmp-w-1097 syntmp-s-1098 syntmp-mod-1099) "identifier out of context")))) syntmp-var-1109 syntmp-names-1113) (syntmp-chi-body-157 (cons syntmp-e1-1111 syntmp-e2-1112) (syntmp-source-wrap-146 syntmp-e-1095 syntmp-w-1097 syntmp-s-1098 syntmp-mod-1099) (syntmp-extend-env-111 syntmp-names-1113 (let ((syntmp-trans-r-1121 (syntmp-macros-only-env-113 syntmp-r-1096))) (map (lambda (syntmp-x-1122) (cons (quote macro) (syntmp-eval-local-transformer-160 (syntmp-chi-153 syntmp-x-1122 syntmp-trans-r-1121 syntmp-w-1097 syntmp-mod-1099) syntmp-mod-1099))) syntmp-val-1110)) syntmp-r-1096) syntmp-w-1097 syntmp-mod-1099)))) syntmp-tmp-1101) ((lambda (syntmp-_-1124) (syntax-error (syntmp-source-wrap-146 syntmp-e-1095 syntmp-w-1097 syntmp-s-1098 syntmp-mod-1099))) syntmp-tmp-1100))) (syntax-dispatch syntmp-tmp-1100 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1095))) (syntmp-global-extend-115 (quote core) (quote quote) (lambda (syntmp-e-1125 syntmp-r-1126 syntmp-w-1127 syntmp-s-1128 syntmp-mod-1129) ((lambda (syntmp-tmp-1130) ((lambda (syntmp-tmp-1131) (if syntmp-tmp-1131 (apply (lambda (syntmp-_-1132 syntmp-e-1133) (syntmp-build-data-95 syntmp-s-1128 (syntmp-strip-164 syntmp-e-1133 syntmp-w-1127))) syntmp-tmp-1131) ((lambda (syntmp-_-1134) (syntax-error (syntmp-source-wrap-146 syntmp-e-1125 syntmp-w-1127 syntmp-s-1128 syntmp-mod-1129))) syntmp-tmp-1130))) (syntax-dispatch syntmp-tmp-1130 (quote (any any))))) syntmp-e-1125))) (syntmp-global-extend-115 (quote core) (quote syntax) (letrec ((syntmp-regen-1142 (lambda (syntmp-x-1143) (let ((syntmp-t-1144 (car syntmp-x-1143))) (if (memv syntmp-t-1144 (quote (ref))) (syntmp-build-annotated-94 #f (cadr syntmp-x-1143)) (if (memv syntmp-t-1144 (quote (primitive))) (syntmp-build-annotated-94 #f (cadr syntmp-x-1143)) (if (memv syntmp-t-1144 (quote (quote))) (syntmp-build-data-95 #f (cadr syntmp-x-1143)) (if (memv syntmp-t-1144 (quote (lambda))) (syntmp-build-annotated-94 #f (list (quote lambda) (cadr syntmp-x-1143) (syntmp-regen-1142 (caddr syntmp-x-1143)))) (if (memv syntmp-t-1144 (quote (map))) (let ((syntmp-ls-1145 (map syntmp-regen-1142 (cdr syntmp-x-1143)))) (syntmp-build-annotated-94 #f (cons (if (syntmp-fx=-87 (length syntmp-ls-1145) 2) (syntmp-build-annotated-94 #f (quote map)) (syntmp-build-annotated-94 #f (quote map))) syntmp-ls-1145))) (syntmp-build-annotated-94 #f (cons (syntmp-build-annotated-94 #f (car syntmp-x-1143)) (map syntmp-regen-1142 (cdr syntmp-x-1143)))))))))))) (syntmp-gen-vector-1141 (lambda (syntmp-x-1146) (cond ((eq? (car syntmp-x-1146) (quote list)) (cons (quote vector) (cdr syntmp-x-1146))) ((eq? (car syntmp-x-1146) (quote quote)) (list (quote quote) (list->vector (cadr syntmp-x-1146)))) (else (list (quote list->vector) syntmp-x-1146))))) (syntmp-gen-append-1140 (lambda (syntmp-x-1147 syntmp-y-1148) (if (equal? syntmp-y-1148 (quote (quote ()))) syntmp-x-1147 (list (quote append) syntmp-x-1147 syntmp-y-1148)))) (syntmp-gen-cons-1139 (lambda (syntmp-x-1149 syntmp-y-1150) (let ((syntmp-t-1151 (car syntmp-y-1150))) (if (memv syntmp-t-1151 (quote (quote))) (if (eq? (car syntmp-x-1149) (quote quote)) (list (quote quote) (cons (cadr syntmp-x-1149) (cadr syntmp-y-1150))) (if (eq? (cadr syntmp-y-1150) (quote ())) (list (quote list) syntmp-x-1149) (list (quote cons) syntmp-x-1149 syntmp-y-1150))) (if (memv syntmp-t-1151 (quote (list))) (cons (quote list) (cons syntmp-x-1149 (cdr syntmp-y-1150))) (list (quote cons) syntmp-x-1149 syntmp-y-1150)))))) (syntmp-gen-map-1138 (lambda (syntmp-e-1152 syntmp-map-env-1153) (let ((syntmp-formals-1154 (map cdr syntmp-map-env-1153)) (syntmp-actuals-1155 (map (lambda (syntmp-x-1156) (list (quote ref) (car syntmp-x-1156))) syntmp-map-env-1153))) (cond ((eq? (car syntmp-e-1152) (quote ref)) (car syntmp-actuals-1155)) ((andmap (lambda (syntmp-x-1157) (and (eq? (car syntmp-x-1157) (quote ref)) (memq (cadr syntmp-x-1157) syntmp-formals-1154))) (cdr syntmp-e-1152)) (cons (quote map) (cons (list (quote primitive) (car syntmp-e-1152)) (map (let ((syntmp-r-1158 (map cons syntmp-formals-1154 syntmp-actuals-1155))) (lambda (syntmp-x-1159) (cdr (assq (cadr syntmp-x-1159) syntmp-r-1158)))) (cdr syntmp-e-1152))))) (else (cons (quote map) (cons (list (quote lambda) syntmp-formals-1154 syntmp-e-1152) syntmp-actuals-1155))))))) (syntmp-gen-mappend-1137 (lambda (syntmp-e-1160 syntmp-map-env-1161) (list (quote apply) (quote (primitive append)) (syntmp-gen-map-1138 syntmp-e-1160 syntmp-map-env-1161)))) (syntmp-gen-ref-1136 (lambda (syntmp-src-1162 syntmp-var-1163 syntmp-level-1164 syntmp-maps-1165) (if (syntmp-fx=-87 syntmp-level-1164 0) (values syntmp-var-1163 syntmp-maps-1165) (if (null? syntmp-maps-1165) (syntax-error syntmp-src-1162 "missing ellipsis in syntax form") (call-with-values (lambda () (syntmp-gen-ref-1136 syntmp-src-1162 syntmp-var-1163 (syntmp-fx--86 syntmp-level-1164 1) (cdr syntmp-maps-1165))) (lambda (syntmp-outer-var-1166 syntmp-outer-maps-1167) (let ((syntmp-b-1168 (assq syntmp-outer-var-1166 (car syntmp-maps-1165)))) (if syntmp-b-1168 (values (cdr syntmp-b-1168) syntmp-maps-1165) (let ((syntmp-inner-var-1169 (syntmp-gen-var-165 (quote tmp)))) (values syntmp-inner-var-1169 (cons (cons (cons syntmp-outer-var-1166 syntmp-inner-var-1169) (car syntmp-maps-1165)) syntmp-outer-maps-1167))))))))))) (syntmp-gen-syntax-1135 (lambda (syntmp-src-1170 syntmp-e-1171 syntmp-r-1172 syntmp-maps-1173 syntmp-ellipsis?-1174 syntmp-mod-1175) (if (syntmp-id?-117 syntmp-e-1171) (let ((syntmp-label-1176 (syntmp-id-var-name-139 syntmp-e-1171 (quote (()))))) (let ((syntmp-b-1177 (syntmp-lookup-114 syntmp-label-1176 syntmp-r-1172 syntmp-mod-1175))) (if (eq? (syntmp-binding-type-109 syntmp-b-1177) (quote syntax)) (call-with-values (lambda () (let ((syntmp-var.lev-1178 (syntmp-binding-value-110 syntmp-b-1177))) (syntmp-gen-ref-1136 syntmp-src-1170 (car syntmp-var.lev-1178) (cdr syntmp-var.lev-1178) syntmp-maps-1173))) (lambda (syntmp-var-1179 syntmp-maps-1180) (values (list (quote ref) syntmp-var-1179) syntmp-maps-1180))) (if (syntmp-ellipsis?-1174 syntmp-e-1171) (syntax-error syntmp-src-1170 "misplaced ellipsis in syntax form") (values (list (quote quote) syntmp-e-1171) syntmp-maps-1173))))) ((lambda (syntmp-tmp-1181) ((lambda (syntmp-tmp-1182) (if (if syntmp-tmp-1182 (apply (lambda (syntmp-dots-1183 syntmp-e-1184) (syntmp-ellipsis?-1174 syntmp-dots-1183)) syntmp-tmp-1182) #f) (apply (lambda (syntmp-dots-1185 syntmp-e-1186) (syntmp-gen-syntax-1135 syntmp-src-1170 syntmp-e-1186 syntmp-r-1172 syntmp-maps-1173 (lambda (syntmp-x-1187) #f) syntmp-mod-1175)) syntmp-tmp-1182) ((lambda (syntmp-tmp-1188) (if (if syntmp-tmp-1188 (apply (lambda (syntmp-x-1189 syntmp-dots-1190 syntmp-y-1191) (syntmp-ellipsis?-1174 syntmp-dots-1190)) syntmp-tmp-1188) #f) (apply (lambda (syntmp-x-1192 syntmp-dots-1193 syntmp-y-1194) (let syntmp-f-1195 ((syntmp-y-1196 syntmp-y-1194) (syntmp-k-1197 (lambda (syntmp-maps-1198) (call-with-values (lambda () (syntmp-gen-syntax-1135 syntmp-src-1170 syntmp-x-1192 syntmp-r-1172 (cons (quote ()) syntmp-maps-1198) syntmp-ellipsis?-1174 syntmp-mod-1175)) (lambda (syntmp-x-1199 syntmp-maps-1200) (if (null? (car syntmp-maps-1200)) (syntax-error syntmp-src-1170 "extra ellipsis in syntax form") (values (syntmp-gen-map-1138 syntmp-x-1199 (car syntmp-maps-1200)) (cdr syntmp-maps-1200)))))))) ((lambda (syntmp-tmp-1201) ((lambda (syntmp-tmp-1202) (if (if syntmp-tmp-1202 (apply (lambda (syntmp-dots-1203 syntmp-y-1204) (syntmp-ellipsis?-1174 syntmp-dots-1203)) syntmp-tmp-1202) #f) (apply (lambda (syntmp-dots-1205 syntmp-y-1206) (syntmp-f-1195 syntmp-y-1206 (lambda (syntmp-maps-1207) (call-with-values (lambda () (syntmp-k-1197 (cons (quote ()) syntmp-maps-1207))) (lambda (syntmp-x-1208 syntmp-maps-1209) (if (null? (car syntmp-maps-1209)) (syntax-error syntmp-src-1170 "extra ellipsis in syntax form") (values (syntmp-gen-mappend-1137 syntmp-x-1208 (car syntmp-maps-1209)) (cdr syntmp-maps-1209)))))))) syntmp-tmp-1202) ((lambda (syntmp-_-1210) (call-with-values (lambda () (syntmp-gen-syntax-1135 syntmp-src-1170 syntmp-y-1196 syntmp-r-1172 syntmp-maps-1173 syntmp-ellipsis?-1174 syntmp-mod-1175)) (lambda (syntmp-y-1211 syntmp-maps-1212) (call-with-values (lambda () (syntmp-k-1197 syntmp-maps-1212)) (lambda (syntmp-x-1213 syntmp-maps-1214) (values (syntmp-gen-append-1140 syntmp-x-1213 syntmp-y-1211) syntmp-maps-1214)))))) syntmp-tmp-1201))) (syntax-dispatch syntmp-tmp-1201 (quote (any . any))))) syntmp-y-1196))) syntmp-tmp-1188) ((lambda (syntmp-tmp-1215) (if syntmp-tmp-1215 (apply (lambda (syntmp-x-1216 syntmp-y-1217) (call-with-values (lambda () (syntmp-gen-syntax-1135 syntmp-src-1170 syntmp-x-1216 syntmp-r-1172 syntmp-maps-1173 syntmp-ellipsis?-1174 syntmp-mod-1175)) (lambda (syntmp-x-1218 syntmp-maps-1219) (call-with-values (lambda () (syntmp-gen-syntax-1135 syntmp-src-1170 syntmp-y-1217 syntmp-r-1172 syntmp-maps-1219 syntmp-ellipsis?-1174 syntmp-mod-1175)) (lambda (syntmp-y-1220 syntmp-maps-1221) (values (syntmp-gen-cons-1139 syntmp-x-1218 syntmp-y-1220) syntmp-maps-1221)))))) syntmp-tmp-1215) ((lambda (syntmp-tmp-1222) (if syntmp-tmp-1222 (apply (lambda (syntmp-e1-1223 syntmp-e2-1224) (call-with-values (lambda () (syntmp-gen-syntax-1135 syntmp-src-1170 (cons syntmp-e1-1223 syntmp-e2-1224) syntmp-r-1172 syntmp-maps-1173 syntmp-ellipsis?-1174 syntmp-mod-1175)) (lambda (syntmp-e-1226 syntmp-maps-1227) (values (syntmp-gen-vector-1141 syntmp-e-1226) syntmp-maps-1227)))) syntmp-tmp-1222) ((lambda (syntmp-_-1228) (values (list (quote quote) syntmp-e-1171) syntmp-maps-1173)) syntmp-tmp-1181))) (syntax-dispatch syntmp-tmp-1181 (quote #(vector (any . each-any))))))) (syntax-dispatch syntmp-tmp-1181 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1181 (quote (any any . any)))))) (syntax-dispatch syntmp-tmp-1181 (quote (any any))))) syntmp-e-1171))))) (lambda (syntmp-e-1229 syntmp-r-1230 syntmp-w-1231 syntmp-s-1232 syntmp-mod-1233) (let ((syntmp-e-1234 (syntmp-source-wrap-146 syntmp-e-1229 syntmp-w-1231 syntmp-s-1232 syntmp-mod-1233))) ((lambda (syntmp-tmp-1235) ((lambda (syntmp-tmp-1236) (if syntmp-tmp-1236 (apply (lambda (syntmp-_-1237 syntmp-x-1238) (call-with-values (lambda () (syntmp-gen-syntax-1135 syntmp-e-1234 syntmp-x-1238 syntmp-r-1230 (quote ()) syntmp-ellipsis?-162 syntmp-mod-1233)) (lambda (syntmp-e-1239 syntmp-maps-1240) (syntmp-regen-1142 syntmp-e-1239)))) syntmp-tmp-1236) ((lambda (syntmp-_-1241) (syntax-error syntmp-e-1234)) syntmp-tmp-1235))) (syntax-dispatch syntmp-tmp-1235 (quote (any any))))) syntmp-e-1234))))) (syntmp-global-extend-115 (quote core) (quote lambda) (lambda (syntmp-e-1242 syntmp-r-1243 syntmp-w-1244 syntmp-s-1245 syntmp-mod-1246) ((lambda (syntmp-tmp-1247) ((lambda (syntmp-tmp-1248) (if syntmp-tmp-1248 (apply (lambda (syntmp-_-1249 syntmp-c-1250) (syntmp-chi-lambda-clause-158 (syntmp-source-wrap-146 syntmp-e-1242 syntmp-w-1244 syntmp-s-1245 syntmp-mod-1246) syntmp-c-1250 syntmp-r-1243 syntmp-w-1244 syntmp-mod-1246 (lambda (syntmp-vars-1251 syntmp-body-1252) (syntmp-build-annotated-94 syntmp-s-1245 (list (quote lambda) syntmp-vars-1251 syntmp-body-1252))))) syntmp-tmp-1248) (syntax-error syntmp-tmp-1247))) (syntax-dispatch syntmp-tmp-1247 (quote (any . any))))) syntmp-e-1242))) (syntmp-global-extend-115 (quote core) (quote let) (letrec ((syntmp-chi-let-1253 (lambda (syntmp-e-1254 syntmp-r-1255 syntmp-w-1256 syntmp-s-1257 syntmp-mod-1258 syntmp-constructor-1259 syntmp-ids-1260 syntmp-vals-1261 syntmp-exps-1262) (if (not (syntmp-valid-bound-ids?-142 syntmp-ids-1260)) (syntax-error syntmp-e-1254 "duplicate bound variable in") (let ((syntmp-labels-1263 (syntmp-gen-labels-123 syntmp-ids-1260)) (syntmp-new-vars-1264 (map syntmp-gen-var-165 syntmp-ids-1260))) (let ((syntmp-nw-1265 (syntmp-make-binding-wrap-134 syntmp-ids-1260 syntmp-labels-1263 syntmp-w-1256)) (syntmp-nr-1266 (syntmp-extend-var-env-112 syntmp-labels-1263 syntmp-new-vars-1264 syntmp-r-1255))) (syntmp-constructor-1259 syntmp-s-1257 syntmp-new-vars-1264 (map (lambda (syntmp-x-1267) (syntmp-chi-153 syntmp-x-1267 syntmp-r-1255 syntmp-w-1256 syntmp-mod-1258)) syntmp-vals-1261) (syntmp-chi-body-157 syntmp-exps-1262 (syntmp-source-wrap-146 syntmp-e-1254 syntmp-nw-1265 syntmp-s-1257 syntmp-mod-1258) syntmp-nr-1266 syntmp-nw-1265 syntmp-mod-1258)))))))) (lambda (syntmp-e-1268 syntmp-r-1269 syntmp-w-1270 syntmp-s-1271 syntmp-mod-1272) ((lambda (syntmp-tmp-1273) ((lambda (syntmp-tmp-1274) (if syntmp-tmp-1274 (apply (lambda (syntmp-_-1275 syntmp-id-1276 syntmp-val-1277 syntmp-e1-1278 syntmp-e2-1279) (syntmp-chi-let-1253 syntmp-e-1268 syntmp-r-1269 syntmp-w-1270 syntmp-s-1271 syntmp-mod-1272 syntmp-build-let-97 syntmp-id-1276 syntmp-val-1277 (cons syntmp-e1-1278 syntmp-e2-1279))) syntmp-tmp-1274) ((lambda (syntmp-tmp-1283) (if (if syntmp-tmp-1283 (apply (lambda (syntmp-_-1284 syntmp-f-1285 syntmp-id-1286 syntmp-val-1287 syntmp-e1-1288 syntmp-e2-1289) (syntmp-id?-117 syntmp-f-1285)) syntmp-tmp-1283) #f) (apply (lambda (syntmp-_-1290 syntmp-f-1291 syntmp-id-1292 syntmp-val-1293 syntmp-e1-1294 syntmp-e2-1295) (syntmp-chi-let-1253 syntmp-e-1268 syntmp-r-1269 syntmp-w-1270 syntmp-s-1271 syntmp-mod-1272 syntmp-build-named-let-98 (cons syntmp-f-1291 syntmp-id-1292) syntmp-val-1293 (cons syntmp-e1-1294 syntmp-e2-1295))) syntmp-tmp-1283) ((lambda (syntmp-_-1299) (syntax-error (syntmp-source-wrap-146 syntmp-e-1268 syntmp-w-1270 syntmp-s-1271 syntmp-mod-1272))) syntmp-tmp-1273))) (syntax-dispatch syntmp-tmp-1273 (quote (any any #(each (any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1273 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1268)))) (syntmp-global-extend-115 (quote core) (quote letrec) (lambda (syntmp-e-1300 syntmp-r-1301 syntmp-w-1302 syntmp-s-1303 syntmp-mod-1304) ((lambda (syntmp-tmp-1305) ((lambda (syntmp-tmp-1306) (if syntmp-tmp-1306 (apply (lambda (syntmp-_-1307 syntmp-id-1308 syntmp-val-1309 syntmp-e1-1310 syntmp-e2-1311) (let ((syntmp-ids-1312 syntmp-id-1308)) (if (not (syntmp-valid-bound-ids?-142 syntmp-ids-1312)) (syntax-error syntmp-e-1300 "duplicate bound variable in") (let ((syntmp-labels-1314 (syntmp-gen-labels-123 syntmp-ids-1312)) (syntmp-new-vars-1315 (map syntmp-gen-var-165 syntmp-ids-1312))) (let ((syntmp-w-1316 (syntmp-make-binding-wrap-134 syntmp-ids-1312 syntmp-labels-1314 syntmp-w-1302)) (syntmp-r-1317 (syntmp-extend-var-env-112 syntmp-labels-1314 syntmp-new-vars-1315 syntmp-r-1301))) (syntmp-build-letrec-99 syntmp-s-1303 syntmp-new-vars-1315 (map (lambda (syntmp-x-1318) (syntmp-chi-153 syntmp-x-1318 syntmp-r-1317 syntmp-w-1316 syntmp-mod-1304)) syntmp-val-1309) (syntmp-chi-body-157 (cons syntmp-e1-1310 syntmp-e2-1311) (syntmp-source-wrap-146 syntmp-e-1300 syntmp-w-1316 syntmp-s-1303 syntmp-mod-1304) syntmp-r-1317 syntmp-w-1316 syntmp-mod-1304))))))) syntmp-tmp-1306) ((lambda (syntmp-_-1321) (syntax-error (syntmp-source-wrap-146 syntmp-e-1300 syntmp-w-1302 syntmp-s-1303 syntmp-mod-1304))) syntmp-tmp-1305))) (syntax-dispatch syntmp-tmp-1305 (quote (any #(each (any any)) any . each-any))))) syntmp-e-1300))) (syntmp-global-extend-115 (quote core) (quote set!) (lambda (syntmp-e-1322 syntmp-r-1323 syntmp-w-1324 syntmp-s-1325 syntmp-mod-1326) ((lambda (syntmp-tmp-1327) ((lambda (syntmp-tmp-1328) (if (if syntmp-tmp-1328 (apply (lambda (syntmp-_-1329 syntmp-id-1330 syntmp-val-1331) (syntmp-id?-117 syntmp-id-1330)) syntmp-tmp-1328) #f) (apply (lambda (syntmp-_-1332 syntmp-id-1333 syntmp-val-1334) (let ((syntmp-val-1335 (syntmp-chi-153 syntmp-val-1334 syntmp-r-1323 syntmp-w-1324 syntmp-mod-1326)) (syntmp-n-1336 (syntmp-id-var-name-139 syntmp-id-1333 syntmp-w-1324))) (let ((syntmp-b-1337 (syntmp-lookup-114 syntmp-n-1336 syntmp-r-1323 syntmp-mod-1326))) (let ((syntmp-t-1338 (syntmp-binding-type-109 syntmp-b-1337))) (if (memv syntmp-t-1338 (quote (lexical))) (syntmp-build-annotated-94 syntmp-s-1325 (list (quote set!) (syntmp-binding-value-110 syntmp-b-1337) syntmp-val-1335)) (if (memv syntmp-t-1338 (quote (global))) (syntmp-build-annotated-94 syntmp-s-1325 (list (quote set!) (make-module-ref syntmp-mod-1326 syntmp-n-1336 #f) syntmp-val-1335)) (if (memv syntmp-t-1338 (quote (displaced-lexical))) (syntax-error (syntmp-wrap-145 syntmp-id-1333 syntmp-w-1324 syntmp-mod-1326) "identifier out of context") (syntax-error (syntmp-source-wrap-146 syntmp-e-1322 syntmp-w-1324 syntmp-s-1325 syntmp-mod-1326))))))))) syntmp-tmp-1328) ((lambda (syntmp-tmp-1339) (if syntmp-tmp-1339 (apply (lambda (syntmp-_-1340 syntmp-getter-1341 syntmp-arg-1342 syntmp-val-1343) (syntmp-build-annotated-94 syntmp-s-1325 (cons (syntmp-chi-153 (list (quote #(syntax-object setter ((top) #(ribcage #(_ getter arg val) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(e r w s mod) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook 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"))) (ice-9 syncase))) syntmp-getter-1341) syntmp-r-1323 syntmp-w-1324 syntmp-mod-1326) (map (lambda (syntmp-e-1344) (syntmp-chi-153 syntmp-e-1344 syntmp-r-1323 syntmp-w-1324 syntmp-mod-1326)) (append syntmp-arg-1342 (list syntmp-val-1343)))))) syntmp-tmp-1339) ((lambda (syntmp-_-1346) (syntax-error (syntmp-source-wrap-146 syntmp-e-1322 syntmp-w-1324 syntmp-s-1325 syntmp-mod-1326))) syntmp-tmp-1327))) (syntax-dispatch syntmp-tmp-1327 (quote (any (any . each-any) any)))))) (syntax-dispatch syntmp-tmp-1327 (quote (any any any))))) syntmp-e-1322))) (syntmp-global-extend-115 (quote module-ref) (quote @) (lambda (syntmp-e-1347 syntmp-r-1348 syntmp-w-1349 syntmp-s-1350 syntmp-mod-1351) ((lambda (syntmp-tmp-1352) ((lambda (syntmp-tmp-1353) (if (if syntmp-tmp-1353 (apply (lambda (syntmp-_-1354 syntmp-mod-1355 syntmp-id-1356) (and (andmap syntmp-id?-117 syntmp-mod-1355) (syntmp-id?-117 syntmp-id-1356))) syntmp-tmp-1353) #f) (apply (lambda (syntmp-_-1358 syntmp-mod-1359 syntmp-id-1360) (values (syntax-object->datum syntmp-id-1360) (syntax-object->datum (append syntmp-mod-1359 (quote (#(syntax-object %module-public-interface ((top) #(ribcage #(_ mod id) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(e r w s mod) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook 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"))) (ice-9 syncase)))))))) syntmp-tmp-1353) (syntax-error syntmp-tmp-1352))) (syntax-dispatch syntmp-tmp-1352 (quote (any each-any any))))) syntmp-e-1347))) (syntmp-global-extend-115 (quote module-ref) (quote @@) (lambda (syntmp-e-1362 syntmp-r-1363 syntmp-w-1364 syntmp-s-1365 syntmp-mod-1366) ((lambda (syntmp-tmp-1367) ((lambda (syntmp-tmp-1368) (if (if syntmp-tmp-1368 (apply (lambda (syntmp-_-1369 syntmp-mod-1370 syntmp-id-1371) (and (andmap syntmp-id?-117 syntmp-mod-1370) (syntmp-id?-117 syntmp-id-1371))) syntmp-tmp-1368) #f) (apply (lambda (syntmp-_-1373 syntmp-mod-1374 syntmp-id-1375) (values (syntax-object->datum syntmp-id-1375) (syntax-object->datum syntmp-mod-1374))) syntmp-tmp-1368) (syntax-error syntmp-tmp-1367))) (syntax-dispatch syntmp-tmp-1367 (quote (any each-any any))))) syntmp-e-1362))) (syntmp-global-extend-115 (quote begin) (quote begin) (quote ())) (syntmp-global-extend-115 (quote define) (quote define) (quote ())) (syntmp-global-extend-115 (quote define-syntax) (quote define-syntax) (quote ())) (syntmp-global-extend-115 (quote eval-when) (quote eval-when) (quote ())) (syntmp-global-extend-115 (quote core) (quote syntax-case) (letrec ((syntmp-gen-syntax-case-1380 (lambda (syntmp-x-1381 syntmp-keys-1382 syntmp-clauses-1383 syntmp-r-1384 syntmp-mod-1385) (if (null? syntmp-clauses-1383) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote syntax-error)) syntmp-x-1381)) ((lambda (syntmp-tmp-1386) ((lambda (syntmp-tmp-1387) (if syntmp-tmp-1387 (apply (lambda (syntmp-pat-1388 syntmp-exp-1389) (if (and (syntmp-id?-117 syntmp-pat-1388) (andmap (lambda (syntmp-x-1390) (not (syntmp-free-id=?-140 syntmp-pat-1388 syntmp-x-1390))) (cons (quote #(syntax-object ... ((top) #(ribcage #(pat exp) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) ("i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object build-lexical-var build-letrec build-named-let build-let build-sequence build-data build-primref build-lambda build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application build-annotated get-global-definition-hook 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"))) (ice-9 syncase))) syntmp-keys-1382))) (let ((syntmp-labels-1391 (list (syntmp-gen-label-122))) (syntmp-var-1392 (syntmp-gen-var-165 syntmp-pat-1388))) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (list (quote lambda) (list syntmp-var-1392) (syntmp-chi-153 syntmp-exp-1389 (syntmp-extend-env-111 syntmp-labels-1391 (list (cons (quote syntax) (cons syntmp-var-1392 0))) syntmp-r-1384) (syntmp-make-binding-wrap-134 (list syntmp-pat-1388) syntmp-labels-1391 (quote (()))) syntmp-mod-1385))) syntmp-x-1381))) (syntmp-gen-clause-1379 syntmp-x-1381 syntmp-keys-1382 (cdr syntmp-clauses-1383) syntmp-r-1384 syntmp-pat-1388 #t syntmp-exp-1389 syntmp-mod-1385))) syntmp-tmp-1387) ((lambda (syntmp-tmp-1393) (if syntmp-tmp-1393 (apply (lambda (syntmp-pat-1394 syntmp-fender-1395 syntmp-exp-1396) (syntmp-gen-clause-1379 syntmp-x-1381 syntmp-keys-1382 (cdr syntmp-clauses-1383) syntmp-r-1384 syntmp-pat-1394 syntmp-fender-1395 syntmp-exp-1396 syntmp-mod-1385)) syntmp-tmp-1393) ((lambda (syntmp-_-1397) (syntax-error (car syntmp-clauses-1383) "invalid syntax-case clause")) syntmp-tmp-1386))) (syntax-dispatch syntmp-tmp-1386 (quote (any any any)))))) (syntax-dispatch syntmp-tmp-1386 (quote (any any))))) (car syntmp-clauses-1383))))) (syntmp-gen-clause-1379 (lambda (syntmp-x-1398 syntmp-keys-1399 syntmp-clauses-1400 syntmp-r-1401 syntmp-pat-1402 syntmp-fender-1403 syntmp-exp-1404 syntmp-mod-1405) (call-with-values (lambda () (syntmp-convert-pattern-1377 syntmp-pat-1402 syntmp-keys-1399)) (lambda (syntmp-p-1406 syntmp-pvars-1407) (cond ((not (syntmp-distinct-bound-ids?-143 (map car syntmp-pvars-1407))) (syntax-error syntmp-pat-1402 "duplicate pattern variable in syntax-case pattern")) ((not (andmap (lambda (syntmp-x-1408) (not (syntmp-ellipsis?-162 (car syntmp-x-1408)))) syntmp-pvars-1407)) (syntax-error syntmp-pat-1402 "misplaced ellipsis in syntax-case pattern")) (else (let ((syntmp-y-1409 (syntmp-gen-var-165 (quote tmp)))) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (list (quote lambda) (list syntmp-y-1409) (let ((syntmp-y-1410 (syntmp-build-annotated-94 #f syntmp-y-1409))) (syntmp-build-annotated-94 #f (list (quote if) ((lambda (syntmp-tmp-1411) ((lambda (syntmp-tmp-1412) (if syntmp-tmp-1412 (apply (lambda () syntmp-y-1410) syntmp-tmp-1412) ((lambda (syntmp-_-1413) (syntmp-build-annotated-94 #f (list (quote if) syntmp-y-1410 (syntmp-build-dispatch-call-1378 syntmp-pvars-1407 syntmp-fender-1403 syntmp-y-1410 syntmp-r-1401 syntmp-mod-1405) (syntmp-build-data-95 #f #f)))) syntmp-tmp-1411))) (syntax-dispatch syntmp-tmp-1411 (quote #(atom #t))))) syntmp-fender-1403) (syntmp-build-dispatch-call-1378 syntmp-pvars-1407 syntmp-exp-1404 syntmp-y-1410 syntmp-r-1401 syntmp-mod-1405) (syntmp-gen-syntax-case-1380 syntmp-x-1398 syntmp-keys-1399 syntmp-clauses-1400 syntmp-r-1401 syntmp-mod-1405)))))) (if (eq? syntmp-p-1406 (quote any)) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote list)) syntmp-x-1398)) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote syntax-dispatch)) syntmp-x-1398 (syntmp-build-data-95 #f syntmp-p-1406))))))))))))) (syntmp-build-dispatch-call-1378 (lambda (syntmp-pvars-1414 syntmp-exp-1415 syntmp-y-1416 syntmp-r-1417 syntmp-mod-1418) (let ((syntmp-ids-1419 (map car syntmp-pvars-1414)) (syntmp-levels-1420 (map cdr syntmp-pvars-1414))) (let ((syntmp-labels-1421 (syntmp-gen-labels-123 syntmp-ids-1419)) (syntmp-new-vars-1422 (map syntmp-gen-var-165 syntmp-ids-1419))) (syntmp-build-annotated-94 #f (list (syntmp-build-annotated-94 #f (quote apply)) (syntmp-build-annotated-94 #f (list (quote lambda) syntmp-new-vars-1422 (syntmp-chi-153 syntmp-exp-1415 (syntmp-extend-env-111 syntmp-labels-1421 (map (lambda (syntmp-var-1423 syntmp-level-1424) (cons (quote syntax) (cons syntmp-var-1423 syntmp-level-1424))) syntmp-new-vars-1422 (map cdr syntmp-pvars-1414)) syntmp-r-1417) (syntmp-make-binding-wrap-134 syntmp-ids-1419 syntmp-labels-1421 (quote (()))) syntmp-mod-1418))) syntmp-y-1416)))))) (syntmp-convert-pattern-1377 (lambda (syntmp-pattern-1425 syntmp-keys-1426) (let syntmp-cvt-1427 ((syntmp-p-1428 syntmp-pattern-1425) (syntmp-n-1429 0) (syntmp-ids-1430 (quote ()))) (if (syntmp-id?-117 syntmp-p-1428) (if (syntmp-bound-id-member?-144 syntmp-p-1428 syntmp-keys-1426) (values (vector (quote free-id) syntmp-p-1428) syntmp-ids-1430) (values (quote any) (cons (cons syntmp-p-1428 syntmp-n-1429) syntmp-ids-1430))) ((lambda (syntmp-tmp-1431) ((lambda (syntmp-tmp-1432) (if (if syntmp-tmp-1432 (apply (lambda (syntmp-x-1433 syntmp-dots-1434) (syntmp-ellipsis?-162 syntmp-dots-1434)) syntmp-tmp-1432) #f) (apply (lambda (syntmp-x-1435 syntmp-dots-1436) (call-with-values (lambda () (syntmp-cvt-1427 syntmp-x-1435 (syntmp-fx+-85 syntmp-n-1429 1) syntmp-ids-1430)) (lambda (syntmp-p-1437 syntmp-ids-1438) (values (if (eq? syntmp-p-1437 (quote any)) (quote each-any) (vector (quote each) syntmp-p-1437)) syntmp-ids-1438)))) syntmp-tmp-1432) ((lambda (syntmp-tmp-1439) (if syntmp-tmp-1439 (apply (lambda (syntmp-x-1440 syntmp-y-1441) (call-with-values (lambda () (syntmp-cvt-1427 syntmp-y-1441 syntmp-n-1429 syntmp-ids-1430)) (lambda (syntmp-y-1442 syntmp-ids-1443) (call-with-values (lambda () (syntmp-cvt-1427 syntmp-x-1440 syntmp-n-1429 syntmp-ids-1443)) (lambda (syntmp-x-1444 syntmp-ids-1445) (values (cons syntmp-x-1444 syntmp-y-1442) syntmp-ids-1445)))))) syntmp-tmp-1439) ((lambda (syntmp-tmp-1446) (if syntmp-tmp-1446 (apply (lambda () (values (quote ()) syntmp-ids-1430)) syntmp-tmp-1446) ((lambda (syntmp-tmp-1447) (if syntmp-tmp-1447 (apply (lambda (syntmp-x-1448) (call-with-values (lambda () (syntmp-cvt-1427 syntmp-x-1448 syntmp-n-1429 syntmp-ids-1430)) (lambda (syntmp-p-1450 syntmp-ids-1451) (values (vector (quote vector) syntmp-p-1450) syntmp-ids-1451)))) syntmp-tmp-1447) ((lambda (syntmp-x-1452) (values (vector (quote atom) (syntmp-strip-164 syntmp-p-1428 (quote (())))) syntmp-ids-1430)) syntmp-tmp-1431))) (syntax-dispatch syntmp-tmp-1431 (quote #(vector each-any)))))) (syntax-dispatch syntmp-tmp-1431 (quote ()))))) (syntax-dispatch syntmp-tmp-1431 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1431 (quote (any any))))) syntmp-p-1428)))))) (lambda (syntmp-e-1453 syntmp-r-1454 syntmp-w-1455 syntmp-s-1456 syntmp-mod-1457) (let ((syntmp-e-1458 (syntmp-source-wrap-146 syntmp-e-1453 syntmp-w-1455 syntmp-s-1456 syntmp-mod-1457))) ((lambda (syntmp-tmp-1459) ((lambda (syntmp-tmp-1460) (if syntmp-tmp-1460 (apply (lambda (syntmp-_-1461 syntmp-val-1462 syntmp-key-1463 syntmp-m-1464) (if (andmap (lambda (syntmp-x-1465) (and (syntmp-id?-117 syntmp-x-1465) (not (syntmp-ellipsis?-162 syntmp-x-1465)))) syntmp-key-1463) (let ((syntmp-x-1467 (syntmp-gen-var-165 (quote tmp)))) (syntmp-build-annotated-94 syntmp-s-1456 (list (syntmp-build-annotated-94 #f (list (quote lambda) (list syntmp-x-1467) (syntmp-gen-syntax-case-1380 (syntmp-build-annotated-94 #f syntmp-x-1467) syntmp-key-1463 syntmp-m-1464 syntmp-r-1454 syntmp-mod-1457))) (syntmp-chi-153 syntmp-val-1462 syntmp-r-1454 (quote (())) syntmp-mod-1457)))) (syntax-error syntmp-e-1458 "invalid literals list in"))) syntmp-tmp-1460) (syntax-error syntmp-tmp-1459))) (syntax-dispatch syntmp-tmp-1459 (quote (any any each-any . each-any))))) syntmp-e-1458))))) (set! sc-expand (let ((syntmp-m-1470 (quote e)) (syntmp-esew-1471 (quote (eval)))) (lambda (syntmp-x-1472) (if (and (pair? syntmp-x-1472) (equal? (car syntmp-x-1472) syntmp-noexpand-84)) (cadr syntmp-x-1472) (syntmp-chi-top-152 syntmp-x-1472 (quote ()) (quote ((top))) syntmp-m-1470 syntmp-esew-1471 (module-name (current-module))))))) (set! sc-expand3 (let ((syntmp-m-1473 (quote e)) (syntmp-esew-1474 (quote (eval)))) (lambda (syntmp-x-1476 . syntmp-rest-1475) (if (and (pair? syntmp-x-1476) (equal? (car syntmp-x-1476) syntmp-noexpand-84)) (cadr syntmp-x-1476) (syntmp-chi-top-152 syntmp-x-1476 (quote ()) (quote ((top))) (if (null? syntmp-rest-1475) syntmp-m-1473 (car syntmp-rest-1475)) (if (or (null? syntmp-rest-1475) (null? (cdr syntmp-rest-1475))) syntmp-esew-1474 (cadr syntmp-rest-1475)) (module-name (current-module))))))) (set! identifier? (lambda (syntmp-x-1477) (syntmp-nonsymbol-id?-116 syntmp-x-1477))) (set! datum->syntax-object (lambda (syntmp-id-1478 syntmp-datum-1479) (syntmp-make-syntax-object-100 syntmp-datum-1479 (syntmp-syntax-object-wrap-103 syntmp-id-1478) #f))) (set! syntax-object->datum (lambda (syntmp-x-1480) (syntmp-strip-164 syntmp-x-1480 (quote (()))))) (set! generate-temporaries (lambda (syntmp-ls-1481) (begin (let ((syntmp-x-1482 syntmp-ls-1481)) (if (not (list? syntmp-x-1482)) (syntmp-error-hook-91 (quote generate-temporaries) "invalid argument" syntmp-x-1482))) (map (lambda (syntmp-x-1483) (syntmp-wrap-145 (gensym) (quote ((top))) #f)) syntmp-ls-1481)))) (set! free-identifier=? (lambda (syntmp-x-1484 syntmp-y-1485) (begin (let ((syntmp-x-1486 syntmp-x-1484)) (if (not (syntmp-nonsymbol-id?-116 syntmp-x-1486)) (syntmp-error-hook-91 (quote free-identifier=?) "invalid argument" syntmp-x-1486))) (let ((syntmp-x-1487 syntmp-y-1485)) (if (not (syntmp-nonsymbol-id?-116 syntmp-x-1487)) (syntmp-error-hook-91 (quote free-identifier=?) "invalid argument" syntmp-x-1487))) (syntmp-free-id=?-140 syntmp-x-1484 syntmp-y-1485)))) (set! bound-identifier=? (lambda (syntmp-x-1488 syntmp-y-1489) (begin (let ((syntmp-x-1490 syntmp-x-1488)) (if (not (syntmp-nonsymbol-id?-116 syntmp-x-1490)) (syntmp-error-hook-91 (quote bound-identifier=?) "invalid argument" syntmp-x-1490))) (let ((syntmp-x-1491 syntmp-y-1489)) (if (not (syntmp-nonsymbol-id?-116 syntmp-x-1491)) (syntmp-error-hook-91 (quote bound-identifier=?) "invalid argument" syntmp-x-1491))) (syntmp-bound-id=?-141 syntmp-x-1488 syntmp-y-1489)))) (set! syntax-error (lambda (syntmp-object-1493 . syntmp-messages-1492) (begin (for-each (lambda (syntmp-x-1494) (let ((syntmp-x-1495 syntmp-x-1494)) (if (not (string? syntmp-x-1495)) (syntmp-error-hook-91 (quote syntax-error) "invalid argument" syntmp-x-1495)))) syntmp-messages-1492) (let ((syntmp-message-1496 (if (null? syntmp-messages-1492) "invalid syntax" (apply string-append syntmp-messages-1492)))) (syntmp-error-hook-91 #f syntmp-message-1496 (syntmp-strip-164 syntmp-object-1493 (quote (())))))))) (set! install-global-transformer (lambda (syntmp-sym-1497 syntmp-v-1498) (begin (let ((syntmp-x-1499 syntmp-sym-1497)) (if (not (symbol? syntmp-x-1499)) (syntmp-error-hook-91 (quote define-syntax) "invalid argument" syntmp-x-1499))) (let ((syntmp-x-1500 syntmp-v-1498)) (if (not (procedure? syntmp-x-1500)) (syntmp-error-hook-91 (quote define-syntax) "invalid argument" syntmp-x-1500))) (syntmp-global-extend-115 (quote macro) syntmp-sym-1497 syntmp-v-1498)))) (letrec ((syntmp-match-1505 (lambda (syntmp-e-1506 syntmp-p-1507 syntmp-w-1508 syntmp-r-1509 syntmp-mod-1510) (cond ((not syntmp-r-1509) #f) ((eq? syntmp-p-1507 (quote any)) (cons (syntmp-wrap-145 syntmp-e-1506 syntmp-w-1508 syntmp-mod-1510) syntmp-r-1509)) ((syntmp-syntax-object?-101 syntmp-e-1506) (syntmp-match*-1504 (let ((syntmp-e-1511 (syntmp-syntax-object-expression-102 syntmp-e-1506))) (if (annotation? syntmp-e-1511) (annotation-expression syntmp-e-1511) syntmp-e-1511)) syntmp-p-1507 (syntmp-join-wraps-136 syntmp-w-1508 (syntmp-syntax-object-wrap-103 syntmp-e-1506)) syntmp-r-1509 (syntmp-syntax-object-module-104 syntmp-e-1506))) (else (syntmp-match*-1504 (let ((syntmp-e-1512 syntmp-e-1506)) (if (annotation? syntmp-e-1512) (annotation-expression syntmp-e-1512) syntmp-e-1512)) syntmp-p-1507 syntmp-w-1508 syntmp-r-1509 syntmp-mod-1510))))) (syntmp-match*-1504 (lambda (syntmp-e-1513 syntmp-p-1514 syntmp-w-1515 syntmp-r-1516 syntmp-mod-1517) (cond ((null? syntmp-p-1514) (and (null? syntmp-e-1513) syntmp-r-1516)) ((pair? syntmp-p-1514) (and (pair? syntmp-e-1513) (syntmp-match-1505 (car syntmp-e-1513) (car syntmp-p-1514) syntmp-w-1515 (syntmp-match-1505 (cdr syntmp-e-1513) (cdr syntmp-p-1514) syntmp-w-1515 syntmp-r-1516 syntmp-mod-1517) syntmp-mod-1517))) ((eq? syntmp-p-1514 (quote each-any)) (let ((syntmp-l-1518 (syntmp-match-each-any-1502 syntmp-e-1513 syntmp-w-1515 syntmp-mod-1517))) (and syntmp-l-1518 (cons syntmp-l-1518 syntmp-r-1516)))) (else (let ((syntmp-t-1519 (vector-ref syntmp-p-1514 0))) (if (memv syntmp-t-1519 (quote (each))) (if (null? syntmp-e-1513) (syntmp-match-empty-1503 (vector-ref syntmp-p-1514 1) syntmp-r-1516) (let ((syntmp-l-1520 (syntmp-match-each-1501 syntmp-e-1513 (vector-ref syntmp-p-1514 1) syntmp-w-1515 syntmp-mod-1517))) (and syntmp-l-1520 (let syntmp-collect-1521 ((syntmp-l-1522 syntmp-l-1520)) (if (null? (car syntmp-l-1522)) syntmp-r-1516 (cons (map car syntmp-l-1522) (syntmp-collect-1521 (map cdr syntmp-l-1522)))))))) (if (memv syntmp-t-1519 (quote (free-id))) (and (syntmp-id?-117 syntmp-e-1513) (syntmp-free-id=?-140 (syntmp-wrap-145 syntmp-e-1513 syntmp-w-1515 syntmp-mod-1517) (vector-ref syntmp-p-1514 1)) syntmp-r-1516) (if (memv syntmp-t-1519 (quote (atom))) (and (equal? (vector-ref syntmp-p-1514 1) (syntmp-strip-164 syntmp-e-1513 syntmp-w-1515)) syntmp-r-1516) (if (memv syntmp-t-1519 (quote (vector))) (and (vector? syntmp-e-1513) (syntmp-match-1505 (vector->list syntmp-e-1513) (vector-ref syntmp-p-1514 1) syntmp-w-1515 syntmp-r-1516 syntmp-mod-1517))))))))))) (syntmp-match-empty-1503 (lambda (syntmp-p-1523 syntmp-r-1524) (cond ((null? syntmp-p-1523) syntmp-r-1524) ((eq? syntmp-p-1523 (quote any)) (cons (quote ()) syntmp-r-1524)) ((pair? syntmp-p-1523) (syntmp-match-empty-1503 (car syntmp-p-1523) (syntmp-match-empty-1503 (cdr syntmp-p-1523) syntmp-r-1524))) ((eq? syntmp-p-1523 (quote each-any)) (cons (quote ()) syntmp-r-1524)) (else (let ((syntmp-t-1525 (vector-ref syntmp-p-1523 0))) (if (memv syntmp-t-1525 (quote (each))) (syntmp-match-empty-1503 (vector-ref syntmp-p-1523 1) syntmp-r-1524) (if (memv syntmp-t-1525 (quote (free-id atom))) syntmp-r-1524 (if (memv syntmp-t-1525 (quote (vector))) (syntmp-match-empty-1503 (vector-ref syntmp-p-1523 1) syntmp-r-1524))))))))) (syntmp-match-each-any-1502 (lambda (syntmp-e-1526 syntmp-w-1527 syntmp-mod-1528) (cond ((annotation? syntmp-e-1526) (syntmp-match-each-any-1502 (annotation-expression syntmp-e-1526) syntmp-w-1527 syntmp-mod-1528)) ((pair? syntmp-e-1526) (let ((syntmp-l-1529 (syntmp-match-each-any-1502 (cdr syntmp-e-1526) syntmp-w-1527 syntmp-mod-1528))) (and syntmp-l-1529 (cons (syntmp-wrap-145 (car syntmp-e-1526) syntmp-w-1527 syntmp-mod-1528) syntmp-l-1529)))) ((null? syntmp-e-1526) (quote ())) ((syntmp-syntax-object?-101 syntmp-e-1526) (syntmp-match-each-any-1502 (syntmp-syntax-object-expression-102 syntmp-e-1526) (syntmp-join-wraps-136 syntmp-w-1527 (syntmp-syntax-object-wrap-103 syntmp-e-1526)) syntmp-mod-1528)) (else #f)))) (syntmp-match-each-1501 (lambda (syntmp-e-1530 syntmp-p-1531 syntmp-w-1532 syntmp-mod-1533) (cond ((annotation? syntmp-e-1530) (syntmp-match-each-1501 (annotation-expression syntmp-e-1530) syntmp-p-1531 syntmp-w-1532 syntmp-mod-1533)) ((pair? syntmp-e-1530) (let ((syntmp-first-1534 (syntmp-match-1505 (car syntmp-e-1530) syntmp-p-1531 syntmp-w-1532 (quote ()) syntmp-mod-1533))) (and syntmp-first-1534 (let ((syntmp-rest-1535 (syntmp-match-each-1501 (cdr syntmp-e-1530) syntmp-p-1531 syntmp-w-1532 syntmp-mod-1533))) (and syntmp-rest-1535 (cons syntmp-first-1534 syntmp-rest-1535)))))) ((null? syntmp-e-1530) (quote ())) ((syntmp-syntax-object?-101 syntmp-e-1530) (syntmp-match-each-1501 (syntmp-syntax-object-expression-102 syntmp-e-1530) syntmp-p-1531 (syntmp-join-wraps-136 syntmp-w-1532 (syntmp-syntax-object-wrap-103 syntmp-e-1530)) (syntmp-syntax-object-module-104 syntmp-e-1530))) (else #f))))) (begin (set! syntax-dispatch (lambda (syntmp-e-1536 syntmp-p-1537) (cond ((eq? syntmp-p-1537 (quote any)) (list syntmp-e-1536)) ((syntmp-syntax-object?-101 syntmp-e-1536) (syntmp-match*-1504 (let ((syntmp-e-1538 (syntmp-syntax-object-expression-102 syntmp-e-1536))) (if (annotation? syntmp-e-1538) (annotation-expression syntmp-e-1538) syntmp-e-1538)) syntmp-p-1537 (syntmp-syntax-object-wrap-103 syntmp-e-1536) (quote ()) (syntmp-syntax-object-module-104 syntmp-e-1536))) (else (syntmp-match*-1504 (let ((syntmp-e-1539 syntmp-e-1536)) (if (annotation? syntmp-e-1539) (annotation-expression syntmp-e-1539) syntmp-e-1539)) syntmp-p-1537 (quote (())) (quote ()) #f))))) (set! sc-chi syntmp-chi-153)))))
+(install-global-transformer (quote with-syntax) (lambda (syntmp-x-1540) ((lambda (syntmp-tmp-1541) ((lambda (syntmp-tmp-1542) (if syntmp-tmp-1542 (apply (lambda (syntmp-_-1543 syntmp-e1-1544 syntmp-e2-1545) (cons (quote #(syntax-object begin ((top) #(ribcage #(_ e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (cons syntmp-e1-1544 syntmp-e2-1545))) syntmp-tmp-1542) ((lambda (syntmp-tmp-1547) (if syntmp-tmp-1547 (apply (lambda (syntmp-_-1548 syntmp-out-1549 syntmp-in-1550 syntmp-e1-1551 syntmp-e2-1552) (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"))) (ice-9 syncase))) syntmp-in-1550 (quote ()) (list syntmp-out-1549 (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"))) (ice-9 syncase))) (cons syntmp-e1-1551 syntmp-e2-1552))))) syntmp-tmp-1547) ((lambda (syntmp-tmp-1554) (if syntmp-tmp-1554 (apply (lambda (syntmp-_-1555 syntmp-out-1556 syntmp-in-1557 syntmp-e1-1558 syntmp-e2-1559) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) syntmp-in-1557) (quote ()) (list syntmp-out-1556 (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"))) (ice-9 syncase))) (cons syntmp-e1-1558 syntmp-e2-1559))))) syntmp-tmp-1554) (syntax-error syntmp-tmp-1541))) (syntax-dispatch syntmp-tmp-1541 (quote (any #(each (any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1541 (quote (any ((any any)) any . each-any)))))) (syntax-dispatch syntmp-tmp-1541 (quote (any () any . each-any))))) syntmp-x-1540)))
+(install-global-transformer (quote syntax-rules) (lambda (syntmp-x-1581) ((lambda (syntmp-tmp-1582) ((lambda (syntmp-tmp-1583) (if syntmp-tmp-1583 (apply (lambda (syntmp-_-1584 syntmp-k-1585 syntmp-keyword-1586 syntmp-pattern-1587 syntmp-template-1588) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase)))) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (cons syntmp-k-1585 (map (lambda (syntmp-tmp-1591 syntmp-tmp-1590) (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"))) (ice-9 syncase))) syntmp-tmp-1590) (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"))) (ice-9 syncase))) syntmp-tmp-1591))) syntmp-template-1588 syntmp-pattern-1587)))))) syntmp-tmp-1583) (syntax-error syntmp-tmp-1582))) (syntax-dispatch syntmp-tmp-1582 (quote (any each-any . #(each ((any . any) any))))))) syntmp-x-1581)))
+(install-global-transformer (quote let*) (lambda (syntmp-x-1602) ((lambda (syntmp-tmp-1603) ((lambda (syntmp-tmp-1604) (if (if syntmp-tmp-1604 (apply (lambda (syntmp-let*-1605 syntmp-x-1606 syntmp-v-1607 syntmp-e1-1608 syntmp-e2-1609) (andmap identifier? syntmp-x-1606)) syntmp-tmp-1604) #f) (apply (lambda (syntmp-let*-1611 syntmp-x-1612 syntmp-v-1613 syntmp-e1-1614 syntmp-e2-1615) (let syntmp-f-1616 ((syntmp-bindings-1617 (map list syntmp-x-1612 syntmp-v-1613))) (if (null? syntmp-bindings-1617) (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"))) (ice-9 syncase))) (cons (quote ()) (cons syntmp-e1-1614 syntmp-e2-1615))) ((lambda (syntmp-tmp-1621) ((lambda (syntmp-tmp-1622) (if syntmp-tmp-1622 (apply (lambda (syntmp-body-1623 syntmp-binding-1624) (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"))) (ice-9 syncase))) (list syntmp-binding-1624) syntmp-body-1623)) syntmp-tmp-1622) (syntax-error syntmp-tmp-1621))) (syntax-dispatch syntmp-tmp-1621 (quote (any any))))) (list (syntmp-f-1616 (cdr syntmp-bindings-1617)) (car syntmp-bindings-1617)))))) syntmp-tmp-1604) (syntax-error syntmp-tmp-1603))) (syntax-dispatch syntmp-tmp-1603 (quote (any #(each (any any)) any . each-any))))) syntmp-x-1602)))
+(install-global-transformer (quote do) (lambda (syntmp-orig-x-1644) ((lambda (syntmp-tmp-1645) ((lambda (syntmp-tmp-1646) (if syntmp-tmp-1646 (apply (lambda (syntmp-_-1647 syntmp-var-1648 syntmp-init-1649 syntmp-step-1650 syntmp-e0-1651 syntmp-e1-1652 syntmp-c-1653) ((lambda (syntmp-tmp-1654) ((lambda (syntmp-tmp-1655) (if syntmp-tmp-1655 (apply (lambda (syntmp-step-1656) ((lambda (syntmp-tmp-1657) ((lambda (syntmp-tmp-1658) (if syntmp-tmp-1658 (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (map list syntmp-var-1648 syntmp-init-1649) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) syntmp-e0-1651) (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"))) (ice-9 syncase))) (append syntmp-c-1653 (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"))) (ice-9 syncase))) syntmp-step-1656))))))) syntmp-tmp-1658) ((lambda (syntmp-tmp-1663) (if syntmp-tmp-1663 (apply (lambda (syntmp-e1-1664 syntmp-e2-1665) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (map list syntmp-var-1648 syntmp-init-1649) (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"))) (ice-9 syncase))) syntmp-e0-1651 (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"))) (ice-9 syncase))) (cons syntmp-e1-1664 syntmp-e2-1665)) (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"))) (ice-9 syncase))) (append syntmp-c-1653 (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"))) (ice-9 syncase))) syntmp-step-1656))))))) syntmp-tmp-1663) (syntax-error syntmp-tmp-1657))) (syntax-dispatch syntmp-tmp-1657 (quote (any . each-any)))))) (syntax-dispatch syntmp-tmp-1657 (quote ())))) syntmp-e1-1652)) syntmp-tmp-1655) (syntax-error syntmp-tmp-1654))) (syntax-dispatch syntmp-tmp-1654 (quote each-any)))) (map (lambda (syntmp-v-1672 syntmp-s-1673) ((lambda (syntmp-tmp-1674) ((lambda (syntmp-tmp-1675) (if syntmp-tmp-1675 (apply (lambda () syntmp-v-1672) syntmp-tmp-1675) ((lambda (syntmp-tmp-1676) (if syntmp-tmp-1676 (apply (lambda (syntmp-e-1677) syntmp-e-1677) syntmp-tmp-1676) ((lambda (syntmp-_-1678) (syntax-error syntmp-orig-x-1644)) syntmp-tmp-1674))) (syntax-dispatch syntmp-tmp-1674 (quote (any)))))) (syntax-dispatch syntmp-tmp-1674 (quote ())))) syntmp-s-1673)) syntmp-var-1648 syntmp-step-1650))) syntmp-tmp-1646) (syntax-error syntmp-tmp-1645))) (syntax-dispatch syntmp-tmp-1645 (quote (any #(each (any any . any)) (any . each-any) . each-any))))) syntmp-orig-x-1644)))
+(install-global-transformer (quote quasiquote) (letrec ((syntmp-quasicons-1706 (lambda (syntmp-x-1710 syntmp-y-1711) ((lambda (syntmp-tmp-1712) ((lambda (syntmp-tmp-1713) (if syntmp-tmp-1713 (apply (lambda (syntmp-x-1714 syntmp-y-1715) ((lambda (syntmp-tmp-1716) ((lambda (syntmp-tmp-1717) (if syntmp-tmp-1717 (apply (lambda (syntmp-dy-1718) ((lambda (syntmp-tmp-1719) ((lambda (syntmp-tmp-1720) (if syntmp-tmp-1720 (apply (lambda (syntmp-dx-1721) (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"))) (ice-9 syncase))) (cons syntmp-dx-1721 syntmp-dy-1718))) syntmp-tmp-1720) ((lambda (syntmp-_-1722) (if (null? syntmp-dy-1718) (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"))) (ice-9 syncase))) syntmp-x-1714) (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"))) (ice-9 syncase))) syntmp-x-1714 syntmp-y-1715))) syntmp-tmp-1719))) (syntax-dispatch syntmp-tmp-1719 (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"))) (ice-9 syncase))) any))))) syntmp-x-1714)) syntmp-tmp-1717) ((lambda (syntmp-tmp-1723) (if syntmp-tmp-1723 (apply (lambda (syntmp-stuff-1724) (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"))) (ice-9 syncase))) (cons syntmp-x-1714 syntmp-stuff-1724))) syntmp-tmp-1723) ((lambda (syntmp-else-1725) (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"))) (ice-9 syncase))) syntmp-x-1714 syntmp-y-1715)) syntmp-tmp-1716))) (syntax-dispatch syntmp-tmp-1716 (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"))) (ice-9 syncase))) . any)))))) (syntax-dispatch syntmp-tmp-1716 (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"))) (ice-9 syncase))) any))))) syntmp-y-1715)) syntmp-tmp-1713) (syntax-error syntmp-tmp-1712))) (syntax-dispatch syntmp-tmp-1712 (quote (any any))))) (list syntmp-x-1710 syntmp-y-1711)))) (syntmp-quasiappend-1707 (lambda (syntmp-x-1726 syntmp-y-1727) ((lambda (syntmp-tmp-1728) ((lambda (syntmp-tmp-1729) (if syntmp-tmp-1729 (apply (lambda (syntmp-x-1730 syntmp-y-1731) ((lambda (syntmp-tmp-1732) ((lambda (syntmp-tmp-1733) (if syntmp-tmp-1733 (apply (lambda () syntmp-x-1730) syntmp-tmp-1733) ((lambda (syntmp-_-1734) (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"))) (ice-9 syncase))) syntmp-x-1730 syntmp-y-1731)) syntmp-tmp-1732))) (syntax-dispatch syntmp-tmp-1732 (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"))) (ice-9 syncase))) ()))))) syntmp-y-1731)) syntmp-tmp-1729) (syntax-error syntmp-tmp-1728))) (syntax-dispatch syntmp-tmp-1728 (quote (any any))))) (list syntmp-x-1726 syntmp-y-1727)))) (syntmp-quasivector-1708 (lambda (syntmp-x-1735) ((lambda (syntmp-tmp-1736) ((lambda (syntmp-x-1737) ((lambda (syntmp-tmp-1738) ((lambda (syntmp-tmp-1739) (if syntmp-tmp-1739 (apply (lambda (syntmp-x-1740) (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"))) (ice-9 syncase))) (list->vector syntmp-x-1740))) syntmp-tmp-1739) ((lambda (syntmp-tmp-1742) (if syntmp-tmp-1742 (apply (lambda (syntmp-x-1743) (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"))) (ice-9 syncase))) syntmp-x-1743)) syntmp-tmp-1742) ((lambda (syntmp-_-1745) (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"))) (ice-9 syncase))) syntmp-x-1737)) syntmp-tmp-1738))) (syntax-dispatch syntmp-tmp-1738 (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"))) (ice-9 syncase))) . each-any)))))) (syntax-dispatch syntmp-tmp-1738 (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"))) (ice-9 syncase))) each-any))))) syntmp-x-1737)) syntmp-tmp-1736)) syntmp-x-1735))) (syntmp-quasi-1709 (lambda (syntmp-p-1746 syntmp-lev-1747) ((lambda (syntmp-tmp-1748) ((lambda (syntmp-tmp-1749) (if syntmp-tmp-1749 (apply (lambda (syntmp-p-1750) (if (= syntmp-lev-1747 0) syntmp-p-1750 (syntmp-quasicons-1706 (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"))) (ice-9 syncase)) #(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"))) (ice-9 syncase)))) (syntmp-quasi-1709 (list syntmp-p-1750) (- syntmp-lev-1747 1))))) syntmp-tmp-1749) ((lambda (syntmp-tmp-1751) (if syntmp-tmp-1751 (apply (lambda (syntmp-p-1752 syntmp-q-1753) (if (= syntmp-lev-1747 0) (syntmp-quasiappend-1707 syntmp-p-1752 (syntmp-quasi-1709 syntmp-q-1753 syntmp-lev-1747)) (syntmp-quasicons-1706 (syntmp-quasicons-1706 (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"))) (ice-9 syncase)) #(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"))) (ice-9 syncase)))) (syntmp-quasi-1709 (list syntmp-p-1752) (- syntmp-lev-1747 1))) (syntmp-quasi-1709 syntmp-q-1753 syntmp-lev-1747)))) syntmp-tmp-1751) ((lambda (syntmp-tmp-1754) (if syntmp-tmp-1754 (apply (lambda (syntmp-p-1755) (syntmp-quasicons-1706 (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"))) (ice-9 syncase)) #(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"))) (ice-9 syncase)))) (syntmp-quasi-1709 (list syntmp-p-1755) (+ syntmp-lev-1747 1)))) syntmp-tmp-1754) ((lambda (syntmp-tmp-1756) (if syntmp-tmp-1756 (apply (lambda (syntmp-p-1757 syntmp-q-1758) (syntmp-quasicons-1706 (syntmp-quasi-1709 syntmp-p-1757 syntmp-lev-1747) (syntmp-quasi-1709 syntmp-q-1758 syntmp-lev-1747))) syntmp-tmp-1756) ((lambda (syntmp-tmp-1759) (if syntmp-tmp-1759 (apply (lambda (syntmp-x-1760) (syntmp-quasivector-1708 (syntmp-quasi-1709 syntmp-x-1760 syntmp-lev-1747))) syntmp-tmp-1759) ((lambda (syntmp-p-1762) (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"))) (ice-9 syncase))) syntmp-p-1762)) syntmp-tmp-1748))) (syntax-dispatch syntmp-tmp-1748 (quote #(vector each-any)))))) (syntax-dispatch syntmp-tmp-1748 (quote (any . any)))))) (syntax-dispatch syntmp-tmp-1748 (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"))) (ice-9 syncase))) any)))))) (syntax-dispatch syntmp-tmp-1748 (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"))) (ice-9 syncase))) any) . any)))))) (syntax-dispatch syntmp-tmp-1748 (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"))) (ice-9 syncase))) any))))) syntmp-p-1746)))) (lambda (syntmp-x-1763) ((lambda (syntmp-tmp-1764) ((lambda (syntmp-tmp-1765) (if syntmp-tmp-1765 (apply (lambda (syntmp-_-1766 syntmp-e-1767) (syntmp-quasi-1709 syntmp-e-1767 0)) syntmp-tmp-1765) (syntax-error syntmp-tmp-1764))) (syntax-dispatch syntmp-tmp-1764 (quote (any any))))) syntmp-x-1763))))
+(install-global-transformer (quote include) (lambda (syntmp-x-1827) (letrec ((syntmp-read-file-1828 (lambda (syntmp-fn-1829 syntmp-k-1830) (let ((syntmp-p-1831 (open-input-file syntmp-fn-1829))) (let syntmp-f-1832 ((syntmp-x-1833 (read syntmp-p-1831))) (if (eof-object? syntmp-x-1833) (begin (close-input-port syntmp-p-1831) (quote ())) (cons (datum->syntax-object syntmp-k-1830 syntmp-x-1833) (syntmp-f-1832 (read syntmp-p-1831))))))))) ((lambda (syntmp-tmp-1834) ((lambda (syntmp-tmp-1835) (if syntmp-tmp-1835 (apply (lambda (syntmp-k-1836 syntmp-filename-1837) (let ((syntmp-fn-1838 (syntax-object->datum syntmp-filename-1837))) ((lambda (syntmp-tmp-1839) ((lambda (syntmp-tmp-1840) (if syntmp-tmp-1840 (apply (lambda (syntmp-exp-1841) (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"))) (ice-9 syncase))) syntmp-exp-1841)) syntmp-tmp-1840) (syntax-error syntmp-tmp-1839))) (syntax-dispatch syntmp-tmp-1839 (quote each-any)))) (syntmp-read-file-1828 syntmp-fn-1838 syntmp-k-1836)))) syntmp-tmp-1835) (syntax-error syntmp-tmp-1834))) (syntax-dispatch syntmp-tmp-1834 (quote (any any))))) syntmp-x-1827))))
+(install-global-transformer (quote unquote) (lambda (syntmp-x-1858) ((lambda (syntmp-tmp-1859) ((lambda (syntmp-tmp-1860) (if syntmp-tmp-1860 (apply (lambda (syntmp-_-1861 syntmp-e-1862) (error (quote unquote) "expression ,~s not valid outside of quasiquote" (syntax-object->datum syntmp-e-1862))) syntmp-tmp-1860) (syntax-error syntmp-tmp-1859))) (syntax-dispatch syntmp-tmp-1859 (quote (any any))))) syntmp-x-1858)))
+(install-global-transformer (quote unquote-splicing) (lambda (syntmp-x-1868) ((lambda (syntmp-tmp-1869) ((lambda (syntmp-tmp-1870) (if syntmp-tmp-1870 (apply (lambda (syntmp-_-1871 syntmp-e-1872) (error (quote unquote-splicing) "expression ,@~s not valid outside of quasiquote" (syntax-object->datum syntmp-e-1872))) syntmp-tmp-1870) (syntax-error syntmp-tmp-1869))) (syntax-dispatch syntmp-tmp-1869 (quote (any any))))) syntmp-x-1868)))
+(install-global-transformer (quote case) (lambda (syntmp-x-1878) ((lambda (syntmp-tmp-1879) ((lambda (syntmp-tmp-1880) (if syntmp-tmp-1880 (apply (lambda (syntmp-_-1881 syntmp-e-1882 syntmp-m1-1883 syntmp-m2-1884) ((lambda (syntmp-tmp-1885) ((lambda (syntmp-body-1886) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) syntmp-e-1882)) syntmp-body-1886)) syntmp-tmp-1885)) (let syntmp-f-1887 ((syntmp-clause-1888 syntmp-m1-1883) (syntmp-clauses-1889 syntmp-m2-1884)) (if (null? syntmp-clauses-1889) ((lambda (syntmp-tmp-1891) ((lambda (syntmp-tmp-1892) (if syntmp-tmp-1892 (apply (lambda (syntmp-e1-1893 syntmp-e2-1894) (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"))) (ice-9 syncase))) (cons syntmp-e1-1893 syntmp-e2-1894))) syntmp-tmp-1892) ((lambda (syntmp-tmp-1896) (if syntmp-tmp-1896 (apply (lambda (syntmp-k-1897 syntmp-e1-1898 syntmp-e2-1899) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) syntmp-k-1897)) (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"))) (ice-9 syncase))) (cons syntmp-e1-1898 syntmp-e2-1899)))) syntmp-tmp-1896) ((lambda (syntmp-_-1902) (syntax-error syntmp-x-1878)) syntmp-tmp-1891))) (syntax-dispatch syntmp-tmp-1891 (quote (each-any any . each-any)))))) (syntax-dispatch syntmp-tmp-1891 (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"))) (ice-9 syncase))) any . each-any))))) syntmp-clause-1888) ((lambda (syntmp-tmp-1903) ((lambda (syntmp-rest-1904) ((lambda (syntmp-tmp-1905) ((lambda (syntmp-tmp-1906) (if syntmp-tmp-1906 (apply (lambda (syntmp-k-1907 syntmp-e1-1908 syntmp-e2-1909) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) (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"))) (ice-9 syncase))) syntmp-k-1907)) (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"))) (ice-9 syncase))) (cons syntmp-e1-1908 syntmp-e2-1909)) syntmp-rest-1904)) syntmp-tmp-1906) ((lambda (syntmp-_-1912) (syntax-error syntmp-x-1878)) syntmp-tmp-1905))) (syntax-dispatch syntmp-tmp-1905 (quote (each-any any . each-any))))) syntmp-clause-1888)) syntmp-tmp-1903)) (syntmp-f-1887 (car syntmp-clauses-1889) (cdr syntmp-clauses-1889))))))) syntmp-tmp-1880) (syntax-error syntmp-tmp-1879))) (syntax-dispatch syntmp-tmp-1879 (quote (any any any . each-any))))) syntmp-x-1878)))
+(install-global-transformer (quote identifier-syntax) (lambda (syntmp-x-1942) ((lambda (syntmp-tmp-1943) ((lambda (syntmp-tmp-1944) (if syntmp-tmp-1944 (apply (lambda (syntmp-_-1945 syntmp-e-1946) (list (quote #(syntax-object lambda ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)))) (list (quote #(syntax-object syntax-case ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (quote #(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (quote ()) (list (quote #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (quote (#(syntax-object identifier? ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)) (#(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)) #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))))) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) syntmp-e-1946)) (list (cons syntmp-_-1945 (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))))) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase))) (cons syntmp-e-1946 (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (ice-9 syncase)))))))))) syntmp-tmp-1944) (syntax-error syntmp-tmp-1943))) (syntax-dispatch syntmp-tmp-1943 (quote (any any))))) syntmp-x-1942)))
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 2518fc982..d016b2f6d 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -508,6 +508,7 @@
;;; <binding> ::= (macro . <procedure>) macros
;;; (core . <procedure>) core forms
;;; (external-macro . <procedure>) external-macro
+;;; (module-ref . <procedure>) @ or @@
;;; (begin) begin
;;; (define) define
;;; (define-syntax) define-syntax
@@ -926,6 +927,7 @@
;;; -------------------------------------------------------------------
;;; core procedure core form (including singleton)
;;; external-macro procedure external macro
+;;; module-ref procedure @ or @@ form
;;; lexical name lexical variable reference
;;; global name global variable reference
;;; begin none begin keyword
@@ -984,7 +986,7 @@
((macro)
(syntax-type (chi-macro (binding-value b) e r w rib mod)
r empty-wrap s rib mod))
- ((core external-macro)
+ ((core external-macro module-ref)
(values type (binding-value b) e w s mod))
((local-syntax)
(values 'local-syntax-form (binding-value b) e w s mod))
@@ -1129,6 +1131,10 @@
((core external-macro)
;; apply transformer
(value e r w s mod))
+ ((module-ref)
+ (call-with-values (lambda () (value e r w s mod))
+ ;; we could add a public? arg here
+ (lambda (id mod) (build-global-reference s id mod))))
((lexical-call)
(chi-application
(build-lexical-reference 'fun (source-annotation (car e)) value)
@@ -1773,6 +1779,24 @@
(syntax (arg ... val)))))
(_ (syntax-error (source-wrap e w s mod))))))
+(global-extend 'module-ref '@
+ (lambda (e r w s mod)
+ (syntax-case e (%module-public-interface)
+ ((_ (mod ...) id)
+ (and (andmap id? (syntax (mod ...))) (id? (syntax id)))
+ (values (syntax-object->datum (syntax id))
+ (syntax-object->datum
+ (syntax (mod ... %module-public-interface))))))))
+
+(global-extend 'module-ref '@@
+ (lambda (e r w s mod)
+ (syntax-case e ()
+ ((_ (mod ...) id)
+ (and (andmap id? (syntax (mod ...))) (id? (syntax id)))
+ (values (syntax-object->datum (syntax id))
+ (syntax-object->datum
+ (syntax (mod ...))))))))
+
(global-extend 'begin 'begin '())
(global-extend 'define 'define '())
diff --git a/module/ice-9/syncase.scm b/module/ice-9/syncase.scm
index a6bdaa4a9..d8fdeb4c9 100644
--- a/module/ice-9/syncase.scm
+++ b/module/ice-9/syncase.scm
@@ -65,7 +65,7 @@
(define primitive-syntax '(quote lambda letrec if set! begin define or
and let let* cond do quasiquote unquote
- unquote-splicing case))
+ unquote-splicing case @ @@))
(for-each (lambda (symbol)
(set-symbol-property! symbol 'primitive-syntax #t))