⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 psyntax.pp

📁 MSYS在windows下模拟了一个类unix的终端
💻 PP
📖 第 1 页 / 共 5 页
字号:
(letrec ((syntmp-lambda-var-list-116 (lambda (syntmp-vars-323) (let syntmp-lvl-324 ((syntmp-vars-325 syntmp-vars-323) (syntmp-ls-326 (quote ())) (syntmp-w-327 (quote (())))) (cond ((pair? syntmp-vars-325) (syntmp-lvl-324 (cdr syntmp-vars-325) (cons (syntmp-wrap-95 (car syntmp-vars-325) syntmp-w-327) syntmp-ls-326) syntmp-w-327)) ((syntmp-id?-67 syntmp-vars-325) (cons (syntmp-wrap-95 syntmp-vars-325 syntmp-w-327) syntmp-ls-326)) ((null? syntmp-vars-325) syntmp-ls-326) ((syntmp-syntax-object?-53 syntmp-vars-325) (syntmp-lvl-324 (syntmp-syntax-object-expression-54 syntmp-vars-325) syntmp-ls-326 (syntmp-join-wraps-86 syntmp-w-327 (syntmp-syntax-object-wrap-55 syntmp-vars-325)))) ((syntmp-annotation?-42 syntmp-vars-325) (syntmp-lvl-324 (annotation-expression syntmp-vars-325) syntmp-ls-326 syntmp-w-327)) (else (cons syntmp-vars-325 syntmp-ls-326)))))) (syntmp-gen-var-115 (lambda (syntmp-id-328) (let ((syntmp-id-329 (if (syntmp-syntax-object?-53 syntmp-id-328) (syntmp-syntax-object-expression-54 syntmp-id-328) syntmp-id-328))) (if (syntmp-annotation?-42 syntmp-id-329) (gensym (symbol->string (annotation-expression syntmp-id-329))) (gensym (symbol->string syntmp-id-329)))))) (syntmp-strip-114 (lambda (syntmp-x-330 syntmp-w-331) (if (memq (quote top) (syntmp-wrap-marks-70 syntmp-w-331)) (if (or (syntmp-annotation?-42 syntmp-x-330) (and (pair? syntmp-x-330) (syntmp-annotation?-42 (car syntmp-x-330)))) (syntmp-strip-annotation-113 syntmp-x-330 (quote #f)) syntmp-x-330) (let syntmp-f-332 ((syntmp-x-333 syntmp-x-330)) (cond ((syntmp-syntax-object?-53 syntmp-x-333) (syntmp-strip-114 (syntmp-syntax-object-expression-54 syntmp-x-333) (syntmp-syntax-object-wrap-55 syntmp-x-333))) ((pair? syntmp-x-333) (let ((syntmp-a-334 (syntmp-f-332 (car syntmp-x-333))) (syntmp-d-335 (syntmp-f-332 (cdr syntmp-x-333)))) (if (and (eq? syntmp-a-334 (car syntmp-x-333)) (eq? syntmp-d-335 (cdr syntmp-x-333))) syntmp-x-333 (cons syntmp-a-334 syntmp-d-335)))) ((vector? syntmp-x-333) (let ((syntmp-old-336 (vector->list syntmp-x-333))) (let ((syntmp-new-337 (map syntmp-f-332 syntmp-old-336))) (if (andmap eq? syntmp-old-336 syntmp-new-337) syntmp-x-333 (list->vector syntmp-new-337))))) (else syntmp-x-333)))))) (syntmp-strip-annotation-113 (lambda (syntmp-x-338 syntmp-parent-339) (cond ((pair? syntmp-x-338) (let ((syntmp-new-340 (cons (quote #f) (quote #f)))) (begin (when syntmp-parent-339 (set-annotation-stripped! syntmp-parent-339 syntmp-new-340)) (set-car! syntmp-new-340 (syntmp-strip-annotation-113 (car syntmp-x-338) (quote #f))) (set-cdr! syntmp-new-340 (syntmp-strip-annotation-113 (cdr syntmp-x-338) (quote #f))) syntmp-new-340))) ((syntmp-annotation?-42 syntmp-x-338) (or (annotation-stripped syntmp-x-338) (syntmp-strip-annotation-113 (annotation-expression syntmp-x-338) syntmp-x-338))) ((vector? syntmp-x-338) (let ((syntmp-new-341 (make-vector (vector-length syntmp-x-338)))) (begin (when syntmp-parent-339 (set-annotation-stripped! syntmp-parent-339 syntmp-new-341)) (let syntmp-loop-342 ((syntmp-i-343 (- (vector-length syntmp-x-338) (quote 1)))) (unless (syntmp-fx<-41 syntmp-i-343 (quote 0)) (vector-set! syntmp-new-341 syntmp-i-343 (syntmp-strip-annotation-113 (vector-ref syntmp-x-338 syntmp-i-343) (quote #f))) (syntmp-loop-342 (syntmp-fx--39 syntmp-i-343 (quote 1))))) syntmp-new-341))) (else syntmp-x-338)))) (syntmp-ellipsis?-112 (lambda (syntmp-x-344) (and (syntmp-nonsymbol-id?-66 syntmp-x-344) (syntmp-free-id=?-90 syntmp-x-344 (quote #(syntax-object ... ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? 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 get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage (define-structure) ((top)) ("i"))))))))) (syntmp-chi-void-111 (lambda () (list (quote void)))) (syntmp-eval-local-transformer-110 (lambda (syntmp-expanded-345) (let ((syntmp-p-346 (syntmp-local-eval-hook-44 syntmp-expanded-345))) (if (procedure? syntmp-p-346) syntmp-p-346 (syntax-error syntmp-p-346 (quote "nonprocedure transfomer")))))) (syntmp-chi-local-syntax-109 (lambda (syntmp-rec?-347 syntmp-e-348 syntmp-r-349 syntmp-w-350 syntmp-s-351 syntmp-k-352) ((lambda (syntmp-tmp-353) ((lambda (syntmp-tmp-354) (if syntmp-tmp-354 (apply (lambda (syntmp-_-355 syntmp-id-356 syntmp-val-357 syntmp-e1-358 syntmp-e2-359) (let ((syntmp-ids-360 syntmp-id-356)) (if (not (syntmp-valid-bound-ids?-92 syntmp-ids-360)) (syntax-error syntmp-e-348 (quote "duplicate bound keyword in")) (let ((syntmp-labels-362 (syntmp-gen-labels-73 syntmp-ids-360))) (let ((syntmp-new-w-363 (syntmp-make-binding-wrap-84 syntmp-ids-360 syntmp-labels-362 syntmp-w-350))) (syntmp-k-352 (cons syntmp-e1-358 syntmp-e2-359) (syntmp-extend-env-61 syntmp-labels-362 (let ((syntmp-w-365 (if syntmp-rec?-347 syntmp-new-w-363 syntmp-w-350)) (syntmp-trans-r-366 (syntmp-macros-only-env-63 syntmp-r-349))) (map (lambda (syntmp-x-367) (cons (quote macro) (syntmp-eval-local-transformer-110 (syntmp-chi-103 syntmp-x-367 syntmp-trans-r-366 syntmp-w-365)))) syntmp-val-357)) syntmp-r-349) syntmp-new-w-363 syntmp-s-351)))))) syntmp-tmp-354) ((lambda (syntmp-_-369) (syntax-error (syntmp-source-wrap-96 syntmp-e-348 syntmp-w-350 syntmp-s-351))) syntmp-tmp-353))) (syntax-dispatch syntmp-tmp-353 (quote (any #(each (any any)) any . each-any))))) syntmp-e-348))) (syntmp-chi-lambda-clause-108 (lambda (syntmp-e-370 syntmp-c-371 syntmp-r-372 syntmp-w-373 syntmp-k-374) ((lambda (syntmp-tmp-375) ((lambda (syntmp-tmp-376) (if syntmp-tmp-376 (apply (lambda (syntmp-id-377 syntmp-e1-378 syntmp-e2-379) (let ((syntmp-ids-380 syntmp-id-377)) (if (not (syntmp-valid-bound-ids?-92 syntmp-ids-380)) (syntax-error syntmp-e-370 (quote "invalid parameter list in")) (let ((syntmp-labels-382 (syntmp-gen-labels-73 syntmp-ids-380)) (syntmp-new-vars-383 (map syntmp-gen-var-115 syntmp-ids-380))) (syntmp-k-374 syntmp-new-vars-383 (syntmp-chi-body-107 (cons syntmp-e1-378 syntmp-e2-379) syntmp-e-370 (syntmp-extend-var-env-62 syntmp-labels-382 syntmp-new-vars-383 syntmp-r-372) (syntmp-make-binding-wrap-84 syntmp-ids-380 syntmp-labels-382 syntmp-w-373))))))) syntmp-tmp-376) ((lambda (syntmp-tmp-385) (if syntmp-tmp-385 (apply (lambda (syntmp-ids-386 syntmp-e1-387 syntmp-e2-388) (let ((syntmp-old-ids-389 (syntmp-lambda-var-list-116 syntmp-ids-386))) (if (not (syntmp-valid-bound-ids?-92 syntmp-old-ids-389)) (syntax-error syntmp-e-370 (quote "invalid parameter list in")) (let ((syntmp-labels-390 (syntmp-gen-labels-73 syntmp-old-ids-389)) (syntmp-new-vars-391 (map syntmp-gen-var-115 syntmp-old-ids-389))) (syntmp-k-374 (let syntmp-f-392 ((syntmp-ls1-393 (cdr syntmp-new-vars-391)) (syntmp-ls2-394 (car syntmp-new-vars-391))) (if (null? syntmp-ls1-393) syntmp-ls2-394 (syntmp-f-392 (cdr syntmp-ls1-393) (cons (car syntmp-ls1-393) syntmp-ls2-394)))) (syntmp-chi-body-107 (cons syntmp-e1-387 syntmp-e2-388) syntmp-e-370 (syntmp-extend-var-env-62 syntmp-labels-390 syntmp-new-vars-391 syntmp-r-372) (syntmp-make-binding-wrap-84 syntmp-old-ids-389 syntmp-labels-390 syntmp-w-373))))))) syntmp-tmp-385) ((lambda (syntmp-_-396) (syntax-error syntmp-e-370)) syntmp-tmp-375))) (syntax-dispatch syntmp-tmp-375 (quote (any any . each-any)))))) (syntax-dispatch syntmp-tmp-375 (quote (each-any any . each-any))))) syntmp-c-371))) (syntmp-chi-body-107 (lambda (syntmp-body-397 syntmp-outer-form-398 syntmp-r-399 syntmp-w-400) (let ((syntmp-r-401 (cons (quote ("placeholder" placeholder)) syntmp-r-399))) (let ((syntmp-ribcage-402 (syntmp-make-ribcage-74 (quote ()) (quote ()) (quote ())))) (let ((syntmp-w-403 (syntmp-make-wrap-69 (syntmp-wrap-marks-70 syntmp-w-400) (cons syntmp-ribcage-402 (syntmp-wrap-subst-71 syntmp-w-400))))) (let syntmp-parse-404 ((syntmp-body-405 (map (lambda (syntmp-x-411) (cons syntmp-r-401 (syntmp-wrap-95 syntmp-x-411 syntmp-w-403))) syntmp-body-397)) (syntmp-ids-406 (quote ())) (syntmp-labels-407 (quote ())) (syntmp-vars-408 (quote ())) (syntmp-vals-409 (quote ())) (syntmp-bindings-410 (quote ()))) (if (null? syntmp-body-405) (syntax-error syntmp-outer-form-398 (quote "no expressions in body")) (let ((syntmp-e-412 (cdar syntmp-body-405)) (syntmp-er-413 (caar syntmp-body-405))) (call-with-values (lambda () (syntmp-syntax-type-101 syntmp-e-412 syntmp-er-413 (quote (())) (quote #f) syntmp-ribcage-402)) (lambda (syntmp-type-414 syntmp-value-415 syntmp-e-416 syntmp-w-417 syntmp-s-418) (let ((syntmp-t-419 syntmp-type-414)) (if (memv syntmp-t-419 (quote (define-form))) (let ((syntmp-id-420 (syntmp-wrap-95 syntmp-value-415 syntmp-w-417)) (syntmp-label-421 (syntmp-gen-label-72))) (let ((syntmp-var-422 (syntmp-gen-var-115 syntmp-id-420))) (begin (syntmp-extend-ribcage!-83 syntmp-ribcage-402 syntmp-id-420 syntmp-label-421) (syntmp-parse-404 (cdr syntmp-body-405) (cons syntmp-id-420 syntmp-ids-406) (cons syntmp-label-421 syntmp-labels-407) (cons syntmp-var-422 syntmp-vars-408) (cons (cons syntmp-er-413 (syntmp-wrap-95 syntmp-e-416 syntmp-w-417)) syntmp-vals-409) (cons (cons (quote lexical) syntmp-var-422) syntmp-bindings-410))))) (if (memv syntmp-t-419 (quote (define-syntax-form))) (let ((syntmp-id-423 (syntmp-wrap-95 syntmp-value-415 syntmp-w-417)) (syntmp-label-424 (syntmp-gen-label-72))) (begin (syntmp-extend-ribcage!-83 syntmp-ribcage-402 syntmp-id-423 syntmp-label-424) (syntmp-parse-404 (cdr syntmp-body-405) (cons syntmp-id-423 syntmp-ids-406) (cons syntmp-label-424 syntmp-labels-407) syntmp-vars-408 syntmp-vals-409 (cons (cons (quote macro) (cons syntmp-er-413 (syntmp-wrap-95 syntmp-e-416 syntmp-w-417))) syntmp-bindings-410)))) (if (memv syntmp-t-419 (quote (begin-form))) ((lambda (syntmp-tmp-425) ((lambda (syntmp-tmp-426) (if syntmp-tmp-426 (apply (lambda (syntmp-_-427 syntmp-e1-428) (syntmp-parse-404 (let syntmp-f-429 ((syntmp-forms-430 syntmp-e1-428)) (if (null? syntmp-forms-430) (cdr syntmp-body-405) (cons (cons syntmp-er-413 (syntmp-wrap-95 (car syntmp-forms-430) syntmp-w-417)) (syntmp-f-429 (cdr syntmp-forms-430))))) syntmp-ids-406 syntmp-labels-407 syntmp-vars-408 syntmp-vals-409 syntmp-bindings-410)) syntmp-tmp-426) (syntax-error syntmp-tmp-425))) (syntax-dispatch syntmp-tmp-425 (quote (any . each-any))))) syntmp-e-416) (if (memv syntmp-t-419 (quote (local-syntax-form))) (syntmp-chi-local-syntax-109 syntmp-value-415 syntmp-e-416 syntmp-er-413 syntmp-w-417 syntmp-s-418 (lambda (syntmp-forms-432 syntmp-er-433 syntmp-w-434 syntmp-s-435) (syntmp-parse-404 (let syntmp-f-436 ((syntmp-forms-437 syntmp-forms-432)) (if (null? syntmp-forms-437) (cdr syntmp-body-405) (cons (cons syntmp-er-433 (syntmp-wrap-95 (car syntmp-forms-437) syntmp-w-434)) (syntmp-f-436 (cdr syntmp-forms-437))))) syntmp-ids-406 syntmp-labels-407 syntmp-vars-408 syntmp-vals-409 syntmp-bindings-410))) (if (null? syntmp-ids-406) (syntmp-build-sequence-48 (quote #f) (map (lambda (syntmp-x-438) (syntmp-chi-103 (cdr syntmp-x-438) (car syntmp-x-438) (quote (())))) (cons (cons syntmp-er-413 (syntmp-source-wrap-96 syntmp-e-416 syntmp-w-417 syntmp-s-418)) (cdr syntmp-body-405)))) (begin (if (not (syntmp-valid-bound-ids?-92 syntmp-ids-406)) (syntax-error syntmp-outer-form-398 (quote "invalid or duplicate identifier in definition"))) (let syntmp-loop-439 ((syntmp-bs-440 syntmp-bindings-410) (syntmp-er-cache-441 (quote #f)) (syntmp-r-cache-442 (quote #f))) (if (not (null? syntmp-bs-440)) (let ((syntmp-b-443 (car syntmp-bs-440))) (if (eq? (car syntmp-b-443) (quote macro)) (let ((syntmp-er-444 (cadr syntmp-b-443))) (let ((syntmp-r-cache-445 (if (eq? syntmp-er-444 syntmp-er-cache-441) syntmp-r-cache-442 (syntmp-macros-only-env-63 syntmp-er-444)))) (begin (set-cdr! syntmp-b-443 (syntmp-eval-local-transformer-110 (syntmp-chi-103 (cddr syntmp-b-443) syntmp-r-cache-445 (quote (()))))) (syntmp-loop-439 (cdr syntmp-bs-440) syntmp-er-444 syntmp-r-cache-445)))) (syntmp-loop-439 (cdr syntmp-bs-440) syntmp-er-cache-441 syntmp-r-cache-442))))) (set-cdr! syntmp-r-401 (syntmp-extend-env-61 syntmp-labels-407 syntmp-bindings-410 (cdr syntmp-r-401))) (syntmp-build-letrec-51 (quote #f) syntmp-vars-408 (map (lambda (syntmp-x-446) (syntmp-chi-103 (cdr syntmp-x-446) (car syntmp-x-446) (quote (())))) syntmp-vals-409) (syntmp-build-sequence-48 (quote #f) (map (lambda (syntmp-x-447) (syntmp-chi-103 (cdr syntmp-x-447) (car syntmp-x-447) (quote (())))) (cons (cons syntmp-er-413 (syntmp-source-wrap-96 syntmp-e-416 syntmp-w-417 syntmp-s-418)) (cdr syntmp-body-405)))))))))))))))))))))) (syntmp-chi-macro-106 (lambda (syntmp-p-448 syntmp-e-449 syntmp-r-450 syntmp-w-451 syntmp-rib-452) (letrec ((syntmp-rebuild-macro-output-453 (lambda (syntmp-x-454 syntmp-m-455) (cond ((pair? syntmp-x-454) (cons (syntmp-rebuild-macro-output-453 (car syntmp-x-454) syntmp-m-455) (syntmp-rebuild-macro-output-453 (cdr syntmp-x-454) syntmp-m-455))) ((syntmp-syntax-object?-53 syntmp-x-454) (let ((syntmp-w-456 (syntmp-syntax-object-wrap-55 syntmp-x-454))) (let ((syntmp-ms-457 (syntmp-wrap-marks-70 syntmp-w-456)) (syntmp-s-458 (syntmp-wrap-subst-71 syntmp-w-456))) (syntmp-make-syntax-object-52 (syntmp-syntax-object-expression-54 syntmp-x-454) (if (and (pair? syntmp-ms-457) (eq? (car syntmp-ms-457) (quote #f))) (syntmp-make-wrap-69 (cdr syntmp-ms-457) (if syntmp-rib-452 (cons syntmp-rib-452 (cdr syntmp-s-458)) (cdr syntmp-s-458))) (syntmp-make-wrap-69 (cons syntmp-m-455 syntmp-ms-457) (if syntmp-rib-452 (cons syntmp-rib-452 (cons (quote shift) syntmp-s-458)) (cons (quote shift) syntmp-s-458)))))))) ((vector? syntmp-x-454) (let ((syntmp-n-459 (vector-length syntmp-x-454))) (let ((syntmp-v-460 (make-vector syntmp-n-459))) (let syntmp-doloop-461 ((syntmp-i-462 (quote 0))) (if (syntmp-fx=-40 syntmp-i-462 syntmp-n-459) syntmp-v-460 (begin (vector-set! syntmp-v-460 syntmp-i-462 (syntmp-rebuild-macro-output-453 (vector-ref syntmp-x-454 syntmp-i-462) syntmp-m-455)) (syntmp-doloop-461 (syntmp-fx+-38 syntmp-i-462 (quote 1))))))))) ((symbol? syntmp-x-454) (syntax-error syntmp-x-454 (quote "encountered raw symbol in macro output"))) (else syntmp-x-454))))) (syntmp-rebuild-macro-output-453 (syntmp-p-448 (syntmp-wrap-95 syntmp-e-449 (syntmp-anti-mark-82 syntmp-w-451))) (string (quote #\m)))))) (syntmp-chi-application-105 (lambda (syntmp-x-463 syntmp-e-464 syntmp-r-465 syntmp-w-466 syntmp-s-467) ((lambda (syntmp-tmp-468) ((lambda (syntmp-tmp-469) (if syntmp-tmp-469 (apply (lambda (syntmp-e0-470 syntmp-e1-471) (cons syntmp-x-463 (map (lambda (syntmp-e-472) (syntmp-chi-103 syntmp-e-472 syntmp-r-465 syntmp-w-466)) syntmp-e1-471))) syntmp-tmp-469) (syntax-error syntmp-tmp-468))) (syntax-dispatch syntmp-tmp-468 (quote (any . each-any))))) syntmp-e-464))) (syntmp-chi-expr-104 (lambda (syntmp-type-474 syntmp-value-475 syntmp-e-476 syntmp-r-477 syntmp-w-478 syntmp-s-479) (let ((syntmp-t-480 syntmp-type-474)) (if (memv syntmp-t-480 (quote (lexical))) syntmp-value-475 (if (memv syntmp-t-480 (quote (core))) (syntmp-value-475 syntmp-e-476 syntmp-r-477 syntmp-w-478 syntmp-s-479) (if (memv syntmp-t-480 (quote (lexical-call))) (syntmp-chi-application-105 syntmp-value-475 syntmp-e-476 syntmp-r-477 syntmp-w-478 syntmp-s-479) (if (memv syntmp-t-480 (quote (global-call))) (syntmp-chi-application-105 syntmp-value-475 syntmp-e-476 syntmp-r-477 syntmp-w-478 syntmp-s-479) (if (memv syntmp-t-480 (quote (constant))) (list (quote quote) (syntmp-strip-114 (syntmp-source-wrap-96 syntmp-e-476 syntmp-w-478 syntmp-s-479) (quote (())))) (if (memv syntmp-t-480 (quote (global))) syntmp-value-475 (if (memv syntmp-t-480 (quote (call))) (syntmp-chi-application-105 (syntmp-chi-103 (car syntmp-e-476) syntmp-r-477 syntmp-w-478) syntmp-e-476 syntmp-r-477 syntmp-w-478 syntmp-s-479) (if (memv syntmp-t-480 (quote (begin-form))) ((lambda (syntmp-tmp-481) ((lambda (syntmp-tmp-482) (if syntmp-tmp-482 (apply (lambda (syntmp-_-483 syntmp-e1-484 syntmp-e2-485) (syntmp-chi-sequence-97 (cons syntmp-e1-484 syntmp-e2-485) syntmp-r-477 syntmp-w-478 syntmp-s-479)) syntmp-tmp-482) (syntax-error syntmp-tmp-481))) (syntax-dispatch syntmp-tmp-481 (quote (any any . each-any))))) syntmp-e-476) (if (memv syntmp-t-480 (quote (local-syntax-form))) (syntmp-chi-local-syntax-109 syntmp-value-475 syntmp-e-476 syntmp-r-477 syntmp-w-478 syntmp-s-479 syntmp-chi-sequence-97) (if (memv syntmp-t-480 (quote (eval-when-form))) ((lambda (syntmp-tmp-487) ((lambda (syntmp-tmp-488) (if syntmp-tmp-488 (apply (lambda (syntmp-_-489 syntmp-x-490 syntmp-e1-491 syntmp-e2-492) (let ((syntmp-when-list-493 (syntmp-chi-when-list-100 syntmp-e-476 syntmp-x-490 syntmp-w-478))) (if (memq (quote eval) syntmp-when-list-493) (syntmp-chi-sequence-97 (cons syntmp-e1-491 syntmp-e2-492) syntmp-r-477 syntmp-w-478 syntmp-s-479) (syntmp-chi-void-111)))) syntmp-tmp-488) (syntax-error syntmp-tmp-487))) (syntax-dispatch syntmp-tmp-487 (quote (any each-any any . each-any))))) syntmp-e-476) (if (memv syntmp-t-480 (quote (define-form define-syntax-form))) (syntax-error (syntmp-wrap-95 syntmp-value-475 syntmp-w-478) (quote "invalid context for definition of")) (if (memv syntmp-t-480 (quote (syntax))) (syntax-error (syntmp-source-wrap-96 syntmp-e-476 syntmp-w-478 syntmp-s-479) (quote "reference to pattern variable outside syntax form")) (if (memv syntmp-t-480 (quote (displaced-lexical))) (syntax-error (syntmp-source-wrap-96 syntmp-e-476 syntmp-w-478 syntmp-s-479) (quote "reference to identifier outside its scope")) (syntax-error (syntmp-source-wrap-96 syntmp-e-476 syntmp-w-478 syntmp-s-479)))))))))))))))))) (syntmp-chi-103 (lambda (syntmp-e-496 syntmp-r-497 syntmp-w-498) (call-with-values (lambda () (syntmp-syntax-type-101 syntmp-e-496 syntmp-r-497 syntmp-w-498 (quote #f) (quote #f))) (lambda (syntmp-type-499 syntmp-value-500 syntmp-e-501 syntmp-w-502 syntmp-s-503) (syntmp-chi-expr-104 syntmp-type-499 syntmp-value-500 syntmp-e-501 syntmp-r-497 syntmp-w-502 syntmp-s-503))))) (syntmp-chi-top-102 (lambda (syntmp-e-504 syntmp-r-505 syntmp-w-506 syntmp-m-507 syntmp-esew-508) (call-with-values (lambda () (syntmp-syntax-type-101 syntmp-e-504 syntmp-r-505 syntmp-w-506 (quote #f) (quote #f))) (lambda (syntmp-type-515 syntmp-value-516 syntmp-e-517 syntmp-w-518 syntmp-s-519) (let ((syntmp-t-520 syntmp-type-515)) (if (memv syntmp-t-520 (quote (begin-form))) ((lambda (syntmp-tmp-521) ((lambda (syntmp-tmp-522) (if syntmp-tmp-522 (apply (lambda (syntmp-_-523) (syntmp-chi-void-111)) syntmp-tmp-522) ((lambda (syntmp-tmp-524) (if syntmp-tmp-524 (apply (lambda (syntmp-_-525 syntmp-e1-526 syntmp-e2-527) (syntmp-chi-top-sequence-98 (cons syntmp-e1-526 syntmp-e2-527) syntmp-r-505 syntmp-w-518 syntmp-s-519 syntmp-m-507 syntmp-esew-508)) syntmp-tmp-524) (syntax-error syntmp-tmp-521))) (syntax-dispatch syntmp-tmp-521 (quote (any any . each-any)))))) (syntax-dispatch syntmp-tmp-521 (quote (any))))) syntmp-e-517) (if (memv syntmp-t-520 (quote (local-syntax-form))) (syntmp-chi-local-syntax-109 syntmp-value-516 syntmp-e-517 syntmp-r-505 syntmp-w-518 syntmp-s-519 (lambda (syntmp-body-529 syntmp-r-530 syntmp-w-531 syntmp-s-532) (syntmp-chi-top-sequence-98 syntmp-body-529 syntmp-r-530 syntmp-w-531 syntmp-s-532 syntmp-m-507 syntmp-esew-508))) (if (memv syntmp-t-520 (quote (eval-when-form))) ((lambda (syntmp-tmp-533) ((lambda (syntmp-tmp-534) (if syntmp-tmp-534 (apply (lambda (syntmp-_-535 syntmp-x-536 syntmp-e1-537 syntmp-e2-538) (let ((syntmp-when-list-539 (syntmp-chi-when-list-100 syntmp-e-517 syntmp-x-536 syntmp-w-518)) (syntmp-body-540 (cons syntmp-e1-537 syntmp-e2-538))) (cond ((eq? syntmp-m-507 (quote e)) (if (memq (quote eval) syntmp-when-list-539) (syntmp-chi-top-sequence-98 syntmp-body-540 syntmp-r-505 syntmp-w-518 syntmp-s-519 (quote e) (quote (eval))) (syntmp-chi-void-111))) ((memq (quote load) syntmp-when-list-539) (if (or (memq (quote compile) syntmp-when-list-539) (and (eq? syntmp-m-507 (quote c&e)) (memq (quote eval) syntmp-when-list-539))) (syntmp-chi-top-sequence-98 syntmp-body-540 syntmp-r-505 syntmp-w-518 syntmp-s-519 (quote c&e) (quote (compile load))) (if (memq syntmp-m-507 (quote (c c&e))) (syntmp-chi-top-sequence-98 syntmp-body-540 syntmp-r-505 syntmp-w-518 syntmp-s-519 (quote c) (quote (load))) (syntmp-chi-void-111)))) ((or (memq (quote compile) syntmp-when-list-539) (and (eq? syntmp-m-507 (quote c&e)) (memq (quote eval) syntmp-when-list-539))) (syntmp-top-level-eval-hook-43 (syntmp-chi-top-sequence-98 syntmp-body-540 syntmp-r-505 syntmp-w-518 syntmp-s-519 (quote e) (quote (eval)))) (syntmp-chi-void-111)) (else (syntmp-chi-void-111))))) syntmp-tmp-534) (syntax-error syntmp-tmp-533))) (syntax-dispatch syntmp-tmp-533 (quote (any each-any any . each-any))))) syntmp-e-517) (if (memv syntmp-t-520 (quote (define-syntax-form))) (let ((syntmp-n-543 (syntmp-id-var-name-89 syntmp-value-516 syntmp-w-518)) (syntmp-r-544 (syntmp-macros-only-env-63 syntmp-r-505))) (let ((syntmp-t-545 syntmp-m-507)) (if (memv syntmp-t-545 (quote (c))) (if (memq (quote compile) syntmp-esew-508) (let ((syntmp-e-546 (syntmp-chi-install-global-99 syntmp-n-543 (syntmp-chi-103 syntmp-e-517 syntmp-r-544 syntmp-w-518)))) (begin (syntmp-top-level-eval-hook-43 syntmp-e-546) (if (memq (quote load) syntmp-esew-508) syntmp-e-546 (syntmp-chi-void-111)))) (if (memq (quote load) syntmp-esew-508) (syntmp-chi-install-global-99 syntmp-n-543 (syntmp-chi-103 syntmp-e-517 syntmp-r-544 syntmp-w-518)) (syntmp-chi-void-111))) (if (memv syntmp-t-545 (quote (c&e))) (let ((syntmp-e-547 (syntmp-chi-install-global-99 syntmp-n-543 (syntmp-chi-103 syntmp-e-517 syntmp-r-544 syntmp-w-518)))) (begin (syntmp-top-level-eval-hook-43 syntmp-e-547) syntmp-e-547)) (begin (if (memq (quote eval) syntmp-esew-508) (syntmp-top-level-eval-hook-43 (syntmp-chi-install-global-99 syntmp-n-543 (syntmp-chi-103 syntmp-e-517 syntmp-r-544 syntmp-w-518)))) (syntmp-chi-void-111)))))) (if (memv syntmp-t-520 (quote (define-form))) (let ((syntmp-n-548 (syntmp-id-var-name-89 syntmp-value-516 syntmp-w-518))) (let ((syntmp-t-549 (syntmp-binding-type-59 (syntmp-lookup-64 syntmp-n-548 syntmp-r-505)))) (if (memv syntmp-t-549 (quote (global))) (let ((syntmp-x-550 (list (quote define) syntmp-n-548 (syntmp-chi-103 syntmp-e-517 syntmp-r-505 syntmp-w-518)))) (begin (if (eq? syntmp-m-507 (quote c&e)) (syntmp-top-level-eval-hook-43 syntmp-x-550)) syntmp-x-550)) (if (memv syntmp-t-549 (quote (displaced-lexical))) (syntax-error (syntmp-wrap-95 syntmp-value-516 syntmp-w-518) (quote "identifier out of context")) (syntax-error (syntmp-wrap-95 syntmp-value-516 syntmp-w-518) (quote "cannot define keyword at top level")))))) (let ((syntmp-x-551 (syntmp-chi-expr-104 syntmp-type-515 syntmp-value-516 syntmp-e-517 syntmp-r-505 syntmp-w-518 syntmp-s-519))) (begin (if (eq? syntmp-m-507 (quote c&e)) (syntmp-top-level-eval-hook-43 syntmp-x-551)) syntmp-x-551)))))))))))) (syntmp-syntax-type-101 (lambda (syntmp-e-552 syntmp-r-553 syntmp-w-554 syntmp-s-555 syntmp-rib-556) (cond ((symbol? syntmp-e-552) (let ((syntmp-n-557 (syntmp-id-var-name-89 syntmp-e-552 syntmp-w-554))) (let ((syntmp-b-558 (syntmp-lookup-64 syntmp-n-557 syntmp-r-553))) (let ((syntmp-type-559 (syntmp-binding-type-59 syntmp-b-558))) (let ((syntmp-t-560 syntmp-type-559)) (if (memv syntmp-t-560 (quote (lexical))) (values syntmp-type-559 (syntmp-binding-value-60 syntmp-b-558) syntmp-e-552 syntmp-w-554 syntmp-s-555) (if (memv syntmp-t-560 (quote (global))) (values syntmp-type-559 syntmp-n-557 syntmp-e-552 syntmp-w-554 syntmp-s-555) (if (memv syntmp-t-560 (quote (macro))) (syntmp-syntax-type-101 (syntmp-chi-macro-106 (syntmp-binding-value-60 syntmp-b-558) syntmp-e-552 syntmp-r-553 syntmp-w-554 syntmp-rib-556) syntmp-r-553 (quote (())) syntmp-s-555 syntmp-rib-556) (values syntmp-type-559 (syntmp-binding-value-60 syntmp-b-558) syntmp-e-552 syntmp-w-554 syntmp-s-555))))))))) ((pair? syntmp-e-552) (let ((syntmp-first-561 (car syntmp-e-552))) (if (syntmp-id?-67 syntmp-first-561) (let ((syntmp-n-562 (syntmp-id-var-name-89 syntmp-first-561 syntmp-w-554))) (let ((syntmp-b-563 (syntmp-lookup-64 syntmp-n-562 syntmp-r-553))) (let ((syntmp-type-564 (syntmp-binding-type-59 syntmp-b-563))) (let ((syntmp-t-565 syntmp-type-564)) (if (memv syntmp-t-565 (quote (lexical))) (values (quote lexical-call) (syntmp-binding-value-60 syntmp-b-563) syntmp-e-552 syntmp-w-554 syntmp-s-555) (if (memv syntmp-t-565 (quote (global))) (values (quote global-call) syntmp-n-562 syntmp-e-552 syntmp-w-554 syntmp-s-555) (if (memv syntmp-t-565 (quote (macro))) (syntmp-syntax-type-101 (syntmp-chi-macro-106 (syntmp-binding-value-60 syntmp-b-563) syntmp-e-552 syntmp-r-553 syntmp-w-554 syntmp-rib-556) syntmp-r-553 (quote (())) syntmp-s-555 syntmp-rib-556) (if (memv syntmp-t-565 (quote (core))) (values syntmp-type-564 (syntmp-binding-value-60 syntmp-b-563) syntmp-e-552 syntmp-w-554 syntmp-s-555) (if (memv syntmp-t-565 (quote (local-syntax))) (values (quote local-syntax-form) (syntmp-binding-value-60 syntmp-b-563) syntmp-e-552 syntmp-w-554 syntmp-s-555) (if (memv syntmp-t-565 (quote (begin))) (values (quote begin-form) (quote #f) syntmp-e-552 syntmp-w-554 syntmp-s-555) (if (memv syntmp-t-565 (quote (eval-when))) (values (quote eval-when-form) (quote #f) syntmp-e-552 syntmp-w-554 syntmp-s-555) (if (memv syntmp-t-565 (quote (define))) ((lambda (syntmp-tmp-566) ((lambda (syntmp-tmp-567) (if (if syntmp-tmp-567 (apply (lambda (syntmp-_-568 syntmp-name-569 syntmp-val-570) (syntmp-id?-67 syntmp-name-569)) syntmp-tmp-567) (quote #f)) (apply (lambda (syntmp-_-571 syntmp-name-572 syntmp-val-573) (values (quote define-form) syntmp-name-572 syntmp-val-573 syntmp-w-554 syntmp-s-555)) syntmp-tmp-567) ((lambda (syntmp-tmp-574) (if (if syntmp-tmp-574 (apply (lambda (syntmp-_-575 syntmp-name-576 syntmp-args-577 syntmp-e1-578 syntmp-e2-579) (and (syntmp-id?-67 syntmp-name-576) (syntmp-valid-bound-ids?-92 (syntmp-lambda-var-list-116 syntmp-args-577)))) syntmp-tmp-574) (quote #f)) (apply (lambda (syntmp-_-580 syntmp-name-581 syntmp-args-582 syntmp-e1-583 syntmp-e2-584) (values (quote define-form) (syntmp-wrap-95 syntmp-name-581 syntmp-w-554) (cons (quote #(syntax-object lambda ((top) #(ribcage #(_ name args e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(t) #(("m" top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(e r w s rib) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? 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 get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage (define-structure) ((top)) ("i"))))) (syntmp-wrap-95 (cons syntmp-args-582 (cons syntmp-e1-583 syntmp-e2-584)) syntmp-w-554)) (quote (())) syntmp-s-555)) syntmp-tmp-574) ((lambda (syntmp-tmp-586) (if (if syntmp-tmp-586 (apply (lambda (syntmp-_-587 syntmp-name-588) (syntmp-id?-67 syntmp-name-588)) syntmp-tmp-586) (quote #f)) (apply (lambda (syntmp-_-589 syntmp-name-590) (values (quote define-form) (syntmp-wrap-95 syntmp-name-590 syntmp-w-554) (quote (#(syntax-object void ((top) #(ribcage #(_ name) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(t) #(("m" top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(b) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(n) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(e r w s rib) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? 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 get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage (define-structure) ((top)) ("i")))))) (quote (())) syntmp-s-555)) syntmp-tmp-586) (syntax-error syntmp-tmp-566))) (syntax-dispatch syntmp-tmp-566 (quote (any any)))))) (syntax-dispatch syntmp-tmp-566 (quote (any (any . any) any . each-any)))))) (syntax-dispatch syntmp-tmp-566 (quote (any any any))))) syntmp-e-552) (if (memv syntmp-t-565 (quote (define-syntax))) ((lambda (syntmp-tmp-591) ((lambda (syntmp-tmp-592) (if (if syntmp-tmp-592 (apply (lambda (syntmp-_-593 syntmp-name-594 syntmp-val-595) (syntmp-id?-67 syntmp-name-594)) syntmp-tmp-592) (quote #f)) (apply (lambda (syntmp-_-596 syntmp-name-597 syntmp-val-598) (values (quote define-syntax-form) syntmp-name-597 syntmp-val-598 syntmp-w-554 syntmp-s-555)) syntmp-tmp-592) (syntax-error syntmp-tmp-591))) (syntax-dispatch syntmp-tmp-591 (quote (any any any))))) syntmp-e-552) (values (quote call) (quote #f) syntmp-e-552 syntmp-w-554 syntmp-s-555)))))))))))))) (values (quote call) (quote #f) syntmp-e-552 syntmp-w-554 syntmp-s-555)))) ((syntmp-syntax-object?-53 syntmp-e-552) (syntmp-syntax-type-101 (syntmp-syntax-object-expression-54 syntmp-e-552) syntmp-r-553 (syntmp-join-wraps-86 syntmp-w-554 (syntmp-syntax-object-wrap-55 syntmp-e-552)) (quote #f) syntmp-rib-556)) ((syntmp-annotation?-42 syntmp-e-552) (syntmp-syntax-type-101 (annotation-expression syntmp-e-552) syntmp-r-553 syntmp-w-554 (annotation-source syntmp-e-552) syntmp-rib-556)) ((let ((syntmp-x-599 syntmp-e-552)) (or (boolean? syntmp-x-599) (number? syntmp-x-599) (string? syntmp-x-599) (char? syntmp-x-599) (null? syntmp-x-599) (keyword? syntmp-x-599))) (values (quote constant) (quote #f) syntmp-e-552 syntmp-w-554 syntmp-s-555)) (else (values (quote other) (quote #f) syntmp-e-552 syntmp-w-554 syntmp-s-555))))) (syntmp-chi-when-list-100 (lambda (syntmp-e-600 syntmp-when-list-601 syntmp-w-602) (let syntmp-f-603 ((syntmp-when-list-604 syntmp-when-list-601) (syntmp-situations-605 (quote ()))) (if (null? syntmp-when-list-604) syntmp-situations-605 (syntmp-f-603 (cdr syntmp-when-list-604) (cons (let ((syntmp-x-606 (car syntmp-when-list-604))) (cond ((syntmp-free-id=?-90 syntmp-x-606 (quote #(syntax-object compile ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? 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 get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage (define-structure) ((top)) ("i")))))) (quote compile)) ((syntmp-free-id=?-90 syntmp-x-606 (quote #(syntax-object load ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? 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 get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage (define-structure) ((top)) ("i")))))) (quote load)) ((syntmp-free-id=?-90 syntmp-x-606 (quote #(syntax-object eval ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i" "i" "i")) #(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env extend-var-env extend-env null-env binding-value binding-type make-binding arg-check source-annotation no-source unannotate set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object self-evaluating? 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 get-global-definition-hook put-global-definition-hook gensym-hook error-hook local-eval-hook top-level-eval-hook annotation? 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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage (define-structure) ((top)) ("i")))))) (quote eval)) (else (syntax-error (syntmp-wrap-95 syntmp-x-606 syntmp-w-602) (quote "invalid eval-when situation"))))) syntmp-situations-605)))))) (syntmp-chi-install-global-99 (lambda (syntmp-name-607 syntmp-e-608) (list (quote install-global-transformer) (list (quote quote) syntmp-name-607) syntmp-e-608))) (syntmp-chi-top-sequence-98 (lambda (syntmp-body-609 syntmp-r-610 syntmp-w-611 syntmp-s-612 syntmp-m-613 syntmp-esew-614) (syntmp-build-sequence-48 syntmp-s-612 (let syntmp-dobody-615 ((syntmp-body-616 syntmp-body-609) (syntmp-r-617 syntmp-r-610) (syntmp-w-618 syntmp-w-611) (syntmp-m-619 syntmp-m-613) (syntmp-esew-620 syntmp-esew-614)) (if (null? syntmp-body-616) (quote ()) (let ((syntmp-first-621 (syntmp-chi-top-102 (car syntmp-body-616) syntmp-r-617 syntmp-w-618 syntmp-m-619 syntmp-esew-620))) (cons syntmp-first-621 (syntmp-dobody-615 (cdr syntmp-body-616) syntmp-r-617 syntmp-w-618 syntmp-m-619 syntmp-esew-620)))))))) (syntmp-chi-sequence-97 (lambda (syntmp-body-622 syntmp-r-623 syntmp-w-624 syntmp-s-625) (syntmp-build-sequence-48 syntmp-s-625 (let syntmp-dobody-626 ((syntmp-body-627 syntmp-body-622) (syntmp-r-628 syntmp-r-623) (syntmp-w-629 syntmp-w-624)) (if (null? syntmp-body-627) (quote ()) (let ((syntmp-first-630 (syntmp-chi-103 (car syntmp-body-627) syntmp-r-628 syntmp-w-629))) (cons syntmp-first-630 (syntmp-dobody-626 (cdr syntmp-body-627) syntmp-r-628 syntmp-w-629)))))))) (syntmp-source-wrap-96 (lambda (syntmp-x-631 syntmp-w-632 syntmp-s-633) (syntmp-wrap-95 (if syntmp-s-633 (make-annotation syntmp-x-631 syntmp-s-633 (quote #f)) syntmp-x-631) syntmp-w-632))) (syntmp-wrap-95 (lambda (syntmp-x-634 syntmp-w-635) (cond ((and (null? (syntmp-wrap-marks-70 syntmp-w-635)) (null? (syntmp-wrap-subst-71 syntmp-w-635))) syntmp-x-634) ((syntmp-syntax-object?-53 syntmp-x-634) (syntmp-make-syntax-object-52 (syntmp-syntax-object-expression-54 syntmp-x-634) (syntmp-join-wraps-86 syntmp-w-635 (syntmp-syntax-object-wrap-55 syntmp-x-634)))) ((null? syntmp-x-634) syntmp-x-634) (else (syntmp-make-syntax-object-52 syntmp-x-634 syntmp-w-635))))) (syntmp-bound-id-member?-94 (lambda (syntmp-x-636 syntmp-list-637) (and (not (null? syntmp-list-637)) (or (syntmp-bound-id=?-91 syntmp-x-636 (car syntmp-list-637)) (syntmp-bound-id-member?-94 syntmp-x-636 (cdr syntmp-list-637)))))) (syntmp-distinct-bound-ids?-93 (lambda (syntmp-ids-638) (let syntmp-distinct?-639 ((syntmp-ids-640 syntmp-ids-638)) (or (null? syntmp-ids-640) (and (not (syntmp-bound-id-member?-94 (car syntmp-ids-640) (cdr syntmp-ids-640))) (syntmp-distinct?-639 (cdr syntmp-ids-640))))))) (syntmp-valid-bound-ids?-92 (lambda (syntmp-ids-641) (and (let syntmp-all-ids?-642 ((syntmp-ids-643 syntmp-ids-641)) (or (null? syntmp-ids-643) (and (syntmp-id?-67 (car syntmp-ids-643)) (syntmp-all-ids?-642 (cdr syntmp-ids-643))))) (syntmp-distinct-bound-ids?-93 syntmp-ids-641)))) (syntmp-bound-id=?-91 (lambda (syntmp-i-644 syntmp-j-645) (if (and (syntmp-syntax-object?-53 syntmp-i-644) (syntmp-syntax-object?-53 syntmp-j-645)) (and (eq? (let ((syntmp-e-646 (syntmp-syntax-object-expression-54 syntmp-i-644))) (if (syntmp-annotation?-42 syntmp-e-646) (annotation-expression syntmp-e-646) syntmp-e-646)) (let ((syntmp-e-647 (syntmp-syntax-object-expression-54 syntmp-j-645))) (if (syntmp-annotation?-42 syntmp-e-647) (annotation-expression syntmp-e-647) syntmp-e-647))) (syntmp-same-marks?-88 (syntmp-wrap-marks-70 (syntmp-syntax-object-wrap-55 syntmp-i-644)) (syntmp-wrap-marks-70 (syntmp-syntax-object-wrap-55 syntmp-j-645)))) (eq? (let ((syntmp-e-648 syntmp-i-644)) (if (syntmp-annotation?-42 syntmp-e-648) (annotation-expression syntmp-e-648) syntmp-e-648)) (let ((syntmp-e-649 syntmp-j-645)) (if (syntmp-annotation?-42 syntmp-e-649) (annotation-expression syntmp-e-649) syntmp-e-649)))))) (syntmp-free-id=?-90 (lambda (syntmp-i-650 syntmp-j-651) (and (eq? (let ((syntmp-x-652 syntmp-i-650)) (let ((syntmp-e-653 (if (syntmp-syntax-object?-53 syntmp-x-652) (syntmp-syntax-object-expression-54 syntmp-x-652) syntmp-x-652))) (if (syntmp-annotation?-42 syntmp-e-653) (annotation-expression syntmp-e-653) syntmp-e-653))) (let ((syntmp-x-654 syntmp-j-651)) (let ((syntmp-e-655 (if (syntmp-syntax-object?-53 syntmp-x-654) (syntmp-syntax-object-expression-54 syntmp-x-654) syntmp-x-654))) (if (syntmp-annotation?-42 syntmp-e-655) (annotation-expression syntmp-e-655) syntmp-e-655)))) (eq? (syntmp-id-var-name-89 syntmp-i-650 (quote (()))) (syntmp-id-var-name-89 syntmp-j-651 (quote (()))))))) (syntmp-id-var-name-89 (lambda (syntmp-id-656 syntmp-w-657) (letrec ((syntmp-search-vector-rib-660 (lambda (syntmp-sym-666 syntmp-subst-667 syntmp-marks-668 syntmp-symnames-669 syntmp-ribcage-670) (let ((syntmp-n-671 (vector-length syntmp-symnames-669))) (let syntmp-f-672 ((syntmp-i-673 (quote 0))) (cond ((syntmp-fx=-40 syntmp-i-673 syntmp-n-671) (syntmp-search-658 syntmp-sym-666 (cdr syntmp-subst-667) syntmp-marks-668)) ((and (eq? (vector-ref syntmp-symnames-669 syntmp-i-673) syntmp-sym-666) (syntmp-same-marks?-88 syntmp-marks-668 (vector-ref (syntmp-ribcage-marks-77 syntmp-ribcage-670) syntmp-i-673))) (values (vector-ref (syntmp-ribcage-labels-78 syntmp-ribcage-670) syntmp-i-673) syntmp-marks-668)) (else (syntmp-f-672 (syntmp-fx+-38 syntmp-i-673 (quote 1))))))))) (syntmp-search-list-rib-659 (lambda (syntmp-sym-674 syntmp-subst-675 syntmp-marks-676 syntmp-symnames-677 syntmp-ribcage-678) (let syntmp-f-679 ((syntmp-symnames-680 syntmp-symnames-677) (syntmp-i-681 (quote 0))) (cond ((null? syntmp-symnames-680) (syntmp-search-658 syntmp-sym-674 (cdr syntmp-subst-675) syntmp-marks-676)) ((and (eq? (car syntmp-symnames-680) syntmp-sym-674) (syntmp-same-marks?-88 syntmp-marks-676 (list-ref (syntmp-ribcage-marks-77 syntmp-ribcage-678) syntmp-i-681))) (values (list-ref (syntmp-ribcage-labels-78 syntmp-ribcage-678) syntmp-i-681) syntmp-marks-676)) (else (syntmp-f-679 (cdr syntmp-symnames-680) (syntmp-fx+-38 syntmp-i-681 (quote 1)))))))) (syntmp-search-658 (lambda (syntmp-sym-682 syntmp-subst-683 syntmp-marks-684) (if (null? syntmp-subst-683) (values (quote #f) syntmp-marks-684) (let ((syntmp-fst-685 (car syntmp-subst-683))) (if (eq? syntmp-fst-685 (quote shift)) (syntmp-search-658 syntmp-sym-682 (cdr syntmp-subst-683) (cdr syntmp-marks-684)) (let ((syntmp-symnames-686 (syntmp-ribcage-symnames-76 syntmp-fst-685))) (if (vector? syntmp-symnames-686) (syntmp-search-vector-rib-660 syntmp-sym-682 syntmp-subst-683 syntmp-marks-684 syntmp-symnames-686 syntmp-fst-685) (syntmp-search-list-rib-659 syntmp-sym-682 syntmp-subst-683 syntmp-marks-684 syntmp-symnames-686 syntmp-fst-685))))))))) (cond ((symbol? syntmp-id-656) (or (call-with-values (lambda () (syntmp-search-658 syntmp-id-656 (syntmp-wrap-subst-71 syntmp-w-657) (syntmp-wrap-marks-70 syntmp-w-657))) (lambda (syntmp-x-688 . syntmp-ignore-687) syntmp-x-688)) syntmp-id-656)) ((syntmp-syntax-object?-53 syntmp-id-656) (let ((syntmp-id-689 (let ((syntmp-e-691 (syntmp-syntax-object-expression-54 syntmp-id-656))) (if (syntmp-annotation?-42 syntmp-e-691) (annotation-expression syntmp-e-691) syntmp-e-691))) (syntmp-w1-690 (syntmp-syntax-object-wrap-55 syntmp-id-656))) (let ((syntmp-marks-692 (syntmp-join-marks-87 (syntmp-wrap-marks-70 syntmp-w-657) (syntmp-wrap-marks-70 syntmp-w1-690)))) (call-with-values (lambda () (syntmp-search-658 syntmp-id-689 (syntmp-wrap-subst-71 syntmp-w-657) syntmp-marks-692)) (lambda (syntmp-new-id-693 syntmp-marks-694) (or syntmp-new-id-693 (call-with-values (lambda () (syntmp-search-658 syntmp-id-689 (syntmp-wrap-subst-71 syntmp-w1-690) syntmp-marks-694)) (lambda (syntmp-x-696 . syntmp-ignore-695) syntmp-x-696)) syntmp-id-689)))))) ((syntmp-annotation?-42 syntmp-id-656) (let ((syntmp-id-697 (let ((syntmp-e-698 syntmp-id-656)) (if (syntmp-annotation?-42 syntmp-e-698) (annotation-expression syntmp-e-698) syntmp-e-698)))) (or (call-with-values (lambda () (syntmp-search-658 syntmp-id-697 (syntmp-wrap-subst-71 syntmp-w-657) (syntmp-wrap-marks-70 syntmp-w-657))) (lambda (syntmp-x-700 . syntmp-ignore-699) syntmp-x-700)) syntmp-id-697))) (else (syntmp-error-hook-45 (quote id-var-name) (quote "invalid id") syntmp-id-656)))))) (syntmp-same-marks?-88 (lambda (syntmp-x-701 syntmp-y-702) (or (eq? syntmp-x-701 syntmp-y-702) (and (not (null? syntmp-x-701)) (not (null? syntmp-y-702)) (eq? (car syntmp-x-701) (car syntmp-y-702)) (syntmp-same-marks?-88 (cdr syntmp-x-701) (cdr syntmp-y-702)))))) (syntmp-join-marks-87 (lambda (syntmp-m1-703 syntmp-m2-704) (syntmp-smart-append-85 syntmp-m1-703 syntmp-m2-704))) (syntmp-join-wraps-86 (lambda (syntmp-w1-705 syntmp-w2-706) (let ((syntmp-m1-707 (syntmp-wrap-marks-70 syntmp-w1-705)) (syntmp-s1-708 (syntmp-wrap-subst-71 syntmp-w1-705))) (if (null? syntmp-m1-707) (if (null? syntmp-s1-708) syntmp-w2-706 (syntmp-make-wrap-69 (syntmp-wrap-marks-70 syntmp-w2-706) (syntmp-smart-append-85 syntmp-s1-708 (syntmp-wrap-subst-71 syntmp-w2-706)))) (syntmp-make-wrap-69 (syntmp-smart-append-85 syntmp-m1-707 (syntmp-wrap-marks-70 syntmp-w2-706)) (syntmp-smart-append-85 syntmp-s1-708 (syntmp-wrap-subst-71 syntmp-w2-706))))))) (syntmp-smart-append-85 (lambda (syntmp-m1-709 syntmp-m2-710) (if (null? syntmp-m2-710) syntmp-m1-709 (append syntmp-m1-709 syntmp-m2-710)))) (syntmp-make-binding-wrap-84 (lambda (syntmp-ids-711 syntmp-labels-712 syntmp-w-713) (if (null? syntmp-ids-711) syntmp-w-713 (syntmp-make-wrap-69 (syntmp-wrap-marks-70 syntmp-w-713) (cons (let ((syntmp-labelvec-714 (list->vector syntmp-labels-712))) (let ((syntmp-n-715 (vector-length syntmp-labelvec-714))) (let ((syntmp-symnamevec-716 (make-vector syntmp-n-715)) (syntmp-marksvec-717 (make-vector syntmp-n-715))) (begin (let syntmp-f-718 ((syntmp-ids-719 syntmp-ids-711) (syntmp-i-720 (quote 0))) (if (not (null? syntmp-ids-719)) (call-with-values (lambda () (syntmp-id-sym-name&marks-68 (car syntmp-ids-719) syntmp-w-713)) (lambda (syntmp-symname-721 syntmp-marks-722) (begin (vector-set! syntmp-symnamevec-716 syntmp-i-720 syntmp-symname-721) (vector-set! syntmp-marksvec-717 syntmp-i-720 syntmp-marks-722) (syntmp-f-718 (cdr syntmp-ids-719) (syntmp-fx+-38 syntmp-i-720 (quote 1)))))))) (syntmp-make-ribcage-74 syntmp-symnamevec-716 syntmp-marksvec-717 syntmp-labelvec-714))))) (syntmp-wrap-subst-71 syntmp-w-713)))))) (syntmp-extend-ribcage!-83 (lambda (syntmp-ribcage-723 syntmp-id-724 syntmp-label-725) (begin (syntmp-set-ribcage-symnames!-79 syntmp-ribcage-723 (cons (let ((syntmp-e-726 (syntmp-syntax-object-expression-54 syntmp-id-724))) (if (syntmp-annotation?-42 syntmp-e-726) (annotation-expression syntmp-e-726) syntmp-e-726)) (syntmp-ribcage-symnames-76 syntmp-ribcage-723))) (syntmp-set-ribcage-marks!-80 syntmp-ribcage-723 (cons (syntmp-wrap-marks-70 (syntmp-syntax-object-wrap-55 syntmp-id-724)) (syntmp-ribcage-marks-77 syntmp-ribcage-723))) (syntmp-set-ribcage-labels!-81 syntmp-ribcage-723 (cons syntmp-label-725 (syntmp-ribcage-labels-78 syntmp-ribcage-723)))))) (syntmp-anti-mark-82 (lambda (syntmp-w-727) (syntmp-make-wrap-69 (cons (quote #f) (syntmp-wrap-marks-70 syntmp-w-727)) (cons (quote shift) (syntmp-wrap-subst-71 syntmp-w-727))))) (syntmp-set-ribcage-labels!-81 (lambda (syntmp-x-728 syntmp-update-729) (vector-set! syntmp-x-728 (quote 3) syntmp-update-729))) (syntmp-set-ribcage-marks!-80 (lambda (syntmp-x-730 syntmp-update-731) (vector-set! syntmp-x-730 (quote 2) syntmp-update-731))) (syntmp-set-ribcage-symnames!-79 (lambda (syntmp-x-732 syntmp-update-733) (vector-set! syntmp-x-732 (quote 1) syntmp-update-733))) (syntmp-ribcage-labels-78 (lambda (syntmp-x-734) (vector-ref syntmp-x-734 (quote 3)))) (syntmp-ribcage-marks-77 (lambda (syntmp-x-735) (vector-ref syntmp-x-735 (quote 2)))) (syntmp-ribcage-symnames-76 (lambda (syntmp-x-736) (vector-ref syntmp-x-736 (quote 1)))) (syntmp-ribcage?-75 (lambda (syntmp-x-737) (and (vector? syntmp-x-737) (= (vector-length syntmp-x-737) (quote 4)) (eq? (vector-ref syntmp-x-737 (quote 0)) (quote ribcage))))) (syntmp-make-ribcage-74 (lambda (syntmp-symnames-738 syntmp-marks-739 syntmp-labels-740) (vector (quote ribcage) syntmp-symnames-738 syntmp-marks-739 syntmp-labels-740))) (syntmp-gen-labels-73 (lambda (syntmp-ls-741) (if (null? syntmp-ls-741) (quote ()) (cons (syntmp-gen-label-72) (syntmp-gen-labels-73 (cdr syntmp-ls-741)))))) (syntmp-gen-label-72 (lambda () (string (quote #\i)))) (syntmp-wrap-subst-71 cdr) (syntmp-wrap-marks-70 car) (syntmp-make-wrap-69 cons) (syntmp-id-sym-name&marks-68 (lambda (syntmp-x-742 syntmp-w-743) (if (syntmp-syntax-object?-53 syntmp-x-742) (values (let ((syntmp-e-744 (syntmp-syntax-object-expression-54 syntmp-x-742))) (if (syntmp-annotation?-42 syntmp-e-744) (annotation-expression syntmp-e-744) syntmp-e-744)) (syntmp-join-marks-87 (syntmp-wrap-marks-70 syntmp-w-743) (syntmp-wrap-marks-70 (syntmp-syntax-object-wrap-55 syntmp-x-742)))) (values (let ((syntmp-e-745 syntmp-x-742)) (if (syntmp-annotation?-42 syntmp-e-745) (annotation-expression syntmp-e-745) syntmp-e-745)) (syntmp-wrap-marks-70 syntmp-w-743))))) (syntmp-id?-67 (lambda (syntmp-x-746) (cond ((symbol? syntmp-x-746) (quote #t)) ((syntmp-syntax-object?-53 syntmp-x-746) (symbol? (let ((syntmp-e-747 (syntmp-syntax-object-expression-54 syntmp-x-746))) (if (syntmp-annotation?-42 syntmp-e-747) (annotation-expression syntmp-e-747) syntmp-e-747)))) ((syntmp-annotation?-42 syntmp-x-746) (symbol? (annotation-expression syntmp-x-746))) (else (quote #f))))) (syntmp-nonsymbol-id?-66 (lambda (syntmp-x-748) (and (syntmp-syntax-object?-53 syntmp-x-748) (symbol? (let ((syntmp-e-749 (syntmp-syntax-object-expression-54 syntmp-x-748))) (if (syntmp-annotation?-42 syntmp-e-749) (annotation-expression syntmp-e-749) syntmp-e-749)))))) (syntmp-global-extend-65 (lambda (syntmp-type-750 syntmp-sym-751 syntmp-val-752) (syntmp-put-global-definition-hook-46 syntmp-sym-751 (cons syntmp-type-750 syntmp-val-752)))) (syntmp-lookup-64 (lambda (syntmp-x-753 syntmp-r-754) (cond ((assq syntmp-x-753 syntmp-r-754) => cdr) ((symbol? syntmp-x-753) (or (syntmp-get-global-definition-hook-47 syntmp-x-753) (quote (global)))) (else (quote (displaced-lexical)))))) (syntmp-macros-only-env-63 (lambda (syntmp-r-755) (if (null? syntmp-r-755) (quote ()) (let ((syntmp-a-756 (car syntmp-r-755))) (if (eq? (cadr syntmp-a-756) (quote macro)) (cons syntmp-a-756 (syntmp-macros-only-env-63 (cdr syntmp-r-755))) (syntmp-macros-only-env-63 (cdr syntmp-r-755))))))) (syntmp-extend-var-env-62 (lambda (syntmp-labels-757 syntmp-vars-758 syntmp-r-759) (if (null? syntmp-labels-757) syntmp-r-759 (syntmp-extend-var-env-62 (cdr syntmp-labels-757) (cdr syntmp-vars-758) (cons (cons (car syntmp-labels-757) (cons (quote lexical) (car syntmp-vars-758))) syntmp-r-759))))) (syntmp-extend-env-61 (lambda (syntmp-labels-760 syntmp-bindings-761 syntmp-r-762) (if (null? syntmp-labels-760) syntmp-r-762 (syntmp-extend-env-61 (cdr syntmp-labels-760) (cdr syntmp-bindings-761) (cons (cons (car syntmp-labels-760) (car syntmp-bindings-761)) syntmp-r-762))))) (syntmp-binding-value-60 cdr) (syntmp-binding-type-59 car) (syntmp-source-annotation-58 (lambda (syntmp-x-763) (cond ((syntmp-annotation?-42 syntmp-x-763) (annotation-source syntmp-x-763)) ((syntmp-syntax-object?-53 syntmp-x-763) (syntmp-source-annotation-58 (syntmp-syntax-object-expression-54 syntmp-x-763))) (else (quote #f))))) (syntmp-set-syntax-object-wrap!-57 (lambda (syntmp-x-764 syntmp-update-765) (vector-set! syntmp-x-764 (quote 2) syntmp-update-765))) (syntmp-set-syntax-object-expression!-56 (lambda (syntmp-x-766 syntmp-update-767) (vector-set! syntmp-x-766 (quote 1) syntmp-update-767))) (syntmp-syntax-object-wrap-55 (lambda (syntmp-x-768) (vector-ref syntmp-x-768 (quote 2)))) (syntmp-syntax-object-expression-54 (lambda (syntmp-x-769) (vector-ref syntmp-x-769 (quote 1)))) (syntmp-syntax-object?-53 (lambda (syntmp-x-770) (and (vector? syntmp-x-770) (= (vector-length syntmp-x-770) (quote 3)) (eq? (vector-ref syntmp-x-770 (quote 0)) (quote syntax-object))))) (syntmp-make-syntax-object-52 (lambda (syntmp-expression-771 syntmp-wrap-772) (vector (quote syntax-object) syntmp-expression-771 syntmp-wrap-772))) (syntmp-build-letrec-51 (lambda (syntmp-src-773 syntmp-vars-774 syntmp-val-exps-775 syntmp-body-exp-776) (if (null? syntmp-vars-774) syntmp-body-exp-776 (list (quote letrec) (map list syntmp-vars-774 syntmp-val-exps-775) syntmp-body-exp-776)))) (syntmp-build-named-let-50 (lambda (syntmp-src-777 syntmp-vars-778 syntmp-val-exps-779 syntmp-body-exp-780) (if (null? syntmp-vars-778) syntmp-body-exp-780 (list (quote let) (car syntmp-vars-778) (map list (cdr syntmp-vars-778) syntmp-val-exps-779) syntmp-body-exp-780)))) (syntmp-build-let-49 (lambda (syntmp-src-781 syntmp-vars-782 syntmp-val-exps-783 syntmp-body-exp-784) (if (null? syntmp-vars-782) syntmp-body-exp-784 (list (quote let) (map list syntmp-vars-782 syntmp-val-exps-783) syntmp-body-exp-784)))) (syntmp-build-sequence-48 (lambda (syntmp-src-785 syntmp-exps-786) (if (null? (cdr syntmp-exps-786)) (car syntmp-exps-786) (cons (quote begin) syntmp-exps-786)))) (syntmp-get-global-definition-hook-47 (lambda (syntmp-symbol-787) (getprop syntmp-symbol-787 (quote *sc-expander*)))) (syntmp-put-global-definition-hook-46 (lambda (syntmp-symbol-788 syntmp-binding-789) (putprop syntmp-symbol-788 (quote *sc-expander*) syntmp-binding-789))) (syntmp-error-hook-45 (lambda (syntmp-who-790 syntmp-why-791 syntmp-what-792) (error syntmp-who-790 (quote "~a ~s") syntmp-why-791 syntmp-what-792))) (syntmp-local-eval-hook-44 (lambda (syntmp-x-793) (eval (list syntmp-noexpand-37 syntmp-x-793) (interaction-environment)))) (syntmp-top-level-eval-hook-43 (lambda (syntmp-x-794) (eval (list syntmp-noexpand-37 syntmp-x-794) (interaction-environment)))) (syntmp-annotation?-42 (lambda (syntmp-x-795) (quote #f))) (syntmp-fx<-41 <) (syntmp-fx=-40 =) (syntmp-fx--39 -) (syntmp-fx+-38 +) (syntmp-noexpand-37 (quote "noexpand"))) (begin (syntmp-global-extend-65 (quote local-syntax) (quote letrec-syntax) (quote #t)) (syntmp-global-extend-65 (quote local-syntax) (quote let-syntax) (quote #f)) (syntmp-global-extend-65 (quote core) (quote fluid-let-syntax) (lambda (syntmp-e-796 syntmp-r-797 syntmp-w-798 syntmp-s-799) ((lambda (syntmp-tmp-800) ((lambda (syntmp-tmp-801) (if (if syntmp-tmp-801 (apply (lambda (syntmp-_-802 syntmp-var-803 syntmp-val-804 syntmp-e1-805 syntmp-e2-806) (syntmp-valid-bound-ids?-92 syntmp-var-803)) syntmp-tmp-801) (quote #f)) (apply (lambda (syntmp-_-808 syntmp-var-809 syntmp-val-810 syntmp-e1-811 syntmp-e2-812) (let ((syntmp-names-813 (map (lambda (syntmp-x-814) (syntmp-id-var-name-89 syntmp-x-814 syntmp-w-798)) syntmp-var-809))) (begin (for-each (lambda (syntmp-id-816 syntmp-n-817) (let ((syntmp-t-818 (syntmp-binding-type-59 (syntmp-lookup-64 syntmp-n-817 syntmp-r-797)))) (if (memv syntmp-t-818 (quote (displaced-lexical))) (syntax-error (syntmp-source-wrap-96 syntmp-id-816 syntmp-w-798 syntmp-s-799) (quote "identifier out of context"))))) syntmp-var-809 syntmp-names-813) (syntmp-chi-body-107 (cons syntmp-e1-811 syntmp-e2-812) (syntmp-source-wrap-96 syntmp-e-796 syntmp-w-798 syntmp-s-799) (syntmp-extend-env-61 syntmp-names-813 (let ((syntmp-trans-r-821 (syntmp-macros-only-env-63 syntmp-r-797))) (map (lambda (syntmp-x-822) (cons (quote macro) (syntmp-eval-local-transformer-110 (syntmp-chi-103 syntmp-x-822 syntmp-trans-r-821 syntmp-w-798)))) syntmp-val-810)) syntmp-r-797) syntmp-w-798)))) syntmp-tm

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -