pretty-print psyntax-pp.scm
[bpt/guile.git] / module / ice-9 / psyntax-pp.scm
1 (eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
2 (if #f #f)
3
4 (letrec ((and-map*17
5 (lambda (f57 first56 . rest55)
6 (let ((t58 (null? first56)))
7 (if t58
8 t58
9 (if (null? rest55)
10 (letrec ((andmap59
11 (lambda (first60)
12 (let ((x61 (car first60))
13 (first62 (cdr first60)))
14 (if (null? first62)
15 (f57 x61)
16 (if (f57 x61) (andmap59 first62) #f))))))
17 (andmap59 first56))
18 (letrec ((andmap63
19 (lambda (first64 rest65)
20 (let ((x66 (car first64))
21 (xr67 (map car rest65))
22 (first68 (cdr first64))
23 (rest69 (map cdr rest65)))
24 (if (null? first68)
25 (apply f57 (cons x66 xr67))
26 (if (apply f57 (cons x66 xr67))
27 (andmap63 first68 rest69)
28 #f))))))
29 (andmap63 first56 rest55))))))))
30 (letrec ((lambda-var-list162
31 (lambda (vars286)
32 (letrec ((lvl287
33 (lambda (vars288 ls289 w290)
34 (if (pair? vars288)
35 (lvl287
36 (cdr vars288)
37 (cons (wrap142 (car vars288) w290 #f) ls289)
38 w290)
39 (if (id?114 vars288)
40 (cons (wrap142 vars288 w290 #f) ls289)
41 (if (null? vars288)
42 ls289
43 (if (syntax-object?98 vars288)
44 (lvl287
45 (syntax-object-expression99 vars288)
46 ls289
47 (join-wraps133
48 w290
49 (syntax-object-wrap100 vars288)))
50 (cons vars288 ls289))))))))
51 (lvl287 vars286 (quote ()) (quote (()))))))
52 (gen-var161
53 (lambda (id291)
54 (let ((id292 (if (syntax-object?98 id291)
55 (syntax-object-expression99 id291)
56 id291)))
57 (gensym (symbol->string id292)))))
58 (strip160
59 (lambda (x293 w294)
60 (if (memq (quote top) (wrap-marks117 w294))
61 x293
62 (letrec ((f295 (lambda (x296)
63 (if (syntax-object?98 x296)
64 (strip160
65 (syntax-object-expression99 x296)
66 (syntax-object-wrap100 x296))
67 (if (pair? x296)
68 (let ((a297 (f295 (car x296)))
69 (d298 (f295 (cdr x296))))
70 (if (if (eq? a297 (car x296))
71 (eq? d298 (cdr x296))
72 #f)
73 x296
74 (cons a297 d298)))
75 (if (vector? x296)
76 (let ((old299 (vector->list x296)))
77 (let ((new300 (map f295 old299)))
78 (if (and-map*17 eq? old299 new300)
79 x296
80 (list->vector new300))))
81 x296))))))
82 (f295 x293)))))
83 (ellipsis?159
84 (lambda (x301)
85 (if (nonsymbol-id?113 x301)
86 (free-id=?137
87 x301
88 '#(syntax-object
89 ...
90 ((top)
91 #(ribcage () () ())
92 #(ribcage () () ())
93 #(ribcage #(x) #((top)) #("i"))
94 #(ribcage
95 (lambda-var-list
96 gen-var
97 strip
98 ellipsis?
99 chi-void
100 eval-local-transformer
101 chi-local-syntax
102 chi-lambda-clause
103 chi-body
104 chi-macro
105 chi-application
106 chi-expr
107 chi
108 chi-top
109 syntax-type
110 chi-when-list
111 chi-install-global
112 chi-top-sequence
113 chi-sequence
114 source-wrap
115 wrap
116 bound-id-member?
117 distinct-bound-ids?
118 valid-bound-ids?
119 bound-id=?
120 free-id=?
121 id-var-name
122 same-marks?
123 join-marks
124 join-wraps
125 smart-append
126 make-binding-wrap
127 extend-ribcage!
128 make-empty-ribcage
129 new-mark
130 anti-mark
131 the-anti-mark
132 top-marked?
133 top-wrap
134 empty-wrap
135 set-ribcage-labels!
136 set-ribcage-marks!
137 set-ribcage-symnames!
138 ribcage-labels
139 ribcage-marks
140 ribcage-symnames
141 ribcage?
142 make-ribcage
143 gen-labels
144 gen-label
145 make-rename
146 rename-marks
147 rename-new
148 rename-old
149 subst-rename?
150 wrap-subst
151 wrap-marks
152 make-wrap
153 id-sym-name&marks
154 id-sym-name
155 id?
156 nonsymbol-id?
157 global-extend
158 lookup
159 macros-only-env
160 extend-var-env
161 extend-env
162 null-env
163 binding-value
164 binding-type
165 make-binding
166 arg-check
167 source-annotation
168 no-source
169 set-syntax-object-module!
170 set-syntax-object-wrap!
171 set-syntax-object-expression!
172 syntax-object-module
173 syntax-object-wrap
174 syntax-object-expression
175 syntax-object?
176 make-syntax-object
177 build-lexical-var
178 build-letrec
179 build-named-let
180 build-let
181 build-sequence
182 build-data
183 build-primref
184 build-lambda
185 build-global-definition
186 maybe-name-value!
187 build-global-assignment
188 build-global-reference
189 analyze-variable
190 build-lexical-assignment
191 build-lexical-reference
192 build-conditional
193 build-application
194 build-void
195 get-global-definition-hook
196 put-global-definition-hook
197 gensym-hook
198 local-eval-hook
199 top-level-eval-hook
200 fx<
201 fx=
202 fx-
203 fx+
204 *mode*
205 noexpand)
206 ((top)
207 (top)
208 (top)
209 (top)
210 (top)
211 (top)
212 (top)
213 (top)
214 (top)
215 (top)
216 (top)
217 (top)
218 (top)
219 (top)
220 (top)
221 (top)
222 (top)
223 (top)
224 (top)
225 (top)
226 (top)
227 (top)
228 (top)
229 (top)
230 (top)
231 (top)
232 (top)
233 (top)
234 (top)
235 (top)
236 (top)
237 (top)
238 (top)
239 (top)
240 (top)
241 (top)
242 (top)
243 (top)
244 (top)
245 (top)
246 (top)
247 (top)
248 (top)
249 (top)
250 (top)
251 (top)
252 (top)
253 (top)
254 (top)
255 (top)
256 (top)
257 (top)
258 (top)
259 (top)
260 (top)
261 (top)
262 (top)
263 (top)
264 (top)
265 (top)
266 (top)
267 (top)
268 (top)
269 (top)
270 (top)
271 (top)
272 (top)
273 (top)
274 (top)
275 (top)
276 (top)
277 (top)
278 (top)
279 (top)
280 (top)
281 (top)
282 (top)
283 (top)
284 (top)
285 (top)
286 (top)
287 (top)
288 (top)
289 (top)
290 (top)
291 (top)
292 (top)
293 (top)
294 (top)
295 (top)
296 (top)
297 (top)
298 (top)
299 (top)
300 (top)
301 (top)
302 (top)
303 (top)
304 (top)
305 (top)
306 (top)
307 (top)
308 (top)
309 (top)
310 (top)
311 (top)
312 (top)
313 (top)
314 (top)
315 (top)
316 (top))
317 ("i"
318 "i"
319 "i"
320 "i"
321 "i"
322 "i"
323 "i"
324 "i"
325 "i"
326 "i"
327 "i"
328 "i"
329 "i"
330 "i"
331 "i"
332 "i"
333 "i"
334 "i"
335 "i"
336 "i"
337 "i"
338 "i"
339 "i"
340 "i"
341 "i"
342 "i"
343 "i"
344 "i"
345 "i"
346 "i"
347 "i"
348 "i"
349 "i"
350 "i"
351 "i"
352 "i"
353 "i"
354 "i"
355 "i"
356 "i"
357 "i"
358 "i"
359 "i"
360 "i"
361 "i"
362 "i"
363 "i"
364 "i"
365 "i"
366 "i"
367 "i"
368 "i"
369 "i"
370 "i"
371 "i"
372 "i"
373 "i"
374 "i"
375 "i"
376 "i"
377 "i"
378 "i"
379 "i"
380 "i"
381 "i"
382 "i"
383 "i"
384 "i"
385 "i"
386 "i"
387 "i"
388 "i"
389 "i"
390 "i"
391 "i"
392 "i"
393 "i"
394 "i"
395 "i"
396 "i"
397 "i"
398 "i"
399 "i"
400 "i"
401 "i"
402 "i"
403 "i"
404 "i"
405 "i"
406 "i"
407 "i"
408 "i"
409 "i"
410 "i"
411 "i"
412 "i"
413 "i"
414 "i"
415 "i"
416 "i"
417 "i"
418 "i"
419 "i"
420 "i"
421 "i"
422 "i"
423 "i"
424 "i"
425 "i"
426 "i"
427 "i"))
428 #(ribcage
429 (define-structure and-map*)
430 ((top) (top))
431 ("i" "i")))
432 (hygiene guile)))
433 #f)))
434 (chi-void158 (lambda () (build-void80 #f)))
435 (eval-local-transformer157
436 (lambda (expanded302 mod303)
437 (let ((p304 (local-eval-hook77 expanded302 mod303)))
438 (if (procedure? p304)
439 p304
440 (syntax-violation
441 #f
442 "nonprocedure transformer"
443 p304)))))
444 (chi-local-syntax156
445 (lambda (rec?305 e306 r307 w308 s309 mod310 k311)
446 ((lambda (tmp312)
447 ((lambda (tmp313)
448 (if tmp313
449 (apply (lambda (_314 id315 val316 e1317 e2318)
450 (let ((ids319 id315))
451 (if (not (valid-bound-ids?139 ids319))
452 (syntax-violation
453 #f
454 "duplicate bound keyword"
455 e306)
456 (let ((labels321 (gen-labels120 ids319)))
457 (let ((new-w322
458 (make-binding-wrap131
459 ids319
460 labels321
461 w308)))
462 (k311 (cons e1317 e2318)
463 (extend-env108
464 labels321
465 (let ((w324 (if rec?305
466 new-w322
467 w308))
468 (trans-r325
469 (macros-only-env110
470 r307)))
471 (map (lambda (x326)
472 (cons 'macro
473 (eval-local-transformer157
474 (chi150
475 x326
476 trans-r325
477 w324
478 mod310)
479 mod310)))
480 val316))
481 r307)
482 new-w322
483 s309
484 mod310))))))
485 tmp313)
486 ((lambda (_328)
487 (syntax-violation
488 #f
489 "bad local syntax definition"
490 (source-wrap143 e306 w308 s309 mod310)))
491 tmp312)))
492 ($sc-dispatch
493 tmp312
494 '(any #(each (any any)) any . each-any))))
495 e306)))
496 (chi-lambda-clause155
497 (lambda (e329 docstring330 c331 r332 w333 mod334 k335)
498 ((lambda (tmp336)
499 ((lambda (tmp337)
500 (if (if tmp337
501 (apply (lambda (args338 doc339 e1340 e2341)
502 (if (string? (syntax->datum doc339))
503 (not docstring330)
504 #f))
505 tmp337)
506 #f)
507 (apply (lambda (args342 doc343 e1344 e2345)
508 (chi-lambda-clause155
509 e329
510 doc343
511 (cons args342 (cons e1344 e2345))
512 r332
513 w333
514 mod334
515 k335))
516 tmp337)
517 ((lambda (tmp347)
518 (if tmp347
519 (apply (lambda (id348 e1349 e2350)
520 (let ((ids351 id348))
521 (if (not (valid-bound-ids?139 ids351))
522 (syntax-violation
523 'lambda
524 "invalid parameter list"
525 e329)
526 (let ((labels353
527 (gen-labels120 ids351))
528 (new-vars354
529 (map gen-var161 ids351)))
530 (k335 (map syntax->datum ids351)
531 new-vars354
532 (if docstring330
533 (syntax->datum docstring330)
534 #f)
535 (chi-body154
536 (cons e1349 e2350)
537 e329
538 (extend-var-env109
539 labels353
540 new-vars354
541 r332)
542 (make-binding-wrap131
543 ids351
544 labels353
545 w333)
546 mod334))))))
547 tmp347)
548 ((lambda (tmp356)
549 (if tmp356
550 (apply (lambda (ids357 e1358 e2359)
551 (let ((old-ids360
552 (lambda-var-list162 ids357)))
553 (if (not (valid-bound-ids?139
554 old-ids360))
555 (syntax-violation
556 'lambda
557 "invalid parameter list"
558 e329)
559 (let ((labels361
560 (gen-labels120
561 old-ids360))
562 (new-vars362
563 (map gen-var161
564 old-ids360)))
565 (k335 (letrec ((f363 (lambda (ls1364
566 ls2365)
567 (if (null? ls1364)
568 (syntax->datum
569 ls2365)
570 (f363 (cdr ls1364)
571 (cons (syntax->datum
572 (car ls1364))
573 ls2365))))))
574 (f363 (cdr old-ids360)
575 (car old-ids360)))
576 (letrec ((f366 (lambda (ls1367
577 ls2368)
578 (if (null? ls1367)
579 ls2368
580 (f366 (cdr ls1367)
581 (cons (car ls1367)
582 ls2368))))))
583 (f366 (cdr new-vars362)
584 (car new-vars362)))
585 (if docstring330
586 (syntax->datum
587 docstring330)
588 #f)
589 (chi-body154
590 (cons e1358 e2359)
591 e329
592 (extend-var-env109
593 labels361
594 new-vars362
595 r332)
596 (make-binding-wrap131
597 old-ids360
598 labels361
599 w333)
600 mod334))))))
601 tmp356)
602 ((lambda (_370)
603 (syntax-violation
604 'lambda
605 "bad lambda"
606 e329))
607 tmp336)))
608 ($sc-dispatch
609 tmp336
610 '(any any . each-any)))))
611 ($sc-dispatch
612 tmp336
613 '(each-any any . each-any)))))
614 ($sc-dispatch
615 tmp336
616 '(any any any . each-any))))
617 c331)))
618 (chi-body154
619 (lambda (body371 outer-form372 r373 w374 mod375)
620 (let ((r376 (cons (quote ("placeholder" placeholder)) r373)))
621 (let ((ribcage377
622 (make-ribcage121
623 '()
624 '()
625 '())))
626 (let ((w378 (make-wrap116
627 (wrap-marks117 w374)
628 (cons ribcage377 (wrap-subst118 w374)))))
629 (letrec ((parse379
630 (lambda (body380
631 ids381
632 labels382
633 var-ids383
634 vars384
635 vals385
636 bindings386)
637 (if (null? body380)
638 (syntax-violation
639 #f
640 "no expressions in body"
641 outer-form372)
642 (let ((e388 (cdar body380))
643 (er389 (caar body380)))
644 (call-with-values
645 (lambda ()
646 (syntax-type148
647 e388
648 er389
649 '(())
650 (source-annotation105 er389)
651 ribcage377
652 mod375
653 #f))
654 (lambda (type390
655 value391
656 e392
657 w393
658 s394
659 mod395)
660 (if (memv type390
661 '(define-form))
662 (let ((id396 (wrap142
663 value391
664 w393
665 mod395))
666 (label397 (gen-label119)))
667 (let ((var398
668 (gen-var161 id396)))
669 (begin
670 (extend-ribcage!130
671 ribcage377
672 id396
673 label397)
674 (parse379
675 (cdr body380)
676 (cons id396 ids381)
677 (cons label397 labels382)
678 (cons id396 var-ids383)
679 (cons var398 vars384)
680 (cons (cons er389
681 (wrap142
682 e392
683 w393
684 mod395))
685 vals385)
686 (cons (cons 'lexical
687 var398)
688 bindings386)))))
689 (if (memv type390
690 '(define-syntax-form))
691 (let ((id399 (wrap142
692 value391
693 w393
694 mod395))
695 (label400 (gen-label119)))
696 (begin
697 (extend-ribcage!130
698 ribcage377
699 id399
700 label400)
701 (parse379
702 (cdr body380)
703 (cons id399 ids381)
704 (cons label400 labels382)
705 var-ids383
706 vars384
707 vals385
708 (cons (cons 'macro
709 (cons er389
710 (wrap142
711 e392
712 w393
713 mod395)))
714 bindings386))))
715 (if (memv type390
716 '(begin-form))
717 ((lambda (tmp401)
718 ((lambda (tmp402)
719 (if tmp402
720 (apply (lambda (_403
721 e1404)
722 (parse379
723 (letrec ((f405 (lambda (forms406)
724 (if (null? forms406)
725 (cdr body380)
726 (cons (cons er389
727 (wrap142
728 (car forms406)
729 w393
730 mod395))
731 (f405 (cdr forms406)))))))
732 (f405 e1404))
733 ids381
734 labels382
735 var-ids383
736 vars384
737 vals385
738 bindings386))
739 tmp402)
740 (syntax-violation
741 #f
742 "source expression failed to match any pattern"
743 tmp401)))
744 ($sc-dispatch
745 tmp401
746 '(any . each-any))))
747 e392)
748 (if (memv type390
749 '(local-syntax-form))
750 (chi-local-syntax156
751 value391
752 e392
753 er389
754 w393
755 s394
756 mod395
757 (lambda (forms408
758 er409
759 w410
760 s411
761 mod412)
762 (parse379
763 (letrec ((f413 (lambda (forms414)
764 (if (null? forms414)
765 (cdr body380)
766 (cons (cons er409
767 (wrap142
768 (car forms414)
769 w410
770 mod412))
771 (f413 (cdr forms414)))))))
772 (f413 forms408))
773 ids381
774 labels382
775 var-ids383
776 vars384
777 vals385
778 bindings386)))
779 (if (null? ids381)
780 (build-sequence93
781 #f
782 (map (lambda (x415)
783 (chi150
784 (cdr x415)
785 (car x415)
786 '(())
787 mod395))
788 (cons (cons er389
789 (source-wrap143
790 e392
791 w393
792 s394
793 mod395))
794 (cdr body380))))
795 (begin
796 (if (not (valid-bound-ids?139
797 ids381))
798 (syntax-violation
799 #f
800 "invalid or duplicate identifier in definition"
801 outer-form372))
802 (letrec ((loop416
803 (lambda (bs417
804 er-cache418
805 r-cache419)
806 (if (not (null? bs417))
807 (let ((b420 (car bs417)))
808 (if (eq? (car b420)
809 'macro)
810 (let ((er421 (cadr b420)))
811 (let ((r-cache422
812 (if (eq? er421
813 er-cache418)
814 r-cache419
815 (macros-only-env110
816 er421))))
817 (begin
818 (set-cdr!
819 b420
820 (eval-local-transformer157
821 (chi150
822 (cddr b420)
823 r-cache422
824 '(())
825 mod395)
826 mod395))
827 (loop416
828 (cdr bs417)
829 er421
830 r-cache422))))
831 (loop416
832 (cdr bs417)
833 er-cache418
834 r-cache419)))))))
835 (loop416
836 bindings386
837 #f
838 #f))
839 (set-cdr!
840 r376
841 (extend-env108
842 labels382
843 bindings386
844 (cdr r376)))
845 (build-letrec96
846 #f
847 (map syntax->datum
848 var-ids383)
849 vars384
850 (map (lambda (x423)
851 (chi150
852 (cdr x423)
853 (car x423)
854 '(())
855 mod395))
856 vals385)
857 (build-sequence93
858 #f
859 (map (lambda (x424)
860 (chi150
861 (cdr x424)
862 (car x424)
863 '(())
864 mod395))
865 (cons (cons er389
866 (source-wrap143
867 e392
868 w393
869 s394
870 mod395))
871 (cdr body380))))))))))))))))))
872 (parse379
873 (map (lambda (x387)
874 (cons r376 (wrap142 x387 w378 mod375)))
875 body371)
876 '()
877 '()
878 '()
879 '()
880 '()
881 '())))))))
882 (chi-macro153
883 (lambda (p425 e426 r427 w428 rib429 mod430)
884 (letrec ((rebuild-macro-output431
885 (lambda (x432 m433)
886 (if (pair? x432)
887 (cons (rebuild-macro-output431 (car x432) m433)
888 (rebuild-macro-output431 (cdr x432) m433))
889 (if (syntax-object?98 x432)
890 (let ((w434 (syntax-object-wrap100 x432)))
891 (let ((ms435 (wrap-marks117 w434))
892 (s436 (wrap-subst118 w434)))
893 (if (if (pair? ms435)
894 (eq? (car ms435) #f)
895 #f)
896 (make-syntax-object97
897 (syntax-object-expression99 x432)
898 (make-wrap116
899 (cdr ms435)
900 (if rib429
901 (cons rib429 (cdr s436))
902 (cdr s436)))
903 (syntax-object-module101 x432))
904 (make-syntax-object97
905 (syntax-object-expression99 x432)
906 (make-wrap116
907 (cons m433 ms435)
908 (if rib429
909 (cons rib429
910 (cons (quote shift) s436))
911 (cons (quote shift) s436)))
912 (let ((pmod437
913 (procedure-module p425)))
914 (if pmod437
915 (cons 'hygiene
916 (module-name pmod437))
917 '(hygiene guile)))))))
918 (if (vector? x432)
919 (let ((n438 (vector-length x432)))
920 (let ((v439 (make-vector n438)))
921 (letrec ((loop440
922 (lambda (i441)
923 (if (fx=74 i441 n438)
924 (begin (if #f #f) v439)
925 (begin
926 (vector-set!
927 v439
928 i441
929 (rebuild-macro-output431
930 (vector-ref
931 x432
932 i441)
933 m433))
934 (loop440
935 (fx+72 i441 1)))))))
936 (loop440 0))))
937 (if (symbol? x432)
938 (syntax-violation
939 #f
940 "encountered raw symbol in macro output"
941 (source-wrap143 e426 w428 s mod430)
942 x432)
943 x432)))))))
944 (rebuild-macro-output431
945 (p425 (wrap142 e426 (anti-mark129 w428) mod430))
946 (string #\m)))))
947 (chi-application152
948 (lambda (x442 e443 r444 w445 s446 mod447)
949 ((lambda (tmp448)
950 ((lambda (tmp449)
951 (if tmp449
952 (apply (lambda (e0450 e1451)
953 (build-application81
954 s446
955 x442
956 (map (lambda (e452)
957 (chi150 e452 r444 w445 mod447))
958 e1451)))
959 tmp449)
960 (syntax-violation
961 #f
962 "source expression failed to match any pattern"
963 tmp448)))
964 ($sc-dispatch tmp448 (quote (any . each-any)))))
965 e443)))
966 (chi-expr151
967 (lambda (type454 value455 e456 r457 w458 s459 mod460)
968 (if (memv type454 (quote (lexical)))
969 (build-lexical-reference83
970 'value
971 s459
972 e456
973 value455)
974 (if (memv type454 (quote (core core-form)))
975 (value455 e456 r457 w458 s459 mod460)
976 (if (memv type454 (quote (module-ref)))
977 (call-with-values
978 (lambda () (value455 e456))
979 (lambda (id461 mod462)
980 (build-global-reference86 s459 id461 mod462)))
981 (if (memv type454 (quote (lexical-call)))
982 (chi-application152
983 (build-lexical-reference83
984 'fun
985 (source-annotation105 (car e456))
986 (car e456)
987 value455)
988 e456
989 r457
990 w458
991 s459
992 mod460)
993 (if (memv type454 (quote (global-call)))
994 (chi-application152
995 (build-global-reference86
996 (source-annotation105 (car e456))
997 (if (syntax-object?98 value455)
998 (syntax-object-expression99 value455)
999 value455)
1000 (if (syntax-object?98 value455)
1001 (syntax-object-module101 value455)
1002 mod460))
1003 e456
1004 r457
1005 w458
1006 s459
1007 mod460)
1008 (if (memv type454 (quote (constant)))
1009 (build-data92
1010 s459
1011 (strip160
1012 (source-wrap143 e456 w458 s459 mod460)
1013 '(())))
1014 (if (memv type454 (quote (global)))
1015 (build-global-reference86 s459 value455 mod460)
1016 (if (memv type454 (quote (call)))
1017 (chi-application152
1018 (chi150 (car e456) r457 w458 mod460)
1019 e456
1020 r457
1021 w458
1022 s459
1023 mod460)
1024 (if (memv type454 (quote (begin-form)))
1025 ((lambda (tmp463)
1026 ((lambda (tmp464)
1027 (if tmp464
1028 (apply (lambda (_465 e1466 e2467)
1029 (chi-sequence144
1030 (cons e1466 e2467)
1031 r457
1032 w458
1033 s459
1034 mod460))
1035 tmp464)
1036 (syntax-violation
1037 #f
1038 "source expression failed to match any pattern"
1039 tmp463)))
1040 ($sc-dispatch
1041 tmp463
1042 '(any any . each-any))))
1043 e456)
1044 (if (memv type454 (quote (local-syntax-form)))
1045 (chi-local-syntax156
1046 value455
1047 e456
1048 r457
1049 w458
1050 s459
1051 mod460
1052 chi-sequence144)
1053 (if (memv type454 (quote (eval-when-form)))
1054 ((lambda (tmp469)
1055 ((lambda (tmp470)
1056 (if tmp470
1057 (apply (lambda (_471
1058 x472
1059 e1473
1060 e2474)
1061 (let ((when-list475
1062 (chi-when-list147
1063 e456
1064 x472
1065 w458)))
1066 (if (memq 'eval
1067 when-list475)
1068 (chi-sequence144
1069 (cons e1473 e2474)
1070 r457
1071 w458
1072 s459
1073 mod460)
1074 (chi-void158))))
1075 tmp470)
1076 (syntax-violation
1077 #f
1078 "source expression failed to match any pattern"
1079 tmp469)))
1080 ($sc-dispatch
1081 tmp469
1082 '(any each-any any . each-any))))
1083 e456)
1084 (if (memv type454
1085 '(define-form
1086 define-syntax-form))
1087 (syntax-violation
1088 #f
1089 "definition in expression context"
1090 e456
1091 (wrap142 value455 w458 mod460))
1092 (if (memv type454 (quote (syntax)))
1093 (syntax-violation
1094 #f
1095 "reference to pattern variable outside syntax form"
1096 (source-wrap143
1097 e456
1098 w458
1099 s459
1100 mod460))
1101 (if (memv type454
1102 '(displaced-lexical))
1103 (syntax-violation
1104 #f
1105 "reference to identifier outside its scope"
1106 (source-wrap143
1107 e456
1108 w458
1109 s459
1110 mod460))
1111 (syntax-violation
1112 #f
1113 "unexpected syntax"
1114 (source-wrap143
1115 e456
1116 w458
1117 s459
1118 mod460))))))))))))))))))
1119 (chi150
1120 (lambda (e478 r479 w480 mod481)
1121 (call-with-values
1122 (lambda ()
1123 (syntax-type148
1124 e478
1125 r479
1126 w480
1127 (source-annotation105 e478)
1128 #f
1129 mod481
1130 #f))
1131 (lambda (type482 value483 e484 w485 s486 mod487)
1132 (chi-expr151
1133 type482
1134 value483
1135 e484
1136 r479
1137 w485
1138 s486
1139 mod487)))))
1140 (chi-top149
1141 (lambda (e488 r489 w490 m491 esew492 mod493)
1142 (call-with-values
1143 (lambda ()
1144 (syntax-type148
1145 e488
1146 r489
1147 w490
1148 (source-annotation105 e488)
1149 #f
1150 mod493
1151 #f))
1152 (lambda (type501 value502 e503 w504 s505 mod506)
1153 (if (memv type501 (quote (begin-form)))
1154 ((lambda (tmp507)
1155 ((lambda (tmp508)
1156 (if tmp508
1157 (apply (lambda (_509) (chi-void158)) tmp508)
1158 ((lambda (tmp510)
1159 (if tmp510
1160 (apply (lambda (_511 e1512 e2513)
1161 (chi-top-sequence145
1162 (cons e1512 e2513)
1163 r489
1164 w504
1165 s505
1166 m491
1167 esew492
1168 mod506))
1169 tmp510)
1170 (syntax-violation
1171 #f
1172 "source expression failed to match any pattern"
1173 tmp507)))
1174 ($sc-dispatch
1175 tmp507
1176 '(any any . each-any)))))
1177 ($sc-dispatch tmp507 (quote (any)))))
1178 e503)
1179 (if (memv type501 (quote (local-syntax-form)))
1180 (chi-local-syntax156
1181 value502
1182 e503
1183 r489
1184 w504
1185 s505
1186 mod506
1187 (lambda (body515 r516 w517 s518 mod519)
1188 (chi-top-sequence145
1189 body515
1190 r516
1191 w517
1192 s518
1193 m491
1194 esew492
1195 mod519)))
1196 (if (memv type501 (quote (eval-when-form)))
1197 ((lambda (tmp520)
1198 ((lambda (tmp521)
1199 (if tmp521
1200 (apply (lambda (_522 x523 e1524 e2525)
1201 (let ((when-list526
1202 (chi-when-list147
1203 e503
1204 x523
1205 w504))
1206 (body527 (cons e1524 e2525)))
1207 (if (eq? m491 (quote e))
1208 (if (memq 'eval
1209 when-list526)
1210 (chi-top-sequence145
1211 body527
1212 r489
1213 w504
1214 s505
1215 'e
1216 '(eval)
1217 mod506)
1218 (chi-void158))
1219 (if (memq 'load
1220 when-list526)
1221 (if (let ((t530 (memq 'compile
1222 when-list526)))
1223 (if t530
1224 t530
1225 (if (eq? m491
1226 'c&e)
1227 (memq 'eval
1228 when-list526)
1229 #f)))
1230 (chi-top-sequence145
1231 body527
1232 r489
1233 w504
1234 s505
1235 'c&e
1236 '(compile load)
1237 mod506)
1238 (if (memq m491
1239 '(c c&e))
1240 (chi-top-sequence145
1241 body527
1242 r489
1243 w504
1244 s505
1245 'c
1246 '(load)
1247 mod506)
1248 (chi-void158)))
1249 (if (let ((t531 (memq 'compile
1250 when-list526)))
1251 (if t531
1252 t531
1253 (if (eq? m491
1254 'c&e)
1255 (memq 'eval
1256 when-list526)
1257 #f)))
1258 (begin
1259 (top-level-eval-hook76
1260 (chi-top-sequence145
1261 body527
1262 r489
1263 w504
1264 s505
1265 'e
1266 '(eval)
1267 mod506)
1268 mod506)
1269 (chi-void158))
1270 (chi-void158))))))
1271 tmp521)
1272 (syntax-violation
1273 #f
1274 "source expression failed to match any pattern"
1275 tmp520)))
1276 ($sc-dispatch
1277 tmp520
1278 '(any each-any any . each-any))))
1279 e503)
1280 (if (memv type501 (quote (define-syntax-form)))
1281 (let ((n532 (id-var-name136 value502 w504))
1282 (r533 (macros-only-env110 r489)))
1283 (if (memv m491 (quote (c)))
1284 (if (memq (quote compile) esew492)
1285 (let ((e534 (chi-install-global146
1286 n532
1287 (chi150
1288 e503
1289 r533
1290 w504
1291 mod506))))
1292 (begin
1293 (top-level-eval-hook76 e534 mod506)
1294 (if (memq (quote load) esew492)
1295 e534
1296 (chi-void158))))
1297 (if (memq (quote load) esew492)
1298 (chi-install-global146
1299 n532
1300 (chi150 e503 r533 w504 mod506))
1301 (chi-void158)))
1302 (if (memv m491 (quote (c&e)))
1303 (let ((e535 (chi-install-global146
1304 n532
1305 (chi150
1306 e503
1307 r533
1308 w504
1309 mod506))))
1310 (begin
1311 (top-level-eval-hook76 e535 mod506)
1312 e535))
1313 (begin
1314 (if (memq (quote eval) esew492)
1315 (top-level-eval-hook76
1316 (chi-install-global146
1317 n532
1318 (chi150 e503 r533 w504 mod506))
1319 mod506))
1320 (chi-void158)))))
1321 (if (memv type501 (quote (define-form)))
1322 (let ((n536 (id-var-name136 value502 w504)))
1323 (let ((type537
1324 (binding-type106
1325 (lookup111 n536 r489 mod506))))
1326 (if (memv type537
1327 '(global core macro module-ref))
1328 (begin
1329 (if (if (not (module-local-variable
1330 (current-module)
1331 n536))
1332 (current-module)
1333 #f)
1334 (module-define!
1335 (current-module)
1336 n536
1337 #f))
1338 (let ((x538 (build-global-definition89
1339 s505
1340 n536
1341 (chi150
1342 e503
1343 r489
1344 w504
1345 mod506))))
1346 (begin
1347 (if (eq? m491 (quote c&e))
1348 (top-level-eval-hook76 x538 mod506))
1349 x538)))
1350 (if (memv type537
1351 '(displaced-lexical))
1352 (syntax-violation
1353 #f
1354 "identifier out of context"
1355 e503
1356 (wrap142 value502 w504 mod506))
1357 (syntax-violation
1358 #f
1359 "cannot define keyword at top level"
1360 e503
1361 (wrap142 value502 w504 mod506))))))
1362 (let ((x539 (chi-expr151
1363 type501
1364 value502
1365 e503
1366 r489
1367 w504
1368 s505
1369 mod506)))
1370 (begin
1371 (if (eq? m491 (quote c&e))
1372 (top-level-eval-hook76 x539 mod506))
1373 x539)))))))))))
1374 (syntax-type148
1375 (lambda (e540 r541 w542 s543 rib544 mod545 for-car?546)
1376 (if (symbol? e540)
1377 (let ((n547 (id-var-name136 e540 w542)))
1378 (let ((b548 (lookup111 n547 r541 mod545)))
1379 (let ((type549 (binding-type106 b548)))
1380 (if (memv type549 (quote (lexical)))
1381 (values
1382 type549
1383 (binding-value107 b548)
1384 e540
1385 w542
1386 s543
1387 mod545)
1388 (if (memv type549 (quote (global)))
1389 (values type549 n547 e540 w542 s543 mod545)
1390 (if (memv type549 (quote (macro)))
1391 (if for-car?546
1392 (values
1393 type549
1394 (binding-value107 b548)
1395 e540
1396 w542
1397 s543
1398 mod545)
1399 (syntax-type148
1400 (chi-macro153
1401 (binding-value107 b548)
1402 e540
1403 r541
1404 w542
1405 rib544
1406 mod545)
1407 r541
1408 '(())
1409 s543
1410 rib544
1411 mod545
1412 #f))
1413 (values
1414 type549
1415 (binding-value107 b548)
1416 e540
1417 w542
1418 s543
1419 mod545)))))))
1420 (if (pair? e540)
1421 (let ((first550 (car e540)))
1422 (call-with-values
1423 (lambda ()
1424 (syntax-type148
1425 first550
1426 r541
1427 w542
1428 s543
1429 rib544
1430 mod545
1431 #t))
1432 (lambda (ftype551 fval552 fe553 fw554 fs555 fmod556)
1433 (if (memv ftype551 (quote (lexical)))
1434 (values
1435 'lexical-call
1436 fval552
1437 e540
1438 w542
1439 s543
1440 mod545)
1441 (if (memv ftype551 (quote (global)))
1442 (values
1443 'global-call
1444 (make-syntax-object97 fval552 w542 fmod556)
1445 e540
1446 w542
1447 s543
1448 mod545)
1449 (if (memv ftype551 (quote (macro)))
1450 (syntax-type148
1451 (chi-macro153
1452 fval552
1453 e540
1454 r541
1455 w542
1456 rib544
1457 mod545)
1458 r541
1459 '(())
1460 s543
1461 rib544
1462 mod545
1463 for-car?546)
1464 (if (memv ftype551 (quote (module-ref)))
1465 (call-with-values
1466 (lambda () (fval552 e540))
1467 (lambda (sym557 mod558)
1468 (syntax-type148
1469 sym557
1470 r541
1471 w542
1472 s543
1473 rib544
1474 mod558
1475 for-car?546)))
1476 (if (memv ftype551 (quote (core)))
1477 (values
1478 'core-form
1479 fval552
1480 e540
1481 w542
1482 s543
1483 mod545)
1484 (if (memv ftype551 (quote (local-syntax)))
1485 (values
1486 'local-syntax-form
1487 fval552
1488 e540
1489 w542
1490 s543
1491 mod545)
1492 (if (memv ftype551 (quote (begin)))
1493 (values
1494 'begin-form
1495 #f
1496 e540
1497 w542
1498 s543
1499 mod545)
1500 (if (memv ftype551 (quote (eval-when)))
1501 (values
1502 'eval-when-form
1503 #f
1504 e540
1505 w542
1506 s543
1507 mod545)
1508 (if (memv ftype551 (quote (define)))
1509 ((lambda (tmp559)
1510 ((lambda (tmp560)
1511 (if (if tmp560
1512 (apply (lambda (_561
1513 name562
1514 val563)
1515 (id?114
1516 name562))
1517 tmp560)
1518 #f)
1519 (apply (lambda (_564
1520 name565
1521 val566)
1522 (values
1523 'define-form
1524 name565
1525 val566
1526 w542
1527 s543
1528 mod545))
1529 tmp560)
1530 ((lambda (tmp567)
1531 (if (if tmp567
1532 (apply (lambda (_568
1533 name569
1534 args570
1535 e1571
1536 e2572)
1537 (if (id?114
1538 name569)
1539 (valid-bound-ids?139
1540 (lambda-var-list162
1541 args570))
1542 #f))
1543 tmp567)
1544 #f)
1545 (apply (lambda (_573
1546 name574
1547 args575
1548 e1576
1549 e2577)
1550 (values
1551 'define-form
1552 (wrap142
1553 name574
1554 w542
1555 mod545)
1556 (cons '#(syntax-object
1557 lambda
1558 ((top)
1559 #(ribcage
1560 #(_
1561 name
1562 args
1563 e1
1564 e2)
1565 #((top)
1566 (top)
1567 (top)
1568 (top)
1569 (top))
1570 #("i"
1571 "i"
1572 "i"
1573 "i"
1574 "i"))
1575 #(ribcage
1576 ()
1577 ()
1578 ())
1579 #(ribcage
1580 ()
1581 ()
1582 ())
1583 #(ribcage
1584 #(ftype
1585 fval
1586 fe
1587 fw
1588 fs
1589 fmod)
1590 #((top)
1591 (top)
1592 (top)
1593 (top)
1594 (top)
1595 (top))
1596 #("i"
1597 "i"
1598 "i"
1599 "i"
1600 "i"
1601 "i"))
1602 #(ribcage
1603 ()
1604 ()
1605 ())
1606 #(ribcage
1607 #(first)
1608 #((top))
1609 #("i"))
1610 #(ribcage
1611 ()
1612 ()
1613 ())
1614 #(ribcage
1615 ()
1616 ()
1617 ())
1618 #(ribcage
1619 ()
1620 ()
1621 ())
1622 #(ribcage
1623 #(e
1624 r
1625 w
1626 s
1627 rib
1628 mod
1629 for-car?)
1630 #((top)
1631 (top)
1632 (top)
1633 (top)
1634 (top)
1635 (top)
1636 (top))
1637 #("i"
1638 "i"
1639 "i"
1640 "i"
1641 "i"
1642 "i"
1643 "i"))
1644 #(ribcage
1645 (lambda-var-list
1646 gen-var
1647 strip
1648 ellipsis?
1649 chi-void
1650 eval-local-transformer
1651 chi-local-syntax
1652 chi-lambda-clause
1653 chi-body
1654 chi-macro
1655 chi-application
1656 chi-expr
1657 chi
1658 chi-top
1659 syntax-type
1660 chi-when-list
1661 chi-install-global
1662 chi-top-sequence
1663 chi-sequence
1664 source-wrap
1665 wrap
1666 bound-id-member?
1667 distinct-bound-ids?
1668 valid-bound-ids?
1669 bound-id=?
1670 free-id=?
1671 id-var-name
1672 same-marks?
1673 join-marks
1674 join-wraps
1675 smart-append
1676 make-binding-wrap
1677 extend-ribcage!
1678 make-empty-ribcage
1679 new-mark
1680 anti-mark
1681 the-anti-mark
1682 top-marked?
1683 top-wrap
1684 empty-wrap
1685 set-ribcage-labels!
1686 set-ribcage-marks!
1687 set-ribcage-symnames!
1688 ribcage-labels
1689 ribcage-marks
1690 ribcage-symnames
1691 ribcage?
1692 make-ribcage
1693 gen-labels
1694 gen-label
1695 make-rename
1696 rename-marks
1697 rename-new
1698 rename-old
1699 subst-rename?
1700 wrap-subst
1701 wrap-marks
1702 make-wrap
1703 id-sym-name&marks
1704 id-sym-name
1705 id?
1706 nonsymbol-id?
1707 global-extend
1708 lookup
1709 macros-only-env
1710 extend-var-env
1711 extend-env
1712 null-env
1713 binding-value
1714 binding-type
1715 make-binding
1716 arg-check
1717 source-annotation
1718 no-source
1719 set-syntax-object-module!
1720 set-syntax-object-wrap!
1721 set-syntax-object-expression!
1722 syntax-object-module
1723 syntax-object-wrap
1724 syntax-object-expression
1725 syntax-object?
1726 make-syntax-object
1727 build-lexical-var
1728 build-letrec
1729 build-named-let
1730 build-let
1731 build-sequence
1732 build-data
1733 build-primref
1734 build-lambda
1735 build-global-definition
1736 maybe-name-value!
1737 build-global-assignment
1738 build-global-reference
1739 analyze-variable
1740 build-lexical-assignment
1741 build-lexical-reference
1742 build-conditional
1743 build-application
1744 build-void
1745 get-global-definition-hook
1746 put-global-definition-hook
1747 gensym-hook
1748 local-eval-hook
1749 top-level-eval-hook
1750 fx<
1751 fx=
1752 fx-
1753 fx+
1754 *mode*
1755 noexpand)
1756 ((top)
1757 (top)
1758 (top)
1759 (top)
1760 (top)
1761 (top)
1762 (top)
1763 (top)
1764 (top)
1765 (top)
1766 (top)
1767 (top)
1768 (top)
1769 (top)
1770 (top)
1771 (top)
1772 (top)
1773 (top)
1774 (top)
1775 (top)
1776 (top)
1777 (top)
1778 (top)
1779 (top)
1780 (top)
1781 (top)
1782 (top)
1783 (top)
1784 (top)
1785 (top)
1786 (top)
1787 (top)
1788 (top)
1789 (top)
1790 (top)
1791 (top)
1792 (top)
1793 (top)
1794 (top)
1795 (top)
1796 (top)
1797 (top)
1798 (top)
1799 (top)
1800 (top)
1801 (top)
1802 (top)
1803 (top)
1804 (top)
1805 (top)
1806 (top)
1807 (top)
1808 (top)
1809 (top)
1810 (top)
1811 (top)
1812 (top)
1813 (top)
1814 (top)
1815 (top)
1816 (top)
1817 (top)
1818 (top)
1819 (top)
1820 (top)
1821 (top)
1822 (top)
1823 (top)
1824 (top)
1825 (top)
1826 (top)
1827 (top)
1828 (top)
1829 (top)
1830 (top)
1831 (top)
1832 (top)
1833 (top)
1834 (top)
1835 (top)
1836 (top)
1837 (top)
1838 (top)
1839 (top)
1840 (top)
1841 (top)
1842 (top)
1843 (top)
1844 (top)
1845 (top)
1846 (top)
1847 (top)
1848 (top)
1849 (top)
1850 (top)
1851 (top)
1852 (top)
1853 (top)
1854 (top)
1855 (top)
1856 (top)
1857 (top)
1858 (top)
1859 (top)
1860 (top)
1861 (top)
1862 (top)
1863 (top)
1864 (top)
1865 (top)
1866 (top))
1867 ("i"
1868 "i"
1869 "i"
1870 "i"
1871 "i"
1872 "i"
1873 "i"
1874 "i"
1875 "i"
1876 "i"
1877 "i"
1878 "i"
1879 "i"
1880 "i"
1881 "i"
1882 "i"
1883 "i"
1884 "i"
1885 "i"
1886 "i"
1887 "i"
1888 "i"
1889 "i"
1890 "i"
1891 "i"
1892 "i"
1893 "i"
1894 "i"
1895 "i"
1896 "i"
1897 "i"
1898 "i"
1899 "i"
1900 "i"
1901 "i"
1902 "i"
1903 "i"
1904 "i"
1905 "i"
1906 "i"
1907 "i"
1908 "i"
1909 "i"
1910 "i"
1911 "i"
1912 "i"
1913 "i"
1914 "i"
1915 "i"
1916 "i"
1917 "i"
1918 "i"
1919 "i"
1920 "i"
1921 "i"
1922 "i"
1923 "i"
1924 "i"
1925 "i"
1926 "i"
1927 "i"
1928 "i"
1929 "i"
1930 "i"
1931 "i"
1932 "i"
1933 "i"
1934 "i"
1935 "i"
1936 "i"
1937 "i"
1938 "i"
1939 "i"
1940 "i"
1941 "i"
1942 "i"
1943 "i"
1944 "i"
1945 "i"
1946 "i"
1947 "i"
1948 "i"
1949 "i"
1950 "i"
1951 "i"
1952 "i"
1953 "i"
1954 "i"
1955 "i"
1956 "i"
1957 "i"
1958 "i"
1959 "i"
1960 "i"
1961 "i"
1962 "i"
1963 "i"
1964 "i"
1965 "i"
1966 "i"
1967 "i"
1968 "i"
1969 "i"
1970 "i"
1971 "i"
1972 "i"
1973 "i"
1974 "i"
1975 "i"
1976 "i"
1977 "i"))
1978 #(ribcage
1979 (define-structure
1980 and-map*)
1981 ((top)
1982 (top))
1983 ("i"
1984 "i")))
1985 (hygiene
1986 guile))
1987 (wrap142
1988 (cons args575
1989 (cons e1576
1990 e2577))
1991 w542
1992 mod545))
1993 '(())
1994 s543
1995 mod545))
1996 tmp567)
1997 ((lambda (tmp579)
1998 (if (if tmp579
1999 (apply (lambda (_580
2000 name581)
2001 (id?114
2002 name581))
2003 tmp579)
2004 #f)
2005 (apply (lambda (_582
2006 name583)
2007 (values
2008 'define-form
2009 (wrap142
2010 name583
2011 w542
2012 mod545)
2013 '(#(syntax-object
2014 if
2015 ((top)
2016 #(ribcage
2017 #(_
2018 name)
2019 #((top)
2020 (top))
2021 #("i"
2022 "i"))
2023 #(ribcage
2024 ()
2025 ()
2026 ())
2027 #(ribcage
2028 ()
2029 ()
2030 ())
2031 #(ribcage
2032 #(ftype
2033 fval
2034 fe
2035 fw
2036 fs
2037 fmod)
2038 #((top)
2039 (top)
2040 (top)
2041 (top)
2042 (top)
2043 (top))
2044 #("i"
2045 "i"
2046 "i"
2047 "i"
2048 "i"
2049 "i"))
2050 #(ribcage
2051 ()
2052 ()
2053 ())
2054 #(ribcage
2055 #(first)
2056 #((top))
2057 #("i"))
2058 #(ribcage
2059 ()
2060 ()
2061 ())
2062 #(ribcage
2063 ()
2064 ()
2065 ())
2066 #(ribcage
2067 ()
2068 ()
2069 ())
2070 #(ribcage
2071 #(e
2072 r
2073 w
2074 s
2075 rib
2076 mod
2077 for-car?)
2078 #((top)
2079 (top)
2080 (top)
2081 (top)
2082 (top)
2083 (top)
2084 (top))
2085 #("i"
2086 "i"
2087 "i"
2088 "i"
2089 "i"
2090 "i"
2091 "i"))
2092 #(ribcage
2093 (lambda-var-list
2094 gen-var
2095 strip
2096 ellipsis?
2097 chi-void
2098 eval-local-transformer
2099 chi-local-syntax
2100 chi-lambda-clause
2101 chi-body
2102 chi-macro
2103 chi-application
2104 chi-expr
2105 chi
2106 chi-top
2107 syntax-type
2108 chi-when-list
2109 chi-install-global
2110 chi-top-sequence
2111 chi-sequence
2112 source-wrap
2113 wrap
2114 bound-id-member?
2115 distinct-bound-ids?
2116 valid-bound-ids?
2117 bound-id=?
2118 free-id=?
2119 id-var-name
2120 same-marks?
2121 join-marks
2122 join-wraps
2123 smart-append
2124 make-binding-wrap
2125 extend-ribcage!
2126 make-empty-ribcage
2127 new-mark
2128 anti-mark
2129 the-anti-mark
2130 top-marked?
2131 top-wrap
2132 empty-wrap
2133 set-ribcage-labels!
2134 set-ribcage-marks!
2135 set-ribcage-symnames!
2136 ribcage-labels
2137 ribcage-marks
2138 ribcage-symnames
2139 ribcage?
2140 make-ribcage
2141 gen-labels
2142 gen-label
2143 make-rename
2144 rename-marks
2145 rename-new
2146 rename-old
2147 subst-rename?
2148 wrap-subst
2149 wrap-marks
2150 make-wrap
2151 id-sym-name&marks
2152 id-sym-name
2153 id?
2154 nonsymbol-id?
2155 global-extend
2156 lookup
2157 macros-only-env
2158 extend-var-env
2159 extend-env
2160 null-env
2161 binding-value
2162 binding-type
2163 make-binding
2164 arg-check
2165 source-annotation
2166 no-source
2167 set-syntax-object-module!
2168 set-syntax-object-wrap!
2169 set-syntax-object-expression!
2170 syntax-object-module
2171 syntax-object-wrap
2172 syntax-object-expression
2173 syntax-object?
2174 make-syntax-object
2175 build-lexical-var
2176 build-letrec
2177 build-named-let
2178 build-let
2179 build-sequence
2180 build-data
2181 build-primref
2182 build-lambda
2183 build-global-definition
2184 maybe-name-value!
2185 build-global-assignment
2186 build-global-reference
2187 analyze-variable
2188 build-lexical-assignment
2189 build-lexical-reference
2190 build-conditional
2191 build-application
2192 build-void
2193 get-global-definition-hook
2194 put-global-definition-hook
2195 gensym-hook
2196 local-eval-hook
2197 top-level-eval-hook
2198 fx<
2199 fx=
2200 fx-
2201 fx+
2202 *mode*
2203 noexpand)
2204 ((top)
2205 (top)
2206 (top)
2207 (top)
2208 (top)
2209 (top)
2210 (top)
2211 (top)
2212 (top)
2213 (top)
2214 (top)
2215 (top)
2216 (top)
2217 (top)
2218 (top)
2219 (top)
2220 (top)
2221 (top)
2222 (top)
2223 (top)
2224 (top)
2225 (top)
2226 (top)
2227 (top)
2228 (top)
2229 (top)
2230 (top)
2231 (top)
2232 (top)
2233 (top)
2234 (top)
2235 (top)
2236 (top)
2237 (top)
2238 (top)
2239 (top)
2240 (top)
2241 (top)
2242 (top)
2243 (top)
2244 (top)
2245 (top)
2246 (top)
2247 (top)
2248 (top)
2249 (top)
2250 (top)
2251 (top)
2252 (top)
2253 (top)
2254 (top)
2255 (top)
2256 (top)
2257 (top)
2258 (top)
2259 (top)
2260 (top)
2261 (top)
2262 (top)
2263 (top)
2264 (top)
2265 (top)
2266 (top)
2267 (top)
2268 (top)
2269 (top)
2270 (top)
2271 (top)
2272 (top)
2273 (top)
2274 (top)
2275 (top)
2276 (top)
2277 (top)
2278 (top)
2279 (top)
2280 (top)
2281 (top)
2282 (top)
2283 (top)
2284 (top)
2285 (top)
2286 (top)
2287 (top)
2288 (top)
2289 (top)
2290 (top)
2291 (top)
2292 (top)
2293 (top)
2294 (top)
2295 (top)
2296 (top)
2297 (top)
2298 (top)
2299 (top)
2300 (top)
2301 (top)
2302 (top)
2303 (top)
2304 (top)
2305 (top)
2306 (top)
2307 (top)
2308 (top)
2309 (top)
2310 (top)
2311 (top)
2312 (top)
2313 (top)
2314 (top))
2315 ("i"
2316 "i"
2317 "i"
2318 "i"
2319 "i"
2320 "i"
2321 "i"
2322 "i"
2323 "i"
2324 "i"
2325 "i"
2326 "i"
2327 "i"
2328 "i"
2329 "i"
2330 "i"
2331 "i"
2332 "i"
2333 "i"
2334 "i"
2335 "i"
2336 "i"
2337 "i"
2338 "i"
2339 "i"
2340 "i"
2341 "i"
2342 "i"
2343 "i"
2344 "i"
2345 "i"
2346 "i"
2347 "i"
2348 "i"
2349 "i"
2350 "i"
2351 "i"
2352 "i"
2353 "i"
2354 "i"
2355 "i"
2356 "i"
2357 "i"
2358 "i"
2359 "i"
2360 "i"
2361 "i"
2362 "i"
2363 "i"
2364 "i"
2365 "i"
2366 "i"
2367 "i"
2368 "i"
2369 "i"
2370 "i"
2371 "i"
2372 "i"
2373 "i"
2374 "i"
2375 "i"
2376 "i"
2377 "i"
2378 "i"
2379 "i"
2380 "i"
2381 "i"
2382 "i"
2383 "i"
2384 "i"
2385 "i"
2386 "i"
2387 "i"
2388 "i"
2389 "i"
2390 "i"
2391 "i"
2392 "i"
2393 "i"
2394 "i"
2395 "i"
2396 "i"
2397 "i"
2398 "i"
2399 "i"
2400 "i"
2401 "i"
2402 "i"
2403 "i"
2404 "i"
2405 "i"
2406 "i"
2407 "i"
2408 "i"
2409 "i"
2410 "i"
2411 "i"
2412 "i"
2413 "i"
2414 "i"
2415 "i"
2416 "i"
2417 "i"
2418 "i"
2419 "i"
2420 "i"
2421 "i"
2422 "i"
2423 "i"
2424 "i"
2425 "i"))
2426 #(ribcage
2427 (define-structure
2428 and-map*)
2429 ((top)
2430 (top))
2431 ("i"
2432 "i")))
2433 (hygiene
2434 guile))
2435 #(syntax-object
2436 #f
2437 ((top)
2438 #(ribcage
2439 #(_
2440 name)
2441 #((top)
2442 (top))
2443 #("i"
2444 "i"))
2445 #(ribcage
2446 ()
2447 ()
2448 ())
2449 #(ribcage
2450 ()
2451 ()
2452 ())
2453 #(ribcage
2454 #(ftype
2455 fval
2456 fe
2457 fw
2458 fs
2459 fmod)
2460 #((top)
2461 (top)
2462 (top)
2463 (top)
2464 (top)
2465 (top))
2466 #("i"
2467 "i"
2468 "i"
2469 "i"
2470 "i"
2471 "i"))
2472 #(ribcage
2473 ()
2474 ()
2475 ())
2476 #(ribcage
2477 #(first)
2478 #((top))
2479 #("i"))
2480 #(ribcage
2481 ()
2482 ()
2483 ())
2484 #(ribcage
2485 ()
2486 ()
2487 ())
2488 #(ribcage
2489 ()
2490 ()
2491 ())
2492 #(ribcage
2493 #(e
2494 r
2495 w
2496 s
2497 rib
2498 mod
2499 for-car?)
2500 #((top)
2501 (top)
2502 (top)
2503 (top)
2504 (top)
2505 (top)
2506 (top))
2507 #("i"
2508 "i"
2509 "i"
2510 "i"
2511 "i"
2512 "i"
2513 "i"))
2514 #(ribcage
2515 (lambda-var-list
2516 gen-var
2517 strip
2518 ellipsis?
2519 chi-void
2520 eval-local-transformer
2521 chi-local-syntax
2522 chi-lambda-clause
2523 chi-body
2524 chi-macro
2525 chi-application
2526 chi-expr
2527 chi
2528 chi-top
2529 syntax-type
2530 chi-when-list
2531 chi-install-global
2532 chi-top-sequence
2533 chi-sequence
2534 source-wrap
2535 wrap
2536 bound-id-member?
2537 distinct-bound-ids?
2538 valid-bound-ids?
2539 bound-id=?
2540 free-id=?
2541 id-var-name
2542 same-marks?
2543 join-marks
2544 join-wraps
2545 smart-append
2546 make-binding-wrap
2547 extend-ribcage!
2548 make-empty-ribcage
2549 new-mark
2550 anti-mark
2551 the-anti-mark
2552 top-marked?
2553 top-wrap
2554 empty-wrap
2555 set-ribcage-labels!
2556 set-ribcage-marks!
2557 set-ribcage-symnames!
2558 ribcage-labels
2559 ribcage-marks
2560 ribcage-symnames
2561 ribcage?
2562 make-ribcage
2563 gen-labels
2564 gen-label
2565 make-rename
2566 rename-marks
2567 rename-new
2568 rename-old
2569 subst-rename?
2570 wrap-subst
2571 wrap-marks
2572 make-wrap
2573 id-sym-name&marks
2574 id-sym-name
2575 id?
2576 nonsymbol-id?
2577 global-extend
2578 lookup
2579 macros-only-env
2580 extend-var-env
2581 extend-env
2582 null-env
2583 binding-value
2584 binding-type
2585 make-binding
2586 arg-check
2587 source-annotation
2588 no-source
2589 set-syntax-object-module!
2590 set-syntax-object-wrap!
2591 set-syntax-object-expression!
2592 syntax-object-module
2593 syntax-object-wrap
2594 syntax-object-expression
2595 syntax-object?
2596 make-syntax-object
2597 build-lexical-var
2598 build-letrec
2599 build-named-let
2600 build-let
2601 build-sequence
2602 build-data
2603 build-primref
2604 build-lambda
2605 build-global-definition
2606 maybe-name-value!
2607 build-global-assignment
2608 build-global-reference
2609 analyze-variable
2610 build-lexical-assignment
2611 build-lexical-reference
2612 build-conditional
2613 build-application
2614 build-void
2615 get-global-definition-hook
2616 put-global-definition-hook
2617 gensym-hook
2618 local-eval-hook
2619 top-level-eval-hook
2620 fx<
2621 fx=
2622 fx-
2623 fx+
2624 *mode*
2625 noexpand)
2626 ((top)
2627 (top)
2628 (top)
2629 (top)
2630 (top)
2631 (top)
2632 (top)
2633 (top)
2634 (top)
2635 (top)
2636 (top)
2637 (top)
2638 (top)
2639 (top)
2640 (top)
2641 (top)
2642 (top)
2643 (top)
2644 (top)
2645 (top)
2646 (top)
2647 (top)
2648 (top)
2649 (top)
2650 (top)
2651 (top)
2652 (top)
2653 (top)
2654 (top)
2655 (top)
2656 (top)
2657 (top)
2658 (top)
2659 (top)
2660 (top)
2661 (top)
2662 (top)
2663 (top)
2664 (top)
2665 (top)
2666 (top)
2667 (top)
2668 (top)
2669 (top)
2670 (top)
2671 (top)
2672 (top)
2673 (top)
2674 (top)
2675 (top)
2676 (top)
2677 (top)
2678 (top)
2679 (top)
2680 (top)
2681 (top)
2682 (top)
2683 (top)
2684 (top)
2685 (top)
2686 (top)
2687 (top)
2688 (top)
2689 (top)
2690 (top)
2691 (top)
2692 (top)
2693 (top)
2694 (top)
2695 (top)
2696 (top)
2697 (top)
2698 (top)
2699 (top)
2700 (top)
2701 (top)
2702 (top)
2703 (top)
2704 (top)
2705 (top)
2706 (top)
2707 (top)
2708 (top)
2709 (top)
2710 (top)
2711 (top)
2712 (top)
2713 (top)
2714 (top)
2715 (top)
2716 (top)
2717 (top)
2718 (top)
2719 (top)
2720 (top)
2721 (top)
2722 (top)
2723 (top)
2724 (top)
2725 (top)
2726 (top)
2727 (top)
2728 (top)
2729 (top)
2730 (top)
2731 (top)
2732 (top)
2733 (top)
2734 (top)
2735 (top)
2736 (top))
2737 ("i"
2738 "i"
2739 "i"
2740 "i"
2741 "i"
2742 "i"
2743 "i"
2744 "i"
2745 "i"
2746 "i"
2747 "i"
2748 "i"
2749 "i"
2750 "i"
2751 "i"
2752 "i"
2753 "i"
2754 "i"
2755 "i"
2756 "i"
2757 "i"
2758 "i"
2759 "i"
2760 "i"
2761 "i"
2762 "i"
2763 "i"
2764 "i"
2765 "i"
2766 "i"
2767 "i"
2768 "i"
2769 "i"
2770 "i"
2771 "i"
2772 "i"
2773 "i"
2774 "i"
2775 "i"
2776 "i"
2777 "i"
2778 "i"
2779 "i"
2780 "i"
2781 "i"
2782 "i"
2783 "i"
2784 "i"
2785 "i"
2786 "i"
2787 "i"
2788 "i"
2789 "i"
2790 "i"
2791 "i"
2792 "i"
2793 "i"
2794 "i"
2795 "i"
2796 "i"
2797 "i"
2798 "i"
2799 "i"
2800 "i"
2801 "i"
2802 "i"
2803 "i"
2804 "i"
2805 "i"
2806 "i"
2807 "i"
2808 "i"
2809 "i"
2810 "i"
2811 "i"
2812 "i"
2813 "i"
2814 "i"
2815 "i"
2816 "i"
2817 "i"
2818 "i"
2819 "i"
2820 "i"
2821 "i"
2822 "i"
2823 "i"
2824 "i"
2825 "i"
2826 "i"
2827 "i"
2828 "i"
2829 "i"
2830 "i"
2831 "i"
2832 "i"
2833 "i"
2834 "i"
2835 "i"
2836 "i"
2837 "i"
2838 "i"
2839 "i"
2840 "i"
2841 "i"
2842 "i"
2843 "i"
2844 "i"
2845 "i"
2846 "i"
2847 "i"))
2848 #(ribcage
2849 (define-structure
2850 and-map*)
2851 ((top)
2852 (top))
2853 ("i"
2854 "i")))
2855 (hygiene
2856 guile))
2857 #(syntax-object
2858 #f
2859 ((top)
2860 #(ribcage
2861 #(_
2862 name)
2863 #((top)
2864 (top))
2865 #("i"
2866 "i"))
2867 #(ribcage
2868 ()
2869 ()
2870 ())
2871 #(ribcage
2872 ()
2873 ()
2874 ())
2875 #(ribcage
2876 #(ftype
2877 fval
2878 fe
2879 fw
2880 fs
2881 fmod)
2882 #((top)
2883 (top)
2884 (top)
2885 (top)
2886 (top)
2887 (top))
2888 #("i"
2889 "i"
2890 "i"
2891 "i"
2892 "i"
2893 "i"))
2894 #(ribcage
2895 ()
2896 ()
2897 ())
2898 #(ribcage
2899 #(first)
2900 #((top))
2901 #("i"))
2902 #(ribcage
2903 ()
2904 ()
2905 ())
2906 #(ribcage
2907 ()
2908 ()
2909 ())
2910 #(ribcage
2911 ()
2912 ()
2913 ())
2914 #(ribcage
2915 #(e
2916 r
2917 w
2918 s
2919 rib
2920 mod
2921 for-car?)
2922 #((top)
2923 (top)
2924 (top)
2925 (top)
2926 (top)
2927 (top)
2928 (top))
2929 #("i"
2930 "i"
2931 "i"
2932 "i"
2933 "i"
2934 "i"
2935 "i"))
2936 #(ribcage
2937 (lambda-var-list
2938 gen-var
2939 strip
2940 ellipsis?
2941 chi-void
2942 eval-local-transformer
2943 chi-local-syntax
2944 chi-lambda-clause
2945 chi-body
2946 chi-macro
2947 chi-application
2948 chi-expr
2949 chi
2950 chi-top
2951 syntax-type
2952 chi-when-list
2953 chi-install-global
2954 chi-top-sequence
2955 chi-sequence
2956 source-wrap
2957 wrap
2958 bound-id-member?
2959 distinct-bound-ids?
2960 valid-bound-ids?
2961 bound-id=?
2962 free-id=?
2963 id-var-name
2964 same-marks?
2965 join-marks
2966 join-wraps
2967 smart-append
2968 make-binding-wrap
2969 extend-ribcage!
2970 make-empty-ribcage
2971 new-mark
2972 anti-mark
2973 the-anti-mark
2974 top-marked?
2975 top-wrap
2976 empty-wrap
2977 set-ribcage-labels!
2978 set-ribcage-marks!
2979 set-ribcage-symnames!
2980 ribcage-labels
2981 ribcage-marks
2982 ribcage-symnames
2983 ribcage?
2984 make-ribcage
2985 gen-labels
2986 gen-label
2987 make-rename
2988 rename-marks
2989 rename-new
2990 rename-old
2991 subst-rename?
2992 wrap-subst
2993 wrap-marks
2994 make-wrap
2995 id-sym-name&marks
2996 id-sym-name
2997 id?
2998 nonsymbol-id?
2999 global-extend
3000 lookup
3001 macros-only-env
3002 extend-var-env
3003 extend-env
3004 null-env
3005 binding-value
3006 binding-type
3007 make-binding
3008 arg-check
3009 source-annotation
3010 no-source
3011 set-syntax-object-module!
3012 set-syntax-object-wrap!
3013 set-syntax-object-expression!
3014 syntax-object-module
3015 syntax-object-wrap
3016 syntax-object-expression
3017 syntax-object?
3018 make-syntax-object
3019 build-lexical-var
3020 build-letrec
3021 build-named-let
3022 build-let
3023 build-sequence
3024 build-data
3025 build-primref
3026 build-lambda
3027 build-global-definition
3028 maybe-name-value!
3029 build-global-assignment
3030 build-global-reference
3031 analyze-variable
3032 build-lexical-assignment
3033 build-lexical-reference
3034 build-conditional
3035 build-application
3036 build-void
3037 get-global-definition-hook
3038 put-global-definition-hook
3039 gensym-hook
3040 local-eval-hook
3041 top-level-eval-hook
3042 fx<
3043 fx=
3044 fx-
3045 fx+
3046 *mode*
3047 noexpand)
3048 ((top)
3049 (top)
3050 (top)
3051 (top)
3052 (top)
3053 (top)
3054 (top)
3055 (top)
3056 (top)
3057 (top)
3058 (top)
3059 (top)
3060 (top)
3061 (top)
3062 (top)
3063 (top)
3064 (top)
3065 (top)
3066 (top)
3067 (top)
3068 (top)
3069 (top)
3070 (top)
3071 (top)
3072 (top)
3073 (top)
3074 (top)
3075 (top)
3076 (top)
3077 (top)
3078 (top)
3079 (top)
3080 (top)
3081 (top)
3082 (top)
3083 (top)
3084 (top)
3085 (top)
3086 (top)
3087 (top)
3088 (top)
3089 (top)
3090 (top)
3091 (top)
3092 (top)
3093 (top)
3094 (top)
3095 (top)
3096 (top)
3097 (top)
3098 (top)
3099 (top)
3100 (top)
3101 (top)
3102 (top)
3103 (top)
3104 (top)
3105 (top)
3106 (top)
3107 (top)
3108 (top)
3109 (top)
3110 (top)
3111 (top)
3112 (top)
3113 (top)
3114 (top)
3115 (top)
3116 (top)
3117 (top)
3118 (top)
3119 (top)
3120 (top)
3121 (top)
3122 (top)
3123 (top)
3124 (top)
3125 (top)
3126 (top)
3127 (top)
3128 (top)
3129 (top)
3130 (top)
3131 (top)
3132 (top)
3133 (top)
3134 (top)
3135 (top)
3136 (top)
3137 (top)
3138 (top)
3139 (top)
3140 (top)
3141 (top)
3142 (top)
3143 (top)
3144 (top)
3145 (top)
3146 (top)
3147 (top)
3148 (top)
3149 (top)
3150 (top)
3151 (top)
3152 (top)
3153 (top)
3154 (top)
3155 (top)
3156 (top)
3157 (top)
3158 (top))
3159 ("i"
3160 "i"
3161 "i"
3162 "i"
3163 "i"
3164 "i"
3165 "i"
3166 "i"
3167 "i"
3168 "i"
3169 "i"
3170 "i"
3171 "i"
3172 "i"
3173 "i"
3174 "i"
3175 "i"
3176 "i"
3177 "i"
3178 "i"
3179 "i"
3180 "i"
3181 "i"
3182 "i"
3183 "i"
3184 "i"
3185 "i"
3186 "i"
3187 "i"
3188 "i"
3189 "i"
3190 "i"
3191 "i"
3192 "i"
3193 "i"
3194 "i"
3195 "i"
3196 "i"
3197 "i"
3198 "i"
3199 "i"
3200 "i"
3201 "i"
3202 "i"
3203 "i"
3204 "i"
3205 "i"
3206 "i"
3207 "i"
3208 "i"
3209 "i"
3210 "i"
3211 "i"
3212 "i"
3213 "i"
3214 "i"
3215 "i"
3216 "i"
3217 "i"
3218 "i"
3219 "i"
3220 "i"
3221 "i"
3222 "i"
3223 "i"
3224 "i"
3225 "i"
3226 "i"
3227 "i"
3228 "i"
3229 "i"
3230 "i"
3231 "i"
3232 "i"
3233 "i"
3234 "i"
3235 "i"
3236 "i"
3237 "i"
3238 "i"
3239 "i"
3240 "i"
3241 "i"
3242 "i"
3243 "i"
3244 "i"
3245 "i"
3246 "i"
3247 "i"
3248 "i"
3249 "i"
3250 "i"
3251 "i"
3252 "i"
3253 "i"
3254 "i"
3255 "i"
3256 "i"
3257 "i"
3258 "i"
3259 "i"
3260 "i"
3261 "i"
3262 "i"
3263 "i"
3264 "i"
3265 "i"
3266 "i"
3267 "i"
3268 "i"
3269 "i"))
3270 #(ribcage
3271 (define-structure
3272 and-map*)
3273 ((top)
3274 (top))
3275 ("i"
3276 "i")))
3277 (hygiene
3278 guile)))
3279 '(())
3280 s543
3281 mod545))
3282 tmp579)
3283 (syntax-violation
3284 #f
3285 "source expression failed to match any pattern"
3286 tmp559)))
3287 ($sc-dispatch
3288 tmp559
3289 '(any any)))))
3290 ($sc-dispatch
3291 tmp559
3292 '(any (any . any)
3293 any
3294 .
3295 each-any)))))
3296 ($sc-dispatch
3297 tmp559
3298 '(any any any))))
3299 e540)
3300 (if (memv ftype551
3301 '(define-syntax))
3302 ((lambda (tmp584)
3303 ((lambda (tmp585)
3304 (if (if tmp585
3305 (apply (lambda (_586
3306 name587
3307 val588)
3308 (id?114
3309 name587))
3310 tmp585)
3311 #f)
3312 (apply (lambda (_589
3313 name590
3314 val591)
3315 (values
3316 'define-syntax-form
3317 name590
3318 val591
3319 w542
3320 s543
3321 mod545))
3322 tmp585)
3323 (syntax-violation
3324 #f
3325 "source expression failed to match any pattern"
3326 tmp584)))
3327 ($sc-dispatch
3328 tmp584
3329 '(any any any))))
3330 e540)
3331 (values
3332 'call
3333 #f
3334 e540
3335 w542
3336 s543
3337 mod545))))))))))))))
3338 (if (syntax-object?98 e540)
3339 (syntax-type148
3340 (syntax-object-expression99 e540)
3341 r541
3342 (join-wraps133 w542 (syntax-object-wrap100 e540))
3343 s543
3344 rib544
3345 (let ((t592 (syntax-object-module101 e540)))
3346 (if t592 t592 mod545))
3347 for-car?546)
3348 (if (self-evaluating? e540)
3349 (values
3350 'constant
3351 #f
3352 e540
3353 w542
3354 s543
3355 mod545)
3356 (values (quote other) #f e540 w542 s543 mod545)))))))
3357 (chi-when-list147
3358 (lambda (e593 when-list594 w595)
3359 (letrec ((f596 (lambda (when-list597 situations598)
3360 (if (null? when-list597)
3361 situations598
3362 (f596 (cdr when-list597)
3363 (cons (let ((x599 (car when-list597)))
3364 (if (free-id=?137
3365 x599
3366 '#(syntax-object
3367 compile
3368 ((top)
3369 #(ribcage () () ())
3370 #(ribcage () () ())
3371 #(ribcage () () ())
3372 #(ribcage
3373 #(x)
3374 #((top))
3375 #("i"))
3376 #(ribcage () () ())
3377 #(ribcage
3378 #(f
3379 when-list
3380 situations)
3381 #((top)
3382 (top)
3383 (top))
3384 #("i" "i" "i"))
3385 #(ribcage () () ())
3386 #(ribcage
3387 #(e when-list w)
3388 #((top)
3389 (top)
3390 (top))
3391 #("i" "i" "i"))
3392 #(ribcage
3393 (lambda-var-list
3394 gen-var
3395 strip
3396 ellipsis?
3397 chi-void
3398 eval-local-transformer
3399 chi-local-syntax
3400 chi-lambda-clause
3401 chi-body
3402 chi-macro
3403 chi-application
3404 chi-expr
3405 chi
3406 chi-top
3407 syntax-type
3408 chi-when-list
3409 chi-install-global
3410 chi-top-sequence
3411 chi-sequence
3412 source-wrap
3413 wrap
3414 bound-id-member?
3415 distinct-bound-ids?
3416 valid-bound-ids?
3417 bound-id=?
3418 free-id=?
3419 id-var-name
3420 same-marks?
3421 join-marks
3422 join-wraps
3423 smart-append
3424 make-binding-wrap
3425 extend-ribcage!
3426 make-empty-ribcage
3427 new-mark
3428 anti-mark
3429 the-anti-mark
3430 top-marked?
3431 top-wrap
3432 empty-wrap
3433 set-ribcage-labels!
3434 set-ribcage-marks!
3435 set-ribcage-symnames!
3436 ribcage-labels
3437 ribcage-marks
3438 ribcage-symnames
3439 ribcage?
3440 make-ribcage
3441 gen-labels
3442 gen-label
3443 make-rename
3444 rename-marks
3445 rename-new
3446 rename-old
3447 subst-rename?
3448 wrap-subst
3449 wrap-marks
3450 make-wrap
3451 id-sym-name&marks
3452 id-sym-name
3453 id?
3454 nonsymbol-id?
3455 global-extend
3456 lookup
3457 macros-only-env
3458 extend-var-env
3459 extend-env
3460 null-env
3461 binding-value
3462 binding-type
3463 make-binding
3464 arg-check
3465 source-annotation
3466 no-source
3467 set-syntax-object-module!
3468 set-syntax-object-wrap!
3469 set-syntax-object-expression!
3470 syntax-object-module
3471 syntax-object-wrap
3472 syntax-object-expression
3473 syntax-object?
3474 make-syntax-object
3475 build-lexical-var
3476 build-letrec
3477 build-named-let
3478 build-let
3479 build-sequence
3480 build-data
3481 build-primref
3482 build-lambda
3483 build-global-definition
3484 maybe-name-value!
3485 build-global-assignment
3486 build-global-reference
3487 analyze-variable
3488 build-lexical-assignment
3489 build-lexical-reference
3490 build-conditional
3491 build-application
3492 build-void
3493 get-global-definition-hook
3494 put-global-definition-hook
3495 gensym-hook
3496 local-eval-hook
3497 top-level-eval-hook
3498 fx<
3499 fx=
3500 fx-
3501 fx+
3502 *mode*
3503 noexpand)
3504 ((top)
3505 (top)
3506 (top)
3507 (top)
3508 (top)
3509 (top)
3510 (top)
3511 (top)
3512 (top)
3513 (top)
3514 (top)
3515 (top)
3516 (top)
3517 (top)
3518 (top)
3519 (top)
3520 (top)
3521 (top)
3522 (top)
3523 (top)
3524 (top)
3525 (top)
3526 (top)
3527 (top)
3528 (top)
3529 (top)
3530 (top)
3531 (top)
3532 (top)
3533 (top)
3534 (top)
3535 (top)
3536 (top)
3537 (top)
3538 (top)
3539 (top)
3540 (top)
3541 (top)
3542 (top)
3543 (top)
3544 (top)
3545 (top)
3546 (top)
3547 (top)
3548 (top)
3549 (top)
3550 (top)
3551 (top)
3552 (top)
3553 (top)
3554 (top)
3555 (top)
3556 (top)
3557 (top)
3558 (top)
3559 (top)
3560 (top)
3561 (top)
3562 (top)
3563 (top)
3564 (top)
3565 (top)
3566 (top)
3567 (top)
3568 (top)
3569 (top)
3570 (top)
3571 (top)
3572 (top)
3573 (top)
3574 (top)
3575 (top)
3576 (top)
3577 (top)
3578 (top)
3579 (top)
3580 (top)
3581 (top)
3582 (top)
3583 (top)
3584 (top)
3585 (top)
3586 (top)
3587 (top)
3588 (top)
3589 (top)
3590 (top)
3591 (top)
3592 (top)
3593 (top)
3594 (top)
3595 (top)
3596 (top)
3597 (top)
3598 (top)
3599 (top)
3600 (top)
3601 (top)
3602 (top)
3603 (top)
3604 (top)
3605 (top)
3606 (top)
3607 (top)
3608 (top)
3609 (top)
3610 (top)
3611 (top)
3612 (top)
3613 (top)
3614 (top))
3615 ("i"
3616 "i"
3617 "i"
3618 "i"
3619 "i"
3620 "i"
3621 "i"
3622 "i"
3623 "i"
3624 "i"
3625 "i"
3626 "i"
3627 "i"
3628 "i"
3629 "i"
3630 "i"
3631 "i"
3632 "i"
3633 "i"
3634 "i"
3635 "i"
3636 "i"
3637 "i"
3638 "i"
3639 "i"
3640 "i"
3641 "i"
3642 "i"
3643 "i"
3644 "i"
3645 "i"
3646 "i"
3647 "i"
3648 "i"
3649 "i"
3650 "i"
3651 "i"
3652 "i"
3653 "i"
3654 "i"
3655 "i"
3656 "i"
3657 "i"
3658 "i"
3659 "i"
3660 "i"
3661 "i"
3662 "i"
3663 "i"
3664 "i"
3665 "i"
3666 "i"
3667 "i"
3668 "i"
3669 "i"
3670 "i"
3671 "i"
3672 "i"
3673 "i"
3674 "i"
3675 "i"
3676 "i"
3677 "i"
3678 "i"
3679 "i"
3680 "i"
3681 "i"
3682 "i"
3683 "i"
3684 "i"
3685 "i"
3686 "i"
3687 "i"
3688 "i"
3689 "i"
3690 "i"
3691 "i"
3692 "i"
3693 "i"
3694 "i"
3695 "i"
3696 "i"
3697 "i"
3698 "i"
3699 "i"
3700 "i"
3701 "i"
3702 "i"
3703 "i"
3704 "i"
3705 "i"
3706 "i"
3707 "i"
3708 "i"
3709 "i"
3710 "i"
3711 "i"
3712 "i"
3713 "i"
3714 "i"
3715 "i"
3716 "i"
3717 "i"
3718 "i"
3719 "i"
3720 "i"
3721 "i"
3722 "i"
3723 "i"
3724 "i"
3725 "i"))
3726 #(ribcage
3727 (define-structure
3728 and-map*)
3729 ((top) (top))
3730 ("i" "i")))
3731 (hygiene guile)))
3732 'compile
3733 (if (free-id=?137
3734 x599
3735 '#(syntax-object
3736 load
3737 ((top)
3738 #(ribcage () () ())
3739 #(ribcage () () ())
3740 #(ribcage () () ())
3741 #(ribcage
3742 #(x)
3743 #((top))
3744 #("i"))
3745 #(ribcage () () ())
3746 #(ribcage
3747 #(f
3748 when-list
3749 situations)
3750 #((top)
3751 (top)
3752 (top))
3753 #("i" "i" "i"))
3754 #(ribcage () () ())
3755 #(ribcage
3756 #(e when-list w)
3757 #((top)
3758 (top)
3759 (top))
3760 #("i" "i" "i"))
3761 #(ribcage
3762 (lambda-var-list
3763 gen-var
3764 strip
3765 ellipsis?
3766 chi-void
3767 eval-local-transformer
3768 chi-local-syntax
3769 chi-lambda-clause
3770 chi-body
3771 chi-macro
3772 chi-application
3773 chi-expr
3774 chi
3775 chi-top
3776 syntax-type
3777 chi-when-list
3778 chi-install-global
3779 chi-top-sequence
3780 chi-sequence
3781 source-wrap
3782 wrap
3783 bound-id-member?
3784 distinct-bound-ids?
3785 valid-bound-ids?
3786 bound-id=?
3787 free-id=?
3788 id-var-name
3789 same-marks?
3790 join-marks
3791 join-wraps
3792 smart-append
3793 make-binding-wrap
3794 extend-ribcage!
3795 make-empty-ribcage
3796 new-mark
3797 anti-mark
3798 the-anti-mark
3799 top-marked?
3800 top-wrap
3801 empty-wrap
3802 set-ribcage-labels!
3803 set-ribcage-marks!
3804 set-ribcage-symnames!
3805 ribcage-labels
3806 ribcage-marks
3807 ribcage-symnames
3808 ribcage?
3809 make-ribcage
3810 gen-labels
3811 gen-label
3812 make-rename
3813 rename-marks
3814 rename-new
3815 rename-old
3816 subst-rename?
3817 wrap-subst
3818 wrap-marks
3819 make-wrap
3820 id-sym-name&marks
3821 id-sym-name
3822 id?
3823 nonsymbol-id?
3824 global-extend
3825 lookup
3826 macros-only-env
3827 extend-var-env
3828 extend-env
3829 null-env
3830 binding-value
3831 binding-type
3832 make-binding
3833 arg-check
3834 source-annotation
3835 no-source
3836 set-syntax-object-module!
3837 set-syntax-object-wrap!
3838 set-syntax-object-expression!
3839 syntax-object-module
3840 syntax-object-wrap
3841 syntax-object-expression
3842 syntax-object?
3843 make-syntax-object
3844 build-lexical-var
3845 build-letrec
3846 build-named-let
3847 build-let
3848 build-sequence
3849 build-data
3850 build-primref
3851 build-lambda
3852 build-global-definition
3853 maybe-name-value!
3854 build-global-assignment
3855 build-global-reference
3856 analyze-variable
3857 build-lexical-assignment
3858 build-lexical-reference
3859 build-conditional
3860 build-application
3861 build-void
3862 get-global-definition-hook
3863 put-global-definition-hook
3864 gensym-hook
3865 local-eval-hook
3866 top-level-eval-hook
3867 fx<
3868 fx=
3869 fx-
3870 fx+
3871 *mode*
3872 noexpand)
3873 ((top)
3874 (top)
3875 (top)
3876 (top)
3877 (top)
3878 (top)
3879 (top)
3880 (top)
3881 (top)
3882 (top)
3883 (top)
3884 (top)
3885 (top)
3886 (top)
3887 (top)
3888 (top)
3889 (top)
3890 (top)
3891 (top)
3892 (top)
3893 (top)
3894 (top)
3895 (top)
3896 (top)
3897 (top)
3898 (top)
3899 (top)
3900 (top)
3901 (top)
3902 (top)
3903 (top)
3904 (top)
3905 (top)
3906 (top)
3907 (top)
3908 (top)
3909 (top)
3910 (top)
3911 (top)
3912 (top)
3913 (top)
3914 (top)
3915 (top)
3916 (top)
3917 (top)
3918 (top)
3919 (top)
3920 (top)
3921 (top)
3922 (top)
3923 (top)
3924 (top)
3925 (top)
3926 (top)
3927 (top)
3928 (top)
3929 (top)
3930 (top)
3931 (top)
3932 (top)
3933 (top)
3934 (top)
3935 (top)
3936 (top)
3937 (top)
3938 (top)
3939 (top)
3940 (top)
3941 (top)
3942 (top)
3943 (top)
3944 (top)
3945 (top)
3946 (top)
3947 (top)
3948 (top)
3949 (top)
3950 (top)
3951 (top)
3952 (top)
3953 (top)
3954 (top)
3955 (top)
3956 (top)
3957 (top)
3958 (top)
3959 (top)
3960 (top)
3961 (top)
3962 (top)
3963 (top)
3964 (top)
3965 (top)
3966 (top)
3967 (top)
3968 (top)
3969 (top)
3970 (top)
3971 (top)
3972 (top)
3973 (top)
3974 (top)
3975 (top)
3976 (top)
3977 (top)
3978 (top)
3979 (top)
3980 (top)
3981 (top)
3982 (top)
3983 (top))
3984 ("i"
3985 "i"
3986 "i"
3987 "i"
3988 "i"
3989 "i"
3990 "i"
3991 "i"
3992 "i"
3993 "i"
3994 "i"
3995 "i"
3996 "i"
3997 "i"
3998 "i"
3999 "i"
4000 "i"
4001 "i"
4002 "i"
4003 "i"
4004 "i"
4005 "i"
4006 "i"
4007 "i"
4008 "i"
4009 "i"
4010 "i"
4011 "i"
4012 "i"
4013 "i"
4014 "i"
4015 "i"
4016 "i"
4017 "i"
4018 "i"
4019 "i"
4020 "i"
4021 "i"
4022 "i"
4023 "i"
4024 "i"
4025 "i"
4026 "i"
4027 "i"
4028 "i"
4029 "i"
4030 "i"
4031 "i"
4032 "i"
4033 "i"
4034 "i"
4035 "i"
4036 "i"
4037 "i"
4038 "i"
4039 "i"
4040 "i"
4041 "i"
4042 "i"
4043 "i"
4044 "i"
4045 "i"
4046 "i"
4047 "i"
4048 "i"
4049 "i"
4050 "i"
4051 "i"
4052 "i"
4053 "i"
4054 "i"
4055 "i"
4056 "i"
4057 "i"
4058 "i"
4059 "i"
4060 "i"
4061 "i"
4062 "i"
4063 "i"
4064 "i"
4065 "i"
4066 "i"
4067 "i"
4068 "i"
4069 "i"
4070 "i"
4071 "i"
4072 "i"
4073 "i"
4074 "i"
4075 "i"
4076 "i"
4077 "i"
4078 "i"
4079 "i"
4080 "i"
4081 "i"
4082 "i"
4083 "i"
4084 "i"
4085 "i"
4086 "i"
4087 "i"
4088 "i"
4089 "i"
4090 "i"
4091 "i"
4092 "i"
4093 "i"
4094 "i"))
4095 #(ribcage
4096 (define-structure
4097 and-map*)
4098 ((top) (top))
4099 ("i" "i")))
4100 (hygiene guile)))
4101 'load
4102 (if (free-id=?137
4103 x599
4104 '#(syntax-object
4105 eval
4106 ((top)
4107 #(ribcage
4108 ()
4109 ()
4110 ())
4111 #(ribcage
4112 ()
4113 ()
4114 ())
4115 #(ribcage
4116 ()
4117 ()
4118 ())
4119 #(ribcage
4120 #(x)
4121 #((top))
4122 #("i"))
4123 #(ribcage
4124 ()
4125 ()
4126 ())
4127 #(ribcage
4128 #(f
4129 when-list
4130 situations)
4131 #((top)
4132 (top)
4133 (top))
4134 #("i" "i" "i"))
4135 #(ribcage
4136 ()
4137 ()
4138 ())
4139 #(ribcage
4140 #(e
4141 when-list
4142 w)
4143 #((top)
4144 (top)
4145 (top))
4146 #("i" "i" "i"))
4147 #(ribcage
4148 (lambda-var-list
4149 gen-var
4150 strip
4151 ellipsis?
4152 chi-void
4153 eval-local-transformer
4154 chi-local-syntax
4155 chi-lambda-clause
4156 chi-body
4157 chi-macro
4158 chi-application
4159 chi-expr
4160 chi
4161 chi-top
4162 syntax-type
4163 chi-when-list
4164 chi-install-global
4165 chi-top-sequence
4166 chi-sequence
4167 source-wrap
4168 wrap
4169 bound-id-member?
4170 distinct-bound-ids?
4171 valid-bound-ids?
4172 bound-id=?
4173 free-id=?
4174 id-var-name
4175 same-marks?
4176 join-marks
4177 join-wraps
4178 smart-append
4179 make-binding-wrap
4180 extend-ribcage!
4181 make-empty-ribcage
4182 new-mark
4183 anti-mark
4184 the-anti-mark
4185 top-marked?
4186 top-wrap
4187 empty-wrap
4188 set-ribcage-labels!
4189 set-ribcage-marks!
4190 set-ribcage-symnames!
4191 ribcage-labels
4192 ribcage-marks
4193 ribcage-symnames
4194 ribcage?
4195 make-ribcage
4196 gen-labels
4197 gen-label
4198 make-rename
4199 rename-marks
4200 rename-new
4201 rename-old
4202 subst-rename?
4203 wrap-subst
4204 wrap-marks
4205 make-wrap
4206 id-sym-name&marks
4207 id-sym-name
4208 id?
4209 nonsymbol-id?
4210 global-extend
4211 lookup
4212 macros-only-env
4213 extend-var-env
4214 extend-env
4215 null-env
4216 binding-value
4217 binding-type
4218 make-binding
4219 arg-check
4220 source-annotation
4221 no-source
4222 set-syntax-object-module!
4223 set-syntax-object-wrap!
4224 set-syntax-object-expression!
4225 syntax-object-module
4226 syntax-object-wrap
4227 syntax-object-expression
4228 syntax-object?
4229 make-syntax-object
4230 build-lexical-var
4231 build-letrec
4232 build-named-let
4233 build-let
4234 build-sequence
4235 build-data
4236 build-primref
4237 build-lambda
4238 build-global-definition
4239 maybe-name-value!
4240 build-global-assignment
4241 build-global-reference
4242 analyze-variable
4243 build-lexical-assignment
4244 build-lexical-reference
4245 build-conditional
4246 build-application
4247 build-void
4248 get-global-definition-hook
4249 put-global-definition-hook
4250 gensym-hook
4251 local-eval-hook
4252 top-level-eval-hook
4253 fx<
4254 fx=
4255 fx-
4256 fx+
4257 *mode*
4258 noexpand)
4259 ((top)
4260 (top)
4261 (top)
4262 (top)
4263 (top)
4264 (top)
4265 (top)
4266 (top)
4267 (top)
4268 (top)
4269 (top)
4270 (top)
4271 (top)
4272 (top)
4273 (top)
4274 (top)
4275 (top)
4276 (top)
4277 (top)
4278 (top)
4279 (top)
4280 (top)
4281 (top)
4282 (top)
4283 (top)
4284 (top)
4285 (top)
4286 (top)
4287 (top)
4288 (top)
4289 (top)
4290 (top)
4291 (top)
4292 (top)
4293 (top)
4294 (top)
4295 (top)
4296 (top)
4297 (top)
4298 (top)
4299 (top)
4300 (top)
4301 (top)
4302 (top)
4303 (top)
4304 (top)
4305 (top)
4306 (top)
4307 (top)
4308 (top)
4309 (top)
4310 (top)
4311 (top)
4312 (top)
4313 (top)
4314 (top)
4315 (top)
4316 (top)
4317 (top)
4318 (top)
4319 (top)
4320 (top)
4321 (top)
4322 (top)
4323 (top)
4324 (top)
4325 (top)
4326 (top)
4327 (top)
4328 (top)
4329 (top)
4330 (top)
4331 (top)
4332 (top)
4333 (top)
4334 (top)
4335 (top)
4336 (top)
4337 (top)
4338 (top)
4339 (top)
4340 (top)
4341 (top)
4342 (top)
4343 (top)
4344 (top)
4345 (top)
4346 (top)
4347 (top)
4348 (top)
4349 (top)
4350 (top)
4351 (top)
4352 (top)
4353 (top)
4354 (top)
4355 (top)
4356 (top)
4357 (top)
4358 (top)
4359 (top)
4360 (top)
4361 (top)
4362 (top)
4363 (top)
4364 (top)
4365 (top)
4366 (top)
4367 (top)
4368 (top)
4369 (top))
4370 ("i"
4371 "i"
4372 "i"
4373 "i"
4374 "i"
4375 "i"
4376 "i"
4377 "i"
4378 "i"
4379 "i"
4380 "i"
4381 "i"
4382 "i"
4383 "i"
4384 "i"
4385 "i"
4386 "i"
4387 "i"
4388 "i"
4389 "i"
4390 "i"
4391 "i"
4392 "i"
4393 "i"
4394 "i"
4395 "i"
4396 "i"
4397 "i"
4398 "i"
4399 "i"
4400 "i"
4401 "i"
4402 "i"
4403 "i"
4404 "i"
4405 "i"
4406 "i"
4407 "i"
4408 "i"
4409 "i"
4410 "i"
4411 "i"
4412 "i"
4413 "i"
4414 "i"
4415 "i"
4416 "i"
4417 "i"
4418 "i"
4419 "i"
4420 "i"
4421 "i"
4422 "i"
4423 "i"
4424 "i"
4425 "i"
4426 "i"
4427 "i"
4428 "i"
4429 "i"
4430 "i"
4431 "i"
4432 "i"
4433 "i"
4434 "i"
4435 "i"
4436 "i"
4437 "i"
4438 "i"
4439 "i"
4440 "i"
4441 "i"
4442 "i"
4443 "i"
4444 "i"
4445 "i"
4446 "i"
4447 "i"
4448 "i"
4449 "i"
4450 "i"
4451 "i"
4452 "i"
4453 "i"
4454 "i"
4455 "i"
4456 "i"
4457 "i"
4458 "i"
4459 "i"
4460 "i"
4461 "i"
4462 "i"
4463 "i"
4464 "i"
4465 "i"
4466 "i"
4467 "i"
4468 "i"
4469 "i"
4470 "i"
4471 "i"
4472 "i"
4473 "i"
4474 "i"
4475 "i"
4476 "i"
4477 "i"
4478 "i"
4479 "i"
4480 "i"))
4481 #(ribcage
4482 (define-structure
4483 and-map*)
4484 ((top) (top))
4485 ("i" "i")))
4486 (hygiene guile)))
4487 'eval
4488 (syntax-violation
4489 'eval-when
4490 "invalid situation"
4491 e593
4492 (wrap142
4493 x599
4494 w595
4495 #f))))))
4496 situations598))))))
4497 (f596 when-list594 (quote ())))))
4498 (chi-install-global146
4499 (lambda (name600 e601)
4500 (build-global-definition89
4501 #f
4502 name600
4503 (if (let ((v602 (module-variable (current-module) name600)))
4504 (if v602
4505 (if (variable-bound? v602)
4506 (if (macro? (variable-ref v602))
4507 (not (eq? (macro-type (variable-ref v602))
4508 'syncase-macro))
4509 #f)
4510 #f)
4511 #f))
4512 (build-application81
4513 #f
4514 (build-primref91
4515 #f
4516 'make-extended-syncase-macro)
4517 (list (build-application81
4518 #f
4519 (build-primref91 #f (quote module-ref))
4520 (list (build-application81
4521 #f
4522 (build-primref91
4523 #f
4524 'current-module)
4525 '())
4526 (build-data92 #f name600)))
4527 (build-data92 #f (quote macro))
4528 e601))
4529 (build-application81
4530 #f
4531 (build-primref91 #f (quote make-syncase-macro))
4532 (list (build-data92 #f (quote macro)) e601))))))
4533 (chi-top-sequence145
4534 (lambda (body603 r604 w605 s606 m607 esew608 mod609)
4535 (build-sequence93
4536 s606
4537 (letrec ((dobody610
4538 (lambda (body611 r612 w613 m614 esew615 mod616)
4539 (if (null? body611)
4540 '()
4541 (let ((first617
4542 (chi-top149
4543 (car body611)
4544 r612
4545 w613
4546 m614
4547 esew615
4548 mod616)))
4549 (cons first617
4550 (dobody610
4551 (cdr body611)
4552 r612
4553 w613
4554 m614
4555 esew615
4556 mod616)))))))
4557 (dobody610 body603 r604 w605 m607 esew608 mod609)))))
4558 (chi-sequence144
4559 (lambda (body618 r619 w620 s621 mod622)
4560 (build-sequence93
4561 s621
4562 (letrec ((dobody623
4563 (lambda (body624 r625 w626 mod627)
4564 (if (null? body624)
4565 '()
4566 (let ((first628
4567 (chi150
4568 (car body624)
4569 r625
4570 w626
4571 mod627)))
4572 (cons first628
4573 (dobody623
4574 (cdr body624)
4575 r625
4576 w626
4577 mod627)))))))
4578 (dobody623 body618 r619 w620 mod622)))))
4579 (source-wrap143
4580 (lambda (x629 w630 s631 defmod632)
4581 (begin
4582 (if (if s631 (pair? x629) #f)
4583 (set-source-properties! x629 s631))
4584 (wrap142 x629 w630 defmod632))))
4585 (wrap142
4586 (lambda (x633 w634 defmod635)
4587 (if (if (null? (wrap-marks117 w634))
4588 (null? (wrap-subst118 w634))
4589 #f)
4590 x633
4591 (if (syntax-object?98 x633)
4592 (make-syntax-object97
4593 (syntax-object-expression99 x633)
4594 (join-wraps133 w634 (syntax-object-wrap100 x633))
4595 (syntax-object-module101 x633))
4596 (if (null? x633)
4597 x633
4598 (make-syntax-object97 x633 w634 defmod635))))))
4599 (bound-id-member?141
4600 (lambda (x636 list637)
4601 (if (not (null? list637))
4602 (let ((t638 (bound-id=?138 x636 (car list637))))
4603 (if t638
4604 t638
4605 (bound-id-member?141 x636 (cdr list637))))
4606 #f)))
4607 (distinct-bound-ids?140
4608 (lambda (ids639)
4609 (letrec ((distinct?640
4610 (lambda (ids641)
4611 (let ((t642 (null? ids641)))
4612 (if t642
4613 t642
4614 (if (not (bound-id-member?141
4615 (car ids641)
4616 (cdr ids641)))
4617 (distinct?640 (cdr ids641))
4618 #f))))))
4619 (distinct?640 ids639))))
4620 (valid-bound-ids?139
4621 (lambda (ids643)
4622 (if (letrec ((all-ids?644
4623 (lambda (ids645)
4624 (let ((t646 (null? ids645)))
4625 (if t646
4626 t646
4627 (if (id?114 (car ids645))
4628 (all-ids?644 (cdr ids645))
4629 #f))))))
4630 (all-ids?644 ids643))
4631 (distinct-bound-ids?140 ids643)
4632 #f)))
4633 (bound-id=?138
4634 (lambda (i647 j648)
4635 (if (if (syntax-object?98 i647)
4636 (syntax-object?98 j648)
4637 #f)
4638 (if (eq? (syntax-object-expression99 i647)
4639 (syntax-object-expression99 j648))
4640 (same-marks?135
4641 (wrap-marks117 (syntax-object-wrap100 i647))
4642 (wrap-marks117 (syntax-object-wrap100 j648)))
4643 #f)
4644 (eq? i647 j648))))
4645 (free-id=?137
4646 (lambda (i649 j650)
4647 (if (eq? (let ((x651 i649))
4648 (if (syntax-object?98 x651)
4649 (syntax-object-expression99 x651)
4650 x651))
4651 (let ((x652 j650))
4652 (if (syntax-object?98 x652)
4653 (syntax-object-expression99 x652)
4654 x652)))
4655 (eq? (id-var-name136 i649 (quote (())))
4656 (id-var-name136 j650 (quote (()))))
4657 #f)))
4658 (id-var-name136
4659 (lambda (id653 w654)
4660 (letrec ((search-vector-rib657
4661 (lambda (sym663
4662 subst664
4663 marks665
4664 symnames666
4665 ribcage667)
4666 (let ((n668 (vector-length symnames666)))
4667 (letrec ((f669 (lambda (i670)
4668 (if (fx=74 i670 n668)
4669 (search655
4670 sym663
4671 (cdr subst664)
4672 marks665)
4673 (if (if (eq? (vector-ref
4674 symnames666
4675 i670)
4676 sym663)
4677 (same-marks?135
4678 marks665
4679 (vector-ref
4680 (ribcage-marks124
4681 ribcage667)
4682 i670))
4683 #f)
4684 (values
4685 (vector-ref
4686 (ribcage-labels125
4687 ribcage667)
4688 i670)
4689 marks665)
4690 (f669 (fx+72 i670 1)))))))
4691 (f669 0)))))
4692 (search-list-rib656
4693 (lambda (sym671
4694 subst672
4695 marks673
4696 symnames674
4697 ribcage675)
4698 (letrec ((f676 (lambda (symnames677 i678)
4699 (if (null? symnames677)
4700 (search655
4701 sym671
4702 (cdr subst672)
4703 marks673)
4704 (if (if (eq? (car symnames677)
4705 sym671)
4706 (same-marks?135
4707 marks673
4708 (list-ref
4709 (ribcage-marks124
4710 ribcage675)
4711 i678))
4712 #f)
4713 (values
4714 (list-ref
4715 (ribcage-labels125
4716 ribcage675)
4717 i678)
4718 marks673)
4719 (f676 (cdr symnames677)
4720 (fx+72 i678 1)))))))
4721 (f676 symnames674 0))))
4722 (search655
4723 (lambda (sym679 subst680 marks681)
4724 (if (null? subst680)
4725 (values #f marks681)
4726 (let ((fst682 (car subst680)))
4727 (if (eq? fst682 (quote shift))
4728 (search655
4729 sym679
4730 (cdr subst680)
4731 (cdr marks681))
4732 (let ((symnames683
4733 (ribcage-symnames123 fst682)))
4734 (if (vector? symnames683)
4735 (search-vector-rib657
4736 sym679
4737 subst680
4738 marks681
4739 symnames683
4740 fst682)
4741 (search-list-rib656
4742 sym679
4743 subst680
4744 marks681
4745 symnames683
4746 fst682)))))))))
4747 (if (symbol? id653)
4748 (let ((t684 (call-with-values
4749 (lambda ()
4750 (search655
4751 id653
4752 (wrap-subst118 w654)
4753 (wrap-marks117 w654)))
4754 (lambda (x686 . ignore685) x686))))
4755 (if t684 t684 id653))
4756 (if (syntax-object?98 id653)
4757 (let ((id687 (syntax-object-expression99 id653))
4758 (w1688 (syntax-object-wrap100 id653)))
4759 (let ((marks689
4760 (join-marks134
4761 (wrap-marks117 w654)
4762 (wrap-marks117 w1688))))
4763 (call-with-values
4764 (lambda ()
4765 (search655 id687 (wrap-subst118 w654) marks689))
4766 (lambda (new-id690 marks691)
4767 (let ((t692 new-id690))
4768 (if t692
4769 t692
4770 (let ((t693 (call-with-values
4771 (lambda ()
4772 (search655
4773 id687
4774 (wrap-subst118 w1688)
4775 marks691))
4776 (lambda (x695 . ignore694)
4777 x695))))
4778 (if t693 t693 id687))))))))
4779 (syntax-violation
4780 'id-var-name
4781 "invalid id"
4782 id653))))))
4783 (same-marks?135
4784 (lambda (x696 y697)
4785 (let ((t698 (eq? x696 y697)))
4786 (if t698
4787 t698
4788 (if (not (null? x696))
4789 (if (not (null? y697))
4790 (if (eq? (car x696) (car y697))
4791 (same-marks?135 (cdr x696) (cdr y697))
4792 #f)
4793 #f)
4794 #f)))))
4795 (join-marks134
4796 (lambda (m1699 m2700)
4797 (smart-append132 m1699 m2700)))
4798 (join-wraps133
4799 (lambda (w1701 w2702)
4800 (let ((m1703 (wrap-marks117 w1701))
4801 (s1704 (wrap-subst118 w1701)))
4802 (if (null? m1703)
4803 (if (null? s1704)
4804 w2702
4805 (make-wrap116
4806 (wrap-marks117 w2702)
4807 (smart-append132 s1704 (wrap-subst118 w2702))))
4808 (make-wrap116
4809 (smart-append132 m1703 (wrap-marks117 w2702))
4810 (smart-append132 s1704 (wrap-subst118 w2702)))))))
4811 (smart-append132
4812 (lambda (m1705 m2706)
4813 (if (null? m2706) m1705 (append m1705 m2706))))
4814 (make-binding-wrap131
4815 (lambda (ids707 labels708 w709)
4816 (if (null? ids707)
4817 w709
4818 (make-wrap116
4819 (wrap-marks117 w709)
4820 (cons (let ((labelvec710 (list->vector labels708)))
4821 (let ((n711 (vector-length labelvec710)))
4822 (let ((symnamevec712 (make-vector n711))
4823 (marksvec713 (make-vector n711)))
4824 (begin
4825 (letrec ((f714 (lambda (ids715 i716)
4826 (if (not (null? ids715))
4827 (call-with-values
4828 (lambda ()
4829 (id-sym-name&marks115
4830 (car ids715)
4831 w709))
4832 (lambda (symname717
4833 marks718)
4834 (begin
4835 (vector-set!
4836 symnamevec712
4837 i716
4838 symname717)
4839 (vector-set!
4840 marksvec713
4841 i716
4842 marks718)
4843 (f714 (cdr ids715)
4844 (fx+72 i716
4845 1)))))))))
4846 (f714 ids707 0))
4847 (make-ribcage121
4848 symnamevec712
4849 marksvec713
4850 labelvec710)))))
4851 (wrap-subst118 w709))))))
4852 (extend-ribcage!130
4853 (lambda (ribcage719 id720 label721)
4854 (begin
4855 (set-ribcage-symnames!126
4856 ribcage719
4857 (cons (syntax-object-expression99 id720)
4858 (ribcage-symnames123 ribcage719)))
4859 (set-ribcage-marks!127
4860 ribcage719
4861 (cons (wrap-marks117 (syntax-object-wrap100 id720))
4862 (ribcage-marks124 ribcage719)))
4863 (set-ribcage-labels!128
4864 ribcage719
4865 (cons label721 (ribcage-labels125 ribcage719))))))
4866 (anti-mark129
4867 (lambda (w722)
4868 (make-wrap116
4869 (cons #f (wrap-marks117 w722))
4870 (cons (quote shift) (wrap-subst118 w722)))))
4871 (set-ribcage-labels!128
4872 (lambda (x723 update724)
4873 (vector-set! x723 3 update724)))
4874 (set-ribcage-marks!127
4875 (lambda (x725 update726)
4876 (vector-set! x725 2 update726)))
4877 (set-ribcage-symnames!126
4878 (lambda (x727 update728)
4879 (vector-set! x727 1 update728)))
4880 (ribcage-labels125
4881 (lambda (x729) (vector-ref x729 3)))
4882 (ribcage-marks124
4883 (lambda (x730) (vector-ref x730 2)))
4884 (ribcage-symnames123
4885 (lambda (x731) (vector-ref x731 1)))
4886 (ribcage?122
4887 (lambda (x732)
4888 (if (vector? x732)
4889 (if (= (vector-length x732) 4)
4890 (eq? (vector-ref x732 0) (quote ribcage))
4891 #f)
4892 #f)))
4893 (make-ribcage121
4894 (lambda (symnames733 marks734 labels735)
4895 (vector
4896 'ribcage
4897 symnames733
4898 marks734
4899 labels735)))
4900 (gen-labels120
4901 (lambda (ls736)
4902 (if (null? ls736)
4903 '()
4904 (cons (gen-label119) (gen-labels120 (cdr ls736))))))
4905 (gen-label119 (lambda () (string #\i)))
4906 (wrap-subst118 cdr)
4907 (wrap-marks117 car)
4908 (make-wrap116 cons)
4909 (id-sym-name&marks115
4910 (lambda (x737 w738)
4911 (if (syntax-object?98 x737)
4912 (values
4913 (syntax-object-expression99 x737)
4914 (join-marks134
4915 (wrap-marks117 w738)
4916 (wrap-marks117 (syntax-object-wrap100 x737))))
4917 (values x737 (wrap-marks117 w738)))))
4918 (id?114
4919 (lambda (x739)
4920 (if (symbol? x739)
4921 #t
4922 (if (syntax-object?98 x739)
4923 (symbol? (syntax-object-expression99 x739))
4924 #f))))
4925 (nonsymbol-id?113
4926 (lambda (x740)
4927 (if (syntax-object?98 x740)
4928 (symbol? (syntax-object-expression99 x740))
4929 #f)))
4930 (global-extend112
4931 (lambda (type741 sym742 val743)
4932 (put-global-definition-hook78
4933 sym742
4934 type741
4935 val743)))
4936 (lookup111
4937 (lambda (x744 r745 mod746)
4938 (let ((t747 (assq x744 r745)))
4939 (if t747
4940 (cdr t747)
4941 (if (symbol? x744)
4942 (let ((t748 (get-global-definition-hook79 x744 mod746)))
4943 (if t748 t748 (quote (global))))
4944 '(displaced-lexical))))))
4945 (macros-only-env110
4946 (lambda (r749)
4947 (if (null? r749)
4948 '()
4949 (let ((a750 (car r749)))
4950 (if (eq? (cadr a750) (quote macro))
4951 (cons a750 (macros-only-env110 (cdr r749)))
4952 (macros-only-env110 (cdr r749)))))))
4953 (extend-var-env109
4954 (lambda (labels751 vars752 r753)
4955 (if (null? labels751)
4956 r753
4957 (extend-var-env109
4958 (cdr labels751)
4959 (cdr vars752)
4960 (cons (cons (car labels751)
4961 (cons (quote lexical) (car vars752)))
4962 r753)))))
4963 (extend-env108
4964 (lambda (labels754 bindings755 r756)
4965 (if (null? labels754)
4966 r756
4967 (extend-env108
4968 (cdr labels754)
4969 (cdr bindings755)
4970 (cons (cons (car labels754) (car bindings755))
4971 r756)))))
4972 (binding-value107 cdr)
4973 (binding-type106 car)
4974 (source-annotation105
4975 (lambda (x757)
4976 (if (syntax-object?98 x757)
4977 (source-annotation105
4978 (syntax-object-expression99 x757))
4979 (if (pair? x757)
4980 (let ((props758 (source-properties x757)))
4981 (if (pair? props758) props758 #f))
4982 #f))))
4983 (set-syntax-object-module!104
4984 (lambda (x759 update760)
4985 (vector-set! x759 3 update760)))
4986 (set-syntax-object-wrap!103
4987 (lambda (x761 update762)
4988 (vector-set! x761 2 update762)))
4989 (set-syntax-object-expression!102
4990 (lambda (x763 update764)
4991 (vector-set! x763 1 update764)))
4992 (syntax-object-module101
4993 (lambda (x765) (vector-ref x765 3)))
4994 (syntax-object-wrap100
4995 (lambda (x766) (vector-ref x766 2)))
4996 (syntax-object-expression99
4997 (lambda (x767) (vector-ref x767 1)))
4998 (syntax-object?98
4999 (lambda (x768)
5000 (if (vector? x768)
5001 (if (= (vector-length x768) 4)
5002 (eq? (vector-ref x768 0) (quote syntax-object))
5003 #f)
5004 #f)))
5005 (make-syntax-object97
5006 (lambda (expression769 wrap770 module771)
5007 (vector
5008 'syntax-object
5009 expression769
5010 wrap770
5011 module771)))
5012 (build-letrec96
5013 (lambda (src772 ids773 vars774 val-exps775 body-exp776)
5014 (if (null? vars774)
5015 body-exp776
5016 (let ((atom-key777 (fluid-ref *mode*71)))
5017 (if (memv atom-key777 (quote (c)))
5018 (begin
5019 (for-each maybe-name-value!88 ids773 val-exps775)
5020 ((@ (language tree-il) make-letrec)
5021 src772
5022 ids773
5023 vars774
5024 val-exps775
5025 body-exp776))
5026 (list 'letrec
5027 (map list vars774 val-exps775)
5028 body-exp776))))))
5029 (build-named-let95
5030 (lambda (src778 ids779 vars780 val-exps781 body-exp782)
5031 (let ((f783 (car vars780))
5032 (f-name784 (car ids779))
5033 (vars785 (cdr vars780))
5034 (ids786 (cdr ids779)))
5035 (let ((atom-key787 (fluid-ref *mode*71)))
5036 (if (memv atom-key787 (quote (c)))
5037 (let ((proc788
5038 (build-lambda90
5039 src778
5040 ids786
5041 vars785
5042 #f
5043 body-exp782)))
5044 (begin
5045 (maybe-name-value!88 f-name784 proc788)
5046 (for-each maybe-name-value!88 ids786 val-exps781)
5047 ((@ (language tree-il) make-letrec)
5048 src778
5049 (list f-name784)
5050 (list f783)
5051 (list proc788)
5052 (build-application81
5053 src778
5054 (build-lexical-reference83
5055 'fun
5056 src778
5057 f-name784
5058 f783)
5059 val-exps781))))
5060 (list 'let
5061 f783
5062 (map list vars785 val-exps781)
5063 body-exp782))))))
5064 (build-let94
5065 (lambda (src789 ids790 vars791 val-exps792 body-exp793)
5066 (if (null? vars791)
5067 body-exp793
5068 (let ((atom-key794 (fluid-ref *mode*71)))
5069 (if (memv atom-key794 (quote (c)))
5070 (begin
5071 (for-each maybe-name-value!88 ids790 val-exps792)
5072 ((@ (language tree-il) make-let)
5073 src789
5074 ids790
5075 vars791
5076 val-exps792
5077 body-exp793))
5078 (list 'let
5079 (map list vars791 val-exps792)
5080 body-exp793))))))
5081 (build-sequence93
5082 (lambda (src795 exps796)
5083 (if (null? (cdr exps796))
5084 (car exps796)
5085 (let ((atom-key797 (fluid-ref *mode*71)))
5086 (if (memv atom-key797 (quote (c)))
5087 ((@ (language tree-il) make-sequence)
5088 src795
5089 exps796)
5090 (cons (quote begin) exps796))))))
5091 (build-data92
5092 (lambda (src798 exp799)
5093 (let ((atom-key800 (fluid-ref *mode*71)))
5094 (if (memv atom-key800 (quote (c)))
5095 ((@ (language tree-il) make-const) src798 exp799)
5096 (if (if (self-evaluating? exp799)
5097 (not (vector? exp799))
5098 #f)
5099 exp799
5100 (list (quote quote) exp799))))))
5101 (build-primref91
5102 (lambda (src801 name802)
5103 (if (equal?
5104 (module-name (current-module))
5105 '(guile))
5106 (let ((atom-key803 (fluid-ref *mode*71)))
5107 (if (memv atom-key803 (quote (c)))
5108 ((@ (language tree-il) make-toplevel-ref)
5109 src801
5110 name802)
5111 name802))
5112 (let ((atom-key804 (fluid-ref *mode*71)))
5113 (if (memv atom-key804 (quote (c)))
5114 ((@ (language tree-il) make-module-ref)
5115 src801
5116 '(guile)
5117 name802
5118 #f)
5119 (list (quote @@) (quote (guile)) name802))))))
5120 (build-lambda90
5121 (lambda (src805 ids806 vars807 docstring808 exp809)
5122 (let ((atom-key810 (fluid-ref *mode*71)))
5123 (if (memv atom-key810 (quote (c)))
5124 ((@ (language tree-il) make-lambda)
5125 src805
5126 ids806
5127 vars807
5128 (if docstring808
5129 (list (cons (quote documentation) docstring808))
5130 '())
5131 exp809)
5132 (cons 'lambda
5133 (cons vars807
5134 (append
5135 (if docstring808
5136 (list docstring808)
5137 '())
5138 (list exp809))))))))
5139 (build-global-definition89
5140 (lambda (source811 var812 exp813)
5141 (let ((atom-key814 (fluid-ref *mode*71)))
5142 (if (memv atom-key814 (quote (c)))
5143 (begin
5144 (maybe-name-value!88 var812 exp813)
5145 ((@ (language tree-il) make-toplevel-define)
5146 source811
5147 var812
5148 exp813))
5149 (list (quote define) var812 exp813)))))
5150 (maybe-name-value!88
5151 (lambda (name815 val816)
5152 (if ((@ (language tree-il) lambda?) val816)
5153 (let ((meta817
5154 ((@ (language tree-il) lambda-meta) val816)))
5155 (if (not (assq (quote name) meta817))
5156 ((setter (@ (language tree-il) lambda-meta))
5157 val816
5158 (acons (quote name) name815 meta817)))))))
5159 (build-global-assignment87
5160 (lambda (source818 var819 exp820 mod821)
5161 (analyze-variable85
5162 mod821
5163 var819
5164 (lambda (mod822 var823 public?824)
5165 (let ((atom-key825 (fluid-ref *mode*71)))
5166 (if (memv atom-key825 (quote (c)))
5167 ((@ (language tree-il) make-module-set)
5168 source818
5169 mod822
5170 var823
5171 public?824
5172 exp820)
5173 (list 'set!
5174 (list (if public?824 (quote @) (quote @@))
5175 mod822
5176 var823)
5177 exp820))))
5178 (lambda (var826)
5179 (let ((atom-key827 (fluid-ref *mode*71)))
5180 (if (memv atom-key827 (quote (c)))
5181 ((@ (language tree-il) make-toplevel-set)
5182 source818
5183 var826
5184 exp820)
5185 (list (quote set!) var826 exp820)))))))
5186 (build-global-reference86
5187 (lambda (source828 var829 mod830)
5188 (analyze-variable85
5189 mod830
5190 var829
5191 (lambda (mod831 var832 public?833)
5192 (let ((atom-key834 (fluid-ref *mode*71)))
5193 (if (memv atom-key834 (quote (c)))
5194 ((@ (language tree-il) make-module-ref)
5195 source828
5196 mod831
5197 var832
5198 public?833)
5199 (list (if public?833 (quote @) (quote @@))
5200 mod831
5201 var832))))
5202 (lambda (var835)
5203 (let ((atom-key836 (fluid-ref *mode*71)))
5204 (if (memv atom-key836 (quote (c)))
5205 ((@ (language tree-il) make-toplevel-ref)
5206 source828
5207 var835)
5208 var835))))))
5209 (analyze-variable85
5210 (lambda (mod837 var838 modref-cont839 bare-cont840)
5211 (if (not mod837)
5212 (bare-cont840 var838)
5213 (let ((kind841 (car mod837)) (mod842 (cdr mod837)))
5214 (if (memv kind841 (quote (public)))
5215 (modref-cont839 mod842 var838 #t)
5216 (if (memv kind841 (quote (private)))
5217 (if (not (equal? mod842 (module-name (current-module))))
5218 (modref-cont839 mod842 var838 #f)
5219 (bare-cont840 var838))
5220 (if (memv kind841 (quote (bare)))
5221 (bare-cont840 var838)
5222 (if (memv kind841 (quote (hygiene)))
5223 (if (if (not (equal?
5224 mod842
5225 (module-name (current-module))))
5226 (module-variable
5227 (resolve-module mod842)
5228 var838)
5229 #f)
5230 (modref-cont839 mod842 var838 #f)
5231 (bare-cont840 var838))
5232 (syntax-violation
5233 #f
5234 "bad module kind"
5235 var838
5236 mod842)))))))))
5237 (build-lexical-assignment84
5238 (lambda (source843 name844 var845 exp846)
5239 (let ((atom-key847 (fluid-ref *mode*71)))
5240 (if (memv atom-key847 (quote (c)))
5241 ((@ (language tree-il) make-lexical-set)
5242 source843
5243 name844
5244 var845
5245 exp846)
5246 (list (quote set!) var845 exp846)))))
5247 (build-lexical-reference83
5248 (lambda (type848 source849 name850 var851)
5249 (let ((atom-key852 (fluid-ref *mode*71)))
5250 (if (memv atom-key852 (quote (c)))
5251 ((@ (language tree-il) make-lexical-ref)
5252 source849
5253 name850
5254 var851)
5255 var851))))
5256 (build-conditional82
5257 (lambda (source853 test-exp854 then-exp855 else-exp856)
5258 (let ((atom-key857 (fluid-ref *mode*71)))
5259 (if (memv atom-key857 (quote (c)))
5260 ((@ (language tree-il) make-conditional)
5261 source853
5262 test-exp854
5263 then-exp855
5264 else-exp856)
5265 (if (equal? else-exp856 (quote (if #f #f)))
5266 (list (quote if) test-exp854 then-exp855)
5267 (list 'if
5268 test-exp854
5269 then-exp855
5270 else-exp856))))))
5271 (build-application81
5272 (lambda (source858 fun-exp859 arg-exps860)
5273 (let ((atom-key861 (fluid-ref *mode*71)))
5274 (if (memv atom-key861 (quote (c)))
5275 ((@ (language tree-il) make-application)
5276 source858
5277 fun-exp859
5278 arg-exps860)
5279 (cons fun-exp859 arg-exps860)))))
5280 (build-void80
5281 (lambda (source862)
5282 (let ((atom-key863 (fluid-ref *mode*71)))
5283 (if (memv atom-key863 (quote (c)))
5284 ((@ (language tree-il) make-void) source862)
5285 '(if #f #f)))))
5286 (get-global-definition-hook79
5287 (lambda (symbol864 module865)
5288 (begin
5289 (if (if (not module865) (current-module) #f)
5290 (warn "module system is booted, we should have a module"
5291 symbol864))
5292 (let ((v866 (module-variable
5293 (if module865
5294 (resolve-module (cdr module865))
5295 (current-module))
5296 symbol864)))
5297 (if v866
5298 (if (variable-bound? v866)
5299 (let ((val867 (variable-ref v866)))
5300 (if (macro? val867)
5301 (if (syncase-macro-type val867)
5302 (cons (syncase-macro-type val867)
5303 (syncase-macro-binding val867))
5304 #f)
5305 #f))
5306 #f)
5307 #f)))))
5308 (put-global-definition-hook78
5309 (lambda (symbol868 type869 val870)
5310 (let ((existing871
5311 (let ((v872 (module-variable
5312 (current-module)
5313 symbol868)))
5314 (if v872
5315 (if (variable-bound? v872)
5316 (let ((val873 (variable-ref v872)))
5317 (if (macro? val873)
5318 (if (not (syncase-macro-type val873))
5319 val873
5320 #f)
5321 #f))
5322 #f)
5323 #f))))
5324 (module-define!
5325 (current-module)
5326 symbol868
5327 (if existing871
5328 (make-extended-syncase-macro
5329 existing871
5330 type869
5331 val870)
5332 (make-syncase-macro type869 val870))))))
5333 (local-eval-hook77
5334 (lambda (x874 mod875)
5335 (primitive-eval
5336 (list noexpand70
5337 (let ((atom-key876 (fluid-ref *mode*71)))
5338 (if (memv atom-key876 (quote (c)))
5339 ((@ (language tree-il) tree-il->scheme) x874)
5340 x874))))))
5341 (top-level-eval-hook76
5342 (lambda (x877 mod878)
5343 (primitive-eval
5344 (list noexpand70
5345 (let ((atom-key879 (fluid-ref *mode*71)))
5346 (if (memv atom-key879 (quote (c)))
5347 ((@ (language tree-il) tree-il->scheme) x877)
5348 x877))))))
5349 (fx<75 <)
5350 (fx=74 =)
5351 (fx-73 -)
5352 (fx+72 +)
5353 (*mode*71 (make-fluid))
5354 (noexpand70 "noexpand"))
5355 (begin
5356 (global-extend112
5357 'local-syntax
5358 'letrec-syntax
5359 #t)
5360 (global-extend112
5361 'local-syntax
5362 'let-syntax
5363 #f)
5364 (global-extend112
5365 'core
5366 'fluid-let-syntax
5367 (lambda (e880 r881 w882 s883 mod884)
5368 ((lambda (tmp885)
5369 ((lambda (tmp886)
5370 (if (if tmp886
5371 (apply (lambda (_887 var888 val889 e1890 e2891)
5372 (valid-bound-ids?139 var888))
5373 tmp886)
5374 #f)
5375 (apply (lambda (_893 var894 val895 e1896 e2897)
5376 (let ((names898
5377 (map (lambda (x899)
5378 (id-var-name136 x899 w882))
5379 var894)))
5380 (begin
5381 (for-each
5382 (lambda (id901 n902)
5383 (let ((atom-key903
5384 (binding-type106
5385 (lookup111 n902 r881 mod884))))
5386 (if (memv atom-key903
5387 '(displaced-lexical))
5388 (syntax-violation
5389 'fluid-let-syntax
5390 "identifier out of context"
5391 e880
5392 (source-wrap143
5393 id901
5394 w882
5395 s883
5396 mod884)))))
5397 var894
5398 names898)
5399 (chi-body154
5400 (cons e1896 e2897)
5401 (source-wrap143 e880 w882 s883 mod884)
5402 (extend-env108
5403 names898
5404 (let ((trans-r906
5405 (macros-only-env110 r881)))
5406 (map (lambda (x907)
5407 (cons 'macro
5408 (eval-local-transformer157
5409 (chi150
5410 x907
5411 trans-r906
5412 w882
5413 mod884)
5414 mod884)))
5415 val895))
5416 r881)
5417 w882
5418 mod884))))
5419 tmp886)
5420 ((lambda (_909)
5421 (syntax-violation
5422 'fluid-let-syntax
5423 "bad syntax"
5424 (source-wrap143 e880 w882 s883 mod884)))
5425 tmp885)))
5426 ($sc-dispatch
5427 tmp885
5428 '(any #(each (any any)) any . each-any))))
5429 e880)))
5430 (global-extend112
5431 'core
5432 'quote
5433 (lambda (e910 r911 w912 s913 mod914)
5434 ((lambda (tmp915)
5435 ((lambda (tmp916)
5436 (if tmp916
5437 (apply (lambda (_917 e918)
5438 (build-data92 s913 (strip160 e918 w912)))
5439 tmp916)
5440 ((lambda (_919)
5441 (syntax-violation
5442 'quote
5443 "bad syntax"
5444 (source-wrap143 e910 w912 s913 mod914)))
5445 tmp915)))
5446 ($sc-dispatch tmp915 (quote (any any)))))
5447 e910)))
5448 (global-extend112
5449 'core
5450 'syntax
5451 (letrec ((regen927
5452 (lambda (x928)
5453 (let ((atom-key929 (car x928)))
5454 (if (memv atom-key929 (quote (ref)))
5455 (build-lexical-reference83
5456 'value
5457 #f
5458 (cadr x928)
5459 (cadr x928))
5460 (if (memv atom-key929 (quote (primitive)))
5461 (build-primref91 #f (cadr x928))
5462 (if (memv atom-key929 (quote (quote)))
5463 (build-data92 #f (cadr x928))
5464 (if (memv atom-key929 (quote (lambda)))
5465 (build-lambda90
5466 #f
5467 (cadr x928)
5468 (cadr x928)
5469 #f
5470 (regen927 (caddr x928)))
5471 (build-application81
5472 #f
5473 (build-primref91 #f (car x928))
5474 (map regen927 (cdr x928))))))))))
5475 (gen-vector926
5476 (lambda (x930)
5477 (if (eq? (car x930) (quote list))
5478 (cons (quote vector) (cdr x930))
5479 (if (eq? (car x930) (quote quote))
5480 (list (quote quote) (list->vector (cadr x930)))
5481 (list (quote list->vector) x930)))))
5482 (gen-append925
5483 (lambda (x931 y932)
5484 (if (equal? y932 (quote (quote ())))
5485 x931
5486 (list (quote append) x931 y932))))
5487 (gen-cons924
5488 (lambda (x933 y934)
5489 (let ((atom-key935 (car y934)))
5490 (if (memv atom-key935 (quote (quote)))
5491 (if (eq? (car x933) (quote quote))
5492 (list 'quote
5493 (cons (cadr x933) (cadr y934)))
5494 (if (eq? (cadr y934) (quote ()))
5495 (list (quote list) x933)
5496 (list (quote cons) x933 y934)))
5497 (if (memv atom-key935 (quote (list)))
5498 (cons (quote list) (cons x933 (cdr y934)))
5499 (list (quote cons) x933 y934))))))
5500 (gen-map923
5501 (lambda (e936 map-env937)
5502 (let ((formals938 (map cdr map-env937))
5503 (actuals939
5504 (map (lambda (x940) (list (quote ref) (car x940)))
5505 map-env937)))
5506 (if (eq? (car e936) (quote ref))
5507 (car actuals939)
5508 (if (and-map
5509 (lambda (x941)
5510 (if (eq? (car x941) (quote ref))
5511 (memq (cadr x941) formals938)
5512 #f))
5513 (cdr e936))
5514 (cons 'map
5515 (cons (list (quote primitive) (car e936))
5516 (map (let ((r942 (map cons
5517 formals938
5518 actuals939)))
5519 (lambda (x943)
5520 (cdr (assq (cadr x943) r942))))
5521 (cdr e936))))
5522 (cons 'map
5523 (cons (list (quote lambda) formals938 e936)
5524 actuals939)))))))
5525 (gen-mappend922
5526 (lambda (e944 map-env945)
5527 (list 'apply
5528 '(primitive append)
5529 (gen-map923 e944 map-env945))))
5530 (gen-ref921
5531 (lambda (src946 var947 level948 maps949)
5532 (if (fx=74 level948 0)
5533 (values var947 maps949)
5534 (if (null? maps949)
5535 (syntax-violation
5536 'syntax
5537 "missing ellipsis"
5538 src946)
5539 (call-with-values
5540 (lambda ()
5541 (gen-ref921
5542 src946
5543 var947
5544 (fx-73 level948 1)
5545 (cdr maps949)))
5546 (lambda (outer-var950 outer-maps951)
5547 (let ((b952 (assq outer-var950 (car maps949))))
5548 (if b952
5549 (values (cdr b952) maps949)
5550 (let ((inner-var953 (gen-var161 (quote tmp))))
5551 (values
5552 inner-var953
5553 (cons (cons (cons outer-var950
5554 inner-var953)
5555 (car maps949))
5556 outer-maps951)))))))))))
5557 (gen-syntax920
5558 (lambda (src954 e955 r956 maps957 ellipsis?958 mod959)
5559 (if (id?114 e955)
5560 (let ((label960 (id-var-name136 e955 (quote (())))))
5561 (let ((b961 (lookup111 label960 r956 mod959)))
5562 (if (eq? (binding-type106 b961) (quote syntax))
5563 (call-with-values
5564 (lambda ()
5565 (let ((var.lev962 (binding-value107 b961)))
5566 (gen-ref921
5567 src954
5568 (car var.lev962)
5569 (cdr var.lev962)
5570 maps957)))
5571 (lambda (var963 maps964)
5572 (values (list (quote ref) var963) maps964)))
5573 (if (ellipsis?958 e955)
5574 (syntax-violation
5575 'syntax
5576 "misplaced ellipsis"
5577 src954)
5578 (values (list (quote quote) e955) maps957)))))
5579 ((lambda (tmp965)
5580 ((lambda (tmp966)
5581 (if (if tmp966
5582 (apply (lambda (dots967 e968)
5583 (ellipsis?958 dots967))
5584 tmp966)
5585 #f)
5586 (apply (lambda (dots969 e970)
5587 (gen-syntax920
5588 src954
5589 e970
5590 r956
5591 maps957
5592 (lambda (x971) #f)
5593 mod959))
5594 tmp966)
5595 ((lambda (tmp972)
5596 (if (if tmp972
5597 (apply (lambda (x973 dots974 y975)
5598 (ellipsis?958 dots974))
5599 tmp972)
5600 #f)
5601 (apply (lambda (x976 dots977 y978)
5602 (letrec ((f979 (lambda (y980 k981)
5603 ((lambda (tmp985)
5604 ((lambda (tmp986)
5605 (if (if tmp986
5606 (apply (lambda (dots987
5607 y988)
5608 (ellipsis?958
5609 dots987))
5610 tmp986)
5611 #f)
5612 (apply (lambda (dots989
5613 y990)
5614 (f979 y990
5615 (lambda (maps991)
5616 (call-with-values
5617 (lambda ()
5618 (k981 (cons '()
5619 maps991)))
5620 (lambda (x992
5621 maps993)
5622 (if (null? (car maps993))
5623 (syntax-violation
5624 'syntax
5625 "extra ellipsis"
5626 src954)
5627 (values
5628 (gen-mappend922
5629 x992
5630 (car maps993))
5631 (cdr maps993))))))))
5632 tmp986)
5633 ((lambda (_994)
5634 (call-with-values
5635 (lambda ()
5636 (gen-syntax920
5637 src954
5638 y980
5639 r956
5640 maps957
5641 ellipsis?958
5642 mod959))
5643 (lambda (y995
5644 maps996)
5645 (call-with-values
5646 (lambda ()
5647 (k981 maps996))
5648 (lambda (x997
5649 maps998)
5650 (values
5651 (gen-append925
5652 x997
5653 y995)
5654 maps998))))))
5655 tmp985)))
5656 ($sc-dispatch
5657 tmp985
5658 '(any .
5659 any))))
5660 y980))))
5661 (f979 y978
5662 (lambda (maps982)
5663 (call-with-values
5664 (lambda ()
5665 (gen-syntax920
5666 src954
5667 x976
5668 r956
5669 (cons '()
5670 maps982)
5671 ellipsis?958
5672 mod959))
5673 (lambda (x983 maps984)
5674 (if (null? (car maps984))
5675 (syntax-violation
5676 'syntax
5677 "extra ellipsis"
5678 src954)
5679 (values
5680 (gen-map923
5681 x983
5682 (car maps984))
5683 (cdr maps984)))))))))
5684 tmp972)
5685 ((lambda (tmp999)
5686 (if tmp999
5687 (apply (lambda (x1000 y1001)
5688 (call-with-values
5689 (lambda ()
5690 (gen-syntax920
5691 src954
5692 x1000
5693 r956
5694 maps957
5695 ellipsis?958
5696 mod959))
5697 (lambda (x1002 maps1003)
5698 (call-with-values
5699 (lambda ()
5700 (gen-syntax920
5701 src954
5702 y1001
5703 r956
5704 maps1003
5705 ellipsis?958
5706 mod959))
5707 (lambda (y1004
5708 maps1005)
5709 (values
5710 (gen-cons924
5711 x1002
5712 y1004)
5713 maps1005))))))
5714 tmp999)
5715 ((lambda (tmp1006)
5716 (if tmp1006
5717 (apply (lambda (e11007 e21008)
5718 (call-with-values
5719 (lambda ()
5720 (gen-syntax920
5721 src954
5722 (cons e11007
5723 e21008)
5724 r956
5725 maps957
5726 ellipsis?958
5727 mod959))
5728 (lambda (e1010
5729 maps1011)
5730 (values
5731 (gen-vector926
5732 e1010)
5733 maps1011))))
5734 tmp1006)
5735 ((lambda (_1012)
5736 (values
5737 (list (quote quote) e955)
5738 maps957))
5739 tmp965)))
5740 ($sc-dispatch
5741 tmp965
5742 '#(vector (any . each-any))))))
5743 ($sc-dispatch
5744 tmp965
5745 '(any . any)))))
5746 ($sc-dispatch
5747 tmp965
5748 '(any any . any)))))
5749 ($sc-dispatch tmp965 (quote (any any)))))
5750 e955)))))
5751 (lambda (e1013 r1014 w1015 s1016 mod1017)
5752 (let ((e1018 (source-wrap143 e1013 w1015 s1016 mod1017)))
5753 ((lambda (tmp1019)
5754 ((lambda (tmp1020)
5755 (if tmp1020
5756 (apply (lambda (_1021 x1022)
5757 (call-with-values
5758 (lambda ()
5759 (gen-syntax920
5760 e1018
5761 x1022
5762 r1014
5763 '()
5764 ellipsis?159
5765 mod1017))
5766 (lambda (e1023 maps1024) (regen927 e1023))))
5767 tmp1020)
5768 ((lambda (_1025)
5769 (syntax-violation
5770 'syntax
5771 "bad `syntax' form"
5772 e1018))
5773 tmp1019)))
5774 ($sc-dispatch tmp1019 (quote (any any)))))
5775 e1018)))))
5776 (global-extend112
5777 'core
5778 'lambda
5779 (lambda (e1026 r1027 w1028 s1029 mod1030)
5780 ((lambda (tmp1031)
5781 ((lambda (tmp1032)
5782 (if tmp1032
5783 (apply (lambda (_1033 c1034)
5784 (chi-lambda-clause155
5785 (source-wrap143 e1026 w1028 s1029 mod1030)
5786 #f
5787 c1034
5788 r1027
5789 w1028
5790 mod1030
5791 (lambda (names1035
5792 vars1036
5793 docstring1037
5794 body1038)
5795 (build-lambda90
5796 s1029
5797 names1035
5798 vars1036
5799 docstring1037
5800 body1038))))
5801 tmp1032)
5802 (syntax-violation
5803 #f
5804 "source expression failed to match any pattern"
5805 tmp1031)))
5806 ($sc-dispatch tmp1031 (quote (any . any)))))
5807 e1026)))
5808 (global-extend112
5809 'core
5810 'let
5811 (letrec ((chi-let1039
5812 (lambda (e1040
5813 r1041
5814 w1042
5815 s1043
5816 mod1044
5817 constructor1045
5818 ids1046
5819 vals1047
5820 exps1048)
5821 (if (not (valid-bound-ids?139 ids1046))
5822 (syntax-violation
5823 'let
5824 "duplicate bound variable"
5825 e1040)
5826 (let ((labels1049 (gen-labels120 ids1046))
5827 (new-vars1050 (map gen-var161 ids1046)))
5828 (let ((nw1051
5829 (make-binding-wrap131
5830 ids1046
5831 labels1049
5832 w1042))
5833 (nr1052
5834 (extend-var-env109
5835 labels1049
5836 new-vars1050
5837 r1041)))
5838 (constructor1045
5839 s1043
5840 (map syntax->datum ids1046)
5841 new-vars1050
5842 (map (lambda (x1053)
5843 (chi150 x1053 r1041 w1042 mod1044))
5844 vals1047)
5845 (chi-body154
5846 exps1048
5847 (source-wrap143 e1040 nw1051 s1043 mod1044)
5848 nr1052
5849 nw1051
5850 mod1044))))))))
5851 (lambda (e1054 r1055 w1056 s1057 mod1058)
5852 ((lambda (tmp1059)
5853 ((lambda (tmp1060)
5854 (if (if tmp1060
5855 (apply (lambda (_1061 id1062 val1063 e11064 e21065)
5856 (and-map id?114 id1062))
5857 tmp1060)
5858 #f)
5859 (apply (lambda (_1067 id1068 val1069 e11070 e21071)
5860 (chi-let1039
5861 e1054
5862 r1055
5863 w1056
5864 s1057
5865 mod1058
5866 build-let94
5867 id1068
5868 val1069
5869 (cons e11070 e21071)))
5870 tmp1060)
5871 ((lambda (tmp1075)
5872 (if (if tmp1075
5873 (apply (lambda (_1076
5874 f1077
5875 id1078
5876 val1079
5877 e11080
5878 e21081)
5879 (if (id?114 f1077)
5880 (and-map id?114 id1078)
5881 #f))
5882 tmp1075)
5883 #f)
5884 (apply (lambda (_1083
5885 f1084
5886 id1085
5887 val1086
5888 e11087
5889 e21088)
5890 (chi-let1039
5891 e1054
5892 r1055
5893 w1056
5894 s1057
5895 mod1058
5896 build-named-let95
5897 (cons f1084 id1085)
5898 val1086
5899 (cons e11087 e21088)))
5900 tmp1075)
5901 ((lambda (_1092)
5902 (syntax-violation
5903 'let
5904 "bad let"
5905 (source-wrap143 e1054 w1056 s1057 mod1058)))
5906 tmp1059)))
5907 ($sc-dispatch
5908 tmp1059
5909 '(any any #(each (any any)) any . each-any)))))
5910 ($sc-dispatch
5911 tmp1059
5912 '(any #(each (any any)) any . each-any))))
5913 e1054))))
5914 (global-extend112
5915 'core
5916 'letrec
5917 (lambda (e1093 r1094 w1095 s1096 mod1097)
5918 ((lambda (tmp1098)
5919 ((lambda (tmp1099)
5920 (if (if tmp1099
5921 (apply (lambda (_1100 id1101 val1102 e11103 e21104)
5922 (and-map id?114 id1101))
5923 tmp1099)
5924 #f)
5925 (apply (lambda (_1106 id1107 val1108 e11109 e21110)
5926 (let ((ids1111 id1107))
5927 (if (not (valid-bound-ids?139 ids1111))
5928 (syntax-violation
5929 'letrec
5930 "duplicate bound variable"
5931 e1093)
5932 (let ((labels1113 (gen-labels120 ids1111))
5933 (new-vars1114 (map gen-var161 ids1111)))
5934 (let ((w1115 (make-binding-wrap131
5935 ids1111
5936 labels1113
5937 w1095))
5938 (r1116 (extend-var-env109
5939 labels1113
5940 new-vars1114
5941 r1094)))
5942 (build-letrec96
5943 s1096
5944 (map syntax->datum ids1111)
5945 new-vars1114
5946 (map (lambda (x1117)
5947 (chi150 x1117 r1116 w1115 mod1097))
5948 val1108)
5949 (chi-body154
5950 (cons e11109 e21110)
5951 (source-wrap143
5952 e1093
5953 w1115
5954 s1096
5955 mod1097)
5956 r1116
5957 w1115
5958 mod1097)))))))
5959 tmp1099)
5960 ((lambda (_1120)
5961 (syntax-violation
5962 'letrec
5963 "bad letrec"
5964 (source-wrap143 e1093 w1095 s1096 mod1097)))
5965 tmp1098)))
5966 ($sc-dispatch
5967 tmp1098
5968 '(any #(each (any any)) any . each-any))))
5969 e1093)))
5970 (global-extend112
5971 'core
5972 'set!
5973 (lambda (e1121 r1122 w1123 s1124 mod1125)
5974 ((lambda (tmp1126)
5975 ((lambda (tmp1127)
5976 (if (if tmp1127
5977 (apply (lambda (_1128 id1129 val1130) (id?114 id1129))
5978 tmp1127)
5979 #f)
5980 (apply (lambda (_1131 id1132 val1133)
5981 (let ((val1134 (chi150 val1133 r1122 w1123 mod1125))
5982 (n1135 (id-var-name136 id1132 w1123)))
5983 (let ((b1136 (lookup111 n1135 r1122 mod1125)))
5984 (let ((atom-key1137 (binding-type106 b1136)))
5985 (if (memv atom-key1137 (quote (lexical)))
5986 (build-lexical-assignment84
5987 s1124
5988 (syntax->datum id1132)
5989 (binding-value107 b1136)
5990 val1134)
5991 (if (memv atom-key1137 (quote (global)))
5992 (build-global-assignment87
5993 s1124
5994 n1135
5995 val1134
5996 mod1125)
5997 (if (memv atom-key1137
5998 '(displaced-lexical))
5999 (syntax-violation
6000 'set!
6001 "identifier out of context"
6002 (wrap142 id1132 w1123 mod1125))
6003 (syntax-violation
6004 'set!
6005 "bad set!"
6006 (source-wrap143
6007 e1121
6008 w1123
6009 s1124
6010 mod1125)))))))))
6011 tmp1127)
6012 ((lambda (tmp1138)
6013 (if tmp1138
6014 (apply (lambda (_1139 head1140 tail1141 val1142)
6015 (call-with-values
6016 (lambda ()
6017 (syntax-type148
6018 head1140
6019 r1122
6020 '(())
6021 #f
6022 #f
6023 mod1125
6024 #t))
6025 (lambda (type1143
6026 value1144
6027 ee1145
6028 ww1146
6029 ss1147
6030 modmod1148)
6031 (if (memv type1143 (quote (module-ref)))
6032 (let ((val1149
6033 (chi150
6034 val1142
6035 r1122
6036 w1123
6037 mod1125)))
6038 (call-with-values
6039 (lambda ()
6040 (value1144
6041 (cons head1140 tail1141)))
6042 (lambda (id1151 mod1152)
6043 (build-global-assignment87
6044 s1124
6045 id1151
6046 val1149
6047 mod1152))))
6048 (build-application81
6049 s1124
6050 (chi150
6051 (list '#(syntax-object
6052 setter
6053 ((top)
6054 #(ribcage () () ())
6055 #(ribcage () () ())
6056 #(ribcage
6057 #(type
6058 value
6059 ee
6060 ww
6061 ss
6062 modmod)
6063 #((top)
6064 (top)
6065 (top)
6066 (top)
6067 (top)
6068 (top))
6069 #("i"
6070 "i"
6071 "i"
6072 "i"
6073 "i"
6074 "i"))
6075 #(ribcage
6076 #(_ head tail val)
6077 #((top)
6078 (top)
6079 (top)
6080 (top))
6081 #("i" "i" "i" "i"))
6082 #(ribcage () () ())
6083 #(ribcage
6084 #(e r w s mod)
6085 #((top)
6086 (top)
6087 (top)
6088 (top)
6089 (top))
6090 #("i" "i" "i" "i" "i"))
6091 #(ribcage
6092 (lambda-var-list
6093 gen-var
6094 strip
6095 ellipsis?
6096 chi-void
6097 eval-local-transformer
6098 chi-local-syntax
6099 chi-lambda-clause
6100 chi-body
6101 chi-macro
6102 chi-application
6103 chi-expr
6104 chi
6105 chi-top
6106 syntax-type
6107 chi-when-list
6108 chi-install-global
6109 chi-top-sequence
6110 chi-sequence
6111 source-wrap
6112 wrap
6113 bound-id-member?
6114 distinct-bound-ids?
6115 valid-bound-ids?
6116 bound-id=?
6117 free-id=?
6118 id-var-name
6119 same-marks?
6120 join-marks
6121 join-wraps
6122 smart-append
6123 make-binding-wrap
6124 extend-ribcage!
6125 make-empty-ribcage
6126 new-mark
6127 anti-mark
6128 the-anti-mark
6129 top-marked?
6130 top-wrap
6131 empty-wrap
6132 set-ribcage-labels!
6133 set-ribcage-marks!
6134 set-ribcage-symnames!
6135 ribcage-labels
6136 ribcage-marks
6137 ribcage-symnames
6138 ribcage?
6139 make-ribcage
6140 gen-labels
6141 gen-label
6142 make-rename
6143 rename-marks
6144 rename-new
6145 rename-old
6146 subst-rename?
6147 wrap-subst
6148 wrap-marks
6149 make-wrap
6150 id-sym-name&marks
6151 id-sym-name
6152 id?
6153 nonsymbol-id?
6154 global-extend
6155 lookup
6156 macros-only-env
6157 extend-var-env
6158 extend-env
6159 null-env
6160 binding-value
6161 binding-type
6162 make-binding
6163 arg-check
6164 source-annotation
6165 no-source
6166 set-syntax-object-module!
6167 set-syntax-object-wrap!
6168 set-syntax-object-expression!
6169 syntax-object-module
6170 syntax-object-wrap
6171 syntax-object-expression
6172 syntax-object?
6173 make-syntax-object
6174 build-lexical-var
6175 build-letrec
6176 build-named-let
6177 build-let
6178 build-sequence
6179 build-data
6180 build-primref
6181 build-lambda
6182 build-global-definition
6183 maybe-name-value!
6184 build-global-assignment
6185 build-global-reference
6186 analyze-variable
6187 build-lexical-assignment
6188 build-lexical-reference
6189 build-conditional
6190 build-application
6191 build-void
6192 get-global-definition-hook
6193 put-global-definition-hook
6194 gensym-hook
6195 local-eval-hook
6196 top-level-eval-hook
6197 fx<
6198 fx=
6199 fx-
6200 fx+
6201 *mode*
6202 noexpand)
6203 ((top)
6204 (top)
6205 (top)
6206 (top)
6207 (top)
6208 (top)
6209 (top)
6210 (top)
6211 (top)
6212 (top)
6213 (top)
6214 (top)
6215 (top)
6216 (top)
6217 (top)
6218 (top)
6219 (top)
6220 (top)
6221 (top)
6222 (top)
6223 (top)
6224 (top)
6225 (top)
6226 (top)
6227 (top)
6228 (top)
6229 (top)
6230 (top)
6231 (top)
6232 (top)
6233 (top)
6234 (top)
6235 (top)
6236 (top)
6237 (top)
6238 (top)
6239 (top)
6240 (top)
6241 (top)
6242 (top)
6243 (top)
6244 (top)
6245 (top)
6246 (top)
6247 (top)
6248 (top)
6249 (top)
6250 (top)
6251 (top)
6252 (top)
6253 (top)
6254 (top)
6255 (top)
6256 (top)
6257 (top)
6258 (top)
6259 (top)
6260 (top)
6261 (top)
6262 (top)
6263 (top)
6264 (top)
6265 (top)
6266 (top)
6267 (top)
6268 (top)
6269 (top)
6270 (top)
6271 (top)
6272 (top)
6273 (top)
6274 (top)
6275 (top)
6276 (top)
6277 (top)
6278 (top)
6279 (top)
6280 (top)
6281 (top)
6282 (top)
6283 (top)
6284 (top)
6285 (top)
6286 (top)
6287 (top)
6288 (top)
6289 (top)
6290 (top)
6291 (top)
6292 (top)
6293 (top)
6294 (top)
6295 (top)
6296 (top)
6297 (top)
6298 (top)
6299 (top)
6300 (top)
6301 (top)
6302 (top)
6303 (top)
6304 (top)
6305 (top)
6306 (top)
6307 (top)
6308 (top)
6309 (top)
6310 (top)
6311 (top)
6312 (top)
6313 (top))
6314 ("i"
6315 "i"
6316 "i"
6317 "i"
6318 "i"
6319 "i"
6320 "i"
6321 "i"
6322 "i"
6323 "i"
6324 "i"
6325 "i"
6326 "i"
6327 "i"
6328 "i"
6329 "i"
6330 "i"
6331 "i"
6332 "i"
6333 "i"
6334 "i"
6335 "i"
6336 "i"
6337 "i"
6338 "i"
6339 "i"
6340 "i"
6341 "i"
6342 "i"
6343 "i"
6344 "i"
6345 "i"
6346 "i"
6347 "i"
6348 "i"
6349 "i"
6350 "i"
6351 "i"
6352 "i"
6353 "i"
6354 "i"
6355 "i"
6356 "i"
6357 "i"
6358 "i"
6359 "i"
6360 "i"
6361 "i"
6362 "i"
6363 "i"
6364 "i"
6365 "i"
6366 "i"
6367 "i"
6368 "i"
6369 "i"
6370 "i"
6371 "i"
6372 "i"
6373 "i"
6374 "i"
6375 "i"
6376 "i"
6377 "i"
6378 "i"
6379 "i"
6380 "i"
6381 "i"
6382 "i"
6383 "i"
6384 "i"
6385 "i"
6386 "i"
6387 "i"
6388 "i"
6389 "i"
6390 "i"
6391 "i"
6392 "i"
6393 "i"
6394 "i"
6395 "i"
6396 "i"
6397 "i"
6398 "i"
6399 "i"
6400 "i"
6401 "i"
6402 "i"
6403 "i"
6404 "i"
6405 "i"
6406 "i"
6407 "i"
6408 "i"
6409 "i"
6410 "i"
6411 "i"
6412 "i"
6413 "i"
6414 "i"
6415 "i"
6416 "i"
6417 "i"
6418 "i"
6419 "i"
6420 "i"
6421 "i"
6422 "i"
6423 "i"
6424 "i"))
6425 #(ribcage
6426 (define-structure
6427 and-map*)
6428 ((top) (top))
6429 ("i" "i")))
6430 (hygiene guile))
6431 head1140)
6432 r1122
6433 w1123
6434 mod1125)
6435 (map (lambda (e1153)
6436 (chi150
6437 e1153
6438 r1122
6439 w1123
6440 mod1125))
6441 (append
6442 tail1141
6443 (list val1142))))))))
6444 tmp1138)
6445 ((lambda (_1155)
6446 (syntax-violation
6447 'set!
6448 "bad set!"
6449 (source-wrap143 e1121 w1123 s1124 mod1125)))
6450 tmp1126)))
6451 ($sc-dispatch
6452 tmp1126
6453 '(any (any . each-any) any)))))
6454 ($sc-dispatch tmp1126 (quote (any any any)))))
6455 e1121)))
6456 (global-extend112
6457 'module-ref
6458 '@
6459 (lambda (e1156)
6460 ((lambda (tmp1157)
6461 ((lambda (tmp1158)
6462 (if (if tmp1158
6463 (apply (lambda (_1159 mod1160 id1161)
6464 (if (and-map id?114 mod1160)
6465 (id?114 id1161)
6466 #f))
6467 tmp1158)
6468 #f)
6469 (apply (lambda (_1163 mod1164 id1165)
6470 (values
6471 (syntax->datum id1165)
6472 (syntax->datum
6473 (cons '#(syntax-object
6474 public
6475 ((top)
6476 #(ribcage
6477 #(_ mod id)
6478 #((top) (top) (top))
6479 #("i" "i" "i"))
6480 #(ribcage () () ())
6481 #(ribcage #(e) #((top)) #("i"))
6482 #(ribcage
6483 (lambda-var-list
6484 gen-var
6485 strip
6486 ellipsis?
6487 chi-void
6488 eval-local-transformer
6489 chi-local-syntax
6490 chi-lambda-clause
6491 chi-body
6492 chi-macro
6493 chi-application
6494 chi-expr
6495 chi
6496 chi-top
6497 syntax-type
6498 chi-when-list
6499 chi-install-global
6500 chi-top-sequence
6501 chi-sequence
6502 source-wrap
6503 wrap
6504 bound-id-member?
6505 distinct-bound-ids?
6506 valid-bound-ids?
6507 bound-id=?
6508 free-id=?
6509 id-var-name
6510 same-marks?
6511 join-marks
6512 join-wraps
6513 smart-append
6514 make-binding-wrap
6515 extend-ribcage!
6516 make-empty-ribcage
6517 new-mark
6518 anti-mark
6519 the-anti-mark
6520 top-marked?
6521 top-wrap
6522 empty-wrap
6523 set-ribcage-labels!
6524 set-ribcage-marks!
6525 set-ribcage-symnames!
6526 ribcage-labels
6527 ribcage-marks
6528 ribcage-symnames
6529 ribcage?
6530 make-ribcage
6531 gen-labels
6532 gen-label
6533 make-rename
6534 rename-marks
6535 rename-new
6536 rename-old
6537 subst-rename?
6538 wrap-subst
6539 wrap-marks
6540 make-wrap
6541 id-sym-name&marks
6542 id-sym-name
6543 id?
6544 nonsymbol-id?
6545 global-extend
6546 lookup
6547 macros-only-env
6548 extend-var-env
6549 extend-env
6550 null-env
6551 binding-value
6552 binding-type
6553 make-binding
6554 arg-check
6555 source-annotation
6556 no-source
6557 set-syntax-object-module!
6558 set-syntax-object-wrap!
6559 set-syntax-object-expression!
6560 syntax-object-module
6561 syntax-object-wrap
6562 syntax-object-expression
6563 syntax-object?
6564 make-syntax-object
6565 build-lexical-var
6566 build-letrec
6567 build-named-let
6568 build-let
6569 build-sequence
6570 build-data
6571 build-primref
6572 build-lambda
6573 build-global-definition
6574 maybe-name-value!
6575 build-global-assignment
6576 build-global-reference
6577 analyze-variable
6578 build-lexical-assignment
6579 build-lexical-reference
6580 build-conditional
6581 build-application
6582 build-void
6583 get-global-definition-hook
6584 put-global-definition-hook
6585 gensym-hook
6586 local-eval-hook
6587 top-level-eval-hook
6588 fx<
6589 fx=
6590 fx-
6591 fx+
6592 *mode*
6593 noexpand)
6594 ((top)
6595 (top)
6596 (top)
6597 (top)
6598 (top)
6599 (top)
6600 (top)
6601 (top)
6602 (top)
6603 (top)
6604 (top)
6605 (top)
6606 (top)
6607 (top)
6608 (top)
6609 (top)
6610 (top)
6611 (top)
6612 (top)
6613 (top)
6614 (top)
6615 (top)
6616 (top)
6617 (top)
6618 (top)
6619 (top)
6620 (top)
6621 (top)
6622 (top)
6623 (top)
6624 (top)
6625 (top)
6626 (top)
6627 (top)
6628 (top)
6629 (top)
6630 (top)
6631 (top)
6632 (top)
6633 (top)
6634 (top)
6635 (top)
6636 (top)
6637 (top)
6638 (top)
6639 (top)
6640 (top)
6641 (top)
6642 (top)
6643 (top)
6644 (top)
6645 (top)
6646 (top)
6647 (top)
6648 (top)
6649 (top)
6650 (top)
6651 (top)
6652 (top)
6653 (top)
6654 (top)
6655 (top)
6656 (top)
6657 (top)
6658 (top)
6659 (top)
6660 (top)
6661 (top)
6662 (top)
6663 (top)
6664 (top)
6665 (top)
6666 (top)
6667 (top)
6668 (top)
6669 (top)
6670 (top)
6671 (top)
6672 (top)
6673 (top)
6674 (top)
6675 (top)
6676 (top)
6677 (top)
6678 (top)
6679 (top)
6680 (top)
6681 (top)
6682 (top)
6683 (top)
6684 (top)
6685 (top)
6686 (top)
6687 (top)
6688 (top)
6689 (top)
6690 (top)
6691 (top)
6692 (top)
6693 (top)
6694 (top)
6695 (top)
6696 (top)
6697 (top)
6698 (top)
6699 (top)
6700 (top)
6701 (top)
6702 (top)
6703 (top)
6704 (top))
6705 ("i"
6706 "i"
6707 "i"
6708 "i"
6709 "i"
6710 "i"
6711 "i"
6712 "i"
6713 "i"
6714 "i"
6715 "i"
6716 "i"
6717 "i"
6718 "i"
6719 "i"
6720 "i"
6721 "i"
6722 "i"
6723 "i"
6724 "i"
6725 "i"
6726 "i"
6727 "i"
6728 "i"
6729 "i"
6730 "i"
6731 "i"
6732 "i"
6733 "i"
6734 "i"
6735 "i"
6736 "i"
6737 "i"
6738 "i"
6739 "i"
6740 "i"
6741 "i"
6742 "i"
6743 "i"
6744 "i"
6745 "i"
6746 "i"
6747 "i"
6748 "i"
6749 "i"
6750 "i"
6751 "i"
6752 "i"
6753 "i"
6754 "i"
6755 "i"
6756 "i"
6757 "i"
6758 "i"
6759 "i"
6760 "i"
6761 "i"
6762 "i"
6763 "i"
6764 "i"
6765 "i"
6766 "i"
6767 "i"
6768 "i"
6769 "i"
6770 "i"
6771 "i"
6772 "i"
6773 "i"
6774 "i"
6775 "i"
6776 "i"
6777 "i"
6778 "i"
6779 "i"
6780 "i"
6781 "i"
6782 "i"
6783 "i"
6784 "i"
6785 "i"
6786 "i"
6787 "i"
6788 "i"
6789 "i"
6790 "i"
6791 "i"
6792 "i"
6793 "i"
6794 "i"
6795 "i"
6796 "i"
6797 "i"
6798 "i"
6799 "i"
6800 "i"
6801 "i"
6802 "i"
6803 "i"
6804 "i"
6805 "i"
6806 "i"
6807 "i"
6808 "i"
6809 "i"
6810 "i"
6811 "i"
6812 "i"
6813 "i"
6814 "i"
6815 "i"))
6816 #(ribcage
6817 (define-structure and-map*)
6818 ((top) (top))
6819 ("i" "i")))
6820 (hygiene guile))
6821 mod1164))))
6822 tmp1158)
6823 (syntax-violation
6824 #f
6825 "source expression failed to match any pattern"
6826 tmp1157)))
6827 ($sc-dispatch tmp1157 (quote (any each-any any)))))
6828 e1156)))
6829 (global-extend112
6830 'module-ref
6831 '@@
6832 (lambda (e1167)
6833 ((lambda (tmp1168)
6834 ((lambda (tmp1169)
6835 (if (if tmp1169
6836 (apply (lambda (_1170 mod1171 id1172)
6837 (if (and-map id?114 mod1171)
6838 (id?114 id1172)
6839 #f))
6840 tmp1169)
6841 #f)
6842 (apply (lambda (_1174 mod1175 id1176)
6843 (values
6844 (syntax->datum id1176)
6845 (syntax->datum
6846 (cons '#(syntax-object
6847 private
6848 ((top)
6849 #(ribcage
6850 #(_ mod id)
6851 #((top) (top) (top))
6852 #("i" "i" "i"))
6853 #(ribcage () () ())
6854 #(ribcage #(e) #((top)) #("i"))
6855 #(ribcage
6856 (lambda-var-list
6857 gen-var
6858 strip
6859 ellipsis?
6860 chi-void
6861 eval-local-transformer
6862 chi-local-syntax
6863 chi-lambda-clause
6864 chi-body
6865 chi-macro
6866 chi-application
6867 chi-expr
6868 chi
6869 chi-top
6870 syntax-type
6871 chi-when-list
6872 chi-install-global
6873 chi-top-sequence
6874 chi-sequence
6875 source-wrap
6876 wrap
6877 bound-id-member?
6878 distinct-bound-ids?
6879 valid-bound-ids?
6880 bound-id=?
6881 free-id=?
6882 id-var-name
6883 same-marks?
6884 join-marks
6885 join-wraps
6886 smart-append
6887 make-binding-wrap
6888 extend-ribcage!
6889 make-empty-ribcage
6890 new-mark
6891 anti-mark
6892 the-anti-mark
6893 top-marked?
6894 top-wrap
6895 empty-wrap
6896 set-ribcage-labels!
6897 set-ribcage-marks!
6898 set-ribcage-symnames!
6899 ribcage-labels
6900 ribcage-marks
6901 ribcage-symnames
6902 ribcage?
6903 make-ribcage
6904 gen-labels
6905 gen-label
6906 make-rename
6907 rename-marks
6908 rename-new
6909 rename-old
6910 subst-rename?
6911 wrap-subst
6912 wrap-marks
6913 make-wrap
6914 id-sym-name&marks
6915 id-sym-name
6916 id?
6917 nonsymbol-id?
6918 global-extend
6919 lookup
6920 macros-only-env
6921 extend-var-env
6922 extend-env
6923 null-env
6924 binding-value
6925 binding-type
6926 make-binding
6927 arg-check
6928 source-annotation
6929 no-source
6930 set-syntax-object-module!
6931 set-syntax-object-wrap!
6932 set-syntax-object-expression!
6933 syntax-object-module
6934 syntax-object-wrap
6935 syntax-object-expression
6936 syntax-object?
6937 make-syntax-object
6938 build-lexical-var
6939 build-letrec
6940 build-named-let
6941 build-let
6942 build-sequence
6943 build-data
6944 build-primref
6945 build-lambda
6946 build-global-definition
6947 maybe-name-value!
6948 build-global-assignment
6949 build-global-reference
6950 analyze-variable
6951 build-lexical-assignment
6952 build-lexical-reference
6953 build-conditional
6954 build-application
6955 build-void
6956 get-global-definition-hook
6957 put-global-definition-hook
6958 gensym-hook
6959 local-eval-hook
6960 top-level-eval-hook
6961 fx<
6962 fx=
6963 fx-
6964 fx+
6965 *mode*
6966 noexpand)
6967 ((top)
6968 (top)
6969 (top)
6970 (top)
6971 (top)
6972 (top)
6973 (top)
6974 (top)
6975 (top)
6976 (top)
6977 (top)
6978 (top)
6979 (top)
6980 (top)
6981 (top)
6982 (top)
6983 (top)
6984 (top)
6985 (top)
6986 (top)
6987 (top)
6988 (top)
6989 (top)
6990 (top)
6991 (top)
6992 (top)
6993 (top)
6994 (top)
6995 (top)
6996 (top)
6997 (top)
6998 (top)
6999 (top)
7000 (top)
7001 (top)
7002 (top)
7003 (top)
7004 (top)
7005 (top)
7006 (top)
7007 (top)
7008 (top)
7009 (top)
7010 (top)
7011 (top)
7012 (top)
7013 (top)
7014 (top)
7015 (top)
7016 (top)
7017 (top)
7018 (top)
7019 (top)
7020 (top)
7021 (top)
7022 (top)
7023 (top)
7024 (top)
7025 (top)
7026 (top)
7027 (top)
7028 (top)
7029 (top)
7030 (top)
7031 (top)
7032 (top)
7033 (top)
7034 (top)
7035 (top)
7036 (top)
7037 (top)
7038 (top)
7039 (top)
7040 (top)
7041 (top)
7042 (top)
7043 (top)
7044 (top)
7045 (top)
7046 (top)
7047 (top)
7048 (top)
7049 (top)
7050 (top)
7051 (top)
7052 (top)
7053 (top)
7054 (top)
7055 (top)
7056 (top)
7057 (top)
7058 (top)
7059 (top)
7060 (top)
7061 (top)
7062 (top)
7063 (top)
7064 (top)
7065 (top)
7066 (top)
7067 (top)
7068 (top)
7069 (top)
7070 (top)
7071 (top)
7072 (top)
7073 (top)
7074 (top)
7075 (top)
7076 (top)
7077 (top))
7078 ("i"
7079 "i"
7080 "i"
7081 "i"
7082 "i"
7083 "i"
7084 "i"
7085 "i"
7086 "i"
7087 "i"
7088 "i"
7089 "i"
7090 "i"
7091 "i"
7092 "i"
7093 "i"
7094 "i"
7095 "i"
7096 "i"
7097 "i"
7098 "i"
7099 "i"
7100 "i"
7101 "i"
7102 "i"
7103 "i"
7104 "i"
7105 "i"
7106 "i"
7107 "i"
7108 "i"
7109 "i"
7110 "i"
7111 "i"
7112 "i"
7113 "i"
7114 "i"
7115 "i"
7116 "i"
7117 "i"
7118 "i"
7119 "i"
7120 "i"
7121 "i"
7122 "i"
7123 "i"
7124 "i"
7125 "i"
7126 "i"
7127 "i"
7128 "i"
7129 "i"
7130 "i"
7131 "i"
7132 "i"
7133 "i"
7134 "i"
7135 "i"
7136 "i"
7137 "i"
7138 "i"
7139 "i"
7140 "i"
7141 "i"
7142 "i"
7143 "i"
7144 "i"
7145 "i"
7146 "i"
7147 "i"
7148 "i"
7149 "i"
7150 "i"
7151 "i"
7152 "i"
7153 "i"
7154 "i"
7155 "i"
7156 "i"
7157 "i"
7158 "i"
7159 "i"
7160 "i"
7161 "i"
7162 "i"
7163 "i"
7164 "i"
7165 "i"
7166 "i"
7167 "i"
7168 "i"
7169 "i"
7170 "i"
7171 "i"
7172 "i"
7173 "i"
7174 "i"
7175 "i"
7176 "i"
7177 "i"
7178 "i"
7179 "i"
7180 "i"
7181 "i"
7182 "i"
7183 "i"
7184 "i"
7185 "i"
7186 "i"
7187 "i"
7188 "i"))
7189 #(ribcage
7190 (define-structure and-map*)
7191 ((top) (top))
7192 ("i" "i")))
7193 (hygiene guile))
7194 mod1175))))
7195 tmp1169)
7196 (syntax-violation
7197 #f
7198 "source expression failed to match any pattern"
7199 tmp1168)))
7200 ($sc-dispatch tmp1168 (quote (any each-any any)))))
7201 e1167)))
7202 (global-extend112
7203 'core
7204 'if
7205 (lambda (e1178 r1179 w1180 s1181 mod1182)
7206 ((lambda (tmp1183)
7207 ((lambda (tmp1184)
7208 (if tmp1184
7209 (apply (lambda (_1185 test1186 then1187)
7210 (build-conditional82
7211 s1181
7212 (chi150 test1186 r1179 w1180 mod1182)
7213 (chi150 then1187 r1179 w1180 mod1182)
7214 (build-void80 #f)))
7215 tmp1184)
7216 ((lambda (tmp1188)
7217 (if tmp1188
7218 (apply (lambda (_1189 test1190 then1191 else1192)
7219 (build-conditional82
7220 s1181
7221 (chi150 test1190 r1179 w1180 mod1182)
7222 (chi150 then1191 r1179 w1180 mod1182)
7223 (chi150 else1192 r1179 w1180 mod1182)))
7224 tmp1188)
7225 (syntax-violation
7226 #f
7227 "source expression failed to match any pattern"
7228 tmp1183)))
7229 ($sc-dispatch tmp1183 (quote (any any any any))))))
7230 ($sc-dispatch tmp1183 (quote (any any any)))))
7231 e1178)))
7232 (global-extend112
7233 'begin
7234 'begin
7235 '())
7236 (global-extend112
7237 'define
7238 'define
7239 '())
7240 (global-extend112
7241 'define-syntax
7242 'define-syntax
7243 '())
7244 (global-extend112
7245 'eval-when
7246 'eval-when
7247 '())
7248 (global-extend112
7249 'core
7250 'syntax-case
7251 (letrec ((gen-syntax-case1196
7252 (lambda (x1197 keys1198 clauses1199 r1200 mod1201)
7253 (if (null? clauses1199)
7254 (build-application81
7255 #f
7256 (build-primref91 #f (quote syntax-violation))
7257 (list (build-data92 #f #f)
7258 (build-data92
7259 #f
7260 "source expression failed to match any pattern")
7261 x1197))
7262 ((lambda (tmp1202)
7263 ((lambda (tmp1203)
7264 (if tmp1203
7265 (apply (lambda (pat1204 exp1205)
7266 (if (if (id?114 pat1204)
7267 (and-map
7268 (lambda (x1206)
7269 (not (free-id=?137
7270 pat1204
7271 x1206)))
7272 (cons '#(syntax-object
7273 ...
7274 ((top)
7275 #(ribcage
7276 #(pat exp)
7277 #((top) (top))
7278 #("i" "i"))
7279 #(ribcage () () ())
7280 #(ribcage
7281 #(x
7282 keys
7283 clauses
7284 r
7285 mod)
7286 #((top)
7287 (top)
7288 (top)
7289 (top)
7290 (top))
7291 #("i"
7292 "i"
7293 "i"
7294 "i"
7295 "i"))
7296 #(ribcage
7297 (gen-syntax-case
7298 gen-clause
7299 build-dispatch-call
7300 convert-pattern)
7301 ((top)
7302 (top)
7303 (top)
7304 (top))
7305 ("i" "i" "i" "i"))
7306 #(ribcage
7307 (lambda-var-list
7308 gen-var
7309 strip
7310 ellipsis?
7311 chi-void
7312 eval-local-transformer
7313 chi-local-syntax
7314 chi-lambda-clause
7315 chi-body
7316 chi-macro
7317 chi-application
7318 chi-expr
7319 chi
7320 chi-top
7321 syntax-type
7322 chi-when-list
7323 chi-install-global
7324 chi-top-sequence
7325 chi-sequence
7326 source-wrap
7327 wrap
7328 bound-id-member?
7329 distinct-bound-ids?
7330 valid-bound-ids?
7331 bound-id=?
7332 free-id=?
7333 id-var-name
7334 same-marks?
7335 join-marks
7336 join-wraps
7337 smart-append
7338 make-binding-wrap
7339 extend-ribcage!
7340 make-empty-ribcage
7341 new-mark
7342 anti-mark
7343 the-anti-mark
7344 top-marked?
7345 top-wrap
7346 empty-wrap
7347 set-ribcage-labels!
7348 set-ribcage-marks!
7349 set-ribcage-symnames!
7350 ribcage-labels
7351 ribcage-marks
7352 ribcage-symnames
7353 ribcage?
7354 make-ribcage
7355 gen-labels
7356 gen-label
7357 make-rename
7358 rename-marks
7359 rename-new
7360 rename-old
7361 subst-rename?
7362 wrap-subst
7363 wrap-marks
7364 make-wrap
7365 id-sym-name&marks
7366 id-sym-name
7367 id?
7368 nonsymbol-id?
7369 global-extend
7370 lookup
7371 macros-only-env
7372 extend-var-env
7373 extend-env
7374 null-env
7375 binding-value
7376 binding-type
7377 make-binding
7378 arg-check
7379 source-annotation
7380 no-source
7381 set-syntax-object-module!
7382 set-syntax-object-wrap!
7383 set-syntax-object-expression!
7384 syntax-object-module
7385 syntax-object-wrap
7386 syntax-object-expression
7387 syntax-object?
7388 make-syntax-object
7389 build-lexical-var
7390 build-letrec
7391 build-named-let
7392 build-let
7393 build-sequence
7394 build-data
7395 build-primref
7396 build-lambda
7397 build-global-definition
7398 maybe-name-value!
7399 build-global-assignment
7400 build-global-reference
7401 analyze-variable
7402 build-lexical-assignment
7403 build-lexical-reference
7404 build-conditional
7405 build-application
7406 build-void
7407 get-global-definition-hook
7408 put-global-definition-hook
7409 gensym-hook
7410 local-eval-hook
7411 top-level-eval-hook
7412 fx<
7413 fx=
7414 fx-
7415 fx+
7416 *mode*
7417 noexpand)
7418 ((top)
7419 (top)
7420 (top)
7421 (top)
7422 (top)
7423 (top)
7424 (top)
7425 (top)
7426 (top)
7427 (top)
7428 (top)
7429 (top)
7430 (top)
7431 (top)
7432 (top)
7433 (top)
7434 (top)
7435 (top)
7436 (top)
7437 (top)
7438 (top)
7439 (top)
7440 (top)
7441 (top)
7442 (top)
7443 (top)
7444 (top)
7445 (top)
7446 (top)
7447 (top)
7448 (top)
7449 (top)
7450 (top)
7451 (top)
7452 (top)
7453 (top)
7454 (top)
7455 (top)
7456 (top)
7457 (top)
7458 (top)
7459 (top)
7460 (top)
7461 (top)
7462 (top)
7463 (top)
7464 (top)
7465 (top)
7466 (top)
7467 (top)
7468 (top)
7469 (top)
7470 (top)
7471 (top)
7472 (top)
7473 (top)
7474 (top)
7475 (top)
7476 (top)
7477 (top)
7478 (top)
7479 (top)
7480 (top)
7481 (top)
7482 (top)
7483 (top)
7484 (top)
7485 (top)
7486 (top)
7487 (top)
7488 (top)
7489 (top)
7490 (top)
7491 (top)
7492 (top)
7493 (top)
7494 (top)
7495 (top)
7496 (top)
7497 (top)
7498 (top)
7499 (top)
7500 (top)
7501 (top)
7502 (top)
7503 (top)
7504 (top)
7505 (top)
7506 (top)
7507 (top)
7508 (top)
7509 (top)
7510 (top)
7511 (top)
7512 (top)
7513 (top)
7514 (top)
7515 (top)
7516 (top)
7517 (top)
7518 (top)
7519 (top)
7520 (top)
7521 (top)
7522 (top)
7523 (top)
7524 (top)
7525 (top)
7526 (top)
7527 (top)
7528 (top))
7529 ("i"
7530 "i"
7531 "i"
7532 "i"
7533 "i"
7534 "i"
7535 "i"
7536 "i"
7537 "i"
7538 "i"
7539 "i"
7540 "i"
7541 "i"
7542 "i"
7543 "i"
7544 "i"
7545 "i"
7546 "i"
7547 "i"
7548 "i"
7549 "i"
7550 "i"
7551 "i"
7552 "i"
7553 "i"
7554 "i"
7555 "i"
7556 "i"
7557 "i"
7558 "i"
7559 "i"
7560 "i"
7561 "i"
7562 "i"
7563 "i"
7564 "i"
7565 "i"
7566 "i"
7567 "i"
7568 "i"
7569 "i"
7570 "i"
7571 "i"
7572 "i"
7573 "i"
7574 "i"
7575 "i"
7576 "i"
7577 "i"
7578 "i"
7579 "i"
7580 "i"
7581 "i"
7582 "i"
7583 "i"
7584 "i"
7585 "i"
7586 "i"
7587 "i"
7588 "i"
7589 "i"
7590 "i"
7591 "i"
7592 "i"
7593 "i"
7594 "i"
7595 "i"
7596 "i"
7597 "i"
7598 "i"
7599 "i"
7600 "i"
7601 "i"
7602 "i"
7603 "i"
7604 "i"
7605 "i"
7606 "i"
7607 "i"
7608 "i"
7609 "i"
7610 "i"
7611 "i"
7612 "i"
7613 "i"
7614 "i"
7615 "i"
7616 "i"
7617 "i"
7618 "i"
7619 "i"
7620 "i"
7621 "i"
7622 "i"
7623 "i"
7624 "i"
7625 "i"
7626 "i"
7627 "i"
7628 "i"
7629 "i"
7630 "i"
7631 "i"
7632 "i"
7633 "i"
7634 "i"
7635 "i"
7636 "i"
7637 "i"
7638 "i"
7639 "i"))
7640 #(ribcage
7641 (define-structure
7642 and-map*)
7643 ((top) (top))
7644 ("i" "i")))
7645 (hygiene guile))
7646 keys1198))
7647 #f)
7648 (let ((labels1207
7649 (list (gen-label119)))
7650 (var1208 (gen-var161 pat1204)))
7651 (build-application81
7652 #f
7653 (build-lambda90
7654 #f
7655 (list (syntax->datum pat1204))
7656 (list var1208)
7657 #f
7658 (chi150
7659 exp1205
7660 (extend-env108
7661 labels1207
7662 (list (cons 'syntax
7663 (cons var1208
7664 0)))
7665 r1200)
7666 (make-binding-wrap131
7667 (list pat1204)
7668 labels1207
7669 '(()))
7670 mod1201))
7671 (list x1197)))
7672 (gen-clause1195
7673 x1197
7674 keys1198
7675 (cdr clauses1199)
7676 r1200
7677 pat1204
7678 #t
7679 exp1205
7680 mod1201)))
7681 tmp1203)
7682 ((lambda (tmp1209)
7683 (if tmp1209
7684 (apply (lambda (pat1210 fender1211 exp1212)
7685 (gen-clause1195
7686 x1197
7687 keys1198
7688 (cdr clauses1199)
7689 r1200
7690 pat1210
7691 fender1211
7692 exp1212
7693 mod1201))
7694 tmp1209)
7695 ((lambda (_1213)
7696 (syntax-violation
7697 'syntax-case
7698 "invalid clause"
7699 (car clauses1199)))
7700 tmp1202)))
7701 ($sc-dispatch tmp1202 (quote (any any any))))))
7702 ($sc-dispatch tmp1202 (quote (any any)))))
7703 (car clauses1199)))))
7704 (gen-clause1195
7705 (lambda (x1214
7706 keys1215
7707 clauses1216
7708 r1217
7709 pat1218
7710 fender1219
7711 exp1220
7712 mod1221)
7713 (call-with-values
7714 (lambda ()
7715 (convert-pattern1193 pat1218 keys1215))
7716 (lambda (p1222 pvars1223)
7717 (if (not (distinct-bound-ids?140 (map car pvars1223)))
7718 (syntax-violation
7719 'syntax-case
7720 "duplicate pattern variable"
7721 pat1218)
7722 (if (not (and-map
7723 (lambda (x1224)
7724 (not (ellipsis?159 (car x1224))))
7725 pvars1223))
7726 (syntax-violation
7727 'syntax-case
7728 "misplaced ellipsis"
7729 pat1218)
7730 (let ((y1225 (gen-var161 (quote tmp))))
7731 (build-application81
7732 #f
7733 (build-lambda90
7734 #f
7735 (list (quote tmp))
7736 (list y1225)
7737 #f
7738 (let ((y1226 (build-lexical-reference83
7739 'value
7740 #f
7741 'tmp
7742 y1225)))
7743 (build-conditional82
7744 #f
7745 ((lambda (tmp1227)
7746 ((lambda (tmp1228)
7747 (if tmp1228
7748 (apply (lambda () y1226)
7749 tmp1228)
7750 ((lambda (_1229)
7751 (build-conditional82
7752 #f
7753 y1226
7754 (build-dispatch-call1194
7755 pvars1223
7756 fender1219
7757 y1226
7758 r1217
7759 mod1221)
7760 (build-data92 #f #f)))
7761 tmp1227)))
7762 ($sc-dispatch
7763 tmp1227
7764 '#(atom #t))))
7765 fender1219)
7766 (build-dispatch-call1194
7767 pvars1223
7768 exp1220
7769 y1226
7770 r1217
7771 mod1221)
7772 (gen-syntax-case1196
7773 x1214
7774 keys1215
7775 clauses1216
7776 r1217
7777 mod1221))))
7778 (list (if (eq? p1222 (quote any))
7779 (build-application81
7780 #f
7781 (build-primref91 #f (quote list))
7782 (list x1214))
7783 (build-application81
7784 #f
7785 (build-primref91
7786 #f
7787 '$sc-dispatch)
7788 (list x1214
7789 (build-data92
7790 #f
7791 p1222)))))))))))))
7792 (build-dispatch-call1194
7793 (lambda (pvars1230 exp1231 y1232 r1233 mod1234)
7794 (let ((ids1235 (map car pvars1230))
7795 (levels1236 (map cdr pvars1230)))
7796 (let ((labels1237 (gen-labels120 ids1235))
7797 (new-vars1238 (map gen-var161 ids1235)))
7798 (build-application81
7799 #f
7800 (build-primref91 #f (quote apply))
7801 (list (build-lambda90
7802 #f
7803 (map syntax->datum ids1235)
7804 new-vars1238
7805 #f
7806 (chi150
7807 exp1231
7808 (extend-env108
7809 labels1237
7810 (map (lambda (var1239 level1240)
7811 (cons 'syntax
7812 (cons var1239 level1240)))
7813 new-vars1238
7814 (map cdr pvars1230))
7815 r1233)
7816 (make-binding-wrap131
7817 ids1235
7818 labels1237
7819 '(()))
7820 mod1234))
7821 y1232))))))
7822 (convert-pattern1193
7823 (lambda (pattern1241 keys1242)
7824 (letrec ((cvt1243
7825 (lambda (p1244 n1245 ids1246)
7826 (if (id?114 p1244)
7827 (if (bound-id-member?141 p1244 keys1242)
7828 (values
7829 (vector (quote free-id) p1244)
7830 ids1246)
7831 (values
7832 'any
7833 (cons (cons p1244 n1245) ids1246)))
7834 ((lambda (tmp1247)
7835 ((lambda (tmp1248)
7836 (if (if tmp1248
7837 (apply (lambda (x1249 dots1250)
7838 (ellipsis?159
7839 dots1250))
7840 tmp1248)
7841 #f)
7842 (apply (lambda (x1251 dots1252)
7843 (call-with-values
7844 (lambda ()
7845 (cvt1243
7846 x1251
7847 (fx+72 n1245 1)
7848 ids1246))
7849 (lambda (p1253 ids1254)
7850 (values
7851 (if (eq? p1253
7852 'any)
7853 'each-any
7854 (vector
7855 'each
7856 p1253))
7857 ids1254))))
7858 tmp1248)
7859 ((lambda (tmp1255)
7860 (if tmp1255
7861 (apply (lambda (x1256 y1257)
7862 (call-with-values
7863 (lambda ()
7864 (cvt1243
7865 y1257
7866 n1245
7867 ids1246))
7868 (lambda (y1258
7869 ids1259)
7870 (call-with-values
7871 (lambda ()
7872 (cvt1243
7873 x1256
7874 n1245
7875 ids1259))
7876 (lambda (x1260
7877 ids1261)
7878 (values
7879 (cons x1260
7880 y1258)
7881 ids1261))))))
7882 tmp1255)
7883 ((lambda (tmp1262)
7884 (if tmp1262
7885 (apply (lambda ()
7886 (values
7887 '()
7888 ids1246))
7889 tmp1262)
7890 ((lambda (tmp1263)
7891 (if tmp1263
7892 (apply (lambda (x1264)
7893 (call-with-values
7894 (lambda ()
7895 (cvt1243
7896 x1264
7897 n1245
7898 ids1246))
7899 (lambda (p1266
7900 ids1267)
7901 (values
7902 (vector
7903 'vector
7904 p1266)
7905 ids1267))))
7906 tmp1263)
7907 ((lambda (x1268)
7908 (values
7909 (vector
7910 'atom
7911 (strip160
7912 p1244
7913 '(())))
7914 ids1246))
7915 tmp1247)))
7916 ($sc-dispatch
7917 tmp1247
7918 '#(vector
7919 each-any)))))
7920 ($sc-dispatch
7921 tmp1247
7922 '()))))
7923 ($sc-dispatch
7924 tmp1247
7925 '(any . any)))))
7926 ($sc-dispatch
7927 tmp1247
7928 '(any any))))
7929 p1244)))))
7930 (cvt1243 pattern1241 0 (quote ()))))))
7931 (lambda (e1269 r1270 w1271 s1272 mod1273)
7932 (let ((e1274 (source-wrap143 e1269 w1271 s1272 mod1273)))
7933 ((lambda (tmp1275)
7934 ((lambda (tmp1276)
7935 (if tmp1276
7936 (apply (lambda (_1277 val1278 key1279 m1280)
7937 (if (and-map
7938 (lambda (x1281)
7939 (if (id?114 x1281)
7940 (not (ellipsis?159 x1281))
7941 #f))
7942 key1279)
7943 (let ((x1283 (gen-var161 (quote tmp))))
7944 (build-application81
7945 s1272
7946 (build-lambda90
7947 #f
7948 (list (quote tmp))
7949 (list x1283)
7950 #f
7951 (gen-syntax-case1196
7952 (build-lexical-reference83
7953 'value
7954 #f
7955 'tmp
7956 x1283)
7957 key1279
7958 m1280
7959 r1270
7960 mod1273))
7961 (list (chi150
7962 val1278
7963 r1270
7964 '(())
7965 mod1273))))
7966 (syntax-violation
7967 'syntax-case
7968 "invalid literals list"
7969 e1274)))
7970 tmp1276)
7971 (syntax-violation
7972 #f
7973 "source expression failed to match any pattern"
7974 tmp1275)))
7975 ($sc-dispatch
7976 tmp1275
7977 '(any any each-any . each-any))))
7978 e1274)))))
7979 (set! sc-expand
7980 (lambda (x1287 . rest1286)
7981 (if (if (pair? x1287)
7982 (equal? (car x1287) noexpand70)
7983 #f)
7984 (cadr x1287)
7985 (let ((m1288 (if (null? rest1286) (quote e) (car rest1286)))
7986 (esew1289
7987 (if (let ((t1290 (null? rest1286)))
7988 (if t1290 t1290 (null? (cdr rest1286))))
7989 '(eval)
7990 (cadr rest1286))))
7991 (with-fluid*
7992 *mode*71
7993 m1288
7994 (lambda ()
7995 (chi-top149
7996 x1287
7997 '()
7998 '((top))
7999 m1288
8000 esew1289
8001 (cons 'hygiene
8002 (module-name (current-module))))))))))
8003 (set! identifier?
8004 (lambda (x1291) (nonsymbol-id?113 x1291)))
8005 (set! datum->syntax
8006 (lambda (id1292 datum1293)
8007 (make-syntax-object97
8008 datum1293
8009 (syntax-object-wrap100 id1292)
8010 #f)))
8011 (set! syntax->datum
8012 (lambda (x1294) (strip160 x1294 (quote (())))))
8013 (set! generate-temporaries
8014 (lambda (ls1295)
8015 (begin
8016 (let ((x1296 ls1295))
8017 (if (not (list? x1296))
8018 (syntax-violation
8019 'generate-temporaries
8020 "invalid argument"
8021 x1296)))
8022 (map (lambda (x1297)
8023 (wrap142 (gensym) (quote ((top))) #f))
8024 ls1295))))
8025 (set! free-identifier=?
8026 (lambda (x1298 y1299)
8027 (begin
8028 (let ((x1300 x1298))
8029 (if (not (nonsymbol-id?113 x1300))
8030 (syntax-violation
8031 'free-identifier=?
8032 "invalid argument"
8033 x1300)))
8034 (let ((x1301 y1299))
8035 (if (not (nonsymbol-id?113 x1301))
8036 (syntax-violation
8037 'free-identifier=?
8038 "invalid argument"
8039 x1301)))
8040 (free-id=?137 x1298 y1299))))
8041 (set! bound-identifier=?
8042 (lambda (x1302 y1303)
8043 (begin
8044 (let ((x1304 x1302))
8045 (if (not (nonsymbol-id?113 x1304))
8046 (syntax-violation
8047 'bound-identifier=?
8048 "invalid argument"
8049 x1304)))
8050 (let ((x1305 y1303))
8051 (if (not (nonsymbol-id?113 x1305))
8052 (syntax-violation
8053 'bound-identifier=?
8054 "invalid argument"
8055 x1305)))
8056 (bound-id=?138 x1302 y1303))))
8057 (set! syntax-violation
8058 (lambda (who1309 message1308 form1307 . subform1306)
8059 (begin
8060 (let ((x1310 who1309))
8061 (if (not ((lambda (x1311)
8062 (let ((t1312 (not x1311)))
8063 (if t1312
8064 t1312
8065 (let ((t1313 (string? x1311)))
8066 (if t1313 t1313 (symbol? x1311))))))
8067 x1310))
8068 (syntax-violation
8069 'syntax-violation
8070 "invalid argument"
8071 x1310)))
8072 (let ((x1314 message1308))
8073 (if (not (string? x1314))
8074 (syntax-violation
8075 'syntax-violation
8076 "invalid argument"
8077 x1314)))
8078 (scm-error
8079 'syntax-error
8080 'sc-expand
8081 (string-append
8082 (if who1309 "~a: " "")
8083 "~a "
8084 (if (null? subform1306)
8085 "in ~a"
8086 "in subform `~s' of `~s'"))
8087 (let ((tail1315
8088 (cons message1308
8089 (map (lambda (x1316) (strip160 x1316 (quote (()))))
8090 (append subform1306 (list form1307))))))
8091 (if who1309 (cons who1309 tail1315) tail1315))
8092 #f))))
8093 (letrec ((match1321
8094 (lambda (e1322 p1323 w1324 r1325 mod1326)
8095 (if (not r1325)
8096 #f
8097 (if (eq? p1323 (quote any))
8098 (cons (wrap142 e1322 w1324 mod1326) r1325)
8099 (if (syntax-object?98 e1322)
8100 (match*1320
8101 (syntax-object-expression99 e1322)
8102 p1323
8103 (join-wraps133
8104 w1324
8105 (syntax-object-wrap100 e1322))
8106 r1325
8107 (syntax-object-module101 e1322))
8108 (match*1320 e1322 p1323 w1324 r1325 mod1326))))))
8109 (match*1320
8110 (lambda (e1327 p1328 w1329 r1330 mod1331)
8111 (if (null? p1328)
8112 (if (null? e1327) r1330 #f)
8113 (if (pair? p1328)
8114 (if (pair? e1327)
8115 (match1321
8116 (car e1327)
8117 (car p1328)
8118 w1329
8119 (match1321
8120 (cdr e1327)
8121 (cdr p1328)
8122 w1329
8123 r1330
8124 mod1331)
8125 mod1331)
8126 #f)
8127 (if (eq? p1328 (quote each-any))
8128 (let ((l1332 (match-each-any1318
8129 e1327
8130 w1329
8131 mod1331)))
8132 (if l1332 (cons l1332 r1330) #f))
8133 (let ((atom-key1333 (vector-ref p1328 0)))
8134 (if (memv atom-key1333 (quote (each)))
8135 (if (null? e1327)
8136 (match-empty1319 (vector-ref p1328 1) r1330)
8137 (let ((l1334 (match-each1317
8138 e1327
8139 (vector-ref p1328 1)
8140 w1329
8141 mod1331)))
8142 (if l1334
8143 (letrec ((collect1335
8144 (lambda (l1336)
8145 (if (null? (car l1336))
8146 r1330
8147 (cons (map car l1336)
8148 (collect1335
8149 (map cdr l1336)))))))
8150 (collect1335 l1334))
8151 #f)))
8152 (if (memv atom-key1333 (quote (free-id)))
8153 (if (id?114 e1327)
8154 (if (free-id=?137
8155 (wrap142 e1327 w1329 mod1331)
8156 (vector-ref p1328 1))
8157 r1330
8158 #f)
8159 #f)
8160 (if (memv atom-key1333 (quote (atom)))
8161 (if (equal?
8162 (vector-ref p1328 1)
8163 (strip160 e1327 w1329))
8164 r1330
8165 #f)
8166 (if (memv atom-key1333 (quote (vector)))
8167 (if (vector? e1327)
8168 (match1321
8169 (vector->list e1327)
8170 (vector-ref p1328 1)
8171 w1329
8172 r1330
8173 mod1331)
8174 #f)))))))))))
8175 (match-empty1319
8176 (lambda (p1337 r1338)
8177 (if (null? p1337)
8178 r1338
8179 (if (eq? p1337 (quote any))
8180 (cons (quote ()) r1338)
8181 (if (pair? p1337)
8182 (match-empty1319
8183 (car p1337)
8184 (match-empty1319 (cdr p1337) r1338))
8185 (if (eq? p1337 (quote each-any))
8186 (cons (quote ()) r1338)
8187 (let ((atom-key1339 (vector-ref p1337 0)))
8188 (if (memv atom-key1339 (quote (each)))
8189 (match-empty1319 (vector-ref p1337 1) r1338)
8190 (if (memv atom-key1339 (quote (free-id atom)))
8191 r1338
8192 (if (memv atom-key1339 (quote (vector)))
8193 (match-empty1319
8194 (vector-ref p1337 1)
8195 r1338)))))))))))
8196 (match-each-any1318
8197 (lambda (e1340 w1341 mod1342)
8198 (if (pair? e1340)
8199 (let ((l1343 (match-each-any1318
8200 (cdr e1340)
8201 w1341
8202 mod1342)))
8203 (if l1343
8204 (cons (wrap142 (car e1340) w1341 mod1342) l1343)
8205 #f))
8206 (if (null? e1340)
8207 '()
8208 (if (syntax-object?98 e1340)
8209 (match-each-any1318
8210 (syntax-object-expression99 e1340)
8211 (join-wraps133
8212 w1341
8213 (syntax-object-wrap100 e1340))
8214 mod1342)
8215 #f)))))
8216 (match-each1317
8217 (lambda (e1344 p1345 w1346 mod1347)
8218 (if (pair? e1344)
8219 (let ((first1348
8220 (match1321
8221 (car e1344)
8222 p1345
8223 w1346
8224 '()
8225 mod1347)))
8226 (if first1348
8227 (let ((rest1349
8228 (match-each1317
8229 (cdr e1344)
8230 p1345
8231 w1346
8232 mod1347)))
8233 (if rest1349 (cons first1348 rest1349) #f))
8234 #f))
8235 (if (null? e1344)
8236 '()
8237 (if (syntax-object?98 e1344)
8238 (match-each1317
8239 (syntax-object-expression99 e1344)
8240 p1345
8241 (join-wraps133
8242 w1346
8243 (syntax-object-wrap100 e1344))
8244 (syntax-object-module101 e1344))
8245 #f))))))
8246 (set! $sc-dispatch
8247 (lambda (e1350 p1351)
8248 (if (eq? p1351 (quote any))
8249 (list e1350)
8250 (if (syntax-object?98 e1350)
8251 (match*1320
8252 (syntax-object-expression99 e1350)
8253 p1351
8254 (syntax-object-wrap100 e1350)
8255 '()
8256 (syntax-object-module101 e1350))
8257 (match*1320
8258 e1350
8259 p1351
8260 '(())
8261 '()
8262 #f)))))))))
8263
8264 (define with-syntax
8265 (make-syncase-macro
8266 'macro
8267 (lambda (x1352)
8268 ((lambda (tmp1353)
8269 ((lambda (tmp1354)
8270 (if tmp1354
8271 (apply (lambda (_1355 e11356 e21357)
8272 (cons '#(syntax-object
8273 begin
8274 ((top)
8275 #(ribcage
8276 #(_ e1 e2)
8277 #((top) (top) (top))
8278 #("i" "i" "i"))
8279 #(ribcage () () ())
8280 #(ribcage #(x) #((top)) #("i")))
8281 (hygiene guile))
8282 (cons e11356 e21357)))
8283 tmp1354)
8284 ((lambda (tmp1359)
8285 (if tmp1359
8286 (apply (lambda (_1360 out1361 in1362 e11363 e21364)
8287 (list '#(syntax-object
8288 syntax-case
8289 ((top)
8290 #(ribcage
8291 #(_ out in e1 e2)
8292 #((top) (top) (top) (top) (top))
8293 #("i" "i" "i" "i" "i"))
8294 #(ribcage () () ())
8295 #(ribcage #(x) #((top)) #("i")))
8296 (hygiene guile))
8297 in1362
8298 '()
8299 (list out1361
8300 (cons '#(syntax-object
8301 begin
8302 ((top)
8303 #(ribcage
8304 #(_ out in e1 e2)
8305 #((top)
8306 (top)
8307 (top)
8308 (top)
8309 (top))
8310 #("i" "i" "i" "i" "i"))
8311 #(ribcage () () ())
8312 #(ribcage
8313 #(x)
8314 #((top))
8315 #("i")))
8316 (hygiene guile))
8317 (cons e11363 e21364)))))
8318 tmp1359)
8319 ((lambda (tmp1366)
8320 (if tmp1366
8321 (apply (lambda (_1367 out1368 in1369 e11370 e21371)
8322 (list '#(syntax-object
8323 syntax-case
8324 ((top)
8325 #(ribcage
8326 #(_ out in e1 e2)
8327 #((top) (top) (top) (top) (top))
8328 #("i" "i" "i" "i" "i"))
8329 #(ribcage () () ())
8330 #(ribcage #(x) #((top)) #("i")))
8331 (hygiene guile))
8332 (cons '#(syntax-object
8333 list
8334 ((top)
8335 #(ribcage
8336 #(_ out in e1 e2)
8337 #((top)
8338 (top)
8339 (top)
8340 (top)
8341 (top))
8342 #("i" "i" "i" "i" "i"))
8343 #(ribcage () () ())
8344 #(ribcage
8345 #(x)
8346 #((top))
8347 #("i")))
8348 (hygiene guile))
8349 in1369)
8350 '()
8351 (list out1368
8352 (cons '#(syntax-object
8353 begin
8354 ((top)
8355 #(ribcage
8356 #(_ out in e1 e2)
8357 #((top)
8358 (top)
8359 (top)
8360 (top)
8361 (top))
8362 #("i"
8363 "i"
8364 "i"
8365 "i"
8366 "i"))
8367 #(ribcage () () ())
8368 #(ribcage
8369 #(x)
8370 #((top))
8371 #("i")))
8372 (hygiene guile))
8373 (cons e11370 e21371)))))
8374 tmp1366)
8375 (syntax-violation
8376 #f
8377 "source expression failed to match any pattern"
8378 tmp1353)))
8379 ($sc-dispatch
8380 tmp1353
8381 '(any #(each (any any)) any . each-any)))))
8382 ($sc-dispatch
8383 tmp1353
8384 '(any ((any any)) any . each-any)))))
8385 ($sc-dispatch
8386 tmp1353
8387 '(any () any . each-any))))
8388 x1352))))
8389
8390 (define syntax-rules
8391 (make-syncase-macro
8392 'macro
8393 (lambda (x1375)
8394 ((lambda (tmp1376)
8395 ((lambda (tmp1377)
8396 (if tmp1377
8397 (apply (lambda (_1378
8398 k1379
8399 keyword1380
8400 pattern1381
8401 template1382)
8402 (list '#(syntax-object
8403 lambda
8404 ((top)
8405 #(ribcage
8406 #(_ k keyword pattern template)
8407 #((top) (top) (top) (top) (top))
8408 #("i" "i" "i" "i" "i"))
8409 #(ribcage () () ())
8410 #(ribcage #(x) #((top)) #("i")))
8411 (hygiene guile))
8412 '(#(syntax-object
8413 x
8414 ((top)
8415 #(ribcage
8416 #(_ k keyword pattern template)
8417 #((top) (top) (top) (top) (top))
8418 #("i" "i" "i" "i" "i"))
8419 #(ribcage () () ())
8420 #(ribcage #(x) #((top)) #("i")))
8421 (hygiene guile)))
8422 (cons '#(syntax-object
8423 syntax-case
8424 ((top)
8425 #(ribcage
8426 #(_ k keyword pattern template)
8427 #((top) (top) (top) (top) (top))
8428 #("i" "i" "i" "i" "i"))
8429 #(ribcage () () ())
8430 #(ribcage #(x) #((top)) #("i")))
8431 (hygiene guile))
8432 (cons '#(syntax-object
8433 x
8434 ((top)
8435 #(ribcage
8436 #(_ k keyword pattern template)
8437 #((top) (top) (top) (top) (top))
8438 #("i" "i" "i" "i" "i"))
8439 #(ribcage () () ())
8440 #(ribcage #(x) #((top)) #("i")))
8441 (hygiene guile))
8442 (cons k1379
8443 (map (lambda (tmp1385 tmp1384)
8444 (list (cons '#(syntax-object
8445 dummy
8446 ((top)
8447 #(ribcage
8448 #(_
8449 k
8450 keyword
8451 pattern
8452 template)
8453 #((top)
8454 (top)
8455 (top)
8456 (top)
8457 (top))
8458 #("i"
8459 "i"
8460 "i"
8461 "i"
8462 "i"))
8463 #(ribcage
8464 ()
8465 ()
8466 ())
8467 #(ribcage
8468 #(x)
8469 #((top))
8470 #("i")))
8471 (hygiene
8472 guile))
8473 tmp1384)
8474 (list '#(syntax-object
8475 syntax
8476 ((top)
8477 #(ribcage
8478 #(_
8479 k
8480 keyword
8481 pattern
8482 template)
8483 #((top)
8484 (top)
8485 (top)
8486 (top)
8487 (top))
8488 #("i"
8489 "i"
8490 "i"
8491 "i"
8492 "i"))
8493 #(ribcage
8494 ()
8495 ()
8496 ())
8497 #(ribcage
8498 #(x)
8499 #((top))
8500 #("i")))
8501 (hygiene
8502 guile))
8503 tmp1385)))
8504 template1382
8505 pattern1381))))))
8506 tmp1377)
8507 (syntax-violation
8508 #f
8509 "source expression failed to match any pattern"
8510 tmp1376)))
8511 ($sc-dispatch
8512 tmp1376
8513 '(any each-any . #(each ((any . any) any))))))
8514 x1375))))
8515
8516 (define let*
8517 (make-extended-syncase-macro
8518 (module-ref (current-module) (quote let*))
8519 'macro
8520 (lambda (x1386)
8521 ((lambda (tmp1387)
8522 ((lambda (tmp1388)
8523 (if (if tmp1388
8524 (apply (lambda (let*1389 x1390 v1391 e11392 e21393)
8525 (and-map identifier? x1390))
8526 tmp1388)
8527 #f)
8528 (apply (lambda (let*1395 x1396 v1397 e11398 e21399)
8529 (letrec ((f1400 (lambda (bindings1401)
8530 (if (null? bindings1401)
8531 (cons '#(syntax-object
8532 let
8533 ((top)
8534 #(ribcage () () ())
8535 #(ribcage
8536 #(f bindings)
8537 #((top) (top))
8538 #("i" "i"))
8539 #(ribcage
8540 #(let* x v e1 e2)
8541 #((top)
8542 (top)
8543 (top)
8544 (top)
8545 (top))
8546 #("i" "i" "i" "i" "i"))
8547 #(ribcage () () ())
8548 #(ribcage
8549 #(x)
8550 #((top))
8551 #("i")))
8552 (hygiene guile))
8553 (cons '()
8554 (cons e11398 e21399)))
8555 ((lambda (tmp1405)
8556 ((lambda (tmp1406)
8557 (if tmp1406
8558 (apply (lambda (body1407
8559 binding1408)
8560 (list '#(syntax-object
8561 let
8562 ((top)
8563 #(ribcage
8564 #(body
8565 binding)
8566 #((top)
8567 (top))
8568 #("i"
8569 "i"))
8570 #(ribcage
8571 ()
8572 ()
8573 ())
8574 #(ribcage
8575 #(f
8576 bindings)
8577 #((top)
8578 (top))
8579 #("i"
8580 "i"))
8581 #(ribcage
8582 #(let*
8583 x
8584 v
8585 e1
8586 e2)
8587 #((top)
8588 (top)
8589 (top)
8590 (top)
8591 (top))
8592 #("i"
8593 "i"
8594 "i"
8595 "i"
8596 "i"))
8597 #(ribcage
8598 ()
8599 ()
8600 ())
8601 #(ribcage
8602 #(x)
8603 #((top))
8604 #("i")))
8605 (hygiene
8606 guile))
8607 (list binding1408)
8608 body1407))
8609 tmp1406)
8610 (syntax-violation
8611 #f
8612 "source expression failed to match any pattern"
8613 tmp1405)))
8614 ($sc-dispatch
8615 tmp1405
8616 '(any any))))
8617 (list (f1400 (cdr bindings1401))
8618 (car bindings1401)))))))
8619 (f1400 (map list x1396 v1397))))
8620 tmp1388)
8621 (syntax-violation
8622 #f
8623 "source expression failed to match any pattern"
8624 tmp1387)))
8625 ($sc-dispatch
8626 tmp1387
8627 '(any #(each (any any)) any . each-any))))
8628 x1386))))
8629
8630 (define do
8631 (make-extended-syncase-macro
8632 (module-ref (current-module) (quote do))
8633 'macro
8634 (lambda (orig-x1409)
8635 ((lambda (tmp1410)
8636 ((lambda (tmp1411)
8637 (if tmp1411
8638 (apply (lambda (_1412
8639 var1413
8640 init1414
8641 step1415
8642 e01416
8643 e11417
8644 c1418)
8645 ((lambda (tmp1419)
8646 ((lambda (tmp1420)
8647 (if tmp1420
8648 (apply (lambda (step1421)
8649 ((lambda (tmp1422)
8650 ((lambda (tmp1423)
8651 (if tmp1423
8652 (apply (lambda ()
8653 (list '#(syntax-object
8654 let
8655 ((top)
8656 #(ribcage
8657 #(step)
8658 #((top))
8659 #("i"))
8660 #(ribcage
8661 #(_
8662 var
8663 init
8664 step
8665 e0
8666 e1
8667 c)
8668 #((top)
8669 (top)
8670 (top)
8671 (top)
8672 (top)
8673 (top)
8674 (top))
8675 #("i"
8676 "i"
8677 "i"
8678 "i"
8679 "i"
8680 "i"
8681 "i"))
8682 #(ribcage
8683 ()
8684 ()
8685 ())
8686 #(ribcage
8687 #(orig-x)
8688 #((top))
8689 #("i")))
8690 (hygiene
8691 guile))
8692 '#(syntax-object
8693 doloop
8694 ((top)
8695 #(ribcage
8696 #(step)
8697 #((top))
8698 #("i"))
8699 #(ribcage
8700 #(_
8701 var
8702 init
8703 step
8704 e0
8705 e1
8706 c)
8707 #((top)
8708 (top)
8709 (top)
8710 (top)
8711 (top)
8712 (top)
8713 (top))
8714 #("i"
8715 "i"
8716 "i"
8717 "i"
8718 "i"
8719 "i"
8720 "i"))
8721 #(ribcage
8722 ()
8723 ()
8724 ())
8725 #(ribcage
8726 #(orig-x)
8727 #((top))
8728 #("i")))
8729 (hygiene
8730 guile))
8731 (map list
8732 var1413
8733 init1414)
8734 (list '#(syntax-object
8735 if
8736 ((top)
8737 #(ribcage
8738 #(step)
8739 #((top))
8740 #("i"))
8741 #(ribcage
8742 #(_
8743 var
8744 init
8745 step
8746 e0
8747 e1
8748 c)
8749 #((top)
8750 (top)
8751 (top)
8752 (top)
8753 (top)
8754 (top)
8755 (top))
8756 #("i"
8757 "i"
8758 "i"
8759 "i"
8760 "i"
8761 "i"
8762 "i"))
8763 #(ribcage
8764 ()
8765 ()
8766 ())
8767 #(ribcage
8768 #(orig-x)
8769 #((top))
8770 #("i")))
8771 (hygiene
8772 guile))
8773 (list '#(syntax-object
8774 not
8775 ((top)
8776 #(ribcage
8777 #(step)
8778 #((top))
8779 #("i"))
8780 #(ribcage
8781 #(_
8782 var
8783 init
8784 step
8785 e0
8786 e1
8787 c)
8788 #((top)
8789 (top)
8790 (top)
8791 (top)
8792 (top)
8793 (top)
8794 (top))
8795 #("i"
8796 "i"
8797 "i"
8798 "i"
8799 "i"
8800 "i"
8801 "i"))
8802 #(ribcage
8803 ()
8804 ()
8805 ())
8806 #(ribcage
8807 #(orig-x)
8808 #((top))
8809 #("i")))
8810 (hygiene
8811 guile))
8812 e01416)
8813 (cons '#(syntax-object
8814 begin
8815 ((top)
8816 #(ribcage
8817 #(step)
8818 #((top))
8819 #("i"))
8820 #(ribcage
8821 #(_
8822 var
8823 init
8824 step
8825 e0
8826 e1
8827 c)
8828 #((top)
8829 (top)
8830 (top)
8831 (top)
8832 (top)
8833 (top)
8834 (top))
8835 #("i"
8836 "i"
8837 "i"
8838 "i"
8839 "i"
8840 "i"
8841 "i"))
8842 #(ribcage
8843 ()
8844 ()
8845 ())
8846 #(ribcage
8847 #(orig-x)
8848 #((top))
8849 #("i")))
8850 (hygiene
8851 guile))
8852 (append
8853 c1418
8854 (list (cons '#(syntax-object
8855 doloop
8856 ((top)
8857 #(ribcage
8858 #(step)
8859 #((top))
8860 #("i"))
8861 #(ribcage
8862 #(_
8863 var
8864 init
8865 step
8866 e0
8867 e1
8868 c)
8869 #((top)
8870 (top)
8871 (top)
8872 (top)
8873 (top)
8874 (top)
8875 (top))
8876 #("i"
8877 "i"
8878 "i"
8879 "i"
8880 "i"
8881 "i"
8882 "i"))
8883 #(ribcage
8884 ()
8885 ()
8886 ())
8887 #(ribcage
8888 #(orig-x)
8889 #((top))
8890 #("i")))
8891 (hygiene
8892 guile))
8893 step1421)))))))
8894 tmp1423)
8895 ((lambda (tmp1428)
8896 (if tmp1428
8897 (apply (lambda (e11429
8898 e21430)
8899 (list '#(syntax-object
8900 let
8901 ((top)
8902 #(ribcage
8903 #(e1
8904 e2)
8905 #((top)
8906 (top))
8907 #("i"
8908 "i"))
8909 #(ribcage
8910 #(step)
8911 #((top))
8912 #("i"))
8913 #(ribcage
8914 #(_
8915 var
8916 init
8917 step
8918 e0
8919 e1
8920 c)
8921 #((top)
8922 (top)
8923 (top)
8924 (top)
8925 (top)
8926 (top)
8927 (top))
8928 #("i"
8929 "i"
8930 "i"
8931 "i"
8932 "i"
8933 "i"
8934 "i"))
8935 #(ribcage
8936 ()
8937 ()
8938 ())
8939 #(ribcage
8940 #(orig-x)
8941 #((top))
8942 #("i")))
8943 (hygiene
8944 guile))
8945 '#(syntax-object
8946 doloop
8947 ((top)
8948 #(ribcage
8949 #(e1
8950 e2)
8951 #((top)
8952 (top))
8953 #("i"
8954 "i"))
8955 #(ribcage
8956 #(step)
8957 #((top))
8958 #("i"))
8959 #(ribcage
8960 #(_
8961 var
8962 init
8963 step
8964 e0
8965 e1
8966 c)
8967 #((top)
8968 (top)
8969 (top)
8970 (top)
8971 (top)
8972 (top)
8973 (top))
8974 #("i"
8975 "i"
8976 "i"
8977 "i"
8978 "i"
8979 "i"
8980 "i"))
8981 #(ribcage
8982 ()
8983 ()
8984 ())
8985 #(ribcage
8986 #(orig-x)
8987 #((top))
8988 #("i")))
8989 (hygiene
8990 guile))
8991 (map list
8992 var1413
8993 init1414)
8994 (list '#(syntax-object
8995 if
8996 ((top)
8997 #(ribcage
8998 #(e1
8999 e2)
9000 #((top)
9001 (top))
9002 #("i"
9003 "i"))
9004 #(ribcage
9005 #(step)
9006 #((top))
9007 #("i"))
9008 #(ribcage
9009 #(_
9010 var
9011 init
9012 step
9013 e0
9014 e1
9015 c)
9016 #((top)
9017 (top)
9018 (top)
9019 (top)
9020 (top)
9021 (top)
9022 (top))
9023 #("i"
9024 "i"
9025 "i"
9026 "i"
9027 "i"
9028 "i"
9029 "i"))
9030 #(ribcage
9031 ()
9032 ()
9033 ())
9034 #(ribcage
9035 #(orig-x)
9036 #((top))
9037 #("i")))
9038 (hygiene
9039 guile))
9040 e01416
9041 (cons '#(syntax-object
9042 begin
9043 ((top)
9044 #(ribcage
9045 #(e1
9046 e2)
9047 #((top)
9048 (top))
9049 #("i"
9050 "i"))
9051 #(ribcage
9052 #(step)
9053 #((top))
9054 #("i"))
9055 #(ribcage
9056 #(_
9057 var
9058 init
9059 step
9060 e0
9061 e1
9062 c)
9063 #((top)
9064 (top)
9065 (top)
9066 (top)
9067 (top)
9068 (top)
9069 (top))
9070 #("i"
9071 "i"
9072 "i"
9073 "i"
9074 "i"
9075 "i"
9076 "i"))
9077 #(ribcage
9078 ()
9079 ()
9080 ())
9081 #(ribcage
9082 #(orig-x)
9083 #((top))
9084 #("i")))
9085 (hygiene
9086 guile))
9087 (cons e11429
9088 e21430))
9089 (cons '#(syntax-object
9090 begin
9091 ((top)
9092 #(ribcage
9093 #(e1
9094 e2)
9095 #((top)
9096 (top))
9097 #("i"
9098 "i"))
9099 #(ribcage
9100 #(step)
9101 #((top))
9102 #("i"))
9103 #(ribcage
9104 #(_
9105 var
9106 init
9107 step
9108 e0
9109 e1
9110 c)
9111 #((top)
9112 (top)
9113 (top)
9114 (top)
9115 (top)
9116 (top)
9117 (top))
9118 #("i"
9119 "i"
9120 "i"
9121 "i"
9122 "i"
9123 "i"
9124 "i"))
9125 #(ribcage
9126 ()
9127 ()
9128 ())
9129 #(ribcage
9130 #(orig-x)
9131 #((top))
9132 #("i")))
9133 (hygiene
9134 guile))
9135 (append
9136 c1418
9137 (list (cons '#(syntax-object
9138 doloop
9139 ((top)
9140 #(ribcage
9141 #(e1
9142 e2)
9143 #((top)
9144 (top))
9145 #("i"
9146 "i"))
9147 #(ribcage
9148 #(step)
9149 #((top))
9150 #("i"))
9151 #(ribcage
9152 #(_
9153 var
9154 init
9155 step
9156 e0
9157 e1
9158 c)
9159 #((top)
9160 (top)
9161 (top)
9162 (top)
9163 (top)
9164 (top)
9165 (top))
9166 #("i"
9167 "i"
9168 "i"
9169 "i"
9170 "i"
9171 "i"
9172 "i"))
9173 #(ribcage
9174 ()
9175 ()
9176 ())
9177 #(ribcage
9178 #(orig-x)
9179 #((top))
9180 #("i")))
9181 (hygiene
9182 guile))
9183 step1421)))))))
9184 tmp1428)
9185 (syntax-violation
9186 #f
9187 "source expression failed to match any pattern"
9188 tmp1422)))
9189 ($sc-dispatch
9190 tmp1422
9191 '(any . each-any)))))
9192 ($sc-dispatch tmp1422 (quote ()))))
9193 e11417))
9194 tmp1420)
9195 (syntax-violation
9196 #f
9197 "source expression failed to match any pattern"
9198 tmp1419)))
9199 ($sc-dispatch tmp1419 (quote each-any))))
9200 (map (lambda (v1437 s1438)
9201 ((lambda (tmp1439)
9202 ((lambda (tmp1440)
9203 (if tmp1440
9204 (apply (lambda () v1437) tmp1440)
9205 ((lambda (tmp1441)
9206 (if tmp1441
9207 (apply (lambda (e1442) e1442)
9208 tmp1441)
9209 ((lambda (_1443)
9210 (syntax-violation
9211 'do
9212 "bad step expression"
9213 orig-x1409
9214 s1438))
9215 tmp1439)))
9216 ($sc-dispatch tmp1439 (quote (any))))))
9217 ($sc-dispatch tmp1439 (quote ()))))
9218 s1438))
9219 var1413
9220 step1415)))
9221 tmp1411)
9222 (syntax-violation
9223 #f
9224 "source expression failed to match any pattern"
9225 tmp1410)))
9226 ($sc-dispatch
9227 tmp1410
9228 '(any #(each (any any . any))
9229 (any . each-any)
9230 .
9231 each-any))))
9232 orig-x1409))))
9233
9234 (define quasiquote
9235 (make-extended-syncase-macro
9236 (module-ref (current-module) (quote quasiquote))
9237 'macro
9238 (letrec ((quasicons1446
9239 (lambda (x1450 y1451)
9240 ((lambda (tmp1452)
9241 ((lambda (tmp1453)
9242 (if tmp1453
9243 (apply (lambda (x1454 y1455)
9244 ((lambda (tmp1456)
9245 ((lambda (tmp1457)
9246 (if tmp1457
9247 (apply (lambda (dy1458)
9248 ((lambda (tmp1459)
9249 ((lambda (tmp1460)
9250 (if tmp1460
9251 (apply (lambda (dx1461)
9252 (list '#(syntax-object
9253 quote
9254 ((top)
9255 #(ribcage
9256 #(dx)
9257 #((top))
9258 #("i"))
9259 #(ribcage
9260 #(dy)
9261 #((top))
9262 #("i"))
9263 #(ribcage
9264 #(x
9265 y)
9266 #((top)
9267 (top))
9268 #("i"
9269 "i"))
9270 #(ribcage
9271 ()
9272 ()
9273 ())
9274 #(ribcage
9275 ()
9276 ()
9277 ())
9278 #(ribcage
9279 #(x
9280 y)
9281 #((top)
9282 (top))
9283 #("i"
9284 "i"))
9285 #(ribcage
9286 #(quasicons
9287 quasiappend
9288 quasivector
9289 quasi)
9290 #((top)
9291 (top)
9292 (top)
9293 (top))
9294 #("i"
9295 "i"
9296 "i"
9297 "i")))
9298 (hygiene
9299 guile))
9300 (cons dx1461
9301 dy1458)))
9302 tmp1460)
9303 ((lambda (_1462)
9304 (if (null? dy1458)
9305 (list '#(syntax-object
9306 list
9307 ((top)
9308 #(ribcage
9309 #(_)
9310 #((top))
9311 #("i"))
9312 #(ribcage
9313 #(dy)
9314 #((top))
9315 #("i"))
9316 #(ribcage
9317 #(x
9318 y)
9319 #((top)
9320 (top))
9321 #("i"
9322 "i"))
9323 #(ribcage
9324 ()
9325 ()
9326 ())
9327 #(ribcage
9328 ()
9329 ()
9330 ())
9331 #(ribcage
9332 #(x
9333 y)
9334 #((top)
9335 (top))
9336 #("i"
9337 "i"))
9338 #(ribcage
9339 #(quasicons
9340 quasiappend
9341 quasivector
9342 quasi)
9343 #((top)
9344 (top)
9345 (top)
9346 (top))
9347 #("i"
9348 "i"
9349 "i"
9350 "i")))
9351 (hygiene
9352 guile))
9353 x1454)
9354 (list '#(syntax-object
9355 cons
9356 ((top)
9357 #(ribcage
9358 #(_)
9359 #((top))
9360 #("i"))
9361 #(ribcage
9362 #(dy)
9363 #((top))
9364 #("i"))
9365 #(ribcage
9366 #(x
9367 y)
9368 #((top)
9369 (top))
9370 #("i"
9371 "i"))
9372 #(ribcage
9373 ()
9374 ()
9375 ())
9376 #(ribcage
9377 ()
9378 ()
9379 ())
9380 #(ribcage
9381 #(x
9382 y)
9383 #((top)
9384 (top))
9385 #("i"
9386 "i"))
9387 #(ribcage
9388 #(quasicons
9389 quasiappend
9390 quasivector
9391 quasi)
9392 #((top)
9393 (top)
9394 (top)
9395 (top))
9396 #("i"
9397 "i"
9398 "i"
9399 "i")))
9400 (hygiene
9401 guile))
9402 x1454
9403 y1455)))
9404 tmp1459)))
9405 ($sc-dispatch
9406 tmp1459
9407 '(#(free-id
9408 #(syntax-object
9409 quote
9410 ((top)
9411 #(ribcage
9412 #(dy)
9413 #((top))
9414 #("i"))
9415 #(ribcage
9416 #(x y)
9417 #((top)
9418 (top))
9419 #("i" "i"))
9420 #(ribcage
9421 ()
9422 ()
9423 ())
9424 #(ribcage
9425 ()
9426 ()
9427 ())
9428 #(ribcage
9429 #(x y)
9430 #((top)
9431 (top))
9432 #("i" "i"))
9433 #(ribcage
9434 #(quasicons
9435 quasiappend
9436 quasivector
9437 quasi)
9438 #((top)
9439 (top)
9440 (top)
9441 (top))
9442 #("i"
9443 "i"
9444 "i"
9445 "i")))
9446 (hygiene
9447 guile)))
9448 any))))
9449 x1454))
9450 tmp1457)
9451 ((lambda (tmp1463)
9452 (if tmp1463
9453 (apply (lambda (stuff1464)
9454 (cons '#(syntax-object
9455 list
9456 ((top)
9457 #(ribcage
9458 #(stuff)
9459 #((top))
9460 #("i"))
9461 #(ribcage
9462 #(x y)
9463 #((top)
9464 (top))
9465 #("i" "i"))
9466 #(ribcage
9467 ()
9468 ()
9469 ())
9470 #(ribcage
9471 ()
9472 ()
9473 ())
9474 #(ribcage
9475 #(x y)
9476 #((top)
9477 (top))
9478 #("i" "i"))
9479 #(ribcage
9480 #(quasicons
9481 quasiappend
9482 quasivector
9483 quasi)
9484 #((top)
9485 (top)
9486 (top)
9487 (top))
9488 #("i"
9489 "i"
9490 "i"
9491 "i")))
9492 (hygiene
9493 guile))
9494 (cons x1454
9495 stuff1464)))
9496 tmp1463)
9497 ((lambda (else1465)
9498 (list '#(syntax-object
9499 cons
9500 ((top)
9501 #(ribcage
9502 #(else)
9503 #((top))
9504 #("i"))
9505 #(ribcage
9506 #(x y)
9507 #((top) (top))
9508 #("i" "i"))
9509 #(ribcage () () ())
9510 #(ribcage () () ())
9511 #(ribcage
9512 #(x y)
9513 #((top) (top))
9514 #("i" "i"))
9515 #(ribcage
9516 #(quasicons
9517 quasiappend
9518 quasivector
9519 quasi)
9520 #((top)
9521 (top)
9522 (top)
9523 (top))
9524 #("i"
9525 "i"
9526 "i"
9527 "i")))
9528 (hygiene guile))
9529 x1454
9530 y1455))
9531 tmp1456)))
9532 ($sc-dispatch
9533 tmp1456
9534 '(#(free-id
9535 #(syntax-object
9536 list
9537 ((top)
9538 #(ribcage
9539 #(x y)
9540 #((top) (top))
9541 #("i" "i"))
9542 #(ribcage () () ())
9543 #(ribcage () () ())
9544 #(ribcage
9545 #(x y)
9546 #((top) (top))
9547 #("i" "i"))
9548 #(ribcage
9549 #(quasicons
9550 quasiappend
9551 quasivector
9552 quasi)
9553 #((top)
9554 (top)
9555 (top)
9556 (top))
9557 #("i" "i" "i" "i")))
9558 (hygiene guile)))
9559 .
9560 any)))))
9561 ($sc-dispatch
9562 tmp1456
9563 '(#(free-id
9564 #(syntax-object
9565 quote
9566 ((top)
9567 #(ribcage
9568 #(x y)
9569 #((top) (top))
9570 #("i" "i"))
9571 #(ribcage () () ())
9572 #(ribcage () () ())
9573 #(ribcage
9574 #(x y)
9575 #((top) (top))
9576 #("i" "i"))
9577 #(ribcage
9578 #(quasicons
9579 quasiappend
9580 quasivector
9581 quasi)
9582 #((top) (top) (top) (top))
9583 #("i" "i" "i" "i")))
9584 (hygiene guile)))
9585 any))))
9586 y1455))
9587 tmp1453)
9588 (syntax-violation
9589 #f
9590 "source expression failed to match any pattern"
9591 tmp1452)))
9592 ($sc-dispatch tmp1452 (quote (any any)))))
9593 (list x1450 y1451))))
9594 (quasiappend1447
9595 (lambda (x1466 y1467)
9596 ((lambda (tmp1468)
9597 ((lambda (tmp1469)
9598 (if tmp1469
9599 (apply (lambda (x1470 y1471)
9600 ((lambda (tmp1472)
9601 ((lambda (tmp1473)
9602 (if tmp1473
9603 (apply (lambda () x1470) tmp1473)
9604 ((lambda (_1474)
9605 (list '#(syntax-object
9606 append
9607 ((top)
9608 #(ribcage
9609 #(_)
9610 #((top))
9611 #("i"))
9612 #(ribcage
9613 #(x y)
9614 #((top) (top))
9615 #("i" "i"))
9616 #(ribcage () () ())
9617 #(ribcage () () ())
9618 #(ribcage
9619 #(x y)
9620 #((top) (top))
9621 #("i" "i"))
9622 #(ribcage
9623 #(quasicons
9624 quasiappend
9625 quasivector
9626 quasi)
9627 #((top)
9628 (top)
9629 (top)
9630 (top))
9631 #("i" "i" "i" "i")))
9632 (hygiene guile))
9633 x1470
9634 y1471))
9635 tmp1472)))
9636 ($sc-dispatch
9637 tmp1472
9638 '(#(free-id
9639 #(syntax-object
9640 quote
9641 ((top)
9642 #(ribcage
9643 #(x y)
9644 #((top) (top))
9645 #("i" "i"))
9646 #(ribcage () () ())
9647 #(ribcage () () ())
9648 #(ribcage
9649 #(x y)
9650 #((top) (top))
9651 #("i" "i"))
9652 #(ribcage
9653 #(quasicons
9654 quasiappend
9655 quasivector
9656 quasi)
9657 #((top) (top) (top) (top))
9658 #("i" "i" "i" "i")))
9659 (hygiene guile)))
9660 ()))))
9661 y1471))
9662 tmp1469)
9663 (syntax-violation
9664 #f
9665 "source expression failed to match any pattern"
9666 tmp1468)))
9667 ($sc-dispatch tmp1468 (quote (any any)))))
9668 (list x1466 y1467))))
9669 (quasivector1448
9670 (lambda (x1475)
9671 ((lambda (tmp1476)
9672 ((lambda (x1477)
9673 ((lambda (tmp1478)
9674 ((lambda (tmp1479)
9675 (if tmp1479
9676 (apply (lambda (x1480)
9677 (list '#(syntax-object
9678 quote
9679 ((top)
9680 #(ribcage
9681 #(x)
9682 #((top))
9683 #("i"))
9684 #(ribcage
9685 #(x)
9686 #((top))
9687 #("i"))
9688 #(ribcage () () ())
9689 #(ribcage () () ())
9690 #(ribcage
9691 #(x)
9692 #((top))
9693 #("i"))
9694 #(ribcage
9695 #(quasicons
9696 quasiappend
9697 quasivector
9698 quasi)
9699 #((top) (top) (top) (top))
9700 #("i" "i" "i" "i")))
9701 (hygiene guile))
9702 (list->vector x1480)))
9703 tmp1479)
9704 ((lambda (tmp1482)
9705 (if tmp1482
9706 (apply (lambda (x1483)
9707 (cons '#(syntax-object
9708 vector
9709 ((top)
9710 #(ribcage
9711 #(x)
9712 #((top))
9713 #("i"))
9714 #(ribcage
9715 #(x)
9716 #((top))
9717 #("i"))
9718 #(ribcage () () ())
9719 #(ribcage () () ())
9720 #(ribcage
9721 #(x)
9722 #((top))
9723 #("i"))
9724 #(ribcage
9725 #(quasicons
9726 quasiappend
9727 quasivector
9728 quasi)
9729 #((top)
9730 (top)
9731 (top)
9732 (top))
9733 #("i" "i" "i" "i")))
9734 (hygiene guile))
9735 x1483))
9736 tmp1482)
9737 ((lambda (_1485)
9738 (list '#(syntax-object
9739 list->vector
9740 ((top)
9741 #(ribcage
9742 #(_)
9743 #((top))
9744 #("i"))
9745 #(ribcage
9746 #(x)
9747 #((top))
9748 #("i"))
9749 #(ribcage () () ())
9750 #(ribcage () () ())
9751 #(ribcage
9752 #(x)
9753 #((top))
9754 #("i"))
9755 #(ribcage
9756 #(quasicons
9757 quasiappend
9758 quasivector
9759 quasi)
9760 #((top) (top) (top) (top))
9761 #("i" "i" "i" "i")))
9762 (hygiene guile))
9763 x1477))
9764 tmp1478)))
9765 ($sc-dispatch
9766 tmp1478
9767 '(#(free-id
9768 #(syntax-object
9769 list
9770 ((top)
9771 #(ribcage #(x) #((top)) #("i"))
9772 #(ribcage () () ())
9773 #(ribcage () () ())
9774 #(ribcage #(x) #((top)) #("i"))
9775 #(ribcage
9776 #(quasicons
9777 quasiappend
9778 quasivector
9779 quasi)
9780 #((top) (top) (top) (top))
9781 #("i" "i" "i" "i")))
9782 (hygiene guile)))
9783 .
9784 each-any)))))
9785 ($sc-dispatch
9786 tmp1478
9787 '(#(free-id
9788 #(syntax-object
9789 quote
9790 ((top)
9791 #(ribcage #(x) #((top)) #("i"))
9792 #(ribcage () () ())
9793 #(ribcage () () ())
9794 #(ribcage #(x) #((top)) #("i"))
9795 #(ribcage
9796 #(quasicons
9797 quasiappend
9798 quasivector
9799 quasi)
9800 #((top) (top) (top) (top))
9801 #("i" "i" "i" "i")))
9802 (hygiene guile)))
9803 each-any))))
9804 x1477))
9805 tmp1476))
9806 x1475)))
9807 (quasi1449
9808 (lambda (p1486 lev1487)
9809 ((lambda (tmp1488)
9810 ((lambda (tmp1489)
9811 (if tmp1489
9812 (apply (lambda (p1490)
9813 (if (= lev1487 0)
9814 p1490
9815 (quasicons1446
9816 '(#(syntax-object
9817 quote
9818 ((top)
9819 #(ribcage #(p) #((top)) #("i"))
9820 #(ribcage () () ())
9821 #(ribcage
9822 #(p lev)
9823 #((top) (top))
9824 #("i" "i"))
9825 #(ribcage
9826 #(quasicons
9827 quasiappend
9828 quasivector
9829 quasi)
9830 #((top) (top) (top) (top))
9831 #("i" "i" "i" "i")))
9832 (hygiene guile))
9833 #(syntax-object
9834 unquote
9835 ((top)
9836 #(ribcage #(p) #((top)) #("i"))
9837 #(ribcage () () ())
9838 #(ribcage
9839 #(p lev)
9840 #((top) (top))
9841 #("i" "i"))
9842 #(ribcage
9843 #(quasicons
9844 quasiappend
9845 quasivector
9846 quasi)
9847 #((top) (top) (top) (top))
9848 #("i" "i" "i" "i")))
9849 (hygiene guile)))
9850 (quasi1449 (list p1490) (- lev1487 1)))))
9851 tmp1489)
9852 ((lambda (tmp1491)
9853 (if (if tmp1491
9854 (apply (lambda (args1492) (= lev1487 0))
9855 tmp1491)
9856 #f)
9857 (apply (lambda (args1493)
9858 (syntax-violation
9859 'unquote
9860 "unquote takes exactly one argument"
9861 p1486
9862 (cons '#(syntax-object
9863 unquote
9864 ((top)
9865 #(ribcage
9866 #(args)
9867 #((top))
9868 #("i"))
9869 #(ribcage () () ())
9870 #(ribcage
9871 #(p lev)
9872 #((top) (top))
9873 #("i" "i"))
9874 #(ribcage
9875 #(quasicons
9876 quasiappend
9877 quasivector
9878 quasi)
9879 #((top) (top) (top) (top))
9880 #("i" "i" "i" "i")))
9881 (hygiene guile))
9882 args1493)))
9883 tmp1491)
9884 ((lambda (tmp1494)
9885 (if tmp1494
9886 (apply (lambda (p1495 q1496)
9887 (if (= lev1487 0)
9888 (quasiappend1447
9889 p1495
9890 (quasi1449 q1496 lev1487))
9891 (quasicons1446
9892 (quasicons1446
9893 '(#(syntax-object
9894 quote
9895 ((top)
9896 #(ribcage
9897 #(p q)
9898 #((top) (top))
9899 #("i" "i"))
9900 #(ribcage () () ())
9901 #(ribcage
9902 #(p lev)
9903 #((top) (top))
9904 #("i" "i"))
9905 #(ribcage
9906 #(quasicons
9907 quasiappend
9908 quasivector
9909 quasi)
9910 #((top)
9911 (top)
9912 (top)
9913 (top))
9914 #("i" "i" "i" "i")))
9915 (hygiene guile))
9916 #(syntax-object
9917 unquote-splicing
9918 ((top)
9919 #(ribcage
9920 #(p q)
9921 #((top) (top))
9922 #("i" "i"))
9923 #(ribcage () () ())
9924 #(ribcage
9925 #(p lev)
9926 #((top) (top))
9927 #("i" "i"))
9928 #(ribcage
9929 #(quasicons
9930 quasiappend
9931 quasivector
9932 quasi)
9933 #((top)
9934 (top)
9935 (top)
9936 (top))
9937 #("i" "i" "i" "i")))
9938 (hygiene guile)))
9939 (quasi1449
9940 (list p1495)
9941 (- lev1487 1)))
9942 (quasi1449 q1496 lev1487))))
9943 tmp1494)
9944 ((lambda (tmp1497)
9945 (if (if tmp1497
9946 (apply (lambda (args1498 q1499)
9947 (= lev1487 0))
9948 tmp1497)
9949 #f)
9950 (apply (lambda (args1500 q1501)
9951 (syntax-violation
9952 'unquote-splicing
9953 "unquote-splicing takes exactly one argument"
9954 p1486
9955 (cons '#(syntax-object
9956 unquote-splicing
9957 ((top)
9958 #(ribcage
9959 #(args q)
9960 #((top) (top))
9961 #("i" "i"))
9962 #(ribcage
9963 ()
9964 ()
9965 ())
9966 #(ribcage
9967 #(p lev)
9968 #((top) (top))
9969 #("i" "i"))
9970 #(ribcage
9971 #(quasicons
9972 quasiappend
9973 quasivector
9974 quasi)
9975 #((top)
9976 (top)
9977 (top)
9978 (top))
9979 #("i"
9980 "i"
9981 "i"
9982 "i")))
9983 (hygiene guile))
9984 args1500)))
9985 tmp1497)
9986 ((lambda (tmp1502)
9987 (if tmp1502
9988 (apply (lambda (p1503)
9989 (quasicons1446
9990 '(#(syntax-object
9991 quote
9992 ((top)
9993 #(ribcage
9994 #(p)
9995 #((top))
9996 #("i"))
9997 #(ribcage
9998 ()
9999 ()
10000 ())
10001 #(ribcage
10002 #(p lev)
10003 #((top) (top))
10004 #("i" "i"))
10005 #(ribcage
10006 #(quasicons
10007 quasiappend
10008 quasivector
10009 quasi)
10010 #((top)
10011 (top)
10012 (top)
10013 (top))
10014 #("i"
10015 "i"
10016 "i"
10017 "i")))
10018 (hygiene guile))
10019 #(syntax-object
10020 quasiquote
10021 ((top)
10022 #(ribcage
10023 #(p)
10024 #((top))
10025 #("i"))
10026 #(ribcage
10027 ()
10028 ()
10029 ())
10030 #(ribcage
10031 #(p lev)
10032 #((top) (top))
10033 #("i" "i"))
10034 #(ribcage
10035 #(quasicons
10036 quasiappend
10037 quasivector
10038 quasi)
10039 #((top)
10040 (top)
10041 (top)
10042 (top))
10043 #("i"
10044 "i"
10045 "i"
10046 "i")))
10047 (hygiene guile)))
10048 (quasi1449
10049 (list p1503)
10050 (+ lev1487 1))))
10051 tmp1502)
10052 ((lambda (tmp1504)
10053 (if tmp1504
10054 (apply (lambda (p1505 q1506)
10055 (quasicons1446
10056 (quasi1449
10057 p1505
10058 lev1487)
10059 (quasi1449
10060 q1506
10061 lev1487)))
10062 tmp1504)
10063 ((lambda (tmp1507)
10064 (if tmp1507
10065 (apply (lambda (x1508)
10066 (quasivector1448
10067 (quasi1449
10068 x1508
10069 lev1487)))
10070 tmp1507)
10071 ((lambda (p1510)
10072 (list '#(syntax-object
10073 quote
10074 ((top)
10075 #(ribcage
10076 #(p)
10077 #((top))
10078 #("i"))
10079 #(ribcage
10080 ()
10081 ()
10082 ())
10083 #(ribcage
10084 #(p lev)
10085 #((top)
10086 (top))
10087 #("i"
10088 "i"))
10089 #(ribcage
10090 #(quasicons
10091 quasiappend
10092 quasivector
10093 quasi)
10094 #((top)
10095 (top)
10096 (top)
10097 (top))
10098 #("i"
10099 "i"
10100 "i"
10101 "i")))
10102 (hygiene
10103 guile))
10104 p1510))
10105 tmp1488)))
10106 ($sc-dispatch
10107 tmp1488
10108 '#(vector each-any)))))
10109 ($sc-dispatch
10110 tmp1488
10111 '(any . any)))))
10112 ($sc-dispatch
10113 tmp1488
10114 '(#(free-id
10115 #(syntax-object
10116 quasiquote
10117 ((top)
10118 #(ribcage () () ())
10119 #(ribcage
10120 #(p lev)
10121 #((top) (top))
10122 #("i" "i"))
10123 #(ribcage
10124 #(quasicons
10125 quasiappend
10126 quasivector
10127 quasi)
10128 #((top) (top) (top) (top))
10129 #("i" "i" "i" "i")))
10130 (hygiene guile)))
10131 any)))))
10132 ($sc-dispatch
10133 tmp1488
10134 '((#(free-id
10135 #(syntax-object
10136 unquote-splicing
10137 ((top)
10138 #(ribcage () () ())
10139 #(ribcage
10140 #(p lev)
10141 #((top) (top))
10142 #("i" "i"))
10143 #(ribcage
10144 #(quasicons
10145 quasiappend
10146 quasivector
10147 quasi)
10148 #((top) (top) (top) (top))
10149 #("i" "i" "i" "i")))
10150 (hygiene guile)))
10151 .
10152 any)
10153 .
10154 any)))))
10155 ($sc-dispatch
10156 tmp1488
10157 '((#(free-id
10158 #(syntax-object
10159 unquote-splicing
10160 ((top)
10161 #(ribcage () () ())
10162 #(ribcage
10163 #(p lev)
10164 #((top) (top))
10165 #("i" "i"))
10166 #(ribcage
10167 #(quasicons
10168 quasiappend
10169 quasivector
10170 quasi)
10171 #((top) (top) (top) (top))
10172 #("i" "i" "i" "i")))
10173 (hygiene guile)))
10174 any)
10175 .
10176 any)))))
10177 ($sc-dispatch
10178 tmp1488
10179 '(#(free-id
10180 #(syntax-object
10181 unquote
10182 ((top)
10183 #(ribcage () () ())
10184 #(ribcage
10185 #(p lev)
10186 #((top) (top))
10187 #("i" "i"))
10188 #(ribcage
10189 #(quasicons quasiappend quasivector quasi)
10190 #((top) (top) (top) (top))
10191 #("i" "i" "i" "i")))
10192 (hygiene guile)))
10193 .
10194 any)))))
10195 ($sc-dispatch
10196 tmp1488
10197 '(#(free-id
10198 #(syntax-object
10199 unquote
10200 ((top)
10201 #(ribcage () () ())
10202 #(ribcage #(p lev) #((top) (top)) #("i" "i"))
10203 #(ribcage
10204 #(quasicons quasiappend quasivector quasi)
10205 #((top) (top) (top) (top))
10206 #("i" "i" "i" "i")))
10207 (hygiene guile)))
10208 any))))
10209 p1486))))
10210 (lambda (x1511)
10211 ((lambda (tmp1512)
10212 ((lambda (tmp1513)
10213 (if tmp1513
10214 (apply (lambda (_1514 e1515) (quasi1449 e1515 0))
10215 tmp1513)
10216 (syntax-violation
10217 #f
10218 "source expression failed to match any pattern"
10219 tmp1512)))
10220 ($sc-dispatch tmp1512 (quote (any any)))))
10221 x1511)))))
10222
10223 (define include
10224 (make-syncase-macro
10225 'macro
10226 (lambda (x1516)
10227 (letrec ((read-file1517
10228 (lambda (fn1518 k1519)
10229 (let ((p1520 (open-input-file fn1518)))
10230 (letrec ((f1521 (lambda (x1522)
10231 (if (eof-object? x1522)
10232 (begin
10233 (close-input-port p1520)
10234 '())
10235 (cons (datum->syntax k1519 x1522)
10236 (f1521 (read p1520)))))))
10237 (f1521 (read p1520)))))))
10238 ((lambda (tmp1523)
10239 ((lambda (tmp1524)
10240 (if tmp1524
10241 (apply (lambda (k1525 filename1526)
10242 (let ((fn1527 (syntax->datum filename1526)))
10243 ((lambda (tmp1528)
10244 ((lambda (tmp1529)
10245 (if tmp1529
10246 (apply (lambda (exp1530)
10247 (cons '#(syntax-object
10248 begin
10249 ((top)
10250 #(ribcage
10251 #(exp)
10252 #((top))
10253 #("i"))
10254 #(ribcage () () ())
10255 #(ribcage () () ())
10256 #(ribcage
10257 #(fn)
10258 #((top))
10259 #("i"))
10260 #(ribcage
10261 #(k filename)
10262 #((top) (top))
10263 #("i" "i"))
10264 #(ribcage
10265 (read-file)
10266 ((top))
10267 ("i"))
10268 #(ribcage
10269 #(x)
10270 #((top))
10271 #("i")))
10272 (hygiene guile))
10273 exp1530))
10274 tmp1529)
10275 (syntax-violation
10276 #f
10277 "source expression failed to match any pattern"
10278 tmp1528)))
10279 ($sc-dispatch tmp1528 (quote each-any))))
10280 (read-file1517 fn1527 k1525))))
10281 tmp1524)
10282 (syntax-violation
10283 #f
10284 "source expression failed to match any pattern"
10285 tmp1523)))
10286 ($sc-dispatch tmp1523 (quote (any any)))))
10287 x1516)))))
10288
10289 (define unquote
10290 (make-syncase-macro
10291 'macro
10292 (lambda (x1532)
10293 ((lambda (tmp1533)
10294 ((lambda (tmp1534)
10295 (if tmp1534
10296 (apply (lambda (_1535 e1536)
10297 (syntax-violation
10298 'unquote
10299 "expression not valid outside of quasiquote"
10300 x1532))
10301 tmp1534)
10302 (syntax-violation
10303 #f
10304 "source expression failed to match any pattern"
10305 tmp1533)))
10306 ($sc-dispatch tmp1533 (quote (any any)))))
10307 x1532))))
10308
10309 (define unquote-splicing
10310 (make-syncase-macro
10311 'macro
10312 (lambda (x1537)
10313 ((lambda (tmp1538)
10314 ((lambda (tmp1539)
10315 (if tmp1539
10316 (apply (lambda (_1540 e1541)
10317 (syntax-violation
10318 'unquote-splicing
10319 "expression not valid outside of quasiquote"
10320 x1537))
10321 tmp1539)
10322 (syntax-violation
10323 #f
10324 "source expression failed to match any pattern"
10325 tmp1538)))
10326 ($sc-dispatch tmp1538 (quote (any any)))))
10327 x1537))))
10328
10329 (define case
10330 (make-extended-syncase-macro
10331 (module-ref (current-module) (quote case))
10332 'macro
10333 (lambda (x1542)
10334 ((lambda (tmp1543)
10335 ((lambda (tmp1544)
10336 (if tmp1544
10337 (apply (lambda (_1545 e1546 m11547 m21548)
10338 ((lambda (tmp1549)
10339 ((lambda (body1550)
10340 (list '#(syntax-object
10341 let
10342 ((top)
10343 #(ribcage #(body) #((top)) #("i"))
10344 #(ribcage
10345 #(_ e m1 m2)
10346 #((top) (top) (top) (top))
10347 #("i" "i" "i" "i"))
10348 #(ribcage () () ())
10349 #(ribcage #(x) #((top)) #("i")))
10350 (hygiene guile))
10351 (list (list '#(syntax-object
10352 t
10353 ((top)
10354 #(ribcage
10355 #(body)
10356 #((top))
10357 #("i"))
10358 #(ribcage
10359 #(_ e m1 m2)
10360 #((top) (top) (top) (top))
10361 #("i" "i" "i" "i"))
10362 #(ribcage () () ())
10363 #(ribcage
10364 #(x)
10365 #((top))
10366 #("i")))
10367 (hygiene guile))
10368 e1546))
10369 body1550))
10370 tmp1549))
10371 (letrec ((f1551 (lambda (clause1552 clauses1553)
10372 (if (null? clauses1553)
10373 ((lambda (tmp1555)
10374 ((lambda (tmp1556)
10375 (if tmp1556
10376 (apply (lambda (e11557
10377 e21558)
10378 (cons '#(syntax-object
10379 begin
10380 ((top)
10381 #(ribcage
10382 #(e1
10383 e2)
10384 #((top)
10385 (top))
10386 #("i"
10387 "i"))
10388 #(ribcage
10389 ()
10390 ()
10391 ())
10392 #(ribcage
10393 #(f
10394 clause
10395 clauses)
10396 #((top)
10397 (top)
10398 (top))
10399 #("i"
10400 "i"
10401 "i"))
10402 #(ribcage
10403 #(_
10404 e
10405 m1
10406 m2)
10407 #((top)
10408 (top)
10409 (top)
10410 (top))
10411 #("i"
10412 "i"
10413 "i"
10414 "i"))
10415 #(ribcage
10416 ()
10417 ()
10418 ())
10419 #(ribcage
10420 #(x)
10421 #((top))
10422 #("i")))
10423 (hygiene
10424 guile))
10425 (cons e11557
10426 e21558)))
10427 tmp1556)
10428 ((lambda (tmp1560)
10429 (if tmp1560
10430 (apply (lambda (k1561
10431 e11562
10432 e21563)
10433 (list '#(syntax-object
10434 if
10435 ((top)
10436 #(ribcage
10437 #(k
10438 e1
10439 e2)
10440 #((top)
10441 (top)
10442 (top))
10443 #("i"
10444 "i"
10445 "i"))
10446 #(ribcage
10447 ()
10448 ()
10449 ())
10450 #(ribcage
10451 #(f
10452 clause
10453 clauses)
10454 #((top)
10455 (top)
10456 (top))
10457 #("i"
10458 "i"
10459 "i"))
10460 #(ribcage
10461 #(_
10462 e
10463 m1
10464 m2)
10465 #((top)
10466 (top)
10467 (top)
10468 (top))
10469 #("i"
10470 "i"
10471 "i"
10472 "i"))
10473 #(ribcage
10474 ()
10475 ()
10476 ())
10477 #(ribcage
10478 #(x)
10479 #((top))
10480 #("i")))
10481 (hygiene
10482 guile))
10483 (list '#(syntax-object
10484 memv
10485 ((top)
10486 #(ribcage
10487 #(k
10488 e1
10489 e2)
10490 #((top)
10491 (top)
10492 (top))
10493 #("i"
10494 "i"
10495 "i"))
10496 #(ribcage
10497 ()
10498 ()
10499 ())
10500 #(ribcage
10501 #(f
10502 clause
10503 clauses)
10504 #((top)
10505 (top)
10506 (top))
10507 #("i"
10508 "i"
10509 "i"))
10510 #(ribcage
10511 #(_
10512 e
10513 m1
10514 m2)
10515 #((top)
10516 (top)
10517 (top)
10518 (top))
10519 #("i"
10520 "i"
10521 "i"
10522 "i"))
10523 #(ribcage
10524 ()
10525 ()
10526 ())
10527 #(ribcage
10528 #(x)
10529 #((top))
10530 #("i")))
10531 (hygiene
10532 guile))
10533 '#(syntax-object
10534 t
10535 ((top)
10536 #(ribcage
10537 #(k
10538 e1
10539 e2)
10540 #((top)
10541 (top)
10542 (top))
10543 #("i"
10544 "i"
10545 "i"))
10546 #(ribcage
10547 ()
10548 ()
10549 ())
10550 #(ribcage
10551 #(f
10552 clause
10553 clauses)
10554 #((top)
10555 (top)
10556 (top))
10557 #("i"
10558 "i"
10559 "i"))
10560 #(ribcage
10561 #(_
10562 e
10563 m1
10564 m2)
10565 #((top)
10566 (top)
10567 (top)
10568 (top))
10569 #("i"
10570 "i"
10571 "i"
10572 "i"))
10573 #(ribcage
10574 ()
10575 ()
10576 ())
10577 #(ribcage
10578 #(x)
10579 #((top))
10580 #("i")))
10581 (hygiene
10582 guile))
10583 (list '#(syntax-object
10584 quote
10585 ((top)
10586 #(ribcage
10587 #(k
10588 e1
10589 e2)
10590 #((top)
10591 (top)
10592 (top))
10593 #("i"
10594 "i"
10595 "i"))
10596 #(ribcage
10597 ()
10598 ()
10599 ())
10600 #(ribcage
10601 #(f
10602 clause
10603 clauses)
10604 #((top)
10605 (top)
10606 (top))
10607 #("i"
10608 "i"
10609 "i"))
10610 #(ribcage
10611 #(_
10612 e
10613 m1
10614 m2)
10615 #((top)
10616 (top)
10617 (top)
10618 (top))
10619 #("i"
10620 "i"
10621 "i"
10622 "i"))
10623 #(ribcage
10624 ()
10625 ()
10626 ())
10627 #(ribcage
10628 #(x)
10629 #((top))
10630 #("i")))
10631 (hygiene
10632 guile))
10633 k1561))
10634 (cons '#(syntax-object
10635 begin
10636 ((top)
10637 #(ribcage
10638 #(k
10639 e1
10640 e2)
10641 #((top)
10642 (top)
10643 (top))
10644 #("i"
10645 "i"
10646 "i"))
10647 #(ribcage
10648 ()
10649 ()
10650 ())
10651 #(ribcage
10652 #(f
10653 clause
10654 clauses)
10655 #((top)
10656 (top)
10657 (top))
10658 #("i"
10659 "i"
10660 "i"))
10661 #(ribcage
10662 #(_
10663 e
10664 m1
10665 m2)
10666 #((top)
10667 (top)
10668 (top)
10669 (top))
10670 #("i"
10671 "i"
10672 "i"
10673 "i"))
10674 #(ribcage
10675 ()
10676 ()
10677 ())
10678 #(ribcage
10679 #(x)
10680 #((top))
10681 #("i")))
10682 (hygiene
10683 guile))
10684 (cons e11562
10685 e21563))))
10686 tmp1560)
10687 ((lambda (_1566)
10688 (syntax-violation
10689 'case
10690 "bad clause"
10691 x1542
10692 clause1552))
10693 tmp1555)))
10694 ($sc-dispatch
10695 tmp1555
10696 '(each-any
10697 any
10698 .
10699 each-any)))))
10700 ($sc-dispatch
10701 tmp1555
10702 '(#(free-id
10703 #(syntax-object
10704 else
10705 ((top)
10706 #(ribcage () () ())
10707 #(ribcage
10708 #(f clause clauses)
10709 #((top) (top) (top))
10710 #("i" "i" "i"))
10711 #(ribcage
10712 #(_ e m1 m2)
10713 #((top)
10714 (top)
10715 (top)
10716 (top))
10717 #("i" "i" "i" "i"))
10718 #(ribcage () () ())
10719 #(ribcage
10720 #(x)
10721 #((top))
10722 #("i")))
10723 (hygiene guile)))
10724 any
10725 .
10726 each-any))))
10727 clause1552)
10728 ((lambda (tmp1567)
10729 ((lambda (rest1568)
10730 ((lambda (tmp1569)
10731 ((lambda (tmp1570)
10732 (if tmp1570
10733 (apply (lambda (k1571
10734 e11572
10735 e21573)
10736 (list '#(syntax-object
10737 if
10738 ((top)
10739 #(ribcage
10740 #(k
10741 e1
10742 e2)
10743 #((top)
10744 (top)
10745 (top))
10746 #("i"
10747 "i"
10748 "i"))
10749 #(ribcage
10750 #(rest)
10751 #((top))
10752 #("i"))
10753 #(ribcage
10754 ()
10755 ()
10756 ())
10757 #(ribcage
10758 #(f
10759 clause
10760 clauses)
10761 #((top)
10762 (top)
10763 (top))
10764 #("i"
10765 "i"
10766 "i"))
10767 #(ribcage
10768 #(_
10769 e
10770 m1
10771 m2)
10772 #((top)
10773 (top)
10774 (top)
10775 (top))
10776 #("i"
10777 "i"
10778 "i"
10779 "i"))
10780 #(ribcage
10781 ()
10782 ()
10783 ())
10784 #(ribcage
10785 #(x)
10786 #((top))
10787 #("i")))
10788 (hygiene
10789 guile))
10790 (list '#(syntax-object
10791 memv
10792 ((top)
10793 #(ribcage
10794 #(k
10795 e1
10796 e2)
10797 #((top)
10798 (top)
10799 (top))
10800 #("i"
10801 "i"
10802 "i"))
10803 #(ribcage
10804 #(rest)
10805 #((top))
10806 #("i"))
10807 #(ribcage
10808 ()
10809 ()
10810 ())
10811 #(ribcage
10812 #(f
10813 clause
10814 clauses)
10815 #((top)
10816 (top)
10817 (top))
10818 #("i"
10819 "i"
10820 "i"))
10821 #(ribcage
10822 #(_
10823 e
10824 m1
10825 m2)
10826 #((top)
10827 (top)
10828 (top)
10829 (top))
10830 #("i"
10831 "i"
10832 "i"
10833 "i"))
10834 #(ribcage
10835 ()
10836 ()
10837 ())
10838 #(ribcage
10839 #(x)
10840 #((top))
10841 #("i")))
10842 (hygiene
10843 guile))
10844 '#(syntax-object
10845 t
10846 ((top)
10847 #(ribcage
10848 #(k
10849 e1
10850 e2)
10851 #((top)
10852 (top)
10853 (top))
10854 #("i"
10855 "i"
10856 "i"))
10857 #(ribcage
10858 #(rest)
10859 #((top))
10860 #("i"))
10861 #(ribcage
10862 ()
10863 ()
10864 ())
10865 #(ribcage
10866 #(f
10867 clause
10868 clauses)
10869 #((top)
10870 (top)
10871 (top))
10872 #("i"
10873 "i"
10874 "i"))
10875 #(ribcage
10876 #(_
10877 e
10878 m1
10879 m2)
10880 #((top)
10881 (top)
10882 (top)
10883 (top))
10884 #("i"
10885 "i"
10886 "i"
10887 "i"))
10888 #(ribcage
10889 ()
10890 ()
10891 ())
10892 #(ribcage
10893 #(x)
10894 #((top))
10895 #("i")))
10896 (hygiene
10897 guile))
10898 (list '#(syntax-object
10899 quote
10900 ((top)
10901 #(ribcage
10902 #(k
10903 e1
10904 e2)
10905 #((top)
10906 (top)
10907 (top))
10908 #("i"
10909 "i"
10910 "i"))
10911 #(ribcage
10912 #(rest)
10913 #((top))
10914 #("i"))
10915 #(ribcage
10916 ()
10917 ()
10918 ())
10919 #(ribcage
10920 #(f
10921 clause
10922 clauses)
10923 #((top)
10924 (top)
10925 (top))
10926 #("i"
10927 "i"
10928 "i"))
10929 #(ribcage
10930 #(_
10931 e
10932 m1
10933 m2)
10934 #((top)
10935 (top)
10936 (top)
10937 (top))
10938 #("i"
10939 "i"
10940 "i"
10941 "i"))
10942 #(ribcage
10943 ()
10944 ()
10945 ())
10946 #(ribcage
10947 #(x)
10948 #((top))
10949 #("i")))
10950 (hygiene
10951 guile))
10952 k1571))
10953 (cons '#(syntax-object
10954 begin
10955 ((top)
10956 #(ribcage
10957 #(k
10958 e1
10959 e2)
10960 #((top)
10961 (top)
10962 (top))
10963 #("i"
10964 "i"
10965 "i"))
10966 #(ribcage
10967 #(rest)
10968 #((top))
10969 #("i"))
10970 #(ribcage
10971 ()
10972 ()
10973 ())
10974 #(ribcage
10975 #(f
10976 clause
10977 clauses)
10978 #((top)
10979 (top)
10980 (top))
10981 #("i"
10982 "i"
10983 "i"))
10984 #(ribcage
10985 #(_
10986 e
10987 m1
10988 m2)
10989 #((top)
10990 (top)
10991 (top)
10992 (top))
10993 #("i"
10994 "i"
10995 "i"
10996 "i"))
10997 #(ribcage
10998 ()
10999 ()
11000 ())
11001 #(ribcage
11002 #(x)
11003 #((top))
11004 #("i")))
11005 (hygiene
11006 guile))
11007 (cons e11572
11008 e21573))
11009 rest1568))
11010 tmp1570)
11011 ((lambda (_1576)
11012 (syntax-violation
11013 'case
11014 "bad clause"
11015 x1542
11016 clause1552))
11017 tmp1569)))
11018 ($sc-dispatch
11019 tmp1569
11020 '(each-any
11021 any
11022 .
11023 each-any))))
11024 clause1552))
11025 tmp1567))
11026 (f1551 (car clauses1553)
11027 (cdr clauses1553)))))))
11028 (f1551 m11547 m21548))))
11029 tmp1544)
11030 (syntax-violation
11031 #f
11032 "source expression failed to match any pattern"
11033 tmp1543)))
11034 ($sc-dispatch
11035 tmp1543
11036 '(any any any . each-any))))
11037 x1542))))
11038
11039 (define identifier-syntax
11040 (make-syncase-macro
11041 'macro
11042 (lambda (x1577)
11043 ((lambda (tmp1578)
11044 ((lambda (tmp1579)
11045 (if tmp1579
11046 (apply (lambda (_1580 e1581)
11047 (list '#(syntax-object
11048 lambda
11049 ((top)
11050 #(ribcage #(_ e) #((top) (top)) #("i" "i"))
11051 #(ribcage () () ())
11052 #(ribcage #(x) #((top)) #("i")))
11053 (hygiene guile))
11054 '(#(syntax-object
11055 x
11056 ((top)
11057 #(ribcage #(_ e) #((top) (top)) #("i" "i"))
11058 #(ribcage () () ())
11059 #(ribcage #(x) #((top)) #("i")))
11060 (hygiene guile)))
11061 (list '#(syntax-object
11062 syntax-case
11063 ((top)
11064 #(ribcage
11065 #(_ e)
11066 #((top) (top))
11067 #("i" "i"))
11068 #(ribcage () () ())
11069 #(ribcage #(x) #((top)) #("i")))
11070 (hygiene guile))
11071 '#(syntax-object
11072 x
11073 ((top)
11074 #(ribcage
11075 #(_ e)
11076 #((top) (top))
11077 #("i" "i"))
11078 #(ribcage () () ())
11079 #(ribcage #(x) #((top)) #("i")))
11080 (hygiene guile))
11081 '()
11082 (list '#(syntax-object
11083 id
11084 ((top)
11085 #(ribcage
11086 #(_ e)
11087 #((top) (top))
11088 #("i" "i"))
11089 #(ribcage () () ())
11090 #(ribcage #(x) #((top)) #("i")))
11091 (hygiene guile))
11092 '(#(syntax-object
11093 identifier?
11094 ((top)
11095 #(ribcage
11096 #(_ e)
11097 #((top) (top))
11098 #("i" "i"))
11099 #(ribcage () () ())
11100 #(ribcage #(x) #((top)) #("i")))
11101 (hygiene guile))
11102 (#(syntax-object
11103 syntax
11104 ((top)
11105 #(ribcage
11106 #(_ e)
11107 #((top) (top))
11108 #("i" "i"))
11109 #(ribcage () () ())
11110 #(ribcage #(x) #((top)) #("i")))
11111 (hygiene guile))
11112 #(syntax-object
11113 id
11114 ((top)
11115 #(ribcage
11116 #(_ e)
11117 #((top) (top))
11118 #("i" "i"))
11119 #(ribcage () () ())
11120 #(ribcage #(x) #((top)) #("i")))
11121 (hygiene guile))))
11122 (list '#(syntax-object
11123 syntax
11124 ((top)
11125 #(ribcage
11126 #(_ e)
11127 #((top) (top))
11128 #("i" "i"))
11129 #(ribcage () () ())
11130 #(ribcage
11131 #(x)
11132 #((top))
11133 #("i")))
11134 (hygiene guile))
11135 e1581))
11136 (list (cons _1580
11137 '(#(syntax-object
11138 x
11139 ((top)
11140 #(ribcage
11141 #(_ e)
11142 #((top) (top))
11143 #("i" "i"))
11144 #(ribcage () () ())
11145 #(ribcage
11146 #(x)
11147 #((top))
11148 #("i")))
11149 (hygiene guile))
11150 #(syntax-object
11151 ...
11152 ((top)
11153 #(ribcage
11154 #(_ e)
11155 #((top) (top))
11156 #("i" "i"))
11157 #(ribcage () () ())
11158 #(ribcage
11159 #(x)
11160 #((top))
11161 #("i")))
11162 (hygiene guile))))
11163 (list '#(syntax-object
11164 syntax
11165 ((top)
11166 #(ribcage
11167 #(_ e)
11168 #((top) (top))
11169 #("i" "i"))
11170 #(ribcage () () ())
11171 #(ribcage
11172 #(x)
11173 #((top))
11174 #("i")))
11175 (hygiene guile))
11176 (cons e1581
11177 '(#(syntax-object
11178 x
11179 ((top)
11180 #(ribcage
11181 #(_ e)
11182 #((top) (top))
11183 #("i" "i"))
11184 #(ribcage () () ())
11185 #(ribcage
11186 #(x)
11187 #((top))
11188 #("i")))
11189 (hygiene guile))
11190 #(syntax-object
11191 ...
11192 ((top)
11193 #(ribcage
11194 #(_ e)
11195 #((top) (top))
11196 #("i" "i"))
11197 #(ribcage () () ())
11198 #(ribcage
11199 #(x)
11200 #((top))
11201 #("i")))
11202 (hygiene
11203 guile)))))))))
11204 tmp1579)
11205 (syntax-violation
11206 #f
11207 "source expression failed to match any pattern"
11208 tmp1578)))
11209 ($sc-dispatch tmp1578 (quote (any any)))))
11210 x1577))))
11211