e2a3d60e3fed1065e1f4f0a94770bcd4e1e7377c
[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*2378
5 (lambda (f2418 first2417 . rest2416)
6 (let ((t2419 (null? first2417)))
7 (if t2419
8 t2419
9 (if (null? rest2416)
10 (letrec ((andmap2420
11 (lambda (first2421)
12 (let ((x2422 (car first2421))
13 (first2423 (cdr first2421)))
14 (if (null? first2423)
15 (f2418 x2422)
16 (if (f2418 x2422)
17 (andmap2420 first2423)
18 #f))))))
19 (andmap2420 first2417))
20 (letrec ((andmap2424
21 (lambda (first2425 rest2426)
22 (let ((x2427 (car first2425))
23 (xr2428 (map car rest2426))
24 (first2429 (cdr first2425))
25 (rest2430 (map cdr rest2426)))
26 (if (null? first2429)
27 (apply f2418 (cons x2427 xr2428))
28 (if (apply f2418 (cons x2427 xr2428))
29 (andmap2424 first2429 rest2430)
30 #f))))))
31 (andmap2424 first2417 rest2416))))))))
32 (letrec ((lambda-var-list2524
33 (lambda (vars2648)
34 (letrec ((lvl2649
35 (lambda (vars2650 ls2651 w2652)
36 (if (pair? vars2650)
37 (lvl2649
38 (cdr vars2650)
39 (cons (wrap2504 (car vars2650) w2652 #f)
40 ls2651)
41 w2652)
42 (if (id?2476 vars2650)
43 (cons (wrap2504 vars2650 w2652 #f) ls2651)
44 (if (null? vars2650)
45 ls2651
46 (if (syntax-object?2460 vars2650)
47 (lvl2649
48 (syntax-object-expression2461 vars2650)
49 ls2651
50 (join-wraps2495
51 w2652
52 (syntax-object-wrap2462 vars2650)))
53 (cons vars2650 ls2651))))))))
54 (lvl2649 vars2648 (quote ()) (quote (()))))))
55 (gen-var2523
56 (lambda (id2653)
57 (let ((id2654
58 (if (syntax-object?2460 id2653)
59 (syntax-object-expression2461 id2653)
60 id2653)))
61 (gensym (symbol->string id2654)))))
62 (strip2522
63 (lambda (x2655 w2656)
64 (if (memq (quote top) (wrap-marks2479 w2656))
65 x2655
66 (letrec ((f2657 (lambda (x2658)
67 (if (syntax-object?2460 x2658)
68 (strip2522
69 (syntax-object-expression2461 x2658)
70 (syntax-object-wrap2462 x2658))
71 (if (pair? x2658)
72 (let ((a2659 (f2657 (car x2658)))
73 (d2660 (f2657 (cdr x2658))))
74 (if (if (eq? a2659 (car x2658))
75 (eq? d2660 (cdr x2658))
76 #f)
77 x2658
78 (cons a2659 d2660)))
79 (if (vector? x2658)
80 (let ((old2661 (vector->list x2658)))
81 (let ((new2662 (map f2657 old2661)))
82 (if (and-map*2378
83 eq?
84 old2661
85 new2662)
86 x2658
87 (list->vector new2662))))
88 x2658))))))
89 (f2657 x2655)))))
90 (ellipsis?2521
91 (lambda (x2663)
92 (if (nonsymbol-id?2475 x2663)
93 (free-id=?2499
94 x2663
95 '#(syntax-object
96 ...
97 ((top)
98 #(ribcage () () ())
99 #(ribcage () () ())
100 #(ribcage #(x) #((top)) #("i"))
101 #(ribcage
102 (lambda-var-list
103 gen-var
104 strip
105 ellipsis?
106 chi-void
107 eval-local-transformer
108 chi-local-syntax
109 chi-lambda-clause
110 chi-body
111 chi-macro
112 chi-application
113 chi-expr
114 chi
115 chi-top
116 syntax-type
117 chi-when-list
118 chi-install-global
119 chi-top-sequence
120 chi-sequence
121 source-wrap
122 wrap
123 bound-id-member?
124 distinct-bound-ids?
125 valid-bound-ids?
126 bound-id=?
127 free-id=?
128 id-var-name
129 same-marks?
130 join-marks
131 join-wraps
132 smart-append
133 make-binding-wrap
134 extend-ribcage!
135 make-empty-ribcage
136 new-mark
137 anti-mark
138 the-anti-mark
139 top-marked?
140 top-wrap
141 empty-wrap
142 set-ribcage-labels!
143 set-ribcage-marks!
144 set-ribcage-symnames!
145 ribcage-labels
146 ribcage-marks
147 ribcage-symnames
148 ribcage?
149 make-ribcage
150 gen-labels
151 gen-label
152 make-rename
153 rename-marks
154 rename-new
155 rename-old
156 subst-rename?
157 wrap-subst
158 wrap-marks
159 make-wrap
160 id-sym-name&marks
161 id-sym-name
162 id?
163 nonsymbol-id?
164 global-extend
165 lookup
166 macros-only-env
167 extend-var-env
168 extend-env
169 null-env
170 binding-value
171 binding-type
172 make-binding
173 arg-check
174 source-annotation
175 no-source
176 set-syntax-object-module!
177 set-syntax-object-wrap!
178 set-syntax-object-expression!
179 syntax-object-module
180 syntax-object-wrap
181 syntax-object-expression
182 syntax-object?
183 make-syntax-object
184 build-lexical-var
185 build-letrec
186 build-named-let
187 build-let
188 build-sequence
189 build-data
190 build-primref
191 build-lambda
192 build-global-definition
193 maybe-name-value!
194 build-global-assignment
195 build-global-reference
196 analyze-variable
197 build-lexical-assignment
198 build-lexical-reference
199 build-conditional
200 build-application
201 build-void
202 decorate-source
203 get-global-definition-hook
204 put-global-definition-hook
205 gensym-hook
206 local-eval-hook
207 top-level-eval-hook
208 fx<
209 fx=
210 fx-
211 fx+
212 *mode*
213 noexpand)
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 (top)
318 (top)
319 (top)
320 (top)
321 (top)
322 (top)
323 (top)
324 (top)
325 (top))
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 "i"
429 "i"
430 "i"
431 "i"
432 "i"
433 "i"
434 "i"
435 "i"
436 "i"
437 "i"))
438 #(ribcage
439 (define-structure and-map*)
440 ((top) (top))
441 ("i" "i")))
442 (hygiene guile)))
443 #f)))
444 (chi-void2520 (lambda () (build-void2442 #f)))
445 (eval-local-transformer2519
446 (lambda (expanded2664 mod2665)
447 (let ((p2666 (local-eval-hook2438 expanded2664 mod2665)))
448 (if (procedure? p2666)
449 p2666
450 (syntax-violation
451 #f
452 "nonprocedure transformer"
453 p2666)))))
454 (chi-local-syntax2518
455 (lambda (rec?2667 e2668 r2669 w2670 s2671 mod2672 k2673)
456 ((lambda (tmp2674)
457 ((lambda (tmp2675)
458 (if tmp2675
459 (apply (lambda (_2676 id2677 val2678 e12679 e22680)
460 (let ((ids2681 id2677))
461 (if (not (valid-bound-ids?2501 ids2681))
462 (syntax-violation
463 #f
464 "duplicate bound keyword"
465 e2668)
466 (let ((labels2683
467 (gen-labels2482 ids2681)))
468 (let ((new-w2684
469 (make-binding-wrap2493
470 ids2681
471 labels2683
472 w2670)))
473 (k2673 (cons e12679 e22680)
474 (extend-env2470
475 labels2683
476 (let ((w2686 (if rec?2667
477 new-w2684
478 w2670))
479 (trans-r2687
480 (macros-only-env2472
481 r2669)))
482 (map (lambda (x2688)
483 (cons 'macro
484 (eval-local-transformer2519
485 (chi2512
486 x2688
487 trans-r2687
488 w2686
489 mod2672)
490 mod2672)))
491 val2678))
492 r2669)
493 new-w2684
494 s2671
495 mod2672))))))
496 tmp2675)
497 ((lambda (_2690)
498 (syntax-violation
499 #f
500 "bad local syntax definition"
501 (source-wrap2505 e2668 w2670 s2671 mod2672)))
502 tmp2674)))
503 ($sc-dispatch
504 tmp2674
505 '(any #(each (any any)) any . each-any))))
506 e2668)))
507 (chi-lambda-clause2517
508 (lambda (e2691
509 docstring2692
510 c2693
511 r2694
512 w2695
513 mod2696
514 k2697)
515 ((lambda (tmp2698)
516 ((lambda (tmp2699)
517 (if (if tmp2699
518 (apply (lambda (args2700 doc2701 e12702 e22703)
519 (if (string? (syntax->datum doc2701))
520 (not docstring2692)
521 #f))
522 tmp2699)
523 #f)
524 (apply (lambda (args2704 doc2705 e12706 e22707)
525 (chi-lambda-clause2517
526 e2691
527 doc2705
528 (cons args2704 (cons e12706 e22707))
529 r2694
530 w2695
531 mod2696
532 k2697))
533 tmp2699)
534 ((lambda (tmp2709)
535 (if tmp2709
536 (apply (lambda (id2710 e12711 e22712)
537 (let ((ids2713 id2710))
538 (if (not (valid-bound-ids?2501 ids2713))
539 (syntax-violation
540 'lambda
541 "invalid parameter list"
542 e2691)
543 (let ((labels2715
544 (gen-labels2482 ids2713))
545 (new-vars2716
546 (map gen-var2523 ids2713)))
547 (k2697 (map syntax->datum ids2713)
548 new-vars2716
549 (if docstring2692
550 (syntax->datum
551 docstring2692)
552 #f)
553 (chi-body2516
554 (cons e12711 e22712)
555 e2691
556 (extend-var-env2471
557 labels2715
558 new-vars2716
559 r2694)
560 (make-binding-wrap2493
561 ids2713
562 labels2715
563 w2695)
564 mod2696))))))
565 tmp2709)
566 ((lambda (tmp2718)
567 (if tmp2718
568 (apply (lambda (ids2719 e12720 e22721)
569 (let ((old-ids2722
570 (lambda-var-list2524
571 ids2719)))
572 (if (not (valid-bound-ids?2501
573 old-ids2722))
574 (syntax-violation
575 'lambda
576 "invalid parameter list"
577 e2691)
578 (let ((labels2723
579 (gen-labels2482
580 old-ids2722))
581 (new-vars2724
582 (map gen-var2523
583 old-ids2722)))
584 (k2697 (letrec ((f2725 (lambda (ls12726
585 ls22727)
586 (if (null? ls12726)
587 (syntax->datum
588 ls22727)
589 (f2725 (cdr ls12726)
590 (cons (syntax->datum
591 (car ls12726))
592 ls22727))))))
593 (f2725 (cdr old-ids2722)
594 (car old-ids2722)))
595 (letrec ((f2728 (lambda (ls12729
596 ls22730)
597 (if (null? ls12729)
598 ls22730
599 (f2728 (cdr ls12729)
600 (cons (car ls12729)
601 ls22730))))))
602 (f2728 (cdr new-vars2724)
603 (car new-vars2724)))
604 (if docstring2692
605 (syntax->datum
606 docstring2692)
607 #f)
608 (chi-body2516
609 (cons e12720 e22721)
610 e2691
611 (extend-var-env2471
612 labels2723
613 new-vars2724
614 r2694)
615 (make-binding-wrap2493
616 old-ids2722
617 labels2723
618 w2695)
619 mod2696))))))
620 tmp2718)
621 ((lambda (_2732)
622 (syntax-violation
623 'lambda
624 "bad lambda"
625 e2691))
626 tmp2698)))
627 ($sc-dispatch
628 tmp2698
629 '(any any . each-any)))))
630 ($sc-dispatch
631 tmp2698
632 '(each-any any . each-any)))))
633 ($sc-dispatch
634 tmp2698
635 '(any any any . each-any))))
636 c2693)))
637 (chi-body2516
638 (lambda (body2733 outer-form2734 r2735 w2736 mod2737)
639 (let ((r2738 (cons (quote ("placeholder" placeholder)) r2735)))
640 (let ((ribcage2739
641 (make-ribcage2483
642 '()
643 '()
644 '())))
645 (let ((w2740 (make-wrap2478
646 (wrap-marks2479 w2736)
647 (cons ribcage2739 (wrap-subst2480 w2736)))))
648 (letrec ((parse2741
649 (lambda (body2742
650 ids2743
651 labels2744
652 var-ids2745
653 vars2746
654 vals2747
655 bindings2748)
656 (if (null? body2742)
657 (syntax-violation
658 #f
659 "no expressions in body"
660 outer-form2734)
661 (let ((e2750 (cdar body2742))
662 (er2751 (caar body2742)))
663 (call-with-values
664 (lambda ()
665 (syntax-type2510
666 e2750
667 er2751
668 '(())
669 (source-annotation2467 er2751)
670 ribcage2739
671 mod2737
672 #f))
673 (lambda (type2752
674 value2753
675 e2754
676 w2755
677 s2756
678 mod2757)
679 (if (memv type2752
680 '(define-form))
681 (let ((id2758
682 (wrap2504
683 value2753
684 w2755
685 mod2757))
686 (label2759 (gen-label2481)))
687 (let ((var2760
688 (gen-var2523 id2758)))
689 (begin
690 (extend-ribcage!2492
691 ribcage2739
692 id2758
693 label2759)
694 (parse2741
695 (cdr body2742)
696 (cons id2758 ids2743)
697 (cons label2759 labels2744)
698 (cons id2758 var-ids2745)
699 (cons var2760 vars2746)
700 (cons (cons er2751
701 (wrap2504
702 e2754
703 w2755
704 mod2757))
705 vals2747)
706 (cons (cons 'lexical
707 var2760)
708 bindings2748)))))
709 (if (memv type2752
710 '(define-syntax-form))
711 (let ((id2761
712 (wrap2504
713 value2753
714 w2755
715 mod2757))
716 (label2762
717 (gen-label2481)))
718 (begin
719 (extend-ribcage!2492
720 ribcage2739
721 id2761
722 label2762)
723 (parse2741
724 (cdr body2742)
725 (cons id2761 ids2743)
726 (cons label2762 labels2744)
727 var-ids2745
728 vars2746
729 vals2747
730 (cons (cons 'macro
731 (cons er2751
732 (wrap2504
733 e2754
734 w2755
735 mod2757)))
736 bindings2748))))
737 (if (memv type2752
738 '(begin-form))
739 ((lambda (tmp2763)
740 ((lambda (tmp2764)
741 (if tmp2764
742 (apply (lambda (_2765
743 e12766)
744 (parse2741
745 (letrec ((f2767 (lambda (forms2768)
746 (if (null? forms2768)
747 (cdr body2742)
748 (cons (cons er2751
749 (wrap2504
750 (car forms2768)
751 w2755
752 mod2757))
753 (f2767 (cdr forms2768)))))))
754 (f2767 e12766))
755 ids2743
756 labels2744
757 var-ids2745
758 vars2746
759 vals2747
760 bindings2748))
761 tmp2764)
762 (syntax-violation
763 #f
764 "source expression failed to match any pattern"
765 tmp2763)))
766 ($sc-dispatch
767 tmp2763
768 '(any . each-any))))
769 e2754)
770 (if (memv type2752
771 '(local-syntax-form))
772 (chi-local-syntax2518
773 value2753
774 e2754
775 er2751
776 w2755
777 s2756
778 mod2757
779 (lambda (forms2770
780 er2771
781 w2772
782 s2773
783 mod2774)
784 (parse2741
785 (letrec ((f2775 (lambda (forms2776)
786 (if (null? forms2776)
787 (cdr body2742)
788 (cons (cons er2771
789 (wrap2504
790 (car forms2776)
791 w2772
792 mod2774))
793 (f2775 (cdr forms2776)))))))
794 (f2775 forms2770))
795 ids2743
796 labels2744
797 var-ids2745
798 vars2746
799 vals2747
800 bindings2748)))
801 (if (null? ids2743)
802 (build-sequence2455
803 #f
804 (map (lambda (x2777)
805 (chi2512
806 (cdr x2777)
807 (car x2777)
808 '(())
809 mod2757))
810 (cons (cons er2751
811 (source-wrap2505
812 e2754
813 w2755
814 s2756
815 mod2757))
816 (cdr body2742))))
817 (begin
818 (if (not (valid-bound-ids?2501
819 ids2743))
820 (syntax-violation
821 #f
822 "invalid or duplicate identifier in definition"
823 outer-form2734))
824 (letrec ((loop2778
825 (lambda (bs2779
826 er-cache2780
827 r-cache2781)
828 (if (not (null? bs2779))
829 (let ((b2782 (car bs2779)))
830 (if (eq? (car b2782)
831 'macro)
832 (let ((er2783
833 (cadr b2782)))
834 (let ((r-cache2784
835 (if (eq? er2783
836 er-cache2780)
837 r-cache2781
838 (macros-only-env2472
839 er2783))))
840 (begin
841 (set-cdr!
842 b2782
843 (eval-local-transformer2519
844 (chi2512
845 (cddr b2782)
846 r-cache2784
847 '(())
848 mod2757)
849 mod2757))
850 (loop2778
851 (cdr bs2779)
852 er2783
853 r-cache2784))))
854 (loop2778
855 (cdr bs2779)
856 er-cache2780
857 r-cache2781)))))))
858 (loop2778
859 bindings2748
860 #f
861 #f))
862 (set-cdr!
863 r2738
864 (extend-env2470
865 labels2744
866 bindings2748
867 (cdr r2738)))
868 (build-letrec2458
869 #f
870 (map syntax->datum
871 var-ids2745)
872 vars2746
873 (map (lambda (x2785)
874 (chi2512
875 (cdr x2785)
876 (car x2785)
877 '(())
878 mod2757))
879 vals2747)
880 (build-sequence2455
881 #f
882 (map (lambda (x2786)
883 (chi2512
884 (cdr x2786)
885 (car x2786)
886 '(())
887 mod2757))
888 (cons (cons er2751
889 (source-wrap2505
890 e2754
891 w2755
892 s2756
893 mod2757))
894 (cdr body2742))))))))))))))))))
895 (parse2741
896 (map (lambda (x2749)
897 (cons r2738 (wrap2504 x2749 w2740 mod2737)))
898 body2733)
899 '()
900 '()
901 '()
902 '()
903 '()
904 '())))))))
905 (chi-macro2515
906 (lambda (p2787 e2788 r2789 w2790 rib2791 mod2792)
907 (letrec ((rebuild-macro-output2793
908 (lambda (x2794 m2795)
909 (if (pair? x2794)
910 (cons (rebuild-macro-output2793
911 (car x2794)
912 m2795)
913 (rebuild-macro-output2793
914 (cdr x2794)
915 m2795))
916 (if (syntax-object?2460 x2794)
917 (let ((w2796 (syntax-object-wrap2462 x2794)))
918 (let ((ms2797 (wrap-marks2479 w2796))
919 (s2798 (wrap-subst2480 w2796)))
920 (if (if (pair? ms2797)
921 (eq? (car ms2797) #f)
922 #f)
923 (make-syntax-object2459
924 (syntax-object-expression2461 x2794)
925 (make-wrap2478
926 (cdr ms2797)
927 (if rib2791
928 (cons rib2791 (cdr s2798))
929 (cdr s2798)))
930 (syntax-object-module2463 x2794))
931 (make-syntax-object2459
932 (syntax-object-expression2461 x2794)
933 (make-wrap2478
934 (cons m2795 ms2797)
935 (if rib2791
936 (cons rib2791
937 (cons (quote shift) s2798))
938 (cons (quote shift) s2798)))
939 (let ((pmod2799
940 (procedure-module p2787)))
941 (if pmod2799
942 (cons 'hygiene
943 (module-name pmod2799))
944 '(hygiene guile)))))))
945 (if (vector? x2794)
946 (let ((n2800 (vector-length x2794)))
947 (let ((v2801 (make-vector n2800)))
948 (letrec ((loop2802
949 (lambda (i2803)
950 (if (fx=2435 i2803 n2800)
951 (begin (if #f #f) v2801)
952 (begin
953 (vector-set!
954 v2801
955 i2803
956 (rebuild-macro-output2793
957 (vector-ref
958 x2794
959 i2803)
960 m2795))
961 (loop2802
962 (fx+2433
963 i2803
964 1)))))))
965 (loop2802 0))))
966 (if (symbol? x2794)
967 (syntax-violation
968 #f
969 "encountered raw symbol in macro output"
970 (source-wrap2505 e2788 w2790 s mod2792)
971 x2794)
972 x2794)))))))
973 (rebuild-macro-output2793
974 (p2787 (wrap2504 e2788 (anti-mark2491 w2790) mod2792))
975 (string #\m)))))
976 (chi-application2514
977 (lambda (x2804 e2805 r2806 w2807 s2808 mod2809)
978 ((lambda (tmp2810)
979 ((lambda (tmp2811)
980 (if tmp2811
981 (apply (lambda (e02812 e12813)
982 (build-application2443
983 s2808
984 x2804
985 (map (lambda (e2814)
986 (chi2512 e2814 r2806 w2807 mod2809))
987 e12813)))
988 tmp2811)
989 (syntax-violation
990 #f
991 "source expression failed to match any pattern"
992 tmp2810)))
993 ($sc-dispatch tmp2810 (quote (any . each-any)))))
994 e2805)))
995 (chi-expr2513
996 (lambda (type2816
997 value2817
998 e2818
999 r2819
1000 w2820
1001 s2821
1002 mod2822)
1003 (if (memv type2816 (quote (lexical)))
1004 (build-lexical-reference2445
1005 'value
1006 s2821
1007 e2818
1008 value2817)
1009 (if (memv type2816 (quote (core core-form)))
1010 (value2817 e2818 r2819 w2820 s2821 mod2822)
1011 (if (memv type2816 (quote (module-ref)))
1012 (call-with-values
1013 (lambda () (value2817 e2818))
1014 (lambda (id2823 mod2824)
1015 (build-global-reference2448 s2821 id2823 mod2824)))
1016 (if (memv type2816 (quote (lexical-call)))
1017 (chi-application2514
1018 (build-lexical-reference2445
1019 'fun
1020 (source-annotation2467 (car e2818))
1021 (car e2818)
1022 value2817)
1023 e2818
1024 r2819
1025 w2820
1026 s2821
1027 mod2822)
1028 (if (memv type2816 (quote (global-call)))
1029 (chi-application2514
1030 (build-global-reference2448
1031 (source-annotation2467 (car e2818))
1032 (if (syntax-object?2460 value2817)
1033 (syntax-object-expression2461 value2817)
1034 value2817)
1035 (if (syntax-object?2460 value2817)
1036 (syntax-object-module2463 value2817)
1037 mod2822))
1038 e2818
1039 r2819
1040 w2820
1041 s2821
1042 mod2822)
1043 (if (memv type2816 (quote (constant)))
1044 (build-data2454
1045 s2821
1046 (strip2522
1047 (source-wrap2505 e2818 w2820 s2821 mod2822)
1048 '(())))
1049 (if (memv type2816 (quote (global)))
1050 (build-global-reference2448
1051 s2821
1052 value2817
1053 mod2822)
1054 (if (memv type2816 (quote (call)))
1055 (chi-application2514
1056 (chi2512 (car e2818) r2819 w2820 mod2822)
1057 e2818
1058 r2819
1059 w2820
1060 s2821
1061 mod2822)
1062 (if (memv type2816 (quote (begin-form)))
1063 ((lambda (tmp2825)
1064 ((lambda (tmp2826)
1065 (if tmp2826
1066 (apply (lambda (_2827 e12828 e22829)
1067 (chi-sequence2506
1068 (cons e12828 e22829)
1069 r2819
1070 w2820
1071 s2821
1072 mod2822))
1073 tmp2826)
1074 (syntax-violation
1075 #f
1076 "source expression failed to match any pattern"
1077 tmp2825)))
1078 ($sc-dispatch
1079 tmp2825
1080 '(any any . each-any))))
1081 e2818)
1082 (if (memv type2816
1083 '(local-syntax-form))
1084 (chi-local-syntax2518
1085 value2817
1086 e2818
1087 r2819
1088 w2820
1089 s2821
1090 mod2822
1091 chi-sequence2506)
1092 (if (memv type2816 (quote (eval-when-form)))
1093 ((lambda (tmp2831)
1094 ((lambda (tmp2832)
1095 (if tmp2832
1096 (apply (lambda (_2833
1097 x2834
1098 e12835
1099 e22836)
1100 (let ((when-list2837
1101 (chi-when-list2509
1102 e2818
1103 x2834
1104 w2820)))
1105 (if (memq 'eval
1106 when-list2837)
1107 (chi-sequence2506
1108 (cons e12835
1109 e22836)
1110 r2819
1111 w2820
1112 s2821
1113 mod2822)
1114 (chi-void2520))))
1115 tmp2832)
1116 (syntax-violation
1117 #f
1118 "source expression failed to match any pattern"
1119 tmp2831)))
1120 ($sc-dispatch
1121 tmp2831
1122 '(any each-any any . each-any))))
1123 e2818)
1124 (if (memv type2816
1125 '(define-form
1126 define-syntax-form))
1127 (syntax-violation
1128 #f
1129 "definition in expression context"
1130 e2818
1131 (wrap2504 value2817 w2820 mod2822))
1132 (if (memv type2816 (quote (syntax)))
1133 (syntax-violation
1134 #f
1135 "reference to pattern variable outside syntax form"
1136 (source-wrap2505
1137 e2818
1138 w2820
1139 s2821
1140 mod2822))
1141 (if (memv type2816
1142 '(displaced-lexical))
1143 (syntax-violation
1144 #f
1145 "reference to identifier outside its scope"
1146 (source-wrap2505
1147 e2818
1148 w2820
1149 s2821
1150 mod2822))
1151 (syntax-violation
1152 #f
1153 "unexpected syntax"
1154 (source-wrap2505
1155 e2818
1156 w2820
1157 s2821
1158 mod2822))))))))))))))))))
1159 (chi2512
1160 (lambda (e2840 r2841 w2842 mod2843)
1161 (call-with-values
1162 (lambda ()
1163 (syntax-type2510
1164 e2840
1165 r2841
1166 w2842
1167 (source-annotation2467 e2840)
1168 #f
1169 mod2843
1170 #f))
1171 (lambda (type2844 value2845 e2846 w2847 s2848 mod2849)
1172 (chi-expr2513
1173 type2844
1174 value2845
1175 e2846
1176 r2841
1177 w2847
1178 s2848
1179 mod2849)))))
1180 (chi-top2511
1181 (lambda (e2850 r2851 w2852 m2853 esew2854 mod2855)
1182 (call-with-values
1183 (lambda ()
1184 (syntax-type2510
1185 e2850
1186 r2851
1187 w2852
1188 (source-annotation2467 e2850)
1189 #f
1190 mod2855
1191 #f))
1192 (lambda (type2863 value2864 e2865 w2866 s2867 mod2868)
1193 (if (memv type2863 (quote (begin-form)))
1194 ((lambda (tmp2869)
1195 ((lambda (tmp2870)
1196 (if tmp2870
1197 (apply (lambda (_2871) (chi-void2520)) tmp2870)
1198 ((lambda (tmp2872)
1199 (if tmp2872
1200 (apply (lambda (_2873 e12874 e22875)
1201 (chi-top-sequence2507
1202 (cons e12874 e22875)
1203 r2851
1204 w2866
1205 s2867
1206 m2853
1207 esew2854
1208 mod2868))
1209 tmp2872)
1210 (syntax-violation
1211 #f
1212 "source expression failed to match any pattern"
1213 tmp2869)))
1214 ($sc-dispatch
1215 tmp2869
1216 '(any any . each-any)))))
1217 ($sc-dispatch tmp2869 (quote (any)))))
1218 e2865)
1219 (if (memv type2863 (quote (local-syntax-form)))
1220 (chi-local-syntax2518
1221 value2864
1222 e2865
1223 r2851
1224 w2866
1225 s2867
1226 mod2868
1227 (lambda (body2877 r2878 w2879 s2880 mod2881)
1228 (chi-top-sequence2507
1229 body2877
1230 r2878
1231 w2879
1232 s2880
1233 m2853
1234 esew2854
1235 mod2881)))
1236 (if (memv type2863 (quote (eval-when-form)))
1237 ((lambda (tmp2882)
1238 ((lambda (tmp2883)
1239 (if tmp2883
1240 (apply (lambda (_2884 x2885 e12886 e22887)
1241 (let ((when-list2888
1242 (chi-when-list2509
1243 e2865
1244 x2885
1245 w2866))
1246 (body2889
1247 (cons e12886 e22887)))
1248 (if (eq? m2853 (quote e))
1249 (if (memq 'eval
1250 when-list2888)
1251 (chi-top-sequence2507
1252 body2889
1253 r2851
1254 w2866
1255 s2867
1256 'e
1257 '(eval)
1258 mod2868)
1259 (chi-void2520))
1260 (if (memq 'load
1261 when-list2888)
1262 (if (let ((t2892 (memq 'compile
1263 when-list2888)))
1264 (if t2892
1265 t2892
1266 (if (eq? m2853
1267 'c&e)
1268 (memq 'eval
1269 when-list2888)
1270 #f)))
1271 (chi-top-sequence2507
1272 body2889
1273 r2851
1274 w2866
1275 s2867
1276 'c&e
1277 '(compile load)
1278 mod2868)
1279 (if (memq m2853
1280 '(c c&e))
1281 (chi-top-sequence2507
1282 body2889
1283 r2851
1284 w2866
1285 s2867
1286 'c
1287 '(load)
1288 mod2868)
1289 (chi-void2520)))
1290 (if (let ((t2893 (memq 'compile
1291 when-list2888)))
1292 (if t2893
1293 t2893
1294 (if (eq? m2853
1295 'c&e)
1296 (memq 'eval
1297 when-list2888)
1298 #f)))
1299 (begin
1300 (top-level-eval-hook2437
1301 (chi-top-sequence2507
1302 body2889
1303 r2851
1304 w2866
1305 s2867
1306 'e
1307 '(eval)
1308 mod2868)
1309 mod2868)
1310 (chi-void2520))
1311 (chi-void2520))))))
1312 tmp2883)
1313 (syntax-violation
1314 #f
1315 "source expression failed to match any pattern"
1316 tmp2882)))
1317 ($sc-dispatch
1318 tmp2882
1319 '(any each-any any . each-any))))
1320 e2865)
1321 (if (memv type2863 (quote (define-syntax-form)))
1322 (let ((n2894 (id-var-name2498 value2864 w2866))
1323 (r2895 (macros-only-env2472 r2851)))
1324 (if (memv m2853 (quote (c)))
1325 (if (memq (quote compile) esew2854)
1326 (let ((e2896 (chi-install-global2508
1327 n2894
1328 (chi2512
1329 e2865
1330 r2895
1331 w2866
1332 mod2868))))
1333 (begin
1334 (top-level-eval-hook2437 e2896 mod2868)
1335 (if (memq (quote load) esew2854)
1336 e2896
1337 (chi-void2520))))
1338 (if (memq (quote load) esew2854)
1339 (chi-install-global2508
1340 n2894
1341 (chi2512 e2865 r2895 w2866 mod2868))
1342 (chi-void2520)))
1343 (if (memv m2853 (quote (c&e)))
1344 (let ((e2897 (chi-install-global2508
1345 n2894
1346 (chi2512
1347 e2865
1348 r2895
1349 w2866
1350 mod2868))))
1351 (begin
1352 (top-level-eval-hook2437 e2897 mod2868)
1353 e2897))
1354 (begin
1355 (if (memq (quote eval) esew2854)
1356 (top-level-eval-hook2437
1357 (chi-install-global2508
1358 n2894
1359 (chi2512 e2865 r2895 w2866 mod2868))
1360 mod2868))
1361 (chi-void2520)))))
1362 (if (memv type2863 (quote (define-form)))
1363 (let ((n2898 (id-var-name2498 value2864 w2866)))
1364 (let ((type2899
1365 (binding-type2468
1366 (lookup2473 n2898 r2851 mod2868))))
1367 (if (memv type2899
1368 '(global core macro module-ref))
1369 (begin
1370 (if (if (not (module-local-variable
1371 (current-module)
1372 n2898))
1373 (current-module)
1374 #f)
1375 (module-define!
1376 (current-module)
1377 n2898
1378 #f))
1379 (let ((x2900 (build-global-definition2451
1380 s2867
1381 n2898
1382 (chi2512
1383 e2865
1384 r2851
1385 w2866
1386 mod2868))))
1387 (begin
1388 (if (eq? m2853 (quote c&e))
1389 (top-level-eval-hook2437
1390 x2900
1391 mod2868))
1392 x2900)))
1393 (if (memv type2899
1394 '(displaced-lexical))
1395 (syntax-violation
1396 #f
1397 "identifier out of context"
1398 e2865
1399 (wrap2504 value2864 w2866 mod2868))
1400 (syntax-violation
1401 #f
1402 "cannot define keyword at top level"
1403 e2865
1404 (wrap2504 value2864 w2866 mod2868))))))
1405 (let ((x2901 (chi-expr2513
1406 type2863
1407 value2864
1408 e2865
1409 r2851
1410 w2866
1411 s2867
1412 mod2868)))
1413 (begin
1414 (if (eq? m2853 (quote c&e))
1415 (top-level-eval-hook2437 x2901 mod2868))
1416 x2901)))))))))))
1417 (syntax-type2510
1418 (lambda (e2902
1419 r2903
1420 w2904
1421 s2905
1422 rib2906
1423 mod2907
1424 for-car?2908)
1425 (if (symbol? e2902)
1426 (let ((n2909 (id-var-name2498 e2902 w2904)))
1427 (let ((b2910 (lookup2473 n2909 r2903 mod2907)))
1428 (let ((type2911 (binding-type2468 b2910)))
1429 (if (memv type2911 (quote (lexical)))
1430 (values
1431 type2911
1432 (binding-value2469 b2910)
1433 e2902
1434 w2904
1435 s2905
1436 mod2907)
1437 (if (memv type2911 (quote (global)))
1438 (values type2911 n2909 e2902 w2904 s2905 mod2907)
1439 (if (memv type2911 (quote (macro)))
1440 (if for-car?2908
1441 (values
1442 type2911
1443 (binding-value2469 b2910)
1444 e2902
1445 w2904
1446 s2905
1447 mod2907)
1448 (syntax-type2510
1449 (chi-macro2515
1450 (binding-value2469 b2910)
1451 e2902
1452 r2903
1453 w2904
1454 rib2906
1455 mod2907)
1456 r2903
1457 '(())
1458 s2905
1459 rib2906
1460 mod2907
1461 #f))
1462 (values
1463 type2911
1464 (binding-value2469 b2910)
1465 e2902
1466 w2904
1467 s2905
1468 mod2907)))))))
1469 (if (pair? e2902)
1470 (let ((first2912 (car e2902)))
1471 (call-with-values
1472 (lambda ()
1473 (syntax-type2510
1474 first2912
1475 r2903
1476 w2904
1477 s2905
1478 rib2906
1479 mod2907
1480 #t))
1481 (lambda (ftype2913
1482 fval2914
1483 fe2915
1484 fw2916
1485 fs2917
1486 fmod2918)
1487 (if (memv ftype2913 (quote (lexical)))
1488 (values
1489 'lexical-call
1490 fval2914
1491 e2902
1492 w2904
1493 s2905
1494 mod2907)
1495 (if (memv ftype2913 (quote (global)))
1496 (values
1497 'global-call
1498 (make-syntax-object2459 fval2914 w2904 fmod2918)
1499 e2902
1500 w2904
1501 s2905
1502 mod2907)
1503 (if (memv ftype2913 (quote (macro)))
1504 (syntax-type2510
1505 (chi-macro2515
1506 fval2914
1507 e2902
1508 r2903
1509 w2904
1510 rib2906
1511 mod2907)
1512 r2903
1513 '(())
1514 s2905
1515 rib2906
1516 mod2907
1517 for-car?2908)
1518 (if (memv ftype2913 (quote (module-ref)))
1519 (call-with-values
1520 (lambda () (fval2914 e2902))
1521 (lambda (sym2919 mod2920)
1522 (syntax-type2510
1523 sym2919
1524 r2903
1525 w2904
1526 s2905
1527 rib2906
1528 mod2920
1529 for-car?2908)))
1530 (if (memv ftype2913 (quote (core)))
1531 (values
1532 'core-form
1533 fval2914
1534 e2902
1535 w2904
1536 s2905
1537 mod2907)
1538 (if (memv ftype2913 (quote (local-syntax)))
1539 (values
1540 'local-syntax-form
1541 fval2914
1542 e2902
1543 w2904
1544 s2905
1545 mod2907)
1546 (if (memv ftype2913 (quote (begin)))
1547 (values
1548 'begin-form
1549 #f
1550 e2902
1551 w2904
1552 s2905
1553 mod2907)
1554 (if (memv ftype2913 (quote (eval-when)))
1555 (values
1556 'eval-when-form
1557 #f
1558 e2902
1559 w2904
1560 s2905
1561 mod2907)
1562 (if (memv ftype2913 (quote (define)))
1563 ((lambda (tmp2921)
1564 ((lambda (tmp2922)
1565 (if (if tmp2922
1566 (apply (lambda (_2923
1567 name2924
1568 val2925)
1569 (id?2476
1570 name2924))
1571 tmp2922)
1572 #f)
1573 (apply (lambda (_2926
1574 name2927
1575 val2928)
1576 (values
1577 'define-form
1578 name2927
1579 val2928
1580 w2904
1581 s2905
1582 mod2907))
1583 tmp2922)
1584 ((lambda (tmp2929)
1585 (if (if tmp2929
1586 (apply (lambda (_2930
1587 name2931
1588 args2932
1589 e12933
1590 e22934)
1591 (if (id?2476
1592 name2931)
1593 (valid-bound-ids?2501
1594 (lambda-var-list2524
1595 args2932))
1596 #f))
1597 tmp2929)
1598 #f)
1599 (apply (lambda (_2935
1600 name2936
1601 args2937
1602 e12938
1603 e22939)
1604 (values
1605 'define-form
1606 (wrap2504
1607 name2936
1608 w2904
1609 mod2907)
1610 (cons '#(syntax-object
1611 lambda
1612 ((top)
1613 #(ribcage
1614 #(_
1615 name
1616 args
1617 e1
1618 e2)
1619 #((top)
1620 (top)
1621 (top)
1622 (top)
1623 (top))
1624 #("i"
1625 "i"
1626 "i"
1627 "i"
1628 "i"))
1629 #(ribcage
1630 ()
1631 ()
1632 ())
1633 #(ribcage
1634 ()
1635 ()
1636 ())
1637 #(ribcage
1638 #(ftype
1639 fval
1640 fe
1641 fw
1642 fs
1643 fmod)
1644 #((top)
1645 (top)
1646 (top)
1647 (top)
1648 (top)
1649 (top))
1650 #("i"
1651 "i"
1652 "i"
1653 "i"
1654 "i"
1655 "i"))
1656 #(ribcage
1657 ()
1658 ()
1659 ())
1660 #(ribcage
1661 #(first)
1662 #((top))
1663 #("i"))
1664 #(ribcage
1665 ()
1666 ()
1667 ())
1668 #(ribcage
1669 ()
1670 ()
1671 ())
1672 #(ribcage
1673 ()
1674 ()
1675 ())
1676 #(ribcage
1677 #(e
1678 r
1679 w
1680 s
1681 rib
1682 mod
1683 for-car?)
1684 #((top)
1685 (top)
1686 (top)
1687 (top)
1688 (top)
1689 (top)
1690 (top))
1691 #("i"
1692 "i"
1693 "i"
1694 "i"
1695 "i"
1696 "i"
1697 "i"))
1698 #(ribcage
1699 (lambda-var-list
1700 gen-var
1701 strip
1702 ellipsis?
1703 chi-void
1704 eval-local-transformer
1705 chi-local-syntax
1706 chi-lambda-clause
1707 chi-body
1708 chi-macro
1709 chi-application
1710 chi-expr
1711 chi
1712 chi-top
1713 syntax-type
1714 chi-when-list
1715 chi-install-global
1716 chi-top-sequence
1717 chi-sequence
1718 source-wrap
1719 wrap
1720 bound-id-member?
1721 distinct-bound-ids?
1722 valid-bound-ids?
1723 bound-id=?
1724 free-id=?
1725 id-var-name
1726 same-marks?
1727 join-marks
1728 join-wraps
1729 smart-append
1730 make-binding-wrap
1731 extend-ribcage!
1732 make-empty-ribcage
1733 new-mark
1734 anti-mark
1735 the-anti-mark
1736 top-marked?
1737 top-wrap
1738 empty-wrap
1739 set-ribcage-labels!
1740 set-ribcage-marks!
1741 set-ribcage-symnames!
1742 ribcage-labels
1743 ribcage-marks
1744 ribcage-symnames
1745 ribcage?
1746 make-ribcage
1747 gen-labels
1748 gen-label
1749 make-rename
1750 rename-marks
1751 rename-new
1752 rename-old
1753 subst-rename?
1754 wrap-subst
1755 wrap-marks
1756 make-wrap
1757 id-sym-name&marks
1758 id-sym-name
1759 id?
1760 nonsymbol-id?
1761 global-extend
1762 lookup
1763 macros-only-env
1764 extend-var-env
1765 extend-env
1766 null-env
1767 binding-value
1768 binding-type
1769 make-binding
1770 arg-check
1771 source-annotation
1772 no-source
1773 set-syntax-object-module!
1774 set-syntax-object-wrap!
1775 set-syntax-object-expression!
1776 syntax-object-module
1777 syntax-object-wrap
1778 syntax-object-expression
1779 syntax-object?
1780 make-syntax-object
1781 build-lexical-var
1782 build-letrec
1783 build-named-let
1784 build-let
1785 build-sequence
1786 build-data
1787 build-primref
1788 build-lambda
1789 build-global-definition
1790 maybe-name-value!
1791 build-global-assignment
1792 build-global-reference
1793 analyze-variable
1794 build-lexical-assignment
1795 build-lexical-reference
1796 build-conditional
1797 build-application
1798 build-void
1799 decorate-source
1800 get-global-definition-hook
1801 put-global-definition-hook
1802 gensym-hook
1803 local-eval-hook
1804 top-level-eval-hook
1805 fx<
1806 fx=
1807 fx-
1808 fx+
1809 *mode*
1810 noexpand)
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 (top)
1868 (top)
1869 (top)
1870 (top)
1871 (top)
1872 (top)
1873 (top)
1874 (top)
1875 (top)
1876 (top)
1877 (top)
1878 (top)
1879 (top)
1880 (top)
1881 (top)
1882 (top)
1883 (top)
1884 (top)
1885 (top)
1886 (top)
1887 (top)
1888 (top)
1889 (top)
1890 (top)
1891 (top)
1892 (top)
1893 (top)
1894 (top)
1895 (top)
1896 (top)
1897 (top)
1898 (top)
1899 (top)
1900 (top)
1901 (top)
1902 (top)
1903 (top)
1904 (top)
1905 (top)
1906 (top)
1907 (top)
1908 (top)
1909 (top)
1910 (top)
1911 (top)
1912 (top)
1913 (top)
1914 (top)
1915 (top)
1916 (top)
1917 (top)
1918 (top)
1919 (top)
1920 (top)
1921 (top)
1922 (top))
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 "i"
1979 "i"
1980 "i"
1981 "i"
1982 "i"
1983 "i"
1984 "i"
1985 "i"
1986 "i"
1987 "i"
1988 "i"
1989 "i"
1990 "i"
1991 "i"
1992 "i"
1993 "i"
1994 "i"
1995 "i"
1996 "i"
1997 "i"
1998 "i"
1999 "i"
2000 "i"
2001 "i"
2002 "i"
2003 "i"
2004 "i"
2005 "i"
2006 "i"
2007 "i"
2008 "i"
2009 "i"
2010 "i"
2011 "i"
2012 "i"
2013 "i"
2014 "i"
2015 "i"
2016 "i"
2017 "i"
2018 "i"
2019 "i"
2020 "i"
2021 "i"
2022 "i"
2023 "i"
2024 "i"
2025 "i"
2026 "i"
2027 "i"
2028 "i"
2029 "i"
2030 "i"
2031 "i"
2032 "i"
2033 "i"
2034 "i"))
2035 #(ribcage
2036 (define-structure
2037 and-map*)
2038 ((top)
2039 (top))
2040 ("i"
2041 "i")))
2042 (hygiene
2043 guile))
2044 (wrap2504
2045 (cons args2937
2046 (cons e12938
2047 e22939))
2048 w2904
2049 mod2907))
2050 '(())
2051 s2905
2052 mod2907))
2053 tmp2929)
2054 ((lambda (tmp2941)
2055 (if (if tmp2941
2056 (apply (lambda (_2942
2057 name2943)
2058 (id?2476
2059 name2943))
2060 tmp2941)
2061 #f)
2062 (apply (lambda (_2944
2063 name2945)
2064 (values
2065 'define-form
2066 (wrap2504
2067 name2945
2068 w2904
2069 mod2907)
2070 '(#(syntax-object
2071 if
2072 ((top)
2073 #(ribcage
2074 #(_
2075 name)
2076 #((top)
2077 (top))
2078 #("i"
2079 "i"))
2080 #(ribcage
2081 ()
2082 ()
2083 ())
2084 #(ribcage
2085 ()
2086 ()
2087 ())
2088 #(ribcage
2089 #(ftype
2090 fval
2091 fe
2092 fw
2093 fs
2094 fmod)
2095 #((top)
2096 (top)
2097 (top)
2098 (top)
2099 (top)
2100 (top))
2101 #("i"
2102 "i"
2103 "i"
2104 "i"
2105 "i"
2106 "i"))
2107 #(ribcage
2108 ()
2109 ()
2110 ())
2111 #(ribcage
2112 #(first)
2113 #((top))
2114 #("i"))
2115 #(ribcage
2116 ()
2117 ()
2118 ())
2119 #(ribcage
2120 ()
2121 ()
2122 ())
2123 #(ribcage
2124 ()
2125 ()
2126 ())
2127 #(ribcage
2128 #(e
2129 r
2130 w
2131 s
2132 rib
2133 mod
2134 for-car?)
2135 #((top)
2136 (top)
2137 (top)
2138 (top)
2139 (top)
2140 (top)
2141 (top))
2142 #("i"
2143 "i"
2144 "i"
2145 "i"
2146 "i"
2147 "i"
2148 "i"))
2149 #(ribcage
2150 (lambda-var-list
2151 gen-var
2152 strip
2153 ellipsis?
2154 chi-void
2155 eval-local-transformer
2156 chi-local-syntax
2157 chi-lambda-clause
2158 chi-body
2159 chi-macro
2160 chi-application
2161 chi-expr
2162 chi
2163 chi-top
2164 syntax-type
2165 chi-when-list
2166 chi-install-global
2167 chi-top-sequence
2168 chi-sequence
2169 source-wrap
2170 wrap
2171 bound-id-member?
2172 distinct-bound-ids?
2173 valid-bound-ids?
2174 bound-id=?
2175 free-id=?
2176 id-var-name
2177 same-marks?
2178 join-marks
2179 join-wraps
2180 smart-append
2181 make-binding-wrap
2182 extend-ribcage!
2183 make-empty-ribcage
2184 new-mark
2185 anti-mark
2186 the-anti-mark
2187 top-marked?
2188 top-wrap
2189 empty-wrap
2190 set-ribcage-labels!
2191 set-ribcage-marks!
2192 set-ribcage-symnames!
2193 ribcage-labels
2194 ribcage-marks
2195 ribcage-symnames
2196 ribcage?
2197 make-ribcage
2198 gen-labels
2199 gen-label
2200 make-rename
2201 rename-marks
2202 rename-new
2203 rename-old
2204 subst-rename?
2205 wrap-subst
2206 wrap-marks
2207 make-wrap
2208 id-sym-name&marks
2209 id-sym-name
2210 id?
2211 nonsymbol-id?
2212 global-extend
2213 lookup
2214 macros-only-env
2215 extend-var-env
2216 extend-env
2217 null-env
2218 binding-value
2219 binding-type
2220 make-binding
2221 arg-check
2222 source-annotation
2223 no-source
2224 set-syntax-object-module!
2225 set-syntax-object-wrap!
2226 set-syntax-object-expression!
2227 syntax-object-module
2228 syntax-object-wrap
2229 syntax-object-expression
2230 syntax-object?
2231 make-syntax-object
2232 build-lexical-var
2233 build-letrec
2234 build-named-let
2235 build-let
2236 build-sequence
2237 build-data
2238 build-primref
2239 build-lambda
2240 build-global-definition
2241 maybe-name-value!
2242 build-global-assignment
2243 build-global-reference
2244 analyze-variable
2245 build-lexical-assignment
2246 build-lexical-reference
2247 build-conditional
2248 build-application
2249 build-void
2250 decorate-source
2251 get-global-definition-hook
2252 put-global-definition-hook
2253 gensym-hook
2254 local-eval-hook
2255 top-level-eval-hook
2256 fx<
2257 fx=
2258 fx-
2259 fx+
2260 *mode*
2261 noexpand)
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 (top)
2316 (top)
2317 (top)
2318 (top)
2319 (top)
2320 (top)
2321 (top)
2322 (top)
2323 (top)
2324 (top)
2325 (top)
2326 (top)
2327 (top)
2328 (top)
2329 (top)
2330 (top)
2331 (top)
2332 (top)
2333 (top)
2334 (top)
2335 (top)
2336 (top)
2337 (top)
2338 (top)
2339 (top)
2340 (top)
2341 (top)
2342 (top)
2343 (top)
2344 (top)
2345 (top)
2346 (top)
2347 (top)
2348 (top)
2349 (top)
2350 (top)
2351 (top)
2352 (top)
2353 (top)
2354 (top)
2355 (top)
2356 (top)
2357 (top)
2358 (top)
2359 (top)
2360 (top)
2361 (top)
2362 (top)
2363 (top)
2364 (top)
2365 (top)
2366 (top)
2367 (top)
2368 (top)
2369 (top)
2370 (top)
2371 (top)
2372 (top)
2373 (top))
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 "i"
2427 "i"
2428 "i"
2429 "i"
2430 "i"
2431 "i"
2432 "i"
2433 "i"
2434 "i"
2435 "i"
2436 "i"
2437 "i"
2438 "i"
2439 "i"
2440 "i"
2441 "i"
2442 "i"
2443 "i"
2444 "i"
2445 "i"
2446 "i"
2447 "i"
2448 "i"
2449 "i"
2450 "i"
2451 "i"
2452 "i"
2453 "i"
2454 "i"
2455 "i"
2456 "i"
2457 "i"
2458 "i"
2459 "i"
2460 "i"
2461 "i"
2462 "i"
2463 "i"
2464 "i"
2465 "i"
2466 "i"
2467 "i"
2468 "i"
2469 "i"
2470 "i"
2471 "i"
2472 "i"
2473 "i"
2474 "i"
2475 "i"
2476 "i"
2477 "i"
2478 "i"
2479 "i"
2480 "i"
2481 "i"
2482 "i"
2483 "i"
2484 "i"
2485 "i"))
2486 #(ribcage
2487 (define-structure
2488 and-map*)
2489 ((top)
2490 (top))
2491 ("i"
2492 "i")))
2493 (hygiene
2494 guile))
2495 #(syntax-object
2496 #f
2497 ((top)
2498 #(ribcage
2499 #(_
2500 name)
2501 #((top)
2502 (top))
2503 #("i"
2504 "i"))
2505 #(ribcage
2506 ()
2507 ()
2508 ())
2509 #(ribcage
2510 ()
2511 ()
2512 ())
2513 #(ribcage
2514 #(ftype
2515 fval
2516 fe
2517 fw
2518 fs
2519 fmod)
2520 #((top)
2521 (top)
2522 (top)
2523 (top)
2524 (top)
2525 (top))
2526 #("i"
2527 "i"
2528 "i"
2529 "i"
2530 "i"
2531 "i"))
2532 #(ribcage
2533 ()
2534 ()
2535 ())
2536 #(ribcage
2537 #(first)
2538 #((top))
2539 #("i"))
2540 #(ribcage
2541 ()
2542 ()
2543 ())
2544 #(ribcage
2545 ()
2546 ()
2547 ())
2548 #(ribcage
2549 ()
2550 ()
2551 ())
2552 #(ribcage
2553 #(e
2554 r
2555 w
2556 s
2557 rib
2558 mod
2559 for-car?)
2560 #((top)
2561 (top)
2562 (top)
2563 (top)
2564 (top)
2565 (top)
2566 (top))
2567 #("i"
2568 "i"
2569 "i"
2570 "i"
2571 "i"
2572 "i"
2573 "i"))
2574 #(ribcage
2575 (lambda-var-list
2576 gen-var
2577 strip
2578 ellipsis?
2579 chi-void
2580 eval-local-transformer
2581 chi-local-syntax
2582 chi-lambda-clause
2583 chi-body
2584 chi-macro
2585 chi-application
2586 chi-expr
2587 chi
2588 chi-top
2589 syntax-type
2590 chi-when-list
2591 chi-install-global
2592 chi-top-sequence
2593 chi-sequence
2594 source-wrap
2595 wrap
2596 bound-id-member?
2597 distinct-bound-ids?
2598 valid-bound-ids?
2599 bound-id=?
2600 free-id=?
2601 id-var-name
2602 same-marks?
2603 join-marks
2604 join-wraps
2605 smart-append
2606 make-binding-wrap
2607 extend-ribcage!
2608 make-empty-ribcage
2609 new-mark
2610 anti-mark
2611 the-anti-mark
2612 top-marked?
2613 top-wrap
2614 empty-wrap
2615 set-ribcage-labels!
2616 set-ribcage-marks!
2617 set-ribcage-symnames!
2618 ribcage-labels
2619 ribcage-marks
2620 ribcage-symnames
2621 ribcage?
2622 make-ribcage
2623 gen-labels
2624 gen-label
2625 make-rename
2626 rename-marks
2627 rename-new
2628 rename-old
2629 subst-rename?
2630 wrap-subst
2631 wrap-marks
2632 make-wrap
2633 id-sym-name&marks
2634 id-sym-name
2635 id?
2636 nonsymbol-id?
2637 global-extend
2638 lookup
2639 macros-only-env
2640 extend-var-env
2641 extend-env
2642 null-env
2643 binding-value
2644 binding-type
2645 make-binding
2646 arg-check
2647 source-annotation
2648 no-source
2649 set-syntax-object-module!
2650 set-syntax-object-wrap!
2651 set-syntax-object-expression!
2652 syntax-object-module
2653 syntax-object-wrap
2654 syntax-object-expression
2655 syntax-object?
2656 make-syntax-object
2657 build-lexical-var
2658 build-letrec
2659 build-named-let
2660 build-let
2661 build-sequence
2662 build-data
2663 build-primref
2664 build-lambda
2665 build-global-definition
2666 maybe-name-value!
2667 build-global-assignment
2668 build-global-reference
2669 analyze-variable
2670 build-lexical-assignment
2671 build-lexical-reference
2672 build-conditional
2673 build-application
2674 build-void
2675 decorate-source
2676 get-global-definition-hook
2677 put-global-definition-hook
2678 gensym-hook
2679 local-eval-hook
2680 top-level-eval-hook
2681 fx<
2682 fx=
2683 fx-
2684 fx+
2685 *mode*
2686 noexpand)
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 (top)
2738 (top)
2739 (top)
2740 (top)
2741 (top)
2742 (top)
2743 (top)
2744 (top)
2745 (top)
2746 (top)
2747 (top)
2748 (top)
2749 (top)
2750 (top)
2751 (top)
2752 (top)
2753 (top)
2754 (top)
2755 (top)
2756 (top)
2757 (top)
2758 (top)
2759 (top)
2760 (top)
2761 (top)
2762 (top)
2763 (top)
2764 (top)
2765 (top)
2766 (top)
2767 (top)
2768 (top)
2769 (top)
2770 (top)
2771 (top)
2772 (top)
2773 (top)
2774 (top)
2775 (top)
2776 (top)
2777 (top)
2778 (top)
2779 (top)
2780 (top)
2781 (top)
2782 (top)
2783 (top)
2784 (top)
2785 (top)
2786 (top)
2787 (top)
2788 (top)
2789 (top)
2790 (top)
2791 (top)
2792 (top)
2793 (top)
2794 (top)
2795 (top)
2796 (top)
2797 (top)
2798 (top))
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 "i"
2849 "i"
2850 "i"
2851 "i"
2852 "i"
2853 "i"
2854 "i"
2855 "i"
2856 "i"
2857 "i"
2858 "i"
2859 "i"
2860 "i"
2861 "i"
2862 "i"
2863 "i"
2864 "i"
2865 "i"
2866 "i"
2867 "i"
2868 "i"
2869 "i"
2870 "i"
2871 "i"
2872 "i"
2873 "i"
2874 "i"
2875 "i"
2876 "i"
2877 "i"
2878 "i"
2879 "i"
2880 "i"
2881 "i"
2882 "i"
2883 "i"
2884 "i"
2885 "i"
2886 "i"
2887 "i"
2888 "i"
2889 "i"
2890 "i"
2891 "i"
2892 "i"
2893 "i"
2894 "i"
2895 "i"
2896 "i"
2897 "i"
2898 "i"
2899 "i"
2900 "i"
2901 "i"
2902 "i"
2903 "i"
2904 "i"
2905 "i"
2906 "i"
2907 "i"
2908 "i"
2909 "i"
2910 "i"))
2911 #(ribcage
2912 (define-structure
2913 and-map*)
2914 ((top)
2915 (top))
2916 ("i"
2917 "i")))
2918 (hygiene
2919 guile))
2920 #(syntax-object
2921 #f
2922 ((top)
2923 #(ribcage
2924 #(_
2925 name)
2926 #((top)
2927 (top))
2928 #("i"
2929 "i"))
2930 #(ribcage
2931 ()
2932 ()
2933 ())
2934 #(ribcage
2935 ()
2936 ()
2937 ())
2938 #(ribcage
2939 #(ftype
2940 fval
2941 fe
2942 fw
2943 fs
2944 fmod)
2945 #((top)
2946 (top)
2947 (top)
2948 (top)
2949 (top)
2950 (top))
2951 #("i"
2952 "i"
2953 "i"
2954 "i"
2955 "i"
2956 "i"))
2957 #(ribcage
2958 ()
2959 ()
2960 ())
2961 #(ribcage
2962 #(first)
2963 #((top))
2964 #("i"))
2965 #(ribcage
2966 ()
2967 ()
2968 ())
2969 #(ribcage
2970 ()
2971 ()
2972 ())
2973 #(ribcage
2974 ()
2975 ()
2976 ())
2977 #(ribcage
2978 #(e
2979 r
2980 w
2981 s
2982 rib
2983 mod
2984 for-car?)
2985 #((top)
2986 (top)
2987 (top)
2988 (top)
2989 (top)
2990 (top)
2991 (top))
2992 #("i"
2993 "i"
2994 "i"
2995 "i"
2996 "i"
2997 "i"
2998 "i"))
2999 #(ribcage
3000 (lambda-var-list
3001 gen-var
3002 strip
3003 ellipsis?
3004 chi-void
3005 eval-local-transformer
3006 chi-local-syntax
3007 chi-lambda-clause
3008 chi-body
3009 chi-macro
3010 chi-application
3011 chi-expr
3012 chi
3013 chi-top
3014 syntax-type
3015 chi-when-list
3016 chi-install-global
3017 chi-top-sequence
3018 chi-sequence
3019 source-wrap
3020 wrap
3021 bound-id-member?
3022 distinct-bound-ids?
3023 valid-bound-ids?
3024 bound-id=?
3025 free-id=?
3026 id-var-name
3027 same-marks?
3028 join-marks
3029 join-wraps
3030 smart-append
3031 make-binding-wrap
3032 extend-ribcage!
3033 make-empty-ribcage
3034 new-mark
3035 anti-mark
3036 the-anti-mark
3037 top-marked?
3038 top-wrap
3039 empty-wrap
3040 set-ribcage-labels!
3041 set-ribcage-marks!
3042 set-ribcage-symnames!
3043 ribcage-labels
3044 ribcage-marks
3045 ribcage-symnames
3046 ribcage?
3047 make-ribcage
3048 gen-labels
3049 gen-label
3050 make-rename
3051 rename-marks
3052 rename-new
3053 rename-old
3054 subst-rename?
3055 wrap-subst
3056 wrap-marks
3057 make-wrap
3058 id-sym-name&marks
3059 id-sym-name
3060 id?
3061 nonsymbol-id?
3062 global-extend
3063 lookup
3064 macros-only-env
3065 extend-var-env
3066 extend-env
3067 null-env
3068 binding-value
3069 binding-type
3070 make-binding
3071 arg-check
3072 source-annotation
3073 no-source
3074 set-syntax-object-module!
3075 set-syntax-object-wrap!
3076 set-syntax-object-expression!
3077 syntax-object-module
3078 syntax-object-wrap
3079 syntax-object-expression
3080 syntax-object?
3081 make-syntax-object
3082 build-lexical-var
3083 build-letrec
3084 build-named-let
3085 build-let
3086 build-sequence
3087 build-data
3088 build-primref
3089 build-lambda
3090 build-global-definition
3091 maybe-name-value!
3092 build-global-assignment
3093 build-global-reference
3094 analyze-variable
3095 build-lexical-assignment
3096 build-lexical-reference
3097 build-conditional
3098 build-application
3099 build-void
3100 decorate-source
3101 get-global-definition-hook
3102 put-global-definition-hook
3103 gensym-hook
3104 local-eval-hook
3105 top-level-eval-hook
3106 fx<
3107 fx=
3108 fx-
3109 fx+
3110 *mode*
3111 noexpand)
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 (top)
3160 (top)
3161 (top)
3162 (top)
3163 (top)
3164 (top)
3165 (top)
3166 (top)
3167 (top)
3168 (top)
3169 (top)
3170 (top)
3171 (top)
3172 (top)
3173 (top)
3174 (top)
3175 (top)
3176 (top)
3177 (top)
3178 (top)
3179 (top)
3180 (top)
3181 (top)
3182 (top)
3183 (top)
3184 (top)
3185 (top)
3186 (top)
3187 (top)
3188 (top)
3189 (top)
3190 (top)
3191 (top)
3192 (top)
3193 (top)
3194 (top)
3195 (top)
3196 (top)
3197 (top)
3198 (top)
3199 (top)
3200 (top)
3201 (top)
3202 (top)
3203 (top)
3204 (top)
3205 (top)
3206 (top)
3207 (top)
3208 (top)
3209 (top)
3210 (top)
3211 (top)
3212 (top)
3213 (top)
3214 (top)
3215 (top)
3216 (top)
3217 (top)
3218 (top)
3219 (top)
3220 (top)
3221 (top)
3222 (top)
3223 (top))
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 "i"
3271 "i"
3272 "i"
3273 "i"
3274 "i"
3275 "i"
3276 "i"
3277 "i"
3278 "i"
3279 "i"
3280 "i"
3281 "i"
3282 "i"
3283 "i"
3284 "i"
3285 "i"
3286 "i"
3287 "i"
3288 "i"
3289 "i"
3290 "i"
3291 "i"
3292 "i"
3293 "i"
3294 "i"
3295 "i"
3296 "i"
3297 "i"
3298 "i"
3299 "i"
3300 "i"
3301 "i"
3302 "i"
3303 "i"
3304 "i"
3305 "i"
3306 "i"
3307 "i"
3308 "i"
3309 "i"
3310 "i"
3311 "i"
3312 "i"
3313 "i"
3314 "i"
3315 "i"
3316 "i"
3317 "i"
3318 "i"
3319 "i"
3320 "i"
3321 "i"
3322 "i"
3323 "i"
3324 "i"
3325 "i"
3326 "i"
3327 "i"
3328 "i"
3329 "i"
3330 "i"
3331 "i"
3332 "i"
3333 "i"
3334 "i"
3335 "i"))
3336 #(ribcage
3337 (define-structure
3338 and-map*)
3339 ((top)
3340 (top))
3341 ("i"
3342 "i")))
3343 (hygiene
3344 guile)))
3345 '(())
3346 s2905
3347 mod2907))
3348 tmp2941)
3349 (syntax-violation
3350 #f
3351 "source expression failed to match any pattern"
3352 tmp2921)))
3353 ($sc-dispatch
3354 tmp2921
3355 '(any any)))))
3356 ($sc-dispatch
3357 tmp2921
3358 '(any (any . any)
3359 any
3360 .
3361 each-any)))))
3362 ($sc-dispatch
3363 tmp2921
3364 '(any any any))))
3365 e2902)
3366 (if (memv ftype2913
3367 '(define-syntax))
3368 ((lambda (tmp2946)
3369 ((lambda (tmp2947)
3370 (if (if tmp2947
3371 (apply (lambda (_2948
3372 name2949
3373 val2950)
3374 (id?2476
3375 name2949))
3376 tmp2947)
3377 #f)
3378 (apply (lambda (_2951
3379 name2952
3380 val2953)
3381 (values
3382 'define-syntax-form
3383 name2952
3384 val2953
3385 w2904
3386 s2905
3387 mod2907))
3388 tmp2947)
3389 (syntax-violation
3390 #f
3391 "source expression failed to match any pattern"
3392 tmp2946)))
3393 ($sc-dispatch
3394 tmp2946
3395 '(any any any))))
3396 e2902)
3397 (values
3398 'call
3399 #f
3400 e2902
3401 w2904
3402 s2905
3403 mod2907))))))))))))))
3404 (if (syntax-object?2460 e2902)
3405 (syntax-type2510
3406 (syntax-object-expression2461 e2902)
3407 r2903
3408 (join-wraps2495
3409 w2904
3410 (syntax-object-wrap2462 e2902))
3411 s2905
3412 rib2906
3413 (let ((t2954 (syntax-object-module2463 e2902)))
3414 (if t2954 t2954 mod2907))
3415 for-car?2908)
3416 (if (self-evaluating? e2902)
3417 (values
3418 'constant
3419 #f
3420 e2902
3421 w2904
3422 s2905
3423 mod2907)
3424 (values
3425 'other
3426 #f
3427 e2902
3428 w2904
3429 s2905
3430 mod2907)))))))
3431 (chi-when-list2509
3432 (lambda (e2955 when-list2956 w2957)
3433 (letrec ((f2958 (lambda (when-list2959 situations2960)
3434 (if (null? when-list2959)
3435 situations2960
3436 (f2958 (cdr when-list2959)
3437 (cons (let ((x2961 (car when-list2959)))
3438 (if (free-id=?2499
3439 x2961
3440 '#(syntax-object
3441 compile
3442 ((top)
3443 #(ribcage () () ())
3444 #(ribcage () () ())
3445 #(ribcage () () ())
3446 #(ribcage
3447 #(x)
3448 #((top))
3449 #("i"))
3450 #(ribcage () () ())
3451 #(ribcage
3452 #(f
3453 when-list
3454 situations)
3455 #((top)
3456 (top)
3457 (top))
3458 #("i" "i" "i"))
3459 #(ribcage () () ())
3460 #(ribcage
3461 #(e when-list w)
3462 #((top)
3463 (top)
3464 (top))
3465 #("i" "i" "i"))
3466 #(ribcage
3467 (lambda-var-list
3468 gen-var
3469 strip
3470 ellipsis?
3471 chi-void
3472 eval-local-transformer
3473 chi-local-syntax
3474 chi-lambda-clause
3475 chi-body
3476 chi-macro
3477 chi-application
3478 chi-expr
3479 chi
3480 chi-top
3481 syntax-type
3482 chi-when-list
3483 chi-install-global
3484 chi-top-sequence
3485 chi-sequence
3486 source-wrap
3487 wrap
3488 bound-id-member?
3489 distinct-bound-ids?
3490 valid-bound-ids?
3491 bound-id=?
3492 free-id=?
3493 id-var-name
3494 same-marks?
3495 join-marks
3496 join-wraps
3497 smart-append
3498 make-binding-wrap
3499 extend-ribcage!
3500 make-empty-ribcage
3501 new-mark
3502 anti-mark
3503 the-anti-mark
3504 top-marked?
3505 top-wrap
3506 empty-wrap
3507 set-ribcage-labels!
3508 set-ribcage-marks!
3509 set-ribcage-symnames!
3510 ribcage-labels
3511 ribcage-marks
3512 ribcage-symnames
3513 ribcage?
3514 make-ribcage
3515 gen-labels
3516 gen-label
3517 make-rename
3518 rename-marks
3519 rename-new
3520 rename-old
3521 subst-rename?
3522 wrap-subst
3523 wrap-marks
3524 make-wrap
3525 id-sym-name&marks
3526 id-sym-name
3527 id?
3528 nonsymbol-id?
3529 global-extend
3530 lookup
3531 macros-only-env
3532 extend-var-env
3533 extend-env
3534 null-env
3535 binding-value
3536 binding-type
3537 make-binding
3538 arg-check
3539 source-annotation
3540 no-source
3541 set-syntax-object-module!
3542 set-syntax-object-wrap!
3543 set-syntax-object-expression!
3544 syntax-object-module
3545 syntax-object-wrap
3546 syntax-object-expression
3547 syntax-object?
3548 make-syntax-object
3549 build-lexical-var
3550 build-letrec
3551 build-named-let
3552 build-let
3553 build-sequence
3554 build-data
3555 build-primref
3556 build-lambda
3557 build-global-definition
3558 maybe-name-value!
3559 build-global-assignment
3560 build-global-reference
3561 analyze-variable
3562 build-lexical-assignment
3563 build-lexical-reference
3564 build-conditional
3565 build-application
3566 build-void
3567 decorate-source
3568 get-global-definition-hook
3569 put-global-definition-hook
3570 gensym-hook
3571 local-eval-hook
3572 top-level-eval-hook
3573 fx<
3574 fx=
3575 fx-
3576 fx+
3577 *mode*
3578 noexpand)
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 (top)
3616 (top)
3617 (top)
3618 (top)
3619 (top)
3620 (top)
3621 (top)
3622 (top)
3623 (top)
3624 (top)
3625 (top)
3626 (top)
3627 (top)
3628 (top)
3629 (top)
3630 (top)
3631 (top)
3632 (top)
3633 (top)
3634 (top)
3635 (top)
3636 (top)
3637 (top)
3638 (top)
3639 (top)
3640 (top)
3641 (top)
3642 (top)
3643 (top)
3644 (top)
3645 (top)
3646 (top)
3647 (top)
3648 (top)
3649 (top)
3650 (top)
3651 (top)
3652 (top)
3653 (top)
3654 (top)
3655 (top)
3656 (top)
3657 (top)
3658 (top)
3659 (top)
3660 (top)
3661 (top)
3662 (top)
3663 (top)
3664 (top)
3665 (top)
3666 (top)
3667 (top)
3668 (top)
3669 (top)
3670 (top)
3671 (top)
3672 (top)
3673 (top)
3674 (top)
3675 (top)
3676 (top)
3677 (top)
3678 (top)
3679 (top)
3680 (top)
3681 (top)
3682 (top)
3683 (top)
3684 (top)
3685 (top)
3686 (top)
3687 (top)
3688 (top)
3689 (top)
3690 (top))
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 "i"
3727 "i"
3728 "i"
3729 "i"
3730 "i"
3731 "i"
3732 "i"
3733 "i"
3734 "i"
3735 "i"
3736 "i"
3737 "i"
3738 "i"
3739 "i"
3740 "i"
3741 "i"
3742 "i"
3743 "i"
3744 "i"
3745 "i"
3746 "i"
3747 "i"
3748 "i"
3749 "i"
3750 "i"
3751 "i"
3752 "i"
3753 "i"
3754 "i"
3755 "i"
3756 "i"
3757 "i"
3758 "i"
3759 "i"
3760 "i"
3761 "i"
3762 "i"
3763 "i"
3764 "i"
3765 "i"
3766 "i"
3767 "i"
3768 "i"
3769 "i"
3770 "i"
3771 "i"
3772 "i"
3773 "i"
3774 "i"
3775 "i"
3776 "i"
3777 "i"
3778 "i"
3779 "i"
3780 "i"
3781 "i"
3782 "i"
3783 "i"
3784 "i"
3785 "i"
3786 "i"
3787 "i"
3788 "i"
3789 "i"
3790 "i"
3791 "i"
3792 "i"
3793 "i"
3794 "i"
3795 "i"
3796 "i"
3797 "i"
3798 "i"
3799 "i"
3800 "i"
3801 "i"
3802 "i"))
3803 #(ribcage
3804 (define-structure
3805 and-map*)
3806 ((top) (top))
3807 ("i" "i")))
3808 (hygiene guile)))
3809 'compile
3810 (if (free-id=?2499
3811 x2961
3812 '#(syntax-object
3813 load
3814 ((top)
3815 #(ribcage
3816 ()
3817 ()
3818 ())
3819 #(ribcage
3820 ()
3821 ()
3822 ())
3823 #(ribcage
3824 ()
3825 ()
3826 ())
3827 #(ribcage
3828 #(x)
3829 #((top))
3830 #("i"))
3831 #(ribcage
3832 ()
3833 ()
3834 ())
3835 #(ribcage
3836 #(f
3837 when-list
3838 situations)
3839 #((top)
3840 (top)
3841 (top))
3842 #("i" "i" "i"))
3843 #(ribcage
3844 ()
3845 ()
3846 ())
3847 #(ribcage
3848 #(e
3849 when-list
3850 w)
3851 #((top)
3852 (top)
3853 (top))
3854 #("i" "i" "i"))
3855 #(ribcage
3856 (lambda-var-list
3857 gen-var
3858 strip
3859 ellipsis?
3860 chi-void
3861 eval-local-transformer
3862 chi-local-syntax
3863 chi-lambda-clause
3864 chi-body
3865 chi-macro
3866 chi-application
3867 chi-expr
3868 chi
3869 chi-top
3870 syntax-type
3871 chi-when-list
3872 chi-install-global
3873 chi-top-sequence
3874 chi-sequence
3875 source-wrap
3876 wrap
3877 bound-id-member?
3878 distinct-bound-ids?
3879 valid-bound-ids?
3880 bound-id=?
3881 free-id=?
3882 id-var-name
3883 same-marks?
3884 join-marks
3885 join-wraps
3886 smart-append
3887 make-binding-wrap
3888 extend-ribcage!
3889 make-empty-ribcage
3890 new-mark
3891 anti-mark
3892 the-anti-mark
3893 top-marked?
3894 top-wrap
3895 empty-wrap
3896 set-ribcage-labels!
3897 set-ribcage-marks!
3898 set-ribcage-symnames!
3899 ribcage-labels
3900 ribcage-marks
3901 ribcage-symnames
3902 ribcage?
3903 make-ribcage
3904 gen-labels
3905 gen-label
3906 make-rename
3907 rename-marks
3908 rename-new
3909 rename-old
3910 subst-rename?
3911 wrap-subst
3912 wrap-marks
3913 make-wrap
3914 id-sym-name&marks
3915 id-sym-name
3916 id?
3917 nonsymbol-id?
3918 global-extend
3919 lookup
3920 macros-only-env
3921 extend-var-env
3922 extend-env
3923 null-env
3924 binding-value
3925 binding-type
3926 make-binding
3927 arg-check
3928 source-annotation
3929 no-source
3930 set-syntax-object-module!
3931 set-syntax-object-wrap!
3932 set-syntax-object-expression!
3933 syntax-object-module
3934 syntax-object-wrap
3935 syntax-object-expression
3936 syntax-object?
3937 make-syntax-object
3938 build-lexical-var
3939 build-letrec
3940 build-named-let
3941 build-let
3942 build-sequence
3943 build-data
3944 build-primref
3945 build-lambda
3946 build-global-definition
3947 maybe-name-value!
3948 build-global-assignment
3949 build-global-reference
3950 analyze-variable
3951 build-lexical-assignment
3952 build-lexical-reference
3953 build-conditional
3954 build-application
3955 build-void
3956 decorate-source
3957 get-global-definition-hook
3958 put-global-definition-hook
3959 gensym-hook
3960 local-eval-hook
3961 top-level-eval-hook
3962 fx<
3963 fx=
3964 fx-
3965 fx+
3966 *mode*
3967 noexpand)
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 (top)
3985 (top)
3986 (top)
3987 (top)
3988 (top)
3989 (top)
3990 (top)
3991 (top)
3992 (top)
3993 (top)
3994 (top)
3995 (top)
3996 (top)
3997 (top)
3998 (top)
3999 (top)
4000 (top)
4001 (top)
4002 (top)
4003 (top)
4004 (top)
4005 (top)
4006 (top)
4007 (top)
4008 (top)
4009 (top)
4010 (top)
4011 (top)
4012 (top)
4013 (top)
4014 (top)
4015 (top)
4016 (top)
4017 (top)
4018 (top)
4019 (top)
4020 (top)
4021 (top)
4022 (top)
4023 (top)
4024 (top)
4025 (top)
4026 (top)
4027 (top)
4028 (top)
4029 (top)
4030 (top)
4031 (top)
4032 (top)
4033 (top)
4034 (top)
4035 (top)
4036 (top)
4037 (top)
4038 (top)
4039 (top)
4040 (top)
4041 (top)
4042 (top)
4043 (top)
4044 (top)
4045 (top)
4046 (top)
4047 (top)
4048 (top)
4049 (top)
4050 (top)
4051 (top)
4052 (top)
4053 (top)
4054 (top)
4055 (top)
4056 (top)
4057 (top)
4058 (top)
4059 (top)
4060 (top)
4061 (top)
4062 (top)
4063 (top)
4064 (top)
4065 (top)
4066 (top)
4067 (top)
4068 (top)
4069 (top)
4070 (top)
4071 (top)
4072 (top)
4073 (top)
4074 (top)
4075 (top)
4076 (top)
4077 (top)
4078 (top)
4079 (top))
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 "i"
4096 "i"
4097 "i"
4098 "i"
4099 "i"
4100 "i"
4101 "i"
4102 "i"
4103 "i"
4104 "i"
4105 "i"
4106 "i"
4107 "i"
4108 "i"
4109 "i"
4110 "i"
4111 "i"
4112 "i"
4113 "i"
4114 "i"
4115 "i"
4116 "i"
4117 "i"
4118 "i"
4119 "i"
4120 "i"
4121 "i"
4122 "i"
4123 "i"
4124 "i"
4125 "i"
4126 "i"
4127 "i"
4128 "i"
4129 "i"
4130 "i"
4131 "i"
4132 "i"
4133 "i"
4134 "i"
4135 "i"
4136 "i"
4137 "i"
4138 "i"
4139 "i"
4140 "i"
4141 "i"
4142 "i"
4143 "i"
4144 "i"
4145 "i"
4146 "i"
4147 "i"
4148 "i"
4149 "i"
4150 "i"
4151 "i"
4152 "i"
4153 "i"
4154 "i"
4155 "i"
4156 "i"
4157 "i"
4158 "i"
4159 "i"
4160 "i"
4161 "i"
4162 "i"
4163 "i"
4164 "i"
4165 "i"
4166 "i"
4167 "i"
4168 "i"
4169 "i"
4170 "i"
4171 "i"
4172 "i"
4173 "i"
4174 "i"
4175 "i"
4176 "i"
4177 "i"
4178 "i"
4179 "i"
4180 "i"
4181 "i"
4182 "i"
4183 "i"
4184 "i"
4185 "i"
4186 "i"
4187 "i"
4188 "i"
4189 "i"
4190 "i"
4191 "i"))
4192 #(ribcage
4193 (define-structure
4194 and-map*)
4195 ((top) (top))
4196 ("i" "i")))
4197 (hygiene guile)))
4198 'load
4199 (if (free-id=?2499
4200 x2961
4201 '#(syntax-object
4202 eval
4203 ((top)
4204 #(ribcage
4205 ()
4206 ()
4207 ())
4208 #(ribcage
4209 ()
4210 ()
4211 ())
4212 #(ribcage
4213 ()
4214 ()
4215 ())
4216 #(ribcage
4217 #(x)
4218 #((top))
4219 #("i"))
4220 #(ribcage
4221 ()
4222 ()
4223 ())
4224 #(ribcage
4225 #(f
4226 when-list
4227 situations)
4228 #((top)
4229 (top)
4230 (top))
4231 #("i"
4232 "i"
4233 "i"))
4234 #(ribcage
4235 ()
4236 ()
4237 ())
4238 #(ribcage
4239 #(e
4240 when-list
4241 w)
4242 #((top)
4243 (top)
4244 (top))
4245 #("i"
4246 "i"
4247 "i"))
4248 #(ribcage
4249 (lambda-var-list
4250 gen-var
4251 strip
4252 ellipsis?
4253 chi-void
4254 eval-local-transformer
4255 chi-local-syntax
4256 chi-lambda-clause
4257 chi-body
4258 chi-macro
4259 chi-application
4260 chi-expr
4261 chi
4262 chi-top
4263 syntax-type
4264 chi-when-list
4265 chi-install-global
4266 chi-top-sequence
4267 chi-sequence
4268 source-wrap
4269 wrap
4270 bound-id-member?
4271 distinct-bound-ids?
4272 valid-bound-ids?
4273 bound-id=?
4274 free-id=?
4275 id-var-name
4276 same-marks?
4277 join-marks
4278 join-wraps
4279 smart-append
4280 make-binding-wrap
4281 extend-ribcage!
4282 make-empty-ribcage
4283 new-mark
4284 anti-mark
4285 the-anti-mark
4286 top-marked?
4287 top-wrap
4288 empty-wrap
4289 set-ribcage-labels!
4290 set-ribcage-marks!
4291 set-ribcage-symnames!
4292 ribcage-labels
4293 ribcage-marks
4294 ribcage-symnames
4295 ribcage?
4296 make-ribcage
4297 gen-labels
4298 gen-label
4299 make-rename
4300 rename-marks
4301 rename-new
4302 rename-old
4303 subst-rename?
4304 wrap-subst
4305 wrap-marks
4306 make-wrap
4307 id-sym-name&marks
4308 id-sym-name
4309 id?
4310 nonsymbol-id?
4311 global-extend
4312 lookup
4313 macros-only-env
4314 extend-var-env
4315 extend-env
4316 null-env
4317 binding-value
4318 binding-type
4319 make-binding
4320 arg-check
4321 source-annotation
4322 no-source
4323 set-syntax-object-module!
4324 set-syntax-object-wrap!
4325 set-syntax-object-expression!
4326 syntax-object-module
4327 syntax-object-wrap
4328 syntax-object-expression
4329 syntax-object?
4330 make-syntax-object
4331 build-lexical-var
4332 build-letrec
4333 build-named-let
4334 build-let
4335 build-sequence
4336 build-data
4337 build-primref
4338 build-lambda
4339 build-global-definition
4340 maybe-name-value!
4341 build-global-assignment
4342 build-global-reference
4343 analyze-variable
4344 build-lexical-assignment
4345 build-lexical-reference
4346 build-conditional
4347 build-application
4348 build-void
4349 decorate-source
4350 get-global-definition-hook
4351 put-global-definition-hook
4352 gensym-hook
4353 local-eval-hook
4354 top-level-eval-hook
4355 fx<
4356 fx=
4357 fx-
4358 fx+
4359 *mode*
4360 noexpand)
4361 ((top)
4362 (top)
4363 (top)
4364 (top)
4365 (top)
4366 (top)
4367 (top)
4368 (top)
4369 (top)
4370 (top)
4371 (top)
4372 (top)
4373 (top)
4374 (top)
4375 (top)
4376 (top)
4377 (top)
4378 (top)
4379 (top)
4380 (top)
4381 (top)
4382 (top)
4383 (top)
4384 (top)
4385 (top)
4386 (top)
4387 (top)
4388 (top)
4389 (top)
4390 (top)
4391 (top)
4392 (top)
4393 (top)
4394 (top)
4395 (top)
4396 (top)
4397 (top)
4398 (top)
4399 (top)
4400 (top)
4401 (top)
4402 (top)
4403 (top)
4404 (top)
4405 (top)
4406 (top)
4407 (top)
4408 (top)
4409 (top)
4410 (top)
4411 (top)
4412 (top)
4413 (top)
4414 (top)
4415 (top)
4416 (top)
4417 (top)
4418 (top)
4419 (top)
4420 (top)
4421 (top)
4422 (top)
4423 (top)
4424 (top)
4425 (top)
4426 (top)
4427 (top)
4428 (top)
4429 (top)
4430 (top)
4431 (top)
4432 (top)
4433 (top)
4434 (top)
4435 (top)
4436 (top)
4437 (top)
4438 (top)
4439 (top)
4440 (top)
4441 (top)
4442 (top)
4443 (top)
4444 (top)
4445 (top)
4446 (top)
4447 (top)
4448 (top)
4449 (top)
4450 (top)
4451 (top)
4452 (top)
4453 (top)
4454 (top)
4455 (top)
4456 (top)
4457 (top)
4458 (top)
4459 (top)
4460 (top)
4461 (top)
4462 (top)
4463 (top)
4464 (top)
4465 (top)
4466 (top)
4467 (top)
4468 (top)
4469 (top)
4470 (top)
4471 (top)
4472 (top))
4473 ("i"
4474 "i"
4475 "i"
4476 "i"
4477 "i"
4478 "i"
4479 "i"
4480 "i"
4481 "i"
4482 "i"
4483 "i"
4484 "i"
4485 "i"
4486 "i"
4487 "i"
4488 "i"
4489 "i"
4490 "i"
4491 "i"
4492 "i"
4493 "i"
4494 "i"
4495 "i"
4496 "i"
4497 "i"
4498 "i"
4499 "i"
4500 "i"
4501 "i"
4502 "i"
4503 "i"
4504 "i"
4505 "i"
4506 "i"
4507 "i"
4508 "i"
4509 "i"
4510 "i"
4511 "i"
4512 "i"
4513 "i"
4514 "i"
4515 "i"
4516 "i"
4517 "i"
4518 "i"
4519 "i"
4520 "i"
4521 "i"
4522 "i"
4523 "i"
4524 "i"
4525 "i"
4526 "i"
4527 "i"
4528 "i"
4529 "i"
4530 "i"
4531 "i"
4532 "i"
4533 "i"
4534 "i"
4535 "i"
4536 "i"
4537 "i"
4538 "i"
4539 "i"
4540 "i"
4541 "i"
4542 "i"
4543 "i"
4544 "i"
4545 "i"
4546 "i"
4547 "i"
4548 "i"
4549 "i"
4550 "i"
4551 "i"
4552 "i"
4553 "i"
4554 "i"
4555 "i"
4556 "i"
4557 "i"
4558 "i"
4559 "i"
4560 "i"
4561 "i"
4562 "i"
4563 "i"
4564 "i"
4565 "i"
4566 "i"
4567 "i"
4568 "i"
4569 "i"
4570 "i"
4571 "i"
4572 "i"
4573 "i"
4574 "i"
4575 "i"
4576 "i"
4577 "i"
4578 "i"
4579 "i"
4580 "i"
4581 "i"
4582 "i"
4583 "i"
4584 "i"))
4585 #(ribcage
4586 (define-structure
4587 and-map*)
4588 ((top) (top))
4589 ("i" "i")))
4590 (hygiene
4591 guile)))
4592 'eval
4593 (syntax-violation
4594 'eval-when
4595 "invalid situation"
4596 e2955
4597 (wrap2504
4598 x2961
4599 w2957
4600 #f))))))
4601 situations2960))))))
4602 (f2958 when-list2956 (quote ())))))
4603 (chi-install-global2508
4604 (lambda (name2962 e2963)
4605 (build-global-definition2451
4606 #f
4607 name2962
4608 (if (let ((v2964 (module-variable (current-module) name2962)))
4609 (if v2964
4610 (if (variable-bound? v2964)
4611 (if (macro? (variable-ref v2964))
4612 (not (eq? (macro-type (variable-ref v2964))
4613 'syncase-macro))
4614 #f)
4615 #f)
4616 #f))
4617 (build-application2443
4618 #f
4619 (build-primref2453
4620 #f
4621 'make-extended-syncase-macro)
4622 (list (build-application2443
4623 #f
4624 (build-primref2453 #f (quote module-ref))
4625 (list (build-application2443
4626 #f
4627 (build-primref2453
4628 #f
4629 'current-module)
4630 '())
4631 (build-data2454 #f name2962)))
4632 (build-data2454 #f (quote macro))
4633 e2963))
4634 (build-application2443
4635 #f
4636 (build-primref2453 #f (quote make-syncase-macro))
4637 (list (build-data2454 #f (quote macro)) e2963))))))
4638 (chi-top-sequence2507
4639 (lambda (body2965
4640 r2966
4641 w2967
4642 s2968
4643 m2969
4644 esew2970
4645 mod2971)
4646 (build-sequence2455
4647 s2968
4648 (letrec ((dobody2972
4649 (lambda (body2973
4650 r2974
4651 w2975
4652 m2976
4653 esew2977
4654 mod2978)
4655 (if (null? body2973)
4656 '()
4657 (let ((first2979
4658 (chi-top2511
4659 (car body2973)
4660 r2974
4661 w2975
4662 m2976
4663 esew2977
4664 mod2978)))
4665 (cons first2979
4666 (dobody2972
4667 (cdr body2973)
4668 r2974
4669 w2975
4670 m2976
4671 esew2977
4672 mod2978)))))))
4673 (dobody2972
4674 body2965
4675 r2966
4676 w2967
4677 m2969
4678 esew2970
4679 mod2971)))))
4680 (chi-sequence2506
4681 (lambda (body2980 r2981 w2982 s2983 mod2984)
4682 (build-sequence2455
4683 s2983
4684 (letrec ((dobody2985
4685 (lambda (body2986 r2987 w2988 mod2989)
4686 (if (null? body2986)
4687 '()
4688 (let ((first2990
4689 (chi2512
4690 (car body2986)
4691 r2987
4692 w2988
4693 mod2989)))
4694 (cons first2990
4695 (dobody2985
4696 (cdr body2986)
4697 r2987
4698 w2988
4699 mod2989)))))))
4700 (dobody2985 body2980 r2981 w2982 mod2984)))))
4701 (source-wrap2505
4702 (lambda (x2991 w2992 s2993 defmod2994)
4703 (begin
4704 (if (if s2993 (pair? x2991) #f)
4705 (set-source-properties! x2991 s2993))
4706 (wrap2504 x2991 w2992 defmod2994))))
4707 (wrap2504
4708 (lambda (x2995 w2996 defmod2997)
4709 (if (if (null? (wrap-marks2479 w2996))
4710 (null? (wrap-subst2480 w2996))
4711 #f)
4712 x2995
4713 (if (syntax-object?2460 x2995)
4714 (make-syntax-object2459
4715 (syntax-object-expression2461 x2995)
4716 (join-wraps2495
4717 w2996
4718 (syntax-object-wrap2462 x2995))
4719 (syntax-object-module2463 x2995))
4720 (if (null? x2995)
4721 x2995
4722 (make-syntax-object2459 x2995 w2996 defmod2997))))))
4723 (bound-id-member?2503
4724 (lambda (x2998 list2999)
4725 (if (not (null? list2999))
4726 (let ((t3000 (bound-id=?2500 x2998 (car list2999))))
4727 (if t3000
4728 t3000
4729 (bound-id-member?2503 x2998 (cdr list2999))))
4730 #f)))
4731 (distinct-bound-ids?2502
4732 (lambda (ids3001)
4733 (letrec ((distinct?3002
4734 (lambda (ids3003)
4735 (let ((t3004 (null? ids3003)))
4736 (if t3004
4737 t3004
4738 (if (not (bound-id-member?2503
4739 (car ids3003)
4740 (cdr ids3003)))
4741 (distinct?3002 (cdr ids3003))
4742 #f))))))
4743 (distinct?3002 ids3001))))
4744 (valid-bound-ids?2501
4745 (lambda (ids3005)
4746 (if (letrec ((all-ids?3006
4747 (lambda (ids3007)
4748 (let ((t3008 (null? ids3007)))
4749 (if t3008
4750 t3008
4751 (if (id?2476 (car ids3007))
4752 (all-ids?3006 (cdr ids3007))
4753 #f))))))
4754 (all-ids?3006 ids3005))
4755 (distinct-bound-ids?2502 ids3005)
4756 #f)))
4757 (bound-id=?2500
4758 (lambda (i3009 j3010)
4759 (if (if (syntax-object?2460 i3009)
4760 (syntax-object?2460 j3010)
4761 #f)
4762 (if (eq? (syntax-object-expression2461 i3009)
4763 (syntax-object-expression2461 j3010))
4764 (same-marks?2497
4765 (wrap-marks2479 (syntax-object-wrap2462 i3009))
4766 (wrap-marks2479 (syntax-object-wrap2462 j3010)))
4767 #f)
4768 (eq? i3009 j3010))))
4769 (free-id=?2499
4770 (lambda (i3011 j3012)
4771 (if (eq? (let ((x3013 i3011))
4772 (if (syntax-object?2460 x3013)
4773 (syntax-object-expression2461 x3013)
4774 x3013))
4775 (let ((x3014 j3012))
4776 (if (syntax-object?2460 x3014)
4777 (syntax-object-expression2461 x3014)
4778 x3014)))
4779 (eq? (id-var-name2498 i3011 (quote (())))
4780 (id-var-name2498 j3012 (quote (()))))
4781 #f)))
4782 (id-var-name2498
4783 (lambda (id3015 w3016)
4784 (letrec ((search-vector-rib3019
4785 (lambda (sym3025
4786 subst3026
4787 marks3027
4788 symnames3028
4789 ribcage3029)
4790 (let ((n3030 (vector-length symnames3028)))
4791 (letrec ((f3031 (lambda (i3032)
4792 (if (fx=2435 i3032 n3030)
4793 (search3017
4794 sym3025
4795 (cdr subst3026)
4796 marks3027)
4797 (if (if (eq? (vector-ref
4798 symnames3028
4799 i3032)
4800 sym3025)
4801 (same-marks?2497
4802 marks3027
4803 (vector-ref
4804 (ribcage-marks2486
4805 ribcage3029)
4806 i3032))
4807 #f)
4808 (values
4809 (vector-ref
4810 (ribcage-labels2487
4811 ribcage3029)
4812 i3032)
4813 marks3027)
4814 (f3031 (fx+2433
4815 i3032
4816 1)))))))
4817 (f3031 0)))))
4818 (search-list-rib3018
4819 (lambda (sym3033
4820 subst3034
4821 marks3035
4822 symnames3036
4823 ribcage3037)
4824 (letrec ((f3038 (lambda (symnames3039 i3040)
4825 (if (null? symnames3039)
4826 (search3017
4827 sym3033
4828 (cdr subst3034)
4829 marks3035)
4830 (if (if (eq? (car symnames3039)
4831 sym3033)
4832 (same-marks?2497
4833 marks3035
4834 (list-ref
4835 (ribcage-marks2486
4836 ribcage3037)
4837 i3040))
4838 #f)
4839 (values
4840 (list-ref
4841 (ribcage-labels2487
4842 ribcage3037)
4843 i3040)
4844 marks3035)
4845 (f3038 (cdr symnames3039)
4846 (fx+2433
4847 i3040
4848 1)))))))
4849 (f3038 symnames3036 0))))
4850 (search3017
4851 (lambda (sym3041 subst3042 marks3043)
4852 (if (null? subst3042)
4853 (values #f marks3043)
4854 (let ((fst3044 (car subst3042)))
4855 (if (eq? fst3044 (quote shift))
4856 (search3017
4857 sym3041
4858 (cdr subst3042)
4859 (cdr marks3043))
4860 (let ((symnames3045
4861 (ribcage-symnames2485 fst3044)))
4862 (if (vector? symnames3045)
4863 (search-vector-rib3019
4864 sym3041
4865 subst3042
4866 marks3043
4867 symnames3045
4868 fst3044)
4869 (search-list-rib3018
4870 sym3041
4871 subst3042
4872 marks3043
4873 symnames3045
4874 fst3044)))))))))
4875 (if (symbol? id3015)
4876 (let ((t3046 (call-with-values
4877 (lambda ()
4878 (search3017
4879 id3015
4880 (wrap-subst2480 w3016)
4881 (wrap-marks2479 w3016)))
4882 (lambda (x3048 . ignore3047) x3048))))
4883 (if t3046 t3046 id3015))
4884 (if (syntax-object?2460 id3015)
4885 (let ((id3049 (syntax-object-expression2461 id3015))
4886 (w13050 (syntax-object-wrap2462 id3015)))
4887 (let ((marks3051
4888 (join-marks2496
4889 (wrap-marks2479 w3016)
4890 (wrap-marks2479 w13050))))
4891 (call-with-values
4892 (lambda ()
4893 (search3017
4894 id3049
4895 (wrap-subst2480 w3016)
4896 marks3051))
4897 (lambda (new-id3052 marks3053)
4898 (let ((t3054 new-id3052))
4899 (if t3054
4900 t3054
4901 (let ((t3055 (call-with-values
4902 (lambda ()
4903 (search3017
4904 id3049
4905 (wrap-subst2480 w13050)
4906 marks3053))
4907 (lambda (x3057 . ignore3056)
4908 x3057))))
4909 (if t3055 t3055 id3049))))))))
4910 (syntax-violation
4911 'id-var-name
4912 "invalid id"
4913 id3015))))))
4914 (same-marks?2497
4915 (lambda (x3058 y3059)
4916 (let ((t3060 (eq? x3058 y3059)))
4917 (if t3060
4918 t3060
4919 (if (not (null? x3058))
4920 (if (not (null? y3059))
4921 (if (eq? (car x3058) (car y3059))
4922 (same-marks?2497 (cdr x3058) (cdr y3059))
4923 #f)
4924 #f)
4925 #f)))))
4926 (join-marks2496
4927 (lambda (m13061 m23062)
4928 (smart-append2494 m13061 m23062)))
4929 (join-wraps2495
4930 (lambda (w13063 w23064)
4931 (let ((m13065 (wrap-marks2479 w13063))
4932 (s13066 (wrap-subst2480 w13063)))
4933 (if (null? m13065)
4934 (if (null? s13066)
4935 w23064
4936 (make-wrap2478
4937 (wrap-marks2479 w23064)
4938 (smart-append2494 s13066 (wrap-subst2480 w23064))))
4939 (make-wrap2478
4940 (smart-append2494 m13065 (wrap-marks2479 w23064))
4941 (smart-append2494 s13066 (wrap-subst2480 w23064)))))))
4942 (smart-append2494
4943 (lambda (m13067 m23068)
4944 (if (null? m23068) m13067 (append m13067 m23068))))
4945 (make-binding-wrap2493
4946 (lambda (ids3069 labels3070 w3071)
4947 (if (null? ids3069)
4948 w3071
4949 (make-wrap2478
4950 (wrap-marks2479 w3071)
4951 (cons (let ((labelvec3072 (list->vector labels3070)))
4952 (let ((n3073 (vector-length labelvec3072)))
4953 (let ((symnamevec3074 (make-vector n3073))
4954 (marksvec3075 (make-vector n3073)))
4955 (begin
4956 (letrec ((f3076 (lambda (ids3077 i3078)
4957 (if (not (null? ids3077))
4958 (call-with-values
4959 (lambda ()
4960 (id-sym-name&marks2477
4961 (car ids3077)
4962 w3071))
4963 (lambda (symname3079
4964 marks3080)
4965 (begin
4966 (vector-set!
4967 symnamevec3074
4968 i3078
4969 symname3079)
4970 (vector-set!
4971 marksvec3075
4972 i3078
4973 marks3080)
4974 (f3076 (cdr ids3077)
4975 (fx+2433
4976 i3078
4977 1)))))))))
4978 (f3076 ids3069 0))
4979 (make-ribcage2483
4980 symnamevec3074
4981 marksvec3075
4982 labelvec3072)))))
4983 (wrap-subst2480 w3071))))))
4984 (extend-ribcage!2492
4985 (lambda (ribcage3081 id3082 label3083)
4986 (begin
4987 (set-ribcage-symnames!2488
4988 ribcage3081
4989 (cons (syntax-object-expression2461 id3082)
4990 (ribcage-symnames2485 ribcage3081)))
4991 (set-ribcage-marks!2489
4992 ribcage3081
4993 (cons (wrap-marks2479 (syntax-object-wrap2462 id3082))
4994 (ribcage-marks2486 ribcage3081)))
4995 (set-ribcage-labels!2490
4996 ribcage3081
4997 (cons label3083 (ribcage-labels2487 ribcage3081))))))
4998 (anti-mark2491
4999 (lambda (w3084)
5000 (make-wrap2478
5001 (cons #f (wrap-marks2479 w3084))
5002 (cons (quote shift) (wrap-subst2480 w3084)))))
5003 (set-ribcage-labels!2490
5004 (lambda (x3085 update3086)
5005 (vector-set! x3085 3 update3086)))
5006 (set-ribcage-marks!2489
5007 (lambda (x3087 update3088)
5008 (vector-set! x3087 2 update3088)))
5009 (set-ribcage-symnames!2488
5010 (lambda (x3089 update3090)
5011 (vector-set! x3089 1 update3090)))
5012 (ribcage-labels2487
5013 (lambda (x3091) (vector-ref x3091 3)))
5014 (ribcage-marks2486
5015 (lambda (x3092) (vector-ref x3092 2)))
5016 (ribcage-symnames2485
5017 (lambda (x3093) (vector-ref x3093 1)))
5018 (ribcage?2484
5019 (lambda (x3094)
5020 (if (vector? x3094)
5021 (if (= (vector-length x3094) 4)
5022 (eq? (vector-ref x3094 0) (quote ribcage))
5023 #f)
5024 #f)))
5025 (make-ribcage2483
5026 (lambda (symnames3095 marks3096 labels3097)
5027 (vector
5028 'ribcage
5029 symnames3095
5030 marks3096
5031 labels3097)))
5032 (gen-labels2482
5033 (lambda (ls3098)
5034 (if (null? ls3098)
5035 '()
5036 (cons (gen-label2481)
5037 (gen-labels2482 (cdr ls3098))))))
5038 (gen-label2481 (lambda () (string #\i)))
5039 (wrap-subst2480 cdr)
5040 (wrap-marks2479 car)
5041 (make-wrap2478 cons)
5042 (id-sym-name&marks2477
5043 (lambda (x3099 w3100)
5044 (if (syntax-object?2460 x3099)
5045 (values
5046 (syntax-object-expression2461 x3099)
5047 (join-marks2496
5048 (wrap-marks2479 w3100)
5049 (wrap-marks2479 (syntax-object-wrap2462 x3099))))
5050 (values x3099 (wrap-marks2479 w3100)))))
5051 (id?2476
5052 (lambda (x3101)
5053 (if (symbol? x3101)
5054 #t
5055 (if (syntax-object?2460 x3101)
5056 (symbol? (syntax-object-expression2461 x3101))
5057 #f))))
5058 (nonsymbol-id?2475
5059 (lambda (x3102)
5060 (if (syntax-object?2460 x3102)
5061 (symbol? (syntax-object-expression2461 x3102))
5062 #f)))
5063 (global-extend2474
5064 (lambda (type3103 sym3104 val3105)
5065 (put-global-definition-hook2439
5066 sym3104
5067 type3103
5068 val3105)))
5069 (lookup2473
5070 (lambda (x3106 r3107 mod3108)
5071 (let ((t3109 (assq x3106 r3107)))
5072 (if t3109
5073 (cdr t3109)
5074 (if (symbol? x3106)
5075 (let ((t3110 (get-global-definition-hook2440
5076 x3106
5077 mod3108)))
5078 (if t3110 t3110 (quote (global))))
5079 '(displaced-lexical))))))
5080 (macros-only-env2472
5081 (lambda (r3111)
5082 (if (null? r3111)
5083 '()
5084 (let ((a3112 (car r3111)))
5085 (if (eq? (cadr a3112) (quote macro))
5086 (cons a3112 (macros-only-env2472 (cdr r3111)))
5087 (macros-only-env2472 (cdr r3111)))))))
5088 (extend-var-env2471
5089 (lambda (labels3113 vars3114 r3115)
5090 (if (null? labels3113)
5091 r3115
5092 (extend-var-env2471
5093 (cdr labels3113)
5094 (cdr vars3114)
5095 (cons (cons (car labels3113)
5096 (cons (quote lexical) (car vars3114)))
5097 r3115)))))
5098 (extend-env2470
5099 (lambda (labels3116 bindings3117 r3118)
5100 (if (null? labels3116)
5101 r3118
5102 (extend-env2470
5103 (cdr labels3116)
5104 (cdr bindings3117)
5105 (cons (cons (car labels3116) (car bindings3117))
5106 r3118)))))
5107 (binding-value2469 cdr)
5108 (binding-type2468 car)
5109 (source-annotation2467
5110 (lambda (x3119)
5111 (if (syntax-object?2460 x3119)
5112 (source-annotation2467
5113 (syntax-object-expression2461 x3119))
5114 (if (pair? x3119)
5115 (let ((props3120 (source-properties x3119)))
5116 (if (pair? props3120) props3120 #f))
5117 #f))))
5118 (set-syntax-object-module!2466
5119 (lambda (x3121 update3122)
5120 (vector-set! x3121 3 update3122)))
5121 (set-syntax-object-wrap!2465
5122 (lambda (x3123 update3124)
5123 (vector-set! x3123 2 update3124)))
5124 (set-syntax-object-expression!2464
5125 (lambda (x3125 update3126)
5126 (vector-set! x3125 1 update3126)))
5127 (syntax-object-module2463
5128 (lambda (x3127) (vector-ref x3127 3)))
5129 (syntax-object-wrap2462
5130 (lambda (x3128) (vector-ref x3128 2)))
5131 (syntax-object-expression2461
5132 (lambda (x3129) (vector-ref x3129 1)))
5133 (syntax-object?2460
5134 (lambda (x3130)
5135 (if (vector? x3130)
5136 (if (= (vector-length x3130) 4)
5137 (eq? (vector-ref x3130 0) (quote syntax-object))
5138 #f)
5139 #f)))
5140 (make-syntax-object2459
5141 (lambda (expression3131 wrap3132 module3133)
5142 (vector
5143 'syntax-object
5144 expression3131
5145 wrap3132
5146 module3133)))
5147 (build-letrec2458
5148 (lambda (src3134
5149 ids3135
5150 vars3136
5151 val-exps3137
5152 body-exp3138)
5153 (if (null? vars3136)
5154 body-exp3138
5155 (let ((atom-key3139 (fluid-ref *mode*2432)))
5156 (if (memv atom-key3139 (quote (c)))
5157 (begin
5158 (for-each
5159 maybe-name-value!2450
5160 ids3135
5161 val-exps3137)
5162 ((@ (language tree-il) make-letrec)
5163 src3134
5164 ids3135
5165 vars3136
5166 val-exps3137
5167 body-exp3138))
5168 (decorate-source2441
5169 (list 'letrec
5170 (map list vars3136 val-exps3137)
5171 body-exp3138)
5172 src3134))))))
5173 (build-named-let2457
5174 (lambda (src3140
5175 ids3141
5176 vars3142
5177 val-exps3143
5178 body-exp3144)
5179 (let ((f3145 (car vars3142))
5180 (f-name3146 (car ids3141))
5181 (vars3147 (cdr vars3142))
5182 (ids3148 (cdr ids3141)))
5183 (let ((atom-key3149 (fluid-ref *mode*2432)))
5184 (if (memv atom-key3149 (quote (c)))
5185 (let ((proc3150
5186 (build-lambda2452
5187 src3140
5188 ids3148
5189 vars3147
5190 #f
5191 body-exp3144)))
5192 (begin
5193 (maybe-name-value!2450 f-name3146 proc3150)
5194 (for-each
5195 maybe-name-value!2450
5196 ids3148
5197 val-exps3143)
5198 ((@ (language tree-il) make-letrec)
5199 src3140
5200 (list f-name3146)
5201 (list f3145)
5202 (list proc3150)
5203 (build-application2443
5204 src3140
5205 (build-lexical-reference2445
5206 'fun
5207 src3140
5208 f-name3146
5209 f3145)
5210 val-exps3143))))
5211 (decorate-source2441
5212 (list 'let
5213 f3145
5214 (map list vars3147 val-exps3143)
5215 body-exp3144)
5216 src3140))))))
5217 (build-let2456
5218 (lambda (src3151
5219 ids3152
5220 vars3153
5221 val-exps3154
5222 body-exp3155)
5223 (if (null? vars3153)
5224 body-exp3155
5225 (let ((atom-key3156 (fluid-ref *mode*2432)))
5226 (if (memv atom-key3156 (quote (c)))
5227 (begin
5228 (for-each
5229 maybe-name-value!2450
5230 ids3152
5231 val-exps3154)
5232 ((@ (language tree-il) make-let)
5233 src3151
5234 ids3152
5235 vars3153
5236 val-exps3154
5237 body-exp3155))
5238 (decorate-source2441
5239 (list 'let
5240 (map list vars3153 val-exps3154)
5241 body-exp3155)
5242 src3151))))))
5243 (build-sequence2455
5244 (lambda (src3157 exps3158)
5245 (if (null? (cdr exps3158))
5246 (car exps3158)
5247 (let ((atom-key3159 (fluid-ref *mode*2432)))
5248 (if (memv atom-key3159 (quote (c)))
5249 ((@ (language tree-il) make-sequence)
5250 src3157
5251 exps3158)
5252 (decorate-source2441
5253 (cons (quote begin) exps3158)
5254 src3157))))))
5255 (build-data2454
5256 (lambda (src3160 exp3161)
5257 (let ((atom-key3162 (fluid-ref *mode*2432)))
5258 (if (memv atom-key3162 (quote (c)))
5259 ((@ (language tree-il) make-const)
5260 src3160
5261 exp3161)
5262 (decorate-source2441
5263 (if (if (self-evaluating? exp3161)
5264 (not (vector? exp3161))
5265 #f)
5266 exp3161
5267 (list (quote quote) exp3161))
5268 src3160)))))
5269 (build-primref2453
5270 (lambda (src3163 name3164)
5271 (if (equal?
5272 (module-name (current-module))
5273 '(guile))
5274 (let ((atom-key3165 (fluid-ref *mode*2432)))
5275 (if (memv atom-key3165 (quote (c)))
5276 ((@ (language tree-il) make-toplevel-ref)
5277 src3163
5278 name3164)
5279 (decorate-source2441 name3164 src3163)))
5280 (let ((atom-key3166 (fluid-ref *mode*2432)))
5281 (if (memv atom-key3166 (quote (c)))
5282 ((@ (language tree-il) make-module-ref)
5283 src3163
5284 '(guile)
5285 name3164
5286 #f)
5287 (decorate-source2441
5288 (list (quote @@) (quote (guile)) name3164)
5289 src3163))))))
5290 (build-lambda2452
5291 (lambda (src3167 ids3168 vars3169 docstring3170 exp3171)
5292 (let ((atom-key3172 (fluid-ref *mode*2432)))
5293 (if (memv atom-key3172 (quote (c)))
5294 ((@ (language tree-il) make-lambda)
5295 src3167
5296 ids3168
5297 vars3169
5298 (if docstring3170
5299 (list (cons (quote documentation) docstring3170))
5300 '())
5301 exp3171)
5302 (decorate-source2441
5303 (cons 'lambda
5304 (cons vars3169
5305 (append
5306 (if docstring3170
5307 (list docstring3170)
5308 '())
5309 (list exp3171))))
5310 src3167)))))
5311 (build-global-definition2451
5312 (lambda (source3173 var3174 exp3175)
5313 (let ((atom-key3176 (fluid-ref *mode*2432)))
5314 (if (memv atom-key3176 (quote (c)))
5315 (begin
5316 (maybe-name-value!2450 var3174 exp3175)
5317 ((@ (language tree-il) make-toplevel-define)
5318 source3173
5319 var3174
5320 exp3175))
5321 (decorate-source2441
5322 (list (quote define) var3174 exp3175)
5323 source3173)))))
5324 (maybe-name-value!2450
5325 (lambda (name3177 val3178)
5326 (if ((@ (language tree-il) lambda?) val3178)
5327 (let ((meta3179
5328 ((@ (language tree-il) lambda-meta) val3178)))
5329 (if (not (assq (quote name) meta3179))
5330 ((setter (@ (language tree-il) lambda-meta))
5331 val3178
5332 (acons (quote name) name3177 meta3179)))))))
5333 (build-global-assignment2449
5334 (lambda (source3180 var3181 exp3182 mod3183)
5335 (analyze-variable2447
5336 mod3183
5337 var3181
5338 (lambda (mod3184 var3185 public?3186)
5339 (let ((atom-key3187 (fluid-ref *mode*2432)))
5340 (if (memv atom-key3187 (quote (c)))
5341 ((@ (language tree-il) make-module-set)
5342 source3180
5343 mod3184
5344 var3185
5345 public?3186
5346 exp3182)
5347 (decorate-source2441
5348 (list 'set!
5349 (list (if public?3186 (quote @) (quote @@))
5350 mod3184
5351 var3185)
5352 exp3182)
5353 source3180))))
5354 (lambda (var3188)
5355 (let ((atom-key3189 (fluid-ref *mode*2432)))
5356 (if (memv atom-key3189 (quote (c)))
5357 ((@ (language tree-il) make-toplevel-set)
5358 source3180
5359 var3188
5360 exp3182)
5361 (decorate-source2441
5362 (list (quote set!) var3188 exp3182)
5363 source3180)))))))
5364 (build-global-reference2448
5365 (lambda (source3190 var3191 mod3192)
5366 (analyze-variable2447
5367 mod3192
5368 var3191
5369 (lambda (mod3193 var3194 public?3195)
5370 (let ((atom-key3196 (fluid-ref *mode*2432)))
5371 (if (memv atom-key3196 (quote (c)))
5372 ((@ (language tree-il) make-module-ref)
5373 source3190
5374 mod3193
5375 var3194
5376 public?3195)
5377 (decorate-source2441
5378 (list (if public?3195 (quote @) (quote @@))
5379 mod3193
5380 var3194)
5381 source3190))))
5382 (lambda (var3197)
5383 (let ((atom-key3198 (fluid-ref *mode*2432)))
5384 (if (memv atom-key3198 (quote (c)))
5385 ((@ (language tree-il) make-toplevel-ref)
5386 source3190
5387 var3197)
5388 (decorate-source2441 var3197 source3190)))))))
5389 (analyze-variable2447
5390 (lambda (mod3199 var3200 modref-cont3201 bare-cont3202)
5391 (if (not mod3199)
5392 (bare-cont3202 var3200)
5393 (let ((kind3203 (car mod3199))
5394 (mod3204 (cdr mod3199)))
5395 (if (memv kind3203 (quote (public)))
5396 (modref-cont3201 mod3204 var3200 #t)
5397 (if (memv kind3203 (quote (private)))
5398 (if (not (equal?
5399 mod3204
5400 (module-name (current-module))))
5401 (modref-cont3201 mod3204 var3200 #f)
5402 (bare-cont3202 var3200))
5403 (if (memv kind3203 (quote (bare)))
5404 (bare-cont3202 var3200)
5405 (if (memv kind3203 (quote (hygiene)))
5406 (if (if (not (equal?
5407 mod3204
5408 (module-name (current-module))))
5409 (module-variable
5410 (resolve-module mod3204)
5411 var3200)
5412 #f)
5413 (modref-cont3201 mod3204 var3200 #f)
5414 (bare-cont3202 var3200))
5415 (syntax-violation
5416 #f
5417 "bad module kind"
5418 var3200
5419 mod3204)))))))))
5420 (build-lexical-assignment2446
5421 (lambda (source3205 name3206 var3207 exp3208)
5422 (let ((atom-key3209 (fluid-ref *mode*2432)))
5423 (if (memv atom-key3209 (quote (c)))
5424 ((@ (language tree-il) make-lexical-set)
5425 source3205
5426 name3206
5427 var3207
5428 exp3208)
5429 (decorate-source2441
5430 (list (quote set!) var3207 exp3208)
5431 source3205)))))
5432 (build-lexical-reference2445
5433 (lambda (type3210 source3211 name3212 var3213)
5434 (let ((atom-key3214 (fluid-ref *mode*2432)))
5435 (if (memv atom-key3214 (quote (c)))
5436 ((@ (language tree-il) make-lexical-ref)
5437 source3211
5438 name3212
5439 var3213)
5440 (decorate-source2441 var3213 source3211)))))
5441 (build-conditional2444
5442 (lambda (source3215
5443 test-exp3216
5444 then-exp3217
5445 else-exp3218)
5446 (let ((atom-key3219 (fluid-ref *mode*2432)))
5447 (if (memv atom-key3219 (quote (c)))
5448 ((@ (language tree-il) make-conditional)
5449 source3215
5450 test-exp3216
5451 then-exp3217
5452 else-exp3218)
5453 (decorate-source2441
5454 (if (equal? else-exp3218 (quote (if #f #f)))
5455 (list (quote if) test-exp3216 then-exp3217)
5456 (list 'if
5457 test-exp3216
5458 then-exp3217
5459 else-exp3218))
5460 source3215)))))
5461 (build-application2443
5462 (lambda (source3220 fun-exp3221 arg-exps3222)
5463 (let ((atom-key3223 (fluid-ref *mode*2432)))
5464 (if (memv atom-key3223 (quote (c)))
5465 ((@ (language tree-il) make-application)
5466 source3220
5467 fun-exp3221
5468 arg-exps3222)
5469 (decorate-source2441
5470 (cons fun-exp3221 arg-exps3222)
5471 source3220)))))
5472 (build-void2442
5473 (lambda (source3224)
5474 (let ((atom-key3225 (fluid-ref *mode*2432)))
5475 (if (memv atom-key3225 (quote (c)))
5476 ((@ (language tree-il) make-void) source3224)
5477 (decorate-source2441
5478 '(if #f #f)
5479 source3224)))))
5480 (decorate-source2441
5481 (lambda (e3226 s3227)
5482 (begin
5483 (if (if (pair? e3226) s3227 #f)
5484 (set-source-properties! e3226 s3227))
5485 e3226)))
5486 (get-global-definition-hook2440
5487 (lambda (symbol3228 module3229)
5488 (begin
5489 (if (if (not module3229) (current-module) #f)
5490 (warn "module system is booted, we should have a module"
5491 symbol3228))
5492 (let ((v3230 (module-variable
5493 (if module3229
5494 (resolve-module (cdr module3229))
5495 (current-module))
5496 symbol3228)))
5497 (if v3230
5498 (if (variable-bound? v3230)
5499 (let ((val3231 (variable-ref v3230)))
5500 (if (macro? val3231)
5501 (if (syncase-macro-type val3231)
5502 (cons (syncase-macro-type val3231)
5503 (syncase-macro-binding val3231))
5504 #f)
5505 #f))
5506 #f)
5507 #f)))))
5508 (put-global-definition-hook2439
5509 (lambda (symbol3232 type3233 val3234)
5510 (let ((existing3235
5511 (let ((v3236 (module-variable
5512 (current-module)
5513 symbol3232)))
5514 (if v3236
5515 (if (variable-bound? v3236)
5516 (let ((val3237 (variable-ref v3236)))
5517 (if (macro? val3237)
5518 (if (not (syncase-macro-type val3237))
5519 val3237
5520 #f)
5521 #f))
5522 #f)
5523 #f))))
5524 (module-define!
5525 (current-module)
5526 symbol3232
5527 (if existing3235
5528 (make-extended-syncase-macro
5529 existing3235
5530 type3233
5531 val3234)
5532 (make-syncase-macro type3233 val3234))))))
5533 (local-eval-hook2438
5534 (lambda (x3238 mod3239)
5535 (primitive-eval
5536 (list noexpand2431
5537 (let ((atom-key3240 (fluid-ref *mode*2432)))
5538 (if (memv atom-key3240 (quote (c)))
5539 ((@ (language tree-il) tree-il->scheme) x3238)
5540 x3238))))))
5541 (top-level-eval-hook2437
5542 (lambda (x3241 mod3242)
5543 (primitive-eval
5544 (list noexpand2431
5545 (let ((atom-key3243 (fluid-ref *mode*2432)))
5546 (if (memv atom-key3243 (quote (c)))
5547 ((@ (language tree-il) tree-il->scheme) x3241)
5548 x3241))))))
5549 (fx<2436 <)
5550 (fx=2435 =)
5551 (fx-2434 -)
5552 (fx+2433 +)
5553 (*mode*2432 (make-fluid))
5554 (noexpand2431 "noexpand"))
5555 (begin
5556 (global-extend2474
5557 'local-syntax
5558 'letrec-syntax
5559 #t)
5560 (global-extend2474
5561 'local-syntax
5562 'let-syntax
5563 #f)
5564 (global-extend2474
5565 'core
5566 'fluid-let-syntax
5567 (lambda (e3244 r3245 w3246 s3247 mod3248)
5568 ((lambda (tmp3249)
5569 ((lambda (tmp3250)
5570 (if (if tmp3250
5571 (apply (lambda (_3251 var3252 val3253 e13254 e23255)
5572 (valid-bound-ids?2501 var3252))
5573 tmp3250)
5574 #f)
5575 (apply (lambda (_3257 var3258 val3259 e13260 e23261)
5576 (let ((names3262
5577 (map (lambda (x3263)
5578 (id-var-name2498 x3263 w3246))
5579 var3258)))
5580 (begin
5581 (for-each
5582 (lambda (id3265 n3266)
5583 (let ((atom-key3267
5584 (binding-type2468
5585 (lookup2473
5586 n3266
5587 r3245
5588 mod3248))))
5589 (if (memv atom-key3267
5590 '(displaced-lexical))
5591 (syntax-violation
5592 'fluid-let-syntax
5593 "identifier out of context"
5594 e3244
5595 (source-wrap2505
5596 id3265
5597 w3246
5598 s3247
5599 mod3248)))))
5600 var3258
5601 names3262)
5602 (chi-body2516
5603 (cons e13260 e23261)
5604 (source-wrap2505 e3244 w3246 s3247 mod3248)
5605 (extend-env2470
5606 names3262
5607 (let ((trans-r3270
5608 (macros-only-env2472 r3245)))
5609 (map (lambda (x3271)
5610 (cons 'macro
5611 (eval-local-transformer2519
5612 (chi2512
5613 x3271
5614 trans-r3270
5615 w3246
5616 mod3248)
5617 mod3248)))
5618 val3259))
5619 r3245)
5620 w3246
5621 mod3248))))
5622 tmp3250)
5623 ((lambda (_3273)
5624 (syntax-violation
5625 'fluid-let-syntax
5626 "bad syntax"
5627 (source-wrap2505 e3244 w3246 s3247 mod3248)))
5628 tmp3249)))
5629 ($sc-dispatch
5630 tmp3249
5631 '(any #(each (any any)) any . each-any))))
5632 e3244)))
5633 (global-extend2474
5634 'core
5635 'quote
5636 (lambda (e3274 r3275 w3276 s3277 mod3278)
5637 ((lambda (tmp3279)
5638 ((lambda (tmp3280)
5639 (if tmp3280
5640 (apply (lambda (_3281 e3282)
5641 (build-data2454 s3277 (strip2522 e3282 w3276)))
5642 tmp3280)
5643 ((lambda (_3283)
5644 (syntax-violation
5645 'quote
5646 "bad syntax"
5647 (source-wrap2505 e3274 w3276 s3277 mod3278)))
5648 tmp3279)))
5649 ($sc-dispatch tmp3279 (quote (any any)))))
5650 e3274)))
5651 (global-extend2474
5652 'core
5653 'syntax
5654 (letrec ((regen3291
5655 (lambda (x3292)
5656 (let ((atom-key3293 (car x3292)))
5657 (if (memv atom-key3293 (quote (ref)))
5658 (build-lexical-reference2445
5659 'value
5660 #f
5661 (cadr x3292)
5662 (cadr x3292))
5663 (if (memv atom-key3293 (quote (primitive)))
5664 (build-primref2453 #f (cadr x3292))
5665 (if (memv atom-key3293 (quote (quote)))
5666 (build-data2454 #f (cadr x3292))
5667 (if (memv atom-key3293 (quote (lambda)))
5668 (build-lambda2452
5669 #f
5670 (cadr x3292)
5671 (cadr x3292)
5672 #f
5673 (regen3291 (caddr x3292)))
5674 (build-application2443
5675 #f
5676 (build-primref2453 #f (car x3292))
5677 (map regen3291 (cdr x3292))))))))))
5678 (gen-vector3290
5679 (lambda (x3294)
5680 (if (eq? (car x3294) (quote list))
5681 (cons (quote vector) (cdr x3294))
5682 (if (eq? (car x3294) (quote quote))
5683 (list (quote quote) (list->vector (cadr x3294)))
5684 (list (quote list->vector) x3294)))))
5685 (gen-append3289
5686 (lambda (x3295 y3296)
5687 (if (equal? y3296 (quote (quote ())))
5688 x3295
5689 (list (quote append) x3295 y3296))))
5690 (gen-cons3288
5691 (lambda (x3297 y3298)
5692 (let ((atom-key3299 (car y3298)))
5693 (if (memv atom-key3299 (quote (quote)))
5694 (if (eq? (car x3297) (quote quote))
5695 (list 'quote
5696 (cons (cadr x3297) (cadr y3298)))
5697 (if (eq? (cadr y3298) (quote ()))
5698 (list (quote list) x3297)
5699 (list (quote cons) x3297 y3298)))
5700 (if (memv atom-key3299 (quote (list)))
5701 (cons (quote list) (cons x3297 (cdr y3298)))
5702 (list (quote cons) x3297 y3298))))))
5703 (gen-map3287
5704 (lambda (e3300 map-env3301)
5705 (let ((formals3302 (map cdr map-env3301))
5706 (actuals3303
5707 (map (lambda (x3304)
5708 (list (quote ref) (car x3304)))
5709 map-env3301)))
5710 (if (eq? (car e3300) (quote ref))
5711 (car actuals3303)
5712 (if (and-map
5713 (lambda (x3305)
5714 (if (eq? (car x3305) (quote ref))
5715 (memq (cadr x3305) formals3302)
5716 #f))
5717 (cdr e3300))
5718 (cons 'map
5719 (cons (list (quote primitive) (car e3300))
5720 (map (let ((r3306 (map cons
5721 formals3302
5722 actuals3303)))
5723 (lambda (x3307)
5724 (cdr (assq (cadr x3307)
5725 r3306))))
5726 (cdr e3300))))
5727 (cons 'map
5728 (cons (list (quote lambda) formals3302 e3300)
5729 actuals3303)))))))
5730 (gen-mappend3286
5731 (lambda (e3308 map-env3309)
5732 (list 'apply
5733 '(primitive append)
5734 (gen-map3287 e3308 map-env3309))))
5735 (gen-ref3285
5736 (lambda (src3310 var3311 level3312 maps3313)
5737 (if (fx=2435 level3312 0)
5738 (values var3311 maps3313)
5739 (if (null? maps3313)
5740 (syntax-violation
5741 'syntax
5742 "missing ellipsis"
5743 src3310)
5744 (call-with-values
5745 (lambda ()
5746 (gen-ref3285
5747 src3310
5748 var3311
5749 (fx-2434 level3312 1)
5750 (cdr maps3313)))
5751 (lambda (outer-var3314 outer-maps3315)
5752 (let ((b3316 (assq outer-var3314 (car maps3313))))
5753 (if b3316
5754 (values (cdr b3316) maps3313)
5755 (let ((inner-var3317
5756 (gen-var2523 (quote tmp))))
5757 (values
5758 inner-var3317
5759 (cons (cons (cons outer-var3314
5760 inner-var3317)
5761 (car maps3313))
5762 outer-maps3315)))))))))))
5763 (gen-syntax3284
5764 (lambda (src3318
5765 e3319
5766 r3320
5767 maps3321
5768 ellipsis?3322
5769 mod3323)
5770 (if (id?2476 e3319)
5771 (let ((label3324 (id-var-name2498 e3319 (quote (())))))
5772 (let ((b3325 (lookup2473 label3324 r3320 mod3323)))
5773 (if (eq? (binding-type2468 b3325) (quote syntax))
5774 (call-with-values
5775 (lambda ()
5776 (let ((var.lev3326 (binding-value2469 b3325)))
5777 (gen-ref3285
5778 src3318
5779 (car var.lev3326)
5780 (cdr var.lev3326)
5781 maps3321)))
5782 (lambda (var3327 maps3328)
5783 (values (list (quote ref) var3327) maps3328)))
5784 (if (ellipsis?3322 e3319)
5785 (syntax-violation
5786 'syntax
5787 "misplaced ellipsis"
5788 src3318)
5789 (values (list (quote quote) e3319) maps3321)))))
5790 ((lambda (tmp3329)
5791 ((lambda (tmp3330)
5792 (if (if tmp3330
5793 (apply (lambda (dots3331 e3332)
5794 (ellipsis?3322 dots3331))
5795 tmp3330)
5796 #f)
5797 (apply (lambda (dots3333 e3334)
5798 (gen-syntax3284
5799 src3318
5800 e3334
5801 r3320
5802 maps3321
5803 (lambda (x3335) #f)
5804 mod3323))
5805 tmp3330)
5806 ((lambda (tmp3336)
5807 (if (if tmp3336
5808 (apply (lambda (x3337 dots3338 y3339)
5809 (ellipsis?3322 dots3338))
5810 tmp3336)
5811 #f)
5812 (apply (lambda (x3340 dots3341 y3342)
5813 (letrec ((f3343 (lambda (y3344
5814 k3345)
5815 ((lambda (tmp3349)
5816 ((lambda (tmp3350)
5817 (if (if tmp3350
5818 (apply (lambda (dots3351
5819 y3352)
5820 (ellipsis?3322
5821 dots3351))
5822 tmp3350)
5823 #f)
5824 (apply (lambda (dots3353
5825 y3354)
5826 (f3343 y3354
5827 (lambda (maps3355)
5828 (call-with-values
5829 (lambda ()
5830 (k3345 (cons '()
5831 maps3355)))
5832 (lambda (x3356
5833 maps3357)
5834 (if (null? (car maps3357))
5835 (syntax-violation
5836 'syntax
5837 "extra ellipsis"
5838 src3318)
5839 (values
5840 (gen-mappend3286
5841 x3356
5842 (car maps3357))
5843 (cdr maps3357))))))))
5844 tmp3350)
5845 ((lambda (_3358)
5846 (call-with-values
5847 (lambda ()
5848 (gen-syntax3284
5849 src3318
5850 y3344
5851 r3320
5852 maps3321
5853 ellipsis?3322
5854 mod3323))
5855 (lambda (y3359
5856 maps3360)
5857 (call-with-values
5858 (lambda ()
5859 (k3345 maps3360))
5860 (lambda (x3361
5861 maps3362)
5862 (values
5863 (gen-append3289
5864 x3361
5865 y3359)
5866 maps3362))))))
5867 tmp3349)))
5868 ($sc-dispatch
5869 tmp3349
5870 '(any .
5871 any))))
5872 y3344))))
5873 (f3343 y3342
5874 (lambda (maps3346)
5875 (call-with-values
5876 (lambda ()
5877 (gen-syntax3284
5878 src3318
5879 x3340
5880 r3320
5881 (cons '()
5882 maps3346)
5883 ellipsis?3322
5884 mod3323))
5885 (lambda (x3347
5886 maps3348)
5887 (if (null? (car maps3348))
5888 (syntax-violation
5889 'syntax
5890 "extra ellipsis"
5891 src3318)
5892 (values
5893 (gen-map3287
5894 x3347
5895 (car maps3348))
5896 (cdr maps3348)))))))))
5897 tmp3336)
5898 ((lambda (tmp3363)
5899 (if tmp3363
5900 (apply (lambda (x3364 y3365)
5901 (call-with-values
5902 (lambda ()
5903 (gen-syntax3284
5904 src3318
5905 x3364
5906 r3320
5907 maps3321
5908 ellipsis?3322
5909 mod3323))
5910 (lambda (x3366 maps3367)
5911 (call-with-values
5912 (lambda ()
5913 (gen-syntax3284
5914 src3318
5915 y3365
5916 r3320
5917 maps3367
5918 ellipsis?3322
5919 mod3323))
5920 (lambda (y3368
5921 maps3369)
5922 (values
5923 (gen-cons3288
5924 x3366
5925 y3368)
5926 maps3369))))))
5927 tmp3363)
5928 ((lambda (tmp3370)
5929 (if tmp3370
5930 (apply (lambda (e13371 e23372)
5931 (call-with-values
5932 (lambda ()
5933 (gen-syntax3284
5934 src3318
5935 (cons e13371
5936 e23372)
5937 r3320
5938 maps3321
5939 ellipsis?3322
5940 mod3323))
5941 (lambda (e3374
5942 maps3375)
5943 (values
5944 (gen-vector3290
5945 e3374)
5946 maps3375))))
5947 tmp3370)
5948 ((lambda (_3376)
5949 (values
5950 (list (quote quote) e3319)
5951 maps3321))
5952 tmp3329)))
5953 ($sc-dispatch
5954 tmp3329
5955 '#(vector (any . each-any))))))
5956 ($sc-dispatch
5957 tmp3329
5958 '(any . any)))))
5959 ($sc-dispatch
5960 tmp3329
5961 '(any any . any)))))
5962 ($sc-dispatch tmp3329 (quote (any any)))))
5963 e3319)))))
5964 (lambda (e3377 r3378 w3379 s3380 mod3381)
5965 (let ((e3382 (source-wrap2505 e3377 w3379 s3380 mod3381)))
5966 ((lambda (tmp3383)
5967 ((lambda (tmp3384)
5968 (if tmp3384
5969 (apply (lambda (_3385 x3386)
5970 (call-with-values
5971 (lambda ()
5972 (gen-syntax3284
5973 e3382
5974 x3386
5975 r3378
5976 '()
5977 ellipsis?2521
5978 mod3381))
5979 (lambda (e3387 maps3388) (regen3291 e3387))))
5980 tmp3384)
5981 ((lambda (_3389)
5982 (syntax-violation
5983 'syntax
5984 "bad `syntax' form"
5985 e3382))
5986 tmp3383)))
5987 ($sc-dispatch tmp3383 (quote (any any)))))
5988 e3382)))))
5989 (global-extend2474
5990 'core
5991 'lambda
5992 (lambda (e3390 r3391 w3392 s3393 mod3394)
5993 ((lambda (tmp3395)
5994 ((lambda (tmp3396)
5995 (if tmp3396
5996 (apply (lambda (_3397 c3398)
5997 (chi-lambda-clause2517
5998 (source-wrap2505 e3390 w3392 s3393 mod3394)
5999 #f
6000 c3398
6001 r3391
6002 w3392
6003 mod3394
6004 (lambda (names3399
6005 vars3400
6006 docstring3401
6007 body3402)
6008 (build-lambda2452
6009 s3393
6010 names3399
6011 vars3400
6012 docstring3401
6013 body3402))))
6014 tmp3396)
6015 (syntax-violation
6016 #f
6017 "source expression failed to match any pattern"
6018 tmp3395)))
6019 ($sc-dispatch tmp3395 (quote (any . any)))))
6020 e3390)))
6021 (global-extend2474
6022 'core
6023 'let
6024 (letrec ((chi-let3403
6025 (lambda (e3404
6026 r3405
6027 w3406
6028 s3407
6029 mod3408
6030 constructor3409
6031 ids3410
6032 vals3411
6033 exps3412)
6034 (if (not (valid-bound-ids?2501 ids3410))
6035 (syntax-violation
6036 'let
6037 "duplicate bound variable"
6038 e3404)
6039 (let ((labels3413 (gen-labels2482 ids3410))
6040 (new-vars3414 (map gen-var2523 ids3410)))
6041 (let ((nw3415
6042 (make-binding-wrap2493
6043 ids3410
6044 labels3413
6045 w3406))
6046 (nr3416
6047 (extend-var-env2471
6048 labels3413
6049 new-vars3414
6050 r3405)))
6051 (constructor3409
6052 s3407
6053 (map syntax->datum ids3410)
6054 new-vars3414
6055 (map (lambda (x3417)
6056 (chi2512 x3417 r3405 w3406 mod3408))
6057 vals3411)
6058 (chi-body2516
6059 exps3412
6060 (source-wrap2505 e3404 nw3415 s3407 mod3408)
6061 nr3416
6062 nw3415
6063 mod3408))))))))
6064 (lambda (e3418 r3419 w3420 s3421 mod3422)
6065 ((lambda (tmp3423)
6066 ((lambda (tmp3424)
6067 (if (if tmp3424
6068 (apply (lambda (_3425 id3426 val3427 e13428 e23429)
6069 (and-map id?2476 id3426))
6070 tmp3424)
6071 #f)
6072 (apply (lambda (_3431 id3432 val3433 e13434 e23435)
6073 (chi-let3403
6074 e3418
6075 r3419
6076 w3420
6077 s3421
6078 mod3422
6079 build-let2456
6080 id3432
6081 val3433
6082 (cons e13434 e23435)))
6083 tmp3424)
6084 ((lambda (tmp3439)
6085 (if (if tmp3439
6086 (apply (lambda (_3440
6087 f3441
6088 id3442
6089 val3443
6090 e13444
6091 e23445)
6092 (if (id?2476 f3441)
6093 (and-map id?2476 id3442)
6094 #f))
6095 tmp3439)
6096 #f)
6097 (apply (lambda (_3447
6098 f3448
6099 id3449
6100 val3450
6101 e13451
6102 e23452)
6103 (chi-let3403
6104 e3418
6105 r3419
6106 w3420
6107 s3421
6108 mod3422
6109 build-named-let2457
6110 (cons f3448 id3449)
6111 val3450
6112 (cons e13451 e23452)))
6113 tmp3439)
6114 ((lambda (_3456)
6115 (syntax-violation
6116 'let
6117 "bad let"
6118 (source-wrap2505 e3418 w3420 s3421 mod3422)))
6119 tmp3423)))
6120 ($sc-dispatch
6121 tmp3423
6122 '(any any #(each (any any)) any . each-any)))))
6123 ($sc-dispatch
6124 tmp3423
6125 '(any #(each (any any)) any . each-any))))
6126 e3418))))
6127 (global-extend2474
6128 'core
6129 'letrec
6130 (lambda (e3457 r3458 w3459 s3460 mod3461)
6131 ((lambda (tmp3462)
6132 ((lambda (tmp3463)
6133 (if (if tmp3463
6134 (apply (lambda (_3464 id3465 val3466 e13467 e23468)
6135 (and-map id?2476 id3465))
6136 tmp3463)
6137 #f)
6138 (apply (lambda (_3470 id3471 val3472 e13473 e23474)
6139 (let ((ids3475 id3471))
6140 (if (not (valid-bound-ids?2501 ids3475))
6141 (syntax-violation
6142 'letrec
6143 "duplicate bound variable"
6144 e3457)
6145 (let ((labels3477 (gen-labels2482 ids3475))
6146 (new-vars3478 (map gen-var2523 ids3475)))
6147 (let ((w3479 (make-binding-wrap2493
6148 ids3475
6149 labels3477
6150 w3459))
6151 (r3480 (extend-var-env2471
6152 labels3477
6153 new-vars3478
6154 r3458)))
6155 (build-letrec2458
6156 s3460
6157 (map syntax->datum ids3475)
6158 new-vars3478
6159 (map (lambda (x3481)
6160 (chi2512
6161 x3481
6162 r3480
6163 w3479
6164 mod3461))
6165 val3472)
6166 (chi-body2516
6167 (cons e13473 e23474)
6168 (source-wrap2505
6169 e3457
6170 w3479
6171 s3460
6172 mod3461)
6173 r3480
6174 w3479
6175 mod3461)))))))
6176 tmp3463)
6177 ((lambda (_3484)
6178 (syntax-violation
6179 'letrec
6180 "bad letrec"
6181 (source-wrap2505 e3457 w3459 s3460 mod3461)))
6182 tmp3462)))
6183 ($sc-dispatch
6184 tmp3462
6185 '(any #(each (any any)) any . each-any))))
6186 e3457)))
6187 (global-extend2474
6188 'core
6189 'set!
6190 (lambda (e3485 r3486 w3487 s3488 mod3489)
6191 ((lambda (tmp3490)
6192 ((lambda (tmp3491)
6193 (if (if tmp3491
6194 (apply (lambda (_3492 id3493 val3494) (id?2476 id3493))
6195 tmp3491)
6196 #f)
6197 (apply (lambda (_3495 id3496 val3497)
6198 (let ((val3498
6199 (chi2512 val3497 r3486 w3487 mod3489))
6200 (n3499 (id-var-name2498 id3496 w3487)))
6201 (let ((b3500 (lookup2473 n3499 r3486 mod3489)))
6202 (let ((atom-key3501 (binding-type2468 b3500)))
6203 (if (memv atom-key3501 (quote (lexical)))
6204 (build-lexical-assignment2446
6205 s3488
6206 (syntax->datum id3496)
6207 (binding-value2469 b3500)
6208 val3498)
6209 (if (memv atom-key3501 (quote (global)))
6210 (build-global-assignment2449
6211 s3488
6212 n3499
6213 val3498
6214 mod3489)
6215 (if (memv atom-key3501
6216 '(displaced-lexical))
6217 (syntax-violation
6218 'set!
6219 "identifier out of context"
6220 (wrap2504 id3496 w3487 mod3489))
6221 (syntax-violation
6222 'set!
6223 "bad set!"
6224 (source-wrap2505
6225 e3485
6226 w3487
6227 s3488
6228 mod3489)))))))))
6229 tmp3491)
6230 ((lambda (tmp3502)
6231 (if tmp3502
6232 (apply (lambda (_3503 head3504 tail3505 val3506)
6233 (call-with-values
6234 (lambda ()
6235 (syntax-type2510
6236 head3504
6237 r3486
6238 '(())
6239 #f
6240 #f
6241 mod3489
6242 #t))
6243 (lambda (type3507
6244 value3508
6245 ee3509
6246 ww3510
6247 ss3511
6248 modmod3512)
6249 (if (memv type3507 (quote (module-ref)))
6250 (let ((val3513
6251 (chi2512
6252 val3506
6253 r3486
6254 w3487
6255 mod3489)))
6256 (call-with-values
6257 (lambda ()
6258 (value3508
6259 (cons head3504 tail3505)))
6260 (lambda (id3515 mod3516)
6261 (build-global-assignment2449
6262 s3488
6263 id3515
6264 val3513
6265 mod3516))))
6266 (build-application2443
6267 s3488
6268 (chi2512
6269 (list '#(syntax-object
6270 setter
6271 ((top)
6272 #(ribcage () () ())
6273 #(ribcage () () ())
6274 #(ribcage
6275 #(type
6276 value
6277 ee
6278 ww
6279 ss
6280 modmod)
6281 #((top)
6282 (top)
6283 (top)
6284 (top)
6285 (top)
6286 (top))
6287 #("i"
6288 "i"
6289 "i"
6290 "i"
6291 "i"
6292 "i"))
6293 #(ribcage
6294 #(_ head tail val)
6295 #((top)
6296 (top)
6297 (top)
6298 (top))
6299 #("i" "i" "i" "i"))
6300 #(ribcage () () ())
6301 #(ribcage
6302 #(e r w s mod)
6303 #((top)
6304 (top)
6305 (top)
6306 (top)
6307 (top))
6308 #("i" "i" "i" "i" "i"))
6309 #(ribcage
6310 (lambda-var-list
6311 gen-var
6312 strip
6313 ellipsis?
6314 chi-void
6315 eval-local-transformer
6316 chi-local-syntax
6317 chi-lambda-clause
6318 chi-body
6319 chi-macro
6320 chi-application
6321 chi-expr
6322 chi
6323 chi-top
6324 syntax-type
6325 chi-when-list
6326 chi-install-global
6327 chi-top-sequence
6328 chi-sequence
6329 source-wrap
6330 wrap
6331 bound-id-member?
6332 distinct-bound-ids?
6333 valid-bound-ids?
6334 bound-id=?
6335 free-id=?
6336 id-var-name
6337 same-marks?
6338 join-marks
6339 join-wraps
6340 smart-append
6341 make-binding-wrap
6342 extend-ribcage!
6343 make-empty-ribcage
6344 new-mark
6345 anti-mark
6346 the-anti-mark
6347 top-marked?
6348 top-wrap
6349 empty-wrap
6350 set-ribcage-labels!
6351 set-ribcage-marks!
6352 set-ribcage-symnames!
6353 ribcage-labels
6354 ribcage-marks
6355 ribcage-symnames
6356 ribcage?
6357 make-ribcage
6358 gen-labels
6359 gen-label
6360 make-rename
6361 rename-marks
6362 rename-new
6363 rename-old
6364 subst-rename?
6365 wrap-subst
6366 wrap-marks
6367 make-wrap
6368 id-sym-name&marks
6369 id-sym-name
6370 id?
6371 nonsymbol-id?
6372 global-extend
6373 lookup
6374 macros-only-env
6375 extend-var-env
6376 extend-env
6377 null-env
6378 binding-value
6379 binding-type
6380 make-binding
6381 arg-check
6382 source-annotation
6383 no-source
6384 set-syntax-object-module!
6385 set-syntax-object-wrap!
6386 set-syntax-object-expression!
6387 syntax-object-module
6388 syntax-object-wrap
6389 syntax-object-expression
6390 syntax-object?
6391 make-syntax-object
6392 build-lexical-var
6393 build-letrec
6394 build-named-let
6395 build-let
6396 build-sequence
6397 build-data
6398 build-primref
6399 build-lambda
6400 build-global-definition
6401 maybe-name-value!
6402 build-global-assignment
6403 build-global-reference
6404 analyze-variable
6405 build-lexical-assignment
6406 build-lexical-reference
6407 build-conditional
6408 build-application
6409 build-void
6410 decorate-source
6411 get-global-definition-hook
6412 put-global-definition-hook
6413 gensym-hook
6414 local-eval-hook
6415 top-level-eval-hook
6416 fx<
6417 fx=
6418 fx-
6419 fx+
6420 *mode*
6421 noexpand)
6422 ((top)
6423 (top)
6424 (top)
6425 (top)
6426 (top)
6427 (top)
6428 (top)
6429 (top)
6430 (top)
6431 (top)
6432 (top)
6433 (top)
6434 (top)
6435 (top)
6436 (top)
6437 (top)
6438 (top)
6439 (top)
6440 (top)
6441 (top)
6442 (top)
6443 (top)
6444 (top)
6445 (top)
6446 (top)
6447 (top)
6448 (top)
6449 (top)
6450 (top)
6451 (top)
6452 (top)
6453 (top)
6454 (top)
6455 (top)
6456 (top)
6457 (top)
6458 (top)
6459 (top)
6460 (top)
6461 (top)
6462 (top)
6463 (top)
6464 (top)
6465 (top)
6466 (top)
6467 (top)
6468 (top)
6469 (top)
6470 (top)
6471 (top)
6472 (top)
6473 (top)
6474 (top)
6475 (top)
6476 (top)
6477 (top)
6478 (top)
6479 (top)
6480 (top)
6481 (top)
6482 (top)
6483 (top)
6484 (top)
6485 (top)
6486 (top)
6487 (top)
6488 (top)
6489 (top)
6490 (top)
6491 (top)
6492 (top)
6493 (top)
6494 (top)
6495 (top)
6496 (top)
6497 (top)
6498 (top)
6499 (top)
6500 (top)
6501 (top)
6502 (top)
6503 (top)
6504 (top)
6505 (top)
6506 (top)
6507 (top)
6508 (top)
6509 (top)
6510 (top)
6511 (top)
6512 (top)
6513 (top)
6514 (top)
6515 (top)
6516 (top)
6517 (top)
6518 (top)
6519 (top)
6520 (top)
6521 (top)
6522 (top)
6523 (top)
6524 (top)
6525 (top)
6526 (top)
6527 (top)
6528 (top)
6529 (top)
6530 (top)
6531 (top)
6532 (top)
6533 (top))
6534 ("i"
6535 "i"
6536 "i"
6537 "i"
6538 "i"
6539 "i"
6540 "i"
6541 "i"
6542 "i"
6543 "i"
6544 "i"
6545 "i"
6546 "i"
6547 "i"
6548 "i"
6549 "i"
6550 "i"
6551 "i"
6552 "i"
6553 "i"
6554 "i"
6555 "i"
6556 "i"
6557 "i"
6558 "i"
6559 "i"
6560 "i"
6561 "i"
6562 "i"
6563 "i"
6564 "i"
6565 "i"
6566 "i"
6567 "i"
6568 "i"
6569 "i"
6570 "i"
6571 "i"
6572 "i"
6573 "i"
6574 "i"
6575 "i"
6576 "i"
6577 "i"
6578 "i"
6579 "i"
6580 "i"
6581 "i"
6582 "i"
6583 "i"
6584 "i"
6585 "i"
6586 "i"
6587 "i"
6588 "i"
6589 "i"
6590 "i"
6591 "i"
6592 "i"
6593 "i"
6594 "i"
6595 "i"
6596 "i"
6597 "i"
6598 "i"
6599 "i"
6600 "i"
6601 "i"
6602 "i"
6603 "i"
6604 "i"
6605 "i"
6606 "i"
6607 "i"
6608 "i"
6609 "i"
6610 "i"
6611 "i"
6612 "i"
6613 "i"
6614 "i"
6615 "i"
6616 "i"
6617 "i"
6618 "i"
6619 "i"
6620 "i"
6621 "i"
6622 "i"
6623 "i"
6624 "i"
6625 "i"
6626 "i"
6627 "i"
6628 "i"
6629 "i"
6630 "i"
6631 "i"
6632 "i"
6633 "i"
6634 "i"
6635 "i"
6636 "i"
6637 "i"
6638 "i"
6639 "i"
6640 "i"
6641 "i"
6642 "i"
6643 "i"
6644 "i"
6645 "i"))
6646 #(ribcage
6647 (define-structure
6648 and-map*)
6649 ((top) (top))
6650 ("i" "i")))
6651 (hygiene guile))
6652 head3504)
6653 r3486
6654 w3487
6655 mod3489)
6656 (map (lambda (e3517)
6657 (chi2512
6658 e3517
6659 r3486
6660 w3487
6661 mod3489))
6662 (append
6663 tail3505
6664 (list val3506))))))))
6665 tmp3502)
6666 ((lambda (_3519)
6667 (syntax-violation
6668 'set!
6669 "bad set!"
6670 (source-wrap2505 e3485 w3487 s3488 mod3489)))
6671 tmp3490)))
6672 ($sc-dispatch
6673 tmp3490
6674 '(any (any . each-any) any)))))
6675 ($sc-dispatch tmp3490 (quote (any any any)))))
6676 e3485)))
6677 (global-extend2474
6678 'module-ref
6679 '@
6680 (lambda (e3520)
6681 ((lambda (tmp3521)
6682 ((lambda (tmp3522)
6683 (if (if tmp3522
6684 (apply (lambda (_3523 mod3524 id3525)
6685 (if (and-map id?2476 mod3524)
6686 (id?2476 id3525)
6687 #f))
6688 tmp3522)
6689 #f)
6690 (apply (lambda (_3527 mod3528 id3529)
6691 (values
6692 (syntax->datum id3529)
6693 (syntax->datum
6694 (cons '#(syntax-object
6695 public
6696 ((top)
6697 #(ribcage
6698 #(_ mod id)
6699 #((top) (top) (top))
6700 #("i" "i" "i"))
6701 #(ribcage () () ())
6702 #(ribcage #(e) #((top)) #("i"))
6703 #(ribcage
6704 (lambda-var-list
6705 gen-var
6706 strip
6707 ellipsis?
6708 chi-void
6709 eval-local-transformer
6710 chi-local-syntax
6711 chi-lambda-clause
6712 chi-body
6713 chi-macro
6714 chi-application
6715 chi-expr
6716 chi
6717 chi-top
6718 syntax-type
6719 chi-when-list
6720 chi-install-global
6721 chi-top-sequence
6722 chi-sequence
6723 source-wrap
6724 wrap
6725 bound-id-member?
6726 distinct-bound-ids?
6727 valid-bound-ids?
6728 bound-id=?
6729 free-id=?
6730 id-var-name
6731 same-marks?
6732 join-marks
6733 join-wraps
6734 smart-append
6735 make-binding-wrap
6736 extend-ribcage!
6737 make-empty-ribcage
6738 new-mark
6739 anti-mark
6740 the-anti-mark
6741 top-marked?
6742 top-wrap
6743 empty-wrap
6744 set-ribcage-labels!
6745 set-ribcage-marks!
6746 set-ribcage-symnames!
6747 ribcage-labels
6748 ribcage-marks
6749 ribcage-symnames
6750 ribcage?
6751 make-ribcage
6752 gen-labels
6753 gen-label
6754 make-rename
6755 rename-marks
6756 rename-new
6757 rename-old
6758 subst-rename?
6759 wrap-subst
6760 wrap-marks
6761 make-wrap
6762 id-sym-name&marks
6763 id-sym-name
6764 id?
6765 nonsymbol-id?
6766 global-extend
6767 lookup
6768 macros-only-env
6769 extend-var-env
6770 extend-env
6771 null-env
6772 binding-value
6773 binding-type
6774 make-binding
6775 arg-check
6776 source-annotation
6777 no-source
6778 set-syntax-object-module!
6779 set-syntax-object-wrap!
6780 set-syntax-object-expression!
6781 syntax-object-module
6782 syntax-object-wrap
6783 syntax-object-expression
6784 syntax-object?
6785 make-syntax-object
6786 build-lexical-var
6787 build-letrec
6788 build-named-let
6789 build-let
6790 build-sequence
6791 build-data
6792 build-primref
6793 build-lambda
6794 build-global-definition
6795 maybe-name-value!
6796 build-global-assignment
6797 build-global-reference
6798 analyze-variable
6799 build-lexical-assignment
6800 build-lexical-reference
6801 build-conditional
6802 build-application
6803 build-void
6804 decorate-source
6805 get-global-definition-hook
6806 put-global-definition-hook
6807 gensym-hook
6808 local-eval-hook
6809 top-level-eval-hook
6810 fx<
6811 fx=
6812 fx-
6813 fx+
6814 *mode*
6815 noexpand)
6816 ((top)
6817 (top)
6818 (top)
6819 (top)
6820 (top)
6821 (top)
6822 (top)
6823 (top)
6824 (top)
6825 (top)
6826 (top)
6827 (top)
6828 (top)
6829 (top)
6830 (top)
6831 (top)
6832 (top)
6833 (top)
6834 (top)
6835 (top)
6836 (top)
6837 (top)
6838 (top)
6839 (top)
6840 (top)
6841 (top)
6842 (top)
6843 (top)
6844 (top)
6845 (top)
6846 (top)
6847 (top)
6848 (top)
6849 (top)
6850 (top)
6851 (top)
6852 (top)
6853 (top)
6854 (top)
6855 (top)
6856 (top)
6857 (top)
6858 (top)
6859 (top)
6860 (top)
6861 (top)
6862 (top)
6863 (top)
6864 (top)
6865 (top)
6866 (top)
6867 (top)
6868 (top)
6869 (top)
6870 (top)
6871 (top)
6872 (top)
6873 (top)
6874 (top)
6875 (top)
6876 (top)
6877 (top)
6878 (top)
6879 (top)
6880 (top)
6881 (top)
6882 (top)
6883 (top)
6884 (top)
6885 (top)
6886 (top)
6887 (top)
6888 (top)
6889 (top)
6890 (top)
6891 (top)
6892 (top)
6893 (top)
6894 (top)
6895 (top)
6896 (top)
6897 (top)
6898 (top)
6899 (top)
6900 (top)
6901 (top)
6902 (top)
6903 (top)
6904 (top)
6905 (top)
6906 (top)
6907 (top)
6908 (top)
6909 (top)
6910 (top)
6911 (top)
6912 (top)
6913 (top)
6914 (top)
6915 (top)
6916 (top)
6917 (top)
6918 (top)
6919 (top)
6920 (top)
6921 (top)
6922 (top)
6923 (top)
6924 (top)
6925 (top)
6926 (top)
6927 (top))
6928 ("i"
6929 "i"
6930 "i"
6931 "i"
6932 "i"
6933 "i"
6934 "i"
6935 "i"
6936 "i"
6937 "i"
6938 "i"
6939 "i"
6940 "i"
6941 "i"
6942 "i"
6943 "i"
6944 "i"
6945 "i"
6946 "i"
6947 "i"
6948 "i"
6949 "i"
6950 "i"
6951 "i"
6952 "i"
6953 "i"
6954 "i"
6955 "i"
6956 "i"
6957 "i"
6958 "i"
6959 "i"
6960 "i"
6961 "i"
6962 "i"
6963 "i"
6964 "i"
6965 "i"
6966 "i"
6967 "i"
6968 "i"
6969 "i"
6970 "i"
6971 "i"
6972 "i"
6973 "i"
6974 "i"
6975 "i"
6976 "i"
6977 "i"
6978 "i"
6979 "i"
6980 "i"
6981 "i"
6982 "i"
6983 "i"
6984 "i"
6985 "i"
6986 "i"
6987 "i"
6988 "i"
6989 "i"
6990 "i"
6991 "i"
6992 "i"
6993 "i"
6994 "i"
6995 "i"
6996 "i"
6997 "i"
6998 "i"
6999 "i"
7000 "i"
7001 "i"
7002 "i"
7003 "i"
7004 "i"
7005 "i"
7006 "i"
7007 "i"
7008 "i"
7009 "i"
7010 "i"
7011 "i"
7012 "i"
7013 "i"
7014 "i"
7015 "i"
7016 "i"
7017 "i"
7018 "i"
7019 "i"
7020 "i"
7021 "i"
7022 "i"
7023 "i"
7024 "i"
7025 "i"
7026 "i"
7027 "i"
7028 "i"
7029 "i"
7030 "i"
7031 "i"
7032 "i"
7033 "i"
7034 "i"
7035 "i"
7036 "i"
7037 "i"
7038 "i"
7039 "i"))
7040 #(ribcage
7041 (define-structure and-map*)
7042 ((top) (top))
7043 ("i" "i")))
7044 (hygiene guile))
7045 mod3528))))
7046 tmp3522)
7047 (syntax-violation
7048 #f
7049 "source expression failed to match any pattern"
7050 tmp3521)))
7051 ($sc-dispatch tmp3521 (quote (any each-any any)))))
7052 e3520)))
7053 (global-extend2474
7054 'module-ref
7055 '@@
7056 (lambda (e3531)
7057 ((lambda (tmp3532)
7058 ((lambda (tmp3533)
7059 (if (if tmp3533
7060 (apply (lambda (_3534 mod3535 id3536)
7061 (if (and-map id?2476 mod3535)
7062 (id?2476 id3536)
7063 #f))
7064 tmp3533)
7065 #f)
7066 (apply (lambda (_3538 mod3539 id3540)
7067 (values
7068 (syntax->datum id3540)
7069 (syntax->datum
7070 (cons '#(syntax-object
7071 private
7072 ((top)
7073 #(ribcage
7074 #(_ mod id)
7075 #((top) (top) (top))
7076 #("i" "i" "i"))
7077 #(ribcage () () ())
7078 #(ribcage #(e) #((top)) #("i"))
7079 #(ribcage
7080 (lambda-var-list
7081 gen-var
7082 strip
7083 ellipsis?
7084 chi-void
7085 eval-local-transformer
7086 chi-local-syntax
7087 chi-lambda-clause
7088 chi-body
7089 chi-macro
7090 chi-application
7091 chi-expr
7092 chi
7093 chi-top
7094 syntax-type
7095 chi-when-list
7096 chi-install-global
7097 chi-top-sequence
7098 chi-sequence
7099 source-wrap
7100 wrap
7101 bound-id-member?
7102 distinct-bound-ids?
7103 valid-bound-ids?
7104 bound-id=?
7105 free-id=?
7106 id-var-name
7107 same-marks?
7108 join-marks
7109 join-wraps
7110 smart-append
7111 make-binding-wrap
7112 extend-ribcage!
7113 make-empty-ribcage
7114 new-mark
7115 anti-mark
7116 the-anti-mark
7117 top-marked?
7118 top-wrap
7119 empty-wrap
7120 set-ribcage-labels!
7121 set-ribcage-marks!
7122 set-ribcage-symnames!
7123 ribcage-labels
7124 ribcage-marks
7125 ribcage-symnames
7126 ribcage?
7127 make-ribcage
7128 gen-labels
7129 gen-label
7130 make-rename
7131 rename-marks
7132 rename-new
7133 rename-old
7134 subst-rename?
7135 wrap-subst
7136 wrap-marks
7137 make-wrap
7138 id-sym-name&marks
7139 id-sym-name
7140 id?
7141 nonsymbol-id?
7142 global-extend
7143 lookup
7144 macros-only-env
7145 extend-var-env
7146 extend-env
7147 null-env
7148 binding-value
7149 binding-type
7150 make-binding
7151 arg-check
7152 source-annotation
7153 no-source
7154 set-syntax-object-module!
7155 set-syntax-object-wrap!
7156 set-syntax-object-expression!
7157 syntax-object-module
7158 syntax-object-wrap
7159 syntax-object-expression
7160 syntax-object?
7161 make-syntax-object
7162 build-lexical-var
7163 build-letrec
7164 build-named-let
7165 build-let
7166 build-sequence
7167 build-data
7168 build-primref
7169 build-lambda
7170 build-global-definition
7171 maybe-name-value!
7172 build-global-assignment
7173 build-global-reference
7174 analyze-variable
7175 build-lexical-assignment
7176 build-lexical-reference
7177 build-conditional
7178 build-application
7179 build-void
7180 decorate-source
7181 get-global-definition-hook
7182 put-global-definition-hook
7183 gensym-hook
7184 local-eval-hook
7185 top-level-eval-hook
7186 fx<
7187 fx=
7188 fx-
7189 fx+
7190 *mode*
7191 noexpand)
7192 ((top)
7193 (top)
7194 (top)
7195 (top)
7196 (top)
7197 (top)
7198 (top)
7199 (top)
7200 (top)
7201 (top)
7202 (top)
7203 (top)
7204 (top)
7205 (top)
7206 (top)
7207 (top)
7208 (top)
7209 (top)
7210 (top)
7211 (top)
7212 (top)
7213 (top)
7214 (top)
7215 (top)
7216 (top)
7217 (top)
7218 (top)
7219 (top)
7220 (top)
7221 (top)
7222 (top)
7223 (top)
7224 (top)
7225 (top)
7226 (top)
7227 (top)
7228 (top)
7229 (top)
7230 (top)
7231 (top)
7232 (top)
7233 (top)
7234 (top)
7235 (top)
7236 (top)
7237 (top)
7238 (top)
7239 (top)
7240 (top)
7241 (top)
7242 (top)
7243 (top)
7244 (top)
7245 (top)
7246 (top)
7247 (top)
7248 (top)
7249 (top)
7250 (top)
7251 (top)
7252 (top)
7253 (top)
7254 (top)
7255 (top)
7256 (top)
7257 (top)
7258 (top)
7259 (top)
7260 (top)
7261 (top)
7262 (top)
7263 (top)
7264 (top)
7265 (top)
7266 (top)
7267 (top)
7268 (top)
7269 (top)
7270 (top)
7271 (top)
7272 (top)
7273 (top)
7274 (top)
7275 (top)
7276 (top)
7277 (top)
7278 (top)
7279 (top)
7280 (top)
7281 (top)
7282 (top)
7283 (top)
7284 (top)
7285 (top)
7286 (top)
7287 (top)
7288 (top)
7289 (top)
7290 (top)
7291 (top)
7292 (top)
7293 (top)
7294 (top)
7295 (top)
7296 (top)
7297 (top)
7298 (top)
7299 (top)
7300 (top)
7301 (top)
7302 (top)
7303 (top))
7304 ("i"
7305 "i"
7306 "i"
7307 "i"
7308 "i"
7309 "i"
7310 "i"
7311 "i"
7312 "i"
7313 "i"
7314 "i"
7315 "i"
7316 "i"
7317 "i"
7318 "i"
7319 "i"
7320 "i"
7321 "i"
7322 "i"
7323 "i"
7324 "i"
7325 "i"
7326 "i"
7327 "i"
7328 "i"
7329 "i"
7330 "i"
7331 "i"
7332 "i"
7333 "i"
7334 "i"
7335 "i"
7336 "i"
7337 "i"
7338 "i"
7339 "i"
7340 "i"
7341 "i"
7342 "i"
7343 "i"
7344 "i"
7345 "i"
7346 "i"
7347 "i"
7348 "i"
7349 "i"
7350 "i"
7351 "i"
7352 "i"
7353 "i"
7354 "i"
7355 "i"
7356 "i"
7357 "i"
7358 "i"
7359 "i"
7360 "i"
7361 "i"
7362 "i"
7363 "i"
7364 "i"
7365 "i"
7366 "i"
7367 "i"
7368 "i"
7369 "i"
7370 "i"
7371 "i"
7372 "i"
7373 "i"
7374 "i"
7375 "i"
7376 "i"
7377 "i"
7378 "i"
7379 "i"
7380 "i"
7381 "i"
7382 "i"
7383 "i"
7384 "i"
7385 "i"
7386 "i"
7387 "i"
7388 "i"
7389 "i"
7390 "i"
7391 "i"
7392 "i"
7393 "i"
7394 "i"
7395 "i"
7396 "i"
7397 "i"
7398 "i"
7399 "i"
7400 "i"
7401 "i"
7402 "i"
7403 "i"
7404 "i"
7405 "i"
7406 "i"
7407 "i"
7408 "i"
7409 "i"
7410 "i"
7411 "i"
7412 "i"
7413 "i"
7414 "i"
7415 "i"))
7416 #(ribcage
7417 (define-structure and-map*)
7418 ((top) (top))
7419 ("i" "i")))
7420 (hygiene guile))
7421 mod3539))))
7422 tmp3533)
7423 (syntax-violation
7424 #f
7425 "source expression failed to match any pattern"
7426 tmp3532)))
7427 ($sc-dispatch tmp3532 (quote (any each-any any)))))
7428 e3531)))
7429 (global-extend2474
7430 'core
7431 'if
7432 (lambda (e3542 r3543 w3544 s3545 mod3546)
7433 ((lambda (tmp3547)
7434 ((lambda (tmp3548)
7435 (if tmp3548
7436 (apply (lambda (_3549 test3550 then3551)
7437 (build-conditional2444
7438 s3545
7439 (chi2512 test3550 r3543 w3544 mod3546)
7440 (chi2512 then3551 r3543 w3544 mod3546)
7441 (build-void2442 #f)))
7442 tmp3548)
7443 ((lambda (tmp3552)
7444 (if tmp3552
7445 (apply (lambda (_3553 test3554 then3555 else3556)
7446 (build-conditional2444
7447 s3545
7448 (chi2512 test3554 r3543 w3544 mod3546)
7449 (chi2512 then3555 r3543 w3544 mod3546)
7450 (chi2512 else3556 r3543 w3544 mod3546)))
7451 tmp3552)
7452 (syntax-violation
7453 #f
7454 "source expression failed to match any pattern"
7455 tmp3547)))
7456 ($sc-dispatch tmp3547 (quote (any any any any))))))
7457 ($sc-dispatch tmp3547 (quote (any any any)))))
7458 e3542)))
7459 (global-extend2474
7460 'begin
7461 'begin
7462 '())
7463 (global-extend2474
7464 'define
7465 'define
7466 '())
7467 (global-extend2474
7468 'define-syntax
7469 'define-syntax
7470 '())
7471 (global-extend2474
7472 'eval-when
7473 'eval-when
7474 '())
7475 (global-extend2474
7476 'core
7477 'syntax-case
7478 (letrec ((gen-syntax-case3560
7479 (lambda (x3561 keys3562 clauses3563 r3564 mod3565)
7480 (if (null? clauses3563)
7481 (build-application2443
7482 #f
7483 (build-primref2453 #f (quote syntax-violation))
7484 (list (build-data2454 #f #f)
7485 (build-data2454
7486 #f
7487 "source expression failed to match any pattern")
7488 x3561))
7489 ((lambda (tmp3566)
7490 ((lambda (tmp3567)
7491 (if tmp3567
7492 (apply (lambda (pat3568 exp3569)
7493 (if (if (id?2476 pat3568)
7494 (and-map
7495 (lambda (x3570)
7496 (not (free-id=?2499
7497 pat3568
7498 x3570)))
7499 (cons '#(syntax-object
7500 ...
7501 ((top)
7502 #(ribcage
7503 #(pat exp)
7504 #((top) (top))
7505 #("i" "i"))
7506 #(ribcage () () ())
7507 #(ribcage
7508 #(x
7509 keys
7510 clauses
7511 r
7512 mod)
7513 #((top)
7514 (top)
7515 (top)
7516 (top)
7517 (top))
7518 #("i"
7519 "i"
7520 "i"
7521 "i"
7522 "i"))
7523 #(ribcage
7524 (gen-syntax-case
7525 gen-clause
7526 build-dispatch-call
7527 convert-pattern)
7528 ((top)
7529 (top)
7530 (top)
7531 (top))
7532 ("i" "i" "i" "i"))
7533 #(ribcage
7534 (lambda-var-list
7535 gen-var
7536 strip
7537 ellipsis?
7538 chi-void
7539 eval-local-transformer
7540 chi-local-syntax
7541 chi-lambda-clause
7542 chi-body
7543 chi-macro
7544 chi-application
7545 chi-expr
7546 chi
7547 chi-top
7548 syntax-type
7549 chi-when-list
7550 chi-install-global
7551 chi-top-sequence
7552 chi-sequence
7553 source-wrap
7554 wrap
7555 bound-id-member?
7556 distinct-bound-ids?
7557 valid-bound-ids?
7558 bound-id=?
7559 free-id=?
7560 id-var-name
7561 same-marks?
7562 join-marks
7563 join-wraps
7564 smart-append
7565 make-binding-wrap
7566 extend-ribcage!
7567 make-empty-ribcage
7568 new-mark
7569 anti-mark
7570 the-anti-mark
7571 top-marked?
7572 top-wrap
7573 empty-wrap
7574 set-ribcage-labels!
7575 set-ribcage-marks!
7576 set-ribcage-symnames!
7577 ribcage-labels
7578 ribcage-marks
7579 ribcage-symnames
7580 ribcage?
7581 make-ribcage
7582 gen-labels
7583 gen-label
7584 make-rename
7585 rename-marks
7586 rename-new
7587 rename-old
7588 subst-rename?
7589 wrap-subst
7590 wrap-marks
7591 make-wrap
7592 id-sym-name&marks
7593 id-sym-name
7594 id?
7595 nonsymbol-id?
7596 global-extend
7597 lookup
7598 macros-only-env
7599 extend-var-env
7600 extend-env
7601 null-env
7602 binding-value
7603 binding-type
7604 make-binding
7605 arg-check
7606 source-annotation
7607 no-source
7608 set-syntax-object-module!
7609 set-syntax-object-wrap!
7610 set-syntax-object-expression!
7611 syntax-object-module
7612 syntax-object-wrap
7613 syntax-object-expression
7614 syntax-object?
7615 make-syntax-object
7616 build-lexical-var
7617 build-letrec
7618 build-named-let
7619 build-let
7620 build-sequence
7621 build-data
7622 build-primref
7623 build-lambda
7624 build-global-definition
7625 maybe-name-value!
7626 build-global-assignment
7627 build-global-reference
7628 analyze-variable
7629 build-lexical-assignment
7630 build-lexical-reference
7631 build-conditional
7632 build-application
7633 build-void
7634 decorate-source
7635 get-global-definition-hook
7636 put-global-definition-hook
7637 gensym-hook
7638 local-eval-hook
7639 top-level-eval-hook
7640 fx<
7641 fx=
7642 fx-
7643 fx+
7644 *mode*
7645 noexpand)
7646 ((top)
7647 (top)
7648 (top)
7649 (top)
7650 (top)
7651 (top)
7652 (top)
7653 (top)
7654 (top)
7655 (top)
7656 (top)
7657 (top)
7658 (top)
7659 (top)
7660 (top)
7661 (top)
7662 (top)
7663 (top)
7664 (top)
7665 (top)
7666 (top)
7667 (top)
7668 (top)
7669 (top)
7670 (top)
7671 (top)
7672 (top)
7673 (top)
7674 (top)
7675 (top)
7676 (top)
7677 (top)
7678 (top)
7679 (top)
7680 (top)
7681 (top)
7682 (top)
7683 (top)
7684 (top)
7685 (top)
7686 (top)
7687 (top)
7688 (top)
7689 (top)
7690 (top)
7691 (top)
7692 (top)
7693 (top)
7694 (top)
7695 (top)
7696 (top)
7697 (top)
7698 (top)
7699 (top)
7700 (top)
7701 (top)
7702 (top)
7703 (top)
7704 (top)
7705 (top)
7706 (top)
7707 (top)
7708 (top)
7709 (top)
7710 (top)
7711 (top)
7712 (top)
7713 (top)
7714 (top)
7715 (top)
7716 (top)
7717 (top)
7718 (top)
7719 (top)
7720 (top)
7721 (top)
7722 (top)
7723 (top)
7724 (top)
7725 (top)
7726 (top)
7727 (top)
7728 (top)
7729 (top)
7730 (top)
7731 (top)
7732 (top)
7733 (top)
7734 (top)
7735 (top)
7736 (top)
7737 (top)
7738 (top)
7739 (top)
7740 (top)
7741 (top)
7742 (top)
7743 (top)
7744 (top)
7745 (top)
7746 (top)
7747 (top)
7748 (top)
7749 (top)
7750 (top)
7751 (top)
7752 (top)
7753 (top)
7754 (top)
7755 (top)
7756 (top)
7757 (top))
7758 ("i"
7759 "i"
7760 "i"
7761 "i"
7762 "i"
7763 "i"
7764 "i"
7765 "i"
7766 "i"
7767 "i"
7768 "i"
7769 "i"
7770 "i"
7771 "i"
7772 "i"
7773 "i"
7774 "i"
7775 "i"
7776 "i"
7777 "i"
7778 "i"
7779 "i"
7780 "i"
7781 "i"
7782 "i"
7783 "i"
7784 "i"
7785 "i"
7786 "i"
7787 "i"
7788 "i"
7789 "i"
7790 "i"
7791 "i"
7792 "i"
7793 "i"
7794 "i"
7795 "i"
7796 "i"
7797 "i"
7798 "i"
7799 "i"
7800 "i"
7801 "i"
7802 "i"
7803 "i"
7804 "i"
7805 "i"
7806 "i"
7807 "i"
7808 "i"
7809 "i"
7810 "i"
7811 "i"
7812 "i"
7813 "i"
7814 "i"
7815 "i"
7816 "i"
7817 "i"
7818 "i"
7819 "i"
7820 "i"
7821 "i"
7822 "i"
7823 "i"
7824 "i"
7825 "i"
7826 "i"
7827 "i"
7828 "i"
7829 "i"
7830 "i"
7831 "i"
7832 "i"
7833 "i"
7834 "i"
7835 "i"
7836 "i"
7837 "i"
7838 "i"
7839 "i"
7840 "i"
7841 "i"
7842 "i"
7843 "i"
7844 "i"
7845 "i"
7846 "i"
7847 "i"
7848 "i"
7849 "i"
7850 "i"
7851 "i"
7852 "i"
7853 "i"
7854 "i"
7855 "i"
7856 "i"
7857 "i"
7858 "i"
7859 "i"
7860 "i"
7861 "i"
7862 "i"
7863 "i"
7864 "i"
7865 "i"
7866 "i"
7867 "i"
7868 "i"
7869 "i"))
7870 #(ribcage
7871 (define-structure
7872 and-map*)
7873 ((top) (top))
7874 ("i" "i")))
7875 (hygiene guile))
7876 keys3562))
7877 #f)
7878 (let ((labels3571
7879 (list (gen-label2481)))
7880 (var3572
7881 (gen-var2523 pat3568)))
7882 (build-application2443
7883 #f
7884 (build-lambda2452
7885 #f
7886 (list (syntax->datum pat3568))
7887 (list var3572)
7888 #f
7889 (chi2512
7890 exp3569
7891 (extend-env2470
7892 labels3571
7893 (list (cons 'syntax
7894 (cons var3572
7895 0)))
7896 r3564)
7897 (make-binding-wrap2493
7898 (list pat3568)
7899 labels3571
7900 '(()))
7901 mod3565))
7902 (list x3561)))
7903 (gen-clause3559
7904 x3561
7905 keys3562
7906 (cdr clauses3563)
7907 r3564
7908 pat3568
7909 #t
7910 exp3569
7911 mod3565)))
7912 tmp3567)
7913 ((lambda (tmp3573)
7914 (if tmp3573
7915 (apply (lambda (pat3574 fender3575 exp3576)
7916 (gen-clause3559
7917 x3561
7918 keys3562
7919 (cdr clauses3563)
7920 r3564
7921 pat3574
7922 fender3575
7923 exp3576
7924 mod3565))
7925 tmp3573)
7926 ((lambda (_3577)
7927 (syntax-violation
7928 'syntax-case
7929 "invalid clause"
7930 (car clauses3563)))
7931 tmp3566)))
7932 ($sc-dispatch tmp3566 (quote (any any any))))))
7933 ($sc-dispatch tmp3566 (quote (any any)))))
7934 (car clauses3563)))))
7935 (gen-clause3559
7936 (lambda (x3578
7937 keys3579
7938 clauses3580
7939 r3581
7940 pat3582
7941 fender3583
7942 exp3584
7943 mod3585)
7944 (call-with-values
7945 (lambda ()
7946 (convert-pattern3557 pat3582 keys3579))
7947 (lambda (p3586 pvars3587)
7948 (if (not (distinct-bound-ids?2502
7949 (map car pvars3587)))
7950 (syntax-violation
7951 'syntax-case
7952 "duplicate pattern variable"
7953 pat3582)
7954 (if (not (and-map
7955 (lambda (x3588)
7956 (not (ellipsis?2521 (car x3588))))
7957 pvars3587))
7958 (syntax-violation
7959 'syntax-case
7960 "misplaced ellipsis"
7961 pat3582)
7962 (let ((y3589 (gen-var2523 (quote tmp))))
7963 (build-application2443
7964 #f
7965 (build-lambda2452
7966 #f
7967 (list (quote tmp))
7968 (list y3589)
7969 #f
7970 (let ((y3590 (build-lexical-reference2445
7971 'value
7972 #f
7973 'tmp
7974 y3589)))
7975 (build-conditional2444
7976 #f
7977 ((lambda (tmp3591)
7978 ((lambda (tmp3592)
7979 (if tmp3592
7980 (apply (lambda () y3590)
7981 tmp3592)
7982 ((lambda (_3593)
7983 (build-conditional2444
7984 #f
7985 y3590
7986 (build-dispatch-call3558
7987 pvars3587
7988 fender3583
7989 y3590
7990 r3581
7991 mod3585)
7992 (build-data2454 #f #f)))
7993 tmp3591)))
7994 ($sc-dispatch
7995 tmp3591
7996 '#(atom #t))))
7997 fender3583)
7998 (build-dispatch-call3558
7999 pvars3587
8000 exp3584
8001 y3590
8002 r3581
8003 mod3585)
8004 (gen-syntax-case3560
8005 x3578
8006 keys3579
8007 clauses3580
8008 r3581
8009 mod3585))))
8010 (list (if (eq? p3586 (quote any))
8011 (build-application2443
8012 #f
8013 (build-primref2453 #f (quote list))
8014 (list x3578))
8015 (build-application2443
8016 #f
8017 (build-primref2453
8018 #f
8019 '$sc-dispatch)
8020 (list x3578
8021 (build-data2454
8022 #f
8023 p3586)))))))))))))
8024 (build-dispatch-call3558
8025 (lambda (pvars3594 exp3595 y3596 r3597 mod3598)
8026 (let ((ids3599 (map car pvars3594))
8027 (levels3600 (map cdr pvars3594)))
8028 (let ((labels3601 (gen-labels2482 ids3599))
8029 (new-vars3602 (map gen-var2523 ids3599)))
8030 (build-application2443
8031 #f
8032 (build-primref2453 #f (quote apply))
8033 (list (build-lambda2452
8034 #f
8035 (map syntax->datum ids3599)
8036 new-vars3602
8037 #f
8038 (chi2512
8039 exp3595
8040 (extend-env2470
8041 labels3601
8042 (map (lambda (var3603 level3604)
8043 (cons 'syntax
8044 (cons var3603 level3604)))
8045 new-vars3602
8046 (map cdr pvars3594))
8047 r3597)
8048 (make-binding-wrap2493
8049 ids3599
8050 labels3601
8051 '(()))
8052 mod3598))
8053 y3596))))))
8054 (convert-pattern3557
8055 (lambda (pattern3605 keys3606)
8056 (letrec ((cvt3607
8057 (lambda (p3608 n3609 ids3610)
8058 (if (id?2476 p3608)
8059 (if (bound-id-member?2503 p3608 keys3606)
8060 (values
8061 (vector (quote free-id) p3608)
8062 ids3610)
8063 (values
8064 'any
8065 (cons (cons p3608 n3609) ids3610)))
8066 ((lambda (tmp3611)
8067 ((lambda (tmp3612)
8068 (if (if tmp3612
8069 (apply (lambda (x3613 dots3614)
8070 (ellipsis?2521
8071 dots3614))
8072 tmp3612)
8073 #f)
8074 (apply (lambda (x3615 dots3616)
8075 (call-with-values
8076 (lambda ()
8077 (cvt3607
8078 x3615
8079 (fx+2433 n3609 1)
8080 ids3610))
8081 (lambda (p3617 ids3618)
8082 (values
8083 (if (eq? p3617
8084 'any)
8085 'each-any
8086 (vector
8087 'each
8088 p3617))
8089 ids3618))))
8090 tmp3612)
8091 ((lambda (tmp3619)
8092 (if tmp3619
8093 (apply (lambda (x3620 y3621)
8094 (call-with-values
8095 (lambda ()
8096 (cvt3607
8097 y3621
8098 n3609
8099 ids3610))
8100 (lambda (y3622
8101 ids3623)
8102 (call-with-values
8103 (lambda ()
8104 (cvt3607
8105 x3620
8106 n3609
8107 ids3623))
8108 (lambda (x3624
8109 ids3625)
8110 (values
8111 (cons x3624
8112 y3622)
8113 ids3625))))))
8114 tmp3619)
8115 ((lambda (tmp3626)
8116 (if tmp3626
8117 (apply (lambda ()
8118 (values
8119 '()
8120 ids3610))
8121 tmp3626)
8122 ((lambda (tmp3627)
8123 (if tmp3627
8124 (apply (lambda (x3628)
8125 (call-with-values
8126 (lambda ()
8127 (cvt3607
8128 x3628
8129 n3609
8130 ids3610))
8131 (lambda (p3630
8132 ids3631)
8133 (values
8134 (vector
8135 'vector
8136 p3630)
8137 ids3631))))
8138 tmp3627)
8139 ((lambda (x3632)
8140 (values
8141 (vector
8142 'atom
8143 (strip2522
8144 p3608
8145 '(())))
8146 ids3610))
8147 tmp3611)))
8148 ($sc-dispatch
8149 tmp3611
8150 '#(vector
8151 each-any)))))
8152 ($sc-dispatch
8153 tmp3611
8154 '()))))
8155 ($sc-dispatch
8156 tmp3611
8157 '(any . any)))))
8158 ($sc-dispatch
8159 tmp3611
8160 '(any any))))
8161 p3608)))))
8162 (cvt3607 pattern3605 0 (quote ()))))))
8163 (lambda (e3633 r3634 w3635 s3636 mod3637)
8164 (let ((e3638 (source-wrap2505 e3633 w3635 s3636 mod3637)))
8165 ((lambda (tmp3639)
8166 ((lambda (tmp3640)
8167 (if tmp3640
8168 (apply (lambda (_3641 val3642 key3643 m3644)
8169 (if (and-map
8170 (lambda (x3645)
8171 (if (id?2476 x3645)
8172 (not (ellipsis?2521 x3645))
8173 #f))
8174 key3643)
8175 (let ((x3647 (gen-var2523 (quote tmp))))
8176 (build-application2443
8177 s3636
8178 (build-lambda2452
8179 #f
8180 (list (quote tmp))
8181 (list x3647)
8182 #f
8183 (gen-syntax-case3560
8184 (build-lexical-reference2445
8185 'value
8186 #f
8187 'tmp
8188 x3647)
8189 key3643
8190 m3644
8191 r3634
8192 mod3637))
8193 (list (chi2512
8194 val3642
8195 r3634
8196 '(())
8197 mod3637))))
8198 (syntax-violation
8199 'syntax-case
8200 "invalid literals list"
8201 e3638)))
8202 tmp3640)
8203 (syntax-violation
8204 #f
8205 "source expression failed to match any pattern"
8206 tmp3639)))
8207 ($sc-dispatch
8208 tmp3639
8209 '(any any each-any . each-any))))
8210 e3638)))))
8211 (set! sc-expand
8212 (lambda (x3651 . rest3650)
8213 (if (if (pair? x3651)
8214 (equal? (car x3651) noexpand2431)
8215 #f)
8216 (cadr x3651)
8217 (let ((m3652 (if (null? rest3650) (quote e) (car rest3650)))
8218 (esew3653
8219 (if (let ((t3654 (null? rest3650)))
8220 (if t3654 t3654 (null? (cdr rest3650))))
8221 '(eval)
8222 (cadr rest3650))))
8223 (with-fluid*
8224 *mode*2432
8225 m3652
8226 (lambda ()
8227 (chi-top2511
8228 x3651
8229 '()
8230 '((top))
8231 m3652
8232 esew3653
8233 (cons 'hygiene
8234 (module-name (current-module))))))))))
8235 (set! identifier?
8236 (lambda (x3655) (nonsymbol-id?2475 x3655)))
8237 (set! datum->syntax
8238 (lambda (id3656 datum3657)
8239 (make-syntax-object2459
8240 datum3657
8241 (syntax-object-wrap2462 id3656)
8242 #f)))
8243 (set! syntax->datum
8244 (lambda (x3658) (strip2522 x3658 (quote (())))))
8245 (set! generate-temporaries
8246 (lambda (ls3659)
8247 (begin
8248 (let ((x3660 ls3659))
8249 (if (not (list? x3660))
8250 (syntax-violation
8251 'generate-temporaries
8252 "invalid argument"
8253 x3660)))
8254 (map (lambda (x3661)
8255 (wrap2504 (gensym) (quote ((top))) #f))
8256 ls3659))))
8257 (set! free-identifier=?
8258 (lambda (x3662 y3663)
8259 (begin
8260 (let ((x3664 x3662))
8261 (if (not (nonsymbol-id?2475 x3664))
8262 (syntax-violation
8263 'free-identifier=?
8264 "invalid argument"
8265 x3664)))
8266 (let ((x3665 y3663))
8267 (if (not (nonsymbol-id?2475 x3665))
8268 (syntax-violation
8269 'free-identifier=?
8270 "invalid argument"
8271 x3665)))
8272 (free-id=?2499 x3662 y3663))))
8273 (set! bound-identifier=?
8274 (lambda (x3666 y3667)
8275 (begin
8276 (let ((x3668 x3666))
8277 (if (not (nonsymbol-id?2475 x3668))
8278 (syntax-violation
8279 'bound-identifier=?
8280 "invalid argument"
8281 x3668)))
8282 (let ((x3669 y3667))
8283 (if (not (nonsymbol-id?2475 x3669))
8284 (syntax-violation
8285 'bound-identifier=?
8286 "invalid argument"
8287 x3669)))
8288 (bound-id=?2500 x3666 y3667))))
8289 (set! syntax-violation
8290 (lambda (who3673 message3672 form3671 . subform3670)
8291 (begin
8292 (let ((x3674 who3673))
8293 (if (not ((lambda (x3675)
8294 (let ((t3676 (not x3675)))
8295 (if t3676
8296 t3676
8297 (let ((t3677 (string? x3675)))
8298 (if t3677 t3677 (symbol? x3675))))))
8299 x3674))
8300 (syntax-violation
8301 'syntax-violation
8302 "invalid argument"
8303 x3674)))
8304 (let ((x3678 message3672))
8305 (if (not (string? x3678))
8306 (syntax-violation
8307 'syntax-violation
8308 "invalid argument"
8309 x3678)))
8310 (scm-error
8311 'syntax-error
8312 'sc-expand
8313 (string-append
8314 (if who3673 "~a: " "")
8315 "~a "
8316 (if (null? subform3670)
8317 "in ~a"
8318 "in subform `~s' of `~s'"))
8319 (let ((tail3679
8320 (cons message3672
8321 (map (lambda (x3680)
8322 (strip2522 x3680 (quote (()))))
8323 (append subform3670 (list form3671))))))
8324 (if who3673 (cons who3673 tail3679) tail3679))
8325 #f))))
8326 (letrec ((match3685
8327 (lambda (e3686 p3687 w3688 r3689 mod3690)
8328 (if (not r3689)
8329 #f
8330 (if (eq? p3687 (quote any))
8331 (cons (wrap2504 e3686 w3688 mod3690) r3689)
8332 (if (syntax-object?2460 e3686)
8333 (match*3684
8334 (syntax-object-expression2461 e3686)
8335 p3687
8336 (join-wraps2495
8337 w3688
8338 (syntax-object-wrap2462 e3686))
8339 r3689
8340 (syntax-object-module2463 e3686))
8341 (match*3684 e3686 p3687 w3688 r3689 mod3690))))))
8342 (match*3684
8343 (lambda (e3691 p3692 w3693 r3694 mod3695)
8344 (if (null? p3692)
8345 (if (null? e3691) r3694 #f)
8346 (if (pair? p3692)
8347 (if (pair? e3691)
8348 (match3685
8349 (car e3691)
8350 (car p3692)
8351 w3693
8352 (match3685
8353 (cdr e3691)
8354 (cdr p3692)
8355 w3693
8356 r3694
8357 mod3695)
8358 mod3695)
8359 #f)
8360 (if (eq? p3692 (quote each-any))
8361 (let ((l3696 (match-each-any3682
8362 e3691
8363 w3693
8364 mod3695)))
8365 (if l3696 (cons l3696 r3694) #f))
8366 (let ((atom-key3697 (vector-ref p3692 0)))
8367 (if (memv atom-key3697 (quote (each)))
8368 (if (null? e3691)
8369 (match-empty3683 (vector-ref p3692 1) r3694)
8370 (let ((l3698 (match-each3681
8371 e3691
8372 (vector-ref p3692 1)
8373 w3693
8374 mod3695)))
8375 (if l3698
8376 (letrec ((collect3699
8377 (lambda (l3700)
8378 (if (null? (car l3700))
8379 r3694
8380 (cons (map car l3700)
8381 (collect3699
8382 (map cdr l3700)))))))
8383 (collect3699 l3698))
8384 #f)))
8385 (if (memv atom-key3697 (quote (free-id)))
8386 (if (id?2476 e3691)
8387 (if (free-id=?2499
8388 (wrap2504 e3691 w3693 mod3695)
8389 (vector-ref p3692 1))
8390 r3694
8391 #f)
8392 #f)
8393 (if (memv atom-key3697 (quote (atom)))
8394 (if (equal?
8395 (vector-ref p3692 1)
8396 (strip2522 e3691 w3693))
8397 r3694
8398 #f)
8399 (if (memv atom-key3697 (quote (vector)))
8400 (if (vector? e3691)
8401 (match3685
8402 (vector->list e3691)
8403 (vector-ref p3692 1)
8404 w3693
8405 r3694
8406 mod3695)
8407 #f)))))))))))
8408 (match-empty3683
8409 (lambda (p3701 r3702)
8410 (if (null? p3701)
8411 r3702
8412 (if (eq? p3701 (quote any))
8413 (cons (quote ()) r3702)
8414 (if (pair? p3701)
8415 (match-empty3683
8416 (car p3701)
8417 (match-empty3683 (cdr p3701) r3702))
8418 (if (eq? p3701 (quote each-any))
8419 (cons (quote ()) r3702)
8420 (let ((atom-key3703 (vector-ref p3701 0)))
8421 (if (memv atom-key3703 (quote (each)))
8422 (match-empty3683 (vector-ref p3701 1) r3702)
8423 (if (memv atom-key3703 (quote (free-id atom)))
8424 r3702
8425 (if (memv atom-key3703 (quote (vector)))
8426 (match-empty3683
8427 (vector-ref p3701 1)
8428 r3702)))))))))))
8429 (match-each-any3682
8430 (lambda (e3704 w3705 mod3706)
8431 (if (pair? e3704)
8432 (let ((l3707 (match-each-any3682
8433 (cdr e3704)
8434 w3705
8435 mod3706)))
8436 (if l3707
8437 (cons (wrap2504 (car e3704) w3705 mod3706) l3707)
8438 #f))
8439 (if (null? e3704)
8440 '()
8441 (if (syntax-object?2460 e3704)
8442 (match-each-any3682
8443 (syntax-object-expression2461 e3704)
8444 (join-wraps2495
8445 w3705
8446 (syntax-object-wrap2462 e3704))
8447 mod3706)
8448 #f)))))
8449 (match-each3681
8450 (lambda (e3708 p3709 w3710 mod3711)
8451 (if (pair? e3708)
8452 (let ((first3712
8453 (match3685
8454 (car e3708)
8455 p3709
8456 w3710
8457 '()
8458 mod3711)))
8459 (if first3712
8460 (let ((rest3713
8461 (match-each3681
8462 (cdr e3708)
8463 p3709
8464 w3710
8465 mod3711)))
8466 (if rest3713 (cons first3712 rest3713) #f))
8467 #f))
8468 (if (null? e3708)
8469 '()
8470 (if (syntax-object?2460 e3708)
8471 (match-each3681
8472 (syntax-object-expression2461 e3708)
8473 p3709
8474 (join-wraps2495
8475 w3710
8476 (syntax-object-wrap2462 e3708))
8477 (syntax-object-module2463 e3708))
8478 #f))))))
8479 (set! $sc-dispatch
8480 (lambda (e3714 p3715)
8481 (if (eq? p3715 (quote any))
8482 (list e3714)
8483 (if (syntax-object?2460 e3714)
8484 (match*3684
8485 (syntax-object-expression2461 e3714)
8486 p3715
8487 (syntax-object-wrap2462 e3714)
8488 '()
8489 (syntax-object-module2463 e3714))
8490 (match*3684
8491 e3714
8492 p3715
8493 '(())
8494 '()
8495 #f)))))))))
8496
8497 (define with-syntax
8498 (make-syncase-macro
8499 'macro
8500 (lambda (x3716)
8501 ((lambda (tmp3717)
8502 ((lambda (tmp3718)
8503 (if tmp3718
8504 (apply (lambda (_3719 e13720 e23721)
8505 (cons '#(syntax-object
8506 begin
8507 ((top)
8508 #(ribcage
8509 #(_ e1 e2)
8510 #((top) (top) (top))
8511 #("i" "i" "i"))
8512 #(ribcage () () ())
8513 #(ribcage #(x) #((top)) #("i")))
8514 (hygiene guile))
8515 (cons e13720 e23721)))
8516 tmp3718)
8517 ((lambda (tmp3723)
8518 (if tmp3723
8519 (apply (lambda (_3724 out3725 in3726 e13727 e23728)
8520 (list '#(syntax-object
8521 syntax-case
8522 ((top)
8523 #(ribcage
8524 #(_ out in e1 e2)
8525 #((top) (top) (top) (top) (top))
8526 #("i" "i" "i" "i" "i"))
8527 #(ribcage () () ())
8528 #(ribcage #(x) #((top)) #("i")))
8529 (hygiene guile))
8530 in3726
8531 '()
8532 (list out3725
8533 (cons '#(syntax-object
8534 begin
8535 ((top)
8536 #(ribcage
8537 #(_ out in e1 e2)
8538 #((top)
8539 (top)
8540 (top)
8541 (top)
8542 (top))
8543 #("i" "i" "i" "i" "i"))
8544 #(ribcage () () ())
8545 #(ribcage
8546 #(x)
8547 #((top))
8548 #("i")))
8549 (hygiene guile))
8550 (cons e13727 e23728)))))
8551 tmp3723)
8552 ((lambda (tmp3730)
8553 (if tmp3730
8554 (apply (lambda (_3731 out3732 in3733 e13734 e23735)
8555 (list '#(syntax-object
8556 syntax-case
8557 ((top)
8558 #(ribcage
8559 #(_ out in e1 e2)
8560 #((top) (top) (top) (top) (top))
8561 #("i" "i" "i" "i" "i"))
8562 #(ribcage () () ())
8563 #(ribcage #(x) #((top)) #("i")))
8564 (hygiene guile))
8565 (cons '#(syntax-object
8566 list
8567 ((top)
8568 #(ribcage
8569 #(_ out in e1 e2)
8570 #((top)
8571 (top)
8572 (top)
8573 (top)
8574 (top))
8575 #("i" "i" "i" "i" "i"))
8576 #(ribcage () () ())
8577 #(ribcage
8578 #(x)
8579 #((top))
8580 #("i")))
8581 (hygiene guile))
8582 in3733)
8583 '()
8584 (list out3732
8585 (cons '#(syntax-object
8586 begin
8587 ((top)
8588 #(ribcage
8589 #(_ out in e1 e2)
8590 #((top)
8591 (top)
8592 (top)
8593 (top)
8594 (top))
8595 #("i"
8596 "i"
8597 "i"
8598 "i"
8599 "i"))
8600 #(ribcage () () ())
8601 #(ribcage
8602 #(x)
8603 #((top))
8604 #("i")))
8605 (hygiene guile))
8606 (cons e13734 e23735)))))
8607 tmp3730)
8608 (syntax-violation
8609 #f
8610 "source expression failed to match any pattern"
8611 tmp3717)))
8612 ($sc-dispatch
8613 tmp3717
8614 '(any #(each (any any)) any . each-any)))))
8615 ($sc-dispatch
8616 tmp3717
8617 '(any ((any any)) any . each-any)))))
8618 ($sc-dispatch
8619 tmp3717
8620 '(any () any . each-any))))
8621 x3716))))
8622
8623 (define syntax-rules
8624 (make-syncase-macro
8625 'macro
8626 (lambda (x3739)
8627 ((lambda (tmp3740)
8628 ((lambda (tmp3741)
8629 (if tmp3741
8630 (apply (lambda (_3742
8631 k3743
8632 keyword3744
8633 pattern3745
8634 template3746)
8635 (list '#(syntax-object
8636 lambda
8637 ((top)
8638 #(ribcage
8639 #(_ k keyword pattern template)
8640 #((top) (top) (top) (top) (top))
8641 #("i" "i" "i" "i" "i"))
8642 #(ribcage () () ())
8643 #(ribcage #(x) #((top)) #("i")))
8644 (hygiene guile))
8645 '(#(syntax-object
8646 x
8647 ((top)
8648 #(ribcage
8649 #(_ k keyword pattern template)
8650 #((top) (top) (top) (top) (top))
8651 #("i" "i" "i" "i" "i"))
8652 #(ribcage () () ())
8653 #(ribcage #(x) #((top)) #("i")))
8654 (hygiene guile)))
8655 (cons '#(syntax-object
8656 syntax-case
8657 ((top)
8658 #(ribcage
8659 #(_ k keyword pattern template)
8660 #((top) (top) (top) (top) (top))
8661 #("i" "i" "i" "i" "i"))
8662 #(ribcage () () ())
8663 #(ribcage #(x) #((top)) #("i")))
8664 (hygiene guile))
8665 (cons '#(syntax-object
8666 x
8667 ((top)
8668 #(ribcage
8669 #(_ k keyword pattern template)
8670 #((top) (top) (top) (top) (top))
8671 #("i" "i" "i" "i" "i"))
8672 #(ribcage () () ())
8673 #(ribcage #(x) #((top)) #("i")))
8674 (hygiene guile))
8675 (cons k3743
8676 (map (lambda (tmp3749 tmp3748)
8677 (list (cons '#(syntax-object
8678 dummy
8679 ((top)
8680 #(ribcage
8681 #(_
8682 k
8683 keyword
8684 pattern
8685 template)
8686 #((top)
8687 (top)
8688 (top)
8689 (top)
8690 (top))
8691 #("i"
8692 "i"
8693 "i"
8694 "i"
8695 "i"))
8696 #(ribcage
8697 ()
8698 ()
8699 ())
8700 #(ribcage
8701 #(x)
8702 #((top))
8703 #("i")))
8704 (hygiene
8705 guile))
8706 tmp3748)
8707 (list '#(syntax-object
8708 syntax
8709 ((top)
8710 #(ribcage
8711 #(_
8712 k
8713 keyword
8714 pattern
8715 template)
8716 #((top)
8717 (top)
8718 (top)
8719 (top)
8720 (top))
8721 #("i"
8722 "i"
8723 "i"
8724 "i"
8725 "i"))
8726 #(ribcage
8727 ()
8728 ()
8729 ())
8730 #(ribcage
8731 #(x)
8732 #((top))
8733 #("i")))
8734 (hygiene
8735 guile))
8736 tmp3749)))
8737 template3746
8738 pattern3745))))))
8739 tmp3741)
8740 (syntax-violation
8741 #f
8742 "source expression failed to match any pattern"
8743 tmp3740)))
8744 ($sc-dispatch
8745 tmp3740
8746 '(any each-any . #(each ((any . any) any))))))
8747 x3739))))
8748
8749 (define let*
8750 (make-extended-syncase-macro
8751 (module-ref (current-module) (quote let*))
8752 'macro
8753 (lambda (x3750)
8754 ((lambda (tmp3751)
8755 ((lambda (tmp3752)
8756 (if (if tmp3752
8757 (apply (lambda (let*3753 x3754 v3755 e13756 e23757)
8758 (and-map identifier? x3754))
8759 tmp3752)
8760 #f)
8761 (apply (lambda (let*3759 x3760 v3761 e13762 e23763)
8762 (letrec ((f3764 (lambda (bindings3765)
8763 (if (null? bindings3765)
8764 (cons '#(syntax-object
8765 let
8766 ((top)
8767 #(ribcage () () ())
8768 #(ribcage
8769 #(f bindings)
8770 #((top) (top))
8771 #("i" "i"))
8772 #(ribcage
8773 #(let* x v e1 e2)
8774 #((top)
8775 (top)
8776 (top)
8777 (top)
8778 (top))
8779 #("i" "i" "i" "i" "i"))
8780 #(ribcage () () ())
8781 #(ribcage
8782 #(x)
8783 #((top))
8784 #("i")))
8785 (hygiene guile))
8786 (cons '()
8787 (cons e13762 e23763)))
8788 ((lambda (tmp3769)
8789 ((lambda (tmp3770)
8790 (if tmp3770
8791 (apply (lambda (body3771
8792 binding3772)
8793 (list '#(syntax-object
8794 let
8795 ((top)
8796 #(ribcage
8797 #(body
8798 binding)
8799 #((top)
8800 (top))
8801 #("i"
8802 "i"))
8803 #(ribcage
8804 ()
8805 ()
8806 ())
8807 #(ribcage
8808 #(f
8809 bindings)
8810 #((top)
8811 (top))
8812 #("i"
8813 "i"))
8814 #(ribcage
8815 #(let*
8816 x
8817 v
8818 e1
8819 e2)
8820 #((top)
8821 (top)
8822 (top)
8823 (top)
8824 (top))
8825 #("i"
8826 "i"
8827 "i"
8828 "i"
8829 "i"))
8830 #(ribcage
8831 ()
8832 ()
8833 ())
8834 #(ribcage
8835 #(x)
8836 #((top))
8837 #("i")))
8838 (hygiene
8839 guile))
8840 (list binding3772)
8841 body3771))
8842 tmp3770)
8843 (syntax-violation
8844 #f
8845 "source expression failed to match any pattern"
8846 tmp3769)))
8847 ($sc-dispatch
8848 tmp3769
8849 '(any any))))
8850 (list (f3764 (cdr bindings3765))
8851 (car bindings3765)))))))
8852 (f3764 (map list x3760 v3761))))
8853 tmp3752)
8854 (syntax-violation
8855 #f
8856 "source expression failed to match any pattern"
8857 tmp3751)))
8858 ($sc-dispatch
8859 tmp3751
8860 '(any #(each (any any)) any . each-any))))
8861 x3750))))
8862
8863 (define do
8864 (make-extended-syncase-macro
8865 (module-ref (current-module) (quote do))
8866 'macro
8867 (lambda (orig-x3773)
8868 ((lambda (tmp3774)
8869 ((lambda (tmp3775)
8870 (if tmp3775
8871 (apply (lambda (_3776
8872 var3777
8873 init3778
8874 step3779
8875 e03780
8876 e13781
8877 c3782)
8878 ((lambda (tmp3783)
8879 ((lambda (tmp3784)
8880 (if tmp3784
8881 (apply (lambda (step3785)
8882 ((lambda (tmp3786)
8883 ((lambda (tmp3787)
8884 (if tmp3787
8885 (apply (lambda ()
8886 (list '#(syntax-object
8887 let
8888 ((top)
8889 #(ribcage
8890 #(step)
8891 #((top))
8892 #("i"))
8893 #(ribcage
8894 #(_
8895 var
8896 init
8897 step
8898 e0
8899 e1
8900 c)
8901 #((top)
8902 (top)
8903 (top)
8904 (top)
8905 (top)
8906 (top)
8907 (top))
8908 #("i"
8909 "i"
8910 "i"
8911 "i"
8912 "i"
8913 "i"
8914 "i"))
8915 #(ribcage
8916 ()
8917 ()
8918 ())
8919 #(ribcage
8920 #(orig-x)
8921 #((top))
8922 #("i")))
8923 (hygiene
8924 guile))
8925 '#(syntax-object
8926 doloop
8927 ((top)
8928 #(ribcage
8929 #(step)
8930 #((top))
8931 #("i"))
8932 #(ribcage
8933 #(_
8934 var
8935 init
8936 step
8937 e0
8938 e1
8939 c)
8940 #((top)
8941 (top)
8942 (top)
8943 (top)
8944 (top)
8945 (top)
8946 (top))
8947 #("i"
8948 "i"
8949 "i"
8950 "i"
8951 "i"
8952 "i"
8953 "i"))
8954 #(ribcage
8955 ()
8956 ()
8957 ())
8958 #(ribcage
8959 #(orig-x)
8960 #((top))
8961 #("i")))
8962 (hygiene
8963 guile))
8964 (map list
8965 var3777
8966 init3778)
8967 (list '#(syntax-object
8968 if
8969 ((top)
8970 #(ribcage
8971 #(step)
8972 #((top))
8973 #("i"))
8974 #(ribcage
8975 #(_
8976 var
8977 init
8978 step
8979 e0
8980 e1
8981 c)
8982 #((top)
8983 (top)
8984 (top)
8985 (top)
8986 (top)
8987 (top)
8988 (top))
8989 #("i"
8990 "i"
8991 "i"
8992 "i"
8993 "i"
8994 "i"
8995 "i"))
8996 #(ribcage
8997 ()
8998 ()
8999 ())
9000 #(ribcage
9001 #(orig-x)
9002 #((top))
9003 #("i")))
9004 (hygiene
9005 guile))
9006 (list '#(syntax-object
9007 not
9008 ((top)
9009 #(ribcage
9010 #(step)
9011 #((top))
9012 #("i"))
9013 #(ribcage
9014 #(_
9015 var
9016 init
9017 step
9018 e0
9019 e1
9020 c)
9021 #((top)
9022 (top)
9023 (top)
9024 (top)
9025 (top)
9026 (top)
9027 (top))
9028 #("i"
9029 "i"
9030 "i"
9031 "i"
9032 "i"
9033 "i"
9034 "i"))
9035 #(ribcage
9036 ()
9037 ()
9038 ())
9039 #(ribcage
9040 #(orig-x)
9041 #((top))
9042 #("i")))
9043 (hygiene
9044 guile))
9045 e03780)
9046 (cons '#(syntax-object
9047 begin
9048 ((top)
9049 #(ribcage
9050 #(step)
9051 #((top))
9052 #("i"))
9053 #(ribcage
9054 #(_
9055 var
9056 init
9057 step
9058 e0
9059 e1
9060 c)
9061 #((top)
9062 (top)
9063 (top)
9064 (top)
9065 (top)
9066 (top)
9067 (top))
9068 #("i"
9069 "i"
9070 "i"
9071 "i"
9072 "i"
9073 "i"
9074 "i"))
9075 #(ribcage
9076 ()
9077 ()
9078 ())
9079 #(ribcage
9080 #(orig-x)
9081 #((top))
9082 #("i")))
9083 (hygiene
9084 guile))
9085 (append
9086 c3782
9087 (list (cons '#(syntax-object
9088 doloop
9089 ((top)
9090 #(ribcage
9091 #(step)
9092 #((top))
9093 #("i"))
9094 #(ribcage
9095 #(_
9096 var
9097 init
9098 step
9099 e0
9100 e1
9101 c)
9102 #((top)
9103 (top)
9104 (top)
9105 (top)
9106 (top)
9107 (top)
9108 (top))
9109 #("i"
9110 "i"
9111 "i"
9112 "i"
9113 "i"
9114 "i"
9115 "i"))
9116 #(ribcage
9117 ()
9118 ()
9119 ())
9120 #(ribcage
9121 #(orig-x)
9122 #((top))
9123 #("i")))
9124 (hygiene
9125 guile))
9126 step3785)))))))
9127 tmp3787)
9128 ((lambda (tmp3792)
9129 (if tmp3792
9130 (apply (lambda (e13793
9131 e23794)
9132 (list '#(syntax-object
9133 let
9134 ((top)
9135 #(ribcage
9136 #(e1
9137 e2)
9138 #((top)
9139 (top))
9140 #("i"
9141 "i"))
9142 #(ribcage
9143 #(step)
9144 #((top))
9145 #("i"))
9146 #(ribcage
9147 #(_
9148 var
9149 init
9150 step
9151 e0
9152 e1
9153 c)
9154 #((top)
9155 (top)
9156 (top)
9157 (top)
9158 (top)
9159 (top)
9160 (top))
9161 #("i"
9162 "i"
9163 "i"
9164 "i"
9165 "i"
9166 "i"
9167 "i"))
9168 #(ribcage
9169 ()
9170 ()
9171 ())
9172 #(ribcage
9173 #(orig-x)
9174 #((top))
9175 #("i")))
9176 (hygiene
9177 guile))
9178 '#(syntax-object
9179 doloop
9180 ((top)
9181 #(ribcage
9182 #(e1
9183 e2)
9184 #((top)
9185 (top))
9186 #("i"
9187 "i"))
9188 #(ribcage
9189 #(step)
9190 #((top))
9191 #("i"))
9192 #(ribcage
9193 #(_
9194 var
9195 init
9196 step
9197 e0
9198 e1
9199 c)
9200 #((top)
9201 (top)
9202 (top)
9203 (top)
9204 (top)
9205 (top)
9206 (top))
9207 #("i"
9208 "i"
9209 "i"
9210 "i"
9211 "i"
9212 "i"
9213 "i"))
9214 #(ribcage
9215 ()
9216 ()
9217 ())
9218 #(ribcage
9219 #(orig-x)
9220 #((top))
9221 #("i")))
9222 (hygiene
9223 guile))
9224 (map list
9225 var3777
9226 init3778)
9227 (list '#(syntax-object
9228 if
9229 ((top)
9230 #(ribcage
9231 #(e1
9232 e2)
9233 #((top)
9234 (top))
9235 #("i"
9236 "i"))
9237 #(ribcage
9238 #(step)
9239 #((top))
9240 #("i"))
9241 #(ribcage
9242 #(_
9243 var
9244 init
9245 step
9246 e0
9247 e1
9248 c)
9249 #((top)
9250 (top)
9251 (top)
9252 (top)
9253 (top)
9254 (top)
9255 (top))
9256 #("i"
9257 "i"
9258 "i"
9259 "i"
9260 "i"
9261 "i"
9262 "i"))
9263 #(ribcage
9264 ()
9265 ()
9266 ())
9267 #(ribcage
9268 #(orig-x)
9269 #((top))
9270 #("i")))
9271 (hygiene
9272 guile))
9273 e03780
9274 (cons '#(syntax-object
9275 begin
9276 ((top)
9277 #(ribcage
9278 #(e1
9279 e2)
9280 #((top)
9281 (top))
9282 #("i"
9283 "i"))
9284 #(ribcage
9285 #(step)
9286 #((top))
9287 #("i"))
9288 #(ribcage
9289 #(_
9290 var
9291 init
9292 step
9293 e0
9294 e1
9295 c)
9296 #((top)
9297 (top)
9298 (top)
9299 (top)
9300 (top)
9301 (top)
9302 (top))
9303 #("i"
9304 "i"
9305 "i"
9306 "i"
9307 "i"
9308 "i"
9309 "i"))
9310 #(ribcage
9311 ()
9312 ()
9313 ())
9314 #(ribcage
9315 #(orig-x)
9316 #((top))
9317 #("i")))
9318 (hygiene
9319 guile))
9320 (cons e13793
9321 e23794))
9322 (cons '#(syntax-object
9323 begin
9324 ((top)
9325 #(ribcage
9326 #(e1
9327 e2)
9328 #((top)
9329 (top))
9330 #("i"
9331 "i"))
9332 #(ribcage
9333 #(step)
9334 #((top))
9335 #("i"))
9336 #(ribcage
9337 #(_
9338 var
9339 init
9340 step
9341 e0
9342 e1
9343 c)
9344 #((top)
9345 (top)
9346 (top)
9347 (top)
9348 (top)
9349 (top)
9350 (top))
9351 #("i"
9352 "i"
9353 "i"
9354 "i"
9355 "i"
9356 "i"
9357 "i"))
9358 #(ribcage
9359 ()
9360 ()
9361 ())
9362 #(ribcage
9363 #(orig-x)
9364 #((top))
9365 #("i")))
9366 (hygiene
9367 guile))
9368 (append
9369 c3782
9370 (list (cons '#(syntax-object
9371 doloop
9372 ((top)
9373 #(ribcage
9374 #(e1
9375 e2)
9376 #((top)
9377 (top))
9378 #("i"
9379 "i"))
9380 #(ribcage
9381 #(step)
9382 #((top))
9383 #("i"))
9384 #(ribcage
9385 #(_
9386 var
9387 init
9388 step
9389 e0
9390 e1
9391 c)
9392 #((top)
9393 (top)
9394 (top)
9395 (top)
9396 (top)
9397 (top)
9398 (top))
9399 #("i"
9400 "i"
9401 "i"
9402 "i"
9403 "i"
9404 "i"
9405 "i"))
9406 #(ribcage
9407 ()
9408 ()
9409 ())
9410 #(ribcage
9411 #(orig-x)
9412 #((top))
9413 #("i")))
9414 (hygiene
9415 guile))
9416 step3785)))))))
9417 tmp3792)
9418 (syntax-violation
9419 #f
9420 "source expression failed to match any pattern"
9421 tmp3786)))
9422 ($sc-dispatch
9423 tmp3786
9424 '(any . each-any)))))
9425 ($sc-dispatch tmp3786 (quote ()))))
9426 e13781))
9427 tmp3784)
9428 (syntax-violation
9429 #f
9430 "source expression failed to match any pattern"
9431 tmp3783)))
9432 ($sc-dispatch tmp3783 (quote each-any))))
9433 (map (lambda (v3801 s3802)
9434 ((lambda (tmp3803)
9435 ((lambda (tmp3804)
9436 (if tmp3804
9437 (apply (lambda () v3801) tmp3804)
9438 ((lambda (tmp3805)
9439 (if tmp3805
9440 (apply (lambda (e3806) e3806)
9441 tmp3805)
9442 ((lambda (_3807)
9443 (syntax-violation
9444 'do
9445 "bad step expression"
9446 orig-x3773
9447 s3802))
9448 tmp3803)))
9449 ($sc-dispatch tmp3803 (quote (any))))))
9450 ($sc-dispatch tmp3803 (quote ()))))
9451 s3802))
9452 var3777
9453 step3779)))
9454 tmp3775)
9455 (syntax-violation
9456 #f
9457 "source expression failed to match any pattern"
9458 tmp3774)))
9459 ($sc-dispatch
9460 tmp3774
9461 '(any #(each (any any . any))
9462 (any . each-any)
9463 .
9464 each-any))))
9465 orig-x3773))))
9466
9467 (define quasiquote
9468 (make-extended-syncase-macro
9469 (module-ref (current-module) (quote quasiquote))
9470 'macro
9471 (letrec ((quasicons3810
9472 (lambda (x3814 y3815)
9473 ((lambda (tmp3816)
9474 ((lambda (tmp3817)
9475 (if tmp3817
9476 (apply (lambda (x3818 y3819)
9477 ((lambda (tmp3820)
9478 ((lambda (tmp3821)
9479 (if tmp3821
9480 (apply (lambda (dy3822)
9481 ((lambda (tmp3823)
9482 ((lambda (tmp3824)
9483 (if tmp3824
9484 (apply (lambda (dx3825)
9485 (list '#(syntax-object
9486 quote
9487 ((top)
9488 #(ribcage
9489 #(dx)
9490 #((top))
9491 #("i"))
9492 #(ribcage
9493 #(dy)
9494 #((top))
9495 #("i"))
9496 #(ribcage
9497 #(x
9498 y)
9499 #((top)
9500 (top))
9501 #("i"
9502 "i"))
9503 #(ribcage
9504 ()
9505 ()
9506 ())
9507 #(ribcage
9508 ()
9509 ()
9510 ())
9511 #(ribcage
9512 #(x
9513 y)
9514 #((top)
9515 (top))
9516 #("i"
9517 "i"))
9518 #(ribcage
9519 #(quasicons
9520 quasiappend
9521 quasivector
9522 quasi)
9523 #((top)
9524 (top)
9525 (top)
9526 (top))
9527 #("i"
9528 "i"
9529 "i"
9530 "i")))
9531 (hygiene
9532 guile))
9533 (cons dx3825
9534 dy3822)))
9535 tmp3824)
9536 ((lambda (_3826)
9537 (if (null? dy3822)
9538 (list '#(syntax-object
9539 list
9540 ((top)
9541 #(ribcage
9542 #(_)
9543 #((top))
9544 #("i"))
9545 #(ribcage
9546 #(dy)
9547 #((top))
9548 #("i"))
9549 #(ribcage
9550 #(x
9551 y)
9552 #((top)
9553 (top))
9554 #("i"
9555 "i"))
9556 #(ribcage
9557 ()
9558 ()
9559 ())
9560 #(ribcage
9561 ()
9562 ()
9563 ())
9564 #(ribcage
9565 #(x
9566 y)
9567 #((top)
9568 (top))
9569 #("i"
9570 "i"))
9571 #(ribcage
9572 #(quasicons
9573 quasiappend
9574 quasivector
9575 quasi)
9576 #((top)
9577 (top)
9578 (top)
9579 (top))
9580 #("i"
9581 "i"
9582 "i"
9583 "i")))
9584 (hygiene
9585 guile))
9586 x3818)
9587 (list '#(syntax-object
9588 cons
9589 ((top)
9590 #(ribcage
9591 #(_)
9592 #((top))
9593 #("i"))
9594 #(ribcage
9595 #(dy)
9596 #((top))
9597 #("i"))
9598 #(ribcage
9599 #(x
9600 y)
9601 #((top)
9602 (top))
9603 #("i"
9604 "i"))
9605 #(ribcage
9606 ()
9607 ()
9608 ())
9609 #(ribcage
9610 ()
9611 ()
9612 ())
9613 #(ribcage
9614 #(x
9615 y)
9616 #((top)
9617 (top))
9618 #("i"
9619 "i"))
9620 #(ribcage
9621 #(quasicons
9622 quasiappend
9623 quasivector
9624 quasi)
9625 #((top)
9626 (top)
9627 (top)
9628 (top))
9629 #("i"
9630 "i"
9631 "i"
9632 "i")))
9633 (hygiene
9634 guile))
9635 x3818
9636 y3819)))
9637 tmp3823)))
9638 ($sc-dispatch
9639 tmp3823
9640 '(#(free-id
9641 #(syntax-object
9642 quote
9643 ((top)
9644 #(ribcage
9645 #(dy)
9646 #((top))
9647 #("i"))
9648 #(ribcage
9649 #(x y)
9650 #((top)
9651 (top))
9652 #("i" "i"))
9653 #(ribcage
9654 ()
9655 ()
9656 ())
9657 #(ribcage
9658 ()
9659 ()
9660 ())
9661 #(ribcage
9662 #(x y)
9663 #((top)
9664 (top))
9665 #("i" "i"))
9666 #(ribcage
9667 #(quasicons
9668 quasiappend
9669 quasivector
9670 quasi)
9671 #((top)
9672 (top)
9673 (top)
9674 (top))
9675 #("i"
9676 "i"
9677 "i"
9678 "i")))
9679 (hygiene
9680 guile)))
9681 any))))
9682 x3818))
9683 tmp3821)
9684 ((lambda (tmp3827)
9685 (if tmp3827
9686 (apply (lambda (stuff3828)
9687 (cons '#(syntax-object
9688 list
9689 ((top)
9690 #(ribcage
9691 #(stuff)
9692 #((top))
9693 #("i"))
9694 #(ribcage
9695 #(x y)
9696 #((top)
9697 (top))
9698 #("i" "i"))
9699 #(ribcage
9700 ()
9701 ()
9702 ())
9703 #(ribcage
9704 ()
9705 ()
9706 ())
9707 #(ribcage
9708 #(x y)
9709 #((top)
9710 (top))
9711 #("i" "i"))
9712 #(ribcage
9713 #(quasicons
9714 quasiappend
9715 quasivector
9716 quasi)
9717 #((top)
9718 (top)
9719 (top)
9720 (top))
9721 #("i"
9722 "i"
9723 "i"
9724 "i")))
9725 (hygiene
9726 guile))
9727 (cons x3818
9728 stuff3828)))
9729 tmp3827)
9730 ((lambda (else3829)
9731 (list '#(syntax-object
9732 cons
9733 ((top)
9734 #(ribcage
9735 #(else)
9736 #((top))
9737 #("i"))
9738 #(ribcage
9739 #(x y)
9740 #((top) (top))
9741 #("i" "i"))
9742 #(ribcage () () ())
9743 #(ribcage () () ())
9744 #(ribcage
9745 #(x y)
9746 #((top) (top))
9747 #("i" "i"))
9748 #(ribcage
9749 #(quasicons
9750 quasiappend
9751 quasivector
9752 quasi)
9753 #((top)
9754 (top)
9755 (top)
9756 (top))
9757 #("i"
9758 "i"
9759 "i"
9760 "i")))
9761 (hygiene guile))
9762 x3818
9763 y3819))
9764 tmp3820)))
9765 ($sc-dispatch
9766 tmp3820
9767 '(#(free-id
9768 #(syntax-object
9769 list
9770 ((top)
9771 #(ribcage
9772 #(x y)
9773 #((top) (top))
9774 #("i" "i"))
9775 #(ribcage () () ())
9776 #(ribcage () () ())
9777 #(ribcage
9778 #(x y)
9779 #((top) (top))
9780 #("i" "i"))
9781 #(ribcage
9782 #(quasicons
9783 quasiappend
9784 quasivector
9785 quasi)
9786 #((top)
9787 (top)
9788 (top)
9789 (top))
9790 #("i" "i" "i" "i")))
9791 (hygiene guile)))
9792 .
9793 any)))))
9794 ($sc-dispatch
9795 tmp3820
9796 '(#(free-id
9797 #(syntax-object
9798 quote
9799 ((top)
9800 #(ribcage
9801 #(x y)
9802 #((top) (top))
9803 #("i" "i"))
9804 #(ribcage () () ())
9805 #(ribcage () () ())
9806 #(ribcage
9807 #(x y)
9808 #((top) (top))
9809 #("i" "i"))
9810 #(ribcage
9811 #(quasicons
9812 quasiappend
9813 quasivector
9814 quasi)
9815 #((top) (top) (top) (top))
9816 #("i" "i" "i" "i")))
9817 (hygiene guile)))
9818 any))))
9819 y3819))
9820 tmp3817)
9821 (syntax-violation
9822 #f
9823 "source expression failed to match any pattern"
9824 tmp3816)))
9825 ($sc-dispatch tmp3816 (quote (any any)))))
9826 (list x3814 y3815))))
9827 (quasiappend3811
9828 (lambda (x3830 y3831)
9829 ((lambda (tmp3832)
9830 ((lambda (tmp3833)
9831 (if tmp3833
9832 (apply (lambda (x3834 y3835)
9833 ((lambda (tmp3836)
9834 ((lambda (tmp3837)
9835 (if tmp3837
9836 (apply (lambda () x3834) tmp3837)
9837 ((lambda (_3838)
9838 (list '#(syntax-object
9839 append
9840 ((top)
9841 #(ribcage
9842 #(_)
9843 #((top))
9844 #("i"))
9845 #(ribcage
9846 #(x y)
9847 #((top) (top))
9848 #("i" "i"))
9849 #(ribcage () () ())
9850 #(ribcage () () ())
9851 #(ribcage
9852 #(x y)
9853 #((top) (top))
9854 #("i" "i"))
9855 #(ribcage
9856 #(quasicons
9857 quasiappend
9858 quasivector
9859 quasi)
9860 #((top)
9861 (top)
9862 (top)
9863 (top))
9864 #("i" "i" "i" "i")))
9865 (hygiene guile))
9866 x3834
9867 y3835))
9868 tmp3836)))
9869 ($sc-dispatch
9870 tmp3836
9871 '(#(free-id
9872 #(syntax-object
9873 quote
9874 ((top)
9875 #(ribcage
9876 #(x y)
9877 #((top) (top))
9878 #("i" "i"))
9879 #(ribcage () () ())
9880 #(ribcage () () ())
9881 #(ribcage
9882 #(x y)
9883 #((top) (top))
9884 #("i" "i"))
9885 #(ribcage
9886 #(quasicons
9887 quasiappend
9888 quasivector
9889 quasi)
9890 #((top) (top) (top) (top))
9891 #("i" "i" "i" "i")))
9892 (hygiene guile)))
9893 ()))))
9894 y3835))
9895 tmp3833)
9896 (syntax-violation
9897 #f
9898 "source expression failed to match any pattern"
9899 tmp3832)))
9900 ($sc-dispatch tmp3832 (quote (any any)))))
9901 (list x3830 y3831))))
9902 (quasivector3812
9903 (lambda (x3839)
9904 ((lambda (tmp3840)
9905 ((lambda (x3841)
9906 ((lambda (tmp3842)
9907 ((lambda (tmp3843)
9908 (if tmp3843
9909 (apply (lambda (x3844)
9910 (list '#(syntax-object
9911 quote
9912 ((top)
9913 #(ribcage
9914 #(x)
9915 #((top))
9916 #("i"))
9917 #(ribcage
9918 #(x)
9919 #((top))
9920 #("i"))
9921 #(ribcage () () ())
9922 #(ribcage () () ())
9923 #(ribcage
9924 #(x)
9925 #((top))
9926 #("i"))
9927 #(ribcage
9928 #(quasicons
9929 quasiappend
9930 quasivector
9931 quasi)
9932 #((top) (top) (top) (top))
9933 #("i" "i" "i" "i")))
9934 (hygiene guile))
9935 (list->vector x3844)))
9936 tmp3843)
9937 ((lambda (tmp3846)
9938 (if tmp3846
9939 (apply (lambda (x3847)
9940 (cons '#(syntax-object
9941 vector
9942 ((top)
9943 #(ribcage
9944 #(x)
9945 #((top))
9946 #("i"))
9947 #(ribcage
9948 #(x)
9949 #((top))
9950 #("i"))
9951 #(ribcage () () ())
9952 #(ribcage () () ())
9953 #(ribcage
9954 #(x)
9955 #((top))
9956 #("i"))
9957 #(ribcage
9958 #(quasicons
9959 quasiappend
9960 quasivector
9961 quasi)
9962 #((top)
9963 (top)
9964 (top)
9965 (top))
9966 #("i" "i" "i" "i")))
9967 (hygiene guile))
9968 x3847))
9969 tmp3846)
9970 ((lambda (_3849)
9971 (list '#(syntax-object
9972 list->vector
9973 ((top)
9974 #(ribcage
9975 #(_)
9976 #((top))
9977 #("i"))
9978 #(ribcage
9979 #(x)
9980 #((top))
9981 #("i"))
9982 #(ribcage () () ())
9983 #(ribcage () () ())
9984 #(ribcage
9985 #(x)
9986 #((top))
9987 #("i"))
9988 #(ribcage
9989 #(quasicons
9990 quasiappend
9991 quasivector
9992 quasi)
9993 #((top) (top) (top) (top))
9994 #("i" "i" "i" "i")))
9995 (hygiene guile))
9996 x3841))
9997 tmp3842)))
9998 ($sc-dispatch
9999 tmp3842
10000 '(#(free-id
10001 #(syntax-object
10002 list
10003 ((top)
10004 #(ribcage #(x) #((top)) #("i"))
10005 #(ribcage () () ())
10006 #(ribcage () () ())
10007 #(ribcage #(x) #((top)) #("i"))
10008 #(ribcage
10009 #(quasicons
10010 quasiappend
10011 quasivector
10012 quasi)
10013 #((top) (top) (top) (top))
10014 #("i" "i" "i" "i")))
10015 (hygiene guile)))
10016 .
10017 each-any)))))
10018 ($sc-dispatch
10019 tmp3842
10020 '(#(free-id
10021 #(syntax-object
10022 quote
10023 ((top)
10024 #(ribcage #(x) #((top)) #("i"))
10025 #(ribcage () () ())
10026 #(ribcage () () ())
10027 #(ribcage #(x) #((top)) #("i"))
10028 #(ribcage
10029 #(quasicons
10030 quasiappend
10031 quasivector
10032 quasi)
10033 #((top) (top) (top) (top))
10034 #("i" "i" "i" "i")))
10035 (hygiene guile)))
10036 each-any))))
10037 x3841))
10038 tmp3840))
10039 x3839)))
10040 (quasi3813
10041 (lambda (p3850 lev3851)
10042 ((lambda (tmp3852)
10043 ((lambda (tmp3853)
10044 (if tmp3853
10045 (apply (lambda (p3854)
10046 (if (= lev3851 0)
10047 p3854
10048 (quasicons3810
10049 '(#(syntax-object
10050 quote
10051 ((top)
10052 #(ribcage #(p) #((top)) #("i"))
10053 #(ribcage () () ())
10054 #(ribcage
10055 #(p lev)
10056 #((top) (top))
10057 #("i" "i"))
10058 #(ribcage
10059 #(quasicons
10060 quasiappend
10061 quasivector
10062 quasi)
10063 #((top) (top) (top) (top))
10064 #("i" "i" "i" "i")))
10065 (hygiene guile))
10066 #(syntax-object
10067 unquote
10068 ((top)
10069 #(ribcage #(p) #((top)) #("i"))
10070 #(ribcage () () ())
10071 #(ribcage
10072 #(p lev)
10073 #((top) (top))
10074 #("i" "i"))
10075 #(ribcage
10076 #(quasicons
10077 quasiappend
10078 quasivector
10079 quasi)
10080 #((top) (top) (top) (top))
10081 #("i" "i" "i" "i")))
10082 (hygiene guile)))
10083 (quasi3813 (list p3854) (- lev3851 1)))))
10084 tmp3853)
10085 ((lambda (tmp3855)
10086 (if (if tmp3855
10087 (apply (lambda (args3856) (= lev3851 0))
10088 tmp3855)
10089 #f)
10090 (apply (lambda (args3857)
10091 (syntax-violation
10092 'unquote
10093 "unquote takes exactly one argument"
10094 p3850
10095 (cons '#(syntax-object
10096 unquote
10097 ((top)
10098 #(ribcage
10099 #(args)
10100 #((top))
10101 #("i"))
10102 #(ribcage () () ())
10103 #(ribcage
10104 #(p lev)
10105 #((top) (top))
10106 #("i" "i"))
10107 #(ribcage
10108 #(quasicons
10109 quasiappend
10110 quasivector
10111 quasi)
10112 #((top) (top) (top) (top))
10113 #("i" "i" "i" "i")))
10114 (hygiene guile))
10115 args3857)))
10116 tmp3855)
10117 ((lambda (tmp3858)
10118 (if tmp3858
10119 (apply (lambda (p3859 q3860)
10120 (if (= lev3851 0)
10121 (quasiappend3811
10122 p3859
10123 (quasi3813 q3860 lev3851))
10124 (quasicons3810
10125 (quasicons3810
10126 '(#(syntax-object
10127 quote
10128 ((top)
10129 #(ribcage
10130 #(p q)
10131 #((top) (top))
10132 #("i" "i"))
10133 #(ribcage () () ())
10134 #(ribcage
10135 #(p lev)
10136 #((top) (top))
10137 #("i" "i"))
10138 #(ribcage
10139 #(quasicons
10140 quasiappend
10141 quasivector
10142 quasi)
10143 #((top)
10144 (top)
10145 (top)
10146 (top))
10147 #("i" "i" "i" "i")))
10148 (hygiene guile))
10149 #(syntax-object
10150 unquote-splicing
10151 ((top)
10152 #(ribcage
10153 #(p q)
10154 #((top) (top))
10155 #("i" "i"))
10156 #(ribcage () () ())
10157 #(ribcage
10158 #(p lev)
10159 #((top) (top))
10160 #("i" "i"))
10161 #(ribcage
10162 #(quasicons
10163 quasiappend
10164 quasivector
10165 quasi)
10166 #((top)
10167 (top)
10168 (top)
10169 (top))
10170 #("i" "i" "i" "i")))
10171 (hygiene guile)))
10172 (quasi3813
10173 (list p3859)
10174 (- lev3851 1)))
10175 (quasi3813 q3860 lev3851))))
10176 tmp3858)
10177 ((lambda (tmp3861)
10178 (if (if tmp3861
10179 (apply (lambda (args3862 q3863)
10180 (= lev3851 0))
10181 tmp3861)
10182 #f)
10183 (apply (lambda (args3864 q3865)
10184 (syntax-violation
10185 'unquote-splicing
10186 "unquote-splicing takes exactly one argument"
10187 p3850
10188 (cons '#(syntax-object
10189 unquote-splicing
10190 ((top)
10191 #(ribcage
10192 #(args q)
10193 #((top) (top))
10194 #("i" "i"))
10195 #(ribcage
10196 ()
10197 ()
10198 ())
10199 #(ribcage
10200 #(p lev)
10201 #((top) (top))
10202 #("i" "i"))
10203 #(ribcage
10204 #(quasicons
10205 quasiappend
10206 quasivector
10207 quasi)
10208 #((top)
10209 (top)
10210 (top)
10211 (top))
10212 #("i"
10213 "i"
10214 "i"
10215 "i")))
10216 (hygiene guile))
10217 args3864)))
10218 tmp3861)
10219 ((lambda (tmp3866)
10220 (if tmp3866
10221 (apply (lambda (p3867)
10222 (quasicons3810
10223 '(#(syntax-object
10224 quote
10225 ((top)
10226 #(ribcage
10227 #(p)
10228 #((top))
10229 #("i"))
10230 #(ribcage
10231 ()
10232 ()
10233 ())
10234 #(ribcage
10235 #(p lev)
10236 #((top) (top))
10237 #("i" "i"))
10238 #(ribcage
10239 #(quasicons
10240 quasiappend
10241 quasivector
10242 quasi)
10243 #((top)
10244 (top)
10245 (top)
10246 (top))
10247 #("i"
10248 "i"
10249 "i"
10250 "i")))
10251 (hygiene guile))
10252 #(syntax-object
10253 quasiquote
10254 ((top)
10255 #(ribcage
10256 #(p)
10257 #((top))
10258 #("i"))
10259 #(ribcage
10260 ()
10261 ()
10262 ())
10263 #(ribcage
10264 #(p lev)
10265 #((top) (top))
10266 #("i" "i"))
10267 #(ribcage
10268 #(quasicons
10269 quasiappend
10270 quasivector
10271 quasi)
10272 #((top)
10273 (top)
10274 (top)
10275 (top))
10276 #("i"
10277 "i"
10278 "i"
10279 "i")))
10280 (hygiene guile)))
10281 (quasi3813
10282 (list p3867)
10283 (+ lev3851 1))))
10284 tmp3866)
10285 ((lambda (tmp3868)
10286 (if tmp3868
10287 (apply (lambda (p3869 q3870)
10288 (quasicons3810
10289 (quasi3813
10290 p3869
10291 lev3851)
10292 (quasi3813
10293 q3870
10294 lev3851)))
10295 tmp3868)
10296 ((lambda (tmp3871)
10297 (if tmp3871
10298 (apply (lambda (x3872)
10299 (quasivector3812
10300 (quasi3813
10301 x3872
10302 lev3851)))
10303 tmp3871)
10304 ((lambda (p3874)
10305 (list '#(syntax-object
10306 quote
10307 ((top)
10308 #(ribcage
10309 #(p)
10310 #((top))
10311 #("i"))
10312 #(ribcage
10313 ()
10314 ()
10315 ())
10316 #(ribcage
10317 #(p lev)
10318 #((top)
10319 (top))
10320 #("i"
10321 "i"))
10322 #(ribcage
10323 #(quasicons
10324 quasiappend
10325 quasivector
10326 quasi)
10327 #((top)
10328 (top)
10329 (top)
10330 (top))
10331 #("i"
10332 "i"
10333 "i"
10334 "i")))
10335 (hygiene
10336 guile))
10337 p3874))
10338 tmp3852)))
10339 ($sc-dispatch
10340 tmp3852
10341 '#(vector each-any)))))
10342 ($sc-dispatch
10343 tmp3852
10344 '(any . any)))))
10345 ($sc-dispatch
10346 tmp3852
10347 '(#(free-id
10348 #(syntax-object
10349 quasiquote
10350 ((top)
10351 #(ribcage () () ())
10352 #(ribcage
10353 #(p lev)
10354 #((top) (top))
10355 #("i" "i"))
10356 #(ribcage
10357 #(quasicons
10358 quasiappend
10359 quasivector
10360 quasi)
10361 #((top) (top) (top) (top))
10362 #("i" "i" "i" "i")))
10363 (hygiene guile)))
10364 any)))))
10365 ($sc-dispatch
10366 tmp3852
10367 '((#(free-id
10368 #(syntax-object
10369 unquote-splicing
10370 ((top)
10371 #(ribcage () () ())
10372 #(ribcage
10373 #(p lev)
10374 #((top) (top))
10375 #("i" "i"))
10376 #(ribcage
10377 #(quasicons
10378 quasiappend
10379 quasivector
10380 quasi)
10381 #((top) (top) (top) (top))
10382 #("i" "i" "i" "i")))
10383 (hygiene guile)))
10384 .
10385 any)
10386 .
10387 any)))))
10388 ($sc-dispatch
10389 tmp3852
10390 '((#(free-id
10391 #(syntax-object
10392 unquote-splicing
10393 ((top)
10394 #(ribcage () () ())
10395 #(ribcage
10396 #(p lev)
10397 #((top) (top))
10398 #("i" "i"))
10399 #(ribcage
10400 #(quasicons
10401 quasiappend
10402 quasivector
10403 quasi)
10404 #((top) (top) (top) (top))
10405 #("i" "i" "i" "i")))
10406 (hygiene guile)))
10407 any)
10408 .
10409 any)))))
10410 ($sc-dispatch
10411 tmp3852
10412 '(#(free-id
10413 #(syntax-object
10414 unquote
10415 ((top)
10416 #(ribcage () () ())
10417 #(ribcage
10418 #(p lev)
10419 #((top) (top))
10420 #("i" "i"))
10421 #(ribcage
10422 #(quasicons quasiappend quasivector quasi)
10423 #((top) (top) (top) (top))
10424 #("i" "i" "i" "i")))
10425 (hygiene guile)))
10426 .
10427 any)))))
10428 ($sc-dispatch
10429 tmp3852
10430 '(#(free-id
10431 #(syntax-object
10432 unquote
10433 ((top)
10434 #(ribcage () () ())
10435 #(ribcage #(p lev) #((top) (top)) #("i" "i"))
10436 #(ribcage
10437 #(quasicons quasiappend quasivector quasi)
10438 #((top) (top) (top) (top))
10439 #("i" "i" "i" "i")))
10440 (hygiene guile)))
10441 any))))
10442 p3850))))
10443 (lambda (x3875)
10444 ((lambda (tmp3876)
10445 ((lambda (tmp3877)
10446 (if tmp3877
10447 (apply (lambda (_3878 e3879) (quasi3813 e3879 0))
10448 tmp3877)
10449 (syntax-violation
10450 #f
10451 "source expression failed to match any pattern"
10452 tmp3876)))
10453 ($sc-dispatch tmp3876 (quote (any any)))))
10454 x3875)))))
10455
10456 (define include
10457 (make-syncase-macro
10458 'macro
10459 (lambda (x3880)
10460 (letrec ((read-file3881
10461 (lambda (fn3882 k3883)
10462 (let ((p3884 (open-input-file fn3882)))
10463 (letrec ((f3885 (lambda (x3886)
10464 (if (eof-object? x3886)
10465 (begin
10466 (close-input-port p3884)
10467 '())
10468 (cons (datum->syntax k3883 x3886)
10469 (f3885 (read p3884)))))))
10470 (f3885 (read p3884)))))))
10471 ((lambda (tmp3887)
10472 ((lambda (tmp3888)
10473 (if tmp3888
10474 (apply (lambda (k3889 filename3890)
10475 (let ((fn3891 (syntax->datum filename3890)))
10476 ((lambda (tmp3892)
10477 ((lambda (tmp3893)
10478 (if tmp3893
10479 (apply (lambda (exp3894)
10480 (cons '#(syntax-object
10481 begin
10482 ((top)
10483 #(ribcage
10484 #(exp)
10485 #((top))
10486 #("i"))
10487 #(ribcage () () ())
10488 #(ribcage () () ())
10489 #(ribcage
10490 #(fn)
10491 #((top))
10492 #("i"))
10493 #(ribcage
10494 #(k filename)
10495 #((top) (top))
10496 #("i" "i"))
10497 #(ribcage
10498 (read-file)
10499 ((top))
10500 ("i"))
10501 #(ribcage
10502 #(x)
10503 #((top))
10504 #("i")))
10505 (hygiene guile))
10506 exp3894))
10507 tmp3893)
10508 (syntax-violation
10509 #f
10510 "source expression failed to match any pattern"
10511 tmp3892)))
10512 ($sc-dispatch tmp3892 (quote each-any))))
10513 (read-file3881 fn3891 k3889))))
10514 tmp3888)
10515 (syntax-violation
10516 #f
10517 "source expression failed to match any pattern"
10518 tmp3887)))
10519 ($sc-dispatch tmp3887 (quote (any any)))))
10520 x3880)))))
10521
10522 (define unquote
10523 (make-syncase-macro
10524 'macro
10525 (lambda (x3896)
10526 ((lambda (tmp3897)
10527 ((lambda (tmp3898)
10528 (if tmp3898
10529 (apply (lambda (_3899 e3900)
10530 (syntax-violation
10531 'unquote
10532 "expression not valid outside of quasiquote"
10533 x3896))
10534 tmp3898)
10535 (syntax-violation
10536 #f
10537 "source expression failed to match any pattern"
10538 tmp3897)))
10539 ($sc-dispatch tmp3897 (quote (any any)))))
10540 x3896))))
10541
10542 (define unquote-splicing
10543 (make-syncase-macro
10544 'macro
10545 (lambda (x3901)
10546 ((lambda (tmp3902)
10547 ((lambda (tmp3903)
10548 (if tmp3903
10549 (apply (lambda (_3904 e3905)
10550 (syntax-violation
10551 'unquote-splicing
10552 "expression not valid outside of quasiquote"
10553 x3901))
10554 tmp3903)
10555 (syntax-violation
10556 #f
10557 "source expression failed to match any pattern"
10558 tmp3902)))
10559 ($sc-dispatch tmp3902 (quote (any any)))))
10560 x3901))))
10561
10562 (define case
10563 (make-extended-syncase-macro
10564 (module-ref (current-module) (quote case))
10565 'macro
10566 (lambda (x3906)
10567 ((lambda (tmp3907)
10568 ((lambda (tmp3908)
10569 (if tmp3908
10570 (apply (lambda (_3909 e3910 m13911 m23912)
10571 ((lambda (tmp3913)
10572 ((lambda (body3914)
10573 (list '#(syntax-object
10574 let
10575 ((top)
10576 #(ribcage #(body) #((top)) #("i"))
10577 #(ribcage
10578 #(_ e m1 m2)
10579 #((top) (top) (top) (top))
10580 #("i" "i" "i" "i"))
10581 #(ribcage () () ())
10582 #(ribcage #(x) #((top)) #("i")))
10583 (hygiene guile))
10584 (list (list '#(syntax-object
10585 t
10586 ((top)
10587 #(ribcage
10588 #(body)
10589 #((top))
10590 #("i"))
10591 #(ribcage
10592 #(_ e m1 m2)
10593 #((top) (top) (top) (top))
10594 #("i" "i" "i" "i"))
10595 #(ribcage () () ())
10596 #(ribcage
10597 #(x)
10598 #((top))
10599 #("i")))
10600 (hygiene guile))
10601 e3910))
10602 body3914))
10603 tmp3913))
10604 (letrec ((f3915 (lambda (clause3916 clauses3917)
10605 (if (null? clauses3917)
10606 ((lambda (tmp3919)
10607 ((lambda (tmp3920)
10608 (if tmp3920
10609 (apply (lambda (e13921
10610 e23922)
10611 (cons '#(syntax-object
10612 begin
10613 ((top)
10614 #(ribcage
10615 #(e1
10616 e2)
10617 #((top)
10618 (top))
10619 #("i"
10620 "i"))
10621 #(ribcage
10622 ()
10623 ()
10624 ())
10625 #(ribcage
10626 #(f
10627 clause
10628 clauses)
10629 #((top)
10630 (top)
10631 (top))
10632 #("i"
10633 "i"
10634 "i"))
10635 #(ribcage
10636 #(_
10637 e
10638 m1
10639 m2)
10640 #((top)
10641 (top)
10642 (top)
10643 (top))
10644 #("i"
10645 "i"
10646 "i"
10647 "i"))
10648 #(ribcage
10649 ()
10650 ()
10651 ())
10652 #(ribcage
10653 #(x)
10654 #((top))
10655 #("i")))
10656 (hygiene
10657 guile))
10658 (cons e13921
10659 e23922)))
10660 tmp3920)
10661 ((lambda (tmp3924)
10662 (if tmp3924
10663 (apply (lambda (k3925
10664 e13926
10665 e23927)
10666 (list '#(syntax-object
10667 if
10668 ((top)
10669 #(ribcage
10670 #(k
10671 e1
10672 e2)
10673 #((top)
10674 (top)
10675 (top))
10676 #("i"
10677 "i"
10678 "i"))
10679 #(ribcage
10680 ()
10681 ()
10682 ())
10683 #(ribcage
10684 #(f
10685 clause
10686 clauses)
10687 #((top)
10688 (top)
10689 (top))
10690 #("i"
10691 "i"
10692 "i"))
10693 #(ribcage
10694 #(_
10695 e
10696 m1
10697 m2)
10698 #((top)
10699 (top)
10700 (top)
10701 (top))
10702 #("i"
10703 "i"
10704 "i"
10705 "i"))
10706 #(ribcage
10707 ()
10708 ()
10709 ())
10710 #(ribcage
10711 #(x)
10712 #((top))
10713 #("i")))
10714 (hygiene
10715 guile))
10716 (list '#(syntax-object
10717 memv
10718 ((top)
10719 #(ribcage
10720 #(k
10721 e1
10722 e2)
10723 #((top)
10724 (top)
10725 (top))
10726 #("i"
10727 "i"
10728 "i"))
10729 #(ribcage
10730 ()
10731 ()
10732 ())
10733 #(ribcage
10734 #(f
10735 clause
10736 clauses)
10737 #((top)
10738 (top)
10739 (top))
10740 #("i"
10741 "i"
10742 "i"))
10743 #(ribcage
10744 #(_
10745 e
10746 m1
10747 m2)
10748 #((top)
10749 (top)
10750 (top)
10751 (top))
10752 #("i"
10753 "i"
10754 "i"
10755 "i"))
10756 #(ribcage
10757 ()
10758 ()
10759 ())
10760 #(ribcage
10761 #(x)
10762 #((top))
10763 #("i")))
10764 (hygiene
10765 guile))
10766 '#(syntax-object
10767 t
10768 ((top)
10769 #(ribcage
10770 #(k
10771 e1
10772 e2)
10773 #((top)
10774 (top)
10775 (top))
10776 #("i"
10777 "i"
10778 "i"))
10779 #(ribcage
10780 ()
10781 ()
10782 ())
10783 #(ribcage
10784 #(f
10785 clause
10786 clauses)
10787 #((top)
10788 (top)
10789 (top))
10790 #("i"
10791 "i"
10792 "i"))
10793 #(ribcage
10794 #(_
10795 e
10796 m1
10797 m2)
10798 #((top)
10799 (top)
10800 (top)
10801 (top))
10802 #("i"
10803 "i"
10804 "i"
10805 "i"))
10806 #(ribcage
10807 ()
10808 ()
10809 ())
10810 #(ribcage
10811 #(x)
10812 #((top))
10813 #("i")))
10814 (hygiene
10815 guile))
10816 (list '#(syntax-object
10817 quote
10818 ((top)
10819 #(ribcage
10820 #(k
10821 e1
10822 e2)
10823 #((top)
10824 (top)
10825 (top))
10826 #("i"
10827 "i"
10828 "i"))
10829 #(ribcage
10830 ()
10831 ()
10832 ())
10833 #(ribcage
10834 #(f
10835 clause
10836 clauses)
10837 #((top)
10838 (top)
10839 (top))
10840 #("i"
10841 "i"
10842 "i"))
10843 #(ribcage
10844 #(_
10845 e
10846 m1
10847 m2)
10848 #((top)
10849 (top)
10850 (top)
10851 (top))
10852 #("i"
10853 "i"
10854 "i"
10855 "i"))
10856 #(ribcage
10857 ()
10858 ()
10859 ())
10860 #(ribcage
10861 #(x)
10862 #((top))
10863 #("i")))
10864 (hygiene
10865 guile))
10866 k3925))
10867 (cons '#(syntax-object
10868 begin
10869 ((top)
10870 #(ribcage
10871 #(k
10872 e1
10873 e2)
10874 #((top)
10875 (top)
10876 (top))
10877 #("i"
10878 "i"
10879 "i"))
10880 #(ribcage
10881 ()
10882 ()
10883 ())
10884 #(ribcage
10885 #(f
10886 clause
10887 clauses)
10888 #((top)
10889 (top)
10890 (top))
10891 #("i"
10892 "i"
10893 "i"))
10894 #(ribcage
10895 #(_
10896 e
10897 m1
10898 m2)
10899 #((top)
10900 (top)
10901 (top)
10902 (top))
10903 #("i"
10904 "i"
10905 "i"
10906 "i"))
10907 #(ribcage
10908 ()
10909 ()
10910 ())
10911 #(ribcage
10912 #(x)
10913 #((top))
10914 #("i")))
10915 (hygiene
10916 guile))
10917 (cons e13926
10918 e23927))))
10919 tmp3924)
10920 ((lambda (_3930)
10921 (syntax-violation
10922 'case
10923 "bad clause"
10924 x3906
10925 clause3916))
10926 tmp3919)))
10927 ($sc-dispatch
10928 tmp3919
10929 '(each-any
10930 any
10931 .
10932 each-any)))))
10933 ($sc-dispatch
10934 tmp3919
10935 '(#(free-id
10936 #(syntax-object
10937 else
10938 ((top)
10939 #(ribcage () () ())
10940 #(ribcage
10941 #(f clause clauses)
10942 #((top) (top) (top))
10943 #("i" "i" "i"))
10944 #(ribcage
10945 #(_ e m1 m2)
10946 #((top)
10947 (top)
10948 (top)
10949 (top))
10950 #("i" "i" "i" "i"))
10951 #(ribcage () () ())
10952 #(ribcage
10953 #(x)
10954 #((top))
10955 #("i")))
10956 (hygiene guile)))
10957 any
10958 .
10959 each-any))))
10960 clause3916)
10961 ((lambda (tmp3931)
10962 ((lambda (rest3932)
10963 ((lambda (tmp3933)
10964 ((lambda (tmp3934)
10965 (if tmp3934
10966 (apply (lambda (k3935
10967 e13936
10968 e23937)
10969 (list '#(syntax-object
10970 if
10971 ((top)
10972 #(ribcage
10973 #(k
10974 e1
10975 e2)
10976 #((top)
10977 (top)
10978 (top))
10979 #("i"
10980 "i"
10981 "i"))
10982 #(ribcage
10983 #(rest)
10984 #((top))
10985 #("i"))
10986 #(ribcage
10987 ()
10988 ()
10989 ())
10990 #(ribcage
10991 #(f
10992 clause
10993 clauses)
10994 #((top)
10995 (top)
10996 (top))
10997 #("i"
10998 "i"
10999 "i"))
11000 #(ribcage
11001 #(_
11002 e
11003 m1
11004 m2)
11005 #((top)
11006 (top)
11007 (top)
11008 (top))
11009 #("i"
11010 "i"
11011 "i"
11012 "i"))
11013 #(ribcage
11014 ()
11015 ()
11016 ())
11017 #(ribcage
11018 #(x)
11019 #((top))
11020 #("i")))
11021 (hygiene
11022 guile))
11023 (list '#(syntax-object
11024 memv
11025 ((top)
11026 #(ribcage
11027 #(k
11028 e1
11029 e2)
11030 #((top)
11031 (top)
11032 (top))
11033 #("i"
11034 "i"
11035 "i"))
11036 #(ribcage
11037 #(rest)
11038 #((top))
11039 #("i"))
11040 #(ribcage
11041 ()
11042 ()
11043 ())
11044 #(ribcage
11045 #(f
11046 clause
11047 clauses)
11048 #((top)
11049 (top)
11050 (top))
11051 #("i"
11052 "i"
11053 "i"))
11054 #(ribcage
11055 #(_
11056 e
11057 m1
11058 m2)
11059 #((top)
11060 (top)
11061 (top)
11062 (top))
11063 #("i"
11064 "i"
11065 "i"
11066 "i"))
11067 #(ribcage
11068 ()
11069 ()
11070 ())
11071 #(ribcage
11072 #(x)
11073 #((top))
11074 #("i")))
11075 (hygiene
11076 guile))
11077 '#(syntax-object
11078 t
11079 ((top)
11080 #(ribcage
11081 #(k
11082 e1
11083 e2)
11084 #((top)
11085 (top)
11086 (top))
11087 #("i"
11088 "i"
11089 "i"))
11090 #(ribcage
11091 #(rest)
11092 #((top))
11093 #("i"))
11094 #(ribcage
11095 ()
11096 ()
11097 ())
11098 #(ribcage
11099 #(f
11100 clause
11101 clauses)
11102 #((top)
11103 (top)
11104 (top))
11105 #("i"
11106 "i"
11107 "i"))
11108 #(ribcage
11109 #(_
11110 e
11111 m1
11112 m2)
11113 #((top)
11114 (top)
11115 (top)
11116 (top))
11117 #("i"
11118 "i"
11119 "i"
11120 "i"))
11121 #(ribcage
11122 ()
11123 ()
11124 ())
11125 #(ribcage
11126 #(x)
11127 #((top))
11128 #("i")))
11129 (hygiene
11130 guile))
11131 (list '#(syntax-object
11132 quote
11133 ((top)
11134 #(ribcage
11135 #(k
11136 e1
11137 e2)
11138 #((top)
11139 (top)
11140 (top))
11141 #("i"
11142 "i"
11143 "i"))
11144 #(ribcage
11145 #(rest)
11146 #((top))
11147 #("i"))
11148 #(ribcage
11149 ()
11150 ()
11151 ())
11152 #(ribcage
11153 #(f
11154 clause
11155 clauses)
11156 #((top)
11157 (top)
11158 (top))
11159 #("i"
11160 "i"
11161 "i"))
11162 #(ribcage
11163 #(_
11164 e
11165 m1
11166 m2)
11167 #((top)
11168 (top)
11169 (top)
11170 (top))
11171 #("i"
11172 "i"
11173 "i"
11174 "i"))
11175 #(ribcage
11176 ()
11177 ()
11178 ())
11179 #(ribcage
11180 #(x)
11181 #((top))
11182 #("i")))
11183 (hygiene
11184 guile))
11185 k3935))
11186 (cons '#(syntax-object
11187 begin
11188 ((top)
11189 #(ribcage
11190 #(k
11191 e1
11192 e2)
11193 #((top)
11194 (top)
11195 (top))
11196 #("i"
11197 "i"
11198 "i"))
11199 #(ribcage
11200 #(rest)
11201 #((top))
11202 #("i"))
11203 #(ribcage
11204 ()
11205 ()
11206 ())
11207 #(ribcage
11208 #(f
11209 clause
11210 clauses)
11211 #((top)
11212 (top)
11213 (top))
11214 #("i"
11215 "i"
11216 "i"))
11217 #(ribcage
11218 #(_
11219 e
11220 m1
11221 m2)
11222 #((top)
11223 (top)
11224 (top)
11225 (top))
11226 #("i"
11227 "i"
11228 "i"
11229 "i"))
11230 #(ribcage
11231 ()
11232 ()
11233 ())
11234 #(ribcage
11235 #(x)
11236 #((top))
11237 #("i")))
11238 (hygiene
11239 guile))
11240 (cons e13936
11241 e23937))
11242 rest3932))
11243 tmp3934)
11244 ((lambda (_3940)
11245 (syntax-violation
11246 'case
11247 "bad clause"
11248 x3906
11249 clause3916))
11250 tmp3933)))
11251 ($sc-dispatch
11252 tmp3933
11253 '(each-any
11254 any
11255 .
11256 each-any))))
11257 clause3916))
11258 tmp3931))
11259 (f3915 (car clauses3917)
11260 (cdr clauses3917)))))))
11261 (f3915 m13911 m23912))))
11262 tmp3908)
11263 (syntax-violation
11264 #f
11265 "source expression failed to match any pattern"
11266 tmp3907)))
11267 ($sc-dispatch
11268 tmp3907
11269 '(any any any . each-any))))
11270 x3906))))
11271
11272 (define identifier-syntax
11273 (make-syncase-macro
11274 'macro
11275 (lambda (x3941)
11276 ((lambda (tmp3942)
11277 ((lambda (tmp3943)
11278 (if tmp3943
11279 (apply (lambda (_3944 e3945)
11280 (list '#(syntax-object
11281 lambda
11282 ((top)
11283 #(ribcage #(_ e) #((top) (top)) #("i" "i"))
11284 #(ribcage () () ())
11285 #(ribcage #(x) #((top)) #("i")))
11286 (hygiene guile))
11287 '(#(syntax-object
11288 x
11289 ((top)
11290 #(ribcage #(_ e) #((top) (top)) #("i" "i"))
11291 #(ribcage () () ())
11292 #(ribcage #(x) #((top)) #("i")))
11293 (hygiene guile)))
11294 (list '#(syntax-object
11295 syntax-case
11296 ((top)
11297 #(ribcage
11298 #(_ e)
11299 #((top) (top))
11300 #("i" "i"))
11301 #(ribcage () () ())
11302 #(ribcage #(x) #((top)) #("i")))
11303 (hygiene guile))
11304 '#(syntax-object
11305 x
11306 ((top)
11307 #(ribcage
11308 #(_ e)
11309 #((top) (top))
11310 #("i" "i"))
11311 #(ribcage () () ())
11312 #(ribcage #(x) #((top)) #("i")))
11313 (hygiene guile))
11314 '()
11315 (list '#(syntax-object
11316 id
11317 ((top)
11318 #(ribcage
11319 #(_ e)
11320 #((top) (top))
11321 #("i" "i"))
11322 #(ribcage () () ())
11323 #(ribcage #(x) #((top)) #("i")))
11324 (hygiene guile))
11325 '(#(syntax-object
11326 identifier?
11327 ((top)
11328 #(ribcage
11329 #(_ e)
11330 #((top) (top))
11331 #("i" "i"))
11332 #(ribcage () () ())
11333 #(ribcage #(x) #((top)) #("i")))
11334 (hygiene guile))
11335 (#(syntax-object
11336 syntax
11337 ((top)
11338 #(ribcage
11339 #(_ e)
11340 #((top) (top))
11341 #("i" "i"))
11342 #(ribcage () () ())
11343 #(ribcage #(x) #((top)) #("i")))
11344 (hygiene guile))
11345 #(syntax-object
11346 id
11347 ((top)
11348 #(ribcage
11349 #(_ e)
11350 #((top) (top))
11351 #("i" "i"))
11352 #(ribcage () () ())
11353 #(ribcage #(x) #((top)) #("i")))
11354 (hygiene guile))))
11355 (list '#(syntax-object
11356 syntax
11357 ((top)
11358 #(ribcage
11359 #(_ e)
11360 #((top) (top))
11361 #("i" "i"))
11362 #(ribcage () () ())
11363 #(ribcage
11364 #(x)
11365 #((top))
11366 #("i")))
11367 (hygiene guile))
11368 e3945))
11369 (list (cons _3944
11370 '(#(syntax-object
11371 x
11372 ((top)
11373 #(ribcage
11374 #(_ e)
11375 #((top) (top))
11376 #("i" "i"))
11377 #(ribcage () () ())
11378 #(ribcage
11379 #(x)
11380 #((top))
11381 #("i")))
11382 (hygiene guile))
11383 #(syntax-object
11384 ...
11385 ((top)
11386 #(ribcage
11387 #(_ e)
11388 #((top) (top))
11389 #("i" "i"))
11390 #(ribcage () () ())
11391 #(ribcage
11392 #(x)
11393 #((top))
11394 #("i")))
11395 (hygiene guile))))
11396 (list '#(syntax-object
11397 syntax
11398 ((top)
11399 #(ribcage
11400 #(_ e)
11401 #((top) (top))
11402 #("i" "i"))
11403 #(ribcage () () ())
11404 #(ribcage
11405 #(x)
11406 #((top))
11407 #("i")))
11408 (hygiene guile))
11409 (cons e3945
11410 '(#(syntax-object
11411 x
11412 ((top)
11413 #(ribcage
11414 #(_ e)
11415 #((top) (top))
11416 #("i" "i"))
11417 #(ribcage () () ())
11418 #(ribcage
11419 #(x)
11420 #((top))
11421 #("i")))
11422 (hygiene guile))
11423 #(syntax-object
11424 ...
11425 ((top)
11426 #(ribcage
11427 #(_ e)
11428 #((top) (top))
11429 #("i" "i"))
11430 #(ribcage () () ())
11431 #(ribcage
11432 #(x)
11433 #((top))
11434 #("i")))
11435 (hygiene
11436 guile)))))))))
11437 tmp3943)
11438 (syntax-violation
11439 #f
11440 "source expression failed to match any pattern"
11441 tmp3942)))
11442 ($sc-dispatch tmp3942 (quote (any any)))))
11443 x3941))))
11444