guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, syncase-in-boot-9, updated. 41af238146


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, syncase-in-boot-9, updated. 41af238146428f5841880f26d84b5dc9ddfad2c4
Date: Wed, 29 Apr 2009 21:57:31 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=41af238146428f5841880f26d84b5dc9ddfad2c4

The branch, syncase-in-boot-9 has been updated
       via  41af238146428f5841880f26d84b5dc9ddfad2c4 (commit)
      from  6a952e0ee9093424cdc8f300406d09ce195ebf5c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 41af238146428f5841880f26d84b5dc9ddfad2c4
Author: Andy Wingo <address@hidden>
Date:   Wed Apr 29 23:57:31 2009 +0200

    remove (void) from boot-9 and psyntax
    
    * module/ice-9/psyntax.scm: Tweak comments. Remove references to `void';
      just produce (if #f #f) instead of (void).
    
    * module/ice-9/psyntax-pp.scm: Regenerated, twice.
    
    * module/ice-9/boot-9.scm (void): Remove this binding.

-----------------------------------------------------------------------

Summary of changes:
 module/ice-9/boot-9.scm     |    2 --
 module/ice-9/psyntax-pp.scm |   24 ++++++++++++------------
 module/ice-9/psyntax.scm    |   24 ++++++------------------
 3 files changed, 18 insertions(+), 32 deletions(-)

diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index 18c7160..2f39c43 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -33,8 +33,6 @@
 
 
 
-(define (void) (if #f #f))
-
 ;; Before compiling, make sure any symbols are resolved in the (guile)
 ;; module, the primary location of those symbols, rather than in
 ;; (guile-user), the default module that we compile in.
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index ba20427..035d172 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -1,13 +1,13 @@
 (eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
-(void)
-(letrec ((and-map*17 (lambda (f57 first56 . rest55) (or (null? first56) (if 
(null? rest55) (let andmap58 ((first59 first56)) (let ((x60 (car first59)) 
(first61 (cdr first59))) (if (null? first61) (f57 x60) (and (f57 x60) (andmap58 
first61))))) (let andmap62 ((first63 first56) (rest64 rest55)) (let ((x65 (car 
first63)) (xr66 (map car rest64)) (first67 (cdr first63)) (rest68 (map cdr 
rest64))) (if (null? first67) (apply f57 (cons x65 xr66)) (and (apply f57 (cons 
x65 xr66)) (andmap62 first67 rest68)))))))))) (letrec ((lambda-var-list150 
(lambda (vars355) (let lvl356 ((vars357 vars355) (ls358 (quote ())) (w359 
(quote (())))) (cond ((pair? vars357) (lvl356 (cdr vars357) (cons (wrap129 (car 
vars357) w359 #f) ls358) w359)) ((id?101 vars357) (cons (wrap129 vars357 w359 
#f) ls358)) ((null? vars357) ls358) ((syntax-object?85 vars357) (lvl356 
(syntax-object-expression86 vars357) ls358 (join-wraps120 w359 
(syntax-object-wrap87 vars357)))) ((annotation? vars357) (lvl356 
(annotation-expression vars357) ls358 w359)) (else (cons vars357 ls358)))))) 
(gen-var149 (lambda (id360) (let ((id361 (if (syntax-object?85 id360) 
(syntax-object-expression86 id360) id360))) (if (annotation? id361) 
(build-annotated78 (annotation-source id361) (gensym (symbol->string 
(annotation-expression id361)))) (build-annotated78 #f (gensym (symbol->string 
id361))))))) (strip148 (lambda (x362 w363) (if (memq (quote top) (wrap-marks104 
w363)) (if (or (annotation? x362) (and (pair? x362) (annotation? (car x362)))) 
(strip-annotation147 x362 #f) x362) (let f364 ((x365 x362)) (cond 
((syntax-object?85 x365) (strip148 (syntax-object-expression86 x365) 
(syntax-object-wrap87 x365))) ((pair? x365) (let ((a366 (f364 (car x365))) 
(d367 (f364 (cdr x365)))) (if (and (eq? a366 (car x365)) (eq? d367 (cdr x365))) 
x365 (cons a366 d367)))) ((vector? x365) (let ((old368 (vector->list x365))) 
(let ((new369 (map f364 old368))) (if (and-map*17 eq? old368 new369) x365 
(list->vector new369))))) (else x365)))))) (strip-annotation147 (lambda (x370 
parent371) (cond ((pair? x370) (let ((new372 (cons #f #f))) (begin (if 
parent371 (set-annotation-stripped! parent371 new372)) (set-car! new372 
(strip-annotation147 (car x370) #f)) (set-cdr! new372 (strip-annotation147 (cdr 
x370) #f)) new372))) ((annotation? x370) (or (annotation-stripped x370) 
(strip-annotation147 (annotation-expression x370) x370))) ((vector? x370) (let 
((new373 (make-vector (vector-length x370)))) (begin (if parent371 
(set-annotation-stripped! parent371 new373)) (let loop374 ((i375 (- 
(vector-length x370) 1))) (unless (fx<73 i375 0) (vector-set! new373 i375 
(strip-annotation147 (vector-ref x370 i375) #f)) (loop374 (fx-71 i375 1)))) 
new373))) (else x370)))) (ellipsis?146 (lambda (x376) (and (nonsymbol-id?100 
x376) (free-id=?124 x376 (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile))))))) 
(chi-void145 (lambda () (build-annotated78 #f (list (build-annotated78 #f 
(quote void)))))) (eval-local-transformer144 (lambda (expanded377 mod378) (let 
((p379 (local-eval-hook75 expanded377 mod378))) (if (procedure? p379) p379 
(syntax-violation #f "nonprocedure transformer" p379))))) (chi-local-syntax143 
(lambda (rec?380 e381 r382 w383 s384 mod385 k386) ((lambda (tmp387) ((lambda 
(tmp388) (if tmp388 (apply (lambda (_389 id390 val391 e1392 e2393) (let 
((ids394 id390)) (if (not (valid-bound-ids?126 ids394)) (syntax-violation #f 
"duplicate bound keyword" e381) (let ((labels396 (gen-labels107 ids394))) (let 
((new-w397 (make-binding-wrap118 ids394 labels396 w383))) (k386 (cons e1392 
e2393) (extend-env95 labels396 (let ((w399 (if rec?380 new-w397 w383)) 
(trans-r400 (macros-only-env97 r382))) (map (lambda (x401) (cons (quote macro) 
(eval-local-transformer144 (chi137 x401 trans-r400 w399 mod385) mod385))) 
val391)) r382) new-w397 s384 mod385)))))) tmp388) ((lambda (_403) 
(syntax-violation #f "bad local syntax definition" (source-wrap130 e381 w383 
s384 mod385))) tmp387))) ($sc-dispatch tmp387 (quote (any #(each (any any)) any 
. each-any))))) e381))) (chi-lambda-clause142 (lambda (e404 docstring405 c406 
r407 w408 mod409 k410) ((lambda (tmp411) ((lambda (tmp412) (if (if tmp412 
(apply (lambda (args413 doc414 e1415 e2416) (and (string? (syntax->datum 
doc414)) (not docstring405))) tmp412) #f) (apply (lambda (args417 doc418 e1419 
e2420) (chi-lambda-clause142 e404 doc418 (cons args417 (cons e1419 e2420)) r407 
w408 mod409 k410)) tmp412) ((lambda (tmp422) (if tmp422 (apply (lambda (id423 
e1424 e2425) (let ((ids426 id423)) (if (not (valid-bound-ids?126 ids426)) 
(syntax-violation (quote lambda) "invalid parameter list" e404) (let 
((labels428 (gen-labels107 ids426)) (new-vars429 (map gen-var149 ids426))) 
(k410 new-vars429 docstring405 (chi-body141 (cons e1424 e2425) e404 
(extend-var-env96 labels428 new-vars429 r407) (make-binding-wrap118 ids426 
labels428 w408) mod409)))))) tmp422) ((lambda (tmp431) (if tmp431 (apply 
(lambda (ids432 e1433 e2434) (let ((old-ids435 (lambda-var-list150 ids432))) 
(if (not (valid-bound-ids?126 old-ids435)) (syntax-violation (quote lambda) 
"invalid parameter list" e404) (let ((labels436 (gen-labels107 old-ids435)) 
(new-vars437 (map gen-var149 old-ids435))) (k410 (let f438 ((ls1439 (cdr 
new-vars437)) (ls2440 (car new-vars437))) (if (null? ls1439) ls2440 (f438 (cdr 
ls1439) (cons (car ls1439) ls2440)))) docstring405 (chi-body141 (cons e1433 
e2434) e404 (extend-var-env96 labels436 new-vars437 r407) (make-binding-wrap118 
old-ids435 labels436 w408) mod409)))))) tmp431) ((lambda (_442) 
(syntax-violation (quote lambda) "bad lambda" e404)) tmp411))) ($sc-dispatch 
tmp411 (quote (any any . each-any)))))) ($sc-dispatch tmp411 (quote (each-any 
any . each-any)))))) ($sc-dispatch tmp411 (quote (any any any . each-any))))) 
c406))) (chi-body141 (lambda (body443 outer-form444 r445 w446 mod447) (let 
((r448 (cons (quote ("placeholder" placeholder)) r445))) (let ((ribcage449 
(make-ribcage108 (quote ()) (quote ()) (quote ())))) (let ((w450 (make-wrap103 
(wrap-marks104 w446) (cons ribcage449 (wrap-subst105 w446))))) (let parse451 
((body452 (map (lambda (x458) (cons r448 (wrap129 x458 w450 mod447))) body443)) 
(ids453 (quote ())) (labels454 (quote ())) (vars455 (quote ())) (vals456 (quote 
())) (bindings457 (quote ()))) (if (null? body452) (syntax-violation #f "no 
expressions in body" outer-form444) (let ((e459 (cdar body452)) (er460 (caar 
body452))) (call-with-values (lambda () (syntax-type135 e459 er460 (quote (())) 
#f ribcage449 mod447)) (lambda (type461 value462 e463 w464 s465 mod466) (let 
((t467 type461)) (if (memv t467 (quote (define-form))) (let ((id468 (wrap129 
value462 w464 mod466)) (label469 (gen-label106))) (let ((var470 (gen-var149 
id468))) (begin (extend-ribcage!117 ribcage449 id468 label469) (parse451 (cdr 
body452) (cons id468 ids453) (cons label469 labels454) (cons var470 vars455) 
(cons (cons er460 (wrap129 e463 w464 mod466)) vals456) (cons (cons (quote 
lexical) var470) bindings457))))) (if (memv t467 (quote (define-syntax-form))) 
(let ((id471 (wrap129 value462 w464 mod466)) (label472 (gen-label106))) (begin 
(extend-ribcage!117 ribcage449 id471 label472) (parse451 (cdr body452) (cons 
id471 ids453) (cons label472 labels454) vars455 vals456 (cons (cons (quote 
macro) (cons er460 (wrap129 e463 w464 mod466))) bindings457)))) (if (memv t467 
(quote (begin-form))) ((lambda (tmp473) ((lambda (tmp474) (if tmp474 (apply 
(lambda (_475 e1476) (parse451 (let f477 ((forms478 e1476)) (if (null? 
forms478) (cdr body452) (cons (cons er460 (wrap129 (car forms478) w464 mod466)) 
(f477 (cdr forms478))))) ids453 labels454 vars455 vals456 bindings457)) tmp474) 
(syntax-violation #f "source expression failed to match any pattern" tmp473))) 
($sc-dispatch tmp473 (quote (any . each-any))))) e463) (if (memv t467 (quote 
(local-syntax-form))) (chi-local-syntax143 value462 e463 er460 w464 s465 mod466 
(lambda (forms480 er481 w482 s483 mod484) (parse451 (let f485 ((forms486 
forms480)) (if (null? forms486) (cdr body452) (cons (cons er481 (wrap129 (car 
forms486) w482 mod484)) (f485 (cdr forms486))))) ids453 labels454 vars455 
vals456 bindings457))) (if (null? ids453) (build-sequence80 #f (map (lambda 
(x487) (chi137 (cdr x487) (car x487) (quote (())) mod466)) (cons (cons er460 
(source-wrap130 e463 w464 s465 mod466)) (cdr body452)))) (begin (if (not 
(valid-bound-ids?126 ids453)) (syntax-violation #f "invalid or duplicate 
identifier in definition" outer-form444)) (let loop488 ((bs489 bindings457) 
(er-cache490 #f) (r-cache491 #f)) (if (not (null? bs489)) (let ((b492 (car 
bs489))) (if (eq? (car b492) (quote macro)) (let ((er493 (cadr b492))) (let 
((r-cache494 (if (eq? er493 er-cache490) r-cache491 (macros-only-env97 
er493)))) (begin (set-cdr! b492 (eval-local-transformer144 (chi137 (cddr b492) 
r-cache494 (quote (())) mod466) mod466)) (loop488 (cdr bs489) er493 
r-cache494)))) (loop488 (cdr bs489) er-cache490 r-cache491))))) (set-cdr! r448 
(extend-env95 labels454 bindings457 (cdr r448))) (build-letrec83 #f vars455 
(map (lambda (x495) (chi137 (cdr x495) (car x495) (quote (())) mod466)) 
vals456) (build-sequence80 #f (map (lambda (x496) (chi137 (cdr x496) (car x496) 
(quote (())) mod466)) (cons (cons er460 (source-wrap130 e463 w464 s465 mod466)) 
(cdr body452)))))))))))))))))))))) (chi-macro140 (lambda (p497 e498 r499 w500 
rib501 mod502) (letrec ((rebuild-macro-output503 (lambda (x504 m505) (cond 
((pair? x504) (cons (rebuild-macro-output503 (car x504) m505) 
(rebuild-macro-output503 (cdr x504) m505))) ((syntax-object?85 x504) (let 
((w506 (syntax-object-wrap87 x504))) (let ((ms507 (wrap-marks104 w506)) (s508 
(wrap-subst105 w506))) (if (and (pair? ms507) (eq? (car ms507) #f)) 
(make-syntax-object84 (syntax-object-expression86 x504) (make-wrap103 (cdr 
ms507) (if rib501 (cons rib501 (cdr s508)) (cdr s508))) (syntax-object-module88 
x504)) (make-syntax-object84 (syntax-object-expression86 x504) (make-wrap103 
(cons m505 ms507) (if rib501 (cons rib501 (cons (quote shift) s508)) (cons 
(quote shift) s508))) (let ((pmod509 (procedure-module p497))) (if pmod509 
(cons (quote hygiene) (module-name pmod509)) (quote (hygiene guile))))))))) 
((vector? x504) (let ((n510 (vector-length x504))) (let ((v511 (make-vector 
n510))) (let doloop512 ((i513 0)) (if (fx=72 i513 n510) v511 (begin 
(vector-set! v511 i513 (rebuild-macro-output503 (vector-ref x504 i513) m505)) 
(doloop512 (fx+70 i513 1)))))))) ((symbol? x504) (syntax-violation #f 
"encountered raw symbol in macro output" (source-wrap130 e498 w500 s mod502) 
x504)) (else x504))))) (rebuild-macro-output503 (p497 (wrap129 e498 
(anti-mark116 w500) mod502)) (string #\m))))) (chi-application139 (lambda (x514 
e515 r516 w517 s518 mod519) ((lambda (tmp520) ((lambda (tmp521) (if tmp521 
(apply (lambda (e0522 e1523) (build-annotated78 s518 (cons x514 (map (lambda 
(e524) (chi137 e524 r516 w517 mod519)) e1523)))) tmp521) (syntax-violation #f 
"source expression failed to match any pattern" tmp520))) ($sc-dispatch tmp520 
(quote (any . each-any))))) e515))) (chi-expr138 (lambda (type526 value527 e528 
r529 w530 s531 mod532) (let ((t533 type526)) (if (memv t533 (quote (lexical))) 
(build-annotated78 s531 value527) (if (memv t533 (quote (core external-macro))) 
(value527 e528 r529 w530 s531 mod532) (if (memv t533 (quote (module-ref))) 
(call-with-values (lambda () (value527 e528)) (lambda (id534 mod535) 
(build-annotated78 s531 (if mod535 (make-module-ref (cdr mod535) id534 (car 
mod535)) (make-module-ref mod535 id534 (quote bare)))))) (if (memv t533 (quote 
(lexical-call))) (chi-application139 (build-annotated78 (source-annotation92 
(car e528)) value527) e528 r529 w530 s531 mod532) (if (memv t533 (quote 
(global-call))) (chi-application139 (build-annotated78 (source-annotation92 
(car e528)) (if (if (syntax-object?85 (car e528)) (syntax-object-module88 (car 
e528)) mod532) (make-module-ref (cdr (if (syntax-object?85 (car e528)) 
(syntax-object-module88 (car e528)) mod532)) value527 (car (if 
(syntax-object?85 (car e528)) (syntax-object-module88 (car e528)) mod532))) 
(make-module-ref (if (syntax-object?85 (car e528)) (syntax-object-module88 (car 
e528)) mod532) value527 (quote bare)))) e528 r529 w530 s531 mod532) (if (memv 
t533 (quote (constant))) (build-data79 s531 (strip148 (source-wrap130 e528 w530 
s531 mod532) (quote (())))) (if (memv t533 (quote (global))) (build-annotated78 
s531 (if mod532 (make-module-ref (cdr mod532) value527 (car mod532)) 
(make-module-ref mod532 value527 (quote bare)))) (if (memv t533 (quote (call))) 
(chi-application139 (chi137 (car e528) r529 w530 mod532) e528 r529 w530 s531 
mod532) (if (memv t533 (quote (begin-form))) ((lambda (tmp536) ((lambda 
(tmp537) (if tmp537 (apply (lambda (_538 e1539 e2540) (chi-sequence131 (cons 
e1539 e2540) r529 w530 s531 mod532)) tmp537) (syntax-violation #f "source 
expression failed to match any pattern" tmp536))) ($sc-dispatch tmp536 (quote 
(any any . each-any))))) e528) (if (memv t533 (quote (local-syntax-form))) 
(chi-local-syntax143 value527 e528 r529 w530 s531 mod532 chi-sequence131) (if 
(memv t533 (quote (eval-when-form))) ((lambda (tmp542) ((lambda (tmp543) (if 
tmp543 (apply (lambda (_544 x545 e1546 e2547) (let ((when-list548 
(chi-when-list134 e528 x545 w530))) (if (memq (quote eval) when-list548) 
(chi-sequence131 (cons e1546 e2547) r529 w530 s531 mod532) (chi-void145)))) 
tmp543) (syntax-violation #f "source expression failed to match any pattern" 
tmp542))) ($sc-dispatch tmp542 (quote (any each-any any . each-any))))) e528) 
(if (memv t533 (quote (define-form define-syntax-form))) (syntax-violation #f 
"definition in expression context" e528 (wrap129 value527 w530 mod532)) (if 
(memv t533 (quote (syntax))) (syntax-violation #f "reference to pattern 
variable outside syntax form" (source-wrap130 e528 w530 s531 mod532)) (if (memv 
t533 (quote (displaced-lexical))) (syntax-violation #f "reference to identifier 
outside its scope" (source-wrap130 e528 w530 s531 mod532)) (syntax-violation #f 
"unexpected syntax" (source-wrap130 e528 w530 s531 mod532))))))))))))))))))) 
(chi137 (lambda (e551 r552 w553 mod554) (call-with-values (lambda () 
(syntax-type135 e551 r552 w553 #f #f mod554)) (lambda (type555 value556 e557 
w558 s559 mod560) (chi-expr138 type555 value556 e557 r552 w558 s559 mod560))))) 
(chi-top136 (lambda (e561 r562 w563 m564 esew565 mod566) (call-with-values 
(lambda () (syntax-type135 e561 r562 w563 #f #f mod566)) (lambda (type574 
value575 e576 w577 s578 mod579) (let ((t580 type574)) (if (memv t580 (quote 
(begin-form))) ((lambda (tmp581) ((lambda (tmp582) (if tmp582 (apply (lambda 
(_583) (chi-void145)) tmp582) ((lambda (tmp584) (if tmp584 (apply (lambda (_585 
e1586 e2587) (chi-top-sequence132 (cons e1586 e2587) r562 w577 s578 m564 
esew565 mod579)) tmp584) (syntax-violation #f "source expression failed to 
match any pattern" tmp581))) ($sc-dispatch tmp581 (quote (any any . 
each-any)))))) ($sc-dispatch tmp581 (quote (any))))) e576) (if (memv t580 
(quote (local-syntax-form))) (chi-local-syntax143 value575 e576 r562 w577 s578 
mod579 (lambda (body589 r590 w591 s592 mod593) (chi-top-sequence132 body589 
r590 w591 s592 m564 esew565 mod593))) (if (memv t580 (quote (eval-when-form))) 
((lambda (tmp594) ((lambda (tmp595) (if tmp595 (apply (lambda (_596 x597 e1598 
e2599) (let ((when-list600 (chi-when-list134 e576 x597 w577)) (body601 (cons 
e1598 e2599))) (cond ((eq? m564 (quote e)) (if (memq (quote eval) when-list600) 
(chi-top-sequence132 body601 r562 w577 s578 (quote e) (quote (eval)) mod579) 
(chi-void145))) ((memq (quote load) when-list600) (if (or (memq (quote compile) 
when-list600) (and (eq? m564 (quote c&e)) (memq (quote eval) when-list600))) 
(chi-top-sequence132 body601 r562 w577 s578 (quote c&e) (quote (compile load)) 
mod579) (if (memq m564 (quote (c c&e))) (chi-top-sequence132 body601 r562 w577 
s578 (quote c) (quote (load)) mod579) (chi-void145)))) ((or (memq (quote 
compile) when-list600) (and (eq? m564 (quote c&e)) (memq (quote eval) 
when-list600))) (top-level-eval-hook74 (chi-top-sequence132 body601 r562 w577 
s578 (quote e) (quote (eval)) mod579) mod579) (chi-void145)) (else 
(chi-void145))))) tmp595) (syntax-violation #f "source expression failed to 
match any pattern" tmp594))) ($sc-dispatch tmp594 (quote (any each-any any . 
each-any))))) e576) (if (memv t580 (quote (define-syntax-form))) (let ((n604 
(id-var-name123 value575 w577)) (r605 (macros-only-env97 r562))) (let ((t606 
m564)) (if (memv t606 (quote (c))) (if (memq (quote compile) esew565) (let 
((e607 (chi-install-global133 n604 (chi137 e576 r605 w577 mod579)))) (begin 
(top-level-eval-hook74 e607 mod579) (if (memq (quote load) esew565) e607 
(chi-void145)))) (if (memq (quote load) esew565) (chi-install-global133 n604 
(chi137 e576 r605 w577 mod579)) (chi-void145))) (if (memv t606 (quote (c&e))) 
(let ((e608 (chi-install-global133 n604 (chi137 e576 r605 w577 mod579)))) 
(begin (top-level-eval-hook74 e608 mod579) e608)) (begin (if (memq (quote eval) 
esew565) (top-level-eval-hook74 (chi-install-global133 n604 (chi137 e576 r605 
w577 mod579)) mod579)) (chi-void145)))))) (if (memv t580 (quote (define-form))) 
(let ((n609 (id-var-name123 value575 w577))) (let ((type610 (binding-type93 
(lookup98 n609 r562 mod579)))) (let ((t611 type610)) (if (memv t611 (quote 
(global core macro module-ref))) (let ((x612 (build-annotated78 s578 (list 
(quote define) n609 (chi137 e576 r562 w577 mod579))))) (begin (if (eq? m564 
(quote c&e)) (top-level-eval-hook74 x612 mod579)) x612)) (if (memv t611 (quote 
(displaced-lexical))) (syntax-violation #f "identifier out of context" e576 
(wrap129 value575 w577 mod579)) (syntax-violation #f "cannot define keyword at 
top level" e576 (wrap129 value575 w577 mod579))))))) (let ((x613 (chi-expr138 
type574 value575 e576 r562 w577 s578 mod579))) (begin (if (eq? m564 (quote 
c&e)) (top-level-eval-hook74 x613 mod579)) x613)))))))))))) (syntax-type135 
(lambda (e614 r615 w616 s617 rib618 mod619) (cond ((symbol? e614) (let ((n620 
(id-var-name123 e614 w616))) (let ((b621 (lookup98 n620 r615 mod619))) (let 
((type622 (binding-type93 b621))) (let ((t623 type622)) (if (memv t623 (quote 
(lexical))) (values type622 (binding-value94 b621) e614 w616 s617 mod619) (if 
(memv t623 (quote (global))) (values type622 n620 e614 w616 s617 mod619) (if 
(memv t623 (quote (macro))) (syntax-type135 (chi-macro140 (binding-value94 
b621) e614 r615 w616 rib618 mod619) r615 (quote (())) s617 rib618 mod619) 
(values type622 (binding-value94 b621) e614 w616 s617 mod619))))))))) ((pair? 
e614) (let ((first624 (car e614))) (if (id?101 first624) (let ((n625 
(id-var-name123 first624 w616))) (let ((b626 (lookup98 n625 r615 (or (and 
(syntax-object?85 first624) (syntax-object-module88 first624)) mod619)))) (let 
((type627 (binding-type93 b626))) (let ((t628 type627)) (if (memv t628 (quote 
(lexical))) (values (quote lexical-call) (binding-value94 b626) e614 w616 s617 
mod619) (if (memv t628 (quote (global))) (values (quote global-call) n625 e614 
w616 s617 mod619) (if (memv t628 (quote (macro))) (syntax-type135 (chi-macro140 
(binding-value94 b626) e614 r615 w616 rib618 mod619) r615 (quote (())) s617 
rib618 mod619) (if (memv t628 (quote (core external-macro module-ref))) (values 
type627 (binding-value94 b626) e614 w616 s617 mod619) (if (memv t628 (quote 
(local-syntax))) (values (quote local-syntax-form) (binding-value94 b626) e614 
w616 s617 mod619) (if (memv t628 (quote (begin))) (values (quote begin-form) #f 
e614 w616 s617 mod619) (if (memv t628 (quote (eval-when))) (values (quote 
eval-when-form) #f e614 w616 s617 mod619) (if (memv t628 (quote (define))) 
((lambda (tmp629) ((lambda (tmp630) (if (if tmp630 (apply (lambda (_631 name632 
val633) (id?101 name632)) tmp630) #f) (apply (lambda (_634 name635 val636) 
(values (quote define-form) name635 val636 w616 s617 mod619)) tmp630) ((lambda 
(tmp637) (if (if tmp637 (apply (lambda (_638 name639 args640 e1641 e2642) (and 
(id?101 name639) (valid-bound-ids?126 (lambda-var-list150 args640)))) tmp637) 
#f) (apply (lambda (_643 name644 args645 e1646 e2647) (values (quote 
define-form) (wrap129 name644 w616 mod619) (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile))) 
(wrap129 (cons args645 (cons e1646 e2647)) w616 mod619)) (quote (())) s617 
mod619)) tmp637) ((lambda (tmp649) (if (if tmp649 (apply (lambda (_650 name651) 
(id?101 name651)) tmp649) #f) (apply (lambda (_652 name653) (values (quote 
define-form) (wrap129 name653 w616 mod619) (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile)))) (quote 
(())) s617 mod619)) tmp649) (syntax-violation #f "source expression failed to 
match any pattern" tmp629))) ($sc-dispatch tmp629 (quote (any any)))))) 
($sc-dispatch tmp629 (quote (any (any . any) any . each-any)))))) ($sc-dispatch 
tmp629 (quote (any any any))))) e614) (if (memv t628 (quote (define-syntax))) 
((lambda (tmp654) ((lambda (tmp655) (if (if tmp655 (apply (lambda (_656 name657 
val658) (id?101 name657)) tmp655) #f) (apply (lambda (_659 name660 val661) 
(values (quote define-syntax-form) name660 val661 w616 s617 mod619)) tmp655) 
(syntax-violation #f "source expression failed to match any pattern" tmp654))) 
($sc-dispatch tmp654 (quote (any any any))))) e614) (values (quote call) #f 
e614 w616 s617 mod619)))))))))))))) (values (quote call) #f e614 w616 s617 
mod619)))) ((syntax-object?85 e614) (syntax-type135 (syntax-object-expression86 
e614) r615 (join-wraps120 w616 (syntax-object-wrap87 e614)) #f rib618 (or 
(syntax-object-module88 e614) mod619))) ((annotation? e614) (syntax-type135 
(annotation-expression e614) r615 w616 (annotation-source e614) rib618 mod619)) 
((self-evaluating? e614) (values (quote constant) #f e614 w616 s617 mod619)) 
(else (values (quote other) #f e614 w616 s617 mod619))))) (chi-when-list134 
(lambda (e662 when-list663 w664) (let f665 ((when-list666 when-list663) 
(situations667 (quote ()))) (if (null? when-list666) situations667 (f665 (cdr 
when-list666) (cons (let ((x668 (car when-list666))) (cond ((free-id=?124 x668 
(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 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)) ("i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i")) #(ribcage (define-structure and-map*) ((top) (top)) 
("i" "i"))) (hygiene guile)))) (quote compile)) ((free-id=?124 x668 (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile)))) (quote 
load)) ((free-id=?124 x668 (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile)))) (quote 
eval)) (else (syntax-violation (quote eval-when) "invalid situation" e662 
(wrap129 x668 w664 #f))))) situations667)))))) (chi-install-global133 (lambda 
(name669 e670) (build-annotated78 #f (list (build-annotated78 #f (quote 
define)) name669 (if (let ((v671 (module-variable (current-module) name669))) 
(and v671 (variable-bound? v671) (macro? (variable-ref v671)) (not (eq? 
(macro-type (variable-ref v671)) (quote syncase-macro))))) (build-annotated78 
#f (list (build-annotated78 #f (quote make-extended-syncase-macro)) 
(build-annotated78 #f (list (build-annotated78 #f (quote module-ref)) 
(build-annotated78 #f (quote (current-module))) (build-data79 #f name669))) 
(build-data79 #f (quote macro)) e670)) (build-annotated78 #f (list 
(build-annotated78 #f (quote make-syncase-macro)) (build-data79 #f (quote 
macro)) e670))))))) (chi-top-sequence132 (lambda (body672 r673 w674 s675 m676 
esew677 mod678) (build-sequence80 s675 (let dobody679 ((body680 body672) (r681 
r673) (w682 w674) (m683 m676) (esew684 esew677) (mod685 mod678)) (if (null? 
body680) (quote ()) (let ((first686 (chi-top136 (car body680) r681 w682 m683 
esew684 mod685))) (cons first686 (dobody679 (cdr body680) r681 w682 m683 
esew684 mod685)))))))) (chi-sequence131 (lambda (body687 r688 w689 s690 mod691) 
(build-sequence80 s690 (let dobody692 ((body693 body687) (r694 r688) (w695 
w689) (mod696 mod691)) (if (null? body693) (quote ()) (let ((first697 (chi137 
(car body693) r694 w695 mod696))) (cons first697 (dobody692 (cdr body693) r694 
w695 mod696)))))))) (source-wrap130 (lambda (x698 w699 s700 defmod701) (wrap129 
(if s700 (make-annotation x698 s700 #f) x698) w699 defmod701))) (wrap129 
(lambda (x702 w703 defmod704) (cond ((and (null? (wrap-marks104 w703)) (null? 
(wrap-subst105 w703))) x702) ((syntax-object?85 x702) (make-syntax-object84 
(syntax-object-expression86 x702) (join-wraps120 w703 (syntax-object-wrap87 
x702)) (syntax-object-module88 x702))) ((null? x702) x702) (else 
(make-syntax-object84 x702 w703 defmod704))))) (bound-id-member?128 (lambda 
(x705 list706) (and (not (null? list706)) (or (bound-id=?125 x705 (car 
list706)) (bound-id-member?128 x705 (cdr list706)))))) (distinct-bound-ids?127 
(lambda (ids707) (let distinct?708 ((ids709 ids707)) (or (null? ids709) (and 
(not (bound-id-member?128 (car ids709) (cdr ids709))) (distinct?708 (cdr 
ids709))))))) (valid-bound-ids?126 (lambda (ids710) (and (let all-ids?711 
((ids712 ids710)) (or (null? ids712) (and (id?101 (car ids712)) (all-ids?711 
(cdr ids712))))) (distinct-bound-ids?127 ids710)))) (bound-id=?125 (lambda 
(i713 j714) (if (and (syntax-object?85 i713) (syntax-object?85 j714)) (and (eq? 
(let ((e715 (syntax-object-expression86 i713))) (if (annotation? e715) 
(annotation-expression e715) e715)) (let ((e716 (syntax-object-expression86 
j714))) (if (annotation? e716) (annotation-expression e716) e716))) 
(same-marks?122 (wrap-marks104 (syntax-object-wrap87 i713)) (wrap-marks104 
(syntax-object-wrap87 j714)))) (eq? (let ((e717 i713)) (if (annotation? e717) 
(annotation-expression e717) e717)) (let ((e718 j714)) (if (annotation? e718) 
(annotation-expression e718) e718)))))) (free-id=?124 (lambda (i719 j720) (and 
(eq? (let ((x721 i719)) (let ((e722 (if (syntax-object?85 x721) 
(syntax-object-expression86 x721) x721))) (if (annotation? e722) 
(annotation-expression e722) e722))) (let ((x723 j720)) (let ((e724 (if 
(syntax-object?85 x723) (syntax-object-expression86 x723) x723))) (if 
(annotation? e724) (annotation-expression e724) e724)))) (eq? (id-var-name123 
i719 (quote (()))) (id-var-name123 j720 (quote (()))))))) (id-var-name123 
(lambda (id725 w726) (letrec ((search-vector-rib729 (lambda (sym735 subst736 
marks737 symnames738 ribcage739) (let ((n740 (vector-length symnames738))) (let 
f741 ((i742 0)) (cond ((fx=72 i742 n740) (search727 sym735 (cdr subst736) 
marks737)) ((and (eq? (vector-ref symnames738 i742) sym735) (same-marks?122 
marks737 (vector-ref (ribcage-marks111 ribcage739) i742))) (values (vector-ref 
(ribcage-labels112 ribcage739) i742) marks737)) (else (f741 (fx+70 i742 
1)))))))) (search-list-rib728 (lambda (sym743 subst744 marks745 symnames746 
ribcage747) (let f748 ((symnames749 symnames746) (i750 0)) (cond ((null? 
symnames749) (search727 sym743 (cdr subst744) marks745)) ((and (eq? (car 
symnames749) sym743) (same-marks?122 marks745 (list-ref (ribcage-marks111 
ribcage747) i750))) (values (list-ref (ribcage-labels112 ribcage747) i750) 
marks745)) (else (f748 (cdr symnames749) (fx+70 i750 1))))))) (search727 
(lambda (sym751 subst752 marks753) (if (null? subst752) (values #f marks753) 
(let ((fst754 (car subst752))) (if (eq? fst754 (quote shift)) (search727 sym751 
(cdr subst752) (cdr marks753)) (let ((symnames755 (ribcage-symnames110 
fst754))) (if (vector? symnames755) (search-vector-rib729 sym751 subst752 
marks753 symnames755 fst754) (search-list-rib728 sym751 subst752 marks753 
symnames755 fst754))))))))) (cond ((symbol? id725) (or (call-with-values 
(lambda () (search727 id725 (wrap-subst105 w726) (wrap-marks104 w726))) (lambda 
(x757 . ignore756) x757)) id725)) ((syntax-object?85 id725) (let ((id758 (let 
((e760 (syntax-object-expression86 id725))) (if (annotation? e760) 
(annotation-expression e760) e760))) (w1759 (syntax-object-wrap87 id725))) (let 
((marks761 (join-marks121 (wrap-marks104 w726) (wrap-marks104 w1759)))) 
(call-with-values (lambda () (search727 id758 (wrap-subst105 w726) marks761)) 
(lambda (new-id762 marks763) (or new-id762 (call-with-values (lambda () 
(search727 id758 (wrap-subst105 w1759) marks763)) (lambda (x765 . ignore764) 
x765)) id758)))))) ((annotation? id725) (let ((id766 (let ((e767 id725)) (if 
(annotation? e767) (annotation-expression e767) e767)))) (or (call-with-values 
(lambda () (search727 id766 (wrap-subst105 w726) (wrap-marks104 w726))) (lambda 
(x769 . ignore768) x769)) id766))) (else (syntax-violation (quote id-var-name) 
"invalid id" id725)))))) (same-marks?122 (lambda (x770 y771) (or (eq? x770 
y771) (and (not (null? x770)) (not (null? y771)) (eq? (car x770) (car y771)) 
(same-marks?122 (cdr x770) (cdr y771)))))) (join-marks121 (lambda (m1772 m2773) 
(smart-append119 m1772 m2773))) (join-wraps120 (lambda (w1774 w2775) (let 
((m1776 (wrap-marks104 w1774)) (s1777 (wrap-subst105 w1774))) (if (null? m1776) 
(if (null? s1777) w2775 (make-wrap103 (wrap-marks104 w2775) (smart-append119 
s1777 (wrap-subst105 w2775)))) (make-wrap103 (smart-append119 m1776 
(wrap-marks104 w2775)) (smart-append119 s1777 (wrap-subst105 w2775))))))) 
(smart-append119 (lambda (m1778 m2779) (if (null? m2779) m1778 (append m1778 
m2779)))) (make-binding-wrap118 (lambda (ids780 labels781 w782) (if (null? 
ids780) w782 (make-wrap103 (wrap-marks104 w782) (cons (let ((labelvec783 
(list->vector labels781))) (let ((n784 (vector-length labelvec783))) (let 
((symnamevec785 (make-vector n784)) (marksvec786 (make-vector n784))) (begin 
(let f787 ((ids788 ids780) (i789 0)) (if (not (null? ids788)) (call-with-values 
(lambda () (id-sym-name&marks102 (car ids788) w782)) (lambda (symname790 
marks791) (begin (vector-set! symnamevec785 i789 symname790) (vector-set! 
marksvec786 i789 marks791) (f787 (cdr ids788) (fx+70 i789 1))))))) 
(make-ribcage108 symnamevec785 marksvec786 labelvec783))))) (wrap-subst105 
w782)))))) (extend-ribcage!117 (lambda (ribcage792 id793 label794) (begin 
(set-ribcage-symnames!113 ribcage792 (cons (let ((e795 
(syntax-object-expression86 id793))) (if (annotation? e795) 
(annotation-expression e795) e795)) (ribcage-symnames110 ribcage792))) 
(set-ribcage-marks!114 ribcage792 (cons (wrap-marks104 (syntax-object-wrap87 
id793)) (ribcage-marks111 ribcage792))) (set-ribcage-labels!115 ribcage792 
(cons label794 (ribcage-labels112 ribcage792)))))) (anti-mark116 (lambda (w796) 
(make-wrap103 (cons #f (wrap-marks104 w796)) (cons (quote shift) (wrap-subst105 
w796))))) (set-ribcage-labels!115 (lambda (x797 update798) (vector-set! x797 3 
update798))) (set-ribcage-marks!114 (lambda (x799 update800) (vector-set! x799 
2 update800))) (set-ribcage-symnames!113 (lambda (x801 update802) (vector-set! 
x801 1 update802))) (ribcage-labels112 (lambda (x803) (vector-ref x803 3))) 
(ribcage-marks111 (lambda (x804) (vector-ref x804 2))) (ribcage-symnames110 
(lambda (x805) (vector-ref x805 1))) (ribcage?109 (lambda (x806) (and (vector? 
x806) (= (vector-length x806) 4) (eq? (vector-ref x806 0) (quote ribcage))))) 
(make-ribcage108 (lambda (symnames807 marks808 labels809) (vector (quote 
ribcage) symnames807 marks808 labels809))) (gen-labels107 (lambda (ls810) (if 
(null? ls810) (quote ()) (cons (gen-label106) (gen-labels107 (cdr ls810)))))) 
(gen-label106 (lambda () (string #\i))) (wrap-subst105 cdr) (wrap-marks104 car) 
(make-wrap103 cons) (id-sym-name&marks102 (lambda (x811 w812) (if 
(syntax-object?85 x811) (values (let ((e813 (syntax-object-expression86 x811))) 
(if (annotation? e813) (annotation-expression e813) e813)) (join-marks121 
(wrap-marks104 w812) (wrap-marks104 (syntax-object-wrap87 x811)))) (values (let 
((e814 x811)) (if (annotation? e814) (annotation-expression e814) e814)) 
(wrap-marks104 w812))))) (id?101 (lambda (x815) (cond ((symbol? x815) #t) 
((syntax-object?85 x815) (symbol? (let ((e816 (syntax-object-expression86 
x815))) (if (annotation? e816) (annotation-expression e816) e816)))) 
((annotation? x815) (symbol? (annotation-expression x815))) (else #f)))) 
(nonsymbol-id?100 (lambda (x817) (and (syntax-object?85 x817) (symbol? (let 
((e818 (syntax-object-expression86 x817))) (if (annotation? e818) 
(annotation-expression e818) e818)))))) (global-extend99 (lambda (type819 
sym820 val821) (put-global-definition-hook76 sym820 type819 val821))) (lookup98 
(lambda (x822 r823 mod824) (cond ((assq x822 r823) => cdr) ((symbol? x822) (or 
(get-global-definition-hook77 x822 mod824) (quote (global)))) (else (quote 
(displaced-lexical)))))) (macros-only-env97 (lambda (r825) (if (null? r825) 
(quote ()) (let ((a826 (car r825))) (if (eq? (cadr a826) (quote macro)) (cons 
a826 (macros-only-env97 (cdr r825))) (macros-only-env97 (cdr r825))))))) 
(extend-var-env96 (lambda (labels827 vars828 r829) (if (null? labels827) r829 
(extend-var-env96 (cdr labels827) (cdr vars828) (cons (cons (car labels827) 
(cons (quote lexical) (car vars828))) r829))))) (extend-env95 (lambda 
(labels830 bindings831 r832) (if (null? labels830) r832 (extend-env95 (cdr 
labels830) (cdr bindings831) (cons (cons (car labels830) (car bindings831)) 
r832))))) (binding-value94 cdr) (binding-type93 car) (source-annotation92 
(lambda (x833) (cond ((annotation? x833) (annotation-source x833)) 
((syntax-object?85 x833) (source-annotation92 (syntax-object-expression86 
x833))) (else #f)))) (set-syntax-object-module!91 (lambda (x834 update835) 
(vector-set! x834 3 update835))) (set-syntax-object-wrap!90 (lambda (x836 
update837) (vector-set! x836 2 update837))) (set-syntax-object-expression!89 
(lambda (x838 update839) (vector-set! x838 1 update839))) 
(syntax-object-module88 (lambda (x840) (vector-ref x840 3))) 
(syntax-object-wrap87 (lambda (x841) (vector-ref x841 2))) 
(syntax-object-expression86 (lambda (x842) (vector-ref x842 1))) 
(syntax-object?85 (lambda (x843) (and (vector? x843) (= (vector-length x843) 4) 
(eq? (vector-ref x843 0) (quote syntax-object))))) (make-syntax-object84 
(lambda (expression844 wrap845 module846) (vector (quote syntax-object) 
expression844 wrap845 module846))) (build-letrec83 (lambda (src847 vars848 
val-exps849 body-exp850) (if (null? vars848) (build-annotated78 src847 
body-exp850) (build-annotated78 src847 (list (quote letrec) (map list vars848 
val-exps849) body-exp850))))) (build-named-let82 (lambda (src851 vars852 
val-exps853 body-exp854) (if (null? vars852) (build-annotated78 src851 
body-exp854) (build-annotated78 src851 (list (quote let) (car vars852) (map 
list (cdr vars852) val-exps853) body-exp854))))) (build-let81 (lambda (src855 
vars856 val-exps857 body-exp858) (if (null? vars856) (build-annotated78 src855 
body-exp858) (build-annotated78 src855 (list (quote let) (map list vars856 
val-exps857) body-exp858))))) (build-sequence80 (lambda (src859 exps860) (if 
(null? (cdr exps860)) (build-annotated78 src859 (car exps860)) 
(build-annotated78 src859 (cons (quote begin) exps860))))) (build-data79 
(lambda (src861 exp862) (if (and (self-evaluating? exp862) (not (vector? 
exp862))) (build-annotated78 src861 exp862) (build-annotated78 src861 (list 
(quote quote) exp862))))) (build-annotated78 (lambda (src863 exp864) (if (and 
src863 (not (annotation? exp864))) (make-annotation exp864 src863 #t) exp864))) 
(get-global-definition-hook77 (lambda (symbol865 module866) (begin (if (and 
(not module866) (current-module)) (warn "module system is booted, we should 
have a module" symbol865)) (let ((v867 (module-variable (if module866 
(resolve-module (cdr module866)) (current-module)) symbol865))) (and v867 
(variable-bound? v867) (let ((val868 (variable-ref v867))) (and (macro? val868) 
(syncase-macro-type val868) (cons (syncase-macro-type val868) 
(syncase-macro-binding val868))))))))) (put-global-definition-hook76 (lambda 
(symbol869 type870 val871) (let ((existing872 (let ((v873 (module-variable 
(current-module) symbol869))) (and v873 (variable-bound? v873) (let ((val874 
(variable-ref v873))) (and (macro? val874) (not (syncase-macro-type val874)) 
val874)))))) (module-define! (current-module) symbol869 (if existing872 
(make-extended-syncase-macro existing872 type870 val871) (make-syncase-macro 
type870 val871)))))) (local-eval-hook75 (lambda (x875 mod876) (primitive-eval 
(list noexpand69 x875)))) (top-level-eval-hook74 (lambda (x877 mod878) 
(primitive-eval (list noexpand69 x877)))) (fx<73 <) (fx=72 =) (fx-71 -) (fx+70 
+) (noexpand69 "noexpand")) (begin (global-extend99 (quote local-syntax) (quote 
letrec-syntax) #t) (global-extend99 (quote local-syntax) (quote let-syntax) #f) 
(global-extend99 (quote core) (quote fluid-let-syntax) (lambda (e879 r880 w881 
s882 mod883) ((lambda (tmp884) ((lambda (tmp885) (if (if tmp885 (apply (lambda 
(_886 var887 val888 e1889 e2890) (valid-bound-ids?126 var887)) tmp885) #f) 
(apply (lambda (_892 var893 val894 e1895 e2896) (let ((names897 (map (lambda 
(x898) (id-var-name123 x898 w881)) var893))) (begin (for-each (lambda (id900 
n901) (let ((t902 (binding-type93 (lookup98 n901 r880 mod883)))) (if (memv t902 
(quote (displaced-lexical))) (syntax-violation (quote fluid-let-syntax) 
"identifier out of context" e879 (source-wrap130 id900 w881 s882 mod883))))) 
var893 names897) (chi-body141 (cons e1895 e2896) (source-wrap130 e879 w881 s882 
mod883) (extend-env95 names897 (let ((trans-r905 (macros-only-env97 r880))) 
(map (lambda (x906) (cons (quote macro) (eval-local-transformer144 (chi137 x906 
trans-r905 w881 mod883) mod883))) val894)) r880) w881 mod883)))) tmp885) 
((lambda (_908) (syntax-violation (quote fluid-let-syntax) "bad syntax" 
(source-wrap130 e879 w881 s882 mod883))) tmp884))) ($sc-dispatch tmp884 (quote 
(any #(each (any any)) any . each-any))))) e879))) (global-extend99 (quote 
core) (quote quote) (lambda (e909 r910 w911 s912 mod913) ((lambda (tmp914) 
((lambda (tmp915) (if tmp915 (apply (lambda (_916 e917) (build-data79 s912 
(strip148 e917 w911))) tmp915) ((lambda (_918) (syntax-violation (quote quote) 
"bad syntax" (source-wrap130 e909 w911 s912 mod913))) tmp914))) ($sc-dispatch 
tmp914 (quote (any any))))) e909))) (global-extend99 (quote core) (quote 
syntax) (letrec ((regen926 (lambda (x927) (let ((t928 (car x927))) (if (memv 
t928 (quote (ref))) (build-annotated78 #f (cadr x927)) (if (memv t928 (quote 
(primitive))) (build-annotated78 #f (cadr x927)) (if (memv t928 (quote 
(quote))) (build-data79 #f (cadr x927)) (if (memv t928 (quote (lambda))) 
(build-annotated78 #f (list (quote lambda) (cadr x927) (regen926 (caddr 
x927)))) (if (memv t928 (quote (map))) (let ((ls929 (map regen926 (cdr x927)))) 
(build-annotated78 #f (cons (if (fx=72 (length ls929) 2) (build-annotated78 #f 
(quote map)) (build-annotated78 #f (quote map))) ls929))) (build-annotated78 #f 
(cons (build-annotated78 #f (car x927)) (map regen926 (cdr x927)))))))))))) 
(gen-vector925 (lambda (x930) (cond ((eq? (car x930) (quote list)) (cons (quote 
vector) (cdr x930))) ((eq? (car x930) (quote quote)) (list (quote quote) 
(list->vector (cadr x930)))) (else (list (quote list->vector) x930))))) 
(gen-append924 (lambda (x931 y932) (if (equal? y932 (quote (quote ()))) x931 
(list (quote append) x931 y932)))) (gen-cons923 (lambda (x933 y934) (let ((t935 
(car y934))) (if (memv t935 (quote (quote))) (if (eq? (car x933) (quote quote)) 
(list (quote quote) (cons (cadr x933) (cadr y934))) (if (eq? (cadr y934) (quote 
())) (list (quote list) x933) (list (quote cons) x933 y934))) (if (memv t935 
(quote (list))) (cons (quote list) (cons x933 (cdr y934))) (list (quote cons) 
x933 y934)))))) (gen-map922 (lambda (e936 map-env937) (let ((formals938 (map 
cdr map-env937)) (actuals939 (map (lambda (x940) (list (quote ref) (car x940))) 
map-env937))) (cond ((eq? (car e936) (quote ref)) (car actuals939)) ((and-map 
(lambda (x941) (and (eq? (car x941) (quote ref)) (memq (cadr x941) 
formals938))) (cdr e936)) (cons (quote map) (cons (list (quote primitive) (car 
e936)) (map (let ((r942 (map cons formals938 actuals939))) (lambda (x943) (cdr 
(assq (cadr x943) r942)))) (cdr e936))))) (else (cons (quote map) (cons (list 
(quote lambda) formals938 e936) actuals939))))))) (gen-mappend921 (lambda (e944 
map-env945) (list (quote apply) (quote (primitive append)) (gen-map922 e944 
map-env945)))) (gen-ref920 (lambda (src946 var947 level948 maps949) (if (fx=72 
level948 0) (values var947 maps949) (if (null? maps949) (syntax-violation 
(quote syntax) "missing ellipsis" src946) (call-with-values (lambda () 
(gen-ref920 src946 var947 (fx-71 level948 1) (cdr maps949))) (lambda 
(outer-var950 outer-maps951) (let ((b952 (assq outer-var950 (car maps949)))) 
(if b952 (values (cdr b952) maps949) (let ((inner-var953 (gen-var149 (quote 
tmp)))) (values inner-var953 (cons (cons (cons outer-var950 inner-var953) (car 
maps949)) outer-maps951))))))))))) (gen-syntax919 (lambda (src954 e955 r956 
maps957 ellipsis?958 mod959) (if (id?101 e955) (let ((label960 (id-var-name123 
e955 (quote (()))))) (let ((b961 (lookup98 label960 r956 mod959))) (if (eq? 
(binding-type93 b961) (quote syntax)) (call-with-values (lambda () (let 
((var.lev962 (binding-value94 b961))) (gen-ref920 src954 (car var.lev962) (cdr 
var.lev962) maps957))) (lambda (var963 maps964) (values (list (quote ref) 
var963) maps964))) (if (ellipsis?958 e955) (syntax-violation (quote syntax) 
"misplaced ellipsis" src954) (values (list (quote quote) e955) maps957))))) 
((lambda (tmp965) ((lambda (tmp966) (if (if tmp966 (apply (lambda (dots967 
e968) (ellipsis?958 dots967)) tmp966) #f) (apply (lambda (dots969 e970) 
(gen-syntax919 src954 e970 r956 maps957 (lambda (x971) #f) mod959)) tmp966) 
((lambda (tmp972) (if (if tmp972 (apply (lambda (x973 dots974 y975) 
(ellipsis?958 dots974)) tmp972) #f) (apply (lambda (x976 dots977 y978) (let 
f979 ((y980 y978) (k981 (lambda (maps982) (call-with-values (lambda () 
(gen-syntax919 src954 x976 r956 (cons (quote ()) maps982) ellipsis?958 mod959)) 
(lambda (x983 maps984) (if (null? (car maps984)) (syntax-violation (quote 
syntax) "extra ellipsis" src954) (values (gen-map922 x983 (car maps984)) (cdr 
maps984)))))))) ((lambda (tmp985) ((lambda (tmp986) (if (if tmp986 (apply 
(lambda (dots987 y988) (ellipsis?958 dots987)) tmp986) #f) (apply (lambda 
(dots989 y990) (f979 y990 (lambda (maps991) (call-with-values (lambda () (k981 
(cons (quote ()) maps991))) (lambda (x992 maps993) (if (null? (car maps993)) 
(syntax-violation (quote syntax) "extra ellipsis" src954) (values 
(gen-mappend921 x992 (car maps993)) (cdr maps993)))))))) tmp986) ((lambda 
(_994) (call-with-values (lambda () (gen-syntax919 src954 y980 r956 maps957 
ellipsis?958 mod959)) (lambda (y995 maps996) (call-with-values (lambda () (k981 
maps996)) (lambda (x997 maps998) (values (gen-append924 x997 y995) 
maps998)))))) tmp985))) ($sc-dispatch tmp985 (quote (any . any))))) y980))) 
tmp972) ((lambda (tmp999) (if tmp999 (apply (lambda (x1000 y1001) 
(call-with-values (lambda () (gen-syntax919 src954 x1000 r956 maps957 
ellipsis?958 mod959)) (lambda (x1002 maps1003) (call-with-values (lambda () 
(gen-syntax919 src954 y1001 r956 maps1003 ellipsis?958 mod959)) (lambda (y1004 
maps1005) (values (gen-cons923 x1002 y1004) maps1005)))))) tmp999) ((lambda 
(tmp1006) (if tmp1006 (apply (lambda (e11007 e21008) (call-with-values (lambda 
() (gen-syntax919 src954 (cons e11007 e21008) r956 maps957 ellipsis?958 
mod959)) (lambda (e1010 maps1011) (values (gen-vector925 e1010) maps1011)))) 
tmp1006) ((lambda (_1012) (values (list (quote quote) e955) maps957)) tmp965))) 
($sc-dispatch tmp965 (quote #(vector (any . each-any))))))) ($sc-dispatch 
tmp965 (quote (any . any)))))) ($sc-dispatch tmp965 (quote (any any . any)))))) 
($sc-dispatch tmp965 (quote (any any))))) e955))))) (lambda (e1013 r1014 w1015 
s1016 mod1017) (let ((e1018 (source-wrap130 e1013 w1015 s1016 mod1017))) 
((lambda (tmp1019) ((lambda (tmp1020) (if tmp1020 (apply (lambda (_1021 x1022) 
(call-with-values (lambda () (gen-syntax919 e1018 x1022 r1014 (quote ()) 
ellipsis?146 mod1017)) (lambda (e1023 maps1024) (regen926 e1023)))) tmp1020) 
((lambda (_1025) (syntax-violation (quote syntax) "bad `syntax' form" e1018)) 
tmp1019))) ($sc-dispatch tmp1019 (quote (any any))))) e1018))))) 
(global-extend99 (quote core) (quote lambda) (lambda (e1026 r1027 w1028 s1029 
mod1030) ((lambda (tmp1031) ((lambda (tmp1032) (if tmp1032 (apply (lambda 
(_1033 c1034) (chi-lambda-clause142 (source-wrap130 e1026 w1028 s1029 mod1030) 
#f c1034 r1027 w1028 mod1030 (lambda (vars1035 docstring1036 body1037) 
(build-annotated78 s1029 (cons (quote lambda) (cons vars1035 (append (if 
docstring1036 (list docstring1036) (quote ())) (list body1037)))))))) tmp1032) 
(syntax-violation #f "source expression failed to match any pattern" tmp1031))) 
($sc-dispatch tmp1031 (quote (any . any))))) e1026))) (global-extend99 (quote 
core) (quote let) (letrec ((chi-let1038 (lambda (e1039 r1040 w1041 s1042 
mod1043 constructor1044 ids1045 vals1046 exps1047) (if (not 
(valid-bound-ids?126 ids1045)) (syntax-violation (quote let) "duplicate bound 
variable" e1039) (let ((labels1048 (gen-labels107 ids1045)) (new-vars1049 (map 
gen-var149 ids1045))) (let ((nw1050 (make-binding-wrap118 ids1045 labels1048 
w1041)) (nr1051 (extend-var-env96 labels1048 new-vars1049 r1040))) 
(constructor1044 s1042 new-vars1049 (map (lambda (x1052) (chi137 x1052 r1040 
w1041 mod1043)) vals1046) (chi-body141 exps1047 (source-wrap130 e1039 nw1050 
s1042 mod1043) nr1051 nw1050 mod1043)))))))) (lambda (e1053 r1054 w1055 s1056 
mod1057) ((lambda (tmp1058) ((lambda (tmp1059) (if tmp1059 (apply (lambda 
(_1060 id1061 val1062 e11063 e21064) (chi-let1038 e1053 r1054 w1055 s1056 
mod1057 build-let81 id1061 val1062 (cons e11063 e21064))) tmp1059) ((lambda 
(tmp1068) (if (if tmp1068 (apply (lambda (_1069 f1070 id1071 val1072 e11073 
e21074) (id?101 f1070)) tmp1068) #f) (apply (lambda (_1075 f1076 id1077 val1078 
e11079 e21080) (chi-let1038 e1053 r1054 w1055 s1056 mod1057 build-named-let82 
(cons f1076 id1077) val1078 (cons e11079 e21080))) tmp1068) ((lambda (_1084) 
(syntax-violation (quote let) "bad let" (source-wrap130 e1053 w1055 s1056 
mod1057))) tmp1058))) ($sc-dispatch tmp1058 (quote (any any #(each (any any)) 
any . each-any)))))) ($sc-dispatch tmp1058 (quote (any #(each (any any)) any . 
each-any))))) e1053)))) (global-extend99 (quote core) (quote letrec) (lambda 
(e1085 r1086 w1087 s1088 mod1089) ((lambda (tmp1090) ((lambda (tmp1091) (if 
tmp1091 (apply (lambda (_1092 id1093 val1094 e11095 e21096) (let ((ids1097 
id1093)) (if (not (valid-bound-ids?126 ids1097)) (syntax-violation (quote 
letrec) "duplicate bound variable" e1085) (let ((labels1099 (gen-labels107 
ids1097)) (new-vars1100 (map gen-var149 ids1097))) (let ((w1101 
(make-binding-wrap118 ids1097 labels1099 w1087)) (r1102 (extend-var-env96 
labels1099 new-vars1100 r1086))) (build-letrec83 s1088 new-vars1100 (map 
(lambda (x1103) (chi137 x1103 r1102 w1101 mod1089)) val1094) (chi-body141 (cons 
e11095 e21096) (source-wrap130 e1085 w1101 s1088 mod1089) r1102 w1101 
mod1089))))))) tmp1091) ((lambda (_1106) (syntax-violation (quote letrec) "bad 
letrec" (source-wrap130 e1085 w1087 s1088 mod1089))) tmp1090))) ($sc-dispatch 
tmp1090 (quote (any #(each (any any)) any . each-any))))) e1085))) 
(global-extend99 (quote core) (quote set!) (lambda (e1107 r1108 w1109 s1110 
mod1111) ((lambda (tmp1112) ((lambda (tmp1113) (if (if tmp1113 (apply (lambda 
(_1114 id1115 val1116) (id?101 id1115)) tmp1113) #f) (apply (lambda (_1117 
id1118 val1119) (let ((val1120 (chi137 val1119 r1108 w1109 mod1111)) (n1121 
(id-var-name123 id1118 w1109))) (let ((b1122 (lookup98 n1121 r1108 mod1111))) 
(let ((t1123 (binding-type93 b1122))) (if (memv t1123 (quote (lexical))) 
(build-annotated78 s1110 (list (quote set!) (binding-value94 b1122) val1120)) 
(if (memv t1123 (quote (global))) (build-annotated78 s1110 (list (quote set!) 
(if mod1111 (make-module-ref (cdr mod1111) n1121 (car mod1111)) 
(make-module-ref mod1111 n1121 (quote bare))) val1120)) (if (memv t1123 (quote 
(displaced-lexical))) (syntax-violation (quote set!) "identifier out of 
context" (wrap129 id1118 w1109 mod1111)) (syntax-violation (quote set!) "bad 
set!" (source-wrap130 e1107 w1109 s1110 mod1111))))))))) tmp1113) ((lambda 
(tmp1124) (if tmp1124 (apply (lambda (_1125 head1126 tail1127 val1128) 
(call-with-values (lambda () (syntax-type135 head1126 r1108 (quote (())) #f #f 
mod1111)) (lambda (type1129 value1130 ee1131 ww1132 ss1133 modmod1134) (let 
((t1135 type1129)) (if (memv t1135 (quote (module-ref))) (let ((val1136 (chi137 
val1128 r1108 w1109 mod1111))) (call-with-values (lambda () (value1130 (cons 
head1126 tail1127))) (lambda (id1138 mod1139) (build-annotated78 s1110 (list 
(quote set!) (if mod1139 (make-module-ref (cdr mod1139) id1138 (car mod1139)) 
(make-module-ref mod1139 id1138 (quote bare))) val1136))))) (build-annotated78 
s1110 (cons (chi137 (list (quote #(syntax-object setter ((top) #(ribcage () () 
()) #(ribcage #(t) #(("m" top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) 
#(ribcage #(type value ee ww ss modmod) #((top) (top) (top) (top) (top) (top)) 
#("i" "i" "i" "i" "i" "i")) #(ribcage #(_ head tail val) #((top) (top) (top) 
(top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(e r w s mod) #((top) 
(top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage (lambda-var-list 
gen-var strip strip-annotation ellipsis? chi-void eval-local-transformer 
chi-local-syntax chi-lambda-clause chi-body chi-macro chi-application chi-expr 
chi chi-top syntax-type chi-when-list chi-install-global chi-top-sequence 
chi-sequence source-wrap wrap bound-id-member? distinct-bound-ids? 
valid-bound-ids? bound-id=? free-id=? id-var-name same-marks? join-marks 
join-wraps smart-append make-binding-wrap extend-ribcage! make-empty-ribcage 
new-mark anti-mark the-anti-mark top-marked? top-wrap empty-wrap 
set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels 
ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels gen-label 
make-rename rename-marks rename-new rename-old subst-rename? wrap-subst 
wrap-marks make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? 
global-extend lookup macros-only-env extend-var-env extend-env null-env 
binding-value binding-type make-binding arg-check source-annotation no-source 
unannotate set-syntax-object-module! set-syntax-object-wrap! 
set-syntax-object-expression! syntax-object-module syntax-object-wrap 
syntax-object-expression syntax-object? make-syntax-object build-lexical-var 
build-letrec build-named-let build-let build-sequence build-data build-primref 
build-lambda build-global-definition build-global-assignment 
build-global-reference build-lexical-assignment build-lexical-reference 
build-conditional build-application build-annotated get-global-definition-hook 
put-global-definition-hook gensym-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)) ("i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i")) #(ribcage (define-structure and-map*) ((top) (top)) 
("i" "i"))) (hygiene guile))) head1126) r1108 w1109 mod1111) (map (lambda 
(e1140) (chi137 e1140 r1108 w1109 mod1111)) (append tail1127 (list 
val1128)))))))))) tmp1124) ((lambda (_1142) (syntax-violation (quote set!) "bad 
set!" (source-wrap130 e1107 w1109 s1110 mod1111))) tmp1112))) ($sc-dispatch 
tmp1112 (quote (any (any . each-any) any)))))) ($sc-dispatch tmp1112 (quote 
(any any any))))) e1107))) (global-extend99 (quote module-ref) (quote @) 
(lambda (e1143) ((lambda (tmp1144) ((lambda (tmp1145) (if (if tmp1145 (apply 
(lambda (_1146 mod1147 id1148) (and (and-map id?101 mod1147) (id?101 id1148))) 
tmp1145) #f) (apply (lambda (_1150 mod1151 id1152) (values (syntax->datum 
id1152) (syntax->datum (cons (quote #(syntax-object public ((top) #(ribcage #(_ 
mod id) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(e) 
#((top)) #("i")) #(ribcage (lambda-var-list gen-var strip strip-annotation 
ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 
chi-body chi-macro chi-application chi-expr chi chi-top syntax-type 
chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap 
bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? 
id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap 
extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? 
top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! 
set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? 
make-ribcage gen-labels gen-label make-rename rename-marks rename-new 
rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks 
id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env 
extend-var-env extend-env null-env binding-value binding-type make-binding 
arg-check source-annotation no-source unannotate set-syntax-object-module! 
set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module 
syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object 
build-lexical-var build-letrec build-named-let build-let build-sequence 
build-data build-primref build-lambda build-global-definition 
build-global-assignment build-global-reference build-lexical-assignment 
build-lexical-reference build-conditional build-application build-annotated 
get-global-definition-hook put-global-definition-hook gensym-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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile))) 
mod1151)))) tmp1145) (syntax-violation #f "source expression failed to match 
any pattern" tmp1144))) ($sc-dispatch tmp1144 (quote (any each-any any))))) 
e1143))) (global-extend99 (quote module-ref) (quote @@) (lambda (e1154) 
((lambda (tmp1155) ((lambda (tmp1156) (if (if tmp1156 (apply (lambda (_1157 
mod1158 id1159) (and (and-map id?101 mod1158) (id?101 id1159))) tmp1156) #f) 
(apply (lambda (_1161 mod1162 id1163) (values (syntax->datum id1163) 
(syntax->datum (cons (quote #(syntax-object private ((top) #(ribcage #(_ mod 
id) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(e) 
#((top)) #("i")) #(ribcage (lambda-var-list gen-var strip strip-annotation 
ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 
chi-body chi-macro chi-application chi-expr chi chi-top syntax-type 
chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap 
bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? 
id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap 
extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? 
top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! 
set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? 
make-ribcage gen-labels gen-label make-rename rename-marks rename-new 
rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks 
id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env 
extend-var-env extend-env null-env binding-value binding-type make-binding 
arg-check source-annotation no-source unannotate set-syntax-object-module! 
set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module 
syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object 
build-lexical-var build-letrec build-named-let build-let build-sequence 
build-data build-primref build-lambda build-global-definition 
build-global-assignment build-global-reference build-lexical-assignment 
build-lexical-reference build-conditional build-application build-annotated 
get-global-definition-hook put-global-definition-hook gensym-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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile))) 
mod1162)))) tmp1156) (syntax-violation #f "source expression failed to match 
any pattern" tmp1155))) ($sc-dispatch tmp1155 (quote (any each-any any))))) 
e1154))) (global-extend99 (quote begin) (quote begin) (quote ())) 
(global-extend99 (quote define) (quote define) (quote ())) (global-extend99 
(quote define-syntax) (quote define-syntax) (quote ())) (global-extend99 (quote 
eval-when) (quote eval-when) (quote ())) (global-extend99 (quote core) (quote 
syntax-case) (letrec ((gen-syntax-case1168 (lambda (x1169 keys1170 clauses1171 
r1172 mod1173) (if (null? clauses1171) (build-annotated78 #f (list 
(build-annotated78 #f (quote syntax-violation)) #f "source expression failed to 
match any pattern" x1169)) ((lambda (tmp1174) ((lambda (tmp1175) (if tmp1175 
(apply (lambda (pat1176 exp1177) (if (and (id?101 pat1176) (and-map (lambda 
(x1178) (not (free-id=?124 pat1176 x1178))) (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile))) 
keys1170))) (let ((labels1179 (list (gen-label106))) (var1180 (gen-var149 
pat1176))) (build-annotated78 #f (list (build-annotated78 #f (list (quote 
lambda) (list var1180) (chi137 exp1177 (extend-env95 labels1179 (list (cons 
(quote syntax) (cons var1180 0))) r1172) (make-binding-wrap118 (list pat1176) 
labels1179 (quote (()))) mod1173))) x1169))) (gen-clause1167 x1169 keys1170 
(cdr clauses1171) r1172 pat1176 #t exp1177 mod1173))) tmp1175) ((lambda 
(tmp1181) (if tmp1181 (apply (lambda (pat1182 fender1183 exp1184) 
(gen-clause1167 x1169 keys1170 (cdr clauses1171) r1172 pat1182 fender1183 
exp1184 mod1173)) tmp1181) ((lambda (_1185) (syntax-violation (quote 
syntax-case) "invalid clause" (car clauses1171))) tmp1174))) ($sc-dispatch 
tmp1174 (quote (any any any)))))) ($sc-dispatch tmp1174 (quote (any any))))) 
(car clauses1171))))) (gen-clause1167 (lambda (x1186 keys1187 clauses1188 r1189 
pat1190 fender1191 exp1192 mod1193) (call-with-values (lambda () 
(convert-pattern1165 pat1190 keys1187)) (lambda (p1194 pvars1195) (cond ((not 
(distinct-bound-ids?127 (map car pvars1195))) (syntax-violation (quote 
syntax-case) "duplicate pattern variable" pat1190)) ((not (and-map (lambda 
(x1196) (not (ellipsis?146 (car x1196)))) pvars1195)) (syntax-violation (quote 
syntax-case) "misplaced ellipsis" pat1190)) (else (let ((y1197 (gen-var149 
(quote tmp)))) (build-annotated78 #f (list (build-annotated78 #f (list (quote 
lambda) (list y1197) (let ((y1198 (build-annotated78 #f y1197))) 
(build-annotated78 #f (list (quote if) ((lambda (tmp1199) ((lambda (tmp1200) 
(if tmp1200 (apply (lambda () y1198) tmp1200) ((lambda (_1201) 
(build-annotated78 #f (list (quote if) y1198 (build-dispatch-call1166 pvars1195 
fender1191 y1198 r1189 mod1193) (build-data79 #f #f)))) tmp1199))) 
($sc-dispatch tmp1199 (quote #(atom #t))))) fender1191) 
(build-dispatch-call1166 pvars1195 exp1192 y1198 r1189 mod1193) 
(gen-syntax-case1168 x1186 keys1187 clauses1188 r1189 mod1193)))))) (if (eq? 
p1194 (quote any)) (build-annotated78 #f (list (build-annotated78 #f (quote 
list)) x1186)) (build-annotated78 #f (list (build-annotated78 #f (quote 
$sc-dispatch)) x1186 (build-data79 #f p1194))))))))))))) 
(build-dispatch-call1166 (lambda (pvars1202 exp1203 y1204 r1205 mod1206) (let 
((ids1207 (map car pvars1202)) (levels1208 (map cdr pvars1202))) (let 
((labels1209 (gen-labels107 ids1207)) (new-vars1210 (map gen-var149 ids1207))) 
(build-annotated78 #f (list (build-annotated78 #f (quote apply)) 
(build-annotated78 #f (list (quote lambda) new-vars1210 (chi137 exp1203 
(extend-env95 labels1209 (map (lambda (var1211 level1212) (cons (quote syntax) 
(cons var1211 level1212))) new-vars1210 (map cdr pvars1202)) r1205) 
(make-binding-wrap118 ids1207 labels1209 (quote (()))) mod1206))) y1204)))))) 
(convert-pattern1165 (lambda (pattern1213 keys1214) (let cvt1215 ((p1216 
pattern1213) (n1217 0) (ids1218 (quote ()))) (if (id?101 p1216) (if 
(bound-id-member?128 p1216 keys1214) (values (vector (quote free-id) p1216) 
ids1218) (values (quote any) (cons (cons p1216 n1217) ids1218))) ((lambda 
(tmp1219) ((lambda (tmp1220) (if (if tmp1220 (apply (lambda (x1221 dots1222) 
(ellipsis?146 dots1222)) tmp1220) #f) (apply (lambda (x1223 dots1224) 
(call-with-values (lambda () (cvt1215 x1223 (fx+70 n1217 1) ids1218)) (lambda 
(p1225 ids1226) (values (if (eq? p1225 (quote any)) (quote each-any) (vector 
(quote each) p1225)) ids1226)))) tmp1220) ((lambda (tmp1227) (if tmp1227 (apply 
(lambda (x1228 y1229) (call-with-values (lambda () (cvt1215 y1229 n1217 
ids1218)) (lambda (y1230 ids1231) (call-with-values (lambda () (cvt1215 x1228 
n1217 ids1231)) (lambda (x1232 ids1233) (values (cons x1232 y1230) 
ids1233)))))) tmp1227) ((lambda (tmp1234) (if tmp1234 (apply (lambda () (values 
(quote ()) ids1218)) tmp1234) ((lambda (tmp1235) (if tmp1235 (apply (lambda 
(x1236) (call-with-values (lambda () (cvt1215 x1236 n1217 ids1218)) (lambda 
(p1238 ids1239) (values (vector (quote vector) p1238) ids1239)))) tmp1235) 
((lambda (x1240) (values (vector (quote atom) (strip148 p1216 (quote (())))) 
ids1218)) tmp1219))) ($sc-dispatch tmp1219 (quote #(vector each-any)))))) 
($sc-dispatch tmp1219 (quote ()))))) ($sc-dispatch tmp1219 (quote (any . 
any)))))) ($sc-dispatch tmp1219 (quote (any any))))) p1216)))))) (lambda (e1241 
r1242 w1243 s1244 mod1245) (let ((e1246 (source-wrap130 e1241 w1243 s1244 
mod1245))) ((lambda (tmp1247) ((lambda (tmp1248) (if tmp1248 (apply (lambda 
(_1249 val1250 key1251 m1252) (if (and-map (lambda (x1253) (and (id?101 x1253) 
(not (ellipsis?146 x1253)))) key1251) (let ((x1255 (gen-var149 (quote tmp)))) 
(build-annotated78 s1244 (list (build-annotated78 #f (list (quote lambda) (list 
x1255) (gen-syntax-case1168 (build-annotated78 #f x1255) key1251 m1252 r1242 
mod1245))) (chi137 val1250 r1242 (quote (())) mod1245)))) (syntax-violation 
(quote syntax-case) "invalid literals list" e1246))) tmp1248) (syntax-violation 
#f "source expression failed to match any pattern" tmp1247))) ($sc-dispatch 
tmp1247 (quote (any any each-any . each-any))))) e1246))))) (set! sc-expand 
(let ((m1258 (quote e)) (esew1259 (quote (eval)))) (lambda (x1260) (if (and 
(pair? x1260) (equal? (car x1260) noexpand69)) (cadr x1260) (chi-top136 x1260 
(quote ()) (quote ((top))) m1258 esew1259 (cons (quote hygiene) (module-name 
(current-module)))))))) (set! sc-expand3 (let ((m1261 (quote e)) (esew1262 
(quote (eval)))) (lambda (x1264 . rest1263) (if (and (pair? x1264) (equal? (car 
x1264) noexpand69)) (cadr x1264) (chi-top136 x1264 (quote ()) (quote ((top))) 
(if (null? rest1263) m1261 (car rest1263)) (if (or (null? rest1263) (null? (cdr 
rest1263))) esew1262 (cadr rest1263)) (cons (quote hygiene) (module-name 
(current-module)))))))) (set! identifier? (lambda (x1265) (nonsymbol-id?100 
x1265))) (set! datum->syntax (lambda (id1266 datum1267) (make-syntax-object84 
datum1267 (syntax-object-wrap87 id1266) #f))) (set! syntax->datum (lambda 
(x1268) (strip148 x1268 (quote (()))))) (set! generate-temporaries (lambda 
(ls1269) (begin (let ((x1270 ls1269)) (if (not (list? x1270)) (syntax-violation 
(quote generate-temporaries) "invalid argument" x1270))) (map (lambda (x1271) 
(wrap129 (gensym) (quote ((top))) #f)) ls1269)))) (set! free-identifier=? 
(lambda (x1272 y1273) (begin (let ((x1274 x1272)) (if (not (nonsymbol-id?100 
x1274)) (syntax-violation (quote free-identifier=?) "invalid argument" x1274))) 
(let ((x1275 y1273)) (if (not (nonsymbol-id?100 x1275)) (syntax-violation 
(quote free-identifier=?) "invalid argument" x1275))) (free-id=?124 x1272 
y1273)))) (set! bound-identifier=? (lambda (x1276 y1277) (begin (let ((x1278 
x1276)) (if (not (nonsymbol-id?100 x1278)) (syntax-violation (quote 
bound-identifier=?) "invalid argument" x1278))) (let ((x1279 y1277)) (if (not 
(nonsymbol-id?100 x1279)) (syntax-violation (quote bound-identifier=?) "invalid 
argument" x1279))) (bound-id=?125 x1276 y1277)))) (set! syntax-violation 
(lambda (who1283 message1282 form1281 . subform1280) (begin (let ((x1284 
who1283)) (if (not ((lambda (x1285) (or (not x1285) (string? x1285) (symbol? 
x1285))) x1284)) (syntax-violation (quote syntax-violation) "invalid argument" 
x1284))) (let ((x1286 message1282)) (if (not (string? x1286)) (syntax-violation 
(quote syntax-violation) "invalid argument" x1286))) (scm-error (quote 
syntax-error) (quote sc-expand) (string-append (if who1283 "~a: " "") "~a " (if 
(null? subform1280) "in ~a" "in subform `~s' of `~s'")) (let ((tail1287 (cons 
message1282 (map (lambda (x1288) (strip148 x1288 (quote (())))) (append 
subform1280 (list form1281)))))) (if who1283 (cons who1283 tail1287) tail1287)) 
#f)))) (letrec ((match1293 (lambda (e1294 p1295 w1296 r1297 mod1298) (cond 
((not r1297) #f) ((eq? p1295 (quote any)) (cons (wrap129 e1294 w1296 mod1298) 
r1297)) ((syntax-object?85 e1294) (match*1292 (let ((e1299 
(syntax-object-expression86 e1294))) (if (annotation? e1299) 
(annotation-expression e1299) e1299)) p1295 (join-wraps120 w1296 
(syntax-object-wrap87 e1294)) r1297 (syntax-object-module88 e1294))) (else 
(match*1292 (let ((e1300 e1294)) (if (annotation? e1300) (annotation-expression 
e1300) e1300)) p1295 w1296 r1297 mod1298))))) (match*1292 (lambda (e1301 p1302 
w1303 r1304 mod1305) (cond ((null? p1302) (and (null? e1301) r1304)) ((pair? 
p1302) (and (pair? e1301) (match1293 (car e1301) (car p1302) w1303 (match1293 
(cdr e1301) (cdr p1302) w1303 r1304 mod1305) mod1305))) ((eq? p1302 (quote 
each-any)) (let ((l1306 (match-each-any1290 e1301 w1303 mod1305))) (and l1306 
(cons l1306 r1304)))) (else (let ((t1307 (vector-ref p1302 0))) (if (memv t1307 
(quote (each))) (if (null? e1301) (match-empty1291 (vector-ref p1302 1) r1304) 
(let ((l1308 (match-each1289 e1301 (vector-ref p1302 1) w1303 mod1305))) (and 
l1308 (let collect1309 ((l1310 l1308)) (if (null? (car l1310)) r1304 (cons (map 
car l1310) (collect1309 (map cdr l1310)))))))) (if (memv t1307 (quote 
(free-id))) (and (id?101 e1301) (free-id=?124 (wrap129 e1301 w1303 mod1305) 
(vector-ref p1302 1)) r1304) (if (memv t1307 (quote (atom))) (and (equal? 
(vector-ref p1302 1) (strip148 e1301 w1303)) r1304) (if (memv t1307 (quote 
(vector))) (and (vector? e1301) (match1293 (vector->list e1301) (vector-ref 
p1302 1) w1303 r1304 mod1305))))))))))) (match-empty1291 (lambda (p1311 r1312) 
(cond ((null? p1311) r1312) ((eq? p1311 (quote any)) (cons (quote ()) r1312)) 
((pair? p1311) (match-empty1291 (car p1311) (match-empty1291 (cdr p1311) 
r1312))) ((eq? p1311 (quote each-any)) (cons (quote ()) r1312)) (else (let 
((t1313 (vector-ref p1311 0))) (if (memv t1313 (quote (each))) (match-empty1291 
(vector-ref p1311 1) r1312) (if (memv t1313 (quote (free-id atom))) r1312 (if 
(memv t1313 (quote (vector))) (match-empty1291 (vector-ref p1311 1) 
r1312))))))))) (match-each-any1290 (lambda (e1314 w1315 mod1316) (cond 
((annotation? e1314) (match-each-any1290 (annotation-expression e1314) w1315 
mod1316)) ((pair? e1314) (let ((l1317 (match-each-any1290 (cdr e1314) w1315 
mod1316))) (and l1317 (cons (wrap129 (car e1314) w1315 mod1316) l1317)))) 
((null? e1314) (quote ())) ((syntax-object?85 e1314) (match-each-any1290 
(syntax-object-expression86 e1314) (join-wraps120 w1315 (syntax-object-wrap87 
e1314)) mod1316)) (else #f)))) (match-each1289 (lambda (e1318 p1319 w1320 
mod1321) (cond ((annotation? e1318) (match-each1289 (annotation-expression 
e1318) p1319 w1320 mod1321)) ((pair? e1318) (let ((first1322 (match1293 (car 
e1318) p1319 w1320 (quote ()) mod1321))) (and first1322 (let ((rest1323 
(match-each1289 (cdr e1318) p1319 w1320 mod1321))) (and rest1323 (cons 
first1322 rest1323)))))) ((null? e1318) (quote ())) ((syntax-object?85 e1318) 
(match-each1289 (syntax-object-expression86 e1318) p1319 (join-wraps120 w1320 
(syntax-object-wrap87 e1318)) (syntax-object-module88 e1318))) (else #f))))) 
(set! $sc-dispatch (lambda (e1324 p1325) (cond ((eq? p1325 (quote any)) (list 
e1324)) ((syntax-object?85 e1324) (match*1292 (let ((e1326 
(syntax-object-expression86 e1324))) (if (annotation? e1326) 
(annotation-expression e1326) e1326)) p1325 (syntax-object-wrap87 e1324) (quote 
()) (syntax-object-module88 e1324))) (else (match*1292 (let ((e1327 e1324)) (if 
(annotation? e1327) (annotation-expression e1327) e1327)) p1325 (quote (())) 
(quote ()) #f)))))))))
-(define with-syntax (make-syncase-macro (quote macro) (lambda (x1328) ((lambda 
(tmp1329) ((lambda (tmp1330) (if tmp1330 (apply (lambda (_1331 e11332 e21333) 
(cons (quote #(syntax-object begin ((top) #(ribcage #(_ e1 e2) #((top) (top) 
(top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (cons e11332 e21333))) tmp1330) ((lambda (tmp1335) (if 
tmp1335 (apply (lambda (_1336 out1337 in1338 e11339 e21340) (list (quote 
#(syntax-object syntax-case ((top) #(ribcage #(_ out in e1 e2) #((top) (top) 
(top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) 
#((top)) #("i"))) (hygiene guile))) in1338 (quote ()) (list out1337 (cons 
(quote #(syntax-object begin ((top) #(ribcage #(_ out in e1 e2) #((top) (top) 
(top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) 
#((top)) #("i"))) (hygiene guile))) (cons e11339 e21340))))) tmp1335) ((lambda 
(tmp1342) (if tmp1342 (apply (lambda (_1343 out1344 in1345 e11346 e21347) (list 
(quote #(syntax-object syntax-case ((top) #(ribcage #(_ out in e1 e2) #((top) 
(top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(x) #((top)) #("i"))) (hygiene guile))) (cons (quote #(syntax-object list 
((top) #(ribcage #(_ out in e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" 
"i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) in1345) (quote ()) (list out1344 (cons (quote #(syntax-object begin 
((top) #(ribcage #(_ out in e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" 
"i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (cons e11346 e21347))))) tmp1342) (syntax-violation #f "source 
expression failed to match any pattern" tmp1329))) ($sc-dispatch tmp1329 (quote 
(any #(each (any any)) any . each-any)))))) ($sc-dispatch tmp1329 (quote (any 
((any any)) any . each-any)))))) ($sc-dispatch tmp1329 (quote (any () any . 
each-any))))) x1328))))
-(define syntax-rules (make-syncase-macro (quote macro) (lambda (x1351) 
((lambda (tmp1352) ((lambda (tmp1353) (if tmp1353 (apply (lambda (_1354 k1355 
keyword1356 pattern1357 template1358) (list (quote #(syntax-object lambda 
((top) #(ribcage #(_ k keyword pattern template) #((top) (top) (top) (top) 
(top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) 
#("i"))) (hygiene guile))) (quote (#(syntax-object x ((top) #(ribcage #(_ k 
keyword pattern template) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile)))) 
(cons (quote #(syntax-object syntax-case ((top) #(ribcage #(_ k keyword pattern 
template) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () 
() ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (cons (quote 
#(syntax-object x ((top) #(ribcage #(_ k keyword pattern template) #((top) 
(top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(x) #((top)) #("i"))) (hygiene guile))) (cons k1355 (map (lambda (tmp1361 
tmp1360) (list (cons (quote #(syntax-object dummy ((top) #(ribcage #(_ k 
keyword pattern template) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
tmp1360) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ k keyword 
pattern template) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) 
#(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
tmp1361))) template1358 pattern1357)))))) tmp1353) (syntax-violation #f "source 
expression failed to match any pattern" tmp1352))) ($sc-dispatch tmp1352 (quote 
(any each-any . #(each ((any . any) any))))))) x1351))))
-(define let* (make-extended-syncase-macro (module-ref (current-module) (quote 
let*)) (quote macro) (lambda (x1362) ((lambda (tmp1363) ((lambda (tmp1364) (if 
(if tmp1364 (apply (lambda (let*1365 x1366 v1367 e11368 e21369) (and-map 
identifier? x1366)) tmp1364) #f) (apply (lambda (let*1371 x1372 v1373 e11374 
e21375) (let f1376 ((bindings1377 (map list x1372 v1373))) (if (null? 
bindings1377) (cons (quote #(syntax-object let ((top) #(ribcage () () ()) 
#(ribcage #(f bindings) #((top) (top)) #("i" "i")) #(ribcage #(let* x v e1 e2) 
#((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) 
#(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (cons (quote ()) (cons 
e11374 e21375))) ((lambda (tmp1381) ((lambda (tmp1382) (if tmp1382 (apply 
(lambda (body1383 binding1384) (list (quote #(syntax-object let ((top) 
#(ribcage #(body binding) #((top) (top)) #("i" "i")) #(ribcage () () ()) 
#(ribcage #(f bindings) #((top) (top)) #("i" "i")) #(ribcage #(let* x v e1 e2) 
#((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) 
#(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (list binding1384) 
body1383)) tmp1382) (syntax-violation #f "source expression failed to match any 
pattern" tmp1381))) ($sc-dispatch tmp1381 (quote (any any))))) (list (f1376 
(cdr bindings1377)) (car bindings1377)))))) tmp1364) (syntax-violation #f 
"source expression failed to match any pattern" tmp1363))) ($sc-dispatch 
tmp1363 (quote (any #(each (any any)) any . each-any))))) x1362))))
-(define do (make-extended-syncase-macro (module-ref (current-module) (quote 
do)) (quote macro) (lambda (orig-x1385) ((lambda (tmp1386) ((lambda (tmp1387) 
(if tmp1387 (apply (lambda (_1388 var1389 init1390 step1391 e01392 e11393 
c1394) ((lambda (tmp1395) ((lambda (tmp1396) (if tmp1396 (apply (lambda 
(step1397) ((lambda (tmp1398) ((lambda (tmp1399) (if tmp1399 (apply (lambda () 
(list (quote #(syntax-object let ((top) #(ribcage #(step) #((top)) #("i")) 
#(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) 
(top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(orig-x) 
#((top)) #("i"))) (hygiene guile))) (quote #(syntax-object doloop ((top) 
#(ribcage #(step) #((top)) #("i")) #(ribcage #(_ var init step e0 e1 c) #((top) 
(top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(orig-x) #((top)) #("i"))) (hygiene guile))) (map list 
var1389 init1390) (list (quote #(syntax-object if ((top) #(ribcage #(step) 
#((top)) #("i")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) 
(top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) 
#(ribcage #(orig-x) #((top)) #("i"))) (hygiene guile))) (list (quote 
#(syntax-object not ((top) #(ribcage #(step) #((top)) #("i")) #(ribcage #(_ var 
init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i" "i" "i" 
"i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i"))) 
(hygiene guile))) e01392) (cons (quote #(syntax-object begin ((top) #(ribcage 
#(step) #((top)) #("i")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) 
(top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () 
()) #(ribcage #(orig-x) #((top)) #("i"))) (hygiene guile))) (append c1394 (list 
(cons (quote #(syntax-object doloop ((top) #(ribcage #(step) #((top)) #("i")) 
#(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) 
(top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(orig-x) 
#((top)) #("i"))) (hygiene guile))) step1397))))))) tmp1399) ((lambda (tmp1404) 
(if tmp1404 (apply (lambda (e11405 e21406) (list (quote #(syntax-object let 
((top) #(ribcage #(e1 e2) #((top) (top)) #("i" "i")) #(ribcage #(step) #((top)) 
#("i")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) 
(top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(orig-x) #((top)) #("i"))) (hygiene guile))) (quote #(syntax-object doloop 
((top) #(ribcage #(e1 e2) #((top) (top)) #("i" "i")) #(ribcage #(step) #((top)) 
#("i")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) 
(top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(orig-x) #((top)) #("i"))) (hygiene guile))) (map list var1389 init1390) (list 
(quote #(syntax-object if ((top) #(ribcage #(e1 e2) #((top) (top)) #("i" "i")) 
#(ribcage #(step) #((top)) #("i")) #(ribcage #(_ var init step e0 e1 c) #((top) 
(top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(orig-x) #((top)) #("i"))) (hygiene guile))) e01392 (cons 
(quote #(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i" 
"i")) #(ribcage #(step) #((top)) #("i")) #(ribcage #(_ var init step e0 e1 c) 
#((top) (top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) 
#(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i"))) (hygiene guile))) 
(cons e11405 e21406)) (cons (quote #(syntax-object begin ((top) #(ribcage #(e1 
e2) #((top) (top)) #("i" "i")) #(ribcage #(step) #((top)) #("i")) #(ribcage #(_ 
var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i" "i" 
"i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i"))) 
(hygiene guile))) (append c1394 (list (cons (quote #(syntax-object doloop 
((top) #(ribcage #(e1 e2) #((top) (top)) #("i" "i")) #(ribcage #(step) #((top)) 
#("i")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) 
(top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(orig-x) #((top)) #("i"))) (hygiene guile))) step1397))))))) tmp1404) 
(syntax-violation #f "source expression failed to match any pattern" tmp1398))) 
($sc-dispatch tmp1398 (quote (any . each-any)))))) ($sc-dispatch tmp1398 (quote 
())))) e11393)) tmp1396) (syntax-violation #f "source expression failed to 
match any pattern" tmp1395))) ($sc-dispatch tmp1395 (quote each-any)))) (map 
(lambda (v1413 s1414) ((lambda (tmp1415) ((lambda (tmp1416) (if tmp1416 (apply 
(lambda () v1413) tmp1416) ((lambda (tmp1417) (if tmp1417 (apply (lambda 
(e1418) e1418) tmp1417) ((lambda (_1419) (syntax-violation (quote do) "bad step 
expression" orig-x1385 s1414)) tmp1415))) ($sc-dispatch tmp1415 (quote 
(any)))))) ($sc-dispatch tmp1415 (quote ())))) s1414)) var1389 step1391))) 
tmp1387) (syntax-violation #f "source expression failed to match any pattern" 
tmp1386))) ($sc-dispatch tmp1386 (quote (any #(each (any any . any)) (any . 
each-any) . each-any))))) orig-x1385))))
-(define quasiquote (make-extended-syncase-macro (module-ref (current-module) 
(quote quasiquote)) (quote macro) (letrec ((quasicons1422 (lambda (x1426 y1427) 
((lambda (tmp1428) ((lambda (tmp1429) (if tmp1429 (apply (lambda (x1430 y1431) 
((lambda (tmp1432) ((lambda (tmp1433) (if tmp1433 (apply (lambda (dy1434) 
((lambda (tmp1435) ((lambda (tmp1436) (if tmp1436 (apply (lambda (dx1437) (list 
(quote #(syntax-object quote ((top) #(ribcage #(dx) #((top)) #("i")) #(ribcage 
#(dy) #((top)) #("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage () 
() ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" "i")) 
#(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) 
#("i" "i" "i" "i"))) (hygiene guile))) (cons dx1437 dy1434))) tmp1436) ((lambda 
(_1438) (if (null? dy1434) (list (quote #(syntax-object list ((top) #(ribcage 
#(_) #((top)) #("i")) #(ribcage #(dy) #((top)) #("i")) #(ribcage #(x y) #((top) 
(top)) #("i" "i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) 
#((top) (top)) #("i" "i")) #(ribcage #(quasicons quasiappend quasivector quasi) 
#((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) x1430) (list 
(quote #(syntax-object cons ((top) #(ribcage #(_) #((top)) #("i")) #(ribcage 
#(dy) #((top)) #("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage () 
() ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" "i")) 
#(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) 
#("i" "i" "i" "i"))) (hygiene guile))) x1430 y1431))) tmp1435))) ($sc-dispatch 
tmp1435 (quote (#(free-id #(syntax-object quote ((top) #(ribcage #(dy) #((top)) 
#("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage () () ()) 
#(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage 
#(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" 
"i" "i"))) (hygiene guile))) any))))) x1430)) tmp1433) ((lambda (tmp1439) (if 
tmp1439 (apply (lambda (stuff1440) (cons (quote #(syntax-object list ((top) 
#(ribcage #(stuff) #((top)) #("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) 
#(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" 
"i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) 
(top)) #("i" "i" "i" "i"))) (hygiene guile))) (cons x1430 stuff1440))) tmp1439) 
((lambda (else1441) (list (quote #(syntax-object cons ((top) #(ribcage #(else) 
#((top)) #("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage () () 
()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage 
#(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" 
"i" "i"))) (hygiene guile))) x1430 y1431)) tmp1432))) ($sc-dispatch tmp1432 
(quote (#(free-id #(syntax-object list ((top) #(ribcage #(x y) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) 
(top)) #("i" "i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) 
(top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) . any)))))) 
($sc-dispatch tmp1432 (quote (#(free-id #(syntax-object quote ((top) #(ribcage 
#(x y) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage () () ()) 
#(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage #(quasicons quasiappend 
quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene 
guile))) any))))) y1431)) tmp1429) (syntax-violation #f "source expression 
failed to match any pattern" tmp1428))) ($sc-dispatch tmp1428 (quote (any 
any))))) (list x1426 y1427)))) (quasiappend1423 (lambda (x1442 y1443) ((lambda 
(tmp1444) ((lambda (tmp1445) (if tmp1445 (apply (lambda (x1446 y1447) ((lambda 
(tmp1448) ((lambda (tmp1449) (if tmp1449 (apply (lambda () x1446) tmp1449) 
((lambda (_1450) (list (quote #(syntax-object append ((top) #(ribcage #(_) 
#((top)) #("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage () () 
()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage 
#(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" 
"i" "i"))) (hygiene guile))) x1446 y1447)) tmp1448))) ($sc-dispatch tmp1448 
(quote (#(free-id #(syntax-object quote ((top) #(ribcage #(x y) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) 
(top)) #("i" "i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) 
(top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) ()))))) y1447)) 
tmp1445) (syntax-violation #f "source expression failed to match any pattern" 
tmp1444))) ($sc-dispatch tmp1444 (quote (any any))))) (list x1442 y1443)))) 
(quasivector1424 (lambda (x1451) ((lambda (tmp1452) ((lambda (x1453) ((lambda 
(tmp1454) ((lambda (tmp1455) (if tmp1455 (apply (lambda (x1456) (list (quote 
#(syntax-object quote ((top) #(ribcage #(x) #((top)) #("i")) #(ribcage #(x) 
#((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) 
#((top)) #("i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) 
(top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) (list->vector 
x1456))) tmp1455) ((lambda (tmp1458) (if tmp1458 (apply (lambda (x1459) (cons 
(quote #(syntax-object vector ((top) #(ribcage #(x) #((top)) #("i")) #(ribcage 
#(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) 
#((top)) #("i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) 
(top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) x1459)) tmp1458) 
((lambda (_1461) (list (quote #(syntax-object list->vector ((top) #(ribcage 
#(_) #((top)) #("i")) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) 
#(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile))) x1453)) tmp1454))) ($sc-dispatch tmp1454 (quote (#(free-id 
#(syntax-object list ((top) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) 
#(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile))) . each-any)))))) ($sc-dispatch tmp1454 (quote (#(free-id 
#(syntax-object quote ((top) #(ribcage #(x) #((top)) #("i")) #(ribcage () () 
()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile))) each-any))))) x1453)) tmp1452)) x1451))) (quasi1425 (lambda 
(p1462 lev1463) ((lambda (tmp1464) ((lambda (tmp1465) (if tmp1465 (apply 
(lambda (p1466) (if (= lev1463 0) p1466 (quasicons1422 (quote (#(syntax-object 
quote ((top) #(ribcage #(p) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(p 
lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons quasiappend quasivector 
quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile)) 
#(syntax-object unquote ((top) #(ribcage #(p) #((top)) #("i")) #(ribcage () () 
()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile)))) (quasi1425 (list p1466) (- lev1463 1))))) tmp1465) ((lambda 
(tmp1467) (if tmp1467 (apply (lambda (p1468 q1469) (if (= lev1463 0) 
(quasiappend1423 p1468 (quasi1425 q1469 lev1463)) (quasicons1422 (quasicons1422 
(quote (#(syntax-object quote ((top) #(ribcage #(p q) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) 
#(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) 
#("i" "i" "i" "i"))) (hygiene guile)) #(syntax-object unquote-splicing ((top) 
#(ribcage #(p q) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(p 
lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons quasiappend quasivector 
quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile)))) 
(quasi1425 (list p1468) (- lev1463 1))) (quasi1425 q1469 lev1463)))) tmp1467) 
((lambda (tmp1470) (if tmp1470 (apply (lambda (p1471) (quasicons1422 (quote 
(#(syntax-object quote ((top) #(ribcage #(p) #((top)) #("i")) #(ribcage () () 
()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile)) #(syntax-object quasiquote ((top) #(ribcage #(p) #((top)) 
#("i")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) 
#(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) 
#("i" "i" "i" "i"))) (hygiene guile)))) (quasi1425 (list p1471) (+ lev1463 
1)))) tmp1470) ((lambda (tmp1472) (if tmp1472 (apply (lambda (p1473 q1474) 
(quasicons1422 (quasi1425 p1473 lev1463) (quasi1425 q1474 lev1463))) tmp1472) 
((lambda (tmp1475) (if tmp1475 (apply (lambda (x1476) (quasivector1424 
(quasi1425 x1476 lev1463))) tmp1475) ((lambda (p1478) (list (quote 
#(syntax-object quote ((top) #(ribcage #(p) #((top)) #("i")) #(ribcage () () 
()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile))) p1478)) tmp1464))) ($sc-dispatch tmp1464 (quote #(vector 
each-any)))))) ($sc-dispatch tmp1464 (quote (any . any)))))) ($sc-dispatch 
tmp1464 (quote (#(free-id #(syntax-object quasiquote ((top) #(ribcage () () ()) 
#(ribcage #(p lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons quasiappend 
quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene 
guile))) any)))))) ($sc-dispatch tmp1464 (quote ((#(free-id #(syntax-object 
unquote-splicing ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) 
#("i" "i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) 
(top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) any) . any)))))) 
($sc-dispatch tmp1464 (quote (#(free-id #(syntax-object unquote ((top) 
#(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) #(ribcage 
#(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" 
"i" "i"))) (hygiene guile))) any))))) p1462)))) (lambda (x1479) ((lambda 
(tmp1480) ((lambda (tmp1481) (if tmp1481 (apply (lambda (_1482 e1483) 
(quasi1425 e1483 0)) tmp1481) (syntax-violation #f "source expression failed to 
match any pattern" tmp1480))) ($sc-dispatch tmp1480 (quote (any any))))) 
x1479)))))
-(define include (make-syncase-macro (quote macro) (lambda (x1484) (letrec 
((read-file1485 (lambda (fn1486 k1487) (let ((p1488 (open-input-file fn1486))) 
(let f1489 ((x1490 (read p1488))) (if (eof-object? x1490) (begin 
(close-input-port p1488) (quote ())) (cons (datum->syntax k1487 x1490) (f1489 
(read p1488))))))))) ((lambda (tmp1491) ((lambda (tmp1492) (if tmp1492 (apply 
(lambda (k1493 filename1494) (let ((fn1495 (syntax->datum filename1494))) 
((lambda (tmp1496) ((lambda (tmp1497) (if tmp1497 (apply (lambda (exp1498) 
(cons (quote #(syntax-object begin ((top) #(ribcage #(exp) #((top)) #("i")) 
#(ribcage () () ()) #(ribcage () () ()) #(ribcage #(fn) #((top)) #("i")) 
#(ribcage #(k filename) #((top) (top)) #("i" "i")) #(ribcage (read-file) 
((top)) ("i")) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) exp1498)) 
tmp1497) (syntax-violation #f "source expression failed to match any pattern" 
tmp1496))) ($sc-dispatch tmp1496 (quote each-any)))) (read-file1485 fn1495 
k1493)))) tmp1492) (syntax-violation #f "source expression failed to match any 
pattern" tmp1491))) ($sc-dispatch tmp1491 (quote (any any))))) x1484)))))
-(define unquote (make-syncase-macro (quote macro) (lambda (x1500) ((lambda 
(tmp1501) ((lambda (tmp1502) (if tmp1502 (apply (lambda (_1503 e1504) 
(syntax-violation (quote unquote) "expression not valid outside of quasiquote" 
x1500)) tmp1502) (syntax-violation #f "source expression failed to match any 
pattern" tmp1501))) ($sc-dispatch tmp1501 (quote (any any))))) x1500))))
-(define unquote-splicing (make-syncase-macro (quote macro) (lambda (x1505) 
((lambda (tmp1506) ((lambda (tmp1507) (if tmp1507 (apply (lambda (_1508 e1509) 
(syntax-violation (quote unquote-splicing) "expression not valid outside of 
quasiquote" x1505)) tmp1507) (syntax-violation #f "source expression failed to 
match any pattern" tmp1506))) ($sc-dispatch tmp1506 (quote (any any))))) 
x1505))))
-(define case (make-extended-syncase-macro (module-ref (current-module) (quote 
case)) (quote macro) (lambda (x1510) ((lambda (tmp1511) ((lambda (tmp1512) (if 
tmp1512 (apply (lambda (_1513 e1514 m11515 m21516) ((lambda (tmp1517) ((lambda 
(body1518) (list (quote #(syntax-object let ((top) #(ribcage #(body) #((top)) 
#("i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) 
#(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (list 
(list (quote #(syntax-object t ((top) #(ribcage #(body) #((top)) #("i")) 
#(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) e1514)) body1518)) 
tmp1517)) (let f1519 ((clause1520 m11515) (clauses1521 m21516)) (if (null? 
clauses1521) ((lambda (tmp1523) ((lambda (tmp1524) (if tmp1524 (apply (lambda 
(e11525 e21526) (cons (quote #(syntax-object begin ((top) #(ribcage #(e1 e2) 
#((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(f clause clauses) 
#((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) 
(top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (cons e11525 e21526))) tmp1524) ((lambda (tmp1528) (if 
tmp1528 (apply (lambda (k1529 e11530 e21531) (list (quote #(syntax-object if 
((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () 
() ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i" "i" "i")) 
#(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (list (quote 
#(syntax-object memv ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" "i" 
"i")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) 
#("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
(quote #(syntax-object t ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" 
"i" "i")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) 
(top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" 
"i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (list (quote #(syntax-object quote ((top) #(ribcage #(k e1 e2) #((top) 
(top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(f clause clauses) 
#((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) 
(top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) k1529)) (cons (quote #(syntax-object begin ((top) #(ribcage 
#(k e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(f clause clauses) #((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) 
#((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(x) #((top)) #("i"))) (hygiene guile))) (cons e11530 e21531)))) tmp1528) 
((lambda (_1534) (syntax-violation (quote case) "bad clause" x1510 clause1520)) 
tmp1523))) ($sc-dispatch tmp1523 (quote (each-any any . each-any)))))) 
($sc-dispatch tmp1523 (quote (#(free-id #(syntax-object else ((top) #(ribcage 
() () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i" "i" "i")) 
#(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) any . 
each-any))))) clause1520) ((lambda (tmp1535) ((lambda (rest1536) ((lambda 
(tmp1537) ((lambda (tmp1538) (if tmp1538 (apply (lambda (k1539 e11540 e21541) 
(list (quote #(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) 
(top)) #("i" "i" "i")) #(ribcage #(rest) #((top)) #("i")) #(ribcage () () ()) 
#(ribcage #(f clause clauses) #((top) (top) (top)) #("i" "i" "i")) #(ribcage 
#(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) 
#(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (list (quote #(syntax-object 
memv ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage 
#(rest) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(f clause clauses) 
#((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) 
(top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (quote #(syntax-object t ((top) #(ribcage #(k e1 e2) #((top) 
(top) (top)) #("i" "i" "i")) #(ribcage #(rest) #((top)) #("i")) #(ribcage () () 
()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i" "i" "i")) 
#(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (list (quote 
#(syntax-object quote ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" 
"i" "i")) #(ribcage #(rest) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(f 
clause clauses) #((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) 
#((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(x) #((top)) #("i"))) (hygiene guile))) k1539)) (cons (quote #(syntax-object 
begin ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" "i" "i")) 
#(ribcage #(rest) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(f clause 
clauses) #((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) 
(top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) 
#((top)) #("i"))) (hygiene guile))) (cons e11540 e21541)) rest1536)) tmp1538) 
((lambda (_1544) (syntax-violation (quote case) "bad clause" x1510 clause1520)) 
tmp1537))) ($sc-dispatch tmp1537 (quote (each-any any . each-any))))) 
clause1520)) tmp1535)) (f1519 (car clauses1521) (cdr clauses1521))))))) 
tmp1512) (syntax-violation #f "source expression failed to match any pattern" 
tmp1511))) ($sc-dispatch tmp1511 (quote (any any any . each-any))))) x1510))))
-(define identifier-syntax (make-syncase-macro (quote macro) (lambda (x1545) 
((lambda (tmp1546) ((lambda (tmp1547) (if tmp1547 (apply (lambda (_1548 e1549) 
(list (quote #(syntax-object lambda ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile)))) 
(list (quote #(syntax-object syntax-case ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (quote #(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
(quote ()) (list (quote #(syntax-object id ((top) #(ribcage #(_ e) #((top) 
(top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (quote (#(syntax-object identifier? ((top) #(ribcage #(_ e) 
#((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile)) (#(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile)) #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) 
#(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))))) (list 
(quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
e1549)) (list (cons _1548 (quote (#(syntax-object x ((top) #(ribcage #(_ e) 
#((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile)) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))))) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) 
(top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (cons e1549 (quote (#(syntax-object x ((top) #(ribcage #(_ e) 
#((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile)) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile)))))))))) tmp1547) (syntax-violation #f "source expression failed to 
match any pattern" tmp1546))) ($sc-dispatch tmp1546 (quote (any any))))) 
x1545))))
+(if #f #f)
+(letrec ((and-map*1132 (lambda (f1172 first1171 . rest1170) (or (null? 
first1171) (if (null? rest1170) (let andmap1173 ((first1174 first1171)) (let 
((x1175 (car first1174)) (first1176 (cdr first1174))) (if (null? first1176) 
(f1172 x1175) (and (f1172 x1175) (andmap1173 first1176))))) (let andmap1177 
((first1178 first1171) (rest1179 rest1170)) (let ((x1180 (car first1178)) 
(xr1181 (map car rest1179)) (first1182 (cdr first1178)) (rest1183 (map cdr 
rest1179))) (if (null? first1182) (apply f1172 (cons x1180 xr1181)) (and (apply 
f1172 (cons x1180 xr1181)) (andmap1177 first1182 rest1183)))))))))) (letrec 
((lambda-var-list1265 (lambda (vars1470) (let lvl1471 ((vars1472 vars1470) 
(ls1473 (quote ())) (w1474 (quote (())))) (cond ((pair? vars1472) (lvl1471 (cdr 
vars1472) (cons (wrap1244 (car vars1472) w1474 #f) ls1473) w1474)) ((id?1216 
vars1472) (cons (wrap1244 vars1472 w1474 #f) ls1473)) ((null? vars1472) ls1473) 
((syntax-object?1200 vars1472) (lvl1471 (syntax-object-expression1201 vars1472) 
ls1473 (join-wraps1235 w1474 (syntax-object-wrap1202 vars1472)))) ((annotation? 
vars1472) (lvl1471 (annotation-expression vars1472) ls1473 w1474)) (else (cons 
vars1472 ls1473)))))) (gen-var1264 (lambda (id1475) (let ((id1476 (if 
(syntax-object?1200 id1475) (syntax-object-expression1201 id1475) id1475))) (if 
(annotation? id1476) (build-annotated1193 (annotation-source id1476) (gensym 
(symbol->string (annotation-expression id1476)))) (build-annotated1193 #f 
(gensym (symbol->string id1476))))))) (strip1263 (lambda (x1477 w1478) (if 
(memq (quote top) (wrap-marks1219 w1478)) (if (or (annotation? x1477) (and 
(pair? x1477) (annotation? (car x1477)))) (strip-annotation1262 x1477 #f) 
x1477) (let f1479 ((x1480 x1477)) (cond ((syntax-object?1200 x1480) (strip1263 
(syntax-object-expression1201 x1480) (syntax-object-wrap1202 x1480))) ((pair? 
x1480) (let ((a1481 (f1479 (car x1480))) (d1482 (f1479 (cdr x1480)))) (if (and 
(eq? a1481 (car x1480)) (eq? d1482 (cdr x1480))) x1480 (cons a1481 d1482)))) 
((vector? x1480) (let ((old1483 (vector->list x1480))) (let ((new1484 (map 
f1479 old1483))) (if (and-map*1132 eq? old1483 new1484) x1480 (list->vector 
new1484))))) (else x1480)))))) (strip-annotation1262 (lambda (x1485 parent1486) 
(cond ((pair? x1485) (let ((new1487 (cons #f #f))) (begin (if parent1486 
(set-annotation-stripped! parent1486 new1487)) (set-car! new1487 
(strip-annotation1262 (car x1485) #f)) (set-cdr! new1487 (strip-annotation1262 
(cdr x1485) #f)) new1487))) ((annotation? x1485) (or (annotation-stripped 
x1485) (strip-annotation1262 (annotation-expression x1485) x1485))) ((vector? 
x1485) (let ((new1488 (make-vector (vector-length x1485)))) (begin (if 
parent1486 (set-annotation-stripped! parent1486 new1488)) (let loop1489 ((i1490 
(- (vector-length x1485) 1))) (unless (fx<1188 i1490 0) (vector-set! new1488 
i1490 (strip-annotation1262 (vector-ref x1485 i1490) #f)) (loop1489 (fx-1186 
i1490 1)))) new1488))) (else x1485)))) (ellipsis?1261 (lambda (x1491) (and 
(nonsymbol-id?1215 x1491) (free-id=?1239 x1491 (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile))))))) 
(chi-void1260 (lambda () (build-annotated1193 #f (cons (build-annotated1193 #f 
(quote if)) (quote (#f #f)))))) (eval-local-transformer1259 (lambda 
(expanded1492 mod1493) (let ((p1494 (local-eval-hook1190 expanded1492 
mod1493))) (if (procedure? p1494) p1494 (syntax-violation #f "nonprocedure 
transformer" p1494))))) (chi-local-syntax1258 (lambda (rec?1495 e1496 r1497 
w1498 s1499 mod1500 k1501) ((lambda (tmp1502) ((lambda (tmp1503) (if tmp1503 
(apply (lambda (_1504 id1505 val1506 e11507 e21508) (let ((ids1509 id1505)) (if 
(not (valid-bound-ids?1241 ids1509)) (syntax-violation #f "duplicate bound 
keyword" e1496) (let ((labels1511 (gen-labels1222 ids1509))) (let ((new-w1512 
(make-binding-wrap1233 ids1509 labels1511 w1498))) (k1501 (cons e11507 e21508) 
(extend-env1210 labels1511 (let ((w1514 (if rec?1495 new-w1512 w1498)) 
(trans-r1515 (macros-only-env1212 r1497))) (map (lambda (x1516) (cons (quote 
macro) (eval-local-transformer1259 (chi1252 x1516 trans-r1515 w1514 mod1500) 
mod1500))) val1506)) r1497) new-w1512 s1499 mod1500)))))) tmp1503) ((lambda 
(_1518) (syntax-violation #f "bad local syntax definition" (source-wrap1245 
e1496 w1498 s1499 mod1500))) tmp1502))) ($sc-dispatch tmp1502 (quote (any 
#(each (any any)) any . each-any))))) e1496))) (chi-lambda-clause1257 (lambda 
(e1519 docstring1520 c1521 r1522 w1523 mod1524 k1525) ((lambda (tmp1526) 
((lambda (tmp1527) (if (if tmp1527 (apply (lambda (args1528 doc1529 e11530 
e21531) (and (string? (syntax->datum doc1529)) (not docstring1520))) tmp1527) 
#f) (apply (lambda (args1532 doc1533 e11534 e21535) (chi-lambda-clause1257 
e1519 doc1533 (cons args1532 (cons e11534 e21535)) r1522 w1523 mod1524 k1525)) 
tmp1527) ((lambda (tmp1537) (if tmp1537 (apply (lambda (id1538 e11539 e21540) 
(let ((ids1541 id1538)) (if (not (valid-bound-ids?1241 ids1541)) 
(syntax-violation (quote lambda) "invalid parameter list" e1519) (let 
((labels1543 (gen-labels1222 ids1541)) (new-vars1544 (map gen-var1264 
ids1541))) (k1525 new-vars1544 docstring1520 (chi-body1256 (cons e11539 e21540) 
e1519 (extend-var-env1211 labels1543 new-vars1544 r1522) (make-binding-wrap1233 
ids1541 labels1543 w1523) mod1524)))))) tmp1537) ((lambda (tmp1546) (if tmp1546 
(apply (lambda (ids1547 e11548 e21549) (let ((old-ids1550 (lambda-var-list1265 
ids1547))) (if (not (valid-bound-ids?1241 old-ids1550)) (syntax-violation 
(quote lambda) "invalid parameter list" e1519) (let ((labels1551 
(gen-labels1222 old-ids1550)) (new-vars1552 (map gen-var1264 old-ids1550))) 
(k1525 (let f1553 ((ls11554 (cdr new-vars1552)) (ls21555 (car new-vars1552))) 
(if (null? ls11554) ls21555 (f1553 (cdr ls11554) (cons (car ls11554) 
ls21555)))) docstring1520 (chi-body1256 (cons e11548 e21549) e1519 
(extend-var-env1211 labels1551 new-vars1552 r1522) (make-binding-wrap1233 
old-ids1550 labels1551 w1523) mod1524)))))) tmp1546) ((lambda (_1557) 
(syntax-violation (quote lambda) "bad lambda" e1519)) tmp1526))) ($sc-dispatch 
tmp1526 (quote (any any . each-any)))))) ($sc-dispatch tmp1526 (quote (each-any 
any . each-any)))))) ($sc-dispatch tmp1526 (quote (any any any . each-any))))) 
c1521))) (chi-body1256 (lambda (body1558 outer-form1559 r1560 w1561 mod1562) 
(let ((r1563 (cons (quote ("placeholder" placeholder)) r1560))) (let 
((ribcage1564 (make-ribcage1223 (quote ()) (quote ()) (quote ())))) (let 
((w1565 (make-wrap1218 (wrap-marks1219 w1561) (cons ribcage1564 (wrap-subst1220 
w1561))))) (let parse1566 ((body1567 (map (lambda (x1573) (cons r1563 (wrap1244 
x1573 w1565 mod1562))) body1558)) (ids1568 (quote ())) (labels1569 (quote ())) 
(vars1570 (quote ())) (vals1571 (quote ())) (bindings1572 (quote ()))) (if 
(null? body1567) (syntax-violation #f "no expressions in body" outer-form1559) 
(let ((e1574 (cdar body1567)) (er1575 (caar body1567))) (call-with-values 
(lambda () (syntax-type1250 e1574 er1575 (quote (())) #f ribcage1564 mod1562)) 
(lambda (type1576 value1577 e1578 w1579 s1580 mod1581) (let ((t1582 type1576)) 
(if (memv t1582 (quote (define-form))) (let ((id1583 (wrap1244 value1577 w1579 
mod1581)) (label1584 (gen-label1221))) (let ((var1585 (gen-var1264 id1583))) 
(begin (extend-ribcage!1232 ribcage1564 id1583 label1584) (parse1566 (cdr 
body1567) (cons id1583 ids1568) (cons label1584 labels1569) (cons var1585 
vars1570) (cons (cons er1575 (wrap1244 e1578 w1579 mod1581)) vals1571) (cons 
(cons (quote lexical) var1585) bindings1572))))) (if (memv t1582 (quote 
(define-syntax-form))) (let ((id1586 (wrap1244 value1577 w1579 mod1581)) 
(label1587 (gen-label1221))) (begin (extend-ribcage!1232 ribcage1564 id1586 
label1587) (parse1566 (cdr body1567) (cons id1586 ids1568) (cons label1587 
labels1569) vars1570 vals1571 (cons (cons (quote macro) (cons er1575 (wrap1244 
e1578 w1579 mod1581))) bindings1572)))) (if (memv t1582 (quote (begin-form))) 
((lambda (tmp1588) ((lambda (tmp1589) (if tmp1589 (apply (lambda (_1590 e11591) 
(parse1566 (let f1592 ((forms1593 e11591)) (if (null? forms1593) (cdr body1567) 
(cons (cons er1575 (wrap1244 (car forms1593) w1579 mod1581)) (f1592 (cdr 
forms1593))))) ids1568 labels1569 vars1570 vals1571 bindings1572)) tmp1589) 
(syntax-violation #f "source expression failed to match any pattern" tmp1588))) 
($sc-dispatch tmp1588 (quote (any . each-any))))) e1578) (if (memv t1582 (quote 
(local-syntax-form))) (chi-local-syntax1258 value1577 e1578 er1575 w1579 s1580 
mod1581 (lambda (forms1595 er1596 w1597 s1598 mod1599) (parse1566 (let f1600 
((forms1601 forms1595)) (if (null? forms1601) (cdr body1567) (cons (cons er1596 
(wrap1244 (car forms1601) w1597 mod1599)) (f1600 (cdr forms1601))))) ids1568 
labels1569 vars1570 vals1571 bindings1572))) (if (null? ids1568) 
(build-sequence1195 #f (map (lambda (x1602) (chi1252 (cdr x1602) (car x1602) 
(quote (())) mod1581)) (cons (cons er1575 (source-wrap1245 e1578 w1579 s1580 
mod1581)) (cdr body1567)))) (begin (if (not (valid-bound-ids?1241 ids1568)) 
(syntax-violation #f "invalid or duplicate identifier in definition" 
outer-form1559)) (let loop1603 ((bs1604 bindings1572) (er-cache1605 #f) 
(r-cache1606 #f)) (if (not (null? bs1604)) (let ((b1607 (car bs1604))) (if (eq? 
(car b1607) (quote macro)) (let ((er1608 (cadr b1607))) (let ((r-cache1609 (if 
(eq? er1608 er-cache1605) r-cache1606 (macros-only-env1212 er1608)))) (begin 
(set-cdr! b1607 (eval-local-transformer1259 (chi1252 (cddr b1607) r-cache1609 
(quote (())) mod1581) mod1581)) (loop1603 (cdr bs1604) er1608 r-cache1609)))) 
(loop1603 (cdr bs1604) er-cache1605 r-cache1606))))) (set-cdr! r1563 
(extend-env1210 labels1569 bindings1572 (cdr r1563))) (build-letrec1198 #f 
vars1570 (map (lambda (x1610) (chi1252 (cdr x1610) (car x1610) (quote (())) 
mod1581)) vals1571) (build-sequence1195 #f (map (lambda (x1611) (chi1252 (cdr 
x1611) (car x1611) (quote (())) mod1581)) (cons (cons er1575 (source-wrap1245 
e1578 w1579 s1580 mod1581)) (cdr body1567)))))))))))))))))))))) (chi-macro1255 
(lambda (p1612 e1613 r1614 w1615 rib1616 mod1617) (letrec 
((rebuild-macro-output1618 (lambda (x1619 m1620) (cond ((pair? x1619) (cons 
(rebuild-macro-output1618 (car x1619) m1620) (rebuild-macro-output1618 (cdr 
x1619) m1620))) ((syntax-object?1200 x1619) (let ((w1621 
(syntax-object-wrap1202 x1619))) (let ((ms1622 (wrap-marks1219 w1621)) (s1623 
(wrap-subst1220 w1621))) (if (and (pair? ms1622) (eq? (car ms1622) #f)) 
(make-syntax-object1199 (syntax-object-expression1201 x1619) (make-wrap1218 
(cdr ms1622) (if rib1616 (cons rib1616 (cdr s1623)) (cdr s1623))) 
(syntax-object-module1203 x1619)) (make-syntax-object1199 
(syntax-object-expression1201 x1619) (make-wrap1218 (cons m1620 ms1622) (if 
rib1616 (cons rib1616 (cons (quote shift) s1623)) (cons (quote shift) s1623))) 
(let ((pmod1624 (procedure-module p1612))) (if pmod1624 (cons (quote hygiene) 
(module-name pmod1624)) (quote (hygiene guile))))))))) ((vector? x1619) (let 
((n1625 (vector-length x1619))) (let ((v1626 (make-vector n1625))) (let 
doloop1627 ((i1628 0)) (if (fx=1187 i1628 n1625) v1626 (begin (vector-set! 
v1626 i1628 (rebuild-macro-output1618 (vector-ref x1619 i1628) m1620)) 
(doloop1627 (fx+1185 i1628 1)))))))) ((symbol? x1619) (syntax-violation #f 
"encountered raw symbol in macro output" (source-wrap1245 e1613 w1615 s 
mod1617) x1619)) (else x1619))))) (rebuild-macro-output1618 (p1612 (wrap1244 
e1613 (anti-mark1231 w1615) mod1617)) (string #\m))))) (chi-application1254 
(lambda (x1629 e1630 r1631 w1632 s1633 mod1634) ((lambda (tmp1635) ((lambda 
(tmp1636) (if tmp1636 (apply (lambda (e01637 e11638) (build-annotated1193 s1633 
(cons x1629 (map (lambda (e1639) (chi1252 e1639 r1631 w1632 mod1634)) 
e11638)))) tmp1636) (syntax-violation #f "source expression failed to match any 
pattern" tmp1635))) ($sc-dispatch tmp1635 (quote (any . each-any))))) e1630))) 
(chi-expr1253 (lambda (type1641 value1642 e1643 r1644 w1645 s1646 mod1647) (let 
((t1648 type1641)) (if (memv t1648 (quote (lexical))) (build-annotated1193 
s1646 value1642) (if (memv t1648 (quote (core external-macro))) (value1642 
e1643 r1644 w1645 s1646 mod1647) (if (memv t1648 (quote (module-ref))) 
(call-with-values (lambda () (value1642 e1643)) (lambda (id1649 mod1650) 
(build-annotated1193 s1646 (if mod1650 (make-module-ref (cdr mod1650) id1649 
(car mod1650)) (make-module-ref mod1650 id1649 (quote bare)))))) (if (memv 
t1648 (quote (lexical-call))) (chi-application1254 (build-annotated1193 
(source-annotation1207 (car e1643)) value1642) e1643 r1644 w1645 s1646 mod1647) 
(if (memv t1648 (quote (global-call))) (chi-application1254 
(build-annotated1193 (source-annotation1207 (car e1643)) (if (if 
(syntax-object?1200 (car e1643)) (syntax-object-module1203 (car e1643)) 
mod1647) (make-module-ref (cdr (if (syntax-object?1200 (car e1643)) 
(syntax-object-module1203 (car e1643)) mod1647)) value1642 (car (if 
(syntax-object?1200 (car e1643)) (syntax-object-module1203 (car e1643)) 
mod1647))) (make-module-ref (if (syntax-object?1200 (car e1643)) 
(syntax-object-module1203 (car e1643)) mod1647) value1642 (quote bare)))) e1643 
r1644 w1645 s1646 mod1647) (if (memv t1648 (quote (constant))) (build-data1194 
s1646 (strip1263 (source-wrap1245 e1643 w1645 s1646 mod1647) (quote (())))) (if 
(memv t1648 (quote (global))) (build-annotated1193 s1646 (if mod1647 
(make-module-ref (cdr mod1647) value1642 (car mod1647)) (make-module-ref 
mod1647 value1642 (quote bare)))) (if (memv t1648 (quote (call))) 
(chi-application1254 (chi1252 (car e1643) r1644 w1645 mod1647) e1643 r1644 
w1645 s1646 mod1647) (if (memv t1648 (quote (begin-form))) ((lambda (tmp1651) 
((lambda (tmp1652) (if tmp1652 (apply (lambda (_1653 e11654 e21655) 
(chi-sequence1246 (cons e11654 e21655) r1644 w1645 s1646 mod1647)) tmp1652) 
(syntax-violation #f "source expression failed to match any pattern" tmp1651))) 
($sc-dispatch tmp1651 (quote (any any . each-any))))) e1643) (if (memv t1648 
(quote (local-syntax-form))) (chi-local-syntax1258 value1642 e1643 r1644 w1645 
s1646 mod1647 chi-sequence1246) (if (memv t1648 (quote (eval-when-form))) 
((lambda (tmp1657) ((lambda (tmp1658) (if tmp1658 (apply (lambda (_1659 x1660 
e11661 e21662) (let ((when-list1663 (chi-when-list1249 e1643 x1660 w1645))) (if 
(memq (quote eval) when-list1663) (chi-sequence1246 (cons e11661 e21662) r1644 
w1645 s1646 mod1647) (chi-void1260)))) tmp1658) (syntax-violation #f "source 
expression failed to match any pattern" tmp1657))) ($sc-dispatch tmp1657 (quote 
(any each-any any . each-any))))) e1643) (if (memv t1648 (quote (define-form 
define-syntax-form))) (syntax-violation #f "definition in expression context" 
e1643 (wrap1244 value1642 w1645 mod1647)) (if (memv t1648 (quote (syntax))) 
(syntax-violation #f "reference to pattern variable outside syntax form" 
(source-wrap1245 e1643 w1645 s1646 mod1647)) (if (memv t1648 (quote 
(displaced-lexical))) (syntax-violation #f "reference to identifier outside its 
scope" (source-wrap1245 e1643 w1645 s1646 mod1647)) (syntax-violation #f 
"unexpected syntax" (source-wrap1245 e1643 w1645 s1646 
mod1647))))))))))))))))))) (chi1252 (lambda (e1666 r1667 w1668 mod1669) 
(call-with-values (lambda () (syntax-type1250 e1666 r1667 w1668 #f #f mod1669)) 
(lambda (type1670 value1671 e1672 w1673 s1674 mod1675) (chi-expr1253 type1670 
value1671 e1672 r1667 w1673 s1674 mod1675))))) (chi-top1251 (lambda (e1676 
r1677 w1678 m1679 esew1680 mod1681) (call-with-values (lambda () 
(syntax-type1250 e1676 r1677 w1678 #f #f mod1681)) (lambda (type1689 value1690 
e1691 w1692 s1693 mod1694) (let ((t1695 type1689)) (if (memv t1695 (quote 
(begin-form))) ((lambda (tmp1696) ((lambda (tmp1697) (if tmp1697 (apply (lambda 
(_1698) (chi-void1260)) tmp1697) ((lambda (tmp1699) (if tmp1699 (apply (lambda 
(_1700 e11701 e21702) (chi-top-sequence1247 (cons e11701 e21702) r1677 w1692 
s1693 m1679 esew1680 mod1694)) tmp1699) (syntax-violation #f "source expression 
failed to match any pattern" tmp1696))) ($sc-dispatch tmp1696 (quote (any any . 
each-any)))))) ($sc-dispatch tmp1696 (quote (any))))) e1691) (if (memv t1695 
(quote (local-syntax-form))) (chi-local-syntax1258 value1690 e1691 r1677 w1692 
s1693 mod1694 (lambda (body1704 r1705 w1706 s1707 mod1708) 
(chi-top-sequence1247 body1704 r1705 w1706 s1707 m1679 esew1680 mod1708))) (if 
(memv t1695 (quote (eval-when-form))) ((lambda (tmp1709) ((lambda (tmp1710) (if 
tmp1710 (apply (lambda (_1711 x1712 e11713 e21714) (let ((when-list1715 
(chi-when-list1249 e1691 x1712 w1692)) (body1716 (cons e11713 e21714))) (cond 
((eq? m1679 (quote e)) (if (memq (quote eval) when-list1715) 
(chi-top-sequence1247 body1716 r1677 w1692 s1693 (quote e) (quote (eval)) 
mod1694) (chi-void1260))) ((memq (quote load) when-list1715) (if (or (memq 
(quote compile) when-list1715) (and (eq? m1679 (quote c&e)) (memq (quote eval) 
when-list1715))) (chi-top-sequence1247 body1716 r1677 w1692 s1693 (quote c&e) 
(quote (compile load)) mod1694) (if (memq m1679 (quote (c c&e))) 
(chi-top-sequence1247 body1716 r1677 w1692 s1693 (quote c) (quote (load)) 
mod1694) (chi-void1260)))) ((or (memq (quote compile) when-list1715) (and (eq? 
m1679 (quote c&e)) (memq (quote eval) when-list1715))) (top-level-eval-hook1189 
(chi-top-sequence1247 body1716 r1677 w1692 s1693 (quote e) (quote (eval)) 
mod1694) mod1694) (chi-void1260)) (else (chi-void1260))))) tmp1710) 
(syntax-violation #f "source expression failed to match any pattern" tmp1709))) 
($sc-dispatch tmp1709 (quote (any each-any any . each-any))))) e1691) (if (memv 
t1695 (quote (define-syntax-form))) (let ((n1719 (id-var-name1238 value1690 
w1692)) (r1720 (macros-only-env1212 r1677))) (let ((t1721 m1679)) (if (memv 
t1721 (quote (c))) (if (memq (quote compile) esew1680) (let ((e1722 
(chi-install-global1248 n1719 (chi1252 e1691 r1720 w1692 mod1694)))) (begin 
(top-level-eval-hook1189 e1722 mod1694) (if (memq (quote load) esew1680) e1722 
(chi-void1260)))) (if (memq (quote load) esew1680) (chi-install-global1248 
n1719 (chi1252 e1691 r1720 w1692 mod1694)) (chi-void1260))) (if (memv t1721 
(quote (c&e))) (let ((e1723 (chi-install-global1248 n1719 (chi1252 e1691 r1720 
w1692 mod1694)))) (begin (top-level-eval-hook1189 e1723 mod1694) e1723)) (begin 
(if (memq (quote eval) esew1680) (top-level-eval-hook1189 
(chi-install-global1248 n1719 (chi1252 e1691 r1720 w1692 mod1694)) mod1694)) 
(chi-void1260)))))) (if (memv t1695 (quote (define-form))) (let ((n1724 
(id-var-name1238 value1690 w1692))) (let ((type1725 (binding-type1208 
(lookup1213 n1724 r1677 mod1694)))) (let ((t1726 type1725)) (if (memv t1726 
(quote (global core macro module-ref))) (let ((x1727 (build-annotated1193 s1693 
(list (quote define) n1724 (chi1252 e1691 r1677 w1692 mod1694))))) (begin (if 
(eq? m1679 (quote c&e)) (top-level-eval-hook1189 x1727 mod1694)) x1727)) (if 
(memv t1726 (quote (displaced-lexical))) (syntax-violation #f "identifier out 
of context" e1691 (wrap1244 value1690 w1692 mod1694)) (syntax-violation #f 
"cannot define keyword at top level" e1691 (wrap1244 value1690 w1692 
mod1694))))))) (let ((x1728 (chi-expr1253 type1689 value1690 e1691 r1677 w1692 
s1693 mod1694))) (begin (if (eq? m1679 (quote c&e)) (top-level-eval-hook1189 
x1728 mod1694)) x1728)))))))))))) (syntax-type1250 (lambda (e1729 r1730 w1731 
s1732 rib1733 mod1734) (cond ((symbol? e1729) (let ((n1735 (id-var-name1238 
e1729 w1731))) (let ((b1736 (lookup1213 n1735 r1730 mod1734))) (let ((type1737 
(binding-type1208 b1736))) (let ((t1738 type1737)) (if (memv t1738 (quote 
(lexical))) (values type1737 (binding-value1209 b1736) e1729 w1731 s1732 
mod1734) (if (memv t1738 (quote (global))) (values type1737 n1735 e1729 w1731 
s1732 mod1734) (if (memv t1738 (quote (macro))) (syntax-type1250 (chi-macro1255 
(binding-value1209 b1736) e1729 r1730 w1731 rib1733 mod1734) r1730 (quote (())) 
s1732 rib1733 mod1734) (values type1737 (binding-value1209 b1736) e1729 w1731 
s1732 mod1734))))))))) ((pair? e1729) (let ((first1739 (car e1729))) (if 
(id?1216 first1739) (let ((n1740 (id-var-name1238 first1739 w1731))) (let 
((b1741 (lookup1213 n1740 r1730 (or (and (syntax-object?1200 first1739) 
(syntax-object-module1203 first1739)) mod1734)))) (let ((type1742 
(binding-type1208 b1741))) (let ((t1743 type1742)) (if (memv t1743 (quote 
(lexical))) (values (quote lexical-call) (binding-value1209 b1741) e1729 w1731 
s1732 mod1734) (if (memv t1743 (quote (global))) (values (quote global-call) 
n1740 e1729 w1731 s1732 mod1734) (if (memv t1743 (quote (macro))) 
(syntax-type1250 (chi-macro1255 (binding-value1209 b1741) e1729 r1730 w1731 
rib1733 mod1734) r1730 (quote (())) s1732 rib1733 mod1734) (if (memv t1743 
(quote (core external-macro module-ref))) (values type1742 (binding-value1209 
b1741) e1729 w1731 s1732 mod1734) (if (memv t1743 (quote (local-syntax))) 
(values (quote local-syntax-form) (binding-value1209 b1741) e1729 w1731 s1732 
mod1734) (if (memv t1743 (quote (begin))) (values (quote begin-form) #f e1729 
w1731 s1732 mod1734) (if (memv t1743 (quote (eval-when))) (values (quote 
eval-when-form) #f e1729 w1731 s1732 mod1734) (if (memv t1743 (quote (define))) 
((lambda (tmp1744) ((lambda (tmp1745) (if (if tmp1745 (apply (lambda (_1746 
name1747 val1748) (id?1216 name1747)) tmp1745) #f) (apply (lambda (_1749 
name1750 val1751) (values (quote define-form) name1750 val1751 w1731 s1732 
mod1734)) tmp1745) ((lambda (tmp1752) (if (if tmp1752 (apply (lambda (_1753 
name1754 args1755 e11756 e21757) (and (id?1216 name1754) (valid-bound-ids?1241 
(lambda-var-list1265 args1755)))) tmp1752) #f) (apply (lambda (_1758 name1759 
args1760 e11761 e21762) (values (quote define-form) (wrap1244 name1759 w1731 
mod1734) (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile))) 
(wrap1244 (cons args1760 (cons e11761 e21762)) w1731 mod1734)) (quote (())) 
s1732 mod1734)) tmp1752) ((lambda (tmp1764) (if (if tmp1764 (apply (lambda 
(_1765 name1766) (id?1216 name1766)) tmp1764) #f) (apply (lambda (_1767 
name1768) (values (quote define-form) (wrap1244 name1768 w1731 mod1734) (quote 
(#(syntax-object if ((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 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)) ("i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i")) #(ribcage (define-structure and-map*) ((top) (top)) 
("i" "i"))) (hygiene guile)) #(syntax-object #f ((top) #(ribcage #(_ name) 
#((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile)) 
#(syntax-object #f ((top) #(ribcage #(_ name) #((top) (top)) #("i" "i")) 
#(ribcage () () ()) #(ribcage #(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 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)) ("i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i")) #(ribcage (define-structure and-map*) ((top) (top)) 
("i" "i"))) (hygiene guile)))) (quote (())) s1732 mod1734)) tmp1764) 
(syntax-violation #f "source expression failed to match any pattern" tmp1744))) 
($sc-dispatch tmp1744 (quote (any any)))))) ($sc-dispatch tmp1744 (quote (any 
(any . any) any . each-any)))))) ($sc-dispatch tmp1744 (quote (any any any))))) 
e1729) (if (memv t1743 (quote (define-syntax))) ((lambda (tmp1769) ((lambda 
(tmp1770) (if (if tmp1770 (apply (lambda (_1771 name1772 val1773) (id?1216 
name1772)) tmp1770) #f) (apply (lambda (_1774 name1775 val1776) (values (quote 
define-syntax-form) name1775 val1776 w1731 s1732 mod1734)) tmp1770) 
(syntax-violation #f "source expression failed to match any pattern" tmp1769))) 
($sc-dispatch tmp1769 (quote (any any any))))) e1729) (values (quote call) #f 
e1729 w1731 s1732 mod1734)))))))))))))) (values (quote call) #f e1729 w1731 
s1732 mod1734)))) ((syntax-object?1200 e1729) (syntax-type1250 
(syntax-object-expression1201 e1729) r1730 (join-wraps1235 w1731 
(syntax-object-wrap1202 e1729)) #f rib1733 (or (syntax-object-module1203 e1729) 
mod1734))) ((annotation? e1729) (syntax-type1250 (annotation-expression e1729) 
r1730 w1731 (annotation-source e1729) rib1733 mod1734)) ((self-evaluating? 
e1729) (values (quote constant) #f e1729 w1731 s1732 mod1734)) (else (values 
(quote other) #f e1729 w1731 s1732 mod1734))))) (chi-when-list1249 (lambda 
(e1777 when-list1778 w1779) (let f1780 ((when-list1781 when-list1778) 
(situations1782 (quote ()))) (if (null? when-list1781) situations1782 (f1780 
(cdr when-list1781) (cons (let ((x1783 (car when-list1781))) (cond 
((free-id=?1239 x1783 (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile)))) (quote 
compile)) ((free-id=?1239 x1783 (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile)))) (quote 
load)) ((free-id=?1239 x1783 (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile)))) (quote 
eval)) (else (syntax-violation (quote eval-when) "invalid situation" e1777 
(wrap1244 x1783 w1779 #f))))) situations1782)))))) (chi-install-global1248 
(lambda (name1784 e1785) (build-annotated1193 #f (list (build-annotated1193 #f 
(quote define)) name1784 (if (let ((v1786 (module-variable (current-module) 
name1784))) (and v1786 (variable-bound? v1786) (macro? (variable-ref v1786)) 
(not (eq? (macro-type (variable-ref v1786)) (quote syncase-macro))))) 
(build-annotated1193 #f (list (build-annotated1193 #f (quote 
make-extended-syncase-macro)) (build-annotated1193 #f (list 
(build-annotated1193 #f (quote module-ref)) (build-annotated1193 #f (quote 
(current-module))) (build-data1194 #f name1784))) (build-data1194 #f (quote 
macro)) e1785)) (build-annotated1193 #f (list (build-annotated1193 #f (quote 
make-syncase-macro)) (build-data1194 #f (quote macro)) e1785))))))) 
(chi-top-sequence1247 (lambda (body1787 r1788 w1789 s1790 m1791 esew1792 
mod1793) (build-sequence1195 s1790 (let dobody1794 ((body1795 body1787) (r1796 
r1788) (w1797 w1789) (m1798 m1791) (esew1799 esew1792) (mod1800 mod1793)) (if 
(null? body1795) (quote ()) (let ((first1801 (chi-top1251 (car body1795) r1796 
w1797 m1798 esew1799 mod1800))) (cons first1801 (dobody1794 (cdr body1795) 
r1796 w1797 m1798 esew1799 mod1800)))))))) (chi-sequence1246 (lambda (body1802 
r1803 w1804 s1805 mod1806) (build-sequence1195 s1805 (let dobody1807 ((body1808 
body1802) (r1809 r1803) (w1810 w1804) (mod1811 mod1806)) (if (null? body1808) 
(quote ()) (let ((first1812 (chi1252 (car body1808) r1809 w1810 mod1811))) 
(cons first1812 (dobody1807 (cdr body1808) r1809 w1810 mod1811)))))))) 
(source-wrap1245 (lambda (x1813 w1814 s1815 defmod1816) (wrap1244 (if s1815 
(make-annotation x1813 s1815 #f) x1813) w1814 defmod1816))) (wrap1244 (lambda 
(x1817 w1818 defmod1819) (cond ((and (null? (wrap-marks1219 w1818)) (null? 
(wrap-subst1220 w1818))) x1817) ((syntax-object?1200 x1817) 
(make-syntax-object1199 (syntax-object-expression1201 x1817) (join-wraps1235 
w1818 (syntax-object-wrap1202 x1817)) (syntax-object-module1203 x1817))) 
((null? x1817) x1817) (else (make-syntax-object1199 x1817 w1818 defmod1819))))) 
(bound-id-member?1243 (lambda (x1820 list1821) (and (not (null? list1821)) (or 
(bound-id=?1240 x1820 (car list1821)) (bound-id-member?1243 x1820 (cdr 
list1821)))))) (distinct-bound-ids?1242 (lambda (ids1822) (let distinct?1823 
((ids1824 ids1822)) (or (null? ids1824) (and (not (bound-id-member?1243 (car 
ids1824) (cdr ids1824))) (distinct?1823 (cdr ids1824))))))) 
(valid-bound-ids?1241 (lambda (ids1825) (and (let all-ids?1826 ((ids1827 
ids1825)) (or (null? ids1827) (and (id?1216 (car ids1827)) (all-ids?1826 (cdr 
ids1827))))) (distinct-bound-ids?1242 ids1825)))) (bound-id=?1240 (lambda 
(i1828 j1829) (if (and (syntax-object?1200 i1828) (syntax-object?1200 j1829)) 
(and (eq? (let ((e1830 (syntax-object-expression1201 i1828))) (if (annotation? 
e1830) (annotation-expression e1830) e1830)) (let ((e1831 
(syntax-object-expression1201 j1829))) (if (annotation? e1831) 
(annotation-expression e1831) e1831))) (same-marks?1237 (wrap-marks1219 
(syntax-object-wrap1202 i1828)) (wrap-marks1219 (syntax-object-wrap1202 
j1829)))) (eq? (let ((e1832 i1828)) (if (annotation? e1832) 
(annotation-expression e1832) e1832)) (let ((e1833 j1829)) (if (annotation? 
e1833) (annotation-expression e1833) e1833)))))) (free-id=?1239 (lambda (i1834 
j1835) (and (eq? (let ((x1836 i1834)) (let ((e1837 (if (syntax-object?1200 
x1836) (syntax-object-expression1201 x1836) x1836))) (if (annotation? e1837) 
(annotation-expression e1837) e1837))) (let ((x1838 j1835)) (let ((e1839 (if 
(syntax-object?1200 x1838) (syntax-object-expression1201 x1838) x1838))) (if 
(annotation? e1839) (annotation-expression e1839) e1839)))) (eq? 
(id-var-name1238 i1834 (quote (()))) (id-var-name1238 j1835 (quote (()))))))) 
(id-var-name1238 (lambda (id1840 w1841) (letrec ((search-vector-rib1844 (lambda 
(sym1850 subst1851 marks1852 symnames1853 ribcage1854) (let ((n1855 
(vector-length symnames1853))) (let f1856 ((i1857 0)) (cond ((fx=1187 i1857 
n1855) (search1842 sym1850 (cdr subst1851) marks1852)) ((and (eq? (vector-ref 
symnames1853 i1857) sym1850) (same-marks?1237 marks1852 (vector-ref 
(ribcage-marks1226 ribcage1854) i1857))) (values (vector-ref 
(ribcage-labels1227 ribcage1854) i1857) marks1852)) (else (f1856 (fx+1185 i1857 
1)))))))) (search-list-rib1843 (lambda (sym1858 subst1859 marks1860 
symnames1861 ribcage1862) (let f1863 ((symnames1864 symnames1861) (i1865 0)) 
(cond ((null? symnames1864) (search1842 sym1858 (cdr subst1859) marks1860)) 
((and (eq? (car symnames1864) sym1858) (same-marks?1237 marks1860 (list-ref 
(ribcage-marks1226 ribcage1862) i1865))) (values (list-ref (ribcage-labels1227 
ribcage1862) i1865) marks1860)) (else (f1863 (cdr symnames1864) (fx+1185 i1865 
1))))))) (search1842 (lambda (sym1866 subst1867 marks1868) (if (null? 
subst1867) (values #f marks1868) (let ((fst1869 (car subst1867))) (if (eq? 
fst1869 (quote shift)) (search1842 sym1866 (cdr subst1867) (cdr marks1868)) 
(let ((symnames1870 (ribcage-symnames1225 fst1869))) (if (vector? symnames1870) 
(search-vector-rib1844 sym1866 subst1867 marks1868 symnames1870 fst1869) 
(search-list-rib1843 sym1866 subst1867 marks1868 symnames1870 fst1869))))))))) 
(cond ((symbol? id1840) (or (call-with-values (lambda () (search1842 id1840 
(wrap-subst1220 w1841) (wrap-marks1219 w1841))) (lambda (x1872 . ignore1871) 
x1872)) id1840)) ((syntax-object?1200 id1840) (let ((id1873 (let ((e1875 
(syntax-object-expression1201 id1840))) (if (annotation? e1875) 
(annotation-expression e1875) e1875))) (w11874 (syntax-object-wrap1202 
id1840))) (let ((marks1876 (join-marks1236 (wrap-marks1219 w1841) 
(wrap-marks1219 w11874)))) (call-with-values (lambda () (search1842 id1873 
(wrap-subst1220 w1841) marks1876)) (lambda (new-id1877 marks1878) (or 
new-id1877 (call-with-values (lambda () (search1842 id1873 (wrap-subst1220 
w11874) marks1878)) (lambda (x1880 . ignore1879) x1880)) id1873)))))) 
((annotation? id1840) (let ((id1881 (let ((e1882 id1840)) (if (annotation? 
e1882) (annotation-expression e1882) e1882)))) (or (call-with-values (lambda () 
(search1842 id1881 (wrap-subst1220 w1841) (wrap-marks1219 w1841))) (lambda 
(x1884 . ignore1883) x1884)) id1881))) (else (syntax-violation (quote 
id-var-name) "invalid id" id1840)))))) (same-marks?1237 (lambda (x1885 y1886) 
(or (eq? x1885 y1886) (and (not (null? x1885)) (not (null? y1886)) (eq? (car 
x1885) (car y1886)) (same-marks?1237 (cdr x1885) (cdr y1886)))))) 
(join-marks1236 (lambda (m11887 m21888) (smart-append1234 m11887 m21888))) 
(join-wraps1235 (lambda (w11889 w21890) (let ((m11891 (wrap-marks1219 w11889)) 
(s11892 (wrap-subst1220 w11889))) (if (null? m11891) (if (null? s11892) w21890 
(make-wrap1218 (wrap-marks1219 w21890) (smart-append1234 s11892 (wrap-subst1220 
w21890)))) (make-wrap1218 (smart-append1234 m11891 (wrap-marks1219 w21890)) 
(smart-append1234 s11892 (wrap-subst1220 w21890))))))) (smart-append1234 
(lambda (m11893 m21894) (if (null? m21894) m11893 (append m11893 m21894)))) 
(make-binding-wrap1233 (lambda (ids1895 labels1896 w1897) (if (null? ids1895) 
w1897 (make-wrap1218 (wrap-marks1219 w1897) (cons (let ((labelvec1898 
(list->vector labels1896))) (let ((n1899 (vector-length labelvec1898))) (let 
((symnamevec1900 (make-vector n1899)) (marksvec1901 (make-vector n1899))) 
(begin (let f1902 ((ids1903 ids1895) (i1904 0)) (if (not (null? ids1903)) 
(call-with-values (lambda () (id-sym-name&marks1217 (car ids1903) w1897)) 
(lambda (symname1905 marks1906) (begin (vector-set! symnamevec1900 i1904 
symname1905) (vector-set! marksvec1901 i1904 marks1906) (f1902 (cdr ids1903) 
(fx+1185 i1904 1))))))) (make-ribcage1223 symnamevec1900 marksvec1901 
labelvec1898))))) (wrap-subst1220 w1897)))))) (extend-ribcage!1232 (lambda 
(ribcage1907 id1908 label1909) (begin (set-ribcage-symnames!1228 ribcage1907 
(cons (let ((e1910 (syntax-object-expression1201 id1908))) (if (annotation? 
e1910) (annotation-expression e1910) e1910)) (ribcage-symnames1225 
ribcage1907))) (set-ribcage-marks!1229 ribcage1907 (cons (wrap-marks1219 
(syntax-object-wrap1202 id1908)) (ribcage-marks1226 ribcage1907))) 
(set-ribcage-labels!1230 ribcage1907 (cons label1909 (ribcage-labels1227 
ribcage1907)))))) (anti-mark1231 (lambda (w1911) (make-wrap1218 (cons #f 
(wrap-marks1219 w1911)) (cons (quote shift) (wrap-subst1220 w1911))))) 
(set-ribcage-labels!1230 (lambda (x1912 update1913) (vector-set! x1912 3 
update1913))) (set-ribcage-marks!1229 (lambda (x1914 update1915) (vector-set! 
x1914 2 update1915))) (set-ribcage-symnames!1228 (lambda (x1916 update1917) 
(vector-set! x1916 1 update1917))) (ribcage-labels1227 (lambda (x1918) 
(vector-ref x1918 3))) (ribcage-marks1226 (lambda (x1919) (vector-ref x1919 
2))) (ribcage-symnames1225 (lambda (x1920) (vector-ref x1920 1))) (ribcage?1224 
(lambda (x1921) (and (vector? x1921) (= (vector-length x1921) 4) (eq? 
(vector-ref x1921 0) (quote ribcage))))) (make-ribcage1223 (lambda 
(symnames1922 marks1923 labels1924) (vector (quote ribcage) symnames1922 
marks1923 labels1924))) (gen-labels1222 (lambda (ls1925) (if (null? ls1925) 
(quote ()) (cons (gen-label1221) (gen-labels1222 (cdr ls1925)))))) 
(gen-label1221 (lambda () (string #\i))) (wrap-subst1220 cdr) (wrap-marks1219 
car) (make-wrap1218 cons) (id-sym-name&marks1217 (lambda (x1926 w1927) (if 
(syntax-object?1200 x1926) (values (let ((e1928 (syntax-object-expression1201 
x1926))) (if (annotation? e1928) (annotation-expression e1928) e1928)) 
(join-marks1236 (wrap-marks1219 w1927) (wrap-marks1219 (syntax-object-wrap1202 
x1926)))) (values (let ((e1929 x1926)) (if (annotation? e1929) 
(annotation-expression e1929) e1929)) (wrap-marks1219 w1927))))) (id?1216 
(lambda (x1930) (cond ((symbol? x1930) #t) ((syntax-object?1200 x1930) (symbol? 
(let ((e1931 (syntax-object-expression1201 x1930))) (if (annotation? e1931) 
(annotation-expression e1931) e1931)))) ((annotation? x1930) (symbol? 
(annotation-expression x1930))) (else #f)))) (nonsymbol-id?1215 (lambda (x1932) 
(and (syntax-object?1200 x1932) (symbol? (let ((e1933 
(syntax-object-expression1201 x1932))) (if (annotation? e1933) 
(annotation-expression e1933) e1933)))))) (global-extend1214 (lambda (type1934 
sym1935 val1936) (put-global-definition-hook1191 sym1935 type1934 val1936))) 
(lookup1213 (lambda (x1937 r1938 mod1939) (cond ((assq x1937 r1938) => cdr) 
((symbol? x1937) (or (get-global-definition-hook1192 x1937 mod1939) (quote 
(global)))) (else (quote (displaced-lexical)))))) (macros-only-env1212 (lambda 
(r1940) (if (null? r1940) (quote ()) (let ((a1941 (car r1940))) (if (eq? (cadr 
a1941) (quote macro)) (cons a1941 (macros-only-env1212 (cdr r1940))) 
(macros-only-env1212 (cdr r1940))))))) (extend-var-env1211 (lambda (labels1942 
vars1943 r1944) (if (null? labels1942) r1944 (extend-var-env1211 (cdr 
labels1942) (cdr vars1943) (cons (cons (car labels1942) (cons (quote lexical) 
(car vars1943))) r1944))))) (extend-env1210 (lambda (labels1945 bindings1946 
r1947) (if (null? labels1945) r1947 (extend-env1210 (cdr labels1945) (cdr 
bindings1946) (cons (cons (car labels1945) (car bindings1946)) r1947))))) 
(binding-value1209 cdr) (binding-type1208 car) (source-annotation1207 (lambda 
(x1948) (cond ((annotation? x1948) (annotation-source x1948)) 
((syntax-object?1200 x1948) (source-annotation1207 
(syntax-object-expression1201 x1948))) (else #f)))) 
(set-syntax-object-module!1206 (lambda (x1949 update1950) (vector-set! x1949 3 
update1950))) (set-syntax-object-wrap!1205 (lambda (x1951 update1952) 
(vector-set! x1951 2 update1952))) (set-syntax-object-expression!1204 (lambda 
(x1953 update1954) (vector-set! x1953 1 update1954))) (syntax-object-module1203 
(lambda (x1955) (vector-ref x1955 3))) (syntax-object-wrap1202 (lambda (x1956) 
(vector-ref x1956 2))) (syntax-object-expression1201 (lambda (x1957) 
(vector-ref x1957 1))) (syntax-object?1200 (lambda (x1958) (and (vector? x1958) 
(= (vector-length x1958) 4) (eq? (vector-ref x1958 0) (quote syntax-object))))) 
(make-syntax-object1199 (lambda (expression1959 wrap1960 module1961) (vector 
(quote syntax-object) expression1959 wrap1960 module1961))) (build-letrec1198 
(lambda (src1962 vars1963 val-exps1964 body-exp1965) (if (null? vars1963) 
(build-annotated1193 src1962 body-exp1965) (build-annotated1193 src1962 (list 
(quote letrec) (map list vars1963 val-exps1964) body-exp1965))))) 
(build-named-let1197 (lambda (src1966 vars1967 val-exps1968 body-exp1969) (if 
(null? vars1967) (build-annotated1193 src1966 body-exp1969) 
(build-annotated1193 src1966 (list (quote let) (car vars1967) (map list (cdr 
vars1967) val-exps1968) body-exp1969))))) (build-let1196 (lambda (src1970 
vars1971 val-exps1972 body-exp1973) (if (null? vars1971) (build-annotated1193 
src1970 body-exp1973) (build-annotated1193 src1970 (list (quote let) (map list 
vars1971 val-exps1972) body-exp1973))))) (build-sequence1195 (lambda (src1974 
exps1975) (if (null? (cdr exps1975)) (build-annotated1193 src1974 (car 
exps1975)) (build-annotated1193 src1974 (cons (quote begin) exps1975))))) 
(build-data1194 (lambda (src1976 exp1977) (if (and (self-evaluating? exp1977) 
(not (vector? exp1977))) (build-annotated1193 src1976 exp1977) 
(build-annotated1193 src1976 (list (quote quote) exp1977))))) 
(build-annotated1193 (lambda (src1978 exp1979) (if (and src1978 (not 
(annotation? exp1979))) (make-annotation exp1979 src1978 #t) exp1979))) 
(get-global-definition-hook1192 (lambda (symbol1980 module1981) (begin (if (and 
(not module1981) (current-module)) (warn "module system is booted, we should 
have a module" symbol1980)) (let ((v1982 (module-variable (if module1981 
(resolve-module (cdr module1981)) (current-module)) symbol1980))) (and v1982 
(variable-bound? v1982) (let ((val1983 (variable-ref v1982))) (and (macro? 
val1983) (syncase-macro-type val1983) (cons (syncase-macro-type val1983) 
(syncase-macro-binding val1983))))))))) (put-global-definition-hook1191 (lambda 
(symbol1984 type1985 val1986) (let ((existing1987 (let ((v1988 (module-variable 
(current-module) symbol1984))) (and v1988 (variable-bound? v1988) (let 
((val1989 (variable-ref v1988))) (and (macro? val1989) (not (syncase-macro-type 
val1989)) val1989)))))) (module-define! (current-module) symbol1984 (if 
existing1987 (make-extended-syncase-macro existing1987 type1985 val1986) 
(make-syncase-macro type1985 val1986)))))) (local-eval-hook1190 (lambda (x1990 
mod1991) (primitive-eval (list noexpand1184 x1990)))) (top-level-eval-hook1189 
(lambda (x1992 mod1993) (primitive-eval (list noexpand1184 x1992)))) (fx<1188 
<) (fx=1187 =) (fx-1186 -) (fx+1185 +) (noexpand1184 "noexpand")) (begin 
(global-extend1214 (quote local-syntax) (quote letrec-syntax) #t) 
(global-extend1214 (quote local-syntax) (quote let-syntax) #f) 
(global-extend1214 (quote core) (quote fluid-let-syntax) (lambda (e1994 r1995 
w1996 s1997 mod1998) ((lambda (tmp1999) ((lambda (tmp2000) (if (if tmp2000 
(apply (lambda (_2001 var2002 val2003 e12004 e22005) (valid-bound-ids?1241 
var2002)) tmp2000) #f) (apply (lambda (_2007 var2008 val2009 e12010 e22011) 
(let ((names2012 (map (lambda (x2013) (id-var-name1238 x2013 w1996)) var2008))) 
(begin (for-each (lambda (id2015 n2016) (let ((t2017 (binding-type1208 
(lookup1213 n2016 r1995 mod1998)))) (if (memv t2017 (quote 
(displaced-lexical))) (syntax-violation (quote fluid-let-syntax) "identifier 
out of context" e1994 (source-wrap1245 id2015 w1996 s1997 mod1998))))) var2008 
names2012) (chi-body1256 (cons e12010 e22011) (source-wrap1245 e1994 w1996 
s1997 mod1998) (extend-env1210 names2012 (let ((trans-r2020 
(macros-only-env1212 r1995))) (map (lambda (x2021) (cons (quote macro) 
(eval-local-transformer1259 (chi1252 x2021 trans-r2020 w1996 mod1998) 
mod1998))) val2009)) r1995) w1996 mod1998)))) tmp2000) ((lambda (_2023) 
(syntax-violation (quote fluid-let-syntax) "bad syntax" (source-wrap1245 e1994 
w1996 s1997 mod1998))) tmp1999))) ($sc-dispatch tmp1999 (quote (any #(each (any 
any)) any . each-any))))) e1994))) (global-extend1214 (quote core) (quote 
quote) (lambda (e2024 r2025 w2026 s2027 mod2028) ((lambda (tmp2029) ((lambda 
(tmp2030) (if tmp2030 (apply (lambda (_2031 e2032) (build-data1194 s2027 
(strip1263 e2032 w2026))) tmp2030) ((lambda (_2033) (syntax-violation (quote 
quote) "bad syntax" (source-wrap1245 e2024 w2026 s2027 mod2028))) tmp2029))) 
($sc-dispatch tmp2029 (quote (any any))))) e2024))) (global-extend1214 (quote 
core) (quote syntax) (letrec ((regen2041 (lambda (x2042) (let ((t2043 (car 
x2042))) (if (memv t2043 (quote (ref))) (build-annotated1193 #f (cadr x2042)) 
(if (memv t2043 (quote (primitive))) (build-annotated1193 #f (cadr x2042)) (if 
(memv t2043 (quote (quote))) (build-data1194 #f (cadr x2042)) (if (memv t2043 
(quote (lambda))) (build-annotated1193 #f (list (quote lambda) (cadr x2042) 
(regen2041 (caddr x2042)))) (if (memv t2043 (quote (map))) (let ((ls2044 (map 
regen2041 (cdr x2042)))) (build-annotated1193 #f (cons (if (fx=1187 (length 
ls2044) 2) (build-annotated1193 #f (quote map)) (build-annotated1193 #f (quote 
map))) ls2044))) (build-annotated1193 #f (cons (build-annotated1193 #f (car 
x2042)) (map regen2041 (cdr x2042)))))))))))) (gen-vector2040 (lambda (x2045) 
(cond ((eq? (car x2045) (quote list)) (cons (quote vector) (cdr x2045))) ((eq? 
(car x2045) (quote quote)) (list (quote quote) (list->vector (cadr x2045)))) 
(else (list (quote list->vector) x2045))))) (gen-append2039 (lambda (x2046 
y2047) (if (equal? y2047 (quote (quote ()))) x2046 (list (quote append) x2046 
y2047)))) (gen-cons2038 (lambda (x2048 y2049) (let ((t2050 (car y2049))) (if 
(memv t2050 (quote (quote))) (if (eq? (car x2048) (quote quote)) (list (quote 
quote) (cons (cadr x2048) (cadr y2049))) (if (eq? (cadr y2049) (quote ())) 
(list (quote list) x2048) (list (quote cons) x2048 y2049))) (if (memv t2050 
(quote (list))) (cons (quote list) (cons x2048 (cdr y2049))) (list (quote cons) 
x2048 y2049)))))) (gen-map2037 (lambda (e2051 map-env2052) (let ((formals2053 
(map cdr map-env2052)) (actuals2054 (map (lambda (x2055) (list (quote ref) (car 
x2055))) map-env2052))) (cond ((eq? (car e2051) (quote ref)) (car actuals2054)) 
((and-map (lambda (x2056) (and (eq? (car x2056) (quote ref)) (memq (cadr x2056) 
formals2053))) (cdr e2051)) (cons (quote map) (cons (list (quote primitive) 
(car e2051)) (map (let ((r2057 (map cons formals2053 actuals2054))) (lambda 
(x2058) (cdr (assq (cadr x2058) r2057)))) (cdr e2051))))) (else (cons (quote 
map) (cons (list (quote lambda) formals2053 e2051) actuals2054))))))) 
(gen-mappend2036 (lambda (e2059 map-env2060) (list (quote apply) (quote 
(primitive append)) (gen-map2037 e2059 map-env2060)))) (gen-ref2035 (lambda 
(src2061 var2062 level2063 maps2064) (if (fx=1187 level2063 0) (values var2062 
maps2064) (if (null? maps2064) (syntax-violation (quote syntax) "missing 
ellipsis" src2061) (call-with-values (lambda () (gen-ref2035 src2061 var2062 
(fx-1186 level2063 1) (cdr maps2064))) (lambda (outer-var2065 outer-maps2066) 
(let ((b2067 (assq outer-var2065 (car maps2064)))) (if b2067 (values (cdr 
b2067) maps2064) (let ((inner-var2068 (gen-var1264 (quote tmp)))) (values 
inner-var2068 (cons (cons (cons outer-var2065 inner-var2068) (car maps2064)) 
outer-maps2066))))))))))) (gen-syntax2034 (lambda (src2069 e2070 r2071 maps2072 
ellipsis?2073 mod2074) (if (id?1216 e2070) (let ((label2075 (id-var-name1238 
e2070 (quote (()))))) (let ((b2076 (lookup1213 label2075 r2071 mod2074))) (if 
(eq? (binding-type1208 b2076) (quote syntax)) (call-with-values (lambda () (let 
((var.lev2077 (binding-value1209 b2076))) (gen-ref2035 src2069 (car 
var.lev2077) (cdr var.lev2077) maps2072))) (lambda (var2078 maps2079) (values 
(list (quote ref) var2078) maps2079))) (if (ellipsis?2073 e2070) 
(syntax-violation (quote syntax) "misplaced ellipsis" src2069) (values (list 
(quote quote) e2070) maps2072))))) ((lambda (tmp2080) ((lambda (tmp2081) (if 
(if tmp2081 (apply (lambda (dots2082 e2083) (ellipsis?2073 dots2082)) tmp2081) 
#f) (apply (lambda (dots2084 e2085) (gen-syntax2034 src2069 e2085 r2071 
maps2072 (lambda (x2086) #f) mod2074)) tmp2081) ((lambda (tmp2087) (if (if 
tmp2087 (apply (lambda (x2088 dots2089 y2090) (ellipsis?2073 dots2089)) 
tmp2087) #f) (apply (lambda (x2091 dots2092 y2093) (let f2094 ((y2095 y2093) 
(k2096 (lambda (maps2097) (call-with-values (lambda () (gen-syntax2034 src2069 
x2091 r2071 (cons (quote ()) maps2097) ellipsis?2073 mod2074)) (lambda (x2098 
maps2099) (if (null? (car maps2099)) (syntax-violation (quote syntax) "extra 
ellipsis" src2069) (values (gen-map2037 x2098 (car maps2099)) (cdr 
maps2099)))))))) ((lambda (tmp2100) ((lambda (tmp2101) (if (if tmp2101 (apply 
(lambda (dots2102 y2103) (ellipsis?2073 dots2102)) tmp2101) #f) (apply (lambda 
(dots2104 y2105) (f2094 y2105 (lambda (maps2106) (call-with-values (lambda () 
(k2096 (cons (quote ()) maps2106))) (lambda (x2107 maps2108) (if (null? (car 
maps2108)) (syntax-violation (quote syntax) "extra ellipsis" src2069) (values 
(gen-mappend2036 x2107 (car maps2108)) (cdr maps2108)))))))) tmp2101) ((lambda 
(_2109) (call-with-values (lambda () (gen-syntax2034 src2069 y2095 r2071 
maps2072 ellipsis?2073 mod2074)) (lambda (y2110 maps2111) (call-with-values 
(lambda () (k2096 maps2111)) (lambda (x2112 maps2113) (values (gen-append2039 
x2112 y2110) maps2113)))))) tmp2100))) ($sc-dispatch tmp2100 (quote (any . 
any))))) y2095))) tmp2087) ((lambda (tmp2114) (if tmp2114 (apply (lambda (x2115 
y2116) (call-with-values (lambda () (gen-syntax2034 src2069 x2115 r2071 
maps2072 ellipsis?2073 mod2074)) (lambda (x2117 maps2118) (call-with-values 
(lambda () (gen-syntax2034 src2069 y2116 r2071 maps2118 ellipsis?2073 mod2074)) 
(lambda (y2119 maps2120) (values (gen-cons2038 x2117 y2119) maps2120)))))) 
tmp2114) ((lambda (tmp2121) (if tmp2121 (apply (lambda (e12122 e22123) 
(call-with-values (lambda () (gen-syntax2034 src2069 (cons e12122 e22123) r2071 
maps2072 ellipsis?2073 mod2074)) (lambda (e2125 maps2126) (values 
(gen-vector2040 e2125) maps2126)))) tmp2121) ((lambda (_2127) (values (list 
(quote quote) e2070) maps2072)) tmp2080))) ($sc-dispatch tmp2080 (quote 
#(vector (any . each-any))))))) ($sc-dispatch tmp2080 (quote (any . any)))))) 
($sc-dispatch tmp2080 (quote (any any . any)))))) ($sc-dispatch tmp2080 (quote 
(any any))))) e2070))))) (lambda (e2128 r2129 w2130 s2131 mod2132) (let ((e2133 
(source-wrap1245 e2128 w2130 s2131 mod2132))) ((lambda (tmp2134) ((lambda 
(tmp2135) (if tmp2135 (apply (lambda (_2136 x2137) (call-with-values (lambda () 
(gen-syntax2034 e2133 x2137 r2129 (quote ()) ellipsis?1261 mod2132)) (lambda 
(e2138 maps2139) (regen2041 e2138)))) tmp2135) ((lambda (_2140) 
(syntax-violation (quote syntax) "bad `syntax' form" e2133)) tmp2134))) 
($sc-dispatch tmp2134 (quote (any any))))) e2133))))) (global-extend1214 (quote 
core) (quote lambda) (lambda (e2141 r2142 w2143 s2144 mod2145) ((lambda 
(tmp2146) ((lambda (tmp2147) (if tmp2147 (apply (lambda (_2148 c2149) 
(chi-lambda-clause1257 (source-wrap1245 e2141 w2143 s2144 mod2145) #f c2149 
r2142 w2143 mod2145 (lambda (vars2150 docstring2151 body2152) 
(build-annotated1193 s2144 (cons (quote lambda) (cons vars2150 (append (if 
docstring2151 (list docstring2151) (quote ())) (list body2152)))))))) tmp2147) 
(syntax-violation #f "source expression failed to match any pattern" tmp2146))) 
($sc-dispatch tmp2146 (quote (any . any))))) e2141))) (global-extend1214 (quote 
core) (quote let) (letrec ((chi-let2153 (lambda (e2154 r2155 w2156 s2157 
mod2158 constructor2159 ids2160 vals2161 exps2162) (if (not 
(valid-bound-ids?1241 ids2160)) (syntax-violation (quote let) "duplicate bound 
variable" e2154) (let ((labels2163 (gen-labels1222 ids2160)) (new-vars2164 (map 
gen-var1264 ids2160))) (let ((nw2165 (make-binding-wrap1233 ids2160 labels2163 
w2156)) (nr2166 (extend-var-env1211 labels2163 new-vars2164 r2155))) 
(constructor2159 s2157 new-vars2164 (map (lambda (x2167) (chi1252 x2167 r2155 
w2156 mod2158)) vals2161) (chi-body1256 exps2162 (source-wrap1245 e2154 nw2165 
s2157 mod2158) nr2166 nw2165 mod2158)))))))) (lambda (e2168 r2169 w2170 s2171 
mod2172) ((lambda (tmp2173) ((lambda (tmp2174) (if tmp2174 (apply (lambda 
(_2175 id2176 val2177 e12178 e22179) (chi-let2153 e2168 r2169 w2170 s2171 
mod2172 build-let1196 id2176 val2177 (cons e12178 e22179))) tmp2174) ((lambda 
(tmp2183) (if (if tmp2183 (apply (lambda (_2184 f2185 id2186 val2187 e12188 
e22189) (id?1216 f2185)) tmp2183) #f) (apply (lambda (_2190 f2191 id2192 
val2193 e12194 e22195) (chi-let2153 e2168 r2169 w2170 s2171 mod2172 
build-named-let1197 (cons f2191 id2192) val2193 (cons e12194 e22195))) tmp2183) 
((lambda (_2199) (syntax-violation (quote let) "bad let" (source-wrap1245 e2168 
w2170 s2171 mod2172))) tmp2173))) ($sc-dispatch tmp2173 (quote (any any #(each 
(any any)) any . each-any)))))) ($sc-dispatch tmp2173 (quote (any #(each (any 
any)) any . each-any))))) e2168)))) (global-extend1214 (quote core) (quote 
letrec) (lambda (e2200 r2201 w2202 s2203 mod2204) ((lambda (tmp2205) ((lambda 
(tmp2206) (if tmp2206 (apply (lambda (_2207 id2208 val2209 e12210 e22211) (let 
((ids2212 id2208)) (if (not (valid-bound-ids?1241 ids2212)) (syntax-violation 
(quote letrec) "duplicate bound variable" e2200) (let ((labels2214 
(gen-labels1222 ids2212)) (new-vars2215 (map gen-var1264 ids2212))) (let 
((w2216 (make-binding-wrap1233 ids2212 labels2214 w2202)) (r2217 
(extend-var-env1211 labels2214 new-vars2215 r2201))) (build-letrec1198 s2203 
new-vars2215 (map (lambda (x2218) (chi1252 x2218 r2217 w2216 mod2204)) val2209) 
(chi-body1256 (cons e12210 e22211) (source-wrap1245 e2200 w2216 s2203 mod2204) 
r2217 w2216 mod2204))))))) tmp2206) ((lambda (_2221) (syntax-violation (quote 
letrec) "bad letrec" (source-wrap1245 e2200 w2202 s2203 mod2204))) tmp2205))) 
($sc-dispatch tmp2205 (quote (any #(each (any any)) any . each-any))))) 
e2200))) (global-extend1214 (quote core) (quote set!) (lambda (e2222 r2223 
w2224 s2225 mod2226) ((lambda (tmp2227) ((lambda (tmp2228) (if (if tmp2228 
(apply (lambda (_2229 id2230 val2231) (id?1216 id2230)) tmp2228) #f) (apply 
(lambda (_2232 id2233 val2234) (let ((val2235 (chi1252 val2234 r2223 w2224 
mod2226)) (n2236 (id-var-name1238 id2233 w2224))) (let ((b2237 (lookup1213 
n2236 r2223 mod2226))) (let ((t2238 (binding-type1208 b2237))) (if (memv t2238 
(quote (lexical))) (build-annotated1193 s2225 (list (quote set!) 
(binding-value1209 b2237) val2235)) (if (memv t2238 (quote (global))) 
(build-annotated1193 s2225 (list (quote set!) (if mod2226 (make-module-ref (cdr 
mod2226) n2236 (car mod2226)) (make-module-ref mod2226 n2236 (quote bare))) 
val2235)) (if (memv t2238 (quote (displaced-lexical))) (syntax-violation (quote 
set!) "identifier out of context" (wrap1244 id2233 w2224 mod2226)) 
(syntax-violation (quote set!) "bad set!" (source-wrap1245 e2222 w2224 s2225 
mod2226))))))))) tmp2228) ((lambda (tmp2239) (if tmp2239 (apply (lambda (_2240 
head2241 tail2242 val2243) (call-with-values (lambda () (syntax-type1250 
head2241 r2223 (quote (())) #f #f mod2226)) (lambda (type2244 value2245 ee2246 
ww2247 ss2248 modmod2249) (let ((t2250 type2244)) (if (memv t2250 (quote 
(module-ref))) (let ((val2251 (chi1252 val2243 r2223 w2224 mod2226))) 
(call-with-values (lambda () (value2245 (cons head2241 tail2242))) (lambda 
(id2253 mod2254) (build-annotated1193 s2225 (list (quote set!) (if mod2254 
(make-module-ref (cdr mod2254) id2253 (car mod2254)) (make-module-ref mod2254 
id2253 (quote bare))) val2251))))) (build-annotated1193 s2225 (cons (chi1252 
(list (quote #(syntax-object setter ((top) #(ribcage () () ()) #(ribcage #(t) 
#(("m" top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type 
value ee ww ss modmod) #((top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" 
"i" "i")) #(ribcage #(_ head tail val) #((top) (top) (top) (top)) #("i" "i" "i" 
"i")) #(ribcage () () ()) #(ribcage #(e r w s mod) #((top) (top) (top) (top) 
(top)) #("i" "i" "i" "i" "i")) #(ribcage (lambda-var-list gen-var strip 
strip-annotation ellipsis? chi-void eval-local-transformer chi-local-syntax 
chi-lambda-clause chi-body chi-macro chi-application chi-expr chi chi-top 
syntax-type chi-when-list chi-install-global chi-top-sequence chi-sequence 
source-wrap wrap bound-id-member? distinct-bound-ids? valid-bound-ids? 
bound-id=? free-id=? id-var-name same-marks? join-marks join-wraps smart-append 
make-binding-wrap extend-ribcage! make-empty-ribcage new-mark anti-mark 
the-anti-mark top-marked? top-wrap empty-wrap set-ribcage-labels! 
set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks 
ribcage-symnames ribcage? make-ribcage gen-labels gen-label make-rename 
rename-marks rename-new rename-old subst-rename? wrap-subst wrap-marks 
make-wrap id-sym-name&marks id-sym-name id? nonsymbol-id? global-extend lookup 
macros-only-env extend-var-env extend-env null-env binding-value binding-type 
make-binding arg-check source-annotation no-source unannotate 
set-syntax-object-module! set-syntax-object-wrap! set-syntax-object-expression! 
syntax-object-module syntax-object-wrap syntax-object-expression syntax-object? 
make-syntax-object build-lexical-var build-letrec build-named-let build-let 
build-sequence build-data build-primref build-lambda build-global-definition 
build-global-assignment build-global-reference build-lexical-assignment 
build-lexical-reference build-conditional build-application build-annotated 
get-global-definition-hook put-global-definition-hook gensym-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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile))) 
head2241) r2223 w2224 mod2226) (map (lambda (e2255) (chi1252 e2255 r2223 w2224 
mod2226)) (append tail2242 (list val2243)))))))))) tmp2239) ((lambda (_2257) 
(syntax-violation (quote set!) "bad set!" (source-wrap1245 e2222 w2224 s2225 
mod2226))) tmp2227))) ($sc-dispatch tmp2227 (quote (any (any . each-any) 
any)))))) ($sc-dispatch tmp2227 (quote (any any any))))) e2222))) 
(global-extend1214 (quote module-ref) (quote @) (lambda (e2258) ((lambda 
(tmp2259) ((lambda (tmp2260) (if (if tmp2260 (apply (lambda (_2261 mod2262 
id2263) (and (and-map id?1216 mod2262) (id?1216 id2263))) tmp2260) #f) (apply 
(lambda (_2265 mod2266 id2267) (values (syntax->datum id2267) (syntax->datum 
(cons (quote #(syntax-object public ((top) #(ribcage #(_ mod id) #((top) (top) 
(top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(e) #((top)) #("i")) 
#(ribcage (lambda-var-list gen-var strip strip-annotation ellipsis? chi-void 
eval-local-transformer chi-local-syntax chi-lambda-clause chi-body chi-macro 
chi-application chi-expr chi chi-top syntax-type chi-when-list 
chi-install-global chi-top-sequence chi-sequence source-wrap wrap 
bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? 
id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap 
extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? 
top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! 
set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? 
make-ribcage gen-labels gen-label make-rename rename-marks rename-new 
rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks 
id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env 
extend-var-env extend-env null-env binding-value binding-type make-binding 
arg-check source-annotation no-source unannotate set-syntax-object-module! 
set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module 
syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object 
build-lexical-var build-letrec build-named-let build-let build-sequence 
build-data build-primref build-lambda build-global-definition 
build-global-assignment build-global-reference build-lexical-assignment 
build-lexical-reference build-conditional build-application build-annotated 
get-global-definition-hook put-global-definition-hook gensym-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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile))) 
mod2266)))) tmp2260) (syntax-violation #f "source expression failed to match 
any pattern" tmp2259))) ($sc-dispatch tmp2259 (quote (any each-any any))))) 
e2258))) (global-extend1214 (quote module-ref) (quote @@) (lambda (e2269) 
((lambda (tmp2270) ((lambda (tmp2271) (if (if tmp2271 (apply (lambda (_2272 
mod2273 id2274) (and (and-map id?1216 mod2273) (id?1216 id2274))) tmp2271) #f) 
(apply (lambda (_2276 mod2277 id2278) (values (syntax->datum id2278) 
(syntax->datum (cons (quote #(syntax-object private ((top) #(ribcage #(_ mod 
id) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(e) 
#((top)) #("i")) #(ribcage (lambda-var-list gen-var strip strip-annotation 
ellipsis? chi-void eval-local-transformer chi-local-syntax chi-lambda-clause 
chi-body chi-macro chi-application chi-expr chi chi-top syntax-type 
chi-when-list chi-install-global chi-top-sequence chi-sequence source-wrap wrap 
bound-id-member? distinct-bound-ids? valid-bound-ids? bound-id=? free-id=? 
id-var-name same-marks? join-marks join-wraps smart-append make-binding-wrap 
extend-ribcage! make-empty-ribcage new-mark anti-mark the-anti-mark top-marked? 
top-wrap empty-wrap set-ribcage-labels! set-ribcage-marks! 
set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? 
make-ribcage gen-labels gen-label make-rename rename-marks rename-new 
rename-old subst-rename? wrap-subst wrap-marks make-wrap id-sym-name&marks 
id-sym-name id? nonsymbol-id? global-extend lookup macros-only-env 
extend-var-env extend-env null-env binding-value binding-type make-binding 
arg-check source-annotation no-source unannotate set-syntax-object-module! 
set-syntax-object-wrap! set-syntax-object-expression! syntax-object-module 
syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object 
build-lexical-var build-letrec build-named-let build-let build-sequence 
build-data build-primref build-lambda build-global-definition 
build-global-assignment build-global-reference build-lexical-assignment 
build-lexical-reference build-conditional build-application build-annotated 
get-global-definition-hook put-global-definition-hook gensym-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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile))) 
mod2277)))) tmp2271) (syntax-violation #f "source expression failed to match 
any pattern" tmp2270))) ($sc-dispatch tmp2270 (quote (any each-any any))))) 
e2269))) (global-extend1214 (quote begin) (quote begin) (quote ())) 
(global-extend1214 (quote define) (quote define) (quote ())) (global-extend1214 
(quote define-syntax) (quote define-syntax) (quote ())) (global-extend1214 
(quote eval-when) (quote eval-when) (quote ())) (global-extend1214 (quote core) 
(quote syntax-case) (letrec ((gen-syntax-case2283 (lambda (x2284 keys2285 
clauses2286 r2287 mod2288) (if (null? clauses2286) (build-annotated1193 #f 
(list (build-annotated1193 #f (quote syntax-violation)) #f "source expression 
failed to match any pattern" x2284)) ((lambda (tmp2289) ((lambda (tmp2290) (if 
tmp2290 (apply (lambda (pat2291 exp2292) (if (and (id?1216 pat2291) (and-map 
(lambda (x2293) (not (free-id=?1239 pat2291 x2293))) (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 
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)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" 
"i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(ribcage 
(define-structure and-map*) ((top) (top)) ("i" "i"))) (hygiene guile))) 
keys2285))) (let ((labels2294 (list (gen-label1221))) (var2295 (gen-var1264 
pat2291))) (build-annotated1193 #f (list (build-annotated1193 #f (list (quote 
lambda) (list var2295) (chi1252 exp2292 (extend-env1210 labels2294 (list (cons 
(quote syntax) (cons var2295 0))) r2287) (make-binding-wrap1233 (list pat2291) 
labels2294 (quote (()))) mod2288))) x2284))) (gen-clause2282 x2284 keys2285 
(cdr clauses2286) r2287 pat2291 #t exp2292 mod2288))) tmp2290) ((lambda 
(tmp2296) (if tmp2296 (apply (lambda (pat2297 fender2298 exp2299) 
(gen-clause2282 x2284 keys2285 (cdr clauses2286) r2287 pat2297 fender2298 
exp2299 mod2288)) tmp2296) ((lambda (_2300) (syntax-violation (quote 
syntax-case) "invalid clause" (car clauses2286))) tmp2289))) ($sc-dispatch 
tmp2289 (quote (any any any)))))) ($sc-dispatch tmp2289 (quote (any any))))) 
(car clauses2286))))) (gen-clause2282 (lambda (x2301 keys2302 clauses2303 r2304 
pat2305 fender2306 exp2307 mod2308) (call-with-values (lambda () 
(convert-pattern2280 pat2305 keys2302)) (lambda (p2309 pvars2310) (cond ((not 
(distinct-bound-ids?1242 (map car pvars2310))) (syntax-violation (quote 
syntax-case) "duplicate pattern variable" pat2305)) ((not (and-map (lambda 
(x2311) (not (ellipsis?1261 (car x2311)))) pvars2310)) (syntax-violation (quote 
syntax-case) "misplaced ellipsis" pat2305)) (else (let ((y2312 (gen-var1264 
(quote tmp)))) (build-annotated1193 #f (list (build-annotated1193 #f (list 
(quote lambda) (list y2312) (let ((y2313 (build-annotated1193 #f y2312))) 
(build-annotated1193 #f (list (quote if) ((lambda (tmp2314) ((lambda (tmp2315) 
(if tmp2315 (apply (lambda () y2313) tmp2315) ((lambda (_2316) 
(build-annotated1193 #f (list (quote if) y2313 (build-dispatch-call2281 
pvars2310 fender2306 y2313 r2304 mod2308) (build-data1194 #f #f)))) tmp2314))) 
($sc-dispatch tmp2314 (quote #(atom #t))))) fender2306) 
(build-dispatch-call2281 pvars2310 exp2307 y2313 r2304 mod2308) 
(gen-syntax-case2283 x2301 keys2302 clauses2303 r2304 mod2308)))))) (if (eq? 
p2309 (quote any)) (build-annotated1193 #f (list (build-annotated1193 #f (quote 
list)) x2301)) (build-annotated1193 #f (list (build-annotated1193 #f (quote 
$sc-dispatch)) x2301 (build-data1194 #f p2309))))))))))))) 
(build-dispatch-call2281 (lambda (pvars2317 exp2318 y2319 r2320 mod2321) (let 
((ids2322 (map car pvars2317)) (levels2323 (map cdr pvars2317))) (let 
((labels2324 (gen-labels1222 ids2322)) (new-vars2325 (map gen-var1264 
ids2322))) (build-annotated1193 #f (list (build-annotated1193 #f (quote apply)) 
(build-annotated1193 #f (list (quote lambda) new-vars2325 (chi1252 exp2318 
(extend-env1210 labels2324 (map (lambda (var2326 level2327) (cons (quote 
syntax) (cons var2326 level2327))) new-vars2325 (map cdr pvars2317)) r2320) 
(make-binding-wrap1233 ids2322 labels2324 (quote (()))) mod2321))) y2319)))))) 
(convert-pattern2280 (lambda (pattern2328 keys2329) (let cvt2330 ((p2331 
pattern2328) (n2332 0) (ids2333 (quote ()))) (if (id?1216 p2331) (if 
(bound-id-member?1243 p2331 keys2329) (values (vector (quote free-id) p2331) 
ids2333) (values (quote any) (cons (cons p2331 n2332) ids2333))) ((lambda 
(tmp2334) ((lambda (tmp2335) (if (if tmp2335 (apply (lambda (x2336 dots2337) 
(ellipsis?1261 dots2337)) tmp2335) #f) (apply (lambda (x2338 dots2339) 
(call-with-values (lambda () (cvt2330 x2338 (fx+1185 n2332 1) ids2333)) (lambda 
(p2340 ids2341) (values (if (eq? p2340 (quote any)) (quote each-any) (vector 
(quote each) p2340)) ids2341)))) tmp2335) ((lambda (tmp2342) (if tmp2342 (apply 
(lambda (x2343 y2344) (call-with-values (lambda () (cvt2330 y2344 n2332 
ids2333)) (lambda (y2345 ids2346) (call-with-values (lambda () (cvt2330 x2343 
n2332 ids2346)) (lambda (x2347 ids2348) (values (cons x2347 y2345) 
ids2348)))))) tmp2342) ((lambda (tmp2349) (if tmp2349 (apply (lambda () (values 
(quote ()) ids2333)) tmp2349) ((lambda (tmp2350) (if tmp2350 (apply (lambda 
(x2351) (call-with-values (lambda () (cvt2330 x2351 n2332 ids2333)) (lambda 
(p2353 ids2354) (values (vector (quote vector) p2353) ids2354)))) tmp2350) 
((lambda (x2355) (values (vector (quote atom) (strip1263 p2331 (quote (())))) 
ids2333)) tmp2334))) ($sc-dispatch tmp2334 (quote #(vector each-any)))))) 
($sc-dispatch tmp2334 (quote ()))))) ($sc-dispatch tmp2334 (quote (any . 
any)))))) ($sc-dispatch tmp2334 (quote (any any))))) p2331)))))) (lambda (e2356 
r2357 w2358 s2359 mod2360) (let ((e2361 (source-wrap1245 e2356 w2358 s2359 
mod2360))) ((lambda (tmp2362) ((lambda (tmp2363) (if tmp2363 (apply (lambda 
(_2364 val2365 key2366 m2367) (if (and-map (lambda (x2368) (and (id?1216 x2368) 
(not (ellipsis?1261 x2368)))) key2366) (let ((x2370 (gen-var1264 (quote tmp)))) 
(build-annotated1193 s2359 (list (build-annotated1193 #f (list (quote lambda) 
(list x2370) (gen-syntax-case2283 (build-annotated1193 #f x2370) key2366 m2367 
r2357 mod2360))) (chi1252 val2365 r2357 (quote (())) mod2360)))) 
(syntax-violation (quote syntax-case) "invalid literals list" e2361))) tmp2363) 
(syntax-violation #f "source expression failed to match any pattern" tmp2362))) 
($sc-dispatch tmp2362 (quote (any any each-any . each-any))))) e2361))))) (set! 
sc-expand (let ((m2373 (quote e)) (esew2374 (quote (eval)))) (lambda (x2375) 
(if (and (pair? x2375) (equal? (car x2375) noexpand1184)) (cadr x2375) 
(chi-top1251 x2375 (quote ()) (quote ((top))) m2373 esew2374 (cons (quote 
hygiene) (module-name (current-module)))))))) (set! sc-expand3 (let ((m2376 
(quote e)) (esew2377 (quote (eval)))) (lambda (x2379 . rest2378) (if (and 
(pair? x2379) (equal? (car x2379) noexpand1184)) (cadr x2379) (chi-top1251 
x2379 (quote ()) (quote ((top))) (if (null? rest2378) m2376 (car rest2378)) (if 
(or (null? rest2378) (null? (cdr rest2378))) esew2377 (cadr rest2378)) (cons 
(quote hygiene) (module-name (current-module)))))))) (set! identifier? (lambda 
(x2380) (nonsymbol-id?1215 x2380))) (set! datum->syntax (lambda (id2381 
datum2382) (make-syntax-object1199 datum2382 (syntax-object-wrap1202 id2381) 
#f))) (set! syntax->datum (lambda (x2383) (strip1263 x2383 (quote (()))))) 
(set! generate-temporaries (lambda (ls2384) (begin (let ((x2385 ls2384)) (if 
(not (list? x2385)) (syntax-violation (quote generate-temporaries) "invalid 
argument" x2385))) (map (lambda (x2386) (wrap1244 (gensym) (quote ((top))) #f)) 
ls2384)))) (set! free-identifier=? (lambda (x2387 y2388) (begin (let ((x2389 
x2387)) (if (not (nonsymbol-id?1215 x2389)) (syntax-violation (quote 
free-identifier=?) "invalid argument" x2389))) (let ((x2390 y2388)) (if (not 
(nonsymbol-id?1215 x2390)) (syntax-violation (quote free-identifier=?) "invalid 
argument" x2390))) (free-id=?1239 x2387 y2388)))) (set! bound-identifier=? 
(lambda (x2391 y2392) (begin (let ((x2393 x2391)) (if (not (nonsymbol-id?1215 
x2393)) (syntax-violation (quote bound-identifier=?) "invalid argument" 
x2393))) (let ((x2394 y2392)) (if (not (nonsymbol-id?1215 x2394)) 
(syntax-violation (quote bound-identifier=?) "invalid argument" x2394))) 
(bound-id=?1240 x2391 y2392)))) (set! syntax-violation (lambda (who2398 
message2397 form2396 . subform2395) (begin (let ((x2399 who2398)) (if (not 
((lambda (x2400) (or (not x2400) (string? x2400) (symbol? x2400))) x2399)) 
(syntax-violation (quote syntax-violation) "invalid argument" x2399))) (let 
((x2401 message2397)) (if (not (string? x2401)) (syntax-violation (quote 
syntax-violation) "invalid argument" x2401))) (scm-error (quote syntax-error) 
(quote sc-expand) (string-append (if who2398 "~a: " "") "~a " (if (null? 
subform2395) "in ~a" "in subform `~s' of `~s'")) (let ((tail2402 (cons 
message2397 (map (lambda (x2403) (strip1263 x2403 (quote (())))) (append 
subform2395 (list form2396)))))) (if who2398 (cons who2398 tail2402) tail2402)) 
#f)))) (letrec ((match2408 (lambda (e2409 p2410 w2411 r2412 mod2413) (cond 
((not r2412) #f) ((eq? p2410 (quote any)) (cons (wrap1244 e2409 w2411 mod2413) 
r2412)) ((syntax-object?1200 e2409) (match*2407 (let ((e2414 
(syntax-object-expression1201 e2409))) (if (annotation? e2414) 
(annotation-expression e2414) e2414)) p2410 (join-wraps1235 w2411 
(syntax-object-wrap1202 e2409)) r2412 (syntax-object-module1203 e2409))) (else 
(match*2407 (let ((e2415 e2409)) (if (annotation? e2415) (annotation-expression 
e2415) e2415)) p2410 w2411 r2412 mod2413))))) (match*2407 (lambda (e2416 p2417 
w2418 r2419 mod2420) (cond ((null? p2417) (and (null? e2416) r2419)) ((pair? 
p2417) (and (pair? e2416) (match2408 (car e2416) (car p2417) w2418 (match2408 
(cdr e2416) (cdr p2417) w2418 r2419 mod2420) mod2420))) ((eq? p2417 (quote 
each-any)) (let ((l2421 (match-each-any2405 e2416 w2418 mod2420))) (and l2421 
(cons l2421 r2419)))) (else (let ((t2422 (vector-ref p2417 0))) (if (memv t2422 
(quote (each))) (if (null? e2416) (match-empty2406 (vector-ref p2417 1) r2419) 
(let ((l2423 (match-each2404 e2416 (vector-ref p2417 1) w2418 mod2420))) (and 
l2423 (let collect2424 ((l2425 l2423)) (if (null? (car l2425)) r2419 (cons (map 
car l2425) (collect2424 (map cdr l2425)))))))) (if (memv t2422 (quote 
(free-id))) (and (id?1216 e2416) (free-id=?1239 (wrap1244 e2416 w2418 mod2420) 
(vector-ref p2417 1)) r2419) (if (memv t2422 (quote (atom))) (and (equal? 
(vector-ref p2417 1) (strip1263 e2416 w2418)) r2419) (if (memv t2422 (quote 
(vector))) (and (vector? e2416) (match2408 (vector->list e2416) (vector-ref 
p2417 1) w2418 r2419 mod2420))))))))))) (match-empty2406 (lambda (p2426 r2427) 
(cond ((null? p2426) r2427) ((eq? p2426 (quote any)) (cons (quote ()) r2427)) 
((pair? p2426) (match-empty2406 (car p2426) (match-empty2406 (cdr p2426) 
r2427))) ((eq? p2426 (quote each-any)) (cons (quote ()) r2427)) (else (let 
((t2428 (vector-ref p2426 0))) (if (memv t2428 (quote (each))) (match-empty2406 
(vector-ref p2426 1) r2427) (if (memv t2428 (quote (free-id atom))) r2427 (if 
(memv t2428 (quote (vector))) (match-empty2406 (vector-ref p2426 1) 
r2427))))))))) (match-each-any2405 (lambda (e2429 w2430 mod2431) (cond 
((annotation? e2429) (match-each-any2405 (annotation-expression e2429) w2430 
mod2431)) ((pair? e2429) (let ((l2432 (match-each-any2405 (cdr e2429) w2430 
mod2431))) (and l2432 (cons (wrap1244 (car e2429) w2430 mod2431) l2432)))) 
((null? e2429) (quote ())) ((syntax-object?1200 e2429) (match-each-any2405 
(syntax-object-expression1201 e2429) (join-wraps1235 w2430 
(syntax-object-wrap1202 e2429)) mod2431)) (else #f)))) (match-each2404 (lambda 
(e2433 p2434 w2435 mod2436) (cond ((annotation? e2433) (match-each2404 
(annotation-expression e2433) p2434 w2435 mod2436)) ((pair? e2433) (let 
((first2437 (match2408 (car e2433) p2434 w2435 (quote ()) mod2436))) (and 
first2437 (let ((rest2438 (match-each2404 (cdr e2433) p2434 w2435 mod2436))) 
(and rest2438 (cons first2437 rest2438)))))) ((null? e2433) (quote ())) 
((syntax-object?1200 e2433) (match-each2404 (syntax-object-expression1201 
e2433) p2434 (join-wraps1235 w2435 (syntax-object-wrap1202 e2433)) 
(syntax-object-module1203 e2433))) (else #f))))) (set! $sc-dispatch (lambda 
(e2439 p2440) (cond ((eq? p2440 (quote any)) (list e2439)) ((syntax-object?1200 
e2439) (match*2407 (let ((e2441 (syntax-object-expression1201 e2439))) (if 
(annotation? e2441) (annotation-expression e2441) e2441)) p2440 
(syntax-object-wrap1202 e2439) (quote ()) (syntax-object-module1203 e2439))) 
(else (match*2407 (let ((e2442 e2439)) (if (annotation? e2442) 
(annotation-expression e2442) e2442)) p2440 (quote (())) (quote ()) #f)))))))))
+(define with-syntax (make-syncase-macro (quote macro) (lambda (x2443) ((lambda 
(tmp2444) ((lambda (tmp2445) (if tmp2445 (apply (lambda (_2446 e12447 e22448) 
(cons (quote #(syntax-object begin ((top) #(ribcage #(_ e1 e2) #((top) (top) 
(top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (cons e12447 e22448))) tmp2445) ((lambda (tmp2450) (if 
tmp2450 (apply (lambda (_2451 out2452 in2453 e12454 e22455) (list (quote 
#(syntax-object syntax-case ((top) #(ribcage #(_ out in e1 e2) #((top) (top) 
(top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) 
#((top)) #("i"))) (hygiene guile))) in2453 (quote ()) (list out2452 (cons 
(quote #(syntax-object begin ((top) #(ribcage #(_ out in e1 e2) #((top) (top) 
(top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) 
#((top)) #("i"))) (hygiene guile))) (cons e12454 e22455))))) tmp2450) ((lambda 
(tmp2457) (if tmp2457 (apply (lambda (_2458 out2459 in2460 e12461 e22462) (list 
(quote #(syntax-object syntax-case ((top) #(ribcage #(_ out in e1 e2) #((top) 
(top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(x) #((top)) #("i"))) (hygiene guile))) (cons (quote #(syntax-object list 
((top) #(ribcage #(_ out in e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" 
"i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) in2460) (quote ()) (list out2459 (cons (quote #(syntax-object begin 
((top) #(ribcage #(_ out in e1 e2) #((top) (top) (top) (top) (top)) #("i" "i" 
"i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (cons e12461 e22462))))) tmp2457) (syntax-violation #f "source 
expression failed to match any pattern" tmp2444))) ($sc-dispatch tmp2444 (quote 
(any #(each (any any)) any . each-any)))))) ($sc-dispatch tmp2444 (quote (any 
((any any)) any . each-any)))))) ($sc-dispatch tmp2444 (quote (any () any . 
each-any))))) x2443))))
+(define syntax-rules (make-syncase-macro (quote macro) (lambda (x2466) 
((lambda (tmp2467) ((lambda (tmp2468) (if tmp2468 (apply (lambda (_2469 k2470 
keyword2471 pattern2472 template2473) (list (quote #(syntax-object lambda 
((top) #(ribcage #(_ k keyword pattern template) #((top) (top) (top) (top) 
(top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) 
#("i"))) (hygiene guile))) (quote (#(syntax-object x ((top) #(ribcage #(_ k 
keyword pattern template) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile)))) 
(cons (quote #(syntax-object syntax-case ((top) #(ribcage #(_ k keyword pattern 
template) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () 
() ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (cons (quote 
#(syntax-object x ((top) #(ribcage #(_ k keyword pattern template) #((top) 
(top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(x) #((top)) #("i"))) (hygiene guile))) (cons k2470 (map (lambda (tmp2476 
tmp2475) (list (cons (quote #(syntax-object dummy ((top) #(ribcage #(_ k 
keyword pattern template) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
tmp2475) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ k keyword 
pattern template) #((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) 
#(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
tmp2476))) template2473 pattern2472)))))) tmp2468) (syntax-violation #f "source 
expression failed to match any pattern" tmp2467))) ($sc-dispatch tmp2467 (quote 
(any each-any . #(each ((any . any) any))))))) x2466))))
+(define let* (make-extended-syncase-macro (module-ref (current-module) (quote 
let*)) (quote macro) (lambda (x2477) ((lambda (tmp2478) ((lambda (tmp2479) (if 
(if tmp2479 (apply (lambda (let*2480 x2481 v2482 e12483 e22484) (and-map 
identifier? x2481)) tmp2479) #f) (apply (lambda (let*2486 x2487 v2488 e12489 
e22490) (let f2491 ((bindings2492 (map list x2487 v2488))) (if (null? 
bindings2492) (cons (quote #(syntax-object let ((top) #(ribcage () () ()) 
#(ribcage #(f bindings) #((top) (top)) #("i" "i")) #(ribcage #(let* x v e1 e2) 
#((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) 
#(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (cons (quote ()) (cons 
e12489 e22490))) ((lambda (tmp2496) ((lambda (tmp2497) (if tmp2497 (apply 
(lambda (body2498 binding2499) (list (quote #(syntax-object let ((top) 
#(ribcage #(body binding) #((top) (top)) #("i" "i")) #(ribcage () () ()) 
#(ribcage #(f bindings) #((top) (top)) #("i" "i")) #(ribcage #(let* x v e1 e2) 
#((top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i")) #(ribcage () () ()) 
#(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (list binding2499) 
body2498)) tmp2497) (syntax-violation #f "source expression failed to match any 
pattern" tmp2496))) ($sc-dispatch tmp2496 (quote (any any))))) (list (f2491 
(cdr bindings2492)) (car bindings2492)))))) tmp2479) (syntax-violation #f 
"source expression failed to match any pattern" tmp2478))) ($sc-dispatch 
tmp2478 (quote (any #(each (any any)) any . each-any))))) x2477))))
+(define do (make-extended-syncase-macro (module-ref (current-module) (quote 
do)) (quote macro) (lambda (orig-x2500) ((lambda (tmp2501) ((lambda (tmp2502) 
(if tmp2502 (apply (lambda (_2503 var2504 init2505 step2506 e02507 e12508 
c2509) ((lambda (tmp2510) ((lambda (tmp2511) (if tmp2511 (apply (lambda 
(step2512) ((lambda (tmp2513) ((lambda (tmp2514) (if tmp2514 (apply (lambda () 
(list (quote #(syntax-object let ((top) #(ribcage #(step) #((top)) #("i")) 
#(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) 
(top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(orig-x) 
#((top)) #("i"))) (hygiene guile))) (quote #(syntax-object doloop ((top) 
#(ribcage #(step) #((top)) #("i")) #(ribcage #(_ var init step e0 e1 c) #((top) 
(top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(orig-x) #((top)) #("i"))) (hygiene guile))) (map list 
var2504 init2505) (list (quote #(syntax-object if ((top) #(ribcage #(step) 
#((top)) #("i")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) 
(top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) 
#(ribcage #(orig-x) #((top)) #("i"))) (hygiene guile))) (list (quote 
#(syntax-object not ((top) #(ribcage #(step) #((top)) #("i")) #(ribcage #(_ var 
init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i" "i" "i" 
"i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i"))) 
(hygiene guile))) e02507) (cons (quote #(syntax-object begin ((top) #(ribcage 
#(step) #((top)) #("i")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) 
(top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () 
()) #(ribcage #(orig-x) #((top)) #("i"))) (hygiene guile))) (append c2509 (list 
(cons (quote #(syntax-object doloop ((top) #(ribcage #(step) #((top)) #("i")) 
#(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) 
(top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(orig-x) 
#((top)) #("i"))) (hygiene guile))) step2512))))))) tmp2514) ((lambda (tmp2519) 
(if tmp2519 (apply (lambda (e12520 e22521) (list (quote #(syntax-object let 
((top) #(ribcage #(e1 e2) #((top) (top)) #("i" "i")) #(ribcage #(step) #((top)) 
#("i")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) 
(top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(orig-x) #((top)) #("i"))) (hygiene guile))) (quote #(syntax-object doloop 
((top) #(ribcage #(e1 e2) #((top) (top)) #("i" "i")) #(ribcage #(step) #((top)) 
#("i")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) 
(top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(orig-x) #((top)) #("i"))) (hygiene guile))) (map list var2504 init2505) (list 
(quote #(syntax-object if ((top) #(ribcage #(e1 e2) #((top) (top)) #("i" "i")) 
#(ribcage #(step) #((top)) #("i")) #(ribcage #(_ var init step e0 e1 c) #((top) 
(top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(orig-x) #((top)) #("i"))) (hygiene guile))) e02507 (cons 
(quote #(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i" 
"i")) #(ribcage #(step) #((top)) #("i")) #(ribcage #(_ var init step e0 e1 c) 
#((top) (top) (top) (top) (top) (top) (top)) #("i" "i" "i" "i" "i" "i" "i")) 
#(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i"))) (hygiene guile))) 
(cons e12520 e22521)) (cons (quote #(syntax-object begin ((top) #(ribcage #(e1 
e2) #((top) (top)) #("i" "i")) #(ribcage #(step) #((top)) #("i")) #(ribcage #(_ 
var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i" "i" 
"i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i"))) 
(hygiene guile))) (append c2509 (list (cons (quote #(syntax-object doloop 
((top) #(ribcage #(e1 e2) #((top) (top)) #("i" "i")) #(ribcage #(step) #((top)) 
#("i")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) 
(top) (top)) #("i" "i" "i" "i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(orig-x) #((top)) #("i"))) (hygiene guile))) step2512))))))) tmp2519) 
(syntax-violation #f "source expression failed to match any pattern" tmp2513))) 
($sc-dispatch tmp2513 (quote (any . each-any)))))) ($sc-dispatch tmp2513 (quote 
())))) e12508)) tmp2511) (syntax-violation #f "source expression failed to 
match any pattern" tmp2510))) ($sc-dispatch tmp2510 (quote each-any)))) (map 
(lambda (v2528 s2529) ((lambda (tmp2530) ((lambda (tmp2531) (if tmp2531 (apply 
(lambda () v2528) tmp2531) ((lambda (tmp2532) (if tmp2532 (apply (lambda 
(e2533) e2533) tmp2532) ((lambda (_2534) (syntax-violation (quote do) "bad step 
expression" orig-x2500 s2529)) tmp2530))) ($sc-dispatch tmp2530 (quote 
(any)))))) ($sc-dispatch tmp2530 (quote ())))) s2529)) var2504 step2506))) 
tmp2502) (syntax-violation #f "source expression failed to match any pattern" 
tmp2501))) ($sc-dispatch tmp2501 (quote (any #(each (any any . any)) (any . 
each-any) . each-any))))) orig-x2500))))
+(define quasiquote (make-extended-syncase-macro (module-ref (current-module) 
(quote quasiquote)) (quote macro) (letrec ((quasicons2537 (lambda (x2541 y2542) 
((lambda (tmp2543) ((lambda (tmp2544) (if tmp2544 (apply (lambda (x2545 y2546) 
((lambda (tmp2547) ((lambda (tmp2548) (if tmp2548 (apply (lambda (dy2549) 
((lambda (tmp2550) ((lambda (tmp2551) (if tmp2551 (apply (lambda (dx2552) (list 
(quote #(syntax-object quote ((top) #(ribcage #(dx) #((top)) #("i")) #(ribcage 
#(dy) #((top)) #("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage () 
() ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" "i")) 
#(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) 
#("i" "i" "i" "i"))) (hygiene guile))) (cons dx2552 dy2549))) tmp2551) ((lambda 
(_2553) (if (null? dy2549) (list (quote #(syntax-object list ((top) #(ribcage 
#(_) #((top)) #("i")) #(ribcage #(dy) #((top)) #("i")) #(ribcage #(x y) #((top) 
(top)) #("i" "i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) 
#((top) (top)) #("i" "i")) #(ribcage #(quasicons quasiappend quasivector quasi) 
#((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) x2545) (list 
(quote #(syntax-object cons ((top) #(ribcage #(_) #((top)) #("i")) #(ribcage 
#(dy) #((top)) #("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage () 
() ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" "i")) 
#(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) 
#("i" "i" "i" "i"))) (hygiene guile))) x2545 y2546))) tmp2550))) ($sc-dispatch 
tmp2550 (quote (#(free-id #(syntax-object quote ((top) #(ribcage #(dy) #((top)) 
#("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage () () ()) 
#(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage 
#(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" 
"i" "i"))) (hygiene guile))) any))))) x2545)) tmp2548) ((lambda (tmp2554) (if 
tmp2554 (apply (lambda (stuff2555) (cons (quote #(syntax-object list ((top) 
#(ribcage #(stuff) #((top)) #("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) 
#(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" 
"i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) 
(top)) #("i" "i" "i" "i"))) (hygiene guile))) (cons x2545 stuff2555))) tmp2554) 
((lambda (else2556) (list (quote #(syntax-object cons ((top) #(ribcage #(else) 
#((top)) #("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage () () 
()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage 
#(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" 
"i" "i"))) (hygiene guile))) x2545 y2546)) tmp2547))) ($sc-dispatch tmp2547 
(quote (#(free-id #(syntax-object list ((top) #(ribcage #(x y) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) 
(top)) #("i" "i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) 
(top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) . any)))))) 
($sc-dispatch tmp2547 (quote (#(free-id #(syntax-object quote ((top) #(ribcage 
#(x y) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage () () ()) 
#(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage #(quasicons quasiappend 
quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene 
guile))) any))))) y2546)) tmp2544) (syntax-violation #f "source expression 
failed to match any pattern" tmp2543))) ($sc-dispatch tmp2543 (quote (any 
any))))) (list x2541 y2542)))) (quasiappend2538 (lambda (x2557 y2558) ((lambda 
(tmp2559) ((lambda (tmp2560) (if tmp2560 (apply (lambda (x2561 y2562) ((lambda 
(tmp2563) ((lambda (tmp2564) (if tmp2564 (apply (lambda () x2561) tmp2564) 
((lambda (_2565) (list (quote #(syntax-object append ((top) #(ribcage #(_) 
#((top)) #("i")) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage () () 
()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i" "i")) #(ribcage 
#(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" 
"i" "i"))) (hygiene guile))) x2561 y2562)) tmp2563))) ($sc-dispatch tmp2563 
(quote (#(free-id #(syntax-object quote ((top) #(ribcage #(x y) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) 
(top)) #("i" "i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) 
(top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) ()))))) y2562)) 
tmp2560) (syntax-violation #f "source expression failed to match any pattern" 
tmp2559))) ($sc-dispatch tmp2559 (quote (any any))))) (list x2557 y2558)))) 
(quasivector2539 (lambda (x2566) ((lambda (tmp2567) ((lambda (x2568) ((lambda 
(tmp2569) ((lambda (tmp2570) (if tmp2570 (apply (lambda (x2571) (list (quote 
#(syntax-object quote ((top) #(ribcage #(x) #((top)) #("i")) #(ribcage #(x) 
#((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) 
#((top)) #("i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) 
(top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) (list->vector 
x2571))) tmp2570) ((lambda (tmp2573) (if tmp2573 (apply (lambda (x2574) (cons 
(quote #(syntax-object vector ((top) #(ribcage #(x) #((top)) #("i")) #(ribcage 
#(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) 
#((top)) #("i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) 
(top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) x2574)) tmp2573) 
((lambda (_2576) (list (quote #(syntax-object list->vector ((top) #(ribcage 
#(_) #((top)) #("i")) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) 
#(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile))) x2568)) tmp2569))) ($sc-dispatch tmp2569 (quote (#(free-id 
#(syntax-object list ((top) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) 
#(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile))) . each-any)))))) ($sc-dispatch tmp2569 (quote (#(free-id 
#(syntax-object quote ((top) #(ribcage #(x) #((top)) #("i")) #(ribcage () () 
()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile))) each-any))))) x2568)) tmp2567)) x2566))) (quasi2540 (lambda 
(p2577 lev2578) ((lambda (tmp2579) ((lambda (tmp2580) (if tmp2580 (apply 
(lambda (p2581) (if (= lev2578 0) p2581 (quasicons2537 (quote (#(syntax-object 
quote ((top) #(ribcage #(p) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(p 
lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons quasiappend quasivector 
quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile)) 
#(syntax-object unquote ((top) #(ribcage #(p) #((top)) #("i")) #(ribcage () () 
()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile)))) (quasi2540 (list p2581) (- lev2578 1))))) tmp2580) ((lambda 
(tmp2582) (if tmp2582 (apply (lambda (p2583 q2584) (if (= lev2578 0) 
(quasiappend2538 p2583 (quasi2540 q2584 lev2578)) (quasicons2537 (quasicons2537 
(quote (#(syntax-object quote ((top) #(ribcage #(p q) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) 
#(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) 
#("i" "i" "i" "i"))) (hygiene guile)) #(syntax-object unquote-splicing ((top) 
#(ribcage #(p q) #((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(p 
lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons quasiappend quasivector 
quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile)))) 
(quasi2540 (list p2583) (- lev2578 1))) (quasi2540 q2584 lev2578)))) tmp2582) 
((lambda (tmp2585) (if tmp2585 (apply (lambda (p2586) (quasicons2537 (quote 
(#(syntax-object quote ((top) #(ribcage #(p) #((top)) #("i")) #(ribcage () () 
()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile)) #(syntax-object quasiquote ((top) #(ribcage #(p) #((top)) 
#("i")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) 
#(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) 
#("i" "i" "i" "i"))) (hygiene guile)))) (quasi2540 (list p2586) (+ lev2578 
1)))) tmp2585) ((lambda (tmp2587) (if tmp2587 (apply (lambda (p2588 q2589) 
(quasicons2537 (quasi2540 p2588 lev2578) (quasi2540 q2589 lev2578))) tmp2587) 
((lambda (tmp2590) (if tmp2590 (apply (lambda (x2591) (quasivector2539 
(quasi2540 x2591 lev2578))) tmp2590) ((lambda (p2593) (list (quote 
#(syntax-object quote ((top) #(ribcage #(p) #((top)) #("i")) #(ribcage () () 
()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons 
quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) 
(hygiene guile))) p2593)) tmp2579))) ($sc-dispatch tmp2579 (quote #(vector 
each-any)))))) ($sc-dispatch tmp2579 (quote (any . any)))))) ($sc-dispatch 
tmp2579 (quote (#(free-id #(syntax-object quasiquote ((top) #(ribcage () () ()) 
#(ribcage #(p lev) #((top) (top)) #("i" "i")) #(ribcage #(quasicons quasiappend 
quasivector quasi) #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene 
guile))) any)))))) ($sc-dispatch tmp2579 (quote ((#(free-id #(syntax-object 
unquote-splicing ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) 
#("i" "i")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) 
(top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) any) . any)))))) 
($sc-dispatch tmp2579 (quote (#(free-id #(syntax-object unquote ((top) 
#(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i" "i")) #(ribcage 
#(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i" "i" 
"i" "i"))) (hygiene guile))) any))))) p2577)))) (lambda (x2594) ((lambda 
(tmp2595) ((lambda (tmp2596) (if tmp2596 (apply (lambda (_2597 e2598) 
(quasi2540 e2598 0)) tmp2596) (syntax-violation #f "source expression failed to 
match any pattern" tmp2595))) ($sc-dispatch tmp2595 (quote (any any))))) 
x2594)))))
+(define include (make-syncase-macro (quote macro) (lambda (x2599) (letrec 
((read-file2600 (lambda (fn2601 k2602) (let ((p2603 (open-input-file fn2601))) 
(let f2604 ((x2605 (read p2603))) (if (eof-object? x2605) (begin 
(close-input-port p2603) (quote ())) (cons (datum->syntax k2602 x2605) (f2604 
(read p2603))))))))) ((lambda (tmp2606) ((lambda (tmp2607) (if tmp2607 (apply 
(lambda (k2608 filename2609) (let ((fn2610 (syntax->datum filename2609))) 
((lambda (tmp2611) ((lambda (tmp2612) (if tmp2612 (apply (lambda (exp2613) 
(cons (quote #(syntax-object begin ((top) #(ribcage #(exp) #((top)) #("i")) 
#(ribcage () () ()) #(ribcage () () ()) #(ribcage #(fn) #((top)) #("i")) 
#(ribcage #(k filename) #((top) (top)) #("i" "i")) #(ribcage (read-file) 
((top)) ("i")) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) exp2613)) 
tmp2612) (syntax-violation #f "source expression failed to match any pattern" 
tmp2611))) ($sc-dispatch tmp2611 (quote each-any)))) (read-file2600 fn2610 
k2608)))) tmp2607) (syntax-violation #f "source expression failed to match any 
pattern" tmp2606))) ($sc-dispatch tmp2606 (quote (any any))))) x2599)))))
+(define unquote (make-syncase-macro (quote macro) (lambda (x2615) ((lambda 
(tmp2616) ((lambda (tmp2617) (if tmp2617 (apply (lambda (_2618 e2619) 
(syntax-violation (quote unquote) "expression not valid outside of quasiquote" 
x2615)) tmp2617) (syntax-violation #f "source expression failed to match any 
pattern" tmp2616))) ($sc-dispatch tmp2616 (quote (any any))))) x2615))))
+(define unquote-splicing (make-syncase-macro (quote macro) (lambda (x2620) 
((lambda (tmp2621) ((lambda (tmp2622) (if tmp2622 (apply (lambda (_2623 e2624) 
(syntax-violation (quote unquote-splicing) "expression not valid outside of 
quasiquote" x2620)) tmp2622) (syntax-violation #f "source expression failed to 
match any pattern" tmp2621))) ($sc-dispatch tmp2621 (quote (any any))))) 
x2620))))
+(define case (make-extended-syncase-macro (module-ref (current-module) (quote 
case)) (quote macro) (lambda (x2625) ((lambda (tmp2626) ((lambda (tmp2627) (if 
tmp2627 (apply (lambda (_2628 e2629 m12630 m22631) ((lambda (tmp2632) ((lambda 
(body2633) (list (quote #(syntax-object let ((top) #(ribcage #(body) #((top)) 
#("i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) 
#(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (list 
(list (quote #(syntax-object t ((top) #(ribcage #(body) #((top)) #("i")) 
#(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) e2629)) body2633)) 
tmp2632)) (let f2634 ((clause2635 m12630) (clauses2636 m22631)) (if (null? 
clauses2636) ((lambda (tmp2638) ((lambda (tmp2639) (if tmp2639 (apply (lambda 
(e12640 e22641) (cons (quote #(syntax-object begin ((top) #(ribcage #(e1 e2) 
#((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(f clause clauses) 
#((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) 
(top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (cons e12640 e22641))) tmp2639) ((lambda (tmp2643) (if 
tmp2643 (apply (lambda (k2644 e12645 e22646) (list (quote #(syntax-object if 
((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () 
() ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i" "i" "i")) 
#(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (list (quote 
#(syntax-object memv ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" "i" 
"i")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) 
#("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
(quote #(syntax-object t ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" 
"i" "i")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) 
(top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" 
"i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (list (quote #(syntax-object quote ((top) #(ribcage #(k e1 e2) #((top) 
(top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage #(f clause clauses) 
#((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) 
(top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) k2644)) (cons (quote #(syntax-object begin ((top) #(ribcage 
#(k e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(f clause clauses) #((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) 
#((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(x) #((top)) #("i"))) (hygiene guile))) (cons e12645 e22646)))) tmp2643) 
((lambda (_2649) (syntax-violation (quote case) "bad clause" x2625 clause2635)) 
tmp2638))) ($sc-dispatch tmp2638 (quote (each-any any . each-any)))))) 
($sc-dispatch tmp2638 (quote (#(free-id #(syntax-object else ((top) #(ribcage 
() () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i" "i" "i")) 
#(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) any . 
each-any))))) clause2635) ((lambda (tmp2650) ((lambda (rest2651) ((lambda 
(tmp2652) ((lambda (tmp2653) (if tmp2653 (apply (lambda (k2654 e12655 e22656) 
(list (quote #(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) 
(top)) #("i" "i" "i")) #(ribcage #(rest) #((top)) #("i")) #(ribcage () () ()) 
#(ribcage #(f clause clauses) #((top) (top) (top)) #("i" "i" "i")) #(ribcage 
#(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) 
#(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (list (quote #(syntax-object 
memv ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" "i" "i")) #(ribcage 
#(rest) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(f clause clauses) 
#((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) (top) (top) 
(top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (quote #(syntax-object t ((top) #(ribcage #(k e1 e2) #((top) 
(top) (top)) #("i" "i" "i")) #(ribcage #(rest) #((top)) #("i")) #(ribcage () () 
()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i" "i" "i")) 
#(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage 
() () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) (list (quote 
#(syntax-object quote ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" 
"i" "i")) #(ribcage #(rest) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(f 
clause clauses) #((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) 
#((top) (top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage 
#(x) #((top)) #("i"))) (hygiene guile))) k2654)) (cons (quote #(syntax-object 
begin ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i" "i" "i")) 
#(ribcage #(rest) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(f clause 
clauses) #((top) (top) (top)) #("i" "i" "i")) #(ribcage #(_ e m1 m2) #((top) 
(top) (top) (top)) #("i" "i" "i" "i")) #(ribcage () () ()) #(ribcage #(x) 
#((top)) #("i"))) (hygiene guile))) (cons e12655 e22656)) rest2651)) tmp2653) 
((lambda (_2659) (syntax-violation (quote case) "bad clause" x2625 clause2635)) 
tmp2652))) ($sc-dispatch tmp2652 (quote (each-any any . each-any))))) 
clause2635)) tmp2650)) (f2634 (car clauses2636) (cdr clauses2636))))))) 
tmp2627) (syntax-violation #f "source expression failed to match any pattern" 
tmp2626))) ($sc-dispatch tmp2626 (quote (any any any . each-any))))) x2625))))
+(define identifier-syntax (make-syncase-macro (quote macro) (lambda (x2660) 
((lambda (tmp2661) ((lambda (tmp2662) (if tmp2662 (apply (lambda (_2663 e2664) 
(list (quote #(syntax-object lambda ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (quote (#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile)))) 
(list (quote #(syntax-object syntax-case ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))) (quote #(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
(quote ()) (list (quote #(syntax-object id ((top) #(ribcage #(_ e) #((top) 
(top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (quote (#(syntax-object identifier? ((top) #(ribcage #(_ e) 
#((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile)) (#(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile)) #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i" "i")) 
#(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))))) (list 
(quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i" 
"i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile))) 
e2664)) (list (cons _2663 (quote (#(syntax-object x ((top) #(ribcage #(_ e) 
#((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile)) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile))))) (list (quote #(syntax-object syntax ((top) #(ribcage #(_ e) #((top) 
(top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile))) (cons e2664 (quote (#(syntax-object x ((top) #(ribcage #(_ e) 
#((top) (top)) #("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) 
(hygiene guile)) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) 
#("i" "i")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene 
guile)))))))))) tmp2662) (syntax-violation #f "source expression failed to 
match any pattern" tmp2661))) ($sc-dispatch tmp2661 (quote (any any))))) 
x2660))))
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index fa289f3..9329e6f 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -22,6 +22,9 @@
 ;;; Extracted from Chez Scheme Version 5.9f
 ;;; Authors: R. Kent Dybvig, Oscar Waddell, Bob Hieb, Carl Bruggeman
 
+;;; Modified by Andy Wingo <address@hidden> according to the Git
+;;; revision control logs corresponding to this file: 2009.
+
 ;;; Modified by Mikael Djurfeldt <address@hidden> according
 ;;; to the ChangeLog distributed in the same directory as this file:
 ;;; 1997-08-19, 1997-09-03, 1997-09-10, 2000-08-13, 2000-08-24,
@@ -85,15 +88,8 @@
 ;;;      used by expanded code to handle syntax-case matching
 
 ;;; The following nonstandard procedures must be provided by the
-;;; implementation for this code to run.
-;;;
-;;; (void)
-;;; returns the implementation's cannonical "unspecified value".  This
-;;; usually works: (define void (lambda () (if #f #f))).
-;;;
-;;; The following nonstandard procedures must also be provided by the
 ;;; implementation for this code to run using the standard portable
-;;; hooks and output constructors.  They are not used by expanded code,
+;;; hooks and output constructors. They are not used by expanded code,
 ;;; and so need be present only at expansion time.
 ;;;
 ;;; (eval x)
@@ -111,12 +107,6 @@
 ;;;
 ;;; (gensym)
 ;;; returns a unique symbol each time it's called
-;;;
-;;; (putprop symbol key value)
-;;; (getprop symbol key)
-;;; key is always the symbol *sc-expander*; value may be any object.
-;;; putprop should associate the given value with the given symbol in
-;;; some way that it can be retrieved later with getprop.
 
 ;;; When porting to a new Scheme implementation, you should define the
 ;;; procedures listed above, load the expanded version of psyntax.ss
@@ -262,8 +252,6 @@
                         args))))))
     (syntax-case x ()
       ((_ (name id1 ...))
-       ;; But here we use and-map, because andmap isn't yet in scope for
-       ;; syntax.
        (and-map identifier? (syntax (name id1 ...)))
        (with-syntax
          ((constructor (construct-name (syntax name) "make-" (syntax name)))
@@ -1020,7 +1008,7 @@
                     ((_ name)
                      (id? (syntax name))
                      (values 'define-form (wrap (syntax name) w mod)
-                       (syntax (void))
+                       (syntax (if #f #f))
                        empty-wrap s mod))))
                  ((define-syntax)
                   (syntax-case e ()
@@ -1429,7 +1417,7 @@
 
 (define chi-void
   (lambda ()
-    (build-application no-source (build-primref no-source 'void) '())))
+    (build-application no-source (build-primref no-source 'if) '(#f #f))))
 
 (define ellipsis?
   (lambda (x)


hooks/post-receive
-- 
GNU Guile




reply via email to

[Prev in Thread] Current Thread [Next in Thread]