24161
((3) 0 () 36 ((q lib "syntax/id-set.rkt") (q lib "syntax/parse.rkt") (q lib "syntax/id-table.rkt") (q lib "syntax/parse/debug.rkt") (q lib "syntax/boundmap.rkt") (q "(lib syntax/scribblings/syntax.scrbl)") (q lib "syntax/struct.rkt") (q lib "syntax/srcloc.rkt") (q lib "syntax/modcode.rkt") (q lib "syntax/location.rkt") (q lib "syntax/keyword.rkt") (q 45898 . 4) (q lib "syntax/parse/experimental/reflect.rkt") (q lib "syntax/readerr.rkt") (q lib "syntax/parse/experimental/template.rkt") (q lib "syntax/flatten-begin.rkt") (q lib "syntax/kerncase.rkt") (q lib "syntax/context.rkt") (q lib "syntax/parse/lib/function-header.rkt") (q lib "syntax/modcollapse.rkt") (q lib "syntax/stx.rkt") (q lib "syntax/macro-testing.rkt") (q lib "syntax/datum.rkt") (q lib "syntax/parse/define.rkt") (q lib "syntax/parse/report-config.rkt") (q lib "syntax/toplevel.rkt") (q lib "syntax/module-reader.rkt") (q lib "syntax/modread.rkt") (q lib "syntax/parse/experimental/provide.rkt") (q lib "syntax/define.rkt") (q lib "syntax/modresolve.rkt") (q lib "syntax/unsafe/for-transform.rkt") (q lib "syntax/docprovide.rkt") (q lib "syntax/transformer.rkt") (q lib "syntax/strip-context.rkt") (q lib "syntax/parse/experimental/eh.rkt")) () (h ! (equal) ((c def c (c (? . 0) q immutable-free-id-set?)) q (26025 . 3)) ((q def ((lib "syntax/template.rkt") transform-template)) q (54196 . 24)) ((c form c (c (? . 1) q ~literal)) q (5438 . 5)) ((q def ((lib "syntax/to-string.rkt") syntax->string)) q (36871 . 3)) ((c def c (c (? . 0) q free-id-set-add)) q (26445 . 4)) ((c def c (c (? . 2) q free-id-table-set*!)) q (18412 . 5)) ((c def c (c (? . 6) q build-struct-expand-info)) q (52010 . 21)) ((c def c (c (? . 8) q make-exn:get-module-code)) c (? . 11)) ((c form c (c (? . 1) q define/syntax-parse)) q (2361 . 4)) ((c form c (c (? . 1) q ~peek-not)) q (6995 . 2)) ((c def c (c (? . 0) q bound-id-set=?)) q (30495 . 4)) ((c def c (c (? . 2) q immutable-free-id-table?)) q (17731 . 3)) ((c def c (c (? . 19) q collapse-module-path-index)) q (46944 . 10)) ((c form c (c (? . 22) q datum)) q (41712 . 2)) ((c def c (c (? . 0) q bound-id-set->list)) q (31356 . 3)) ((q def ((lib "syntax/intdef.rkt") internal-definition-context-track)) q (66690 . 5)) ((c def c (c (? . 7) q source-location->string)) q (63299 . 3)) ((c def c (c (? . 4) q free-identifier-mapping-get)) q (34806 . 8)) ((c form c (c (? . 3) q syntax-class-parse)) q (13237 . 4)) ((c def c (c (? . 2) q free-id-table-remove)) q (18834 . 4)) ((c form c (c (? . 9) q quote-character-span)) q (63950 . 3)) ((q def ((lib "syntax/name.rkt") syntax-local-infer-name)) q (48186 . 4)) ((c def c (c (? . 0) q free-id-set-symmetric-difference!)) q (28442 . 4)) ((c def c (c (? . 2) q bound-id-table-iterate-value)) q (24933 . 5)) ((c def c (c (? . 0) q free-id-set-for-each)) q (28872 . 4)) ((c def c (c (? . 34) q replace-context)) q (37312 . 4)) ((c form c (c (? . 3) q syntax-class-arity)) q (13144 . 2)) ((c idx c (c gentag c 1 ? . 5)) q (4429 . 8)) ((c def c (c (? . 4) q bound-identifier-mapping-for-each)) q (34238 . 5)) ((c def c (c (? . 25) q expand-top-level-with-compile-time-evals)) q (64425 . 3)) ((c idx c (c gentag c 4 ? . 5)) q (4666 . 2)) ((c def c (c (? . 0) q mutable-bound-id-set)) q (29574 . 5)) ((c def c (c (? . 15) q flatten-begin)) q (49300 . 3)) ((c form c (c (? . 21) q convert-syntax-error)) q (66654 . 2)) ((c def c (c (? . 0) q free-id-set-clear)) q (27407 . 3)) ((c def c (c (? . 4) q module-identifier-mapping-for-each)) q (36432 . 5)) ((c def c (c (? . 0) q bound-id-set-intersect!)) q (32136 . 4)) ((c def c (c (? . 2) q free-id-table-update)) q (19332 . 9)) ((c form c (c (? . 1) q regexp)) q (10448 . 2)) ((c form c (c (? . 28) q provide-syntax-class/contract)) q (13449 . 12)) ((c form c (c (? . 1) q define-literal-set)) q (9198 . 18)) ((c form c (c (? . 1) q expr)) q (10203 . 2)) ((c def c (c (? . 6) q build-struct-names)) q (49730 . 14)) ((c form c (c (? . 18) q formal)) q (11770 . 2)) ((c def c (c (? . 4) q free-identifier-mapping-for-each)) q (35300 . 5)) ((c form c (c (? . 1) q ~bind)) q (8017 . 5)) ((c def c (c (? . 7) q source-location-line)) q (62126 . 3)) ((c form c (c (? . 1) q ~peek)) q (6975 . 2)) ((c form c (c (? . 12) q ~splicing-reflect)) q (15075 . 2)) ((c def c (c (? . 2) q free-id-table-keys)) q (19837 . 3)) ((c def c (c (? . 29) q normalize-definition)) q (48500 . 9)) ((c def c (c (? . 20) q stx-car)) q (16440 . 3)) ((c def c (c (? . 2) q free-id-table-ref!)) q (17986 . 5)) ((c def c (c (? . 10) q options-select-value)) q (40836 . 7)) ((c def c (c (? . 8) q get-metadata-path)) q (45396 . 8)) ((c form c (c (? . 1) q ~between)) q (7659 . 10)) ((c def c (c (? . 1) q prop:pattern-expander)) q (8678 . 3)) ((c form c (c (? . 1) q attribute)) q (4994 . 2)) ((c def c (c (? . 13) q raise-read-error)) q (56477 . 15)) ((c def c (c (? . 2) q bound-id-table-keys)) q (23997 . 3)) ((c def c (c (? . 4) q make-bound-identifier-mapping)) q (33495 . 2)) ((c def c (c (? . 17) q build-expand-context)) q (48304 . 3)) ((c form c (c (? . 1) q ~undo)) q (8536 . 2)) ((c def c (c (? . 0) q free-id-subset?)) q (28566 . 4)) ((c def c (c (? . 2) q free-id-table/c)) q (20937 . 7)) ((c def c (c (? . 2) q immutable-bound-id-table?)) q (21857 . 3)) ((c def c (c (? . 9) q syntax-source-file-name)) q (63549 . 3)) ((c def c (c (? . 2) q bound-id-table-ref)) q (21928 . 5)) ((c def c (c (? . 0) q bound-id-set-for-each)) q (33139 . 4)) ((c form c (c (? . 3) q debug-parse)) q (13330 . 4)) ((c def c (c (? . 0) q mutable-free-id-set?)) q (25959 . 3)) ((c def c (c (? . 27) q check-module-form)) q (42024 . 7)) ((c def c (c (? . 2) q free-id-table-for-each)) q (20101 . 4)) ((c def c (c (? . 7) q source-location-list?)) q (61342 . 3)) ((c def c (c (? . 7) q source-location-known?)) q (61963 . 3)) ((c form c (c (? . 1) q exact-positive-integer)) q (10412 . 2)) ((c def c (c (? . 0) q bound-id-subset?)) q (32825 . 4)) ((c def c (c (? . 10) q check-stx-string)) q (41436 . 4)) ((c def c (c (? . 2) q bound-id-table-count)) q (24400 . 3)) ((c def c (c (? . 1) q syntax-parse-track-literals)) q (12672 . 5)) ((c def c (c (? . 0) q immutable-bound-id-set)) q (29805 . 6)) ((c form c (c (? . 14) q define-template-metafunction)) q (16059 . 3)) ((q def ((lib "syntax/apply-transformer.rkt") local-apply-transformer)) q (55947 . 11)) ((c def c (c (? . 4) q free-identifier-mapping-put!)) q (35150 . 5)) ((c form c (c (? . 1) q exact-integer)) q (10346 . 2)) ((c def c (c (? . 0) q bound-id-set-remove!)) q (30938 . 4)) ((c form c (c (? . 1) q boolean)) q (10245 . 2)) ((c def c (c (? . 0) q bound-id-proper-subset?)) q (32926 . 4)) ((c form c (c (? . 1) q literal-set->predicate)) q (9855 . 2)) ((c def c (c (? . 2) q bound-id-table-update)) q (23484 . 9)) ((c def c (c (? . 33) q make-variable-like-transformer)) q (55518 . 6)) ((c def c (c (? . 8) q struct:exn:get-module-code)) c (? . 11)) ((c def c (c (? . 12) q reified-syntax-class-arity)) q (14295 . 3)) ((c form c (c (? . 3) q syntax-class-attributes)) q (13094 . 2)) ((c def c (c (? . 2) q make-immutable-free-id-table)) q (17355 . 6)) ((c def c (c (? . 2) q free-id-table-ref)) q (17801 . 5)) ((c form c (c (? . 1) q ~delimit-cut)) q (5101 . 2)) ((c form c (c (? . 23) q define-syntax-parse-rule)) q (8942 . 3)) ((c def c (c (? . 2) q in-free-id-table)) q (20021 . 3)) ((c def c (c (? . 1) q static)) q (10605 . 4)) ((c def c (c (? . 13) q raise-read-eof-error)) q (57217 . 13)) ((c idx c (c gentag c 10 ? . 5)) q (4958 . 2)) ((c def c (c (? . 0) q id-set/c)) q (28980 . 8)) ((c def c (c (? . 2) q bound-id-table-values)) q (24093 . 3)) ((c def c (c (? . 2) q free-id-table-map)) q (19711 . 4)) ((c form c (c (? . 14) q datum-template)) q (16009 . 2)) ((c form c (c (? . 14) q template)) q (15875 . 2)) ((c def c (c (? . 0) q free-id-set-subtract!)) q (28187 . 4)) ((c form c (c (? . 16) q kernel-syntax-case/phase)) q (16900 . 2)) ((c form c (c (? . 1) q ~var)) q (5022 . 2)) ((c def c (c (? . 4) q bound-identifier-mapping-get)) q (33639 . 8)) ((c form c (c (? . 1) q byte-regexp)) q (10468 . 2)) ((c def c (c (? . 2) q in-bound-id-table)) q (24185 . 3)) ((q def ((lib "syntax/for-body.rkt") split-for-body)) q (60957 . 4)) ((c form c (c (? . 1) q character)) q (10582 . 2)) ((c def c (c (? . 15) q flatten-all-begins)) q (49374 . 3)) ((c def c (c (? . 16) q kernel-form-identifier-list)) q (17058 . 2)) ((c form c (c (? . 1) q ...+)) q (5647 . 2)) ((c def c (c (? . 17) q generate-expand-context)) q (48384 . 3)) ((c form c (c (? . 18) q function-header)) q (11685 . 2)) ((c def c (c (? . 4) q make-free-identifier-mapping)) q (34665 . 2)) ((c def c (c (? . 12) q reified-splicing-syntax-class?)) q (14038 . 3)) ((c def c (c (? . 0) q bound-id-set-union)) q (31758 . 4)) ((c def c (c (? . 0) q free-id-set-add!)) q (26562 . 4)) ((c def c (c (? . 8) q get-module-code)) q (42313 . 35)) ((c def c (c (? . 0) q free-id-set-intersect!)) q (27944 . 4)) ((c def c (c (? . 19) q collapse-module-path)) q (46675 . 6)) ((c def c (c (? . 2) q free-id-table-values)) q (19931 . 3)) ((c def c (c (? . 20) q module-or-top-identifier=?)) q (16639 . 4)) ((c def c (c (? . 8) q exn:get-module-code)) c (? . 11)) ((c def c (c (? . 6) q generate-struct-declaration)) q (53159 . 17)) ((c form c (c (? . 21) q phase1-eval)) q (66423 . 8)) ((c form c (c (? . 1) q identifier)) q (10221 . 2)) ((c form c (c (? . 14) q template/loc)) q (15899 . 2)) ((c def c (c (? . 12) q reified-syntax-class-curry)) q (14593 . 8)) ((c form c (c (? . 1) q exact-nonnegative-integer)) q (10373 . 2)) ((c def c (c (? . 0) q immutable-bound-id-set?)) q (30164 . 3)) ((c def c (c (? . 4) q module-identifier-mapping-put!)) q (36174 . 7)) ((c form c (c (? . 1) q char)) q (10266 . 2)) ((c form c (c (? . 1) q syntax-parser)) q (2305 . 2)) ((c def c (c (? . 2) q bound-id-table-iterate-first)) q (24502 . 3)) ((c form c (c (? . 3) q syntax-class-keywords)) q (13189 . 2)) ((c form c (c (? . 1) q ~alt)) q (7030 . 2)) ((c def c (c (? . 12) q reified-syntax-class-attributes)) q (14114 . 4)) ((c def c (c (? . 24) q report-configuration?)) q (13027 . 3)) ((c def c (c (? . 0) q free-id-set-rest)) q (26956 . 3)) ((c def c (c (? . 2) q id-table-iter?)) q (20877 . 3)) ((c def c (c (? . 4) q bound-identifier-mapping-map)) q (34452 . 5)) ((c form c (c (? . 1) q kernel-literals)) q (11662 . 2)) ((c form c (c (? . 21) q convert-compile-time-error)) q (66612 . 2)) ((q form ((lib "syntax/parse/experimental/splicing.rkt") define-primitive-splicing-syntax-class)) q (15148 . 9)) ((c form c (c (? . 9) q quote-srcloc)) q (63633 . 4)) ((c form c (c (? . 22) q with-datum)) q (41737 . 3)) ((c def c (c (? . 9) q syntax-source-directory)) q (63465 . 3)) ((c form c (c (? . 23) q define-syntax-parser)) q (9036 . 2)) ((c def c (c (? . 8) q get-module-path)) q (44327 . 21)) ((c def c (c (? . 1) q pattern-expander?)) q (8785 . 3)) ((c def c (c (? . 7) q build-source-location-vector)) q (61761 . 3)) ((c def c (c (? . 7) q source-location-column)) q (62234 . 4)) ((c def c (c (? . 2) q bound-id-table-ref!)) q (22115 . 5)) ((c def c (c (? . 0) q free-id-set-union)) q (27577 . 4)) ((c form c (c (? . 9) q quote-character-position)) q (63883 . 3)) ((c form c (c (? . 16) q kernel-syntax-case*/phase)) q (16969 . 3)) ((c def c (c (? . 7) q build-source-location-syntax)) q (61870 . 3)) ((c def c (c (? . 0) q free-id-set-subtract)) q (28057 . 4)) ((c def c (c (? . 2) q bound-id-table-iterate-next)) q (24604 . 5)) ((c form c (c (? . 1) q this-syntax)) q (4247 . 2)) ((c form c (c (? . 1) q ~rest)) q (5825 . 2)) ((c def c (c (? . 2) q make-immutable-bound-id-table)) q (21476 . 6)) ((c def c (c (? . 20) q stx-null?)) q (16193 . 3)) ((c form c (c (? . 1) q keyword)) q (10284 . 2)) ((c def c (c (? . 0) q free-id-set-union!)) q (27704 . 4)) ((c def c (c (? . 0) q free-id-set-copy)) q (27255 . 3)) ((c def c (c (? . 4) q module-identifier-mapping-map)) q (36652 . 5)) ((c def c (c (? . 4) q module-identifier-mapping-get)) q (35820 . 8)) ((c def c (c (? . 7) q source-location-vector?)) q (61409 . 3)) ((c def c (c (? . 26) q lang-reader-module-paths)) q (60312 . 4)) ((c def c (c (? . 0) q bound-id-set-member?)) q (30396 . 4)) ((c form c (c (? . 9) q quote-column-number)) q (63826 . 3)) ((c form c (c (? . 1) q ~and)) q (5034 . 2)) ((c def c (c (? . 0) q free-id-set-remove!)) q (26781 . 4)) ((c def c (c (? . 3) q debug-syntax-parse!)) q (13406 . 2)) ((c def c (c (? . 24) q current-report-configuration)) q (12872 . 4)) ((c form c (c (? . 1) q syntax-parse)) q (104 . 31)) ((c def c (c (? . 2) q bound-id-table-for-each)) q (24267 . 4)) ((c def c (c (? . 7) q build-source-location)) q (61570 . 3)) ((c def c (c (? . 31) q expand-for-clause*)) q (61061 . 4)) ((c def c (c (? . 1) q syntax-parse-state-set!)) q (12160 . 4)) ((c def c (c (? . 2) q bound-id-table-set*)) q (22693 . 6)) ((q form ((lib "syntax/quote.rkt") quote-syntax/keep-srcloc)) q (64229 . 3)) ((c def c (c (? . 0) q bound-id-set-add!)) q (30714 . 4)) ((c def c (c (? . 0) q mutable-free-id-set)) q (25423 . 5)) ((c form c (c (? . 1) q ~do)) q (8510 . 2)) ((c def c (c (? . 0) q bound-id-set/c)) q (33249 . 6)) ((c def c (c (? . 4) q bound-identifier-mapping?)) q (33568 . 3)) ((c def c (c (? . 2) q bound-id-table-iterate-key)) q (24794 . 4)) ((c def c (c (? . 0) q free-id-set-count)) q (26164 . 3)) ((c idx c (c gentag c 7 ? . 5)) q (4818 . 4)) ((c def c (c (? . 0) q free-id-set-first)) q (26883 . 3)) ((c def c (c (? . 20) q stx->list)) q (16358 . 3)) ((c def c (c (? . 10) q check-identifier)) q (41073 . 4)) ((c def c (c (? . 1) q syntax-local-syntax-parse-pattern-introduce)) q (8848 . 3)) ((c idx c (c gentag c 8 ? . 5)) q (4907 . 2)) ((c def c (c (? . 2) q bound-id-table-set!)) q (22259 . 5)) ((c def c (c (? . 0) q bound-id-set-subtract!)) q (32386 . 4)) ((c def c (c (? . 6) q build-struct-generation*)) q (51102 . 20)) ((c def c (c (? . 0) q in-free-id-set)) q (27049 . 3)) ((c form c (c (? . 23) q define-simple-macro)) q (9109 . 3)) ((c def c (c (? . 25) q expand-syntax-top-level-with-compile-time-evals/flatten)) q (64516 . 4)) ((c def c (c (? . 10) q check-stx-listof)) q (41285 . 5)) ((c form c (c (? . 26) q #%module-begin)) q (57738 . 33)) ((c def c (c (? . 10) q options-select)) q (40490 . 4)) ((c def c (c (? . 20) q stx-pair?)) q (16248 . 3)) ((c form c (c (? . 9) q quote-line-number)) q (63773 . 3)) ((c def c (c (? . 8) q default-compiled-sub-path)) q (45340 . 2)) ((c form c (c (? . 22) q define/with-datum)) q (41802 . 2)) ((c def c (c (? . 0) q free-id-proper-subset?)) q (28664 . 4)) ((c def c (c (? . 0) q free-id-set-symmetric-difference)) q (28299 . 5)) ((q def ((lib "syntax/contract.rkt") wrap-expr/c)) q (65350 . 23)) ((c def c (c (? . 0) q bound-id-set-copy)) q (31425 . 3)) ((c form c (c (? . 1) q ~!)) q (8013 . 2)) ((c def c (c (? . 2) q free-id-table-set*)) q (18555 . 5)) ((c def c (c (? . 1) q syntax-parse-state-update!)) q (12257 . 7)) ((c def c (c (? . 0) q free-id-set=?)) q (26349 . 4)) ((c def c (c (? . 7) q check-source-location!)) q (61478 . 4)) ((c def c (c (? . 12) q reified-syntax-class?)) q (13971 . 3)) ((c def c (c (? . 0) q bound-id-set-copy-clear)) q (31501 . 3)) ((c def c (c (? . 6) q build-struct-generation)) q (50305 . 18)) ((c idx c (c gentag c 9 ? . 5)) q (4931 . 2)) ((c def c (c (? . 27) q with-module-reading-parameterization)) q (41935 . 3)) ((c form c (c (? . 1) q ~optional)) q (5134 . 2)) ((c def c (c (? . 0) q bound-id-set->stream)) q (31283 . 3)) ((c form c (c (? . 14) q quasitemplate)) q (15937 . 2)) ((c def c (c (? . 30) q resolve-module-path-index)) q (46340 . 7)) ((c def c (c (? . 1) q syntax-parse-state-cons!)) q (12528 . 5)) ((c def c (c (? . 1) q expr/c)) q (10746 . 19)) ((c def c (c (? . 0) q bound-id-set-first)) q (31042 . 3)) ((c form c (c (? . 1) q ~or)) q (5058 . 2)) ((c form c (c (? . 28) q syntax-class/c)) q (13904 . 2)) ((c def c (c (? . 2) q make-free-id-table)) q (17125 . 5)) ((c def c (c (? . 20) q stx-cdr)) q (16492 . 3)) ((c def c (c (? . 2) q mutable-free-id-table?)) q (17663 . 3)) ((c form c (c (? . 12) q ~reflect)) q (14937 . 5)) ((c def c (c (? . 2) q free-id-table-remove!)) q (18718 . 4)) ((c def c (c (? . 0) q free-id-set->list)) q (27188 . 3)) ((c def c (c (? . 2) q free-id-table-update!)) q (18970 . 9)) ((c def c (c (? . 2) q free-id-table-iterate-first)) q (20332 . 3)) ((c def c (c (? . 0) q bound-id-set-intersect)) q (32001 . 4)) ((c form c (c (? . 22) q undatum)) q (41880 . 2)) ((c form c (c (? . 1) q number)) q (10305 . 2)) ((c def c (c (? . 0) q bound-id-set-subtract)) q (32252 . 4)) ((c def c (c (? . 10) q options-select-row)) q (40605 . 7)) ((c def c (c (? . 29) q normalize-definition/mk-rhs)) q (48853 . 12)) ((c form c (c (? . 1) q nat)) q (10548 . 2)) ((c idx c (c gentag c 11 ? . 5)) q (4987 . 2)) ((c form c (c (? . 1) q ~or*)) q (5046 . 2)) ((c def c (c (? . 25) q expand-syntax-top-level-with-compile-time-evals)) q (64327 . 3)) ((c form c (c (? . 1) q integer)) q (10325 . 2)) ((c def c (c (? . 2) q bound-id-table-set*!)) q (22548 . 5)) ((c def c (c (? . 0) q free-id-set-map)) q (28769 . 4)) ((c form c (c (? . 9) q quote-module-name)) q (64123 . 2)) ((c def c (c (? . 0) q free-id-set-copy-clear)) q (27328 . 3)) ((c def c (c (? . 8) q moddep-current-open-input-file)) q (45714 . 5)) ((c form c (c (? . 14) q ?@)) q (16049 . 2)) ((c def c (c (? . 0) q bound-id-set?)) q (30038 . 3)) ((c def c (c (? . 0) q bound-id-set-symmetric-difference!)) q (32648 . 5)) ((c form c (c (? . 32) q provide-and-document)) q (64835 . 9)) ((c def c (c (? . 0) q bound-id-set-add)) q (30594 . 4)) ((c def c (c (? . 26) q wrap-read-all)) q (60418 . 17)) ((c def c (c (? . 6) q struct-declaration-info?)) q (53089 . 3)) ((c def c (c (? . 0) q free-id-set-empty?)) q (26093 . 3)) ((c def c (c (? . 26) q make-meta-reader)) q (59482 . 17)) ((c def c (c (? . 2) q free-id-table-iterate-key)) q (20565 . 4)) ((c def c (c (? . 1) q pattern-expander)) q (8584 . 3)) ((c form c (c (? . 1) q pattern)) q (4190 . 2)) ((c def c (c (? . 10) q parse-keyword-options)) q (37421 . 25)) ((c def c (c (? . 2) q free-id-table-iterate-value)) q (20698 . 5)) ((q def ((lib "syntax/wrap-modbeg.rkt") make-wrapping-module-begin)) q (47951 . 6)) ((c def c (c (? . 0) q free-id-set?)) q (25901 . 3)) ((c form c (c (? . 14) q ??)) q (16039 . 2)) ((c form c (c (? . 1) q ~describe)) q (5069 . 2)) ((c form c (c (? . 1) q define-syntax-class)) q (2468 . 25)) ((c form c (c (? . 1) q ~commit)) q (5086 . 2)) ((c def c (c (? . 2) q free-id-table-set!)) q (18128 . 5)) ((c form c (c (? . 1) q ~not)) q (5729 . 2)) ((c def c (c (? . 0) q free-id-set/c)) q (29330 . 6)) ((c def c (c (? . 0) q bound-id-set-clear)) q (31583 . 3)) ((c form c (c (? . 22) q datum-case)) q (41645 . 3)) ((c def c (c (? . 2) q free-id-table-iterate-next)) q (20428 . 4)) ((c def c (c (? . 1) q syntax-parse-state-ref)) q (12022 . 4)) ((c def c (c (? . 2) q bound-id-table/c)) q (25118 . 7)) ((c form c (c (? . 22) q quasidatum)) q (41850 . 2)) ((c form c (c (? . 35) q define-eh-alternative-set)) q (15479 . 4)) ((c form c (c (? . 16) q kernel-syntax-case*)) q (16818 . 2)) ((c def c (c (? . 2) q bound-id-table-map)) q (23869 . 4)) ((c form c (c (? . 1) q ~post)) q (5121 . 2)) ((c def c (c (? . 2) q bound-id-table-remove!)) q (22860 . 4)) ((c form c (c (? . 16) q kernel-syntax-case)) q (16754 . 2)) ((c def c (c (? . 8) q exn:get-module-code-path)) c (? . 11)) ((c form c (c (? . 1) q define-conventions)) q (9898 . 10)) ((c def c (c (? . 2) q free-id-table-set)) q (18260 . 5)) ((c def c (c (? . 6) q parse-define-struct)) q (49453 . 7)) ((c def c (c (? . 30) q resolve-module-path)) q (46031 . 7)) ((c def c (c (? . 10) q check-expression)) q (41181 . 4)) ((c form c (c (? . 14) q quasitemplate/loc)) q (15966 . 2)) ((c def c (c (? . 7) q build-source-location-list)) q (61656 . 3)) ((c def c (c (? . 7) q source-location-span)) q (62461 . 4)) ((c def c (c (? . 0) q free-id-set-member?)) q (26252 . 4)) ((c def c (c (? . 0) q bound-id-set-empty?)) q (30233 . 3)) ((q form ((lib "syntax/parse/experimental/specialize.rkt") define-syntax-class/specialize)) q (15622 . 8)) ((c def c (c (? . 0) q bound-id-set-symmetric-difference)) q (32501 . 5)) ((c form c (c (? . 9) q quote-module-path)) q (64176 . 2)) ((c def c (c (? . 8) q exn:get-module-code?)) c (? . 11)) ((c idx c (c gentag c 2 ? . 5)) q (4619 . 2)) ((c def c (c (? . 0) q mutable-bound-id-set?)) q (30097 . 3)) ((c def c (c (? . 4) q make-module-identifier-mapping)) q (35673 . 2)) ((c def c (c (? . 20) q stx-map)) q (16544 . 4)) ((c def c (c (? . 2) q bound-id-table?)) q (21727 . 3)) ((c def c (c (? . 2) q bound-id-table-set)) q (22393 . 5)) ((c def c (c (? . 0) q immutable-free-id-set)) q (25659 . 5)) ((c def c (c (? . 31) q expand-for-clause)) q (61171 . 4)) ((c def c (c (? . 4) q free-identifier-mapping?)) q (34736 . 3)) ((c def c (c (? . 4) q free-identifier-mapping-map)) q (35508 . 4)) ((c def c (c (? . 0) q bound-id-set-count)) q (30306 . 3)) ((c form c (c (? . 1) q ~parse)) q (8454 . 2)) ((q def ((lib "syntax/moddep.rkt") show-import-tree)) q (47355 . 11)) ((c def c (c (? . 1) q prop:syntax-class)) q (4266 . 4)) ((c def c (c (? . 32) q lookup-documentation)) q (65186 . 5)) ((c form c (c (? . 1) q define-splicing-syntax-class)) q (3989 . 5)) ((c form c (c (? . 1) q ~fail)) q (8135 . 11)) ((c def c (c (? . 0) q bound-id-set-rest)) q (31117 . 3)) ((c form c (c (? . 1) q str)) q (10565 . 2)) ((c def c (c (? . 0) q bound-id-set-map)) q (33034 . 4)) ((c def c (c (? . 2) q free-id-table?)) q (17603 . 3)) ((c form c (c (? . 9) q quote-srcloc-prefix)) q (64066 . 3)) ((c def c (c (? . 7) q source-location-end)) q (62573 . 4)) ((c def c (c (? . 20) q stx-list?)) q (16303 . 3)) ((c form c (c (? . 18) q formals)) q (11905 . 2)) ((c form c (c (? . 1) q ~seq)) q (6551 . 2)) ((c idx c (c gentag c 5 ? . 5)) q (4700 . 2)) ((c form c (c (? . 9) q quote-source-file)) q (63720 . 3)) ((c def c (c (? . 0) q free-id-set-intersect)) q (27813 . 4)) ((c def c (c (? . 0) q bound-id-set-union!)) q (31889 . 4)) ((c def c (c (? . 4) q bound-identifier-mapping-put!)) q (33988 . 7)) ((c def c (c (? . 7) q update-source-location)) q (62684 . 13)) ((c def c (c (? . 2) q bound-id-table-update!)) q (23117 . 9)) ((c form c (c (? . 1) q ~once)) q (7055 . 10)) ((c form c (c (? . 22) q undatum-splicing)) q (41903 . 2)) ((c idx c (c gentag c 3 ? . 5)) q (4643 . 2)) ((c def c (c (? . 0) q free-id-set->stream)) q (27117 . 3)) ((c def c (c (? . 10) q parse-keyword-options/eol)) q (38802 . 30)) ((c def c (c (? . 0) q free-id-set-clear!)) q (27501 . 3)) ((c form c (c (? . 1) q ~datum)) q (5546 . 2)) ((c def c (c (? . 25) q eval-compile-time-part-of-top-level)) q (64633 . 3)) ((c def c (c (? . 12) q reified-syntax-class-keywords)) q (14431 . 4)) ((c form c (c (? . 1) q id)) q (10532 . 2)) ((c def c (c (? . 2) q mutable-bound-id-table?)) q (21788 . 3)) ((c def c (c (? . 2) q make-bound-id-table)) q (21243 . 5)) ((c def c (c (? . 0) q free-id-set-remove)) q (26661 . 4)) ((c def c (c (? . 4) q module-identifier-mapping?)) q (35748 . 3)) ((c def c (c (? . 25) q eval-compile-time-part-of-top-level/compile)) q (64717 . 4)) ((c def c (c (? . 33) q make-expression-transformer)) q (55822 . 4)) ((c def c (c (? . 7) q source-location?)) q (61280 . 3)) ((c def c (c (? . 7) q source-location-position)) q (62348 . 4)) ((c form c (c (? . 18) q formals-no-rest)) q (11955 . 2)) ((c def c (c (? . 0) q in-bound-id-set)) q (31213 . 3)) ((q def ((lib "syntax/free-vars.rkt") free-vars)) q (36966 . 8)) ((c form c (c (? . 9) q quote-srcloc-string)) q (64009 . 3)) ((c def c (c (? . 7) q source-location-source)) q (62046 . 3)) ((c def c (c (? . 34) q strip-context)) q (37250 . 3)) ((c def c (c (? . 2) q free-id-table-count)) q (20232 . 3)) ((c def c (c (? . 10) q check-stx-boolean)) q (41540 . 4)) ((c idx c (c gentag c 6 ? . 5)) q (4731 . 4)) ((c form c (c (? . 35) q ~eh-var)) q (15582 . 2)) ((c def c (c (? . 2) q bound-id-table-remove)) q (22978 . 4)) ((q def ((lib "syntax/path-spec.rkt") resolve-path-spec)) q (53962 . 7)) ((c def c (c (? . 0) q bound-id-set-clear!)) q (31680 . 3)) ((c def c (c (? . 7) q source-location->prefix)) q (63382 . 3)) ((c form c (c (? . 12) q reify-syntax-class)) q (13926 . 2)) ((c def c (c (? . 0) q bound-id-set-remove)) q (30815 . 4))))

(mylet ([var-id rhs-expr] ...) body ...+)
(mylet loop-id ([var-id rhs-expr] ...) body ...+)
syntax
(syntax-parse stx-expr parse-option ... clause ...+)
 
      parse-option = #:context context-expr
                   | #:literals (literal ...)
                   | #:datum-literals (datum-literal ...)
                   | #:literal-sets (literal-set ...)
                   | #:track-literals
                   | #:conventions (convention-id ...)
                   | #:local-conventions (convention-rule ...)
                   | #:disable-colon-notation
                      
           literal = literal-id
                   | (pattern-id literal-id)
                   | (pattern-id literal-id #:phase phase-expr)
                      
     datum-literal = literal-id
                   | (pattern-id literal-id)
                      
       literal-set = literal-set-id
                   | (literal-set-id literal-set-option ...)
                      
literal-set-option = #:at context-id
                   | #:phase phase-expr
                      
            clause = (syntax-pattern pattern-directive ... body ...+)
 
  stx-expr : syntax?
  context-expr : (or/c syntax? symbol? #f
                       (list/c symbol? syntax?))
  phase-expr : (or/c exact-integer? #f)

#:context context-expr
 
  context-expr : (or/c syntax? symbol? #f
                       (list/c symbol? syntax?))

#:literals (literal ...)
 
literal = literal-id
        | (pattern-id literal-id)
        | (pattern-id literal-id #:phase phase-expr)
 
  phase-expr : (or/c exact-integer? #f)

#:datum-literals (datum-literal ...)
 
datum-literal = literal-id
              | (pattern-id literal-id)

#:literal-sets (literal-set ...)
 
       literal-set = literal-set-id
                   | (literal-set-id literal-set-option ...)
                      
literal-set-option = #:at lctx
                   | #:phase phase-expr
 
  phase-expr : (or/c exact-integer? #f)

#:track-literals

#:conventions (conventions-id ...)

#:local-conventions (convention-rule ...)

#:disable-colon-notation
syntax
(syntax-parser parse-option ... clause ...+)
syntax
(define/syntax-parse syntax-pattern pattern-directive ... stx-expr)
 
  stx-expr : syntax?
syntax
(define-syntax-class name-id stxclass-option ...
  stxclass-variant ...+)
(define-syntax-class (name-id . kw-formals) stxclass-option ...
  stxclass-variant ...+)
 
 stxclass-option = #:attributes (attr-arity-decl ...)
                 | #:auto-nested-attributes
                 | #:description description-expr
                 | #:opaque
                 | #:commit
                 | #:no-delimit-cut
                 | #:literals (literal-entry ...)
                 | #:datum-literals (datum-literal-entry ...)
                 | #:literal-sets (literal-set ...)
                 | #:conventions (convention-id ...)
                 | #:local-conventions (convention-rule ...)
                 | #:disable-colon-notation
                    
 attr-arity-decl = attr-name-id
                 | (attr-name-id depth)
                    
stxclass-variant = (pattern syntax-pattern pattern-directive ...)
 
  description-expr : (or/c string? #f)

#:attributes (attr-arity-decl ...)
 
attr-arity-decl = attr-id
                | (attr-id depth)

#:auto-nested-attributes

#:description description-expr
 
  description-expr : (or/c string? #f)

#:opaque

#:commit

#:no-delimit-cut

#:literals (literal-entry ...)

#:datum-literals (datum-literal-entry ...)

#:literal-sets (literal-set ...)

#:conventions (convention-id ...)

#:local-conventions (convention-rule ...)

#:disable-colon-notation
syntax
(define-splicing-syntax-class name-id stxclass-option ...
  stxclass-variant ...+)
(define-splicing-syntax-class (name-id . kw-formals) stxclass-option ...
  stxclass-variant ...+)
syntax
(pattern syntax-pattern pattern-directive ...)
syntax
this-syntax
value
prop:syntax-class
 : (struct-type-property/c (or/c identifier?
                                 (-> any/c identifier?)))

#:declare pvar-id stxclass maybe-role
 
  stxclass = syntax-class-id
           | (syntax-class-id arg ...)
              
maybe-role = 
           | #:role role-expr

#:post action-pattern

#:and action-pattern

#:with syntax-pattern stx-expr

#:attr attr-arity-decl expr

#:fail-when condition-expr message-expr
 
  message-expr : (or/c string? #f)

#:fail-unless condition-expr message-expr
 
  message-expr : (or/c string? #f)

#:when condition-expr

#:do [defn-or-expr ...]

#:undo [defn-or-expr ...]

#:cut
syntax
(attribute attr-id)
syntax
~var
syntax
~and
syntax
~or*
syntax
~or
syntax
~describe
syntax
~commit
syntax
~delimit-cut
syntax
~post
syntax
~optional

id

(~var pvar-id)

(~var pvar-id syntax-class-use maybe-role)
 
syntax-class-use = syntax-class-id
                 | (syntax-class-id arg ...)
                    
      maybe-role = 
                 | #:role role-expr
 
  role-expr : (or/c string? #f)

(~literal literal-id maybe-phase)
 
maybe-phase = 
            | #:phase phase-expr

atomic-datum

(~datum datum)

(H-pattern . S-pattern)

(A-pattern . S-pattern)

(EH-pattern ... . S-pattern)

(H-pattern ...+ . S-pattern)

(~and S/A-pattern ...)

(~or* S-pattern ...)

(~not S-pattern)

#(pattern-part ...)

#s(prefab-struct-key pattern-part ...)

#&S-pattern

(~rest S-pattern)

(~describe maybe-role maybe-opaque expr S-pattern)
 
maybe-opaque = 
             | #:opaque
                
  maybe-role = 
             | #:role role-expr
 
  expr : (or/c string? #f)
  role-expr : (or/c string? #f)

(~commit S-pattern)

(~delimit-cut S-pattern)

(~post S-pattern)

A-pattern

pvar-id:splicing-syntax-class-id

(~var pvar-id splicing-syntax-class-use maybe-role)
 
splicing-syntax-class-use = splicing-syntax-class-id
                          | (splicing-syntax-class-id arg ...)
                             
               maybe-role = 
                          | #:role role-expr
 
  role-expr : (or/c string? #f)

(~seq . L-pattern)

(~and H-pattern ...)

(~or* H-pattern ...)

(~optional H-pattern maybe-optional-option)
 
maybe-optional-option = 
                      | #:defaults ([attr-arity-decl expr] ...)
                         
      attr-arity-decl = attr-id
                      | (attr-id depth)

(~describe expr H-pattern)

(~commit H-pattern)

(~delimit-cut H-pattern)

(~post H-pattern)

(~peek H-pattern)

(~peek-not H-pattern)

S-pattern

(~alt EH-pattern ...)

(~once H-pattern once-option ...)
 
once-option = #:name name-expr
            | #:too-few too-few-message-expr
            | #:too-many too-many-message-expr
 
  name-expr : (or/c string? #f)
  too-few-message-expr : (or/c string? #f)
  too-many-message-expr : (or/c string? #f)

(~optional H-pattern optional-option ...)
 
optional-option = #:name name-expr
                | #:too-many too-many-message-expr
                | #:defaults ([attr-id expr] ...)
 
  name-expr : (or/c string? #f)
  too-many-message-expr : (or/c string? #f)

(~between H-pattern min-number max-number between-option ...)
 
between-option = #:name name-expr
               | #:too-few too-few-message-expr
               | #:too-many too-many-message-expr
 
  name-expr : (or/c string? #f)
  too-few-message-expr : (or/c string? #f)
  too-many-message-expr : (or/c string? #f)

~!

(~bind [attr-arity-decl expr] ...)
 
attr-arity-decl = attr-name-id
                | (attr-name-id depth)

(~fail maybe-fail-condition maybe-message-expr)
 
maybe-fail-condition = 
                     | #:when condition-expr
                     | #:unless condition-expr
                        
  maybe-message-expr = 
                     | message-expr
 
  message-expr : (or/c string? #f)

(~parse S-pattern stx-expr)

(~and A-pattern ...+)

(~do defn-or-expr ...)

(~undo defn-or-expr ...)

(~post A-pattern)
procedure
(pattern-expander proc) -> pattern-expander?
  proc : (-> syntax? syntax?)
value
prop:pattern-expander
 : (struct-type-property/c (-> pattern-expander? (-> syntax? syntax?)))
procedure
(pattern-expander? v) -> boolean?
  v : any/c
procedure
(syntax-local-syntax-parse-pattern-introduce stx) -> syntax?
  stx : syntax?
syntax
(define-syntax-parse-rule (macro-id . pattern) pattern-directive ...
  template)
syntax
(define-syntax-parser macro-id parse-option ... clause ...+)
syntax
(define-simple-macro (macro-id . pattern) pattern-directive ...
  template)
syntax
(define-literal-set id maybe-phase maybe-imports maybe-datum-literals
  (literal ...))
 
             literal = literal-id
                     | (pattern-id literal-id)
                        
         maybe-phase = 
                     | #:for-template
                     | #:for-syntax
                     | #:for-label
                     | #:phase phase-level
                        
maybe-datum-literals = 
                     | #:datum-literals (datum-literal ...)
                        
       maybe-imports = 
                     | #:literal-sets (imported-litset-id ...)
syntax
(literal-set->predicate litset-id)
syntax
(define-conventions name-id convention-rule ...)
 
convention-rule = (name-pattern syntax-class)
                   
   name-pattern = exact-id
                | name-rx
                   
   syntax-class = syntax-class-id
                | (syntax-class-id expr ...)
syntax class
expr
syntax class
identifier
syntax class
boolean
syntax class
char
syntax class
keyword
syntax class
number
syntax class
integer
syntax class
exact-integer
syntax class
exact-nonnegative-integer
syntax class
exact-positive-integer
syntax class
regexp
syntax class
byte-regexp
syntax class
string
syntax class
bytes
syntax class
id
syntax class
nat
syntax class
str
syntax class
character
syntax class
(static predicate description) -> syntax class
  predicate : (-> any/c any/c)
  description : (or/c string? #f)
syntax class
(expr/c  contract-expr            
        [#:arg? arg?              
         #:positive pos-blame     
         #:negative neg-blame     
         #:name expr-name         
         #:macro macro-name       
         #:context context        
         #:phase phase])      -> syntax class
  contract-expr : syntax?
  arg? : any/c = #t
  pos-blame : (or/c syntax? string? module-path-index? 'from-macro 'use-site 'unknown)
            = 'from-macro
  neg-blame : (or/c syntax? string? module-path-index? 'from-macro 'use-site 'unknown)
            = 'use-site
  expr-name : (or/c identifier? string? symbol?) = #f
  macro-name : (or/c identifier? string? symbol?) = #f
  context : (or/c syntax? #f) = determined automatically
  phase : exact-integer? = (syntax-local-phase-level)
syntax
kernel-literals
syntax class
function-header
attribute
name : syntax?
attribute
params : syntax?
splicing syntax class
formal
attribute
name : syntax?
attribute
kw : (or/c syntax? #f)
attribute
default : (or/c syntax? #f)
syntax class
formals
attribute
params : syntax?
splicing syntax class
formals-no-rest
attribute
params : syntax?
procedure
(syntax-parse-state-ref key [default]) -> any/c
  key : any/c
  default : default/c = (lambda () (error ....))
procedure
(syntax-parse-state-set! key value) -> void?
  key : any/c
  value : any/c
procedure
(syntax-parse-state-update!  key           
                             update        
                            [default]) -> void?
  key : any/c
  update : (-> any/c any/c)
  default : default/c = (lambda () (error ....))
procedure
(syntax-parse-state-cons! key value [default]) -> void?
  key : any/c
  value : any/c
  default : default/c = null
procedure
(syntax-parse-track-literals  stx                           
                             [#:introduce? introduce?]) -> syntax?
  stx : syntax?
  introduce? : any/c = #t
parameter
(current-report-configuration) -> report-configuration?
(current-report-configuration config) -> void?
  config : report-configuration?
procedure
(report-configuration? v) -> boolean?
  v : any/c
syntax
(syntax-class-attributes syntax-class-id)
syntax
(syntax-class-arity syntax-class-id)
syntax
(syntax-class-keywords syntax-class-id)
syntax
(syntax-class-parse syntax-class-id stx-expr arg ...)
 
  stx-expr : syntax?
syntax
(debug-parse stx-expr S-pattern ...+)
 
  stx-expr : syntax?
procedure
(debug-syntax-parse!) -> void?
syntax
(provide-syntax-class/contract
  [syntax-class-id syntax-class-contract] ...)
 
syntax-class-contract = (syntax-class/c (mandatory-arg ...))
                      | (syntax-class/c (mandatory-arg ...)
                                        (optional-arg ...))
                         
                  arg = contract-expr
                      | keyword contract-expr
 
  contract-expr : contract?
syntax
syntax-class/c
syntax
(reify-syntax-class syntax-class-id)
procedure
(reified-syntax-class? x) -> boolean?
  x : any/c
procedure
(reified-splicing-syntax-class? x) -> boolean?
  x : any/c
procedure
(reified-syntax-class-attributes r)
 -> (listof (list/c symbol? exact-nonnegative-integer?))
  r : (or/c reified-syntax-class? reified-splicing-syntax-class?)
procedure
(reified-syntax-class-arity r) -> procedure-arity?
  r : (or/c reified-syntax-class? reified-splicing-syntax-class?)
procedure
(reified-syntax-class-keywords r)
 -> (listof keyword?) (listof keyword?)
  r : (or/c reified-syntax-class? reified-splicing-syntax-class?)
procedure
(reified-syntax-class-curry r                  
                            arg ...            
                            #:<kw> kw-arg ...) 
 -> (or/c reified-syntax-class? reified-splicing-syntax-class?)
  r : (or/c reified-syntax-class? reified-splicing-syntax-class?)
  arg : any/c
  kw-arg : any/c

(~reflect var-id (reified-expr arg-expr ...) maybe-attrs)
 
maybe-attrs = 
            | #:attributes (attr-arity-decl ...)

(~splicing-reflect var-id (reified-expr arg-expr ...) maybe-attrs)
syntax
(define-primitive-splicing-syntax-class (name-id param-id ...)
  #:description description-expr
  #:attributes (attr-arity-decl ...)
  parser-expr)
 
  parser-expr : (-> syntax?
                    (->* () ((or/c string? #f)) any)
                    (cons/c exact-positive-integer? list?))
syntax
(define-eh-alternative-set name eh-alternative ...)
 
alternative = (pattern EH-pattern)

(~eh-var name eh-alternative-set-id)
syntax
(define-syntax-class/specialize header syntax-class-use)
 
          header = id
                 | (id . kw-formals)
                    
syntax-class-use = target-stxclass-id
                 | (target-stxclass-id arg ...)
syntax
(template tmpl)
syntax
(template/loc loc-expr tmpl)
syntax
(quasitemplate tmpl)
syntax
(quasitemplate/loc loc-expr tmpl)
syntax
(datum-template tmpl)
syntax
??
syntax
?@
syntax
(define-template-metafunction metafunction-id expr)
(define-template-metafunction (metafunction-id . formals) body ...+)
procedure
(stx-null? v) -> boolean?
  v : any/c
procedure
(stx-pair? v) -> boolean?
  v : any/c
procedure
(stx-list? v) -> boolean?
  v : any/c
procedure
(stx->list stx-list) -> (or/c list? #f)
  stx-list : stx-list?
procedure
(stx-car v) -> any
  v : stx-pair?
procedure
(stx-cdr v) -> any
  v : stx-pair?
procedure
(stx-map proc stxl ...) -> list?
  proc : procedure?
  stxl : stx-list?
procedure
(module-or-top-identifier=? a-id b-id) -> boolean?
  a-id : identifier?
  b-id : identifier?
syntax
(kernel-syntax-case stx-expr trans?-expr clause ...)
syntax
(kernel-syntax-case* stx-expr trans?-expr (extra-id ...) clause ...)
syntax
(kernel-syntax-case/phase stx-expr phase-expr clause ...)
syntax
(kernel-syntax-case*/phase stx-expr phase-expr (extra-id ..)
  clause ...)
procedure
(kernel-form-identifier-list) -> (listof identifier?)
procedure
(make-free-id-table [init-dict           
                     #:phase phase]) -> mutable-free-id-table?
  init-dict : dict? = null
  phase : (or/c exact-integer? #f) = (syntax-local-phase-level)
procedure
(make-immutable-free-id-table [init-dict       
                               #:phase phase]) 
 -> immutable-free-id-table?
  init-dict : dict? = null
  phase : (or/c exact-integer? #f) = (syntax-local-phase-level)
procedure
(free-id-table? v) -> boolean?
  v : any/c
procedure
(mutable-free-id-table? v) -> boolean?
  v : any/c
procedure
(immutable-free-id-table? v) -> boolean?
  v : any/c
procedure
(free-id-table-ref table id [failure]) -> any
  table : free-id-table?
  id : identifier?
  failure : any/c = (lambda () (raise (make-exn:fail .....)))
procedure
(free-id-table-ref! table id failure) -> any
  table : mutable-free-id-table?
  id : identifier?
  failure : any/c
procedure
(free-id-table-set! table id v) -> void?
  table : mutable-free-id-table?
  id : identifier?
  v : any/c
procedure
(free-id-table-set table id v) -> immutable-free-id-table?
  table : immutable-free-id-table?
  id : identifier?
  v : any/c
procedure
(free-id-table-set*! table id v ... ...) -> void?
  table : mutable-free-id-table?
  id : identifier?
  v : any/c
procedure
(free-id-table-set* table id v ... ...) -> immutable-free-id-table?
  table : immutable-free-id-table?
  id : identifier?
  v : any/c
procedure
(free-id-table-remove! table id) -> void?
  table : mutable-free-id-table?
  id : identifier?
procedure
(free-id-table-remove table id) -> immutable-free-id-table?
  table : immutable-free-id-table?
  id : identifier?
procedure
(free-id-table-update!  table         
                        id            
                        updater       
                       [failure]) -> void?
  table : mutable-free-id-table?
  id : identifier?
  updater : (any/c . -> . any/c)
  failure : any/c = (lambda () (raise (make-exn:fail .....)))
procedure
(free-id-table-update  table         
                       id            
                       updater       
                      [failure]) -> immutable-free-id-table?
  table : immutable-free-id-table?
  id : identifier?
  updater : (any/c . -> . any/c)
  failure : any/c = (lambda () (raise (make-exn:fail .....)))
procedure
(free-id-table-map table proc) -> list?
  table : free-id-table?
  proc : (-> identifier? any/c any)
procedure
(free-id-table-keys table) -> (listof identifier?)
  table : free-id-table?
procedure
(free-id-table-values table) -> (listof any/c)
  table : free-id-table?
procedure
(in-free-id-table table) -> sequence?
  table : free-id-table?
procedure
(free-id-table-for-each table proc) -> void?
  table : free-id-table?
  proc : (-> identifier? any/c any)
procedure
(free-id-table-count table) -> exact-nonnegative-integer?
  table : free-id-table?
procedure
(free-id-table-iterate-first table) -> id-table-iter?
  table : free-id-table?
procedure
(free-id-table-iterate-next table position) -> id-table-iter?
  table : free-id-table?
  position : id-table-iter?
procedure
(free-id-table-iterate-key table position) -> identifier?
  table : free-id-table?
  position : id-table-iter?
procedure
(free-id-table-iterate-value table         
                             position) -> identifier?
  table : bound-it-table?
  position : id-table-iter?
procedure
(id-table-iter? v) -> boolean?
  v : any/c
procedure
(free-id-table/c  key-ctc                      
                  val-ctc                      
                 [#:immutable immutable?]) -> contract?
  key-ctc : flat-contract?
  val-ctc : chaperone-contract?
  immutable? : (or/c #t #f 'dont-care) = 'dont-care
procedure
(make-bound-id-table [init-dict           
                      #:phase phase]) -> mutable-bound-id-table?
  init-dict : dict? = null
  phase : (or/c exact-integer? #f) = (syntax-local-phase-level)
procedure
(make-immutable-bound-id-table [init-dict       
                                #:phase phase]) 
 -> immutable-bound-id-table?
  init-dict : dict? = null
  phase : (or/c exact-integer? #f) = (syntax-local-phase-level)
procedure
(bound-id-table? v) -> boolean?
  v : any/c
procedure
(mutable-bound-id-table? v) -> boolean?
  v : any/c
procedure
(immutable-bound-id-table? v) -> boolean?
  v : any/c
procedure
(bound-id-table-ref table id [failure]) -> any
  table : bound-id-table?
  id : identifier?
  failure : any/c = (lambda () (raise (make-exn:fail .....)))
procedure
(bound-id-table-ref! table id failure) -> any
  table : mutable-bound-id-table?
  id : identifier?
  failure : any/c
procedure
(bound-id-table-set! table id v) -> void?
  table : mutable-bound-id-table?
  id : identifier?
  v : any/c
procedure
(bound-id-table-set table id v) -> immutable-bound-id-table?
  table : immutable-bound-id-table?
  id : identifier?
  v : any/c
procedure
(bound-id-table-set*! table id v ... ...) -> void?
  table : mutable-bound-id-table?
  id : identifier?
  v : any/c
procedure
(bound-id-table-set* table id v ... ...)
 -> immutable-bound-id-table?
  table : immutable-bound-id-table?
  id : identifier?
  v : any/c
procedure
(bound-id-table-remove! table id) -> void?
  table : mutable-bound-id-table?
  id : identifier?
procedure
(bound-id-table-remove table id) -> immutable-bound-id-table?
  table : immutable-bound-id-table?
  id : identifier?
procedure
(bound-id-table-update!  table         
                         id            
                         updater       
                        [failure]) -> void?
  table : mutable-bound-id-table?
  id : identifier?
  updater : (any/c . -> . any/c)
  failure : any/c = (lambda () (raise (make-exn:fail .....)))
procedure
(bound-id-table-update  table         
                        id            
                        updater       
                       [failure]) -> immutable-bound-id-table?
  table : immutable-bound-id-table?
  id : identifier?
  updater : (any/c . -> . any/c)
  failure : any/c = (lambda () (raise (make-exn:fail .....)))
procedure
(bound-id-table-map table proc) -> list?
  table : bound-id-table?
  proc : (-> identifier? any/c any)
procedure
(bound-id-table-keys table) -> (listof identifier?)
  table : bound-id-table?
procedure
(bound-id-table-values table) -> (listof any/c)
  table : bound-id-table?
procedure
(in-bound-id-table table) -> sequence?
  table : bound-id-table?
procedure
(bound-id-table-for-each table proc) -> void?
  table : bound-id-table?
  proc : (-> identifier? any/c any)
procedure
(bound-id-table-count table) -> exact-nonnegative-integer?
  table : bound-id-table?
procedure
(bound-id-table-iterate-first table) -> id-table-position?
  table : bound-id-table?
procedure
(bound-id-table-iterate-next table         
                             position) -> id-table-position?
  table : bound-id-table?
  position : id-table-position?
procedure
(bound-id-table-iterate-key table position) -> identifier?
  table : bound-id-table?
  position : id-table-position?
procedure
(bound-id-table-iterate-value table         
                              position) -> identifier?
  table : bound-id-table?
  position : id-table-position?
procedure
(bound-id-table/c  key-ctc                     
                   val-ctc                     
                  [#:immutable immutable]) -> contract?
  key-ctc : flat-contract?
  val-ctc : chaperone-contract?
  immutable : (or/c #t #f 'dont-care) = 'dont-care
procedure
(mutable-free-id-set [init-set            
                      #:phase phase]) -> mutable-free-id-set?
  init-set : generic-set? = null
  phase : (or/c exact-integer? #f) = (syntax-local-phase-level)
procedure
(immutable-free-id-set [init-set            
                        #:phase phase]) -> immutable-free-id-set?
  init-set : generic-set? = null
  phase : (or/c exact-integer? #f) = (syntax-local-phase-level)
procedure
(free-id-set? v) -> boolean?
  v : any/c
procedure
(mutable-free-id-set? v) -> boolean?
  v : any/c
procedure
(immutable-free-id-set? v) -> boolean?
  v : any/c
procedure
(free-id-set-empty? s) -> boolean?
  s : free-id-set?
procedure
(free-id-set-count s) -> exact-nonnegative-integer?
  s : free-id-set?
procedure
(free-id-set-member? s v) -> boolean?
  s : free-id-set?
  v : identifier?
procedure
(free-id-set=? s1 s2) -> boolean?
  s1 : free-id-set?
  s2 : free-id-set?
procedure
(free-id-set-add s v) -> immutable-free-id-set?
  s : immutable-free-id-set?
  v : identifier?
procedure
(free-id-set-add! s v) -> void?
  s : mutable-free-id-set?
  v : identifier?
procedure
(free-id-set-remove s v) -> immutable-free-id-set?
  s : immutable-free-id-set?
  v : identifier?
procedure
(free-id-set-remove! s v) -> void?
  s : mutable-free-id-set?
  v : identifier?
procedure
(free-id-set-first s) -> identifier?
  s : free-id-set?
procedure
(free-id-set-rest s) -> immutable-free-id-set?
  s : immutable-free-id-set?
procedure
(in-free-id-set s) -> sequence?
  s : free-id-set?
procedure
(free-id-set->stream s) -> stream?
  s : free-id-set?
procedure
(free-id-set->list s) -> list?
  s : free-id-set?
procedure
(free-id-set-copy s) -> free-id-set?
  s : free-id-set?
procedure
(free-id-set-copy-clear s) -> free-id-set?
  s : free-id-set?
procedure
(free-id-set-clear s) -> immutable-free-id-set?
  s : immutable-free-id-set?
procedure
(free-id-set-clear! s) -> void?
  s : mutable-free-id-set?
procedure
(free-id-set-union s0 s ...) -> immutable-free-id-set?
  s0 : immutable-free-id-set?
  s : free-id-set?
procedure
(free-id-set-union! s0 s ...) -> void?
  s0 : mutable-free-id-set?
  s : free-id-set?
procedure
(free-id-set-intersect s0 s ...) -> immutable-free-id-set?
  s0 : immutable-free-id-set?
  s : free-id-set?
procedure
(free-id-set-intersect! s0 s ...) -> void?
  s0 : mutable-free-id-set?
  s : free-id-set?
procedure
(free-id-set-subtract s0 s ...) -> immutable-free-id-set?
  s0 : immutable-free-id-set?
  s : free-id-set?
procedure
(free-id-set-subtract! s0 s ...) -> void?
  s0 : mutable-free-id-set?
  s : free-id-set?
procedure
(free-id-set-symmetric-difference s0 s ...)
 -> immutable-free-id-set?
  s0 : immutable-free-id-set?
  s : free-id-set?
procedure
(free-id-set-symmetric-difference! s0 s ...) -> void?
  s0 : mutable-free-id-set?
  s : free-id-set?
procedure
(free-id-subset? s1 s2) -> boolean?
  s1 : free-id-set?
  s2 : free-id-set?
procedure
(free-id-proper-subset? s1 s2) -> boolean?
  s1 : free-id-set?
  s2 : free-id-set?
procedure
(free-id-set-map s f) -> list?
  s : free-id-set?
  f : (-> identifier? any/c)
procedure
(free-id-set-for-each s f) -> void?
  s : free-id-set?
  f : (-> identifier? any/c)
procedure
(id-set/c  elem-ctc                      
          [#:setidtype idsettype         
           #:mutability mutability]) -> contract?
  elem-ctc : flat-contract?
  idsettype : (or/c 'dont-care 'free 'bound) = 'dont-care
  mutability : (or/c 'dont-care 'mutable 'immutable)
             = 'immutable
procedure
(free-id-set/c  elem-ctc                      
               [#:mutability mutability]) -> contract?
  elem-ctc : flat-contract?
  mutability : (or/c 'dont-care 'mutable 'immutable)
             = 'immutable
procedure
(mutable-bound-id-set [init-set            
                       #:phase phase]) -> mutable-bound-id-set?
  init-set : set? = null
  phase : (or/c exact-integer? #f) = (syntax-local-phase-level)
procedure
(immutable-bound-id-set [init-set        
                         #:phase phase]) 
 -> immutable-bound-id-set?
  init-set : set? = null
  phase : (or/c exact-integer? #f) = (syntax-local-phase-level)
procedure
(bound-id-set? v) -> boolean?
  v : any/c
procedure
(mutable-bound-id-set? v) -> boolean?
  v : any/c
procedure
(immutable-bound-id-set? v) -> boolean?
  v : any/c
procedure
(bound-id-set-empty? s) -> boolean?
  s : bound-id-set?
procedure
(bound-id-set-count s) -> exact-nonnegative-integer?
  s : bound-id-set?
procedure
(bound-id-set-member? s v) -> boolean?
  s : bound-id-set?
  v : identifier?
procedure
(bound-id-set=? s1 s2) -> boolean?
  s1 : bound-id-set?
  s2 : bound-id-set?
procedure
(bound-id-set-add s v) -> immutable-bound-id-set?
  s : immutable-bound-id-set?
  v : identifier?
procedure
(bound-id-set-add! s v) -> void?
  s : mutable-bound-id-set?
  v : identifier?
procedure
(bound-id-set-remove s v) -> immutable-bound-id-set?
  s : immutable-bound-id-set?
  v : identifier?
procedure
(bound-id-set-remove! s v) -> void?
  s : mutable-bound-id-set?
  v : identifier?
procedure
(bound-id-set-first s) -> identifier?
  s : bound-id-set?
procedure
(bound-id-set-rest s) -> immutable-bound-id-set?
  s : immutable-bound-id-set?
procedure
(in-bound-id-set s) -> sequence?
  s : bound-id-set?
procedure
(bound-id-set->stream s) -> stream?
  s : bound-id-set?
procedure
(bound-id-set->list s) -> list?
  s : bound-id-set?
procedure
(bound-id-set-copy s) -> bound-id-set?
  s : bound-id-set?
procedure
(bound-id-set-copy-clear s) -> bound-id-set?
  s : bound-id-set?
procedure
(bound-id-set-clear s) -> immutable-bound-id-set?
  s : immutable-bound-id-set?
procedure
(bound-id-set-clear! s) -> void?
  s : mutable-bound-id-set?
procedure
(bound-id-set-union s0 s ...) -> immutable-bound-id-set?
  s0 : immutable-bound-id-set?
  s : bound-id-set?
procedure
(bound-id-set-union! s0 s ...) -> void?
  s0 : mutable-bound-id-set?
  s : bound-id-set?
procedure
(bound-id-set-intersect s0 s ...) -> immutable-bound-id-set?
  s0 : immutable-bound-id-set?
  s : bound-id-set?
procedure
(bound-id-set-intersect! s0 s ...) -> void?
  s0 : mutable-bound-id-set?
  s : bound-id-set?
procedure
(bound-id-set-subtract s0 s ...) -> immutable-bound-id-set?
  s0 : immutable-bound-id-set?
  s : bound-id-set?
procedure
(bound-id-set-subtract! s0 s ...) -> void?
  s0 : mutable-bound-id-set?
  s : bound-id-set?
procedure
(bound-id-set-symmetric-difference s0 s ...)
 -> immutable-bound-id-set?
  s0 : immutable-bound-id-set?
  s : bound-id-set?
procedure
(bound-id-set-symmetric-difference! s0         
                                    s ...) -> void?
  s0 : mutable-bound-id-set?
  s : bound-id-set?
procedure
(bound-id-subset? s1 s2) -> boolean?
  s1 : bound-id-set?
  s2 : bound-id-set?
procedure
(bound-id-proper-subset? s1 s2) -> boolean?
  s1 : bound-id-set?
  s2 : bound-id-set?
procedure
(bound-id-set-map s f) -> list?
  s : bound-id-set?
  f : (-> identifier? any/c)
procedure
(bound-id-set-for-each s f) -> void?
  s : bound-id-set?
  f : (-> identifier? any/c)
procedure
(bound-id-set/c  elem-ctc                      
                [#:mutability mutability]) -> contract?
  elem-ctc : flat-contract?
  mutability : (or/c 'dont-care 'mutable 'immutable)
             = 'immutable
procedure
(make-bound-identifier-mapping) -> bound-identifier-mapping?
procedure
(bound-identifier-mapping? v) -> boolean?
  v : any/c
procedure
(bound-identifier-mapping-get  bound-map           
                               id                  
                              [failure-thunk]) -> any
  bound-map : bound-identifier-mapping?
  id : identifier?
  failure-thunk : (-> any)
                = (lambda () (raise (make-exn:fail ....)))
procedure
(bound-identifier-mapping-put! bound-map     
                               id            
                               v)        -> void?
  bound-map : bound-identifier-mapping?
  id : identifier?
  v : any/c
procedure
(bound-identifier-mapping-for-each bound-map     
                                   proc)     -> void?
  bound-map : bound-identifier-mapping?
  proc : (identifier? any/c . -> . any)
procedure
(bound-identifier-mapping-map bound-map     
                              proc)     -> (listof any?)
  bound-map : bound-identifier-mapping?
  proc : (identifier? any/c . -> . any)
procedure
(make-free-identifier-mapping) -> free-identifier-mapping?
procedure
(free-identifier-mapping? v) -> boolean?
  v : any/c
procedure
(free-identifier-mapping-get  free-map            
                              id                  
                             [failure-thunk]) -> any
  free-map : free-identifier-mapping?
  id : identifier?
  failure-thunk : (-> any)
                = (lambda () (raise (make-exn:fail ....)))
procedure
(free-identifier-mapping-put! free-map id v) -> void?
  free-map : free-identifier-mapping?
  id : identifier?
  v : any/c
procedure
(free-identifier-mapping-for-each free-map     
                                  proc)    -> void?
  free-map : free-identifier-mapping?
  proc : (identifier? any/c . -> . any)
procedure
(free-identifier-mapping-map free-map proc) -> (listof any?)
  free-map : free-identifier-mapping?
  proc : (identifier? any/c . -> . any)
procedure
(make-module-identifier-mapping) -> module-identifier-mapping?
procedure
(module-identifier-mapping? v) -> boolean?
  v : any/c
procedure
(module-identifier-mapping-get  module-map          
                                id                  
                               [failure-thunk]) -> any
  module-map : module-identifier-mapping?
  id : identifier?
  failure-thunk : (-> any)
                = (lambda () (raise (make-exn:fail ....)))
procedure
(module-identifier-mapping-put! module-map     
                                id             
                                v)         -> void?
  module-map : module-identifier-mapping?
  id : identifier?
  v : any/c
procedure
(module-identifier-mapping-for-each module-map     
                                    proc)      -> void?
  module-map : module-identifier-mapping?
  proc : (identifier? any/c . -> . any)
procedure
(module-identifier-mapping-map module-map     
                               proc)      -> (listof any?)
  module-map : module-identifier-mapping?
  proc : (identifier? any/c . -> . any)
procedure
(syntax->string stx-list) -> string?
  stx-list : (and/c syntax? stx-list?)
procedure
(free-vars  expr-stx                        
           [insp                            
            #:module-bound? module-bound?]) 
 -> (listof identifier?)
  expr-stx : syntax?
  insp : inspector? = mod-decl-insp
  module-bound? : any/c = #f
procedure
(strip-context form) -> any/c
  form : any/c
procedure
(replace-context ctx-stx form) -> any/c
  ctx-stx : (or/c syntax? #f)
  form : any/c
procedure
(parse-keyword-options  stx                                      
                        table                                    
                       [#:context ctx                            
                        #:no-duplicates? no-duplicates?          
                        #:incompatible incompatible              
                        #:on-incompatible incompatible-handler   
                        #:on-too-short too-short-handler         
                        #:on-not-in-table not-in-table-handler]) 
 -> options any/c
  stx : syntax?
  table : keyword-table
  ctx : (or/c #f syntax?) = #f
  no-duplicates? : boolean? = #f
  incompatible : (listof (listof keyword?)) = '()
  incompatible-handler : (-> keyword? keyword?
                             options syntax? syntax?
                             (values options syntax?))
                       = (lambda (....) (error ....))
  too-short-handler : (-> keyword? options syntax? syntax?
                          (values options syntax?))
                    = (lambda (....) (error ....))
  not-in-table-handler : (-> keyword? options syntax? syntax?
                             (values options syntax?))
                       = (lambda (....) (error ....))
procedure
(parse-keyword-options/eol                                         
                            stx                                    
                            table                                  
                           [#:context ctx                          
                            #:no-duplicates? no-duplicates?        
                            #:incompatible incompatible            
                            #:on-incompatible incompatible-handler 
                            #:on-too-short too-short-handler       
                            #:on-not-in-table not-in-table-handler 
                            #:on-not-eol not-eol-handler])         
 -> options
  stx : syntax?
  table : keyword-table
  ctx : (or/c #f syntax?) = #f
  no-duplicates? : boolean? = #f
  incompatible : (listof (list keyword? keyword?)) = '()
  incompatible-handler : (-> keyword? keyword?
                             options syntax? syntax?
                             (values options syntax?))
                       = (lambda (....) (error ....))
  too-short-handler : (-> keyword? options syntax? syntax?
                          (values options syntax?))
                    = (lambda (....) (error ....))
  not-in-table-handler : (-> keyword? options syntax? syntax?
                             (values options syntax?))
                       = (lambda (....) (error ....))
  not-eol-handler : (-> options syntax? syntax?
                        options)
                  = (lambda (....) (error ....))
procedure
(options-select options keyword) -> (listof list?)
  options : options
  keyword : keyword?
procedure
(options-select-row options                
                    keyword                
                    #:default default) -> any
  options : options
  keyword : keyword?
  default : any/c
procedure
(options-select-value options                
                      keyword                
                      #:default default) -> any
  options : options
  keyword : keyword?
  default : any/c
procedure
(check-identifier stx ctx) -> identifier?
  stx : syntax?
  ctx : (or/c #f syntax?)
procedure
(check-expression stx ctx) -> syntax?
  stx : syntax?
  ctx : (or/c #f syntax?)
procedure
((check-stx-listof check) stx ctx) -> (listof any/c)
  check : check-procedure
  stx : syntax?
  ctx : (or/c #f syntax?)
procedure
(check-stx-string stx ctx) -> syntax?
  stx : syntax?
  ctx : (or/c #f syntax?)
procedure
(check-stx-boolean stx ctx) -> syntax?
  stx : syntax?
  ctx : (or/c #f syntax?)
syntax
(datum-case datum-expr (literal-id ...)
  clause ...)
syntax
(datum template)
syntax
(with-datum ([pattern datum-expr] ...)
  body ...+)
syntax
(define/with-datum pattern datum-expr)
syntax
(quasidatum template)
syntax
(undatum expr)
syntax
(undatum-splicing expr)
procedure
(with-module-reading-parameterization thunk) -> any
  thunk : (-> any)
procedure
(check-module-form stx                     
                   expected-module-sym     
                   source-v)           -> (or/c syntax? #f)
  stx : (or/c syntax? eof-object?)
  expected-module-sym : symbol?
  source-v : (or/c string? #f)
procedure
(get-module-code  path                                 
                 [#:submodule-path submodule-path      
                  #:sub-path compiled-subdir0          
                  compiled-subdir                      
                  #:roots roots                        
                  #:compile compile-proc0              
                  compile-proc                         
                  #:extension-handler ext-proc0        
                  ext-proc                             
                  #:notify notify-proc                 
                  #:source-reader read-syntax-proc     
                  #:rkt-try-ss? rkt-try-ss?            
                  #:choose choose-proc])           -> any
  path : path-string?
  submodule-path : (listof symbol?) = '()
  compiled-subdir0 : (or/c (and/c path-string? relative-path?)
                           (listof (and/c path-string? relative-path?)))
                   = (use-compiled-file-paths)
  compiled-subdir : (or/c (and/c path-string? relative-path?)
                          (listof (and/c path-string? relative-path?)))
                  = compiled-subdir0
  roots : (listof (or/c path-string? 'same))
        = (current-compiled-file-roots)
  compile-proc0 : (any/c . -> . any) = compile
  compile-proc : (any/c . -> . any) = compile-proc0
  ext-proc0 : (or/c #f (path? boolean? . -> . any)) = #f
  ext-proc : (or/c #f (path? boolean? . -> . any)) = ext-proc0
  notify-proc : (any/c . -> . any) = void
  read-syntax-proc : (any/c input-port? . -> . (or/c syntax? eof-object?))
                   = read-syntax
  rkt-try-ss? : boolean? = #t
  choose-proc : (or/c (-> path? path? path?       = #f
                          (or/c 'src 'zo 'so #f))
                      #f)
procedure
(get-module-path  path                        
                  #:submodule? submodule?     
                 [#:sub-path compiled-subdir0 
                  compiled-subdir             
                  #:roots roots               
                  #:rkt-try-ss? rkt-try-ss?   
                  #:choose choose-proc])      
 -> path? (or/c 'src 'zo 'so)
  path : path-string?
  submodule? : boolean?
  compiled-subdir0 : (or/c (and/c path-string? relative-path?)
                           (listof (and/c path-string? relative-path?)))
                   = (use-compiled-file-paths)
  compiled-subdir : (or/c (and/c path-string? relative-path?)
                          (listof (and/c path-string? relative-path?)))
                  = compiled-subdir0
  roots : (listof (or/c path-string? 'same))
        = (current-compiled-file-roots)
  rkt-try-ss? : boolean? = #t
  choose-proc : any/c = #f
procedure
(default-compiled-sub-path) -> path-string?
procedure
(get-metadata-path  path               
                   [#:roots roots]     
                    sub-path ...+) -> path?
  path : path-string?
  roots : (listof (or/c path-string? 'same))
        = (current-compiled-file-roots)
  sub-path : (or/c path-string? 'same)
parameter
(moddep-current-open-input-file)
 -> (path-string? . -> . input-port?)
(moddep-current-open-input-file proc) -> void?
  proc : (path-string? . -> . input-port?)
struct
(struct exn:get-module-code exn:fail (path)
    #:extra-constructor-name make-exn:get-module-code)
  path : path?
procedure
(resolve-module-path  module-path-v   
                     [rel-to-path-v]) 
 -> (or/c path? symbol?
          (cons/c 'submod (cons/c (or/c path? symbol?) (listof symbol?))))
  module-path-v : module-path?
  rel-to-path-v : (or/c #f path-string? (-> any)) = #f
procedure
(resolve-module-path-index  module-path-index 
                           [rel-to-path-v])   
 -> (or/c path? symbol?
          (cons/c 'submod (cons/c (or/c path? symbol?) (listof symbol?))))
  module-path-index : module-path-index?
  rel-to-path-v : (or/c #f path-string? (-> any)) = #f
procedure
(collapse-module-path module-path-v             
                      rel-to-module-path-v) -> module-path?
  module-path-v : module-path?
  rel-to-module-path-v : (or/c module-path?
                               (-> module-path?))
procedure
(collapse-module-path-index module-path-index     
                            rel-to-module-path-v) 
 -> module-path?
  module-path-index : module-path-index?
  rel-to-module-path-v : (or/c module-path?
                               (-> module-path?))
(collapse-module-path-index module-path-index)
 -> (or/c module-path? #f)
  module-path-index : module-path-index?
procedure
(show-import-tree  module-path-v                       
                  [#:dag? dag?                         
                   #:path-to path-to-module-path-v     
                   #:show show])                   -> void?
  module-path-v : module-path?
  dag? : any/c = #f
  path-to-module-path-v : (or/c #f module-path?) = #f
  show : (string? any/c string? (or/c #f exact-integer?) . -> . any)
       = (lambda (indent path require-mode phase)
           (printf "~a~a~a ~a\n" indent path require-mode phase))
procedure
(make-wrapping-module-begin  wrap-form           
                            [module-begin-form]) 
 -> (syntax? . -> . syntax?)
  wrap-form : syntax?
  module-begin-form : syntax? = #'#%plain-module-begin
procedure
(syntax-local-infer-name stx [use-local?]) -> any/c
  stx : syntax?
  use-local? : any/c = #t
procedure
(build-expand-context v) -> list?
  v : (or/c symbol? list?)
procedure
(generate-expand-context [liberal-definitions?]) -> list?
  liberal-definitions? : boolean? = #f
procedure
(normalize-definition  defn-stx           
                       lambda-id-stx      
                      [check-context?     
                       opt+kws?])     -> identifier? syntax?
  defn-stx : syntax?
  lambda-id-stx : identifier?
  check-context? : boolean? = #t
  opt+kws? : boolean? = #f
procedure
(normalize-definition/mk-rhs defn-stx       
                             lambda-id-stx  
                             check-context? 
                             opt+kws?       
                             err-no-body?)  
 -> identifier? (-> syntax? syntax?) syntax?
  defn-stx : syntax?
  lambda-id-stx : identifier?
  check-context? : boolean?
  opt+kws? : boolean?
  err-no-body? : boolean?
procedure
(flatten-begin stx) -> (listof syntax?)
  stx : syntax?
procedure
(flatten-all-begins stx) -> (listof syntax?)
  stx : syntax?
procedure
(parse-define-struct stx orig-stx) -> identifier?
                                      (or/c identifier? #f)
                                      (listof identifier?)
                                      syntax?
  stx : syntax?
  orig-stx : syntax?
procedure
(build-struct-names  name-id                      
                     field-ids                    
                    [#:constructor-name ctr-name] 
                     omit-sel?                    
                     omit-set?                    
                    [src-stx])                    
 -> (listof identifier?)
  name-id : identifier?
  field-ids : (listof identifier?)
  ctr-name : (or/c identifier? #f) = #f
  omit-sel? : boolean?
  omit-set? : boolean?
  src-stx : (or/c syntax? #f) = #f
procedure
(build-struct-generation  name-id                      
                          field-ids                    
                         [#:constructor-name ctr-name] 
                          omit-sel?                    
                          omit-set?                    
                         [super-type                   
                          prop-value-list              
                          immutable-k-list])           
 -> (listof identifier?)
  name-id : identifier?
  field-ids : (listof identifier?)
  ctr-name : (or/c identifier? #f) = #f
  omit-sel? : boolean?
  omit-set? : boolean?
  super-type : any/c = #f
  prop-value-list : list? = '(list)
  immutable-k-list : list? = '(list)
procedure
(build-struct-generation*  all-name-ids                 
                           name-id                      
                           field-ids                    
                          [#:constructor-name ctr-name] 
                           omit-sel?                    
                           omit-set?                    
                          [super-type                   
                           prop-value-list              
                           immutable-k-list])           
 -> (listof identifier?)
  all-name-ids : (listof identifier?)
  name-id : identifier?
  field-ids : (listof identifier?)
  ctr-name : (or/c identifier? #f) = #f
  omit-sel? : boolean?
  omit-set? : boolean?
  super-type : any/c = #f
  prop-value-list : list? = '(list)
  immutable-k-list : list? = '(list)
procedure
(build-struct-expand-info  name-id                           
                           field-ids                         
                          [#:omit-constructor? no-ctr?       
                           #:constructor-name ctr-name       
                           #:omit-struct-type? no-type?]     
                           omit-sel?                         
                           omit-set?                         
                           base-name                         
                           base-getters                      
                           base-setters)                 -> any
  name-id : identifier?
  field-ids : (listof identifier?)
  no-ctr? : any/c = #f
  ctr-name : (or/c identifier? #f) = #f
  no-type? : any/c = #f
  omit-sel? : boolean?
  omit-set? : boolean?
  base-name : (or/c identifier? boolean?)
  base-getters : (listof (or/c identifier? #f))
  base-setters : (listof (or/c identifier? #f))
procedure
(struct-declaration-info? v) -> boolean?
  v : any/c
procedure
(generate-struct-declaration  orig-stx                  
                              name-id                   
                              super-id-or-false         
                              field-id-list             
                              current-context           
                              make-make-struct-type     
                             [omit-sel?                 
                              omit-set?])           -> syntax?
  orig-stx : syntax?
  name-id : identifier?
  super-id-or-false : (or/c identifier? #f)
  field-id-list : (listof identifier?)
  current-context : any/c
  make-make-struct-type : procedure?
  omit-sel? : boolean? = #f
  omit-set? : boolean? = #f
procedure
(resolve-path-spec path-spec-stx     
                   source-stx        
                   expr-stx)     -> complete-path?
  path-spec-stx : syntax?
  source-stx : syntax?
  expr-stx : syntax?
procedure
(transform-template  template-stx                             
                     #:save save-proc                         
                     #:restore-stx restore-proc-stx           
                    [#:leaf-save leaf-save-proc               
                     #:leaf-restore-stx leaf-restore-proc-stx 
                     #:leaf-datum-stx leaf-datum-proc-stx     
                     #:pvar-save pvar-save-proc               
                     #:pvar-restore-stx pvar-restore-stx      
                     #:cons-stx cons-proc-stx                 
                     #:ellipses-end-stx ellipses-end-stx      
                     #:constant-as-leaf? constant-as-leaf?])  
 -> syntax?
  template-stx : syntax?
  save-proc : (syntax? . -> . any/c)
  restore-proc-stx : syntax?
  leaf-save-proc : (syntax? . -> . any/c) = save-proc
  leaf-restore-proc-stx : syntax? = #'(lambda (data stx) stx)
  leaf-datum-proc-stx : syntax? = #'(lambda (v) v)
  pvar-save-proc : (identifier? . -> . any/c) = (lambda (x) #f)
  pvar-restore-stx : syntax? = #'(lambda (d stx) stx)
  cons-proc-stx : syntax? = #'cons
  ellipses-end-stx : syntax? = #'values
  constant-as-leaf? : boolean? = #f
procedure
(make-variable-like-transformer  reference-stx 
                                [setter-stx])  
 -> (and/c set!-transformer? (-> syntax? syntax?))
  reference-stx : (or/c syntax? (-> identifier? syntax?))
  setter-stx : (or/c syntax? (-> syntax? syntax?) #f) = #f
procedure
(make-expression-transformer transformer)
 -> (-> syntax? syntax?)
  transformer : (-> syntax? syntax?)
procedure
(local-apply-transformer transformer     
                         stx             
                         context         
                         intdef-ctx) -> syntax?
  transformer : (or/c (-> syntax? syntax?) set!-transformer?)
  stx : syntax?
  context : (or/c 'expression 'top-level 'module 'module-begin list?)
  intdef-ctx : (or/c internal-definition-context?
                      #f
                      (listof internal-definition-context?))
procedure
(raise-read-error  msg-string                          
                   source                              
                   line                                
                   col                                 
                   pos                                 
                   span                                
                  [#:extra-srclocs extra-srclocs]) -> any
  msg-string : string?
  source : any/c
  line : (or/c exact-positive-integer? #f)
  col : (or/c exact-nonnegative-integer? #f)
  pos : (or/c exact-positive-integer? #f)
  span : (or/c exact-nonnegative-integer? #f)
  extra-srclocs : (listof srcloc?) = '()
procedure
(raise-read-eof-error msg-string     
                      source         
                      line           
                      col            
                      pos            
                      span)      -> any
  msg-string : string?
  source : any/c
  line : (or/c exact-positive-integer? #f)
  col : (or/c exact-nonnegative-integer? #f)
  pos : (or/c exact-positive-integer? #f)
  span : (or/c exact-nonnegative-integer? #f)
syntax
(#%module-begin module-path)
(#%module-begin module-path reader-option ... form ....)
(#%module-begin             reader-option ... form ....)
 
reader-option = #:read        read-expr
              | #:read-syntax read-syntax-expr
              | #:whole-body-readers? whole?-expr
              | #:wrapper1    wrapper1-expr
              | #:wrapper2    wrapper2-expr
              | #:module-wrapper module-wrapper-expr
              | #:language    lang-expr
              | #:info        info-expr
              | #:interaction-info interaction-info-expr
              | #:language-info language-info-expr
 
  read-expr : (input-port? . -> . any/c)
  read-syntax-expr : (any/c input-port? . -> . any/c)
  whole?-expr : any/c
  wrapper1-expr : (or/c ((-> any/c) . -> . any/c)
                        ((-> any/c) boolean? . -> . any/c))
  wrapper2-expr : (or/c (input-port? (input-port? . -> . any/c)
                         . -> . any/c)
                        (input-port? (input-port? . -> . any/c)
                         boolean? . -> . any/c))
  module-wrapper-expr : (or/c ((-> any/c) . -> . any/c)
                         ((-> any/c) boolean? . -> . any/c))
  info-expr : (symbol? any/c (symbol? any/c . -> . any/c) . -> . any/c)
  interaction-info-expr : (or/c (symbol? any/c . -> . any/c) #f)
  language-info-expr : (or/c (vector/c module-path? symbol? any/c) #f)
  lang-expr : (or/c module-path?
                    (and/c syntax? (compose module-path? syntax->datum))
                    procedure?)
procedure
(make-meta-reader  self-sym               
                   path-desc-str          
                  [#:read-spec read-spec] 
                   module-path-parser     
                   convert-read           
                   convert-read-syntax    
                   convert-get-info)      
 -> procedure? procedure? procedure?
  self-sym : symbol?
  path-desc-str : string?
  read-spec : (input-port? . -> . any/c) = (lambda (in) ....)
  module-path-parser : (any/c . -> . (or/c module-path? #f
                                           (vectorof module-path?)))
  convert-read : (procedure? . -> . procedure?)
  convert-read-syntax : (procedure? . -> . procedure?)
  convert-get-info : (procedure? . -> . procedure?)
procedure
(lang-reader-module-paths bstr)
 -> (or/c #f (vectorof module-path?))
  bstr : bytes?
procedure
(wrap-read-all mod-path         
               in               
               read             
               mod-path-stx     
               src              
               line             
               col              
               pos)         -> any/c
  mod-path : module-path?
  in : input-port?
  read : (input-port . -> . any/c)
  mod-path-stx : syntax?
  src : (or/c syntax? #f)
  line : number?
  col : number?
  pos : number?
procedure
(split-for-body stx body-stxes) -> syntax?
  stx : syntax?
  body-stxes : syntax?
procedure
(expand-for-clause* orig-stx clause) -> syntax?
  orig-stx : syntax?
  clause : syntax?
procedure
(expand-for-clause orig-stx clause) -> syntax?
  orig-stx : syntax?
  clause : syntax?
procedure
(source-location? x) -> boolean?
  x : any/c
procedure
(source-location-list? x) -> boolean?
  x : any/c
procedure
(source-location-vector? x) -> boolean?
  x : any/c
procedure
(check-source-location! name x) -> void?
  name : symbol?
  x : any/c
procedure
(build-source-location loc ...) -> srcloc?
  loc : source-location?
procedure
(build-source-location-list loc ...) -> source-location-list?
  loc : source-location?
procedure
(build-source-location-vector loc ...) -> source-location-vector?
  loc : source-location?
procedure
(build-source-location-syntax loc ...) -> syntax?
  loc : source-location?
procedure
(source-location-known? loc) -> boolean?
  loc : source-location?
procedure
(source-location-source loc) -> any/c
  loc : source-location?
procedure
(source-location-line loc) -> (or/c exact-positive-integer? #f)
  loc : source-location?
procedure
(source-location-column loc)
 -> (or/c exact-nonnegative-integer? #f)
  loc : source-location?
procedure
(source-location-position loc)
 -> (or/c exact-positive-integer? #f)
  loc : source-location?
procedure
(source-location-span loc)
 -> (or/c exact-nonnegative-integer? #f)
  loc : source-location?
procedure
(source-location-end loc)
 -> (or/c exact-nonnegative-integer? #f)
  loc : source-location?
procedure
(update-source-location loc                     
                        #:source source         
                        #:line line             
                        #:column column         
                        #:position position     
                        #:span span)        -> source-location?
  loc : source-location?
  source : any/c
  line : (or/c exact-nonnegative-integer? #f)
  column : (or/c exact-positive-integer? #f)
  position : (or/c exact-nonnegative-integer? #f)
  span : (or/c exact-positive-integer? #f)
procedure
(source-location->string loc) -> string?
  loc : source-location?
procedure
(source-location->prefix loc) -> string?
  loc : source-location?
procedure
(syntax-source-directory stx) -> (or/c path? #f)
  stx : syntax?
procedure
(syntax-source-file-name stx) -> (or/c path? #f)
  stx : syntax?
syntax
(quote-srcloc)
(quote-srcloc form)
(quote-srcloc form #:module-source expr)
syntax
(quote-source-file)
(quote-source-file form)
syntax
(quote-line-number)
(quote-line-number form)
syntax
(quote-column-number)
(quote-column-number form)
syntax
(quote-character-position)
(quote-character-position form)
syntax
(quote-character-span)
(quote-character-span form)
syntax
(quote-srcloc-string)
(quote-srcloc-string form)
syntax
(quote-srcloc-prefix)
(quote-srcloc-prefix form)
syntax
(quote-module-name submod-path-element ...)
syntax
(quote-module-path submod-path-element ...)
syntax
(quote-syntax/keep-srcloc datum)
(quote-syntax/keep-srcloc #:source source-expr datum)
procedure
(expand-syntax-top-level-with-compile-time-evals stx) -> syntax?
  stx : syntax?
procedure
(expand-top-level-with-compile-time-evals stx) -> syntax?
  stx : syntax?
procedure
(expand-syntax-top-level-with-compile-time-evals/flatten stx)
 -> (listof syntax?)
  stx : syntax?
procedure
(eval-compile-time-part-of-top-level stx) -> void?
  stx : syntax?
procedure
(eval-compile-time-part-of-top-level/compile stx)
 -> (listof compiled-expression?)
  stx : syntax?
syntax
(provide-and-document doc-label-id doc-row ...)
 
doc-row = (section-string (name type-datum doc-string ...) ...)
        | (all-from prefix-id module-path doc-label-id)
        | (all-from-except prefix-id module-path doc-label-id id ...)
           
   name = id
        | (local-name-id external-name-id)
procedure
(lookup-documentation module-path-v     
                      label-sym)    -> any
  module-path-v : module-path?
  label-sym : symbol?
procedure
(wrap-expr/c  contract-expr            
              expr                     
             [#:arg? arg?              
              #:positive pos-blame     
              #:negative neg-blame     
              #:name expr-name         
              #:macro macro-name       
              #:context context        
              #:phase phase])      -> syntax?
  contract-expr : syntax?
  expr : syntax?
  arg? : any/c = #t
  pos-blame : (or/c syntax? string? module-path-index?
                    'from-macro 'use-site 'unknown)
            = 'from-macro
  neg-blame : (or/c syntax? string? module-path-index?
                    'from-macro 'use-site 'unknown)
            = 'use-site
  expr-name : (or/c identifier? symbol? string? #f) = #f
  macro-name : (or/c identifier? symbol? string? #f) = #f
  context : (or/c syntax? #f) = (current-syntax-context)
  phase : exact-integer? = (syntax-local-phase-level)
syntax
(phase1-eval ct-expr maybe-quote maybe-catch?)
 
 maybe-quote = 
             | #:quote quote-id
                
maybe-catch? = 
             | #:catch? catch?
syntax
(convert-compile-time-error expr)
syntax
(convert-syntax-error expr)
procedure
(internal-definition-context-track intdef-ctx     
                                   stx)       -> syntax?
  intdef-ctx : internal-definition-context?
  stx : syntax?
