Use include-from-path for upstream.
[mes.git] / module / mes / psyntax-pp.mes
1 (letrec ((syntmp-lambda-var-list-167
2            (lambda (syntmp-vars-552)
3              (let syntmp-lvl-553 ((syntmp-vars-554 syntmp-vars-552)
4                                   (syntmp-ls-555 (quote ()))
5                                   (syntmp-w-556 (quote (()))))
6                (cond ((pair? syntmp-vars-554)
7                       (syntmp-lvl-553
8                         (cdr syntmp-vars-554)
9                         (cons (syntmp-wrap-146
10                                 (car syntmp-vars-554)
11                                 syntmp-w-556)
12                               syntmp-ls-555)
13                         syntmp-w-556))
14                      ((syntmp-id?-118 syntmp-vars-554)
15                       (cons (syntmp-wrap-146 syntmp-vars-554 syntmp-w-556)
16                             syntmp-ls-555))
17                      ((null? syntmp-vars-554) syntmp-ls-555)
18                      ((syntmp-syntax-object?-104 syntmp-vars-554)
19                       (syntmp-lvl-553
20                         (syntmp-syntax-object-expression-105
21                           syntmp-vars-554)
22                         syntmp-ls-555
23                         (syntmp-join-wraps-137
24                           syntmp-w-556
25                           (syntmp-syntax-object-wrap-106 syntmp-vars-554))))
26                      ((syntmp-annotation?-92 syntmp-vars-554)
27                       (syntmp-lvl-553
28                         (annotation-expression syntmp-vars-554)
29                         syntmp-ls-555
30                         syntmp-w-556))
31                      (else (cons syntmp-vars-554 syntmp-ls-555))))))
32          (syntmp-gen-var-166
33            (lambda (syntmp-id-557)
34              (let ((syntmp-id-558
35                      (if (syntmp-syntax-object?-104 syntmp-id-557)
36                        (syntmp-syntax-object-expression-105
37                          syntmp-id-557)
38                        syntmp-id-557)))
39                (if (syntmp-annotation?-92 syntmp-id-558)
40                  (gensym
41                    (symbol->string
42                      (annotation-expression syntmp-id-558)))
43                  (gensym (symbol->string syntmp-id-558))))))
44          (syntmp-strip-165
45            (lambda (syntmp-x-559 syntmp-w-560)
46              (if (memq 'top
47                        (syntmp-wrap-marks-121 syntmp-w-560))
48                (if (or (syntmp-annotation?-92 syntmp-x-559)
49                        (and (pair? syntmp-x-559)
50                             (syntmp-annotation?-92 (car syntmp-x-559))))
51                  (syntmp-strip-annotation-164 syntmp-x-559 #f)
52                  syntmp-x-559)
53                (let syntmp-f-561 ((syntmp-x-562 syntmp-x-559))
54                  (cond ((syntmp-syntax-object?-104 syntmp-x-562)
55                         (syntmp-strip-165
56                           (syntmp-syntax-object-expression-105
57                             syntmp-x-562)
58                           (syntmp-syntax-object-wrap-106 syntmp-x-562)))
59                        ((pair? syntmp-x-562)
60                         (let ((syntmp-a-563 (syntmp-f-561 (car syntmp-x-562)))
61                               (syntmp-d-564 (syntmp-f-561 (cdr syntmp-x-562))))
62                           (if (and (eq? syntmp-a-563 (car syntmp-x-562))
63                                    (eq? syntmp-d-564 (cdr syntmp-x-562)))
64                             syntmp-x-562
65                             (cons syntmp-a-563 syntmp-d-564))))
66                        ((vector? syntmp-x-562)
67                         (let ((syntmp-old-565 (vector->list syntmp-x-562)))
68                           (let ((syntmp-new-566
69                                   (map syntmp-f-561 syntmp-old-565)))
70                             (if (andmap eq? syntmp-old-565 syntmp-new-566)
71                               syntmp-x-562
72                               (list->vector syntmp-new-566)))))
73                        (else syntmp-x-562))))))
74          (syntmp-strip-annotation-164
75            (lambda (syntmp-x-567 syntmp-parent-568)
76              (cond ((pair? syntmp-x-567)
77                     (let ((syntmp-new-569 (cons #f #f)))
78                       (begin
79                         (when syntmp-parent-568
80                               (set-annotation-stripped!
81                                 syntmp-parent-568
82                                 syntmp-new-569))
83                         (set-car!
84                           syntmp-new-569
85                           (syntmp-strip-annotation-164
86                             (car syntmp-x-567)
87                             #f))
88                         (set-cdr!
89                           syntmp-new-569
90                           (syntmp-strip-annotation-164
91                             (cdr syntmp-x-567)
92                             #f))
93                         syntmp-new-569)))
94                    ((syntmp-annotation?-92 syntmp-x-567)
95                     (or (annotation-stripped syntmp-x-567)
96                         (syntmp-strip-annotation-164
97                           (annotation-expression syntmp-x-567)
98                           syntmp-x-567)))
99                    ((vector? syntmp-x-567)
100                     (let ((syntmp-new-570
101                             (make-vector (vector-length syntmp-x-567))))
102                       (begin
103                         (when syntmp-parent-568
104                               (set-annotation-stripped!
105                                 syntmp-parent-568
106                                 syntmp-new-570))
107                         (let syntmp-loop-571 ((syntmp-i-572
108                                                 (- (vector-length syntmp-x-567)
109                                                    1)))
110                           (unless
111                             (syntmp-fx<-91 syntmp-i-572 0)
112                             (vector-set!
113                               syntmp-new-570
114                               syntmp-i-572
115                               (syntmp-strip-annotation-164
116                                 (vector-ref syntmp-x-567 syntmp-i-572)
117                                 #f))
118                             (syntmp-loop-571 (syntmp-fx--89 syntmp-i-572 1))))
119                         syntmp-new-570)))
120                    (else syntmp-x-567))))
121          (syntmp-ellipsis?-163
122            (lambda (syntmp-e-573 syntmp-r-574)
123              (and (syntmp-nonsymbol-id?-117 syntmp-e-573)
124                   (let ((syntmp-id-575
125                           (syntmp-make-syntax-object-103
126                             '$sc-ellipsis
127                             (syntmp-syntax-object-wrap-106 syntmp-e-573))))
128                     (let ((syntmp-n-576
129                             (syntmp-id-var-name-140
130                               syntmp-id-575
131                               '(()))))
132                       (let ((syntmp-b-577
133                               (syntmp-lookup-115 syntmp-n-576 syntmp-r-574)))
134                         (if (eq? (syntmp-binding-type-110 syntmp-b-577)
135                                  'ellipsis)
136                           (syntmp-bound-id=?-142
137                             syntmp-e-573
138                             (syntmp-binding-value-111 syntmp-b-577))
139                           (syntmp-free-id=?-141
140                             syntmp-e-573
141                             '#(syntax-object
142                                ...
143                                ((top)
144                                 #(ribcage () () ())
145                                 #(ribcage () () ())
146                                 #(ribcage #(b) #((top)) #("i"))
147                                 #(ribcage () () ())
148                                 #(ribcage #(n) #((top)) #("i"))
149                                 #(ribcage () () ())
150                                 #(ribcage #(id) #((top)) #("i"))
151                                 #(ribcage () () ())
152                                 #(ribcage #(e r) #((top) (top)) #("i" "i"))
153                                 #(ribcage
154                                   (lambda-var-list
155                                     gen-var
156                                     strip
157                                     strip-annotation
158                                     ellipsis?
159                                     chi-void
160                                     eval-local-transformer
161                                     chi-local-syntax
162                                     chi-lambda-clause
163                                     chi-body
164                                     chi-macro
165                                     chi-application
166                                     chi-expr
167                                     chi
168                                     chi-top
169                                     syntax-type
170                                     chi-when-list
171                                     chi-install-global
172                                     chi-top-sequence
173                                     chi-sequence
174                                     source-wrap
175                                     wrap
176                                     bound-id-member?
177                                     distinct-bound-ids?
178                                     valid-bound-ids?
179                                     bound-id=?
180                                     free-id=?
181                                     id-var-name
182                                     same-marks?
183                                     join-marks
184                                     join-wraps
185                                     smart-append
186                                     make-binding-wrap
187                                     extend-ribcage!
188                                     make-empty-ribcage
189                                     new-mark
190                                     anti-mark
191                                     the-anti-mark
192                                     top-marked?
193                                     top-wrap
194                                     empty-wrap
195                                     set-ribcage-labels!
196                                     set-ribcage-marks!
197                                     set-ribcage-symnames!
198                                     ribcage-labels
199                                     ribcage-marks
200                                     ribcage-symnames
201                                     ribcage?
202                                     make-ribcage
203                                     gen-labels
204                                     gen-label
205                                     make-rename
206                                     rename-marks
207                                     rename-new
208                                     rename-old
209                                     subst-rename?
210                                     wrap-subst
211                                     wrap-marks
212                                     make-wrap
213                                     id-sym-name&marks
214                                     id-sym-name
215                                     id?
216                                     nonsymbol-id?
217                                     global-extend
218                                     lookup
219                                     macros-only-env
220                                     extend-var-env
221                                     extend-env
222                                     null-env
223                                     binding-value
224                                     binding-type
225                                     make-binding
226                                     arg-check
227                                     source-annotation
228                                     no-source
229                                     unannotate
230                                     set-syntax-object-wrap!
231                                     set-syntax-object-expression!
232                                     syntax-object-wrap
233                                     syntax-object-expression
234                                     syntax-object?
235                                     make-syntax-object
236                                     build-lexical-var
237                                     build-letrec
238                                     build-named-let
239                                     build-let
240                                     build-sequence
241                                     build-data
242                                     build-primref
243                                     build-lambda
244                                     build-global-definition
245                                     build-global-assignment
246                                     build-global-reference
247                                     build-lexical-assignment
248                                     build-lexical-reference
249                                     build-conditional
250                                     build-application
251                                     get-global-definition-hook
252                                     put-global-definition-hook
253                                     gensym-hook
254                                     error-hook
255                                     local-eval-hook
256                                     top-level-eval-hook
257                                     annotation?
258                                     fx<
259                                     fx=
260                                     fx-
261                                     fx+
262                                     noexpand)
263                                   ((top)
264                                    (top)
265                                    (top)
266                                    (top)
267                                    (top)
268                                    (top)
269                                    (top)
270                                    (top)
271                                    (top)
272                                    (top)
273                                    (top)
274                                    (top)
275                                    (top)
276                                    (top)
277                                    (top)
278                                    (top)
279                                    (top)
280                                    (top)
281                                    (top)
282                                    (top)
283                                    (top)
284                                    (top)
285                                    (top)
286                                    (top)
287                                    (top)
288                                    (top)
289                                    (top)
290                                    (top)
291                                    (top)
292                                    (top)
293                                    (top)
294                                    (top)
295                                    (top)
296                                    (top)
297                                    (top)
298                                    (top)
299                                    (top)
300                                    (top)
301                                    (top)
302                                    (top)
303                                    (top)
304                                    (top)
305                                    (top)
306                                    (top)
307                                    (top)
308                                    (top)
309                                    (top)
310                                    (top)
311                                    (top)
312                                    (top)
313                                    (top)
314                                    (top)
315                                    (top)
316                                    (top)
317                                    (top)
318                                    (top)
319                                    (top)
320                                    (top)
321                                    (top)
322                                    (top)
323                                    (top)
324                                    (top)
325                                    (top)
326                                    (top)
327                                    (top)
328                                    (top)
329                                    (top)
330                                    (top)
331                                    (top)
332                                    (top)
333                                    (top)
334                                    (top)
335                                    (top)
336                                    (top)
337                                    (top)
338                                    (top)
339                                    (top)
340                                    (top)
341                                    (top)
342                                    (top)
343                                    (top)
344                                    (top)
345                                    (top)
346                                    (top)
347                                    (top)
348                                    (top)
349                                    (top)
350                                    (top)
351                                    (top)
352                                    (top)
353                                    (top)
354                                    (top)
355                                    (top)
356                                    (top)
357                                    (top)
358                                    (top)
359                                    (top)
360                                    (top)
361                                    (top)
362                                    (top)
363                                    (top)
364                                    (top)
365                                    (top)
366                                    (top)
367                                    (top)
368                                    (top)
369                                    (top)
370                                    (top)
371                                    (top))
372                                   ("i"
373                                    "i"
374                                    "i"
375                                    "i"
376                                    "i"
377                                    "i"
378                                    "i"
379                                    "i"
380                                    "i"
381                                    "i"
382                                    "i"
383                                    "i"
384                                    "i"
385                                    "i"
386                                    "i"
387                                    "i"
388                                    "i"
389                                    "i"
390                                    "i"
391                                    "i"
392                                    "i"
393                                    "i"
394                                    "i"
395                                    "i"
396                                    "i"
397                                    "i"
398                                    "i"
399                                    "i"
400                                    "i"
401                                    "i"
402                                    "i"
403                                    "i"
404                                    "i"
405                                    "i"
406                                    "i"
407                                    "i"
408                                    "i"
409                                    "i"
410                                    "i"
411                                    "i"
412                                    "i"
413                                    "i"
414                                    "i"
415                                    "i"
416                                    "i"
417                                    "i"
418                                    "i"
419                                    "i"
420                                    "i"
421                                    "i"
422                                    "i"
423                                    "i"
424                                    "i"
425                                    "i"
426                                    "i"
427                                    "i"
428                                    "i"
429                                    "i"
430                                    "i"
431                                    "i"
432                                    "i"
433                                    "i"
434                                    "i"
435                                    "i"
436                                    "i"
437                                    "i"
438                                    "i"
439                                    "i"
440                                    "i"
441                                    "i"
442                                    "i"
443                                    "i"
444                                    "i"
445                                    "i"
446                                    "i"
447                                    "i"
448                                    "i"
449                                    "i"
450                                    "i"
451                                    "i"
452                                    "i"
453                                    "i"
454                                    "i"
455                                    "i"
456                                    "i"
457                                    "i"
458                                    "i"
459                                    "i"
460                                    "i"
461                                    "i"
462                                    "i"
463                                    "i"
464                                    "i"
465                                    "i"
466                                    "i"
467                                    "i"
468                                    "i"
469                                    "i"
470                                    "i"
471                                    "i"
472                                    "i"
473                                    "i"
474                                    "i"
475                                    "i"
476                                    "i"
477                                    "i"
478                                    "i"
479                                    "i"
480                                    "i"))
481                                 #(ribcage
482                                   (define-structure)
483                                   ((top))
484                                   ("i"))))))))))))
485          (syntmp-chi-void-162
486            (lambda () (list (quote void))))
487          (syntmp-eval-local-transformer-161
488            (lambda (syntmp-expanded-578)
489              (let ((syntmp-p-579
490                      (syntmp-local-eval-hook-94 syntmp-expanded-578)))
491                (if (procedure? syntmp-p-579)
492                  syntmp-p-579
493                  (syntax-error
494                    syntmp-p-579
495                    "nonprocedure transformer")))))
496          (syntmp-chi-local-syntax-160
497            (lambda (syntmp-rec?-580
498                     syntmp-e-581
499                     syntmp-r-582
500                     syntmp-w-583
501                     syntmp-s-584
502                     syntmp-k-585)
503              ((lambda (syntmp-tmp-586)
504                 ((lambda (syntmp-tmp-587)
505                    (if syntmp-tmp-587
506                      (apply (lambda (syntmp-_-588
507                                      syntmp-id-589
508                                      syntmp-val-590
509                                      syntmp-e1-591
510                                      syntmp-e2-592)
511                               (let ((syntmp-ids-593 syntmp-id-589))
512                                 (if (not (syntmp-valid-bound-ids?-143
513                                            syntmp-ids-593))
514                                   (syntax-error
515                                     syntmp-e-581
516                                     "duplicate bound keyword in")
517                                   (let ((syntmp-labels-595
518                                           (syntmp-gen-labels-124
519                                             syntmp-ids-593)))
520                                     (let ((syntmp-new-w-596
521                                             (syntmp-make-binding-wrap-135
522                                               syntmp-ids-593
523                                               syntmp-labels-595
524                                               syntmp-w-583)))
525                                       (syntmp-k-585
526                                         (cons syntmp-e1-591 syntmp-e2-592)
527                                         (syntmp-extend-env-112
528                                           syntmp-labels-595
529                                           (let ((syntmp-w-598
530                                                   (if syntmp-rec?-580
531                                                     syntmp-new-w-596
532                                                     syntmp-w-583))
533                                                 (syntmp-trans-r-599
534                                                   (syntmp-macros-only-env-114
535                                                     syntmp-r-582)))
536                                             (map (lambda (syntmp-x-600)
537                                                    (cons 'macro
538                                                          (syntmp-eval-local-transformer-161
539                                                            (syntmp-chi-154
540                                                              syntmp-x-600
541                                                              syntmp-trans-r-599
542                                                              syntmp-w-598))))
543                                                  syntmp-val-590))
544                                           syntmp-r-582)
545                                         syntmp-new-w-596
546                                         syntmp-s-584))))))
547                             syntmp-tmp-587)
548                      ((lambda (syntmp-_-602)
549                         (syntax-error
550                           (syntmp-source-wrap-147
551                             syntmp-e-581
552                             syntmp-w-583
553                             syntmp-s-584)))
554                       syntmp-tmp-586)))
555                  (syntax-dispatch
556                    syntmp-tmp-586
557                    '(any #(each (any any)) any . each-any))))
558               syntmp-e-581)))
559          (syntmp-chi-lambda-clause-159
560            (lambda (syntmp-e-603
561                     syntmp-c-604
562                     syntmp-r-605
563                     syntmp-w-606
564                     syntmp-k-607)
565              ((lambda (syntmp-tmp-608)
566                 ((lambda (syntmp-tmp-609)
567                    (if syntmp-tmp-609
568                      (apply (lambda (syntmp-id-610 syntmp-e1-611 syntmp-e2-612)
569                               (let ((syntmp-ids-613 syntmp-id-610))
570                                 (if (not (syntmp-valid-bound-ids?-143
571                                            syntmp-ids-613))
572                                   (syntax-error
573                                     syntmp-e-603
574                                     "invalid parameter list in")
575                                   (let ((syntmp-labels-615
576                                           (syntmp-gen-labels-124
577                                             syntmp-ids-613))
578                                         (syntmp-new-vars-616
579                                           (map syntmp-gen-var-166
580                                                syntmp-ids-613)))
581                                     (syntmp-k-607
582                                       syntmp-new-vars-616
583                                       (syntmp-chi-body-158
584                                         (cons syntmp-e1-611 syntmp-e2-612)
585                                         syntmp-e-603
586                                         (syntmp-extend-var-env-113
587                                           syntmp-labels-615
588                                           syntmp-new-vars-616
589                                           syntmp-r-605)
590                                         (syntmp-make-binding-wrap-135
591                                           syntmp-ids-613
592                                           syntmp-labels-615
593                                           syntmp-w-606)))))))
594                             syntmp-tmp-609)
595                      ((lambda (syntmp-tmp-618)
596                         (if syntmp-tmp-618
597                           (apply (lambda (syntmp-ids-619
598                                           syntmp-e1-620
599                                           syntmp-e2-621)
600                                    (let ((syntmp-old-ids-622
601                                            (syntmp-lambda-var-list-167
602                                              syntmp-ids-619)))
603                                      (if (not (syntmp-valid-bound-ids?-143
604                                                 syntmp-old-ids-622))
605                                        (syntax-error
606                                          syntmp-e-603
607                                          "invalid parameter list in")
608                                        (let ((syntmp-labels-623
609                                                (syntmp-gen-labels-124
610                                                  syntmp-old-ids-622))
611                                              (syntmp-new-vars-624
612                                                (map syntmp-gen-var-166
613                                                     syntmp-old-ids-622)))
614                                          (syntmp-k-607
615                                            (let syntmp-f-625 ((syntmp-ls1-626
616                                                                 (cdr syntmp-new-vars-624))
617                                                               (syntmp-ls2-627
618                                                                 (car syntmp-new-vars-624)))
619                                              (if (null? syntmp-ls1-626)
620                                                syntmp-ls2-627
621                                                (syntmp-f-625
622                                                  (cdr syntmp-ls1-626)
623                                                  (cons (car syntmp-ls1-626)
624                                                        syntmp-ls2-627))))
625                                            (syntmp-chi-body-158
626                                              (cons syntmp-e1-620 syntmp-e2-621)
627                                              syntmp-e-603
628                                              (syntmp-extend-var-env-113
629                                                syntmp-labels-623
630                                                syntmp-new-vars-624
631                                                syntmp-r-605)
632                                              (syntmp-make-binding-wrap-135
633                                                syntmp-old-ids-622
634                                                syntmp-labels-623
635                                                syntmp-w-606)))))))
636                                  syntmp-tmp-618)
637                           ((lambda (syntmp-_-629)
638                              (syntax-error syntmp-e-603))
639                            syntmp-tmp-608)))
640                       (syntax-dispatch
641                         syntmp-tmp-608
642                         '(any any . each-any)))))
643                  (syntax-dispatch
644                    syntmp-tmp-608
645                    '(each-any any . each-any))))
646               syntmp-c-604)))
647          (syntmp-chi-body-158
648            (lambda (syntmp-body-630
649                     syntmp-outer-form-631
650                     syntmp-r-632
651                     syntmp-w-633)
652              (let ((syntmp-r-634
653                      (cons '("placeholder" placeholder)
654                            syntmp-r-632)))
655                (let ((syntmp-ribcage-635
656                        (syntmp-make-ribcage-125
657                          '()
658                          '()
659                          '())))
660                  (let ((syntmp-w-636
661                          (syntmp-make-wrap-120
662                            (syntmp-wrap-marks-121 syntmp-w-633)
663                            (cons syntmp-ribcage-635
664                                  (syntmp-wrap-subst-122 syntmp-w-633)))))
665                    (let syntmp-parse-637 ((syntmp-body-638
666                                             (map (lambda (syntmp-x-644)
667                                                    (cons syntmp-r-634
668                                                          (syntmp-wrap-146
669                                                            syntmp-x-644
670                                                            syntmp-w-636)))
671                                                  syntmp-body-630))
672                                           (syntmp-ids-639 (quote ()))
673                                           (syntmp-labels-640 (quote ()))
674                                           (syntmp-vars-641 (quote ()))
675                                           (syntmp-vals-642 (quote ()))
676                                           (syntmp-bindings-643 (quote ())))
677                      (if (null? syntmp-body-638)
678                        (syntax-error
679                          syntmp-outer-form-631
680                          "no expressions in body")
681                        (let ((syntmp-e-645 (cdar syntmp-body-638))
682                              (syntmp-er-646 (caar syntmp-body-638)))
683                          (call-with-values
684                            (lambda ()
685                              (syntmp-syntax-type-152
686                                syntmp-e-645
687                                syntmp-er-646
688                                '(())
689                                #f
690                                syntmp-ribcage-635))
691                            (lambda (syntmp-type-647
692                                     syntmp-value-648
693                                     syntmp-e-649
694                                     syntmp-w-650
695                                     syntmp-s-651)
696                              (let ((syntmp-t-652 syntmp-type-647))
697                                (if (memv syntmp-t-652 (quote (define-form)))
698                                  (let ((syntmp-id-653
699                                          (syntmp-wrap-146
700                                            syntmp-value-648
701                                            syntmp-w-650))
702                                        (syntmp-label-654
703                                          (syntmp-gen-label-123)))
704                                    (let ((syntmp-var-655
705                                            (syntmp-gen-var-166 syntmp-id-653)))
706                                      (begin
707                                        (syntmp-extend-ribcage!-134
708                                          syntmp-ribcage-635
709                                          syntmp-id-653
710                                          syntmp-label-654)
711                                        (syntmp-parse-637
712                                          (cdr syntmp-body-638)
713                                          (cons syntmp-id-653 syntmp-ids-639)
714                                          (cons syntmp-label-654
715                                                syntmp-labels-640)
716                                          (cons syntmp-var-655 syntmp-vars-641)
717                                          (cons (cons syntmp-er-646
718                                                      (syntmp-wrap-146
719                                                        syntmp-e-649
720                                                        syntmp-w-650))
721                                                syntmp-vals-642)
722                                          (cons (cons 'lexical
723                                                      syntmp-var-655)
724                                                syntmp-bindings-643)))))
725                                  (if (memv syntmp-t-652
726                                            '(define-syntax-form))
727                                    (let ((syntmp-id-656
728                                            (syntmp-wrap-146
729                                              syntmp-value-648
730                                              syntmp-w-650))
731                                          (syntmp-label-657
732                                            (syntmp-gen-label-123)))
733                                      (begin
734                                        (syntmp-extend-ribcage!-134
735                                          syntmp-ribcage-635
736                                          syntmp-id-656
737                                          syntmp-label-657)
738                                        (syntmp-parse-637
739                                          (cdr syntmp-body-638)
740                                          (cons syntmp-id-656 syntmp-ids-639)
741                                          (cons syntmp-label-657
742                                                syntmp-labels-640)
743                                          syntmp-vars-641
744                                          syntmp-vals-642
745                                          (cons (cons 'macro
746                                                      (cons syntmp-er-646
747                                                            (syntmp-wrap-146
748                                                              syntmp-e-649
749                                                              syntmp-w-650)))
750                                                syntmp-bindings-643))))
751                                    (if (memv syntmp-t-652 (quote (begin-form)))
752                                      ((lambda (syntmp-tmp-658)
753                                         ((lambda (syntmp-tmp-659)
754                                            (if syntmp-tmp-659
755                                              (apply (lambda (syntmp-_-660
756                                                              syntmp-e1-661)
757                                                       (syntmp-parse-637
758                                                         (let syntmp-f-662 ((syntmp-forms-663
759                                                                              syntmp-e1-661))
760                                                           (if (null? syntmp-forms-663)
761                                                             (cdr syntmp-body-638)
762                                                             (cons (cons syntmp-er-646
763                                                                         (syntmp-wrap-146
764                                                                           (car syntmp-forms-663)
765                                                                           syntmp-w-650))
766                                                                   (syntmp-f-662
767                                                                     (cdr syntmp-forms-663)))))
768                                                         syntmp-ids-639
769                                                         syntmp-labels-640
770                                                         syntmp-vars-641
771                                                         syntmp-vals-642
772                                                         syntmp-bindings-643))
773                                                     syntmp-tmp-659)
774                                              (syntax-error syntmp-tmp-658)))
775                                          (syntax-dispatch
776                                            syntmp-tmp-658
777                                            '(any . each-any))))
778                                       syntmp-e-649)
779                                      (if (memv syntmp-t-652
780                                                '(local-syntax-form))
781                                        (syntmp-chi-local-syntax-160
782                                          syntmp-value-648
783                                          syntmp-e-649
784                                          syntmp-er-646
785                                          syntmp-w-650
786                                          syntmp-s-651
787                                          (lambda (syntmp-forms-665
788                                                   syntmp-er-666
789                                                   syntmp-w-667
790                                                   syntmp-s-668)
791                                            (syntmp-parse-637
792                                              (let syntmp-f-669 ((syntmp-forms-670
793                                                                   syntmp-forms-665))
794                                                (if (null? syntmp-forms-670)
795                                                  (cdr syntmp-body-638)
796                                                  (cons (cons syntmp-er-666
797                                                              (syntmp-wrap-146
798                                                                (car syntmp-forms-670)
799                                                                syntmp-w-667))
800                                                        (syntmp-f-669
801                                                          (cdr syntmp-forms-670)))))
802                                              syntmp-ids-639
803                                              syntmp-labels-640
804                                              syntmp-vars-641
805                                              syntmp-vals-642
806                                              syntmp-bindings-643)))
807                                        (if (null? syntmp-ids-639)
808                                          (syntmp-build-sequence-99
809                                            #f
810                                            (map (lambda (syntmp-x-671)
811                                                   (syntmp-chi-154
812                                                     (cdr syntmp-x-671)
813                                                     (car syntmp-x-671)
814                                                     '(())))
815                                                 (cons (cons syntmp-er-646
816                                                             (syntmp-source-wrap-147
817                                                               syntmp-e-649
818                                                               syntmp-w-650
819                                                               syntmp-s-651))
820                                                       (cdr syntmp-body-638))))
821                                          (begin
822                                            (if (not (syntmp-valid-bound-ids?-143
823                                                       syntmp-ids-639))
824                                              (syntax-error
825                                                syntmp-outer-form-631
826                                                "invalid or duplicate identifier in definition"))
827                                            (let syntmp-loop-672 ((syntmp-bs-673
828                                                                    syntmp-bindings-643)
829                                                                  (syntmp-er-cache-674
830                                                                    #f)
831                                                                  (syntmp-r-cache-675
832                                                                    #f))
833                                              (if (not (null? syntmp-bs-673))
834                                                (let ((syntmp-b-676
835                                                        (car syntmp-bs-673)))
836                                                  (if (eq? (car syntmp-b-676)
837                                                           'macro)
838                                                    (let ((syntmp-er-677
839                                                            (cadr syntmp-b-676)))
840                                                      (let ((syntmp-r-cache-678
841                                                              (if (eq? syntmp-er-677
842                                                                       syntmp-er-cache-674)
843                                                                syntmp-r-cache-675
844                                                                (syntmp-macros-only-env-114
845                                                                  syntmp-er-677))))
846                                                        (begin
847                                                          (set-cdr!
848                                                            syntmp-b-676
849                                                            (syntmp-eval-local-transformer-161
850                                                              (syntmp-chi-154
851                                                                (cddr syntmp-b-676)
852                                                                syntmp-r-cache-678
853                                                                '(()))))
854                                                          (syntmp-loop-672
855                                                            (cdr syntmp-bs-673)
856                                                            syntmp-er-677
857                                                            syntmp-r-cache-678))))
858                                                    (syntmp-loop-672
859                                                      (cdr syntmp-bs-673)
860                                                      syntmp-er-cache-674
861                                                      syntmp-r-cache-675)))))
862                                            (set-cdr!
863                                              syntmp-r-634
864                                              (syntmp-extend-env-112
865                                                syntmp-labels-640
866                                                syntmp-bindings-643
867                                                (cdr syntmp-r-634)))
868                                            (syntmp-build-letrec-102
869                                              #f
870                                              syntmp-vars-641
871                                              (map (lambda (syntmp-x-679)
872                                                     (syntmp-chi-154
873                                                       (cdr syntmp-x-679)
874                                                       (car syntmp-x-679)
875                                                       '(())))
876                                                   syntmp-vals-642)
877                                              (syntmp-build-sequence-99
878                                                #f
879                                                (map (lambda (syntmp-x-680)
880                                                       (syntmp-chi-154
881                                                         (cdr syntmp-x-680)
882                                                         (car syntmp-x-680)
883                                                         '(())))
884                                                     (cons (cons syntmp-er-646
885                                                                 (syntmp-source-wrap-147
886                                                                   syntmp-e-649
887                                                                   syntmp-w-650
888                                                                   syntmp-s-651))
889                                                           (cdr syntmp-body-638))))))))))))))))))))))
890          (syntmp-chi-macro-157
891            (lambda (syntmp-p-681
892                     syntmp-e-682
893                     syntmp-r-683
894                     syntmp-w-684
895                     syntmp-rib-685)
896              (letrec ((syntmp-rebuild-macro-output-686
897                         (lambda (syntmp-x-687 syntmp-m-688)
898                           (cond ((pair? syntmp-x-687)
899                                  (cons (syntmp-rebuild-macro-output-686
900                                          (car syntmp-x-687)
901                                          syntmp-m-688)
902                                        (syntmp-rebuild-macro-output-686
903                                          (cdr syntmp-x-687)
904                                          syntmp-m-688)))
905                                 ((syntmp-syntax-object?-104 syntmp-x-687)
906                                  (let ((syntmp-w-689
907                                          (syntmp-syntax-object-wrap-106
908                                            syntmp-x-687)))
909                                    (let ((syntmp-ms-690
910                                            (syntmp-wrap-marks-121
911                                              syntmp-w-689))
912                                          (syntmp-s-691
913                                            (syntmp-wrap-subst-122
914                                              syntmp-w-689)))
915                                      (syntmp-make-syntax-object-103
916                                        (syntmp-syntax-object-expression-105
917                                          syntmp-x-687)
918                                        (if (and (pair? syntmp-ms-690)
919                                                 (eq? (car syntmp-ms-690) #f))
920                                          (syntmp-make-wrap-120
921                                            (cdr syntmp-ms-690)
922                                            (if syntmp-rib-685
923                                              (cons syntmp-rib-685
924                                                    (cdr syntmp-s-691))
925                                              (cdr syntmp-s-691)))
926                                          (syntmp-make-wrap-120
927                                            (cons syntmp-m-688 syntmp-ms-690)
928                                            (if syntmp-rib-685
929                                              (cons syntmp-rib-685
930                                                    (cons 'shift
931                                                          syntmp-s-691))
932                                              (cons 'shift
933                                                    syntmp-s-691))))))))
934                                 ((vector? syntmp-x-687)
935                                  (let ((syntmp-n-692
936                                          (vector-length syntmp-x-687)))
937                                    (let ((syntmp-v-693
938                                            (make-vector syntmp-n-692)))
939                                      (let syntmp-doloop-694 ((syntmp-i-695 0))
940                                        (if (syntmp-fx=-90
941                                              syntmp-i-695
942                                              syntmp-n-692)
943                                          syntmp-v-693
944                                          (begin
945                                            (vector-set!
946                                              syntmp-v-693
947                                              syntmp-i-695
948                                              (syntmp-rebuild-macro-output-686
949                                                (vector-ref
950                                                  syntmp-x-687
951                                                  syntmp-i-695)
952                                                syntmp-m-688))
953                                            (syntmp-doloop-694
954                                              (syntmp-fx+-88
955                                                syntmp-i-695
956                                                1))))))))
957                                 ((symbol? syntmp-x-687)
958                                  (syntax-error
959                                    syntmp-x-687
960                                    "encountered raw symbol in macro output"))
961                                 (else syntmp-x-687)))))
962                (syntmp-rebuild-macro-output-686
963                  (syntmp-p-681
964                    (syntmp-wrap-146
965                      syntmp-e-682
966                      (syntmp-anti-mark-133 syntmp-w-684)))
967                  (string #\m)))))
968          (syntmp-chi-application-156
969            (lambda (syntmp-x-696
970                     syntmp-e-697
971                     syntmp-r-698
972                     syntmp-w-699
973                     syntmp-s-700)
974              ((lambda (syntmp-tmp-701)
975                 ((lambda (syntmp-tmp-702)
976                    (if syntmp-tmp-702
977                      (apply (lambda (syntmp-e0-703 syntmp-e1-704)
978                               (cons syntmp-x-696
979                                     (map (lambda (syntmp-e-705)
980                                            (syntmp-chi-154
981                                              syntmp-e-705
982                                              syntmp-r-698
983                                              syntmp-w-699))
984                                          syntmp-e1-704)))
985                             syntmp-tmp-702)
986                      (syntax-error syntmp-tmp-701)))
987                  (syntax-dispatch
988                    syntmp-tmp-701
989                    '(any . each-any))))
990               syntmp-e-697)))
991          (syntmp-chi-expr-155
992            (lambda (syntmp-type-707
993                     syntmp-value-708
994                     syntmp-e-709
995                     syntmp-r-710
996                     syntmp-w-711
997                     syntmp-s-712)
998              (let ((syntmp-t-713 syntmp-type-707))
999                (if (memv syntmp-t-713 (quote (lexical)))
1000                  syntmp-value-708
1001                  (if (memv syntmp-t-713 (quote (core external-macro)))
1002                    (syntmp-value-708
1003                      syntmp-e-709
1004                      syntmp-r-710
1005                      syntmp-w-711
1006                      syntmp-s-712)
1007                    (if (memv syntmp-t-713 (quote (lexical-call)))
1008                      (syntmp-chi-application-156
1009                        syntmp-value-708
1010                        syntmp-e-709
1011                        syntmp-r-710
1012                        syntmp-w-711
1013                        syntmp-s-712)
1014                      (if (memv syntmp-t-713 (quote (global-call)))
1015                        (syntmp-chi-application-156
1016                          syntmp-value-708
1017                          syntmp-e-709
1018                          syntmp-r-710
1019                          syntmp-w-711
1020                          syntmp-s-712)
1021                        (if (memv syntmp-t-713 (quote (constant)))
1022                          (syntmp-build-data-98
1023                            syntmp-s-712
1024                            (syntmp-strip-165
1025                              (syntmp-source-wrap-147
1026                                syntmp-e-709
1027                                syntmp-w-711
1028                                syntmp-s-712)
1029                              '(())))
1030                          (if (memv syntmp-t-713 (quote (global)))
1031                            syntmp-value-708
1032                            (if (memv syntmp-t-713 (quote (call)))
1033                              (syntmp-chi-application-156
1034                                (syntmp-chi-154
1035                                  (car syntmp-e-709)
1036                                  syntmp-r-710
1037                                  syntmp-w-711)
1038                                syntmp-e-709
1039                                syntmp-r-710
1040                                syntmp-w-711
1041                                syntmp-s-712)
1042                              (if (memv syntmp-t-713 (quote (begin-form)))
1043                                ((lambda (syntmp-tmp-714)
1044                                   ((lambda (syntmp-tmp-715)
1045                                      (if syntmp-tmp-715
1046                                        (apply (lambda (syntmp-_-716
1047                                                        syntmp-e1-717
1048                                                        syntmp-e2-718)
1049                                                 (syntmp-chi-sequence-148
1050                                                   (cons syntmp-e1-717
1051                                                         syntmp-e2-718)
1052                                                   syntmp-r-710
1053                                                   syntmp-w-711
1054                                                   syntmp-s-712))
1055                                               syntmp-tmp-715)
1056                                        (syntax-error syntmp-tmp-714)))
1057                                    (syntax-dispatch
1058                                      syntmp-tmp-714
1059                                      '(any any . each-any))))
1060                                 syntmp-e-709)
1061                                (if (memv syntmp-t-713
1062                                          '(local-syntax-form))
1063                                  (syntmp-chi-local-syntax-160
1064                                    syntmp-value-708
1065                                    syntmp-e-709
1066                                    syntmp-r-710
1067                                    syntmp-w-711
1068                                    syntmp-s-712
1069                                    syntmp-chi-sequence-148)
1070                                  (if (memv syntmp-t-713
1071                                            '(eval-when-form))
1072                                    ((lambda (syntmp-tmp-720)
1073                                       ((lambda (syntmp-tmp-721)
1074                                          (if syntmp-tmp-721
1075                                            (apply (lambda (syntmp-_-722
1076                                                            syntmp-x-723
1077                                                            syntmp-e1-724
1078                                                            syntmp-e2-725)
1079                                                     (let ((syntmp-when-list-726
1080                                                             (syntmp-chi-when-list-151
1081                                                               syntmp-e-709
1082                                                               syntmp-x-723
1083                                                               syntmp-w-711)))
1084                                                       (if (memq 'eval
1085                                                                 syntmp-when-list-726)
1086                                                         (syntmp-chi-sequence-148
1087                                                           (cons syntmp-e1-724
1088                                                                 syntmp-e2-725)
1089                                                           syntmp-r-710
1090                                                           syntmp-w-711
1091                                                           syntmp-s-712)
1092                                                         (syntmp-chi-void-162))))
1093                                                   syntmp-tmp-721)
1094                                            (syntax-error syntmp-tmp-720)))
1095                                        (syntax-dispatch
1096                                          syntmp-tmp-720
1097                                          '(any each-any any . each-any))))
1098                                     syntmp-e-709)
1099                                    (if (memv syntmp-t-713
1100                                              '(define-form define-syntax-form))
1101                                      (syntax-error
1102                                        (syntmp-wrap-146
1103                                          syntmp-value-708
1104                                          syntmp-w-711)
1105                                        "invalid context for definition of")
1106                                      (if (memv syntmp-t-713 (quote (syntax)))
1107                                        (syntax-error
1108                                          (syntmp-source-wrap-147
1109                                            syntmp-e-709
1110                                            syntmp-w-711
1111                                            syntmp-s-712)
1112                                          "reference to pattern variable outside syntax form")
1113                                        (if (memv syntmp-t-713
1114                                                  '(displaced-lexical))
1115                                          (syntax-error
1116                                            (syntmp-source-wrap-147
1117                                              syntmp-e-709
1118                                              syntmp-w-711
1119                                              syntmp-s-712)
1120                                            "reference to identifier outside its scope")
1121                                          (syntax-error
1122                                            (syntmp-source-wrap-147
1123                                              syntmp-e-709
1124                                              syntmp-w-711
1125                                              syntmp-s-712))))))))))))))))))
1126          (syntmp-chi-154
1127            (lambda (syntmp-e-729 syntmp-r-730 syntmp-w-731)
1128              (call-with-values
1129                (lambda ()
1130                  (syntmp-syntax-type-152
1131                    syntmp-e-729
1132                    syntmp-r-730
1133                    syntmp-w-731
1134                    #f
1135                    #f))
1136                (lambda (syntmp-type-732
1137                         syntmp-value-733
1138                         syntmp-e-734
1139                         syntmp-w-735
1140                         syntmp-s-736)
1141                  (syntmp-chi-expr-155
1142                    syntmp-type-732
1143                    syntmp-value-733
1144                    syntmp-e-734
1145                    syntmp-r-730
1146                    syntmp-w-735
1147                    syntmp-s-736)))))
1148          (syntmp-chi-top-153
1149            (lambda (syntmp-e-737
1150                     syntmp-r-738
1151                     syntmp-w-739
1152                     syntmp-m-740
1153                     syntmp-esew-741)
1154              (call-with-values
1155                (lambda ()
1156                  (syntmp-syntax-type-152
1157                    syntmp-e-737
1158                    syntmp-r-738
1159                    syntmp-w-739
1160                    #f
1161                    #f))
1162                (lambda (syntmp-type-754
1163                         syntmp-value-755
1164                         syntmp-e-756
1165                         syntmp-w-757
1166                         syntmp-s-758)
1167                  (let ((syntmp-t-759 syntmp-type-754))
1168                    (if (memv syntmp-t-759 (quote (begin-form)))
1169                      ((lambda (syntmp-tmp-760)
1170                         ((lambda (syntmp-tmp-761)
1171                            (if syntmp-tmp-761
1172                              (apply (lambda (syntmp-_-762)
1173                                       (syntmp-chi-void-162))
1174                                     syntmp-tmp-761)
1175                              ((lambda (syntmp-tmp-763)
1176                                 (if syntmp-tmp-763
1177                                   (apply (lambda (syntmp-_-764
1178                                                   syntmp-e1-765
1179                                                   syntmp-e2-766)
1180                                            (syntmp-chi-top-sequence-149
1181                                              (cons syntmp-e1-765 syntmp-e2-766)
1182                                              syntmp-r-738
1183                                              syntmp-w-757
1184                                              syntmp-s-758
1185                                              syntmp-m-740
1186                                              syntmp-esew-741))
1187                                          syntmp-tmp-763)
1188                                   (syntax-error syntmp-tmp-760)))
1189                               (syntax-dispatch
1190                                 syntmp-tmp-760
1191                                 '(any any . each-any)))))
1192                          (syntax-dispatch syntmp-tmp-760 (quote (any)))))
1193                       syntmp-e-756)
1194                      (if (memv syntmp-t-759 (quote (local-syntax-form)))
1195                        (syntmp-chi-local-syntax-160
1196                          syntmp-value-755
1197                          syntmp-e-756
1198                          syntmp-r-738
1199                          syntmp-w-757
1200                          syntmp-s-758
1201                          (lambda (syntmp-body-768
1202                                   syntmp-r-769
1203                                   syntmp-w-770
1204                                   syntmp-s-771)
1205                            (syntmp-chi-top-sequence-149
1206                              syntmp-body-768
1207                              syntmp-r-769
1208                              syntmp-w-770
1209                              syntmp-s-771
1210                              syntmp-m-740
1211                              syntmp-esew-741)))
1212                        (if (memv syntmp-t-759 (quote (eval-when-form)))
1213                          ((lambda (syntmp-tmp-772)
1214                             ((lambda (syntmp-tmp-773)
1215                                (if syntmp-tmp-773
1216                                  (apply (lambda (syntmp-_-774
1217                                                  syntmp-x-775
1218                                                  syntmp-e1-776
1219                                                  syntmp-e2-777)
1220                                           (let ((syntmp-when-list-778
1221                                                   (syntmp-chi-when-list-151
1222                                                     syntmp-e-756
1223                                                     syntmp-x-775
1224                                                     syntmp-w-757))
1225                                                 (syntmp-body-779
1226                                                   (cons syntmp-e1-776
1227                                                         syntmp-e2-777)))
1228                                             (cond ((eq? syntmp-m-740 (quote e))
1229                                                    (if (memq 'eval
1230                                                              syntmp-when-list-778)
1231                                                      (syntmp-chi-top-sequence-149
1232                                                        syntmp-body-779
1233                                                        syntmp-r-738
1234                                                        syntmp-w-757
1235                                                        syntmp-s-758
1236                                                        'e
1237                                                        '(eval))
1238                                                      (syntmp-chi-void-162)))
1239                                                   ((memq 'load
1240                                                          syntmp-when-list-778)
1241                                                    (if (or (memq 'compile
1242                                                                  syntmp-when-list-778)
1243                                                            (and (eq? syntmp-m-740
1244                                                                      'c&e)
1245                                                                 (memq 'eval
1246                                                                       syntmp-when-list-778)))
1247                                                      (syntmp-chi-top-sequence-149
1248                                                        syntmp-body-779
1249                                                        syntmp-r-738
1250                                                        syntmp-w-757
1251                                                        syntmp-s-758
1252                                                        'c&e
1253                                                        '(compile load))
1254                                                      (if (memq syntmp-m-740
1255                                                                '(c c&e))
1256                                                        (syntmp-chi-top-sequence-149
1257                                                          syntmp-body-779
1258                                                          syntmp-r-738
1259                                                          syntmp-w-757
1260                                                          syntmp-s-758
1261                                                          'c
1262                                                          '(load))
1263                                                        (syntmp-chi-void-162))))
1264                                                   ((or (memq 'compile
1265                                                              syntmp-when-list-778)
1266                                                        (and (eq? syntmp-m-740
1267                                                                  'c&e)
1268                                                             (memq 'eval
1269                                                                   syntmp-when-list-778)))
1270                                                    (syntmp-top-level-eval-hook-93
1271                                                      (syntmp-chi-top-sequence-149
1272                                                        syntmp-body-779
1273                                                        syntmp-r-738
1274                                                        syntmp-w-757
1275                                                        syntmp-s-758
1276                                                        'e
1277                                                        '(eval)))
1278                                                    (syntmp-chi-void-162))
1279                                                   (else
1280                                                    (syntmp-chi-void-162)))))
1281                                         syntmp-tmp-773)
1282                                  (syntax-error syntmp-tmp-772)))
1283                              (syntax-dispatch
1284                                syntmp-tmp-772
1285                                '(any each-any any . each-any))))
1286                           syntmp-e-756)
1287                          (if (memv syntmp-t-759 (quote (define-syntax-form)))
1288                            (let ((syntmp-n-782
1289                                    (syntmp-id-var-name-140
1290                                      syntmp-value-755
1291                                      syntmp-w-757))
1292                                  (syntmp-r-783
1293                                    (syntmp-macros-only-env-114 syntmp-r-738)))
1294                              (let ((syntmp-t-784 syntmp-m-740))
1295                                (if (memv syntmp-t-784 (quote (c)))
1296                                  (if (memq (quote compile) syntmp-esew-741)
1297                                    (let ((syntmp-e-785
1298                                            (syntmp-chi-install-global-150
1299                                              syntmp-n-782
1300                                              (syntmp-chi-154
1301                                                syntmp-e-756
1302                                                syntmp-r-783
1303                                                syntmp-w-757))))
1304                                      (begin
1305                                        (syntmp-top-level-eval-hook-93
1306                                          syntmp-e-785)
1307                                        (if (memq (quote load) syntmp-esew-741)
1308                                          syntmp-e-785
1309                                          (syntmp-chi-void-162))))
1310                                    (if (memq (quote load) syntmp-esew-741)
1311                                      (syntmp-chi-install-global-150
1312                                        syntmp-n-782
1313                                        (syntmp-chi-154
1314                                          syntmp-e-756
1315                                          syntmp-r-783
1316                                          syntmp-w-757))
1317                                      (syntmp-chi-void-162)))
1318                                  (if (memv syntmp-t-784 (quote (c&e)))
1319                                    (let ((syntmp-e-786
1320                                            (syntmp-chi-install-global-150
1321                                              syntmp-n-782
1322                                              (syntmp-chi-154
1323                                                syntmp-e-756
1324                                                syntmp-r-783
1325                                                syntmp-w-757))))
1326                                      (begin
1327                                        (syntmp-top-level-eval-hook-93
1328                                          syntmp-e-786)
1329                                        syntmp-e-786))
1330                                    (begin
1331                                      (if (memq (quote eval) syntmp-esew-741)
1332                                        (syntmp-top-level-eval-hook-93
1333                                          (syntmp-chi-install-global-150
1334                                            syntmp-n-782
1335                                            (syntmp-chi-154
1336                                              syntmp-e-756
1337                                              syntmp-r-783
1338                                              syntmp-w-757))))
1339                                      (syntmp-chi-void-162))))))
1340                            (if (memv syntmp-t-759 (quote (define-form)))
1341                              (let ((syntmp-n-787
1342                                      (syntmp-id-var-name-140
1343                                        syntmp-value-755
1344                                        syntmp-w-757)))
1345                                (let ((syntmp-type-788
1346                                        (syntmp-binding-type-110
1347                                          (syntmp-lookup-115
1348                                            syntmp-n-787
1349                                            syntmp-r-738))))
1350                                  (let ((syntmp-t-789 syntmp-type-788))
1351                                    (if (memv syntmp-t-789 (quote (global)))
1352                                      (let ((syntmp-x-790
1353                                              (list 'define
1354                                                    syntmp-n-787
1355                                                    (syntmp-chi-154
1356                                                      syntmp-e-756
1357                                                      syntmp-r-738
1358                                                      syntmp-w-757))))
1359                                        (begin
1360                                          (if (eq? syntmp-m-740 (quote c&e))
1361                                            (syntmp-top-level-eval-hook-93
1362                                              syntmp-x-790))
1363                                          syntmp-x-790))
1364                                      (if (memv syntmp-t-789
1365                                                '(displaced-lexical))
1366                                        (syntax-error
1367                                          (syntmp-wrap-146
1368                                            syntmp-value-755
1369                                            syntmp-w-757)
1370                                          "identifier out of context")
1371                                        (if (eq? syntmp-type-788
1372                                                 'external-macro)
1373                                          (let ((syntmp-x-791
1374                                                  (list 'define
1375                                                        syntmp-n-787
1376                                                        (syntmp-chi-154
1377                                                          syntmp-e-756
1378                                                          syntmp-r-738
1379                                                          syntmp-w-757))))
1380                                            (begin
1381                                              (if (eq? syntmp-m-740 (quote c&e))
1382                                                (syntmp-top-level-eval-hook-93
1383                                                  syntmp-x-791))
1384                                              syntmp-x-791))
1385                                          (syntax-error
1386                                            (syntmp-wrap-146
1387                                              syntmp-value-755
1388                                              syntmp-w-757)
1389                                            "cannot define keyword at top level")))))))
1390                              (let ((syntmp-x-792
1391                                      (syntmp-chi-expr-155
1392                                        syntmp-type-754
1393                                        syntmp-value-755
1394                                        syntmp-e-756
1395                                        syntmp-r-738
1396                                        syntmp-w-757
1397                                        syntmp-s-758)))
1398                                (begin
1399                                  (if (eq? syntmp-m-740 (quote c&e))
1400                                    (syntmp-top-level-eval-hook-93
1401                                      syntmp-x-792))
1402                                  syntmp-x-792))))))))))))
1403          (syntmp-syntax-type-152
1404            (lambda (syntmp-e-793
1405                     syntmp-r-794
1406                     syntmp-w-795
1407                     syntmp-s-796
1408                     syntmp-rib-797)
1409              (cond ((symbol? syntmp-e-793)
1410                     (let ((syntmp-n-798
1411                             (syntmp-id-var-name-140
1412                               syntmp-e-793
1413                               syntmp-w-795)))
1414                       (let ((syntmp-b-799
1415                               (syntmp-lookup-115 syntmp-n-798 syntmp-r-794)))
1416                         (let ((syntmp-type-800
1417                                 (syntmp-binding-type-110 syntmp-b-799)))
1418                           (let ((syntmp-t-801 syntmp-type-800))
1419                             (if (memv syntmp-t-801 (quote (lexical)))
1420                               (values
1421                                 syntmp-type-800
1422                                 (syntmp-binding-value-111 syntmp-b-799)
1423                                 syntmp-e-793
1424                                 syntmp-w-795
1425                                 syntmp-s-796)
1426                               (if (memv syntmp-t-801 (quote (global)))
1427                                 (values
1428                                   syntmp-type-800
1429                                   syntmp-n-798
1430                                   syntmp-e-793
1431                                   syntmp-w-795
1432                                   syntmp-s-796)
1433                                 (if (memv syntmp-t-801 (quote (macro)))
1434                                   (syntmp-syntax-type-152
1435                                     (syntmp-chi-macro-157
1436                                       (syntmp-binding-value-111 syntmp-b-799)
1437                                       syntmp-e-793
1438                                       syntmp-r-794
1439                                       syntmp-w-795
1440                                       syntmp-rib-797)
1441                                     syntmp-r-794
1442                                     '(())
1443                                     syntmp-s-796
1444                                     syntmp-rib-797)
1445                                   (values
1446                                     syntmp-type-800
1447                                     (syntmp-binding-value-111 syntmp-b-799)
1448                                     syntmp-e-793
1449                                     syntmp-w-795
1450                                     syntmp-s-796)))))))))
1451                    ((pair? syntmp-e-793)
1452                     (let ((syntmp-first-802 (car syntmp-e-793)))
1453                       (if (syntmp-id?-118 syntmp-first-802)
1454                         (let ((syntmp-n-803
1455                                 (syntmp-id-var-name-140
1456                                   syntmp-first-802
1457                                   syntmp-w-795)))
1458                           (let ((syntmp-b-804
1459                                   (syntmp-lookup-115
1460                                     syntmp-n-803
1461                                     syntmp-r-794)))
1462                             (let ((syntmp-type-805
1463                                     (syntmp-binding-type-110 syntmp-b-804)))
1464                               (let ((syntmp-t-806 syntmp-type-805))
1465                                 (if (memv syntmp-t-806 (quote (lexical)))
1466                                   (values
1467                                     'lexical-call
1468                                     (syntmp-binding-value-111 syntmp-b-804)
1469                                     syntmp-e-793
1470                                     syntmp-w-795
1471                                     syntmp-s-796)
1472                                   (if (memv syntmp-t-806 (quote (global)))
1473                                     (values
1474                                       'global-call
1475                                       syntmp-n-803
1476                                       syntmp-e-793
1477                                       syntmp-w-795
1478                                       syntmp-s-796)
1479                                     (if (memv syntmp-t-806 (quote (macro)))
1480                                       (syntmp-syntax-type-152
1481                                         (syntmp-chi-macro-157
1482                                           (syntmp-binding-value-111
1483                                             syntmp-b-804)
1484                                           syntmp-e-793
1485                                           syntmp-r-794
1486                                           syntmp-w-795
1487                                           syntmp-rib-797)
1488                                         syntmp-r-794
1489                                         '(())
1490                                         syntmp-s-796
1491                                         syntmp-rib-797)
1492                                       (if (memv syntmp-t-806
1493                                                 '(core external-macro))
1494                                         (values
1495                                           syntmp-type-805
1496                                           (syntmp-binding-value-111
1497                                             syntmp-b-804)
1498                                           syntmp-e-793
1499                                           syntmp-w-795
1500                                           syntmp-s-796)
1501                                         (if (memv syntmp-t-806
1502                                                   '(local-syntax))
1503                                           (values
1504                                             'local-syntax-form
1505                                             (syntmp-binding-value-111
1506                                               syntmp-b-804)
1507                                             syntmp-e-793
1508                                             syntmp-w-795
1509                                             syntmp-s-796)
1510                                           (if (memv syntmp-t-806
1511                                                     '(begin))
1512                                             (values
1513                                               'begin-form
1514                                               #f
1515                                               syntmp-e-793
1516                                               syntmp-w-795
1517                                               syntmp-s-796)
1518                                             (if (memv syntmp-t-806
1519                                                       '(eval-when))
1520                                               (values
1521                                                 'eval-when-form
1522                                                 #f
1523                                                 syntmp-e-793
1524                                                 syntmp-w-795
1525                                                 syntmp-s-796)
1526                                               (if (memv syntmp-t-806
1527                                                         '(define))
1528                                                 ((lambda (syntmp-tmp-807)
1529                                                    ((lambda (syntmp-tmp-808)
1530                                                       (if (if syntmp-tmp-808
1531                                                             (apply (lambda (syntmp-_-809
1532                                                                             syntmp-name-810
1533                                                                             syntmp-val-811)
1534                                                                      (syntmp-id?-118
1535                                                                        syntmp-name-810))
1536                                                                    syntmp-tmp-808)
1537                                                             #f)
1538                                                         (apply (lambda (syntmp-_-812
1539                                                                         syntmp-name-813
1540                                                                         syntmp-val-814)
1541                                                                  (values
1542                                                                    'define-form
1543                                                                    syntmp-name-813
1544                                                                    syntmp-val-814
1545                                                                    syntmp-w-795
1546                                                                    syntmp-s-796))
1547                                                                syntmp-tmp-808)
1548                                                         ((lambda (syntmp-tmp-815)
1549                                                            (if (if syntmp-tmp-815
1550                                                                  (apply (lambda (syntmp-_-816
1551                                                                                  syntmp-name-817
1552                                                                                  syntmp-args-818
1553                                                                                  syntmp-e1-819
1554                                                                                  syntmp-e2-820)
1555                                                                           (and (syntmp-id?-118
1556                                                                                  syntmp-name-817)
1557                                                                                (syntmp-valid-bound-ids?-143
1558                                                                                  (syntmp-lambda-var-list-167
1559                                                                                    syntmp-args-818))))
1560                                                                         syntmp-tmp-815)
1561                                                                  #f)
1562                                                              (apply (lambda (syntmp-_-821
1563                                                                              syntmp-name-822
1564                                                                              syntmp-args-823
1565                                                                              syntmp-e1-824
1566                                                                              syntmp-e2-825)
1567                                                                       (values
1568                                                                         'define-form
1569                                                                         (syntmp-wrap-146
1570                                                                           syntmp-name-822
1571                                                                           syntmp-w-795)
1572                                                                         (cons '#(syntax-object
1573                                                                                  lambda
1574                                                                                  ((top)
1575                                                                                   #(ribcage
1576                                                                                     #(_
1577                                                                                       name
1578                                                                                       args
1579                                                                                       e1
1580                                                                                       e2)
1581                                                                                     #((top)
1582                                                                                       (top)
1583                                                                                       (top)
1584                                                                                       (top)
1585                                                                                       (top))
1586                                                                                     #("i"
1587                                                                                       "i"
1588                                                                                       "i"
1589                                                                                       "i"
1590                                                                                       "i"))
1591                                                                                   #(ribcage
1592                                                                                     ()
1593                                                                                     ()
1594                                                                                     ())
1595                                                                                   #(ribcage
1596                                                                                     #(t)
1597                                                                                     #(("m"
1598                                                                                        top))
1599                                                                                     #("i"))
1600                                                                                   #(ribcage
1601                                                                                     ()
1602                                                                                     ()
1603                                                                                     ())
1604                                                                                   #(ribcage
1605                                                                                     ()
1606                                                                                     ()
1607                                                                                     ())
1608                                                                                   #(ribcage
1609                                                                                     ()
1610                                                                                     ()
1611                                                                                     ())
1612                                                                                   #(ribcage
1613                                                                                     #(type)
1614                                                                                     #((top))
1615                                                                                     #("i"))
1616                                                                                   #(ribcage
1617                                                                                     ()
1618                                                                                     ()
1619                                                                                     ())
1620                                                                                   #(ribcage
1621                                                                                     #(b)
1622                                                                                     #((top))
1623                                                                                     #("i"))
1624                                                                                   #(ribcage
1625                                                                                     ()
1626                                                                                     ()
1627                                                                                     ())
1628                                                                                   #(ribcage
1629                                                                                     #(n)
1630                                                                                     #((top))
1631                                                                                     #("i"))
1632                                                                                   #(ribcage
1633                                                                                     ()
1634                                                                                     ()
1635                                                                                     ())
1636                                                                                   #(ribcage
1637                                                                                     #(first)
1638                                                                                     #((top))
1639                                                                                     #("i"))
1640                                                                                   #(ribcage
1641                                                                                     ()
1642                                                                                     ()
1643                                                                                     ())
1644                                                                                   #(ribcage
1645                                                                                     #(e
1646                                                                                       r
1647                                                                                       w
1648                                                                                       s
1649                                                                                       rib)
1650                                                                                     #((top)
1651                                                                                       (top)
1652                                                                                       (top)
1653                                                                                       (top)
1654                                                                                       (top))
1655                                                                                     #("i"
1656                                                                                       "i"
1657                                                                                       "i"
1658                                                                                       "i"
1659                                                                                       "i"))
1660                                                                                   #(ribcage
1661                                                                                     (lambda-var-list
1662                                                                                       gen-var
1663                                                                                       strip
1664                                                                                       strip-annotation
1665                                                                                       ellipsis?
1666                                                                                       chi-void
1667                                                                                       eval-local-transformer
1668                                                                                       chi-local-syntax
1669                                                                                       chi-lambda-clause
1670                                                                                       chi-body
1671                                                                                       chi-macro
1672                                                                                       chi-application
1673                                                                                       chi-expr
1674                                                                                       chi
1675                                                                                       chi-top
1676                                                                                       syntax-type
1677                                                                                       chi-when-list
1678                                                                                       chi-install-global
1679                                                                                       chi-top-sequence
1680                                                                                       chi-sequence
1681                                                                                       source-wrap
1682                                                                                       wrap
1683                                                                                       bound-id-member?
1684                                                                                       distinct-bound-ids?
1685                                                                                       valid-bound-ids?
1686                                                                                       bound-id=?
1687                                                                                       free-id=?
1688                                                                                       id-var-name
1689                                                                                       same-marks?
1690                                                                                       join-marks
1691                                                                                       join-wraps
1692                                                                                       smart-append
1693                                                                                       make-binding-wrap
1694                                                                                       extend-ribcage!
1695                                                                                       make-empty-ribcage
1696                                                                                       new-mark
1697                                                                                       anti-mark
1698                                                                                       the-anti-mark
1699                                                                                       top-marked?
1700                                                                                       top-wrap
1701                                                                                       empty-wrap
1702                                                                                       set-ribcage-labels!
1703                                                                                       set-ribcage-marks!
1704                                                                                       set-ribcage-symnames!
1705                                                                                       ribcage-labels
1706                                                                                       ribcage-marks
1707                                                                                       ribcage-symnames
1708                                                                                       ribcage?
1709                                                                                       make-ribcage
1710                                                                                       gen-labels
1711                                                                                       gen-label
1712                                                                                       make-rename
1713                                                                                       rename-marks
1714                                                                                       rename-new
1715                                                                                       rename-old
1716                                                                                       subst-rename?
1717                                                                                       wrap-subst
1718                                                                                       wrap-marks
1719                                                                                       make-wrap
1720                                                                                       id-sym-name&marks
1721                                                                                       id-sym-name
1722                                                                                       id?
1723                                                                                       nonsymbol-id?
1724                                                                                       global-extend
1725                                                                                       lookup
1726                                                                                       macros-only-env
1727                                                                                       extend-var-env
1728                                                                                       extend-env
1729                                                                                       null-env
1730                                                                                       binding-value
1731                                                                                       binding-type
1732                                                                                       make-binding
1733                                                                                       arg-check
1734                                                                                       source-annotation
1735                                                                                       no-source
1736                                                                                       unannotate
1737                                                                                       set-syntax-object-wrap!
1738                                                                                       set-syntax-object-expression!
1739                                                                                       syntax-object-wrap
1740                                                                                       syntax-object-expression
1741                                                                                       syntax-object?
1742                                                                                       make-syntax-object
1743                                                                                       build-lexical-var
1744                                                                                       build-letrec
1745                                                                                       build-named-let
1746                                                                                       build-let
1747                                                                                       build-sequence
1748                                                                                       build-data
1749                                                                                       build-primref
1750                                                                                       build-lambda
1751                                                                                       build-global-definition
1752                                                                                       build-global-assignment
1753                                                                                       build-global-reference
1754                                                                                       build-lexical-assignment
1755                                                                                       build-lexical-reference
1756                                                                                       build-conditional
1757                                                                                       build-application
1758                                                                                       get-global-definition-hook
1759                                                                                       put-global-definition-hook
1760                                                                                       gensym-hook
1761                                                                                       error-hook
1762                                                                                       local-eval-hook
1763                                                                                       top-level-eval-hook
1764                                                                                       annotation?
1765                                                                                       fx<
1766                                                                                       fx=
1767                                                                                       fx-
1768                                                                                       fx+
1769                                                                                       noexpand)
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                                                                                      (top)
1875                                                                                      (top)
1876                                                                                      (top)
1877                                                                                      (top)
1878                                                                                      (top))
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                                                                                      "i"
1987                                                                                      "i"))
1988                                                                                   #(ribcage
1989                                                                                     (define-structure)
1990                                                                                     ((top))
1991                                                                                     ("i"))))
1992                                                                               (syntmp-wrap-146
1993                                                                                 (cons syntmp-args-823
1994                                                                                       (cons syntmp-e1-824
1995                                                                                             syntmp-e2-825))
1996                                                                                 syntmp-w-795))
1997                                                                         '(())
1998                                                                         syntmp-s-796))
1999                                                                     syntmp-tmp-815)
2000                                                              ((lambda (syntmp-tmp-827)
2001                                                                 (if (if syntmp-tmp-827
2002                                                                       (apply (lambda (syntmp-_-828
2003                                                                                       syntmp-name-829)
2004                                                                                (syntmp-id?-118
2005                                                                                  syntmp-name-829))
2006                                                                              syntmp-tmp-827)
2007                                                                       #f)
2008                                                                   (apply (lambda (syntmp-_-830
2009                                                                                   syntmp-name-831)
2010                                                                            (values
2011                                                                              'define-form
2012                                                                              (syntmp-wrap-146
2013                                                                                syntmp-name-831
2014                                                                                syntmp-w-795)
2015                                                                              '(#(syntax-object
2016