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