Created
February 2, 2021 20:46
-
-
Save samth/25bb9eb5d0b36983bae48efb5a032402 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; This is not the original source code. Instead, this is the code after | |
;; fully expanding and flattening into a single linklet. | |
(module expander '#%kernel | |
(#%require '#%paramz '#%unsafe '#%flfxnum '#%linklet '#%extfl) | |
(#%provide | |
(rename boot boot) | |
(rename 1/bound-identifier=? bound-identifier=?) | |
(rename 1/compile compile) | |
(rename compile-keep-source-locations! compile-keep-source-locations!) | |
(rename 1/compiled-expression-recompile compiled-expression-recompile) | |
(rename 1/current-compile current-compile) | |
(rename 1/current-compiled-file-roots current-compiled-file-roots) | |
(rename 1/current-eval current-eval) | |
(rename 1/current-library-collection-links current-library-collection-links) | |
(rename 1/current-library-collection-paths current-library-collection-paths) | |
(rename 1/current-load current-load) | |
(rename 1/current-load/use-compiled current-load/use-compiled) | |
(rename 1/current-namespace current-namespace) | |
(rename datum->kernel-syntax datum->kernel-syntax) | |
(rename 1/datum->syntax datum->syntax) | |
(rename declare-primitive-module! declare-primitive-module!) | |
(rename 1/dynamic-require dynamic-require) | |
(rename embedded-load embedded-load) | |
(rename 1/eval eval) | |
(rename eval$1 eval-top-level) | |
(rename expand$1 expand) | |
(rename expander-place-init! expander-place-init!) | |
(rename 1/find-library-collection-links find-library-collection-links) | |
(rename 1/find-library-collection-paths find-library-collection-paths) | |
(rename find-main-config find-main-config) | |
(rename 1/identifier-binding identifier-binding) | |
(rename identifier? identifier?) | |
(rename 1/load load) | |
(rename 1/load-extension load-extension) | |
(rename 1/load/use-compiled load/use-compiled) | |
(rename make-namespace make-namespace) | |
(rename maybe-raise-missing-module maybe-raise-missing-module) | |
(rename maybe-syntax->datum maybe-syntax->datum) | |
(rename 1/module->language-info module->language-info) | |
(rename 1/module-compiled-exports module-compiled-exports) | |
(rename 1/module-compiled-indirect-exports module-compiled-indirect-exports) | |
(rename 1/module-declared? module-declared?) | |
(rename 1/module-path-index-join module-path-index-join) | |
(rename 1/module-path-index? module-path-index?) | |
(rename 1/module-path? module-path?) | |
(rename 1/module-predefined? module-predefined?) | |
(rename namespace->instance namespace->instance) | |
(rename 1/namespace-attach-module namespace-attach-module) | |
(rename 1/namespace-attach-module-declaration namespace-attach-module-declaration) | |
(rename namespace-datum-introduce namespace-datum-introduce) | |
(rename 1/namespace-mapped-symbols namespace-mapped-symbols) | |
(rename 1/namespace-module-identifier namespace-module-identifier) | |
(rename 1/namespace-require namespace-require) | |
(rename 1/namespace-syntax-introduce namespace-syntax-introduce) | |
(rename 1/namespace-variable-value namespace-variable-value) | |
(rename path-list-string->path-list path-list-string->path-list) | |
(rename 1/read read) | |
(rename 1/read-accept-compiled read-accept-compiled) | |
(rename 1/read-syntax read-syntax) | |
(rename 1/resolved-module-path? resolved-module-path?) | |
(rename seal seal) | |
(rename 1/syntax->datum syntax->datum) | |
(rename 1/syntax-debug-info syntax-debug-info) | |
(rename 1/syntax-e syntax-e) | |
(rename syntax-property$1 syntax-property) | |
(rename 1/syntax-shift-phase-level syntax-shift-phase-level) | |
(rename syntax?$1 syntax?) | |
(rename 1/use-collection-link-paths use-collection-link-paths) | |
(rename 1/use-compiled-file-check use-compiled-file-check) | |
(rename 1/use-compiled-file-paths use-compiled-file-paths) | |
(rename 1/use-user-specific-search-paths use-user-specific-search-paths)) | |
(define-values (call/ec) call-with-escape-continuation) | |
(define-values | |
(qq-append) | |
(lambda (a_0 b_0) (begin (if (list? a_0) (append a_0 b_0) (raise-argument-error 'unquote-splicing "list?" a_0))))) | |
(define-values | |
(bad-list$1) | |
(lambda (who_0 orig-l_0) (begin 'bad-list (raise-mismatch-error who_0 "not a proper list: " orig-l_0)))) | |
(define-values | |
(memq memv member) | |
(let-values () | |
(let-values () | |
(values | |
(let-values (((memq_0) | |
(lambda (v_0 orig-l_1) | |
(begin | |
'memq | |
((letrec-values (((loop_0) | |
(lambda (ls_0) | |
(begin | |
'loop | |
(if (null? ls_0) | |
(let-values () #f) | |
(if (not (pair? ls_0)) | |
(let-values () (bad-list$1 'memq orig-l_1)) | |
(if (eq? v_0 (car ls_0)) | |
(let-values () ls_0) | |
(let-values () (loop_0 (cdr ls_0)))))))))) | |
loop_0) | |
orig-l_1))))) | |
memq_0) | |
(let-values (((memv_0) | |
(lambda (v_1 orig-l_2) | |
(begin | |
'memv | |
((letrec-values (((loop_1) | |
(lambda (ls_1) | |
(begin | |
'loop | |
(if (null? ls_1) | |
(let-values () #f) | |
(if (not (pair? ls_1)) | |
(let-values () (bad-list$1 'memv orig-l_2)) | |
(if (eqv? v_1 (car ls_1)) | |
(let-values () ls_1) | |
(let-values () (loop_1 (cdr ls_1)))))))))) | |
loop_1) | |
orig-l_2))))) | |
memv_0) | |
(let-values (((default_0) | |
(let-values (((member_0) | |
(lambda (v_2 orig-l_3) | |
(begin | |
'member | |
((letrec-values (((loop_2) | |
(lambda (ls_2) | |
(begin | |
'loop | |
(if (null? ls_2) | |
(let-values () #f) | |
(if (not (pair? ls_2)) | |
(let-values () (bad-list$1 'member orig-l_3)) | |
(if (equal? v_2 (car ls_2)) | |
(let-values () ls_2) | |
(let-values () (loop_2 (cdr ls_2)))))))))) | |
loop_2) | |
orig-l_3))))) | |
member_0))) | |
(let-values (((member_1) | |
(case-lambda | |
((v_3 orig-l_4) (begin 'member (default_0 v_3 orig-l_4))) | |
((v_4 orig-l_5 eq?_0) | |
(begin | |
(if (if (procedure? eq?_0) (procedure-arity-includes? eq?_0 2) #f) | |
(void) | |
(raise-argument-error 'member "(procedure-arity-includes/c 2)" eq?_0)) | |
((let-values (((member_2) | |
(lambda (v_5 orig-l_6) | |
(begin | |
'member | |
((letrec-values (((loop_3) | |
(lambda (ls_3) | |
(begin | |
'loop | |
(if (null? ls_3) | |
(let-values () #f) | |
(if (not (pair? ls_3)) | |
(let-values () (bad-list$1 'member orig-l_6)) | |
(if (eq?_0 v_5 (car ls_3)) | |
(let-values () ls_3) | |
(let-values () (loop_3 (cdr ls_3)))))))))) | |
loop_3) | |
orig-l_6))))) | |
member_2) | |
v_4 | |
orig-l_5)))))) | |
member_1)))))) | |
(define-values (current-parameterization) (lambda () (begin (continuation-mark-set-first #f parameterization-key)))) | |
(define-values | |
(call-with-parameterization) | |
(lambda (paramz_0 thunk_0) | |
(begin | |
(begin | |
(if (parameterization? paramz_0) | |
(void) | |
(let-values () (raise-argument-error 'call-with-parameterization "parameterization?" 0 paramz_0 thunk_0))) | |
(if (if (procedure? thunk_0) (procedure-arity-includes? thunk_0 0) #f) | |
(void) | |
(let-values () (raise-argument-error 'call-with-parameterization "(-> any)" 1 paramz_0 thunk_0))) | |
(with-continuation-mark parameterization-key paramz_0 (thunk_0)))))) | |
(define-values | |
(struct:break-paramz make-break-paramz break-paramz? break-paramz-ref break-paramz-set!) | |
(make-struct-type 'break-parameterization #f 1 0 #f)) | |
(define-values | |
(current-break-parameterization) | |
(lambda () (begin (make-break-paramz (continuation-mark-set-first #f break-enabled-key))))) | |
(define-values | |
(call-with-break-parameterization) | |
(lambda (paramz_1 thunk_1) | |
(begin | |
(begin | |
(if (break-paramz? paramz_1) | |
(void) | |
(let-values () | |
(raise-argument-error 'call-with-break-parameterization "break-parameterization?" 0 paramz_1 thunk_1))) | |
(if (if (procedure? thunk_1) (procedure-arity-includes? thunk_1 0) #f) | |
(void) | |
(let-values () (raise-argument-error 'call-with-parameterization "(-> any)" 1 paramz_1 thunk_1))) | |
(begin0 | |
(with-continuation-mark break-enabled-key (break-paramz-ref paramz_1 0) (begin (check-for-break) (thunk_1))) | |
(check-for-break)))))) | |
(define-values | |
(select-handler/no-breaks) | |
(lambda (e_0 bpz_0 l_0) | |
(begin | |
(with-continuation-mark | |
break-enabled-key | |
(make-thread-cell #f) | |
((letrec-values (((loop_4) | |
(lambda (l_1) | |
(begin | |
'loop | |
(if (null? l_1) | |
(let-values () (raise e_0)) | |
(if ((caar l_1) e_0) | |
(let-values () | |
(begin0 | |
((cdar l_1) e_0) | |
(with-continuation-mark break-enabled-key bpz_0 (check-for-break)))) | |
(let-values () (loop_4 (cdr l_1))))))))) | |
loop_4) | |
l_0))))) | |
(define-values (false-thread-cell) (make-thread-cell #f)) | |
(define-values (handler-prompt-key) (make-continuation-prompt-tag 'handler-prompt-tag)) | |
(define-values | |
(call-handled-body) | |
(lambda (bpz_1 handle-proc_0 body-thunk_0) | |
(begin | |
(with-continuation-mark | |
break-enabled-key | |
false-thread-cell | |
(call-with-continuation-prompt | |
(lambda (bpz_2 body-thunk_1) | |
(with-continuation-mark | |
break-enabled-key | |
bpz_2 | |
(with-continuation-mark | |
exception-handler-key | |
(lambda (e_1) (abort-current-continuation handler-prompt-key e_1)) | |
(body-thunk_1)))) | |
handler-prompt-key | |
handle-proc_0 | |
bpz_1 | |
body-thunk_0))))) | |
(define-values | |
(call-with-exception-handler) | |
(lambda (exnh_0 thunk_2) (begin (begin0 (with-continuation-mark exception-handler-key exnh_0 (thunk_2)) (void))))) | |
(define-values (not-there) (gensym)) | |
(define-values | |
(do-hash-update) | |
(lambda (who_1 mut?_0 set_0 ht_0 key_0 xform_0 default_1) | |
(begin | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () | |
(begin | |
(if (if (hash? ht_0) (if mut?_0 (not (immutable? ht_0)) (immutable? ht_0)) #f) | |
(void) | |
(let-values () | |
(raise-argument-error | |
who_1 | |
(if mut?_0 "(and/c hash? (not/c immutable?))" "(and/c hash? immutable?)") | |
ht_0))) | |
(if (if (procedure? xform_0) (procedure-arity-includes? xform_0 1) #f) | |
(void) | |
(let-values () (raise-argument-error who_1 "(any/c . -> . any/c)" xform_0)))))) | |
(let-values (((v_6) (hash-ref ht_0 key_0 default_1))) | |
(if (eq? v_6 not-there) | |
(raise-mismatch-error who_1 "no value found for key: " key_0) | |
(set_0 ht_0 key_0 (xform_0 v_6)))))))) | |
(define-values | |
(hash-update) | |
(case-lambda | |
((ht_1 key_1 xform_1 default_2) (begin (do-hash-update 'hash-update #f hash-set ht_1 key_1 xform_1 default_2))) | |
((ht_2 key_2 xform_2) (hash-update ht_2 key_2 xform_2 not-there)))) | |
(define-values | |
(hash-update!) | |
(case-lambda | |
((ht_3 key_3 xform_3 default_3) (begin (do-hash-update 'hash-update! #t hash-set! ht_3 key_3 xform_3 default_3))) | |
((ht_4 key_4 xform_4) (hash-update! ht_4 key_4 xform_4 not-there)))) | |
(define-values | |
(hash-ref!) | |
(lambda (ht_5 key_5 new_0) | |
(begin | |
(begin | |
(if (if (hash? ht_5) (not (immutable? ht_5)) #f) | |
(void) | |
(let-values () (raise-argument-error 'hash-ref! "(and/c hash? (not/c immutable?))" 0 ht_5 key_5 new_0))) | |
(let-values (((v_7) (hash-ref ht_5 key_5 not-there))) | |
(if (eq? not-there v_7) | |
(let-values (((n_0) (if (procedure? new_0) (new_0) new_0))) (begin (hash-set! ht_5 key_5 n_0) n_0)) | |
v_7)))))) | |
(define-values | |
(path-string?) | |
(lambda (s_0) | |
(begin | |
(let-values (((or-part_0) (path? s_0))) | |
(if or-part_0 | |
or-part_0 | |
(if (string? s_0) | |
(let-values (((or-part_1) (relative-path? s_0))) (if or-part_1 or-part_1 (absolute-path? s_0))) | |
#f)))))) | |
(define-values (bsbs) (string '#\\ '#\\)) | |
(define-values | |
(normal-case-path) | |
(lambda (s_1) | |
(begin | |
(begin | |
(if (let-values (((or-part_2) (path-for-some-system? s_1))) (if or-part_2 or-part_2 (path-string? s_1))) | |
(void) | |
(let-values () (raise-argument-error 'normal-path-case "(or/c path-for-some-system? path-string?)" s_1))) | |
(if (if (path-for-some-system? s_1) (eq? (path-convention-type s_1) 'windows) (eq? (system-type) 'windows)) | |
(let-values () | |
(let-values (((bstr_0) (if (string? s_1) #f (path->bytes s_1)))) | |
(if (if (string? s_1) (regexp-match? '#rx"^[\\][\\][?][\\]" s_1) #f) | |
(let-values () (string->path s_1)) | |
(if (if bstr_0 (regexp-match? '#rx#"^[\\][\\][?][\\]" bstr_0) #f) | |
(let-values () s_1) | |
(let-values () | |
(let-values (((norm_0) | |
(lambda (s_2) | |
(begin 'norm (string-locale-downcase (regexp-replace* '#rx"/" s_2 bsbs))))) | |
((norm-tail_0) | |
(lambda (s_3) | |
(begin | |
'norm-tail | |
(if (regexp-match? '#rx"[/\\][. ]+[/\\]*$" s_3) | |
s_3 | |
(regexp-replace* '#rx"(?<=[^ ./\\])[ .]+([/\\]*)$" s_3 "\\1"))))) | |
((finish_0) (lambda (bstr_1) (begin 'finish (bytes->path bstr_1 'windows))))) | |
(if (string? s_1) | |
(let-values () (finish_0 (string->bytes/locale (norm_0 (norm-tail_0 s_1))))) | |
(let-values () | |
(let-values (((c_0) (bytes-open-converter "" "UTF-8"))) | |
(finish_0 | |
((letrec-values (((loop_5) | |
(lambda (offset_0) | |
(begin | |
'loop | |
(let-values (((new-bstr_0 used_0 status_0) | |
(bytes-convert | |
c_0 | |
bstr_0 | |
offset_0 | |
(bytes-length bstr_0)))) | |
(let-values (((s_4) (bytes->string/locale new-bstr_0))) | |
(let-values (((tail-s_0) | |
(if (eq? status_0 'complete) | |
(norm-tail_0 s_4) | |
s_4))) | |
(let-values (((done_0) | |
(string->bytes/locale (norm_0 tail-s_0)))) | |
(if (eq? status_0 'complete) | |
(let-values () done_0) | |
(if (eq? status_0 'aborts) | |
(let-values () | |
(bytes-append | |
done_0 | |
(subbytes bstr_0 (+ offset_0 used_0)))) | |
(let-values () | |
(bytes-append | |
done_0 | |
(subbytes | |
bstr_0 | |
(+ offset_0 used_0) | |
(+ offset_0 used_0 1)) | |
(loop_5 (+ offset_0 used_0 1)))))))))))))) | |
loop_5) | |
0))))))))))) | |
(if (string? s_1) (let-values () (string->path s_1)) (let-values () s_1))))))) | |
(define-values | |
(check-extension-call) | |
(lambda (s_5 sfx_0 who_2 sep_0 trust-sep?_0) | |
(begin | |
(begin | |
(let-values (((err-msg_0 err-index_0) | |
(if (not | |
(let-values (((or-part_3) (path-for-some-system? s_5))) | |
(if or-part_3 or-part_3 (path-string? s_5)))) | |
(let-values () (values "(or/c path-for-some-system? path-string?)" 0)) | |
(if (not (let-values (((or-part_4) (string? sfx_0))) (if or-part_4 or-part_4 (bytes? sfx_0)))) | |
(let-values () (values "(or/c string? bytes?)" 1)) | |
(if (not | |
(let-values (((or-part_5) trust-sep?_0)) | |
(if or-part_5 | |
or-part_5 | |
(let-values (((or-part_6) (string? sep_0))) | |
(if or-part_6 or-part_6 (bytes? sep_0)))))) | |
(let-values () (values "(or/c string? bytes?)" 2)) | |
(let-values () (values #f #f))))))) | |
(if err-msg_0 | |
(let-values () | |
(if trust-sep?_0 | |
(raise-argument-error who_2 err-msg_0 err-index_0 s_5 sfx_0) | |
(raise-argument-error who_2 err-msg_0 err-index_0 s_5 sfx_0 sep_0))) | |
(void))) | |
(let-values (((base_0 name_0 dir?_0) (split-path s_5))) | |
(begin | |
(if (not base_0) | |
(let-values () (raise-mismatch-error who_2 "cannot add an extension to a root path: " s_5)) | |
(void)) | |
(values base_0 name_0))))))) | |
(define-values | |
(path-adjust-extension) | |
(lambda (name_1 sep_1 rest-bytes_0 s_6 sfx_1 trust-sep?_1) | |
(begin | |
(let-values (((base_1 name_2) (check-extension-call s_6 sfx_1 name_1 sep_1 trust-sep?_1))) | |
(let-values (((bs_0) (path-element->bytes name_2))) | |
(let-values (((finish_1) | |
(lambda (i_0 sep_2 i2_0) | |
(begin | |
'finish | |
(bytes->path-element | |
(bytes-append | |
(subbytes bs_0 0 i_0) | |
(if (string? sep_2) (string->bytes/locale sep_2 (char->integer '#\?)) sep_2) | |
(rest-bytes_0 bs_0 i2_0) | |
(if (string? sfx_1) (string->bytes/locale sfx_1 (char->integer '#\?)) sfx_1)) | |
(if (path-for-some-system? s_6) | |
(path-convention-type s_6) | |
(system-path-convention-type))))))) | |
(let-values (((new-name_0) | |
(letrec-values (((loop_6) | |
(lambda (i_1) | |
(begin | |
'loop | |
(if (zero? i_1) | |
(finish_1 (bytes-length bs_0) #"" (bytes-length bs_0)) | |
(let-values (((i_2) (sub1 i_1))) | |
(if (if (not (zero? i_2)) | |
(eq? (char->integer '#\.) (bytes-ref bs_0 i_2)) | |
#f) | |
(finish_1 i_2 sep_1 (add1 i_2)) | |
(loop_6 i_2)))))))) | |
(loop_6 (bytes-length bs_0))))) | |
(if (path-for-some-system? base_1) (build-path base_1 new-name_0) new-name_0)))))))) | |
(define-values | |
(path-replace-extension) | |
(lambda (s_7 sfx_2) (begin (path-adjust-extension 'path-replace-extension #"" (lambda (bs_1 i_3) #"") s_7 sfx_2 #t)))) | |
(define-values | |
(path-add-extension) | |
(case-lambda | |
((s_8 sfx_3) (begin (path-adjust-extension 'path-add-extension #"_" subbytes s_8 sfx_3 #t))) | |
((s_9 sfx_4 sep_3) (path-adjust-extension 'path-add-extension sep_3 subbytes s_9 sfx_4 #f)))) | |
(define-values | |
(reroot-path) | |
(lambda (p_0 root_0) | |
(begin | |
(let-values ((() | |
(begin | |
(if (let-values (((or-part_7) (path-string? p_0))) | |
(if or-part_7 or-part_7 (path-for-some-system? p_0))) | |
(void) | |
(let-values () | |
(raise-argument-error 'reroot-path "(or/c path-string? path-for-some-system?)" 0 p_0 root_0))) | |
(values)))) | |
(let-values ((() | |
(begin | |
(if (let-values (((or-part_8) (path-string? root_0))) | |
(if or-part_8 or-part_8 (path-for-some-system? root_0))) | |
(void) | |
(let-values () | |
(raise-argument-error | |
'reroot-path | |
"(or/c path-string? path-for-some-system?)" | |
1 | |
p_0 | |
root_0))) | |
(values)))) | |
(let-values (((conv_0) | |
(if (path-for-some-system? p_0) (path-convention-type p_0) (system-path-convention-type)))) | |
(let-values ((() | |
(begin | |
(if (let-values (((or-part_9) (complete-path? p_0))) | |
(if or-part_9 or-part_9 (eq? (system-path-convention-type) conv_0))) | |
(void) | |
(let-values () | |
(raise-arguments-error | |
'reroot-path | |
"path is not complete and not the platform's convention" | |
"path" | |
p_0 | |
"platform convention type" | |
(system-path-convention-type)))) | |
(values)))) | |
(let-values ((() | |
(begin | |
(if (eq? | |
(if (path-for-some-system? root_0) | |
(path-convention-type root_0) | |
(system-path-convention-type)) | |
conv_0) | |
(void) | |
(let-values () | |
(raise-arguments-error | |
'reroot-path | |
"given paths use different conventions" | |
"path" | |
p_0 | |
"root path" | |
root_0))) | |
(values)))) | |
(let-values (((c-p_0) | |
(normal-case-path | |
(cleanse-path (if (complete-path? p_0) p_0 (path->complete-path p_0)))))) | |
(let-values (((bstr_2) (path->bytes c-p_0))) | |
(if (eq? conv_0 'unix) | |
(let-values () | |
(if (bytes=? bstr_2 #"/") | |
(if (path-for-some-system? root_0) root_0 (string->path root_0)) | |
(build-path root_0 (bytes->path (subbytes (path->bytes c-p_0) 1) conv_0)))) | |
(if (eq? conv_0 'windows) | |
(let-values () | |
(build-path | |
root_0 | |
(bytes->path | |
(if (regexp-match? '#rx"^\\\\\\\\[?]\\\\[a-z]:" bstr_2) | |
(let-values () | |
(bytes-append #"\\\\?\\REL\\" (subbytes bstr_2 4 5) #"\\" (subbytes bstr_2 6))) | |
(if (regexp-match? '#rx"^\\\\\\\\[?]\\\\UNC\\\\" bstr_2) | |
(let-values () (bytes-append #"\\\\?\\REL\\" (subbytes bstr_2 4))) | |
(if (regexp-match? '#rx"^\\\\\\\\[?]\\\\UNC\\\\" bstr_2) | |
(let-values () (bytes-append #"\\\\?\\REL\\" (subbytes bstr_2 4))) | |
(if (regexp-match? '#rx"^\\\\\\\\" bstr_2) | |
(let-values () (bytes-append #"UNC\\" (subbytes bstr_2 2))) | |
(if (regexp-match? '#rx"^[a-z]:" bstr_2) | |
(let-values () (bytes-append (subbytes bstr_2 0 1) (subbytes bstr_2 2))) | |
(void)))))) | |
conv_0))) | |
(void))))))))))))) | |
(define-values (rx:path-list) #f) | |
(define-values | |
(init-rx:path-list!) | |
(lambda () | |
(begin | |
(if rx:path-list | |
(void) | |
(let-values () | |
(set! rx:path-list | |
(byte-regexp | |
(string->bytes/utf-8 | |
(let-values (((sep_4) (if (eq? (system-type) 'windows) ";" ":"))) | |
(format "([^~a]*)~a(.*)" sep_4 sep_4)))))))))) | |
(define-values | |
(cons-path) | |
(lambda (default_4 s_10 l_2) | |
(begin | |
(let-values (((s_11) (if (eq? (system-type) 'windows) (regexp-replace* '#rx#"\"" s_10 #"") s_10))) | |
(if (bytes=? s_11 #"") (append default_4 l_2) (cons (bytes->path s_11) l_2)))))) | |
(define-values | |
(path-list-string->path-list) | |
(lambda (s_12 default_5) | |
(begin | |
(begin | |
(if (let-values (((or-part_10) (bytes? s_12))) (if or-part_10 or-part_10 (string? s_12))) | |
(void) | |
(let-values () (raise-argument-error 'path-list-string->path-list "(or/c bytes? string?)" s_12))) | |
(if (if (list? default_5) (andmap path? default_5) #f) | |
(void) | |
(let-values () (raise-argument-error 'path-list-string->path-list "(listof path?)" default_5))) | |
(init-rx:path-list!) | |
((letrec-values (((loop_7) | |
(lambda (s_2) | |
(begin | |
'loop | |
(let-values (((m_0) (regexp-match rx:path-list s_2))) | |
(if m_0 | |
(cons-path default_5 (cadr m_0) (loop_7 (caddr m_0))) | |
(cons-path default_5 s_2 null))))))) | |
loop_7) | |
(if (string? s_12) (string->bytes/utf-8 s_12) s_12)))))) | |
(define-values | |
(find-executable-path) | |
(case-lambda | |
((program_0 libpath_0 reverse?_0) | |
(begin | |
(begin | |
(if (path-string? program_0) | |
(void) | |
(let-values () (raise-argument-error 'find-executable-path "path-string?" program_0))) | |
(if (let-values (((or-part_11) (not libpath_0))) | |
(if or-part_11 or-part_11 (if (path-string? libpath_0) (relative-path? libpath_0) #f))) | |
(void) | |
(let-values () | |
(raise-argument-error 'find-executable-path "(or/c #f (and/c path-string? relative-path?))" libpath_0))) | |
(letrec-values (((found-exec_0) | |
(lambda (exec-name_0) | |
(begin | |
'found-exec | |
(if libpath_0 | |
(let-values (((base_2 name_3 isdir?_0) (split-path exec-name_0))) | |
(let-values (((next_0) | |
(lambda () | |
(begin | |
'next | |
(let-values (((resolved_0) (resolve-path exec-name_0))) | |
(if (equal? resolved_0 exec-name_0) | |
(let-values () #f) | |
(if (relative-path? resolved_0) | |
(let-values () (found-exec_0 (build-path base_2 resolved_0))) | |
(let-values () (found-exec_0 resolved_0))))))))) | |
(let-values (((or-part_12) (if reverse?_0 (next_0) #f))) | |
(if or-part_12 | |
or-part_12 | |
(let-values (((or-part_13) | |
(if (path? base_2) | |
(let-values (((lib_0) (build-path base_2 libpath_0))) | |
(if (let-values (((or-part_14) (directory-exists? lib_0))) | |
(if or-part_14 or-part_14 (file-exists? lib_0))) | |
lib_0 | |
#f)) | |
#f))) | |
(if or-part_13 or-part_13 (if (not reverse?_0) (next_0) #f))))))) | |
exec-name_0))))) | |
(if (if (relative-path? program_0) | |
(let-values (((base_3 name_4 dir?_1) (split-path program_0))) (eq? base_3 'relative)) | |
#f) | |
(let-values (((paths-str_0) (environment-variables-ref (current-environment-variables) #"PATH")) | |
((win-add_0) | |
(lambda (s_13) | |
(begin 'win-add (if (eq? (system-type) 'windows) (cons (bytes->path #".") s_13) s_13))))) | |
((letrec-values (((loop_8) | |
(lambda (paths_0) | |
(begin | |
'loop | |
(if (null? paths_0) | |
#f | |
(let-values (((base_4) (path->complete-path (car paths_0)))) | |
(let-values (((name_5) (build-path base_4 program_0))) | |
(if (file-exists? name_5) (found-exec_0 name_5) (loop_8 (cdr paths_0)))))))))) | |
loop_8) | |
(win-add_0 | |
(if paths-str_0 (path-list-string->path-list (bytes->string/locale paths-str_0 '#\?) null) null)))) | |
(let-values (((p_1) (path->complete-path program_0))) (if (file-exists? p_1) (found-exec_0 p_1) #f))))))) | |
((program_1 libpath_1) (find-executable-path program_1 libpath_1 #f)) | |
((program_2) (find-executable-path program_2 #f #f)))) | |
(define-values | |
(call-with-default-reading-parameterization) | |
(lambda (thunk_3) | |
(begin | |
(if (if (procedure? thunk_3) (procedure-arity-includes? thunk_3 0) #f) | |
(with-continuation-mark | |
parameterization-key | |
(extend-parameterization | |
(continuation-mark-set-first #f parameterization-key) | |
read-case-sensitive | |
#t | |
1/read-square-bracket-as-paren | |
#t | |
1/read-curly-brace-as-paren | |
#t | |
1/read-square-bracket-with-tag | |
#f | |
1/read-curly-brace-with-tag | |
#f | |
1/read-accept-box | |
#t | |
1/read-accept-compiled | |
#f | |
read-accept-bar-quote | |
#t | |
1/read-accept-graph | |
#t | |
1/read-decimal-as-inexact | |
#t | |
1/read-single-flonum | |
#f | |
1/read-cdot | |
#f | |
1/read-accept-dot | |
#t | |
1/read-accept-infix-dot | |
#t | |
1/read-accept-quasiquote | |
#t | |
1/read-accept-reader | |
#f | |
1/read-accept-lang | |
#t | |
1/current-readtable | |
#f) | |
(thunk_3)) | |
(raise-argument-error 'call-with-default-reading-parameterization "(procedure-arity-includes/c 0)" thunk_3))))) | |
(define-values | |
(prop:keyword-impersonator keyword-impersonator? keyword-impersonator-ref) | |
(make-struct-type-property 'keyword-impersonator)) | |
(define-values | |
(keyword-procedure-impersonator-of) | |
(lambda (v_8) | |
(begin (if (keyword-impersonator? v_8) (let-values () ((keyword-impersonator-ref v_8) v_8)) (let-values () #f))))) | |
(define-values | |
(struct:keyword-procedure mk-kw-proc keyword-procedure? keyword-procedure-ref keyword-procedure-set!) | |
(make-struct-type | |
'keyword-procedure | |
#f | |
4 | |
0 | |
#f | |
(list (cons prop:checked-procedure #t) (cons prop:impersonator-of keyword-procedure-impersonator-of)) | |
(current-inspector) | |
#f | |
'(0 1 2 3))) | |
(define-values (keyword-procedure-required) (make-struct-field-accessor keyword-procedure-ref 2)) | |
(define-values (keyword-procedure-allowed) (make-struct-field-accessor keyword-procedure-ref 3)) | |
(define-values | |
(prop:procedure-accessor procedure-accessor? procedure-accessor-ref) | |
(make-struct-type-property | |
'procedure | |
(lambda (v_9 info-l_0) (if (exact-integer? v_9) (make-struct-field-accessor (list-ref info-l_0 3) v_9) #f)))) | |
(define-values | |
(new-prop:procedure new-procedure? new-procedure-ref) | |
(make-struct-type-property | |
'procedure | |
#f | |
(list (cons prop:procedure values) (cons prop:procedure-accessor values)) | |
#t)) | |
(define-values | |
(procedure-keywords) | |
(lambda (p_2) | |
(begin | |
(if (keyword-procedure? p_2) | |
(let-values () (values (keyword-procedure-required p_2) (keyword-procedure-allowed p_2))) | |
(if (procedure? p_2) | |
(let-values () | |
(if (new-procedure? p_2) | |
(let-values (((v_10) (new-procedure-ref p_2))) | |
(if (procedure? v_10) | |
(procedure-keywords v_10) | |
(let-values (((a_1) (procedure-accessor-ref p_2))) | |
(if a_1 (procedure-keywords (a_1 p_2)) (values null null))))) | |
(values null null))) | |
(let-values () (raise-argument-error 'procedure-keywords "procedure?" p_2))))))) | |
(define-values (print-values) (lambda vs_0 (begin (begin (for-each (current-print) vs_0) (apply values vs_0))))) | |
(define-values | |
(reverse$1) | |
(lambda (l_3) | |
(begin | |
'reverse | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(if (list? l_3) (void) (raise-argument-error 'reverse "list?" l_3))) | |
(letrec-values (((loop_9) | |
(lambda (a_2 l_2) (begin 'loop (if (null? l_2) a_2 (loop_9 (cons (car l_2) a_2) (cdr l_2))))))) | |
(loop_9 null l_3)))))) | |
(define-values | |
(sort vector-sort vector-sort!) | |
(let-values () | |
(let-values (((generic-sort_0) | |
(lambda (A_0 less-than?_0 n_1) | |
(begin | |
'generic-sort | |
(let-values () | |
(let-values () | |
(let-values (((n/2-_0) (unsafe-fxrshift n_1 1))) | |
(let-values (((n/2+_0) (unsafe-fx- n_1 n/2-_0))) | |
(letrec-values (((copying-mergesort_0) | |
(lambda (Alo_0 Blo_0 n_2) | |
(begin | |
'copying-mergesort | |
(if (unsafe-fx= n_2 1) | |
(let-values () | |
(unsafe-vector-set! A_0 Blo_0 (unsafe-vector-ref A_0 Alo_0))) | |
(if (unsafe-fx= n_2 2) | |
(let-values () | |
(let-values (((x_0) (unsafe-vector-ref A_0 Alo_0)) | |
((y_0) | |
(unsafe-vector-ref A_0 (unsafe-fx+ Alo_0 1)))) | |
(if (less-than?_0 y_0 x_0) | |
(begin | |
(unsafe-vector-set! A_0 Blo_0 y_0) | |
(unsafe-vector-set! A_0 (unsafe-fx+ Blo_0 1) x_0)) | |
(begin | |
(unsafe-vector-set! A_0 Blo_0 x_0) | |
(unsafe-vector-set! A_0 (unsafe-fx+ Blo_0 1) y_0))))) | |
(if (unsafe-fx< n_2 16) | |
(let-values () | |
(begin | |
(unsafe-vector-set! | |
A_0 | |
Blo_0 | |
(unsafe-vector-ref A_0 Alo_0)) | |
((letrec-values (((iloop_0) | |
(lambda (i_4) | |
(begin | |
'iloop | |
(if (unsafe-fx< i_4 n_2) | |
(let-values () | |
(let-values (((ref-i_0) | |
(unsafe-vector-ref | |
A_0 | |
(unsafe-fx+ | |
Alo_0 | |
i_4)))) | |
((letrec-values (((jloop_0) | |
(lambda (j_0) | |
(begin | |
'jloop | |
(let-values (((ref-j-1_0) | |
(unsafe-vector-ref | |
A_0 | |
(unsafe-fx- | |
j_0 | |
1)))) | |
(if (if (unsafe-fx< | |
Blo_0 | |
j_0) | |
(less-than?_0 | |
ref-i_0 | |
ref-j-1_0) | |
#f) | |
(begin | |
(unsafe-vector-set! | |
A_0 | |
j_0 | |
ref-j-1_0) | |
(jloop_0 | |
(unsafe-fx- | |
j_0 | |
1))) | |
(begin | |
(unsafe-vector-set! | |
A_0 | |
j_0 | |
ref-i_0) | |
(iloop_0 | |
(unsafe-fx+ | |
i_4 | |
1))))))))) | |
jloop_0) | |
(unsafe-fx+ Blo_0 i_4)))) | |
(void)))))) | |
iloop_0) | |
1))) | |
(let-values () | |
(let-values (((n/2-_1) (unsafe-fxrshift n_2 1))) | |
(let-values (((n/2+_1) (unsafe-fx- n_2 n/2-_1))) | |
(let-values (((Amid1_0) (unsafe-fx+ Alo_0 n/2-_1)) | |
((Amid2_0) (unsafe-fx+ Alo_0 n/2+_1)) | |
((Bmid1_0) (unsafe-fx+ Blo_0 n/2-_1))) | |
(begin | |
(copying-mergesort_0 Amid1_0 Bmid1_0 n/2+_1) | |
(copying-mergesort_0 Alo_0 Amid2_0 n/2-_1) | |
(let-values (((b2_0) (unsafe-fx+ Blo_0 n_2))) | |
((letrec-values (((loop_10) | |
(lambda (a1_0 b1_0 c1_0) | |
(begin | |
'loop | |
(let-values (((x_1) | |
(unsafe-vector-ref | |
A_0 | |
a1_0)) | |
((y_1) | |
(unsafe-vector-ref | |
A_0 | |
b1_0))) | |
(if (not | |
(less-than?_0 | |
y_1 | |
x_1)) | |
(begin | |
(unsafe-vector-set! | |
A_0 | |
c1_0 | |
x_1) | |
(let-values (((a1_1) | |
(unsafe-fx+ | |
a1_0 | |
1)) | |
((c1_1) | |
(unsafe-fx+ | |
c1_0 | |
1))) | |
(if (unsafe-fx< | |
c1_1 | |
b1_0) | |
(let-values () | |
(loop_10 | |
a1_1 | |
b1_0 | |
c1_1)) | |
(void)))) | |
(begin | |
(unsafe-vector-set! | |
A_0 | |
c1_0 | |
y_1) | |
(let-values (((b1_1) | |
(unsafe-fx+ | |
b1_0 | |
1)) | |
((c1_2) | |
(unsafe-fx+ | |
c1_0 | |
1))) | |
(if (unsafe-fx<= | |
b2_0 | |
b1_1) | |
((letrec-values (((loop_11) | |
(lambda (a1_2 | |
c1_3) | |
(begin | |
'loop | |
(if (unsafe-fx< | |
c1_3 | |
b1_1) | |
(let-values () | |
(begin | |
(unsafe-vector-set! | |
A_0 | |
c1_3 | |
(unsafe-vector-ref | |
A_0 | |
a1_2)) | |
(loop_11 | |
(unsafe-fx+ | |
a1_2 | |
1) | |
(unsafe-fx+ | |
c1_3 | |
1)))) | |
(void)))))) | |
loop_11) | |
a1_0 | |
c1_2) | |
(loop_10 | |
a1_0 | |
b1_1 | |
c1_2)))))))))) | |
loop_10) | |
Amid2_0 | |
Bmid1_0 | |
Blo_0)))))))))))))) | |
(let-values (((Alo_1) 0) | |
((Amid1_1) n/2-_0) | |
((Amid2_1) n/2+_0) | |
((Ahi_0) n_1) | |
((B1lo_0) n_1)) | |
(begin | |
(copying-mergesort_0 Amid1_1 B1lo_0 n/2+_0) | |
(if (zero? n/2-_0) | |
(void) | |
(let-values () (copying-mergesort_0 Alo_1 Amid2_1 n/2-_0))) | |
(let-values (((b2_1) Ahi_0)) | |
((letrec-values (((loop_12) | |
(lambda (a1_3 b1_2 c1_4) | |
(begin | |
'loop | |
(let-values (((x_2) (unsafe-vector-ref A_0 a1_3)) | |
((y_2) (unsafe-vector-ref A_0 b1_2))) | |
(if (less-than?_0 x_2 y_2) | |
(begin | |
(unsafe-vector-set! A_0 c1_4 x_2) | |
(let-values (((a1_4) (unsafe-fx+ a1_3 1)) | |
((c1_5) (unsafe-fx+ c1_4 1))) | |
(if (unsafe-fx< c1_5 b1_2) | |
(let-values () (loop_12 a1_4 b1_2 c1_5)) | |
(void)))) | |
(begin | |
(unsafe-vector-set! A_0 c1_4 y_2) | |
(let-values (((b1_3) (unsafe-fx+ b1_2 1)) | |
((c1_6) (unsafe-fx+ c1_4 1))) | |
(if (unsafe-fx<= b2_1 b1_3) | |
((letrec-values (((loop_13) | |
(lambda (a1_5 c1_7) | |
(begin | |
'loop | |
(if (unsafe-fx< c1_7 b1_3) | |
(let-values () | |
(begin | |
(unsafe-vector-set! | |
A_0 | |
c1_7 | |
(unsafe-vector-ref | |
A_0 | |
a1_5)) | |
(loop_13 | |
(unsafe-fx+ a1_5 1) | |
(unsafe-fx+ | |
c1_7 | |
1)))) | |
(void)))))) | |
loop_13) | |
a1_3 | |
c1_6) | |
(loop_12 a1_3 b1_3 c1_6)))))))))) | |
loop_12) | |
B1lo_0 | |
Amid2_1 | |
Alo_1))))))))))))) | |
(let-values (((generic-sort/key_0) | |
(lambda (A_1 less-than?_1 n_3 key_6) | |
(begin | |
'generic-sort/key | |
(let-values () | |
(let-values () | |
(let-values (((n/2-_2) (unsafe-fxrshift n_3 1))) | |
(let-values (((n/2+_2) (unsafe-fx- n_3 n/2-_2))) | |
(letrec-values (((copying-mergesort_1) | |
(lambda (Alo_2 Blo_1 n_4) | |
(begin | |
'copying-mergesort | |
(if (unsafe-fx= n_4 1) | |
(let-values () | |
(unsafe-vector-set! A_1 Blo_1 (unsafe-vector-ref A_1 Alo_2))) | |
(if (unsafe-fx= n_4 2) | |
(let-values () | |
(let-values (((x_3) (unsafe-vector-ref A_1 Alo_2)) | |
((y_3) | |
(unsafe-vector-ref A_1 (unsafe-fx+ Alo_2 1)))) | |
(if (if key_6 | |
(less-than?_1 (key_6 y_3) (key_6 x_3)) | |
(less-than?_1 y_3 x_3)) | |
(begin | |
(unsafe-vector-set! A_1 Blo_1 y_3) | |
(unsafe-vector-set! A_1 (unsafe-fx+ Blo_1 1) x_3)) | |
(begin | |
(unsafe-vector-set! A_1 Blo_1 x_3) | |
(unsafe-vector-set! A_1 (unsafe-fx+ Blo_1 1) y_3))))) | |
(if (unsafe-fx< n_4 16) | |
(let-values () | |
(begin | |
(unsafe-vector-set! | |
A_1 | |
Blo_1 | |
(unsafe-vector-ref A_1 Alo_2)) | |
((letrec-values (((iloop_1) | |
(lambda (i_5) | |
(begin | |
'iloop | |
(if (unsafe-fx< i_5 n_4) | |
(let-values () | |
(let-values (((ref-i_1) | |
(unsafe-vector-ref | |
A_1 | |
(unsafe-fx+ | |
Alo_2 | |
i_5)))) | |
((letrec-values (((jloop_1) | |
(lambda (j_1) | |
(begin | |
'jloop | |
(let-values (((ref-j-1_1) | |
(unsafe-vector-ref | |
A_1 | |
(unsafe-fx- | |
j_1 | |
1)))) | |
(if (if (unsafe-fx< | |
Blo_1 | |
j_1) | |
(if key_6 | |
(less-than?_1 | |
(key_6 | |
ref-i_1) | |
(key_6 | |
ref-j-1_1)) | |
(less-than?_1 | |
ref-i_1 | |
ref-j-1_1)) | |
#f) | |
(begin | |
(unsafe-vector-set! | |
A_1 | |
j_1 | |
ref-j-1_1) | |
(jloop_1 | |
(unsafe-fx- | |
j_1 | |
1))) | |
(begin | |
(unsafe-vector-set! | |
A_1 | |
j_1 | |
ref-i_1) | |
(iloop_1 | |
(unsafe-fx+ | |
i_5 | |
1))))))))) | |
jloop_1) | |
(unsafe-fx+ Blo_1 i_5)))) | |
(void)))))) | |
iloop_1) | |
1))) | |
(let-values () | |
(let-values (((n/2-_3) (unsafe-fxrshift n_4 1))) | |
(let-values (((n/2+_3) (unsafe-fx- n_4 n/2-_3))) | |
(let-values (((Amid1_2) (unsafe-fx+ Alo_2 n/2-_3)) | |
((Amid2_2) (unsafe-fx+ Alo_2 n/2+_3)) | |
((Bmid1_1) (unsafe-fx+ Blo_1 n/2-_3))) | |
(begin | |
(copying-mergesort_1 Amid1_2 Bmid1_1 n/2+_3) | |
(copying-mergesort_1 Alo_2 Amid2_2 n/2-_3) | |
(let-values (((b2_2) (unsafe-fx+ Blo_1 n_4))) | |
((letrec-values (((loop_14) | |
(lambda (a1_6 b1_4 c1_8) | |
(begin | |
'loop | |
(let-values (((x_4) | |
(unsafe-vector-ref | |
A_1 | |
a1_6)) | |
((y_4) | |
(unsafe-vector-ref | |
A_1 | |
b1_4))) | |
(if (not | |
(if key_6 | |
(less-than?_1 | |
(key_6 y_4) | |
(key_6 x_4)) | |
(less-than?_1 | |
y_4 | |
x_4))) | |
(begin | |
(unsafe-vector-set! | |
A_1 | |
c1_8 | |
x_4) | |
(let-values (((a1_7) | |
(unsafe-fx+ | |
a1_6 | |
1)) | |
((c1_9) | |
(unsafe-fx+ | |
c1_8 | |
1))) | |
(if (unsafe-fx< | |
c1_9 | |
b1_4) | |
(let-values () | |
(loop_14 | |
a1_7 | |
b1_4 | |
c1_9)) | |
(void)))) | |
(begin | |
(unsafe-vector-set! | |
A_1 | |
c1_8 | |
y_4) | |
(let-values (((b1_5) | |
(unsafe-fx+ | |
b1_4 | |
1)) | |
((c1_10) | |
(unsafe-fx+ | |
c1_8 | |
1))) | |
(if (unsafe-fx<= | |
b2_2 | |
b1_5) | |
((letrec-values (((loop_15) | |
(lambda (a1_8 | |
c1_11) | |
(begin | |
'loop | |
(if (unsafe-fx< | |
c1_11 | |
b1_5) | |
(let-values () | |
(begin | |
(unsafe-vector-set! | |
A_1 | |
c1_11 | |
(unsafe-vector-ref | |
A_1 | |
a1_8)) | |
(loop_15 | |
(unsafe-fx+ | |
a1_8 | |
1) | |
(unsafe-fx+ | |
c1_11 | |
1)))) | |
(void)))))) | |
loop_15) | |
a1_6 | |
c1_10) | |
(loop_14 | |
a1_6 | |
b1_5 | |
c1_10)))))))))) | |
loop_14) | |
Amid2_2 | |
Bmid1_1 | |
Blo_1)))))))))))))) | |
(let-values (((Alo_3) 0) | |
((Amid1_3) n/2-_2) | |
((Amid2_3) n/2+_2) | |
((Ahi_1) n_3) | |
((B1lo_1) n_3)) | |
(begin | |
(copying-mergesort_1 Amid1_3 B1lo_1 n/2+_2) | |
(if (zero? n/2-_2) | |
(void) | |
(let-values () (copying-mergesort_1 Alo_3 Amid2_3 n/2-_2))) | |
(let-values (((b2_3) Ahi_1)) | |
((letrec-values (((loop_16) | |
(lambda (a1_9 b1_6 c1_12) | |
(begin | |
'loop | |
(let-values (((x_5) (unsafe-vector-ref A_1 a1_9)) | |
((y_5) (unsafe-vector-ref A_1 b1_6))) | |
(if (if key_6 | |
(less-than?_1 (key_6 x_5) (key_6 y_5)) | |
(less-than?_1 x_5 y_5)) | |
(begin | |
(unsafe-vector-set! A_1 c1_12 x_5) | |
(let-values (((a1_10) (unsafe-fx+ a1_9 1)) | |
((c1_13) (unsafe-fx+ c1_12 1))) | |
(if (unsafe-fx< c1_13 b1_6) | |
(let-values () (loop_16 a1_10 b1_6 c1_13)) | |
(void)))) | |
(begin | |
(unsafe-vector-set! A_1 c1_12 y_5) | |
(let-values (((b1_7) (unsafe-fx+ b1_6 1)) | |
((c1_14) (unsafe-fx+ c1_12 1))) | |
(if (unsafe-fx<= b2_3 b1_7) | |
((letrec-values (((loop_17) | |
(lambda (a1_11 c1_15) | |
(begin | |
'loop | |
(if (unsafe-fx< | |
c1_15 | |
b1_7) | |
(let-values () | |
(begin | |
(unsafe-vector-set! | |
A_1 | |
c1_15 | |
(unsafe-vector-ref | |
A_1 | |
a1_11)) | |
(loop_17 | |
(unsafe-fx+ | |
a1_11 | |
1) | |
(unsafe-fx+ | |
c1_15 | |
1)))) | |
(void)))))) | |
loop_17) | |
a1_9 | |
c1_14) | |
(loop_16 a1_9 b1_7 c1_14)))))))))) | |
loop_16) | |
B1lo_1 | |
Amid2_3 | |
Alo_3))))))))))))) | |
(values | |
(case-lambda | |
((lst_0 less-than?_2) | |
(let-values (((n_5) (length lst_0))) | |
(let-values () | |
(if (unsafe-fx= n_5 0) | |
(let-values () lst_0) | |
(if ((letrec-values (((loop_18) | |
(lambda (last_0 next_1) | |
(begin | |
'loop | |
(let-values (((or-part_15) (null? next_1))) | |
(if or-part_15 | |
or-part_15 | |
(if (not (less-than?_2 (unsafe-car next_1) last_0)) | |
(loop_18 (unsafe-car next_1) (unsafe-cdr next_1)) | |
#f))))))) | |
loop_18) | |
(car lst_0) | |
(cdr lst_0)) | |
(let-values () lst_0) | |
(if (unsafe-fx<= n_5 3) | |
(let-values () | |
(if (unsafe-fx= n_5 1) | |
(let-values () lst_0) | |
(if (unsafe-fx= n_5 2) | |
(let-values () (list (cadr lst_0) (car lst_0))) | |
(let-values () | |
(let-values (((a_3) (car lst_0)) ((b_1) (cadr lst_0)) ((c_1) (caddr lst_0))) | |
(if (less-than?_2 b_1 a_3) | |
(if (less-than?_2 c_1 b_1) | |
(list c_1 b_1 a_3) | |
(if (less-than?_2 c_1 a_3) (list b_1 c_1 a_3) (list b_1 a_3 c_1))) | |
(if (less-than?_2 c_1 a_3) (list c_1 a_3 b_1) (list a_3 c_1 b_1)))))))) | |
(let-values () | |
(let-values (((vec_0) (make-vector (+ n_5 (ceiling (/ n_5 2)))))) | |
(begin | |
((letrec-values (((loop_19) | |
(lambda (i_6 lst_1) | |
(begin | |
'loop | |
(if (pair? lst_1) | |
(let-values () | |
(begin | |
(vector-set! vec_0 i_6 (car lst_1)) | |
(loop_19 (add1 i_6) (cdr lst_1)))) | |
(void)))))) | |
loop_19) | |
0 | |
lst_0) | |
(generic-sort_0 vec_0 less-than?_2 n_5) | |
((letrec-values (((loop_20) | |
(lambda (i_7 r_0) | |
(begin | |
'loop | |
(let-values (((i_8) (sub1 i_7))) | |
(if (< i_8 0) | |
r_0 | |
(loop_20 i_8 (cons (vector-ref vec_0 i_8) r_0)))))))) | |
loop_20) | |
n_5 | |
'())))))))))) | |
((lst_2 less-than?_3 getkey_0) | |
(if (if getkey_0 (not (eq? values getkey_0)) #f) | |
(sort lst_2 less-than?_3 getkey_0 #f) | |
(sort lst_2 less-than?_3))) | |
((lst_3 less-than?_4 getkey_1 cache-keys?_0) | |
(if (if getkey_1 (not (eq? values getkey_1)) #f) | |
(let-values (((n_6) (length lst_3))) | |
(let-values () | |
(if (unsafe-fx= n_6 0) | |
(let-values () lst_3) | |
(if cache-keys?_0 | |
(let-values () | |
(let-values (((vec_1) (make-vector (+ n_6 (ceiling (/ n_6 2)))))) | |
(begin | |
((letrec-values (((loop_21) | |
(lambda (i_9 lst_4) | |
(begin | |
'loop | |
(if (pair? lst_4) | |
(let-values () | |
(let-values (((x_6) (car lst_4))) | |
(begin | |
(unsafe-vector-set! vec_1 i_9 (cons (getkey_1 x_6) x_6)) | |
(loop_21 (unsafe-fx+ i_9 1) (cdr lst_4))))) | |
(void)))))) | |
loop_21) | |
0 | |
lst_3) | |
(generic-sort/key_0 vec_1 less-than?_4 n_6 unsafe-car) | |
((letrec-values (((loop_22) | |
(lambda (i_10 r_1) | |
(begin | |
'loop | |
(let-values (((i_11) (unsafe-fx- i_10 1))) | |
(if (unsafe-fx< i_11 0) | |
r_1 | |
(loop_22 | |
i_11 | |
(cons (unsafe-cdr (unsafe-vector-ref vec_1 i_11)) r_1)))))))) | |
loop_22) | |
n_6 | |
'())))) | |
(if ((letrec-values (((loop_23) | |
(lambda (last_1 next_2) | |
(begin | |
'loop | |
(let-values (((or-part_16) (null? next_2))) | |
(if or-part_16 | |
or-part_16 | |
(if (not | |
(if getkey_1 | |
(less-than?_4 | |
(getkey_1 (unsafe-car next_2)) | |
(getkey_1 last_1)) | |
(less-than?_4 (unsafe-car next_2) last_1))) | |
(loop_23 (unsafe-car next_2) (unsafe-cdr next_2)) | |
#f))))))) | |
loop_23) | |
(car lst_3) | |
(cdr lst_3)) | |
(let-values () lst_3) | |
(if (unsafe-fx<= n_6 3) | |
(let-values () | |
(if (unsafe-fx= n_6 1) | |
(let-values () lst_3) | |
(if (unsafe-fx= n_6 2) | |
(let-values () (list (cadr lst_3) (car lst_3))) | |
(let-values () | |
(let-values (((a_4) (car lst_3)) ((b_2) (cadr lst_3)) ((c_2) (caddr lst_3))) | |
(if (if getkey_1 (less-than?_4 (getkey_1 b_2) (getkey_1 a_4)) (less-than?_4 b_2 a_4)) | |
(if (if getkey_1 | |
(less-than?_4 (getkey_1 c_2) (getkey_1 b_2)) | |
(less-than?_4 c_2 b_2)) | |
(list c_2 b_2 a_4) | |
(if (if getkey_1 | |
(less-than?_4 (getkey_1 c_2) (getkey_1 a_4)) | |
(less-than?_4 c_2 a_4)) | |
(list b_2 c_2 a_4) | |
(list b_2 a_4 c_2))) | |
(if (if getkey_1 | |
(less-than?_4 (getkey_1 c_2) (getkey_1 a_4)) | |
(less-than?_4 c_2 a_4)) | |
(list c_2 a_4 b_2) | |
(list a_4 c_2 b_2)))))))) | |
(let-values () | |
(let-values (((vec_2) (make-vector (+ n_6 (ceiling (/ n_6 2)))))) | |
(begin | |
((letrec-values (((loop_24) | |
(lambda (i_12 lst_5) | |
(begin | |
'loop | |
(if (pair? lst_5) | |
(let-values () | |
(begin | |
(vector-set! vec_2 i_12 (car lst_5)) | |
(loop_24 (add1 i_12) (cdr lst_5)))) | |
(void)))))) | |
loop_24) | |
0 | |
lst_3) | |
(generic-sort/key_0 vec_2 less-than?_4 n_6 getkey_1) | |
((letrec-values (((loop_25) | |
(lambda (i_13 r_2) | |
(begin | |
'loop | |
(let-values (((i_14) (sub1 i_13))) | |
(if (< i_14 0) | |
r_2 | |
(loop_25 i_14 (cons (vector-ref vec_2 i_14) r_2)))))))) | |
loop_25) | |
n_6 | |
'())))))))))) | |
(sort lst_3 less-than?_4)))) | |
(case-lambda | |
((vec_3 less-than?_5 start_0 end_0) | |
(let-values (((n_7) (- end_0 start_0))) | |
(let-values (((dst-vec_0) (make-vector n_7))) | |
(let-values (((dst-start_0) 0)) | |
(begin | |
(if (unsafe-fx= n_7 0) | |
(let-values () (void)) | |
(if ((letrec-values (((loop_26) | |
(lambda (prev-val_0 next-index_0) | |
(begin | |
'loop | |
(let-values (((or-part_17) (unsafe-fx= next-index_0 end_0))) | |
(if or-part_17 | |
or-part_17 | |
(let-values (((next-val_0) (unsafe-vector-ref vec_3 next-index_0))) | |
(if (not (less-than?_5 next-val_0 prev-val_0)) | |
(loop_26 next-val_0 (unsafe-fx+ next-index_0 1)) | |
#f)))))))) | |
loop_26) | |
(unsafe-vector-ref vec_3 start_0) | |
(unsafe-fx+ start_0 1)) | |
(let-values () (let-values () (vector-copy! dst-vec_0 dst-start_0 vec_3 start_0 end_0))) | |
(if (unsafe-fx<= n_7 3) | |
(let-values () | |
(begin | |
(let-values () (vector-copy! dst-vec_0 dst-start_0 vec_3 start_0 end_0)) | |
(if (unsafe-fx= n_7 1) | |
(let-values () (void)) | |
(if (unsafe-fx= n_7 2) | |
(let-values () | |
(let-values (((tmp_0) (unsafe-vector-ref dst-vec_0 (unsafe-fx+ dst-start_0 0)))) | |
(begin | |
(unsafe-vector-set! | |
dst-vec_0 | |
(unsafe-fx+ dst-start_0 0) | |
(unsafe-vector-ref dst-vec_0 (unsafe-fx+ dst-start_0 1))) | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 1) tmp_0)))) | |
(let-values () | |
(let-values (((a_5) (unsafe-vector-ref dst-vec_0 (unsafe-fx+ dst-start_0 0))) | |
((b_3) (unsafe-vector-ref dst-vec_0 (unsafe-fx+ dst-start_0 1))) | |
((c_3) (unsafe-vector-ref dst-vec_0 (unsafe-fx+ dst-start_0 2)))) | |
(if (less-than?_5 b_3 a_5) | |
(let-values () | |
(if (less-than?_5 c_3 b_3) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 0) c_3) | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 2) a_5))) | |
(if (less-than?_5 c_3 a_5) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 0) b_3) | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 1) c_3) | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 2) a_5))) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 0) b_3) | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 1) a_5)))))) | |
(if (less-than?_5 c_3 a_5) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 0) c_3) | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 1) a_5) | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 2) b_3))) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 1) c_3) | |
(unsafe-vector-set! dst-vec_0 (unsafe-fx+ dst-start_0 2) b_3))))))))))) | |
(let-values () | |
(let-values (((work-vec_0) (make-vector (+ n_7 (ceiling (/ n_7 2))) #f))) | |
(begin | |
(vector-copy! work-vec_0 0 vec_3 start_0 end_0) | |
(generic-sort_0 work-vec_0 less-than?_5 n_7) | |
(vector-copy! dst-vec_0 dst-start_0 work-vec_0 0 n_7))))))) | |
dst-vec_0))))) | |
((vec_4 less-than?_6 start_1 end_1 getkey_2 cache-keys?_1) | |
(if (if getkey_2 (not (eq? values getkey_2)) #f) | |
(let-values (((n_8) (- end_1 start_1))) | |
(let-values (((dst-vec_1) (make-vector n_8))) | |
(let-values (((dst-start_1) 0)) | |
(begin | |
(if (unsafe-fx= n_8 0) | |
(let-values () (void)) | |
(if cache-keys?_1 | |
(let-values () | |
(let-values (((work-vec_1) (make-vector (+ n_8 (ceiling (/ n_8 2))) #t))) | |
(begin | |
((letrec-values (((loop_27) | |
(lambda (i_15) | |
(begin | |
'loop | |
(if (unsafe-fx< i_15 n_8) | |
(let-values () | |
(begin | |
(let-values (((x_7) | |
(unsafe-vector-ref | |
vec_4 | |
(unsafe-fx+ i_15 start_1)))) | |
(unsafe-vector-set! | |
work-vec_1 | |
i_15 | |
(cons (getkey_2 x_7) x_7))) | |
(loop_27 (unsafe-fx+ i_15 1)))) | |
(void)))))) | |
loop_27) | |
0) | |
(generic-sort/key_0 work-vec_1 less-than?_6 n_8 unsafe-car) | |
((letrec-values (((loop_28) | |
(lambda (i_16) | |
(begin | |
'loop | |
(if (unsafe-fx< i_16 n_8) | |
(let-values () | |
(begin | |
(unsafe-vector-set! | |
dst-vec_1 | |
(unsafe-fx+ i_16 dst-start_1) | |
(unsafe-cdr (unsafe-vector-ref work-vec_1 i_16))) | |
(loop_28 (unsafe-fx+ i_16 1)))) | |
(void)))))) | |
loop_28) | |
0)))) | |
(if ((letrec-values (((loop_29) | |
(lambda (prev-val_1 next-index_1) | |
(begin | |
'loop | |
(let-values (((or-part_18) (unsafe-fx= next-index_1 end_1))) | |
(if or-part_18 | |
or-part_18 | |
(let-values (((next-val_1) | |
(unsafe-vector-ref vec_4 next-index_1))) | |
(if (not | |
(if getkey_2 | |
(less-than?_6 | |
(getkey_2 next-val_1) | |
(getkey_2 prev-val_1)) | |
(less-than?_6 next-val_1 prev-val_1))) | |
(loop_29 next-val_1 (unsafe-fx+ next-index_1 1)) | |
#f)))))))) | |
loop_29) | |
(unsafe-vector-ref vec_4 start_1) | |
(unsafe-fx+ start_1 1)) | |
(let-values () (let-values () (vector-copy! dst-vec_1 dst-start_1 vec_4 start_1 end_1))) | |
(if (unsafe-fx<= n_8 3) | |
(let-values () | |
(begin | |
(let-values () (vector-copy! dst-vec_1 dst-start_1 vec_4 start_1 end_1)) | |
(if (unsafe-fx= n_8 1) | |
(let-values () (void)) | |
(if (unsafe-fx= n_8 2) | |
(let-values () | |
(let-values (((tmp_1) (unsafe-vector-ref dst-vec_1 (unsafe-fx+ dst-start_1 0)))) | |
(begin | |
(unsafe-vector-set! | |
dst-vec_1 | |
(unsafe-fx+ dst-start_1 0) | |
(unsafe-vector-ref dst-vec_1 (unsafe-fx+ dst-start_1 1))) | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 1) tmp_1)))) | |
(let-values () | |
(let-values (((a_6) (unsafe-vector-ref dst-vec_1 (unsafe-fx+ dst-start_1 0))) | |
((b_4) (unsafe-vector-ref dst-vec_1 (unsafe-fx+ dst-start_1 1))) | |
((c_4) (unsafe-vector-ref dst-vec_1 (unsafe-fx+ dst-start_1 2)))) | |
(if (if getkey_2 | |
(less-than?_6 (getkey_2 b_4) (getkey_2 a_6)) | |
(less-than?_6 b_4 a_6)) | |
(let-values () | |
(if (if getkey_2 | |
(less-than?_6 (getkey_2 c_4) (getkey_2 b_4)) | |
(less-than?_6 c_4 b_4)) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 0) c_4) | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 2) a_6))) | |
(if (if getkey_2 | |
(less-than?_6 (getkey_2 c_4) (getkey_2 a_6)) | |
(less-than?_6 c_4 a_6)) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 0) b_4) | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 1) c_4) | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 2) a_6))) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 0) b_4) | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 1) a_6)))))) | |
(if (if getkey_2 | |
(less-than?_6 (getkey_2 c_4) (getkey_2 a_6)) | |
(less-than?_6 c_4 a_6)) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 0) c_4) | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 1) a_6) | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 2) b_4))) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 1) c_4) | |
(unsafe-vector-set! dst-vec_1 (unsafe-fx+ dst-start_1 2) b_4))))))))))) | |
(let-values () | |
(let-values (((work-vec_2) (make-vector (+ n_8 (ceiling (/ n_8 2))) #f))) | |
(begin | |
(vector-copy! work-vec_2 0 vec_4 start_1 end_1) | |
(generic-sort/key_0 work-vec_2 less-than?_6 n_8 getkey_2) | |
(vector-copy! dst-vec_1 dst-start_1 work-vec_2 0 n_8)))))))) | |
dst-vec_1)))) | |
(vector-sort vec_4 less-than?_6 start_1 end_1)))) | |
(case-lambda | |
((vec_5 less-than?_7 start_2 end_2) | |
(let-values (((n_9) (- end_2 start_2))) | |
(let-values (((dst-vec_2) vec_5)) | |
(let-values (((dst-start_2) start_2)) | |
(begin | |
(if (unsafe-fx= n_9 0) | |
(let-values () (void)) | |
(if ((letrec-values (((loop_30) | |
(lambda (prev-val_2 next-index_2) | |
(begin | |
'loop | |
(let-values (((or-part_19) (unsafe-fx= next-index_2 end_2))) | |
(if or-part_19 | |
or-part_19 | |
(let-values (((next-val_2) (unsafe-vector-ref vec_5 next-index_2))) | |
(if (not (less-than?_7 next-val_2 prev-val_2)) | |
(loop_30 next-val_2 (unsafe-fx+ next-index_2 1)) | |
#f)))))))) | |
loop_30) | |
(unsafe-vector-ref vec_5 start_2) | |
(unsafe-fx+ start_2 1)) | |
(let-values () (void)) | |
(if (unsafe-fx<= n_9 3) | |
(let-values () | |
(begin | |
(void) | |
(if (unsafe-fx= n_9 1) | |
(let-values () (void)) | |
(if (unsafe-fx= n_9 2) | |
(let-values () | |
(let-values (((tmp_2) (unsafe-vector-ref dst-vec_2 (unsafe-fx+ dst-start_2 0)))) | |
(begin | |
(unsafe-vector-set! | |
dst-vec_2 | |
(unsafe-fx+ dst-start_2 0) | |
(unsafe-vector-ref dst-vec_2 (unsafe-fx+ dst-start_2 1))) | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 1) tmp_2)))) | |
(let-values () | |
(let-values (((a_7) (unsafe-vector-ref dst-vec_2 (unsafe-fx+ dst-start_2 0))) | |
((b_5) (unsafe-vector-ref dst-vec_2 (unsafe-fx+ dst-start_2 1))) | |
((c_5) (unsafe-vector-ref dst-vec_2 (unsafe-fx+ dst-start_2 2)))) | |
(if (less-than?_7 b_5 a_7) | |
(let-values () | |
(if (less-than?_7 c_5 b_5) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 0) c_5) | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 2) a_7))) | |
(if (less-than?_7 c_5 a_7) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 0) b_5) | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 1) c_5) | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 2) a_7))) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 0) b_5) | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 1) a_7)))))) | |
(if (less-than?_7 c_5 a_7) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 0) c_5) | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 1) a_7) | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 2) b_5))) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 1) c_5) | |
(unsafe-vector-set! dst-vec_2 (unsafe-fx+ dst-start_2 2) b_5))))))))))) | |
(let-values () | |
(let-values (((work-vec_3) (make-vector (+ n_9 (ceiling (/ n_9 2))) #f))) | |
(begin | |
(vector-copy! work-vec_3 0 vec_5 start_2 end_2) | |
(generic-sort_0 work-vec_3 less-than?_7 n_9) | |
(vector-copy! dst-vec_2 dst-start_2 work-vec_3 0 n_9))))))) | |
(void)))))) | |
((vec_6 less-than?_8 start_3 end_3 getkey_3 cache-keys?_2) | |
(if (if getkey_3 (not (eq? values getkey_3)) #f) | |
(let-values (((n_10) (- end_3 start_3))) | |
(let-values (((dst-vec_3) vec_6)) | |
(let-values (((dst-start_3) start_3)) | |
(begin | |
(if (unsafe-fx= n_10 0) | |
(let-values () (void)) | |
(if cache-keys?_2 | |
(let-values () | |
(let-values (((work-vec_4) (make-vector (+ n_10 (ceiling (/ n_10 2))) #t))) | |
(begin | |
((letrec-values (((loop_31) | |
(lambda (i_17) | |
(begin | |
'loop | |
(if (unsafe-fx< i_17 n_10) | |
(let-values () | |
(begin | |
(let-values (((x_8) | |
(unsafe-vector-ref | |
vec_6 | |
(unsafe-fx+ i_17 start_3)))) | |
(unsafe-vector-set! | |
work-vec_4 | |
i_17 | |
(cons (getkey_3 x_8) x_8))) | |
(loop_31 (unsafe-fx+ i_17 1)))) | |
(void)))))) | |
loop_31) | |
0) | |
(generic-sort/key_0 work-vec_4 less-than?_8 n_10 unsafe-car) | |
((letrec-values (((loop_32) | |
(lambda (i_18) | |
(begin | |
'loop | |
(if (unsafe-fx< i_18 n_10) | |
(let-values () | |
(begin | |
(unsafe-vector-set! | |
dst-vec_3 | |
(unsafe-fx+ i_18 dst-start_3) | |
(unsafe-cdr (unsafe-vector-ref work-vec_4 i_18))) | |
(loop_32 (unsafe-fx+ i_18 1)))) | |
(void)))))) | |
loop_32) | |
0)))) | |
(if ((letrec-values (((loop_33) | |
(lambda (prev-val_3 next-index_3) | |
(begin | |
'loop | |
(let-values (((or-part_20) (unsafe-fx= next-index_3 end_3))) | |
(if or-part_20 | |
or-part_20 | |
(let-values (((next-val_3) | |
(unsafe-vector-ref vec_6 next-index_3))) | |
(if (not | |
(if getkey_3 | |
(less-than?_8 | |
(getkey_3 next-val_3) | |
(getkey_3 prev-val_3)) | |
(less-than?_8 next-val_3 prev-val_3))) | |
(loop_33 next-val_3 (unsafe-fx+ next-index_3 1)) | |
#f)))))))) | |
loop_33) | |
(unsafe-vector-ref vec_6 start_3) | |
(unsafe-fx+ start_3 1)) | |
(let-values () (void)) | |
(if (unsafe-fx<= n_10 3) | |
(let-values () | |
(begin | |
(void) | |
(if (unsafe-fx= n_10 1) | |
(let-values () (void)) | |
(if (unsafe-fx= n_10 2) | |
(let-values () | |
(let-values (((tmp_3) (unsafe-vector-ref dst-vec_3 (unsafe-fx+ dst-start_3 0)))) | |
(begin | |
(unsafe-vector-set! | |
dst-vec_3 | |
(unsafe-fx+ dst-start_3 0) | |
(unsafe-vector-ref dst-vec_3 (unsafe-fx+ dst-start_3 1))) | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 1) tmp_3)))) | |
(let-values () | |
(let-values (((a_8) (unsafe-vector-ref dst-vec_3 (unsafe-fx+ dst-start_3 0))) | |
((b_6) (unsafe-vector-ref dst-vec_3 (unsafe-fx+ dst-start_3 1))) | |
((c_6) (unsafe-vector-ref dst-vec_3 (unsafe-fx+ dst-start_3 2)))) | |
(if (if getkey_3 | |
(less-than?_8 (getkey_3 b_6) (getkey_3 a_8)) | |
(less-than?_8 b_6 a_8)) | |
(let-values () | |
(if (if getkey_3 | |
(less-than?_8 (getkey_3 c_6) (getkey_3 b_6)) | |
(less-than?_8 c_6 b_6)) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 0) c_6) | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 2) a_8))) | |
(if (if getkey_3 | |
(less-than?_8 (getkey_3 c_6) (getkey_3 a_8)) | |
(less-than?_8 c_6 a_8)) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 0) b_6) | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 1) c_6) | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 2) a_8))) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 0) b_6) | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 1) a_8)))))) | |
(if (if getkey_3 | |
(less-than?_8 (getkey_3 c_6) (getkey_3 a_8)) | |
(less-than?_8 c_6 a_8)) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 0) c_6) | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 1) a_8) | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 2) b_6))) | |
(let-values () | |
(begin | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 1) c_6) | |
(unsafe-vector-set! dst-vec_3 (unsafe-fx+ dst-start_3 2) b_6))))))))))) | |
(let-values () | |
(let-values (((work-vec_5) (make-vector (+ n_10 (ceiling (/ n_10 2))) #f))) | |
(begin | |
(vector-copy! work-vec_5 0 vec_6 start_3 end_3) | |
(generic-sort/key_0 work-vec_5 less-than?_8 n_10 getkey_3) | |
(vector-copy! dst-vec_3 dst-start_3 work-vec_5 0 n_10)))))))) | |
(void))))) | |
(vector-sort! vec_6 less-than?_8 start_3 end_3))))))))) | |
(define-values | |
(prop:stream stream-via-prop? stream-ref) | |
(make-struct-type-property | |
'stream | |
(lambda (v_11 si_0) | |
(begin | |
(if (if (vector? v_11) | |
(if (= 3 (vector-length v_11)) | |
(if (procedure? (vector-ref v_11 0)) | |
(if (procedure-arity-includes? (vector-ref v_11 0) 1) | |
(if (procedure? (vector-ref v_11 1)) | |
(if (procedure-arity-includes? (vector-ref v_11 1) 1) | |
(if (procedure? (vector-ref v_11 2)) (procedure-arity-includes? (vector-ref v_11 2) 1) #f) | |
#f) | |
#f) | |
#f) | |
#f) | |
#f) | |
#f) | |
(void) | |
(let-values () | |
(raise-argument-error | |
'guard-for-prop:stream | |
(string-append | |
"(vector/c (procedure-arity-includes/c 1)\n" | |
" (procedure-arity-includes/c 1)\n" | |
" (procedure-arity-includes/c 1))") | |
v_11))) | |
(vector->immutable-vector v_11))) | |
'() | |
#t)) | |
(define-values | |
(prop:gen-sequence sequence-via-prop? sequence-ref) | |
(make-struct-type-property | |
'sequence | |
(lambda (v_12 si_1) | |
(begin | |
(if (if (procedure? v_12) (procedure-arity-includes? v_12 1) #f) | |
(void) | |
(let-values () (raise-argument-error 'guard-for-prop:sequence "(procedure-arity-includes/c 1)" v_12))) | |
v_12)))) | |
(define-values | |
(struct:range make-range range? range-ref range-set!) | |
(make-struct-type | |
'stream | |
#f | |
3 | |
0 | |
#f | |
(list | |
(cons | |
prop:stream | |
(vector | |
(lambda (v_13) (let-values (((cont?_0) (range-ref v_13 2))) (if cont?_0 (not (cont?_0 (range-ref v_13 0))) #f))) | |
(lambda (v_14) (range-ref v_14 0)) | |
(lambda (v_15) (make-range ((range-ref v_15 1) (range-ref v_15 0)) (range-ref v_15 1) (range-ref v_15 2))))) | |
(cons | |
prop:gen-sequence | |
(lambda (v_16) (values values #f (range-ref v_16 1) (range-ref v_16 0) (range-ref v_16 2) #f #f)))))) | |
(define-values | |
(check-range) | |
(lambda (a_9 b_7 step_0) | |
(begin | |
(begin | |
(if (real? a_9) (void) (let-values () (raise-argument-error 'in-range "real?" a_9))) | |
(if (real? b_7) (void) (let-values () (raise-argument-error 'in-range "real?" b_7))) | |
(if (real? step_0) (void) (let-values () (raise-argument-error 'in-range "real?" step_0))))))) | |
(define-values | |
(check-naturals) | |
(lambda (n_11) | |
(begin | |
(if (if (integer? n_11) (if (exact? n_11) (>= n_11 0) #f) #f) | |
(void) | |
(let-values () (raise-argument-error 'in-naturals "exact-nonnegative-integer?" n_11)))))) | |
(define-values | |
(struct:list-stream make-list-stream list-stream? list-stream-ref list-stream-set!) | |
(make-struct-type | |
'stream | |
#f | |
1 | |
0 | |
#f | |
(list | |
(cons | |
prop:stream | |
(vector | |
(lambda (v_17) (not (pair? (list-stream-ref v_17 0)))) | |
(lambda (v_18) (car (list-stream-ref v_18 0))) | |
(lambda (v_19) (make-list-stream (cdr (list-stream-ref v_19 0)))))) | |
(cons prop:gen-sequence (lambda (v_20) (values car cdr values (list-stream-ref v_20 0) pair? #f #f)))))) | |
(define-values | |
(check-list) | |
(lambda (l_4) (begin (if (list? l_4) (void) (let-values () (raise-argument-error 'in-list "list?" l_4)))))) | |
(define-values | |
(check-in-hash) | |
(lambda (ht_6) | |
(begin | |
(if ((lambda (ht_7) (hash? ht_7)) ht_6) (void) (let-values () (raise-argument-error 'in-hash "hash?" ht_6)))))) | |
(define-values | |
(check-in-immutable-hash) | |
(lambda (ht_8) | |
(begin | |
(if ((lambda (ht_9) (if (hash? ht_9) (immutable? ht_9) #f)) ht_8) | |
(void) | |
(let-values () (raise-argument-error 'in-immutable-hash "(and/c hash? immutable?)" ht_8)))))) | |
(define-values | |
(check-in-hash-keys) | |
(lambda (ht_10) | |
(begin | |
(if ((lambda (ht_11) (hash? ht_11)) ht_10) | |
(void) | |
(let-values () (raise-argument-error 'in-hash-keys "hash?" ht_10)))))) | |
(define-values | |
(check-in-immutable-hash-keys) | |
(lambda (ht_12) | |
(begin | |
(if ((lambda (ht_13) (if (hash? ht_13) (immutable? ht_13) #f)) ht_12) | |
(void) | |
(let-values () (raise-argument-error 'in-immutable-hash-keys "(and/c hash? immutable?)" ht_12)))))) | |
(define-values | |
(check-in-hash-values) | |
(lambda (ht_14) | |
(begin | |
(if ((lambda (ht_15) (hash? ht_15)) ht_14) | |
(void) | |
(let-values () (raise-argument-error 'in-hash-values "hash?" ht_14)))))) | |
(define-values | |
(check-ranges) | |
(lambda (who_3 type-name_0 vec_7 start_4 stop_0 step_1 len_0) | |
(begin | |
(begin | |
(if (if (exact-nonnegative-integer? start_4) | |
(let-values (((or-part_21) (< start_4 len_0))) (if or-part_21 or-part_21 (= len_0 start_4 stop_0))) | |
#f) | |
(void) | |
(let-values () (raise-range-error who_3 type-name_0 "starting " start_4 vec_7 0 (sub1 len_0)))) | |
(if (if (exact-integer? stop_0) (if (<= -1 stop_0) (<= stop_0 len_0) #f) #f) | |
(void) | |
(let-values () (raise-range-error who_3 type-name_0 "stopping " stop_0 vec_7 -1 len_0))) | |
(if (if (exact-integer? step_1) (not (zero? step_1)) #f) | |
(void) | |
(let-values () (raise-argument-error who_3 "(and/c exact-integer? (not/c zero?))" step_1))) | |
(if (if (< start_4 stop_0) (< step_1 0) #f) | |
(let-values () | |
(raise-arguments-error | |
who_3 | |
"starting index less than stopping index, but given a negative step" | |
"starting index" | |
start_4 | |
"stopping index" | |
stop_0 | |
"step" | |
step_1)) | |
(void)) | |
(if (if (< stop_0 start_4) (> step_1 0) #f) | |
(let-values () | |
(raise-arguments-error | |
who_3 | |
"starting index more than stopping index, but given a positive step" | |
"starting index" | |
start_4 | |
"stopping index" | |
stop_0 | |
"step" | |
step_1)) | |
(void)))))) | |
(define-values | |
(normalise-inputs) | |
(lambda (who_4 type-name_1 vector?_0 unsafe-vector-length_0 vec_8 start_5 stop_1 step_2) | |
(begin | |
(begin | |
(if (vector?_0 vec_8) (void) (let-values () (raise-argument-error who_4 type-name_1 vec_8))) | |
(let-values (((len_1) (unsafe-vector-length_0 vec_8))) | |
(let-values (((stop*_0) (if stop_1 stop_1 len_1))) | |
(begin | |
(check-ranges who_4 type-name_1 vec_8 start_5 stop*_0 step_2 len_1) | |
(values vec_8 start_5 stop*_0 step_2)))))))) | |
(define-values | |
(unsafe-normalise-inputs) | |
(lambda (unsafe-vector-length_1 vec_9 start_6 stop_2 step_3) | |
(begin | |
(values | |
vec_9 | |
start_6 | |
(let-values (((or-part_22) stop_2)) (if or-part_22 or-part_22 (unsafe-vector-length_1 vec_9))) | |
step_3)))) | |
(define-values | |
(check-vector) | |
(lambda (v_21) (begin (if (vector? v_21) (void) (let-values () (raise-argument-error 'in-vector "vector" v_21)))))) | |
(define-values | |
(check-string) | |
(lambda (v_22) (begin (if (string? v_22) (void) (let-values () (raise-argument-error 'in-string "string" v_22)))))) | |
(define-values | |
(check-bytes) | |
(lambda (v_23) (begin (if (bytes? v_23) (void) (let-values () (raise-argument-error 'in-bytes "bytes" v_23)))))) | |
(define-values | |
(struct:do-stream make-do-stream do-stream? do-stream-ref do-stream-set!) | |
(make-struct-type | |
'stream | |
#f | |
3 | |
0 | |
#f | |
(list | |
(cons | |
prop:stream | |
(vector | |
(lambda (v_24) ((do-stream-ref v_24 0))) | |
(lambda (v_25) ((do-stream-ref v_25 1))) | |
(lambda (v_26) ((do-stream-ref v_26 2)))))))) | |
(define-values (empty-stream) (make-do-stream (lambda () #t) void void)) | |
(define-values | |
(grow-vector) | |
(lambda (vec_10) | |
(begin | |
(let-values (((n_12) (vector-length vec_10))) | |
(let-values (((new-vec_0) (make-vector (* 2 n_12)))) | |
(begin (vector-copy! new-vec_0 0 vec_10 0 n_12) new-vec_0)))))) | |
(define-values | |
(shrink-vector) | |
(lambda (vec_11 i_19) | |
(begin (let-values (((new-vec_1) (make-vector i_19))) (begin (vector-copy! new-vec_1 0 vec_11 0 i_19) new-vec_1))))) | |
(define-values | |
(map2) | |
(let-values (((map_0) | |
(case-lambda | |
((f_0 l_5) | |
(begin | |
'map | |
(if (if (variable-reference-from-unsafe? (#%variable-reference)) | |
#t | |
(if (procedure? f_0) (if (procedure-arity-includes? f_0 1) (list? l_5) #f) #f)) | |
((letrec-values (((loop_34) | |
(lambda (l_6) | |
(begin | |
'loop | |
(if (null? l_6) | |
(let-values () null) | |
(let-values () | |
(let-values (((r_3) (cdr l_6))) | |
(cons (f_0 (car l_6)) (loop_34 r_3))))))))) | |
loop_34) | |
l_5) | |
(gen-map f_0 (list l_5))))) | |
((f_1 l1_0 l2_0) | |
(if (if (variable-reference-from-unsafe? (#%variable-reference)) | |
#t | |
(if (procedure? f_1) | |
(if (procedure-arity-includes? f_1 2) | |
(if (list? l1_0) (if (list? l2_0) (= (length l1_0) (length l2_0)) #f) #f) | |
#f) | |
#f)) | |
((letrec-values (((loop_35) | |
(lambda (l1_1 l2_1) | |
(begin | |
'loop | |
(if (null? l1_1) | |
(let-values () null) | |
(let-values () | |
(let-values (((r1_0) (cdr l1_1)) ((r2_0) (cdr l2_1))) | |
(cons (f_1 (car l1_1) (car l2_1)) (loop_35 r1_0 r2_0))))))))) | |
loop_35) | |
l1_0 | |
l2_0) | |
(gen-map f_1 (list l1_0 l2_0)))) | |
((f_2 l_7 . args_0) (gen-map f_2 (cons l_7 args_0)))))) | |
map_0)) | |
(define-values | |
(for-each2) | |
(let-values (((for-each_0) | |
(case-lambda | |
((f_3 l_8) | |
(begin | |
'for-each | |
(if (if (variable-reference-from-unsafe? (#%variable-reference)) | |
#t | |
(if (procedure? f_3) (if (procedure-arity-includes? f_3 1) (list? l_8) #f) #f)) | |
((letrec-values (((loop_36) | |
(lambda (l_9) | |
(begin | |
'loop | |
(if (null? l_9) | |
(let-values () (void)) | |
(let-values () | |
(let-values (((r_4) (cdr l_9))) | |
(begin (f_3 (car l_9)) (loop_36 r_4))))))))) | |
loop_36) | |
l_8) | |
(gen-for-each f_3 (list l_8))))) | |
((f_4 l1_2 l2_2) | |
(if (if (variable-reference-from-unsafe? (#%variable-reference)) | |
#t | |
(if (procedure? f_4) | |
(if (procedure-arity-includes? f_4 2) | |
(if (list? l1_2) (if (list? l2_2) (= (length l1_2) (length l2_2)) #f) #f) | |
#f) | |
#f)) | |
((letrec-values (((loop_37) | |
(lambda (l1_3 l2_3) | |
(begin | |
'loop | |
(if (null? l1_3) | |
(let-values () (void)) | |
(let-values () | |
(let-values (((r1_1) (cdr l1_3)) ((r2_1) (cdr l2_3))) | |
(begin (f_4 (car l1_3) (car l2_3)) (loop_37 r1_1 r2_1))))))))) | |
loop_37) | |
l1_2 | |
l2_2) | |
(gen-for-each f_4 (list l1_2 l2_2)))) | |
((f_5 l_10 . args_1) (gen-for-each f_5 (cons l_10 args_1)))))) | |
for-each_0)) | |
(define-values | |
(andmap2) | |
(let-values (((andmap_0) | |
(case-lambda | |
((f_6 l_11) | |
(begin | |
'andmap | |
(if (if (variable-reference-from-unsafe? (#%variable-reference)) | |
#t | |
(if (procedure? f_6) (if (procedure-arity-includes? f_6 1) (list? l_11) #f) #f)) | |
(if (null? l_11) | |
#t | |
((letrec-values (((loop_38) | |
(lambda (l_12) | |
(begin | |
'loop | |
(if (null? (cdr l_12)) | |
(let-values () (f_6 (car l_12))) | |
(let-values () | |
(let-values (((r_5) (cdr l_12))) | |
(if (f_6 (car l_12)) (loop_38 r_5) #f)))))))) | |
loop_38) | |
l_11)) | |
(gen-andmap f_6 (list l_11))))) | |
((f_7 l1_4 l2_4) | |
(if (if (variable-reference-from-unsafe? (#%variable-reference)) | |
#t | |
(if (procedure? f_7) | |
(if (procedure-arity-includes? f_7 2) | |
(if (list? l1_4) (if (list? l2_4) (= (length l1_4) (length l2_4)) #f) #f) | |
#f) | |
#f)) | |
(if (null? l1_4) | |
#t | |
((letrec-values (((loop_39) | |
(lambda (l1_5 l2_5) | |
(begin | |
'loop | |
(if (null? (cdr l1_5)) | |
(let-values () (f_7 (car l1_5) (car l2_5))) | |
(let-values () | |
(let-values (((r1_2) (cdr l1_5)) ((r2_2) (cdr l2_5))) | |
(if (f_7 (car l1_5) (car l2_5)) (loop_39 r1_2 r2_2) #f)))))))) | |
loop_39) | |
l1_4 | |
l2_4)) | |
(gen-andmap f_7 (list l1_4 l2_4)))) | |
((f_8 l_13 . args_2) (gen-andmap f_8 (cons l_13 args_2)))))) | |
andmap_0)) | |
(define-values | |
(ormap2) | |
(let-values (((ormap_0) | |
(case-lambda | |
((f_9 l_14) | |
(begin | |
'ormap | |
(if (if (variable-reference-from-unsafe? (#%variable-reference)) | |
#t | |
(if (procedure? f_9) (if (procedure-arity-includes? f_9 1) (list? l_14) #f) #f)) | |
(if (null? l_14) | |
#f | |
((letrec-values (((loop_40) | |
(lambda (l_15) | |
(begin | |
'loop | |
(if (null? (cdr l_15)) | |
(let-values () (f_9 (car l_15))) | |
(let-values () | |
(let-values (((r_6) (cdr l_15))) | |
(let-values (((or-part_23) (f_9 (car l_15)))) | |
(if or-part_23 or-part_23 (loop_40 r_6)))))))))) | |
loop_40) | |
l_14)) | |
(gen-ormap f_9 (list l_14))))) | |
((f_10 l1_6 l2_6) | |
(if (if (variable-reference-from-unsafe? (#%variable-reference)) | |
#t | |
(if (procedure? f_10) | |
(if (procedure-arity-includes? f_10 2) | |
(if (list? l1_6) (if (list? l2_6) (= (length l1_6) (length l2_6)) #f) #f) | |
#f) | |
#f)) | |
(if (null? l1_6) | |
#f | |
((letrec-values (((loop_41) | |
(lambda (l1_7 l2_7) | |
(begin | |
'loop | |
(if (null? (cdr l1_7)) | |
(let-values () (f_10 (car l1_7) (car l2_7))) | |
(let-values () | |
(let-values (((r1_3) (cdr l1_7)) ((r2_3) (cdr l2_7))) | |
(let-values (((or-part_24) (f_10 (car l1_7) (car l2_7)))) | |
(if or-part_24 or-part_24 (loop_41 r1_3 r2_3)))))))))) | |
loop_41) | |
l1_6 | |
l2_6)) | |
(gen-ormap f_10 (list l1_6 l2_6)))) | |
((f_11 l_16 . args_3) (gen-ormap f_11 (cons l_16 args_3)))))) | |
ormap_0)) | |
(define-values | |
(check-args) | |
(lambda (who_5 f_12 ls_4) | |
(begin | |
(begin | |
(if (procedure? f_12) (void) (let-values () (raise-argument-error who_5 "procedure?" f_12))) | |
((letrec-values (((loop_42) | |
(lambda (prev-len_0 ls_5 i_20) | |
(begin | |
'loop | |
(if (null? ls_5) | |
(void) | |
(let-values () | |
(let-values (((l_17) (car ls_5))) | |
(begin | |
(if (list? l_17) (void) (let-values () (raise-argument-error who_5 "list?" l_17))) | |
(let-values (((len_2) (length l_17))) | |
(begin | |
(if (if prev-len_0 (not (= len_2 prev-len_0)) #f) | |
(let-values () | |
(raise-arguments-error | |
who_5 | |
"all lists must have same size" | |
"first list length" | |
prev-len_0 | |
"other list length" | |
len_2 | |
"procedure" | |
f_12)) | |
(void)) | |
(loop_42 len_2 (cdr ls_5) (add1 i_20)))))))))))) | |
loop_42) | |
#f | |
ls_4 | |
1) | |
(if (procedure-arity-includes? f_12 (length ls_4)) | |
(void) | |
(let-values () | |
(let-values (((required-keywords_0 optional-keywords_0) (procedure-keywords f_12))) | |
(apply | |
raise-arguments-error | |
who_5 | |
(if (pair? required-keywords_0) | |
(string-append "argument mismatch;\n" " the given procedure expects keyword arguments") | |
(string-append | |
"argument mismatch;\n" | |
" the given procedure's expected number of arguments does not match" | |
" the given number of lists")) | |
"given procedure" | |
(unquoted-printing-string | |
(let-values (((or-part_25) | |
(let-values (((n_13) (object-name f_12))) (if (symbol? n_13) (symbol->string n_13) #f)))) | |
(if or-part_25 or-part_25 "#<procedure>"))) | |
(append | |
(let-values (((a_10) (procedure-arity f_12))) | |
(if (pair? required-keywords_0) | |
(let-values () null) | |
(if (integer? a_10) | |
(let-values () (list "expected" a_10)) | |
(if (arity-at-least? a_10) | |
(let-values () | |
(list | |
"expected" | |
(unquoted-printing-string | |
(string-append "at least " (number->string (arity-at-least-value a_10)))))) | |
(let-values () null))))) | |
(if (pair? required-keywords_0) (let-values () null) (let-values () (list "given" (length ls_4)))) | |
(if (pair? required-keywords_0) | |
(let-values () | |
(list | |
"required keywords" | |
(unquoted-printing-string | |
(apply | |
string-append | |
(cdr | |
((letrec-values (((loop_43) | |
(lambda (kws_0) | |
(begin | |
'loop | |
(if (null? kws_0) | |
(let-values () null) | |
(let-values () | |
(list* | |
" " | |
(string-append "#:" (keyword->string (car kws_0))) | |
(loop_43 (cdr kws_0))))))))) | |
loop_43) | |
required-keywords_0)))))) | |
(let-values () null)) | |
(let-values (((w_0) (quotient (error-print-width) (length ls_4)))) | |
(if (> w_0 10) | |
(list | |
"argument lists..." | |
(unquoted-printing-string | |
(apply | |
string-append | |
((letrec-values (((loop_44) | |
(lambda (ls_6) | |
(begin | |
'loop | |
(if (null? ls_6) | |
(let-values () null) | |
(let-values () | |
(cons | |
(string-append "\n " ((error-value->string-handler) (car ls_6) w_0)) | |
(loop_44 (cdr ls_6))))))))) | |
loop_44) | |
ls_4)))) | |
null))))))))))) | |
(define-values | |
(gen-map) | |
(lambda (f_13 ls_7) | |
(begin | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) #t (check-args 'map f_13 ls_7)) | |
((letrec-values (((loop_45) | |
(lambda (ls_8) | |
(begin | |
'loop | |
(if (null? (car ls_8)) | |
(let-values () null) | |
(let-values () | |
(let-values (((next-ls_0) (map2 cdr ls_8))) | |
(cons (apply f_13 (map2 car ls_8)) (loop_45 next-ls_0))))))))) | |
loop_45) | |
ls_7))))) | |
(define-values | |
(gen-for-each) | |
(lambda (f_14 ls_9) | |
(begin | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) #t (check-args 'for-each f_14 ls_9)) | |
((letrec-values (((loop_46) | |
(lambda (ls_10) | |
(begin | |
'loop | |
(if (null? (car ls_10)) | |
(void) | |
(let-values () | |
(let-values (((next-ls_1) (map2 cdr ls_10))) | |
(begin (apply f_14 (map2 car ls_10)) (loop_46 next-ls_1))))))))) | |
loop_46) | |
ls_9))))) | |
(define-values | |
(gen-andmap) | |
(lambda (f_15 ls_11) | |
(begin | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) #t (check-args 'andmap f_15 ls_11)) | |
((letrec-values (((loop_47) | |
(lambda (ls_12) | |
(begin | |
'loop | |
(if (null? (car ls_12)) | |
(let-values () #t) | |
(if (null? (cdar ls_12)) | |
(let-values () (apply f_15 (map2 car ls_12))) | |
(let-values () | |
(let-values (((next-ls_2) (map2 cdr ls_12))) | |
(if (apply f_15 (map2 car ls_12)) (loop_47 next-ls_2) #f))))))))) | |
loop_47) | |
ls_11))))) | |
(define-values | |
(gen-ormap) | |
(lambda (f_16 ls_13) | |
(begin | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) #t (check-args 'ormap f_16 ls_13)) | |
((letrec-values (((loop_48) | |
(lambda (ls_14) | |
(begin | |
'loop | |
(if (null? (car ls_14)) | |
(let-values () #f) | |
(if (null? (cdar ls_14)) | |
(let-values () (apply f_16 (map2 car ls_14))) | |
(let-values () | |
(let-values (((next-ls_3) (map2 cdr ls_14))) | |
(let-values (((or-part_26) (apply f_16 (map2 car ls_14)))) | |
(if or-part_26 or-part_26 (loop_48 next-ls_3))))))))))) | |
loop_48) | |
ls_13))))) | |
(define-values | |
(hash-keys) | |
(lambda (h_0) | |
(begin | |
((letrec-values (((loop_9) | |
(lambda (pos_0) | |
(begin | |
'loop | |
(if pos_0 | |
(cons (hash-iterate-key h_0 pos_0) (loop_9 (hash-iterate-next h_0 pos_0))) | |
null))))) | |
loop_9) | |
(hash-iterate-first h_0))))) | |
(define-values | |
(sort.1) | |
(lambda (cache-keys?2_0 key1_0 lst5_0 less?6_0) | |
(begin | |
'sort | |
(let-values (((lst_6) lst5_0)) | |
(let-values (((less?_0) less?6_0)) | |
(let-values (((getkey_4) key1_0)) | |
(let-values (((cache-keys?_3) cache-keys?2_0)) | |
(let-values () | |
(begin | |
(if (list? lst_6) (void) (let-values () (raise-argument-error 'sort "list?" lst_6))) | |
(if (if (procedure? less?_0) (procedure-arity-includes? less?_0 2) #f) | |
(void) | |
(let-values () (raise-argument-error 'sort "(any/c any/c . -> . any/c)" less?_0))) | |
(if (if getkey_4 (not (if (procedure? getkey_4) (procedure-arity-includes? getkey_4 1) #f)) #f) | |
(let-values () (raise-argument-error 'sort "(any/c . -> . any/c)" getkey_4)) | |
(void)) | |
(if getkey_4 (sort lst_6 less?_0 getkey_4 cache-keys?_3) (sort lst_6 less?_0))))))))))) | |
(define-values | |
(filter) | |
(lambda (f_17 list_0) | |
(begin | |
(begin | |
(if (if (procedure? f_17) (procedure-arity-includes? f_17 1) #f) | |
(void) | |
(let-values () (raise-argument-error 'filter "(any/c . -> . any/c)" f_17))) | |
(if (list? list_0) (void) (let-values () (raise-argument-error 'filter "list?" list_0))) | |
((letrec-values (((loop_49) | |
(lambda (l_18 result_0) | |
(begin | |
'loop | |
(if (null? l_18) | |
(reverse$1 result_0) | |
(loop_49 (cdr l_18) (if (f_17 (car l_18)) (cons (car l_18) result_0) result_0))))))) | |
loop_49) | |
list_0 | |
null))))) | |
(define-values (binary-or-text-desc) "(or/c 'binary 'text)") | |
(define-values | |
(open-input-file.1) | |
(lambda (for-module?2_0 mode1_0 path5_0) | |
(begin | |
'open-input-file | |
(let-values (((path_0) path5_0)) | |
(let-values (((mode_0) mode1_0)) | |
(let-values (((for-module?_0) for-module?2_0)) | |
(let-values () | |
(begin | |
(if (path-string? path_0) | |
(void) | |
(let-values () (raise-argument-error 'open-input-file "path-string?" path_0))) | |
(if (memq mode_0 '(binary text)) | |
(void) | |
(let-values () (raise-argument-error 'open-input-file binary-or-text-desc mode_0))) | |
(open-input-file path_0 mode_0 (if for-module?_0 'module 'none)))))))))) | |
(define-values | |
(with-input-from-file.1) | |
(lambda (mode31_0 path33_0 proc34_0) | |
(begin | |
'with-input-from-file | |
(let-values (((path_1) path33_0)) | |
(let-values (((proc_0) proc34_0)) | |
(let-values (((mode_1) mode31_0)) | |
(let-values () | |
(begin | |
(if (path-string? path_1) | |
(void) | |
(let-values () (raise-argument-error 'with-input-from-file "path-string?" path_1))) | |
(if (if (procedure? proc_0) (procedure-arity-includes? proc_0 0) #f) | |
(void) | |
(let-values () (raise-argument-error 'with-input-from-file "(-> any)" proc_0))) | |
(if (memq mode_1 '(binary text)) | |
(void) | |
(let-values () (raise-argument-error 'with-input-from-file binary-or-text-desc mode_1))) | |
(with-input-from-file path_1 proc_0 mode_1))))))))) | |
(define-values | |
(call-with-input-file*.1) | |
(lambda (mode43_0 path45_0 proc46_0) | |
(begin | |
'call-with-input-file* | |
(let-values (((path_2) path45_0)) | |
(let-values (((proc_1) proc46_0)) | |
(let-values (((mode_2) mode43_0)) | |
(let-values () | |
(begin | |
(if (path-string? path_2) | |
(void) | |
(let-values () (raise-argument-error 'call-with-input-file* "path-string?" path_2))) | |
(if (if (procedure? proc_1) (procedure-arity-includes? proc_1 1) #f) | |
(void) | |
(let-values () (raise-argument-error 'call-with-input-file* "(input-port? . -> . any)" proc_1))) | |
(if (memq mode_2 '(binary text)) | |
(void) | |
(let-values () (raise-argument-error 'call-with-input-file* binary-or-text-desc mode_2))) | |
(let-values (((p_3) (open-input-file path_2 mode_2))) | |
(dynamic-wind void (lambda () (proc_1 p_3)) (lambda () (close-input-port p_3)))))))))))) | |
(define-values (the-empty-hash) '#hash()) | |
(define-values (the-empty-hasheq) '#hasheq()) | |
(define-values (the-empty-hasheqv) '#hasheqv()) | |
(define-values | |
(set) | |
(case-lambda | |
(() (begin the-empty-hash)) | |
(l_19 | |
(let-values (((lst_7) l_19)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_7))) | |
((letrec-values (((for-loop_0) | |
(lambda (s_14 lst_8) | |
(begin | |
'for-loop | |
(if (pair? lst_8) | |
(let-values (((e_2) (unsafe-car lst_8)) ((rest_0) (unsafe-cdr lst_8))) | |
(let-values (((s_15) | |
(let-values (((s_16) s_14)) | |
(let-values (((s_17) (let-values () (hash-set s_16 e_2 #t)))) | |
(values s_17))))) | |
(if (not #f) (for-loop_0 s_15 rest_0) s_15))) | |
s_14))))) | |
for-loop_0) | |
the-empty-hash | |
lst_7)))))) | |
(define-values | |
(seteq) | |
(case-lambda | |
(() (begin the-empty-hasheq)) | |
(l_17 | |
(let-values (((lst_9) l_17)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_9))) | |
((letrec-values (((for-loop_1) | |
(lambda (s_18 lst_10) | |
(begin | |
'for-loop | |
(if (pair? lst_10) | |
(let-values (((e_3) (unsafe-car lst_10)) ((rest_1) (unsafe-cdr lst_10))) | |
(let-values (((s_19) | |
(let-values (((s_20) s_18)) | |
(let-values (((s_21) (let-values () (hash-set s_20 e_3 #t)))) | |
(values s_21))))) | |
(if (not #f) (for-loop_1 s_19 rest_1) s_19))) | |
s_18))))) | |
for-loop_1) | |
the-empty-hasheq | |
lst_9)))))) | |
(define-values (seteqv) (lambda () (begin the-empty-hasheqv))) | |
(define-values (set?) (lambda (s_22) (begin (hash? s_22)))) | |
(define-values (set-empty?) (lambda (s_23) (begin (zero? (hash-count s_23))))) | |
(define-values (set-member?) (lambda (s_24 e_4) (begin (hash-ref s_24 e_4 #f)))) | |
(define-values (set-count) (lambda (s_25) (begin (hash-count s_25)))) | |
(define-values (set-add) (lambda (s_26 e_5) (begin (hash-set s_26 e_5 #t)))) | |
(define-values (set-remove) (lambda (s_27 e_6) (begin (hash-remove s_27 e_6)))) | |
(define-values (set-first) (lambda (s_28) (begin (hash-iterate-key s_28 (hash-iterate-first s_28))))) | |
(define-values (subset?) (lambda (s1_0 s2_0) (begin (hash-keys-subset? s1_0 s2_0)))) | |
(define-values | |
(set=?) | |
(lambda (s1_1 s2_1) | |
(begin | |
(let-values (((or-part_27) (eq? s1_1 s2_1))) | |
(if or-part_27 or-part_27 (if (= (hash-count s1_1) (hash-count s2_1)) (hash-keys-subset? s1_1 s2_1) #f)))))) | |
(define-values | |
(set-subtract) | |
(lambda (s1_2 s2_2) | |
(begin | |
(let-values (((ht_16) s2_2)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_16))) | |
((letrec-values (((for-loop_2) | |
(lambda (s1_3 i_21) | |
(begin | |
'for-loop | |
(if i_21 | |
(let-values (((k_0) (unsafe-immutable-hash-iterate-key ht_16 i_21))) | |
(let-values (((s1_4) | |
(let-values (((s1_5) s1_3)) | |
(let-values (((s1_6) (let-values () (hash-remove s1_5 k_0)))) | |
(values s1_6))))) | |
(if (not #f) | |
(for-loop_2 s1_4 (unsafe-immutable-hash-iterate-next ht_16 i_21)) | |
s1_4))) | |
s1_3))))) | |
for-loop_2) | |
s1_2 | |
(unsafe-immutable-hash-iterate-first ht_16))))))) | |
(define-values | |
(set-union) | |
(lambda (s1_7 s2_3) | |
(begin | |
(if (< (set-count s1_7) (set-count s2_3)) | |
(set-union s2_3 s1_7) | |
(let-values (((ht_17) s2_3)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_17))) | |
((letrec-values (((for-loop_3) | |
(lambda (s1_8 i_22) | |
(begin | |
'for-loop | |
(if i_22 | |
(let-values (((k_1) (unsafe-immutable-hash-iterate-key ht_17 i_22))) | |
(let-values (((s1_9) | |
(let-values (((s1_10) s1_8)) | |
(let-values (((s1_11) (let-values () (hash-set s1_10 k_1 #t)))) | |
(values s1_11))))) | |
(if (not #f) | |
(for-loop_3 s1_9 (unsafe-immutable-hash-iterate-next ht_17 i_22)) | |
s1_9))) | |
s1_8))))) | |
for-loop_3) | |
s1_7 | |
(unsafe-immutable-hash-iterate-first ht_17)))))))) | |
(define-values | |
(set-intersect) | |
(lambda (s1_12 s2_4) | |
(begin | |
(if (< (set-count s1_12) (set-count s2_4)) | |
(set-intersect s2_4 s1_12) | |
(let-values (((ht_18) s2_4)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_18))) | |
((letrec-values (((for-loop_4) | |
(lambda (s_29 i_23) | |
(begin | |
'for-loop | |
(if i_23 | |
(let-values (((k_2) (unsafe-immutable-hash-iterate-key ht_18 i_23))) | |
(let-values (((s_30) | |
(let-values (((s_31) s_29)) | |
(let-values (((s_32) | |
(let-values () | |
(if (hash-ref s1_12 k_2 #f) | |
s_31 | |
(hash-remove s_31 k_2))))) | |
(values s_32))))) | |
(if (not #f) | |
(for-loop_4 s_30 (unsafe-immutable-hash-iterate-next ht_18 i_23)) | |
s_30))) | |
s_29))))) | |
for-loop_4) | |
s2_4 | |
(unsafe-immutable-hash-iterate-first ht_18)))))))) | |
(define-values | |
(set-partition) | |
(lambda (s_33 pred_0 empty-y-set_0 empty-n-set_0) | |
(begin | |
(let-values (((ht_19) s_33)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_19))) | |
((letrec-values (((for-loop_5) | |
(lambda (y_6 n_14 i_24) | |
(begin | |
'for-loop | |
(if i_24 | |
(let-values (((v_27) (unsafe-immutable-hash-iterate-key ht_19 i_24))) | |
(let-values (((y_7 n_15) | |
(let-values (((y_8) y_6) ((n_16) n_14)) | |
(let-values (((y_9 n_17) | |
(let-values () | |
(if (pred_0 v_27) | |
(values (set-add y_8 v_27) n_16) | |
(values y_8 (set-add n_16 v_27)))))) | |
(values y_9 n_17))))) | |
(if (not #f) | |
(for-loop_5 y_7 n_15 (unsafe-immutable-hash-iterate-next ht_19 i_24)) | |
(values y_7 n_15)))) | |
(values y_6 n_14)))))) | |
for-loop_5) | |
empty-y-set_0 | |
empty-n-set_0 | |
(unsafe-immutable-hash-iterate-first ht_19))))))) | |
(define-values | |
(set->list) | |
(lambda (s_34) | |
(begin | |
(reverse$1 | |
(let-values (((ht_20) s_34)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_20))) | |
((letrec-values (((for-loop_6) | |
(lambda (fold-var_0 i_25) | |
(begin | |
'for-loop | |
(if i_25 | |
(let-values (((k_3) (unsafe-immutable-hash-iterate-key ht_20 i_25))) | |
(let-values (((fold-var_1) | |
(let-values (((fold-var_2) fold-var_0)) | |
(let-values (((fold-var_3) | |
(let-values () | |
(cons (let-values () k_3) fold-var_2)))) | |
(values fold-var_3))))) | |
(if (not #f) | |
(for-loop_6 fold-var_1 (unsafe-immutable-hash-iterate-next ht_20 i_25)) | |
fold-var_1))) | |
fold-var_0))))) | |
for-loop_6) | |
null | |
(unsafe-immutable-hash-iterate-first ht_20)))))))) | |
(define-values | |
(list->set) | |
(lambda (l_20) | |
(begin | |
(let-values (((lst_11) l_20)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_11))) | |
((letrec-values (((for-loop_7) | |
(lambda (table_0 lst_12) | |
(begin | |
'for-loop | |
(if (pair? lst_12) | |
(let-values (((k_4) (unsafe-car lst_12)) ((rest_2) (unsafe-cdr lst_12))) | |
(let-values (((table_1) | |
(let-values (((table_2) table_0)) | |
(let-values (((table_3) | |
(let-values () | |
(let-values (((key_7 val_0) | |
(let-values () | |
(values (let-values () k_4) #t)))) | |
(hash-set table_2 key_7 val_0))))) | |
(values table_3))))) | |
(if (not #f) (for-loop_7 table_1 rest_2) table_1))) | |
table_0))))) | |
for-loop_7) | |
'#hash() | |
lst_11)))))) | |
(define-values | |
(list->seteq) | |
(lambda (l_21) | |
(begin | |
(let-values (((lst_13) l_21)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_13))) | |
((letrec-values (((for-loop_8) | |
(lambda (table_4 lst_14) | |
(begin | |
'for-loop | |
(if (pair? lst_14) | |
(let-values (((k_5) (unsafe-car lst_14)) ((rest_3) (unsafe-cdr lst_14))) | |
(let-values (((table_5) | |
(let-values (((table_6) table_4)) | |
(let-values (((table_7) | |
(let-values () | |
(let-values (((key_8 val_1) | |
(let-values () | |
(values (let-values () k_5) #t)))) | |
(hash-set table_6 key_8 val_1))))) | |
(values table_7))))) | |
(if (not #f) (for-loop_8 table_5 rest_3) table_5))) | |
table_4))))) | |
for-loop_8) | |
'#hasheq() | |
lst_13)))))) | |
(define-values (start-atomic) (lambda () (begin (unsafe-start-atomic)))) | |
(define-values (end-atomic) (lambda () (begin (unsafe-end-atomic)))) | |
(define-values (start-breakable-atomic) (lambda () (begin (unsafe-start-breakable-atomic)))) | |
(define-values (end-breakable-atomic) (lambda () (begin (unsafe-end-breakable-atomic)))) | |
(define-values (cell.1$10) (unsafe-make-place-local #f)) | |
(define-values | |
(entered-err-string-handler) | |
(lambda (s_35 n_18) (begin (call-as-nonatomic (lambda () ((error-value->string-handler) s_35 n_18)))))) | |
(define-values (cell.2$5) (unsafe-make-place-local #f)) | |
(define-values (cell.3$2) (unsafe-make-place-local #f)) | |
(define-values (cell.4$2) (unsafe-make-place-local 0)) | |
(define-values (exited-key) (gensym 'as-exit)) | |
(define-values (lock-tag) (make-continuation-prompt-tag 'lock)) | |
(define-values | |
(call-as-atomic) | |
(lambda (f_18) | |
(begin | |
(begin | |
(if (if (procedure? f_18) (procedure-arity-includes? f_18 0) #f) | |
(void) | |
(let-values () (raise-type-error 'call-as-atomic "procedure (arity 0)" f_18))) | |
(if (eq? (unsafe-place-local-ref cell.1$10) (current-thread)) | |
(let-values () | |
(dynamic-wind | |
(lambda () | |
(begin | |
(start-breakable-atomic) | |
(unsafe-place-local-set! cell.4$2 (add1 (unsafe-place-local-ref cell.4$2))))) | |
f_18 | |
(lambda () | |
(begin | |
(unsafe-place-local-set! cell.4$2 (sub1 (unsafe-place-local-ref cell.4$2))) | |
(end-breakable-atomic))))) | |
(let-values () | |
(with-continuation-mark | |
exited-key | |
#f | |
(call-with-continuation-prompt | |
(lambda () | |
(dynamic-wind | |
(lambda () (begin (start-breakable-atomic) (unsafe-place-local-set! cell.1$10 (current-thread)))) | |
(lambda () | |
(begin | |
(unsafe-place-local-set! cell.2$5 (current-parameterization)) | |
(unsafe-place-local-set! cell.3$2 (current-break-parameterization)) | |
(with-continuation-mark | |
parameterization-key | |
(extend-parameterization | |
(continuation-mark-set-first #f parameterization-key) | |
error-value->string-handler | |
entered-err-string-handler) | |
(let-values () | |
(with-continuation-mark | |
break-enabled-key | |
(make-thread-cell #f) | |
(begin | |
(check-for-break) | |
(let-values () | |
(call-with-exception-handler | |
(lambda (exn_0) | |
(if (continuation-mark-set-first #f exited-key) | |
exn_0 | |
(abort-current-continuation lock-tag (lambda () (raise exn_0))))) | |
f_18)))))))) | |
(lambda () | |
(begin | |
(unsafe-place-local-set! cell.1$10 #f) | |
(unsafe-place-local-set! cell.2$5 #f) | |
(unsafe-place-local-set! cell.3$2 #f) | |
(end-breakable-atomic))))) | |
lock-tag | |
(lambda (t_0) (t_0)))))))))) | |
(define-values | |
(call-as-nonatomic) | |
(lambda (f_19) | |
(begin | |
(begin | |
(if (if (procedure? f_19) (procedure-arity-includes? f_19 0) #f) | |
(void) | |
(let-values () (raise-type-error 'call-as-nonatomic "procedure (arity 0)" f_19))) | |
(if (eq? (unsafe-place-local-ref cell.1$10) (current-thread)) | |
(void) | |
(let-values () (error 'call-as-nonatomic "not in atomic area for ~e" f_19))) | |
(let-values (((paramz_2) (unsafe-place-local-ref cell.2$5)) | |
((break-paramz_0) (unsafe-place-local-ref cell.3$2)) | |
((extra-depth_0) (unsafe-place-local-ref cell.4$2))) | |
(with-continuation-mark | |
exited-key | |
#t | |
(call-with-parameterization | |
paramz_2 | |
(lambda () | |
(call-with-break-parameterization | |
break-paramz_0 | |
(lambda () | |
(dynamic-wind | |
(lambda () | |
(begin | |
(unsafe-place-local-set! cell.1$10 #f) | |
(unsafe-place-local-set! cell.4$2 0) | |
(end-breakable-atomic) | |
((letrec-values (((loop_50) | |
(lambda (i_26) | |
(begin | |
'loop | |
(if (zero? i_26) | |
(void) | |
(let-values () (begin (end-breakable-atomic) (loop_50 (sub1 i_26))))))))) | |
loop_50) | |
extra-depth_0))) | |
f_19 | |
(lambda () | |
(begin | |
(start-breakable-atomic) | |
(unsafe-place-local-set! cell.2$5 paramz_2) | |
(unsafe-place-local-set! cell.3$2 break-paramz_0) | |
((letrec-values (((loop_43) | |
(lambda (i_27) | |
(begin | |
'loop | |
(if (zero? i_27) | |
(void) | |
(let-values () | |
(begin (start-breakable-atomic) (loop_43 (sub1 i_27))))))))) | |
loop_43) | |
extra-depth_0) | |
(unsafe-place-local-set! cell.4$2 extra-depth_0) | |
(unsafe-place-local-set! cell.1$10 (current-thread))))))))))))))) | |
(define-values (not-an-fX.1) (lambda (who_6 v_28) (begin 'not-an-fX (raise-argument-error who_6 "fixnum?" v_28)))) | |
(define-values (prop:serialize serialize? serialize-ref) (make-struct-type-property 'serialize)) | |
(define-values | |
(prop:serialize-fill! serialize-fill!? serialize-fill!-ref) | |
(make-struct-type-property 'serialize-fill!)) | |
(define-values (prop:reach-scopes reach-scopes? reach-scopes-ref) (make-struct-type-property 'reach-scopes)) | |
(define-values | |
(prop:scope-with-bindings scope-with-bindings? scope-with-bindings-ref) | |
(make-struct-type-property 'scope-with-bindings)) | |
(define-values | |
(prop:binding-reach-scopes binding-reach-scopes? binding-reach-scopes-ref) | |
(make-struct-type-property 'binding-reach-scopes)) | |
(define-values | |
(log-performance?) | |
(if (environment-variables-ref (current-environment-variables) #"PLT_EXPANDER_TIMES") #t #f)) | |
(define-values (cell.1$9) (unsafe-make-place-local #f)) | |
(define-values (cell.2$4) (unsafe-make-place-local (make-hasheq))) | |
(define-values (performance-place-init!) (lambda () (begin (unsafe-place-local-set! cell.2$4 (make-hasheq))))) | |
(define-values | |
(struct:region | |
region1.1 | |
region? | |
region-path | |
region-start | |
region-start-memory | |
region-as-nested | |
region-as-nested-memory | |
set-region-start! | |
set-region-start-memory! | |
set-region-as-nested! | |
set-region-as-nested-memory!) | |
(let-values (((struct:_0 make-_0 ?_0 -ref_0 -set!_0) | |
(let-values () | |
(let-values () (make-struct-type 'region #f 5 0 #f null (current-inspector) #f '(0) #f 'region))))) | |
(values | |
struct:_0 | |
make-_0 | |
?_0 | |
(make-struct-field-accessor -ref_0 0 'path) | |
(make-struct-field-accessor -ref_0 1 'start) | |
(make-struct-field-accessor -ref_0 2 'start-memory) | |
(make-struct-field-accessor -ref_0 3 'as-nested) | |
(make-struct-field-accessor -ref_0 4 'as-nested-memory) | |
(make-struct-field-mutator -set!_0 1 'start) | |
(make-struct-field-mutator -set!_0 2 'start-memory) | |
(make-struct-field-mutator -set!_0 3 'as-nested) | |
(make-struct-field-mutator -set!_0 4 'as-nested-memory)))) | |
(define-values | |
(struct:stat stat2.1 stat? stat-msecs stat-memory stat-count set-stat-msecs! set-stat-memory! set-stat-count!) | |
(let-values (((struct:_1 make-_1 ?_1 -ref_1 -set!_1) | |
(let-values () | |
(let-values () (make-struct-type 'stat #f 3 0 #f null (current-inspector) #f '() #f 'stat))))) | |
(values | |
struct:_1 | |
make-_1 | |
?_1 | |
(make-struct-field-accessor -ref_1 0 'msecs) | |
(make-struct-field-accessor -ref_1 1 'memory) | |
(make-struct-field-accessor -ref_1 2 'count) | |
(make-struct-field-mutator -set!_1 0 'msecs) | |
(make-struct-field-mutator -set!_1 1 'memory) | |
(make-struct-field-mutator -set!_1 2 'count)))) | |
(define-values (stat-key) (gensym)) | |
(define-values | |
(start-performance-region) | |
(lambda path_3 | |
(begin | |
(unsafe-place-local-set! | |
cell.1$9 | |
(cons | |
(region1.1 | |
(if (unsafe-place-local-ref cell.1$9) | |
((letrec-values (((loop_51) | |
(lambda (path_4 enclosing-path_0) | |
(begin | |
'loop | |
(if (null? path_4) | |
null | |
(cons | |
(if (if (eq? '_ (car path_4)) (pair? enclosing-path_0) #f) | |
(car enclosing-path_0) | |
(car path_4)) | |
(loop_51 | |
(cdr path_4) | |
(if (pair? enclosing-path_0) (cdr enclosing-path_0) null)))))))) | |
loop_51) | |
path_3 | |
(region-path (car (unsafe-place-local-ref cell.1$9)))) | |
path_3) | |
(current-inexact-milliseconds) | |
(current-memory-use 'cumulative) | |
0.0 | |
0) | |
(unsafe-place-local-ref cell.1$9)))))) | |
(define-values | |
(end-performance-region) | |
(lambda () | |
(begin | |
(let-values (((now_0) (current-inexact-milliseconds))) | |
(let-values (((now-memory_0) (current-memory-use 'cumulative))) | |
(let-values (((r_7) (car (unsafe-place-local-ref cell.1$9)))) | |
(let-values ((() | |
(begin (unsafe-place-local-set! cell.1$9 (cdr (unsafe-place-local-ref cell.1$9))) (values)))) | |
(let-values (((full-delta_0) (- now_0 (region-start r_7)))) | |
(let-values (((delta_0) (- full-delta_0 (region-as-nested r_7)))) | |
(let-values (((full-delta-memory_0) (- now-memory_0 (region-start-memory r_7)))) | |
(let-values (((delta-memory_0) (- full-delta-memory_0 (region-as-nested-memory r_7)))) | |
(begin | |
((letrec-values (((loop_52) | |
(lambda (accums_0 path_5) | |
(begin | |
'loop | |
(let-values (((key_9) (car path_5))) | |
(let-values (((accum_0) | |
(let-values (((or-part_25) (hash-ref accums_0 key_9 #f))) | |
(if or-part_25 | |
or-part_25 | |
(let-values (((accum_1) (make-hasheq))) | |
(begin | |
(hash-set! accums_0 key_9 accum_1) | |
accum_1)))))) | |
(let-values (((s_36) | |
(let-values (((or-part_28) | |
(hash-ref accum_0 stat-key #f))) | |
(if or-part_28 | |
or-part_28 | |
(let-values (((s_20) (stat2.1 0.0 0 0))) | |
(begin | |
(hash-set! accum_0 stat-key s_20) | |
s_20)))))) | |
(begin | |
(set-stat-msecs! s_36 (+ delta_0 (stat-msecs s_36))) | |
(set-stat-memory! s_36 (+ delta-memory_0 (stat-memory s_36))) | |
(if (null? (cdr path_5)) | |
(let-values () (set-stat-count! s_36 (add1 (stat-count s_36)))) | |
(void)) | |
(if (null? (cdr path_5)) | |
(void) | |
(let-values () (loop_52 accum_0 (cdr path_5)))))))))))) | |
loop_52) | |
(unsafe-place-local-ref cell.2$4) | |
(region-path r_7)) | |
(if (unsafe-place-local-ref cell.1$9) | |
(let-values () | |
(begin | |
(set-region-as-nested! | |
(car (unsafe-place-local-ref cell.1$9)) | |
(+ (region-as-nested (car (unsafe-place-local-ref cell.1$9))) full-delta_0)) | |
(set-region-as-nested-memory! | |
(car (unsafe-place-local-ref cell.1$9)) | |
(+ | |
(region-as-nested-memory (car (unsafe-place-local-ref cell.1$9))) | |
full-delta-memory_0)))) | |
(void)))))))))))))) | |
(call-with-values | |
(lambda () | |
(if log-performance? | |
(let-values () | |
(void | |
(plumber-add-flush! | |
(current-plumber) | |
(lambda (h_1) | |
(let-values (((whole-len_0) | |
(lambda (s_37) | |
(begin | |
'whole-len | |
(caar | |
(let-values (((or-part_29) (regexp-match-positions '#rx"[.]" s_37))) | |
(if or-part_29 or-part_29 '(0)))))))) | |
(let-values (((kb_0) | |
(lambda (b_8) | |
(begin | |
'kb | |
(let-values (((s_28) (number->string (quotient b_8 1024)))) | |
(list->string | |
(let-values (((lst_15) (reverse$1 (string->list s_28))) ((start_7) 0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_15))) | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-naturals start_7))) | |
((letrec-values (((for-loop_9) | |
(lambda (l_22 lst_16 pos_1) | |
(begin | |
'for-loop | |
(if (if (pair? lst_16) #t #f) | |
(let-values (((c_7) (unsafe-car lst_16)) | |
((rest_4) (unsafe-cdr lst_16)) | |
((i_28) pos_1)) | |
(let-values (((l_23) | |
(let-values (((l_24) l_22)) | |
(let-values (((l_25) | |
(let-values () | |
(if (if (positive? | |
i_28) | |
(zero? | |
(modulo i_28 3)) | |
#f) | |
(let-values () | |
(list* | |
c_7 | |
'#\, | |
l_24)) | |
(let-values () | |
(cons | |
c_7 | |
l_24)))))) | |
(values l_25))))) | |
(if (not #f) | |
(for-loop_9 l_23 rest_4 (+ pos_1 1)) | |
l_23))) | |
l_22))))) | |
for-loop_9) | |
null | |
lst_15 | |
start_7))))))))) | |
(let-values (((label-max-len_0 value-max-len_0 memory-max-len_0 count-max-len_0) | |
((letrec-values (((loop_53) | |
(lambda (accums_1 | |
label-len_0 | |
value-len_0 | |
memory-len_0 | |
count-len_0 | |
indent_0) | |
(begin | |
'loop | |
(let-values (((ht_21) accums_1)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash ht_21))) | |
((letrec-values (((for-loop_10) | |
(lambda (label-len_1 | |
value-len_1 | |
memory-len_1 | |
count-len_1 | |
i_29) | |
(begin | |
'for-loop | |
(if i_29 | |
(let-values (((k_6 v_29) | |
(hash-iterate-key+value | |
ht_21 | |
i_29))) | |
(let-values (((label-len_2 | |
value-len_2 | |
memory-len_2 | |
count-len_2) | |
(let-values (((label-len_3) | |
label-len_1) | |
((value-len_3) | |
value-len_1) | |
((memory-len_3) | |
memory-len_1) | |
((count-len_3) | |
count-len_1)) | |
(let-values (((label-len_4 | |
value-len_4 | |
memory-len_4 | |
count-len_4) | |
(let-values () | |
(if (eq? | |
k_6 | |
stat-key) | |
(let-values () | |
(values | |
label-len_3 | |
(max | |
value-len_3 | |
(whole-len_0 | |
(format | |
"~a" | |
(stat-msecs | |
v_29)))) | |
(max | |
memory-len_3 | |
(string-length | |
(format | |
"~a" | |
(kb_0 | |
(stat-memory | |
v_29))))) | |
(max | |
count-len_3 | |
(string-length | |
(format | |
"~a" | |
(stat-count | |
v_29)))))) | |
(let-values () | |
(loop_53 | |
v_29 | |
(max | |
label-len_3 | |
(+ | |
indent_0 | |
(string-length | |
(format | |
"~a" | |
k_6)))) | |
value-len_3 | |
memory-len_3 | |
count-len_3 | |
(+ | |
2 | |
indent_0))))))) | |
(values | |
label-len_4 | |
value-len_4 | |
memory-len_4 | |
count-len_4))))) | |
(if (not #f) | |
(for-loop_10 | |
label-len_2 | |
value-len_2 | |
memory-len_2 | |
count-len_2 | |
(hash-iterate-next ht_21 i_29)) | |
(values | |
label-len_2 | |
value-len_2 | |
memory-len_2 | |
count-len_2)))) | |
(values | |
label-len_1 | |
value-len_1 | |
memory-len_1 | |
count-len_1)))))) | |
for-loop_10) | |
label-len_0 | |
value-len_0 | |
memory-len_0 | |
count-len_0 | |
(hash-iterate-first ht_21)))))))) | |
loop_53) | |
(unsafe-place-local-ref cell.2$4) | |
6 | |
5 | |
4 | |
5 | |
2))) | |
(begin | |
(let-values (((l_26) (current-logger))) | |
(if (log-level? l_26 'error (logger-name l_26)) | |
(let-values () | |
(log-message | |
l_26 | |
'error | |
(format | |
"REGION ~aMSECS ~aMEMK ~aCOUNT" | |
(make-string (- (+ label-max-len_0 value-max-len_0) 11) '#\space) | |
(make-string (- memory-max-len_0 4) '#\space) | |
(make-string (- count-max-len_0 5) '#\space)) | |
(current-continuation-marks))) | |
(void))) | |
((letrec-values (((loop_54) | |
(lambda (name_6 accums_2 indent_1 newline?_0) | |
(begin | |
'loop | |
(let-values ((() | |
(begin | |
(if name_6 | |
(let-values () | |
(let-values (((v_30) (hash-ref accums_2 stat-key))) | |
(let-values (((l_27) (current-logger))) | |
(if (log-level? l_27 'error (logger-name l_27)) | |
(let-values () | |
(log-message | |
l_27 | |
'error | |
(format | |
"~a~a ~a~a ~a~a ~a~a" | |
indent_1 | |
name_6 | |
(make-string | |
(+ | |
(- | |
label-max-len_0 | |
(string-length (format "~a" name_6)) | |
(string-length indent_1)) | |
(- | |
value-max-len_0 | |
(whole-len_0 | |
(format "~a" (stat-msecs v_30))))) | |
'#\space) | |
(regexp-replace | |
'#rx"[.](..).*" | |
(format "~a00" (stat-msecs v_30)) | |
".\\1") | |
(make-string | |
(- | |
memory-max-len_0 | |
(string-length | |
(format "~a" (kb_0 (stat-memory v_30))))) | |
'#\space) | |
(kb_0 (stat-memory v_30)) | |
(make-string | |
(- | |
count-max-len_0 | |
(string-length | |
(format "~a" (stat-count v_30)))) | |
'#\space) | |
(stat-count v_30)) | |
(current-continuation-marks))) | |
(void))))) | |
(void)) | |
(values)))) | |
(let-values (((keys_0) | |
(let-values (((temp5_0) | |
(reverse$1 | |
(let-values (((ht_22) accums_2)) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () | |
(check-in-hash-keys ht_22))) | |
((letrec-values (((for-loop_11) | |
(lambda (fold-var_4 i_30) | |
(begin | |
'for-loop | |
(if i_30 | |
(let-values (((k_7) | |
(hash-iterate-key | |
ht_22 | |
i_30))) | |
(let-values (((fold-var_2) | |
(let-values (((fold-var_3) | |
fold-var_4)) | |
(if (not | |
(eq? | |
k_7 | |
stat-key)) | |
(let-values (((fold-var_5) | |
fold-var_3)) | |
(let-values (((fold-var_6) | |
(let-values () | |
(cons | |
(let-values () | |
k_7) | |
fold-var_5)))) | |
(values | |
fold-var_6))) | |
fold-var_3)))) | |
(if (not #f) | |
(for-loop_11 | |
fold-var_2 | |
(hash-iterate-next | |
ht_22 | |
i_30)) | |
fold-var_2))) | |
fold-var_4))))) | |
for-loop_11) | |
null | |
(hash-iterate-first ht_22)))))) | |
((>6_0) >) | |
((temp7_0) | |
(lambda (key_10) | |
(stat-msecs | |
(hash-ref | |
(hash-ref accums_2 key_10) | |
stat-key))))) | |
(sort.1 #f temp7_0 temp5_0 >6_0)))) | |
(begin | |
(let-values (((lst_17) keys_0) ((start_8) 0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_17))) | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-naturals start_8))) | |
((letrec-values (((for-loop_12) | |
(lambda (lst_18 pos_2) | |
(begin | |
'for-loop | |
(if (if (pair? lst_18) #t #f) | |
(let-values (((k_8) (unsafe-car lst_18)) | |
((rest_5) (unsafe-cdr lst_18)) | |
((i_31) pos_2)) | |
(let-values ((() | |
(let-values () | |
(let-values ((() | |
(let-values () | |
(begin | |
(let-values () | |
(begin | |
(if (if newline?_0 | |
(positive? | |
i_31) | |
#f) | |
(let-values () | |
(let-values (((l_28) | |
(current-logger))) | |
(if (log-level? | |
l_28 | |
'error | |
(logger-name | |
l_28)) | |
(let-values () | |
(log-message | |
l_28 | |
'error | |
"" | |
(current-continuation-marks))) | |
(void)))) | |
(void)) | |
(loop_54 | |
k_8 | |
(hash-ref | |
accums_2 | |
k_8) | |
(string-append | |
indent_1 | |
" ") | |
#f))) | |
(values))))) | |
(values))))) | |
(if (not #f) | |
(for-loop_12 rest_5 (+ pos_2 1)) | |
(values)))) | |
(values)))))) | |
for-loop_12) | |
lst_17 | |
start_8))) | |
(void)))))))) | |
loop_54) | |
#f | |
(unsafe-place-local-ref cell.2$4) | |
"" | |
#t))))))))) | |
(void))) | |
print-values) | |
(define-values | |
(1/module-path?) | |
(lambda (v_31) | |
(begin | |
'module-path? | |
(let-values (((or-part_0) (if (pair? v_31) (if (eq? (car v_31) 'submod) (submodule-module-path? v_31) #f) #f))) | |
(if or-part_0 or-part_0 (root-module-path? v_31)))))) | |
(define-values | |
(root-module-path?) | |
(lambda (v_32) | |
(begin | |
(let-values (((or-part_11) (path? v_32))) | |
(if or-part_11 | |
or-part_11 | |
(let-values (((or-part_2) (if (string? v_32) (string-module-path? v_32) #f))) | |
(if or-part_2 | |
or-part_2 | |
(let-values (((or-part_30) (if (symbol? v_32) (symbol-module-path? v_32) #f))) | |
(if or-part_30 | |
or-part_30 | |
(if (pair? v_32) | |
(let-values (((tmp_4) (car v_32))) | |
(if (equal? tmp_4 'quote) | |
(let-values () (if (pair? (cdr v_32)) (if (symbol? (cadr v_32)) (null? (cddr v_32)) #f) #f)) | |
(if (equal? tmp_4 'lib) | |
(let-values () (lib-module-path? v_32)) | |
(if (equal? tmp_4 'file) | |
(let-values () | |
(if (pair? (cdr v_32)) | |
(if (string? (cadr v_32)) (if (path-string? (cadr v_32)) (null? (cddr v_32)) #f) #f) | |
#f)) | |
(if (equal? tmp_4 'planet) | |
(let-values () (planet-module-path? v_32)) | |
(let-values () #f)))))) | |
#f)))))))))) | |
(define-values | |
(submodule-module-path?) | |
(lambda (v_33) | |
(begin | |
(if (pair? (cdr v_33)) | |
(if (list? v_33) | |
(if (let-values (((or-part_31) (equal? (cadr v_33) ".."))) | |
(if or-part_31 | |
or-part_31 | |
(let-values (((or-part_32) (equal? (cadr v_33) "."))) | |
(if or-part_32 or-part_32 (root-module-path? (cadr v_33)))))) | |
(let-values (((lst_19) (cddr v_33))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_19))) | |
((letrec-values (((for-loop_13) | |
(lambda (result_1 lst_20) | |
(begin | |
'for-loop | |
(if (pair? lst_20) | |
(let-values (((e_7) (unsafe-car lst_20)) ((rest_6) (unsafe-cdr lst_20))) | |
(let-values (((result_2) | |
(let-values () | |
(let-values (((result_3) | |
(let-values () | |
(let-values () | |
(let-values (((or-part_33) | |
(equal? e_7 ".."))) | |
(if or-part_33 | |
or-part_33 | |
(symbol? e_7))))))) | |
(values result_3))))) | |
(if (if (not ((lambda x_9 (not result_2)) e_7)) (not #f) #f) | |
(for-loop_13 result_2 rest_6) | |
result_2))) | |
result_1))))) | |
for-loop_13) | |
#t | |
lst_19))) | |
#f) | |
#f) | |
#f)))) | |
(define-values | |
(string-module-path?) | |
(lambda (v_34) | |
(begin | |
(let-values (((v11_0) v_34) ((temp12_0) #t) ((temp13_0) #t) ((temp14_0) #t)) | |
(module-path-string?.1 temp12_0 temp14_0 #f temp13_0 v11_0))))) | |
(define-values | |
(symbol-module-path?) | |
(lambda (v_35) | |
(begin (let-values (((temp15_0) (symbol->string v_35))) (module-path-string?.1 #f #f #f #f temp15_0))))) | |
(define-values | |
(lib-module-path?) | |
(lambda (v_36) | |
(begin | |
(if (list? v_36) | |
(if (pair? (cdr v_36)) | |
((letrec-values (((loop_55) | |
(lambda (v_37 first?_0) | |
(begin | |
'loop | |
(let-values (((or-part_34) (null? v_37))) | |
(if or-part_34 | |
or-part_34 | |
(if (string? (car v_37)) | |
(if (let-values (((temp16_0) (car v_37)) | |
((first?17_0) first?_0) | |
((first?18_0) first?_0)) | |
(module-path-string?.1 #f first?18_0 #f first?17_0 temp16_0)) | |
(loop_55 (cdr v_37) #f) | |
#f) | |
#f))))))) | |
loop_55) | |
(cdr v_36) | |
#t) | |
#f) | |
#f)))) | |
(define-values | |
(planet-module-path?) | |
(lambda (v_38) | |
(begin | |
(if (list? v_38) | |
(let-values (((tmp_5) (length v_38))) | |
(if (equal? tmp_5 1) | |
(let-values () #f) | |
(if (equal? tmp_5 2) | |
(let-values () | |
(let-values (((e_8) (cadr v_38))) | |
(if (string? e_8) | |
(let-values () | |
(let-values (((e19_0) e_8) ((temp20_0) #t) ((temp21_0) #t)) | |
(module-path-string?.1 #f temp21_0 temp20_0 #f e19_0))) | |
(if (symbol? e_8) | |
(let-values () | |
(let-values (((temp22_0) (symbol->string e_8)) ((temp23_0) #t)) | |
(module-path-string?.1 #f #f temp23_0 #f temp22_0))) | |
(let-values () #f))))) | |
(let-values () | |
(let-values (((file_0) (cadr v_38))) | |
(let-values (((pkg_0) (caddr v_38))) | |
(let-values (((subs_0) (cdddr v_38))) | |
(if file_0 | |
(if (let-values (((file24_0) file_0) ((temp25_0) #t) ((temp26_0) #t)) | |
(module-path-string?.1 #f temp26_0 #f temp25_0 file24_0)) | |
(if (if (list? pkg_0) | |
(if (<= 2 (length pkg_0) 4) | |
(if (planet-user/pkg-string? (car pkg_0)) | |
(if (planet-user/pkg-string? (cadr pkg_0)) | |
(let-values (((or-part_35) (null? (cddr pkg_0)))) | |
(if or-part_35 | |
or-part_35 | |
(let-values (((or-part_36) (planet-version-number? (caddr pkg_0)))) | |
(if or-part_36 | |
or-part_36 | |
(let-values (((or-part_37) (null? (cddr pkg_0)))) | |
(if or-part_37 | |
or-part_37 | |
(planet-version-minor-spec? (cadddr pkg_0)))))))) | |
#f) | |
#f) | |
#f) | |
#f) | |
(let-values (((lst_21) subs_0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_21))) | |
((letrec-values (((for-loop_14) | |
(lambda (result_4 lst_22) | |
(begin | |
'for-loop | |
(if (pair? lst_22) | |
(let-values (((sub_0) (unsafe-car lst_22)) | |
((rest_7) (unsafe-cdr lst_22))) | |
(let-values (((result_5) | |
(let-values () | |
(let-values (((result_6) | |
(let-values () | |
(let-values () | |
(let-values (((sub27_0) | |
sub_0)) | |
(module-path-string?.1 | |
#f | |
#f | |
#f | |
#f | |
sub27_0)))))) | |
(values result_6))))) | |
(if (if (not ((lambda x_10 (not result_5)) sub_0)) | |
(not #f) | |
#f) | |
(for-loop_14 result_5 rest_7) | |
result_5))) | |
result_4))))) | |
for-loop_14) | |
#t | |
lst_21))) | |
#f) | |
#f) | |
#f)))))))) | |
#f)))) | |
(define-values (planet-version-number?) (lambda (v_39) (begin (exact-nonnegative-integer? v_39)))) | |
(define-values | |
(planet-version-minor-spec?) | |
(lambda (v_40) | |
(begin | |
(let-values (((or-part_38) (planet-version-number? v_40))) | |
(if or-part_38 | |
or-part_38 | |
(if (pair? v_40) | |
(if (list? v_40) | |
(if (= 2 (length v_40)) | |
(let-values (((tmp_6) (car v_40))) | |
(if (if (equal? tmp_6 '=) #t (if (equal? tmp_6 '+) #t (equal? tmp_6 '-))) | |
(let-values () (planet-version-number? (cadr v_40))) | |
(let-values () (if (planet-version-number? (car v_40)) (planet-version-number? (cadr v_40)) #f)))) | |
#f) | |
#f) | |
#f)))))) | |
(define-values | |
(module-path-string?.1) | |
(lambda (dots-dir-ok?2_0 file-end-ok?4_0 for-planet?1_0 just-file-ok?3_0 v9_0) | |
(begin | |
'module-path-string? | |
(let-values (((v_41) v9_0)) | |
(let-values (((for-planet?_0) for-planet?1_0)) | |
(let-values (((dots-dir-ok?_0) dots-dir-ok?2_0)) | |
(let-values (((just-file-ok?_0) just-file-ok?3_0)) | |
(let-values (((file-end-ok?_0) file-end-ok?4_0)) | |
(let-values () | |
(let-values (((len_3) (string-length v_41))) | |
(if (positive? len_3) | |
(if (not (char=? '#\/ (string-ref v_41 0))) | |
(if (not (char=? '#\/ (string-ref v_41 (sub1 len_3)))) | |
(let-values (((start-package-version-pos_0 end-package-version-pos_0) | |
(if for-planet?_0 (check-planet-part v_41 len_3) (values 0 0)))) | |
(if start-package-version-pos_0 | |
((letrec-values (((loop_56) | |
(lambda (i_32 prev-was-slash?_0 saw-slash?_0 saw-dot?_0) | |
(begin | |
'loop | |
(if (not (negative? i_32)) | |
(let-values () | |
(let-values (((c_8) (string-ref v_41 i_32))) | |
(if (char=? c_8 '#\/) | |
(let-values () | |
(if (not prev-was-slash?_0) | |
(loop_56 (sub1 i_32) #t #t saw-dot?_0) | |
#f)) | |
(if (char=? c_8 '#\.) | |
(let-values () | |
(if (if (< (add1 i_32) len_3) | |
(if (not | |
(char=? (string-ref v_41 (add1 i_32)) '#\/)) | |
(not | |
(char=? (string-ref v_41 (add1 i_32)) '#\.)) | |
#f) | |
#f) | |
(if (not saw-slash?_0) | |
(loop_56 (sub1 i_32) #f saw-slash?_0 #t) | |
#f) | |
(loop_56 (sub1 i_32) #f saw-slash?_0 saw-dot?_0))) | |
(if (let-values (((or-part_39) (plain-char? c_8))) | |
(if or-part_39 | |
or-part_39 | |
(if (char=? c_8 '#\%) | |
(if (< (+ i_32 2) len_3) | |
(hex-sequence? v_41 (add1 i_32)) | |
#f) | |
#f))) | |
(let-values () | |
(loop_56 (sub1 i_32) #f saw-slash?_0 saw-dot?_0)) | |
(if (if (>= i_32 start-package-version-pos_0) | |
(< i_32 end-package-version-pos_0) | |
#f) | |
(let-values () | |
(loop_56 (sub1 i_32) #f saw-slash?_0 saw-dot?_0)) | |
(let-values () #f))))))) | |
(let-values () | |
(if (not | |
(if (not just-file-ok?_0) | |
(if saw-dot?_0 (not saw-slash?_0) #f) | |
#f)) | |
(let-values (((or-part_40) dots-dir-ok?_0)) | |
(if or-part_40 | |
or-part_40 | |
((letrec-values (((loop_45) | |
(lambda (i_33) | |
(begin | |
'loop | |
(if (= i_33 len_3) | |
(let-values () #t) | |
(if (char=? | |
(string-ref v_41 i_33) | |
'#\.) | |
(let-values () | |
(if (not | |
(let-values (((or-part_41) | |
(= | |
len_3 | |
(add1 | |
i_33)))) | |
(if or-part_41 | |
or-part_41 | |
(char=? | |
(string-ref | |
v_41 | |
(add1 i_33)) | |
'#\/)))) | |
(if (not | |
(if (char=? | |
(string-ref | |
v_41 | |
(add1 i_33)) | |
'#\.) | |
(let-values (((or-part_29) | |
(= | |
len_3 | |
(+ | |
i_33 | |
2)))) | |
(if or-part_29 | |
or-part_29 | |
(char=? | |
(string-ref | |
v_41 | |
(+ i_33 2)) | |
'#\/))) | |
#f)) | |
(loop_45 | |
((letrec-values (((loop_57) | |
(lambda (i_34) | |
(begin | |
'loop | |
(if (char=? | |
'#\. | |
(string-ref | |
v_41 | |
i_34)) | |
(loop_57 | |
(add1 | |
i_34)) | |
i_34))))) | |
loop_57) | |
i_33)) | |
#f) | |
#f)) | |
(let-values () | |
(loop_45 (add1 i_33))))))))) | |
loop_45) | |
0))) | |
#f))))))) | |
loop_56) | |
(sub1 len_3) | |
#f | |
(not file-end-ok?_0) | |
#f) | |
#f)) | |
#f) | |
#f) | |
#f))))))))))) | |
(define-values | |
(planet-user/pkg-string?) | |
(lambda (v_42) | |
(begin | |
(if (string? v_42) | |
(let-values (((len_4) (string-length v_42))) | |
(if (positive? len_4) | |
(let-values (((vec_12 len_5) | |
(let-values (((vec_13) v_42)) | |
(begin (check-string vec_13) (values vec_13 (unsafe-string-length vec_13))))) | |
((start_9) 0)) | |
(begin | |
#f | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-naturals start_9))) | |
((letrec-values (((for-loop_15) | |
(lambda (result_7 pos_3 pos_4) | |
(begin | |
'for-loop | |
(if (if (unsafe-fx< pos_3 len_5) #t #f) | |
(let-values (((c_9) (string-ref vec_12 pos_3)) ((i_35) pos_4)) | |
(let-values (((result_8) | |
(let-values () | |
(let-values (((result_9) | |
(let-values () | |
(let-values () | |
(let-values (((or-part_42) | |
(plain-char? c_9))) | |
(if or-part_42 | |
or-part_42 | |
(let-values (((or-part_43) | |
(char=? '#\. c_9))) | |
(if or-part_43 | |
or-part_43 | |
(if (char=? '#\% c_9) | |
(if (< i_35 (- len_4 2)) | |
(hex-sequence? v_42 (add1 i_35)) | |
#f) | |
#f))))))))) | |
(values result_9))))) | |
(if (if (not ((lambda x_11 (not result_8)) c_9)) | |
(if (not ((lambda x_12 (not result_8)) i_35)) (not #f) #f) | |
#f) | |
(for-loop_15 result_8 (unsafe-fx+ 1 pos_3) (+ pos_4 1)) | |
result_8))) | |
result_7))))) | |
for-loop_15) | |
#t | |
0 | |
start_9))) | |
#f)) | |
#f)))) | |
(define-values | |
(plain-char?) | |
(lambda (c_10) | |
(begin | |
(let-values (((or-part_44) (char<=? '#\a c_10 '#\z))) | |
(if or-part_44 | |
or-part_44 | |
(let-values (((or-part_45) (char<=? '#\A c_10 '#\Z))) | |
(if or-part_45 | |
or-part_45 | |
(let-values (((or-part_46) (char<=? '#\0 c_10 '#\9))) | |
(if or-part_46 | |
or-part_46 | |
(let-values (((or-part_47) (char=? '#\- c_10))) | |
(if or-part_47 | |
or-part_47 | |
(let-values (((or-part_48) (char=? '#\_ c_10))) | |
(if or-part_48 or-part_48 (char=? '#\+ c_10)))))))))))))) | |
(define-values | |
(hex-sequence?) | |
(lambda (s_38 i_36) | |
(begin | |
(let-values (((c1_16) (string-ref s_38 i_36))) | |
(let-values (((c2_0) (string-ref s_38 (add1 i_36)))) | |
(if (hex-char? c1_16) | |
(if (hex-char? c2_0) | |
(let-values (((c_11) (integer->char (+ (* (hex-char->integer c1_16) 16) (hex-char->integer c2_0))))) | |
(not (plain-char? c_11))) | |
#f) | |
#f)))))) | |
(define-values | |
(hex-char?) | |
(lambda (c_12) | |
(begin (let-values (((or-part_49) (char<=? '#\a c_12 '#\f))) (if or-part_49 or-part_49 (char<=? '#\0 c_12 '#\9)))))) | |
(define-values | |
(hex-char->integer) | |
(lambda (c_13) | |
(begin | |
(if (char<=? '#\a c_13 '#\f) | |
(let-values () (- (char->integer c_13) (+ 10 (char->integer '#\a)))) | |
(if (char<=? '#\A c_13 '#\F) | |
(let-values () (- (char->integer c_13) (+ 10 (char->integer '#\A)))) | |
(let-values () (- (char->integer c_13) (char->integer '#\0)))))))) | |
(define-values | |
(check-planet-part) | |
(lambda (v_43 len_6) | |
(begin | |
(let-values (((start-package-version-pos_1 end-package-version-pos_1 colon1-pos_0 colon2-pos_0) | |
((letrec-values (((loop_58) | |
(lambda (j_2 | |
start-package-version-pos_2 | |
end-package-version-pos_2 | |
colon1-pos_1 | |
colon2-pos_1) | |
(begin | |
'loop | |
(if (= j_2 len_6) | |
(let-values () | |
(values | |
start-package-version-pos_2 | |
(let-values (((or-part_50) end-package-version-pos_2)) | |
(if or-part_50 or-part_50 j_2)) | |
colon1-pos_1 | |
colon2-pos_1)) | |
(let-values () | |
(let-values (((tmp_7) (string-ref v_43 j_2))) | |
(if (equal? tmp_7 '#\/) | |
(let-values () | |
(loop_58 | |
(add1 j_2) | |
(let-values (((or-part_51) start-package-version-pos_2)) | |
(if or-part_51 or-part_51 (add1 j_2))) | |
(if start-package-version-pos_2 | |
(let-values (((or-part_52) end-package-version-pos_2)) | |
(if or-part_52 or-part_52 j_2)) | |
#f) | |
colon1-pos_1 | |
colon2-pos_1)) | |
(if (equal? tmp_7 '#\:) | |
(let-values () | |
(if colon2-pos_1 | |
(let-values () (values #f #f #f #f)) | |
(if colon1-pos_1 | |
(let-values () | |
(loop_58 | |
(add1 j_2) | |
start-package-version-pos_2 | |
end-package-version-pos_2 | |
colon1-pos_1 | |
j_2)) | |
(let-values () | |
(loop_58 | |
(add1 j_2) | |
start-package-version-pos_2 | |
end-package-version-pos_2 | |
j_2 | |
#f))))) | |
(let-values () | |
(loop_58 | |
(add1 j_2) | |
start-package-version-pos_2 | |
end-package-version-pos_2 | |
colon1-pos_1 | |
colon2-pos_1))))))))))) | |
loop_58) | |
0 | |
#f | |
#f | |
#f | |
#f))) | |
(if (if start-package-version-pos_1 | |
(if (> end-package-version-pos_1 start-package-version-pos_1) | |
(let-values (((or-part_53) (not colon2-pos_0))) | |
(if or-part_53 or-part_53 (< (add1 colon2-pos_0) end-package-version-pos_1))) | |
#f) | |
#f) | |
(let-values () | |
(if colon1-pos_0 | |
(let-values () | |
(let-values (((colon1-end_0) | |
(let-values (((or-part_54) colon2-pos_0)) | |
(if or-part_54 or-part_54 end-package-version-pos_1)))) | |
(if (if (integer-sequence? v_43 (add1 colon1-pos_0) colon1-end_0) | |
(let-values (((or-part_55) (not colon2-pos_0))) | |
(if or-part_55 | |
or-part_55 | |
(let-values (((tmp_8) (string-ref v_43 (add1 colon2-pos_0)))) | |
(if (equal? tmp_8 '#\=) | |
(let-values () (integer-sequence? v_43 (+ 2 colon2-pos_0) end-package-version-pos_1)) | |
(if (if (equal? tmp_8 '#\>) #t (equal? tmp_8 '#\<)) | |
(let-values () | |
(if (if (< (+ 2 colon2-pos_0) end-package-version-pos_1) | |
(char=? '#\= (string-ref v_43 (+ colon2-pos_0 2))) | |
#f) | |
(let-values () | |
(integer-sequence? v_43 (+ 3 colon2-pos_0) end-package-version-pos_1)) | |
(let-values () | |
(integer-sequence? v_43 (+ 2 colon2-pos_0) end-package-version-pos_1)))) | |
(let-values () | |
(integer-range-sequence? v_43 (add1 colon2-pos_0) end-package-version-pos_1))))))) | |
#f) | |
(let-values () (values colon1-pos_0 end-package-version-pos_1)) | |
(let-values () (values #f #f))))) | |
(let-values () (values 0 0)))) | |
(let-values () (values #f #f))))))) | |
(define-values | |
(integer-sequence?) | |
(lambda (s_39 start_10 end_4) | |
(begin | |
(if (< start_10 end_4) | |
(let-values (((start_11) start_10) ((end_5) end_4) ((inc_0) 1)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-range start_11 end_5 inc_0))) | |
((letrec-values (((for-loop_16) | |
(lambda (result_10 pos_5) | |
(begin | |
'for-loop | |
(if (< pos_5 end_5) | |
(let-values (((i_37) pos_5)) | |
(let-values (((result_0) | |
(let-values () | |
(let-values (((result_11) | |
(let-values () | |
(let-values () | |
(char<=? '#\0 (string-ref s_39 i_37) '#\9))))) | |
(values result_11))))) | |
(if (if (not ((lambda x_13 (not result_0)) i_37)) (not #f) #f) | |
(for-loop_16 result_0 (+ pos_5 inc_0)) | |
result_0))) | |
result_10))))) | |
for-loop_16) | |
#t | |
start_11))) | |
#f)))) | |
(define-values | |
(integer-range-sequence?) | |
(lambda (s_40 start_12 end_6) | |
(begin | |
(if (< start_12 end_6) | |
(if (let-values (((start_13) start_12) ((end_7) end_6) ((inc_1) 1)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-range start_13 end_7 inc_1))) | |
((letrec-values (((for-loop_17) | |
(lambda (result_12 pos_6) | |
(begin | |
'for-loop | |
(if (< pos_6 end_7) | |
(let-values (((i_38) pos_6)) | |
(let-values (((result_13) | |
(let-values () | |
(let-values (((result_14) | |
(let-values () | |
(let-values () | |
(let-values (((c_14) | |
(string-ref s_40 i_38))) | |
(let-values (((or-part_56) | |
(char=? c_14 '#\-))) | |
(if or-part_56 | |
or-part_56 | |
(char<=? '#\0 c_14 '#\9)))))))) | |
(values result_14))))) | |
(if (if (not ((lambda x_1 (not result_13)) i_38)) (not #f) #f) | |
(for-loop_17 result_13 (+ pos_6 inc_1)) | |
result_13))) | |
result_12))))) | |
for-loop_17) | |
#t | |
start_13))) | |
(>= | |
1 | |
(let-values (((start_14) start_12) ((end_8) end_6) ((inc_2) 1)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-range start_14 end_8 inc_2))) | |
((letrec-values (((for-loop_18) | |
(lambda (result_15 pos_7) | |
(begin | |
'for-loop | |
(if (< pos_7 end_8) | |
(let-values (((i_39) pos_7)) | |
(let-values (((result_16) | |
(let-values (((result_17) result_15)) | |
(let-values (((result_18) | |
(let-values () | |
(+ | |
result_17 | |
(let-values () | |
(if (char=? (string-ref s_40 i_39) '#\-) | |
1 | |
0)))))) | |
(values result_18))))) | |
(if (not #f) (for-loop_18 result_16 (+ pos_7 inc_2)) result_16))) | |
result_15))))) | |
for-loop_18) | |
0 | |
start_14)))) | |
#f) | |
#f)))) | |
(define-values | |
(struct:weak-intern-table weak-intern-table1.1 weak-intern-table? weak-intern-table-box) | |
(let-values (((struct:_2 make-_2 ?_2 -ref_2 -set!_2) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'weak-intern-table | |
#f | |
1 | |
0 | |
#f | |
(list (cons prop:authentic #t)) | |
(current-inspector) | |
#f | |
'(0) | |
#f | |
'weak-intern-table))))) | |
(values struct:_2 make-_2 ?_2 (make-struct-field-accessor -ref_2 0 'box)))) | |
(define-values | |
(struct:table table2.1 table? table-ht table-count table-prune-at) | |
(let-values (((struct:_3 make-_3 ?_3 -ref_3 -set!_3) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'table | |
#f | |
3 | |
0 | |
#f | |
(list (cons prop:authentic #t)) | |
(current-inspector) | |
#f | |
'(0 1 2) | |
#f | |
'table))))) | |
(values | |
struct:_3 | |
make-_3 | |
?_3 | |
(make-struct-field-accessor -ref_3 0 'ht) | |
(make-struct-field-accessor -ref_3 1 'count) | |
(make-struct-field-accessor -ref_3 2 'prune-at)))) | |
(define-values (make-weak-intern-table) (lambda () (begin (weak-intern-table1.1 (box (table2.1 (hasheqv) 0 128)))))) | |
(define-values | |
(weak-intern!) | |
(lambda (tt_0 v_44) | |
(begin | |
(let-values (((b_9) (weak-intern-table-box tt_0))) | |
(let-values (((t_1) (unbox b_9))) | |
(let-values (((code_0) (equal-hash-code v_44))) | |
(let-values (((vals_0) (hash-ref (table-ht t_1) code_0 null))) | |
(let-values (((or-part_57) | |
(let-values (((lst_23) vals_0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_23))) | |
((letrec-values (((for-loop_19) | |
(lambda (result_19 lst_24) | |
(begin | |
'for-loop | |
(if (pair? lst_24) | |
(let-values (((b_10) (unsafe-car lst_24)) | |
((rest_8) (unsafe-cdr lst_24))) | |
(let-values (((result_20) | |
(let-values () | |
(let-values (((result_21) | |
(let-values () | |
(let-values () | |
(let-values (((bv_0) | |
(weak-box-value | |
b_10))) | |
(if (equal? bv_0 v_44) | |
bv_0 | |
#f)))))) | |
(values result_21))))) | |
(if (if (not ((lambda x_14 result_20) b_10)) (not #f) #f) | |
(for-loop_19 result_20 rest_8) | |
result_20))) | |
result_19))))) | |
for-loop_19) | |
#f | |
lst_23))))) | |
(if or-part_57 | |
or-part_57 | |
(let-values (((pruned-t_0) (if (= (table-count t_1) (table-prune-at t_1)) (prune-table t_1) t_1))) | |
(let-values (((ht_23) (table-ht pruned-t_0))) | |
(let-values (((new-t_0) | |
(table2.1 | |
(hash-set ht_23 code_0 (cons (make-weak-box v_44) (hash-ref ht_23 code_0 null))) | |
(add1 (table-count pruned-t_0)) | |
(table-prune-at pruned-t_0)))) | |
(let-values (((or-part_34) (if (box-cas! b_9 t_1 new-t_0) v_44 #f))) | |
(if or-part_34 or-part_34 (weak-intern! tt_0 v_44))))))))))))))) | |
(define-values | |
(prune-table) | |
(lambda (t_2) | |
(begin | |
(let-values (((new-ht_0) | |
(let-values (((ht_24) (table-ht t_2))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash ht_24))) | |
((letrec-values (((for-loop_20) | |
(lambda (table_8 i_40) | |
(begin | |
'for-loop | |
(if i_40 | |
(let-values (((k_9 vals_1) (hash-iterate-key+value ht_24 i_40))) | |
(let-values (((table_9) | |
(let-values (((new-vals_0) | |
(reverse$1 | |
(let-values (((lst_25) vals_1)) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () | |
(check-list lst_25))) | |
((letrec-values (((for-loop_21) | |
(lambda (fold-var_7 | |
lst_26) | |
(begin | |
'for-loop | |
(if (pair? | |
lst_26) | |
(let-values (((b_11) | |
(unsafe-car | |
lst_26)) | |
((rest_9) | |
(unsafe-cdr | |
lst_26))) | |
(let-values (((fold-var_8) | |
(let-values (((fold-var_9) | |
fold-var_7)) | |
(if (weak-box-value | |
b_11) | |
(let-values (((fold-var_10) | |
fold-var_9)) | |
(let-values (((fold-var_11) | |
(let-values () | |
(cons | |
(let-values () | |
b_11) | |
fold-var_10)))) | |
(values | |
fold-var_11))) | |
fold-var_9)))) | |
(if (not | |
#f) | |
(for-loop_21 | |
fold-var_8 | |
rest_9) | |
fold-var_8))) | |
fold-var_7))))) | |
for-loop_21) | |
null | |
lst_25)))))) | |
(begin | |
#t | |
((letrec-values (((for-loop_22) | |
(lambda (table_10) | |
(begin | |
'for-loop | |
(let-values () | |
(let-values (((table_11) | |
(let-values (((table_12) | |
table_10)) | |
(if (pair? | |
new-vals_0) | |
(let-values (((table_13) | |
table_12)) | |
(let-values (((table_14) | |
(let-values () | |
(let-values (((key_11 | |
val_2) | |
(let-values () | |
(values | |
k_9 | |
new-vals_0)))) | |
(hash-set | |
table_13 | |
key_11 | |
val_2))))) | |
(values | |
table_14))) | |
table_12)))) | |
table_11)))))) | |
for-loop_22) | |
table_8))))) | |
(if (not #f) | |
(for-loop_20 table_9 (hash-iterate-next ht_24 i_40)) | |
table_9))) | |
table_8))))) | |
for-loop_20) | |
'#hash() | |
(hash-iterate-first ht_24)))))) | |
(let-values (((count_0) | |
(let-values (((ht_25) new-ht_0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash ht_25))) | |
((letrec-values (((for-loop_23) | |
(lambda (result_22 i_41) | |
(begin | |
'for-loop | |
(if i_41 | |
(let-values (((k_10 vals_2) (hash-iterate-key+value ht_25 i_41))) | |
(let-values (((result_23) | |
(let-values (((result_24) result_22)) | |
(let-values (((result_25) | |
(let-values () | |
(+ | |
result_24 | |
(let-values () (length vals_2)))))) | |
(values result_25))))) | |
(if (not #f) | |
(for-loop_23 result_23 (hash-iterate-next ht_25 i_41)) | |
result_23))) | |
result_22))))) | |
for-loop_23) | |
0 | |
(hash-iterate-first ht_25)))))) | |
(table2.1 new-ht_0 count_0 (max 128 (* 2 count_0)))))))) | |
(define-values | |
(struct:resolved-module-path resolved-module-path1.1 1/resolved-module-path? 1/resolved-module-path-name) | |
(let-values (((struct:_4 make-_4 ?_4 -ref_4 -set!_4) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'resolved-module-path | |
#f | |
1 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:serialize | |
(lambda (r_4 ser-push!_0 state_0) | |
(begin | |
(ser-push!_0 'tag '#:resolved-module-path) | |
(ser-push!_0 (1/resolved-module-path-name r_4))))) | |
(cons | |
prop:custom-write | |
(lambda (r_8 port_0 mode_3) | |
(begin | |
(if mode_3 (let-values () (write-string "#<resolved-module-path:" port_0)) (void)) | |
(fprintf port_0 "~a" (format-resolved-module-path-name (1/resolved-module-path-name r_8))) | |
(if mode_3 (let-values () (write-string ">" port_0)) (void))))) | |
(cons | |
prop:equal+hash | |
(list | |
(lambda (a_11 b_12 eql?_0) | |
(eql?_0 (1/resolved-module-path-name a_11) (1/resolved-module-path-name b_12))) | |
(lambda (a_12 hash-code_0) (hash-code_0 (1/resolved-module-path-name a_12))) | |
(lambda (a_13 hash-code_1) (hash-code_1 (1/resolved-module-path-name a_13)))))) | |
(current-inspector) | |
#f | |
'(0) | |
#f | |
'resolved-module-path))))) | |
(values struct:_4 make-_4 ?_4 (make-struct-field-accessor -ref_4 0 'name)))) | |
(define-values | |
(format-resolved-module-path-name) | |
(lambda (p_4) | |
(begin | |
(if (path? p_4) | |
(let-values () (string-append "\"" (path->string p_4) "\"")) | |
(if (symbol? p_4) | |
(let-values () (format-symbol p_4)) | |
(let-values () (format-submod (format-resolved-module-path-name (car p_4)) (cdr p_4)))))))) | |
(define-values | |
(format-symbol) | |
(lambda (p_5) (begin (format "'~s~a" p_5 (if (symbol-interned? p_5) "" (format "[~a]" (eq-hash-code p_5))))))) | |
(define-values | |
(format-submod) | |
(lambda (base_1 syms_0) | |
(begin | |
(format | |
"(submod ~a~a)" | |
base_1 | |
(apply | |
string-append | |
(reverse$1 | |
(let-values (((lst_27) syms_0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_27))) | |
((letrec-values (((for-loop_24) | |
(lambda (fold-var_12 lst_28) | |
(begin | |
'for-loop | |
(if (pair? lst_28) | |
(let-values (((i_42) (unsafe-car lst_28)) ((rest_10) (unsafe-cdr lst_28))) | |
(let-values (((fold-var_13) | |
(let-values (((fold-var_14) fold-var_12)) | |
(let-values (((fold-var_8) | |
(let-values () | |
(cons | |
(let-values () (format " ~s" i_42)) | |
fold-var_14)))) | |
(values fold-var_8))))) | |
(if (not #f) (for-loop_24 fold-var_13 rest_10) fold-var_13))) | |
fold-var_12))))) | |
for-loop_24) | |
null | |
lst_27))))))))) | |
(define-values | |
(resolved-module-path-root-name) | |
(lambda (r_9) | |
(begin (let-values (((name_7) (1/resolved-module-path-name r_9))) (if (pair? name_7) (car name_7) name_7))))) | |
(define-values (resolved-module-paths) (make-weak-intern-table)) | |
(define-values | |
(1/make-resolved-module-path) | |
(lambda (p_6) | |
(begin | |
'make-resolved-module-path | |
(begin | |
(if (let-values (((or-part_35) (symbol? p_6))) | |
(if or-part_35 | |
or-part_35 | |
(let-values (((or-part_36) (if (path? p_6) (complete-path? p_6) #f))) | |
(if or-part_36 | |
or-part_36 | |
(if (pair? p_6) | |
(if (pair? (cdr p_6)) | |
(if (list? p_6) | |
(if (let-values (((or-part_37) (symbol? (car p_6)))) | |
(if or-part_37 or-part_37 (if (path? (car p_6)) (complete-path? (car p_6)) #f))) | |
(let-values (((lst_21) (cdr p_6))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_21))) | |
((letrec-values (((for-loop_14) | |
(lambda (result_4 lst_22) | |
(begin | |
'for-loop | |
(if (pair? lst_22) | |
(let-values (((s_41) (unsafe-car lst_22)) | |
((rest_7) (unsafe-cdr lst_22))) | |
(let-values (((result_5) | |
(let-values () | |
(let-values (((result_6) | |
(let-values () | |
(let-values () | |
(symbol? s_41))))) | |
(values result_6))))) | |
(if (if (not ((lambda x_15 (not result_5)) s_41)) | |
(not #f) | |
#f) | |
(for-loop_14 result_5 rest_7) | |
result_5))) | |
result_4))))) | |
for-loop_14) | |
#t | |
lst_21))) | |
#f) | |
#f) | |
#f) | |
#f))))) | |
(void) | |
(let-values () | |
(raise-argument-error | |
'make-resolved-module-path | |
(string-append | |
"(or/c symbol?\n" | |
" (and/c path? complete-path?)\n" | |
" (cons/c (or/c symbol?\n" | |
" (and/c path? complete-path?))\n" | |
" (non-empty-listof symbol?)))") | |
p_6))) | |
(weak-intern! resolved-module-paths (resolved-module-path1.1 p_6)))))) | |
(define-values | |
(resolved-module-path->module-path) | |
(lambda (r_10) | |
(begin | |
(let-values (((name_8) (1/resolved-module-path-name r_10))) | |
(let-values (((root-name_0) (if (pair? name_8) (car name_8) name_8))) | |
(let-values (((root-mod-path_0) (if (path? root-name_0) root-name_0 (list 'quote root-name_0)))) | |
(if (pair? name_8) (list* 'submod root-mod-path_0 (cdr name_8)) root-mod-path_0))))))) | |
(define-values | |
(struct:module-path-index | |
module-path-index2.1 | |
1/module-path-index? | |
module-path-index-path | |
module-path-index-base | |
module-path-index-resolved | |
module-path-index-shift-cache | |
set-module-path-index-resolved! | |
set-module-path-index-shift-cache!) | |
(let-values (((struct:_5 make-_5 ?_5 -ref_5 -set!_5) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'module-path-index | |
#f | |
4 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:custom-write | |
(lambda (r_11 port_1 mode_4) | |
(begin | |
(write-string "#<module-path-index" port_1) | |
(if (top-level-module-path-index? r_11) | |
(let-values () (fprintf port_1 ":top-level")) | |
(if (module-path-index-path r_11) | |
(let-values () | |
(let-values (((l_29) | |
((letrec-values (((loop_59) | |
(lambda (r_12) | |
(begin | |
'loop | |
(if (not r_12) | |
(let-values () null) | |
(if (1/resolved-module-path? r_12) | |
(let-values () (list "+" (format "~a" r_12))) | |
(if (module-path-index-path r_12) | |
(let-values () | |
(cons | |
((letrec-values (((loop_60) | |
(lambda (v_45) | |
(begin | |
'loop | |
(if (if (pair? v_45) | |
(if (eq? | |
'quote | |
(car | |
v_45)) | |
(null? | |
(cddr | |
v_45)) | |
#f) | |
#f) | |
(let-values () | |
(format-symbol | |
(cadr v_45))) | |
(if (if (pair? | |
v_45) | |
(eq? | |
'submod | |
(car v_45)) | |
#f) | |
(let-values () | |
(format-submod | |
(loop_60 | |
(cadr v_45)) | |
(cddr v_45))) | |
(let-values () | |
(format | |
"~.s" | |
v_45)))))))) | |
loop_60) | |
(module-path-index-path r_12)) | |
(loop_59 (module-path-index-base r_12)))) | |
(if (module-path-index-resolved r_12) | |
(let-values () | |
(list | |
"+" | |
(format | |
"~a" | |
(module-path-index-resolved r_12)))) | |
(let-values () null))))))))) | |
loop_59) | |
r_11))) | |
(fprintf | |
port_1 | |
":~.a" | |
(apply | |
string-append | |
(car l_29) | |
(reverse$1 | |
(let-values (((lst_29) (cdr l_29))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_29))) | |
((letrec-values (((for-loop_25) | |
(lambda (fold-var_15 lst_30) | |
(begin | |
'for-loop | |
(if (pair? lst_30) | |
(let-values (((i_43) (unsafe-car lst_30)) | |
((rest_11) (unsafe-cdr lst_30))) | |
(let-values (((fold-var_16) | |
(let-values (((fold-var_17) | |
fold-var_15)) | |
(let-values (((fold-var_18) | |
(let-values () | |
(cons | |
(let-values () | |
(format | |
" ~a" | |
i_43)) | |
fold-var_17)))) | |
(values fold-var_18))))) | |
(if (not #f) | |
(for-loop_25 fold-var_16 rest_11) | |
fold-var_16))) | |
fold-var_15))))) | |
for-loop_25) | |
null | |
lst_29)))))))) | |
(if (module-path-index-resolved r_11) | |
(let-values () (fprintf port_1 "=~a" (module-path-index-resolved r_11))) | |
(void)))) | |
(write-string ">" port_1)))) | |
(cons | |
prop:equal+hash | |
(list | |
(lambda (a_14 b_13 eql?_1) | |
(if (eql?_1 (module-path-index-path a_14) (module-path-index-path b_13)) | |
(eql?_1 (module-path-index-base a_14) (module-path-index-base b_13)) | |
#f)) | |
(lambda (a_15 hash-code_2) | |
(+ (hash-code_2 (module-path-index-path a_15)) (hash-code_2 (module-path-index-base a_15)))) | |
(lambda (a_16 hash-code_3) | |
(+ | |
(hash-code_3 (module-path-index-path a_16)) | |
(hash-code_3 (module-path-index-base a_16))))))) | |
(current-inspector) | |
#f | |
'(0 1) | |
#f | |
'module-path-index))))) | |
(values | |
struct:_5 | |
make-_5 | |
?_5 | |
(make-struct-field-accessor -ref_5 0 'path) | |
(make-struct-field-accessor -ref_5 1 'base) | |
(make-struct-field-accessor -ref_5 2 'resolved) | |
(make-struct-field-accessor -ref_5 3 'shift-cache) | |
(make-struct-field-mutator -set!_5 2 'resolved) | |
(make-struct-field-mutator -set!_5 3 'shift-cache)))) | |
(define-values (empty-shift-cache) '()) | |
(define-values | |
(deserialize-module-path-index) | |
(case-lambda | |
((path_6 base_5) (begin (1/module-path-index-join path_6 base_5))) | |
((name_9) (make-self-module-path-index (1/make-resolved-module-path name_9))) | |
(() top-level-module-path-index))) | |
(define-values | |
(1/module-path-index-resolve) | |
(let-values (((module-path-index-resolve_0) | |
(lambda (mpi4_0 load?3_0) | |
(begin | |
'module-path-index-resolve | |
(let-values (((mpi_0) mpi4_0)) | |
(let-values (((load?_0) load?3_0)) | |
(let-values () | |
(let-values () | |
(let-values () | |
(begin | |
(if (1/module-path-index? mpi_0) | |
(void) | |
(let-values () | |
(raise-argument-error 'module-path-index-resolve "module-path-index?" mpi_0))) | |
(let-values (((or-part_58) (module-path-index-resolved mpi_0))) | |
(if or-part_58 | |
or-part_58 | |
(let-values (((mod-name_0) | |
(begin | |
(if log-performance? | |
(let-values () (start-performance-region 'eval 'resolver)) | |
(void)) | |
(begin0 | |
(let-values () | |
((1/current-module-name-resolver) | |
(module-path-index-path mpi_0) | |
(module-path-index-resolve/maybe | |
(module-path-index-base mpi_0) | |
load?_0) | |
#f | |
load?_0)) | |
(if log-performance? | |
(let-values () (end-performance-region)) | |
(void)))))) | |
(begin | |
(if (1/resolved-module-path? mod-name_0) | |
(void) | |
(let-values () | |
(raise-arguments-error | |
'module-path-index-resolve | |
"current module name resolver's result is not a resolved module path" | |
"result" | |
mod-name_0))) | |
(set-module-path-index-resolved! mpi_0 mod-name_0) | |
mod-name_0)))))))))))))) | |
(case-lambda | |
((mpi_1) (begin 'module-path-index-resolve (module-path-index-resolve_0 mpi_1 #f))) | |
((mpi_2 load?3_1) (module-path-index-resolve_0 mpi_2 load?3_1))))) | |
(define-values | |
(module-path-index-unresolve) | |
(lambda (mpi_3) | |
(begin | |
(if (module-path-index-resolved mpi_3) | |
(let-values () | |
(let-values (((path_7 base_6) (1/module-path-index-split mpi_3))) (1/module-path-index-join path_7 base_6))) | |
(let-values () mpi_3))))) | |
(define-values | |
(1/module-path-index-join) | |
(let-values (((module-path-index-join_0) | |
(lambda (mod-path6_0 base7_0 submod5_0) | |
(begin | |
'module-path-index-join | |
(let-values (((mod-path_0) mod-path6_0)) | |
(let-values (((base_7) base7_0)) | |
(let-values (((submod_0) submod5_0)) | |
(let-values () | |
(let-values () | |
(let-values () | |
(begin | |
(if ((lambda (x_16) | |
(let-values (((or-part_59) (not x_16))) | |
(if or-part_59 or-part_59 (1/module-path? x_16)))) | |
mod-path_0) | |
(void) | |
(let-values () | |
(raise-argument-error | |
'module-path-index-join | |
"(or/c #f module-path?)" | |
mod-path_0))) | |
(if (let-values (((or-part_60) (not base_7))) | |
(if or-part_60 | |
or-part_60 | |
(let-values (((or-part_61) (1/resolved-module-path? base_7))) | |
(if or-part_61 or-part_61 (1/module-path-index? base_7))))) | |
(void) | |
(let-values () | |
(raise-argument-error | |
'module-path-index-join | |
"(or/c #f resolved-module-path? module-path-index?)" | |
base_7))) | |
(if (let-values (((or-part_62) (not submod_0))) | |
(if or-part_62 | |
or-part_62 | |
(if (pair? submod_0) (if (list? submod_0) (andmap2 symbol? submod_0) #f) #f))) | |
(void) | |
(let-values () | |
(raise-argument-error | |
'module-path-index-join | |
"(or/c #f (non-empty-listof symbol?))" | |
submod_0))) | |
(if (if (not mod-path_0) base_7 #f) | |
(let-values () | |
(raise-arguments-error | |
'module-path-index-join | |
"cannot combine #f path with non-#f base" | |
"given base" | |
base_7)) | |
(void)) | |
(if (if submod_0 mod-path_0 #f) | |
(let-values () | |
(raise-arguments-error | |
'module-path-index-join | |
"cannot combine #f submodule list with non-#f module path" | |
"given module path" | |
mod-path_0 | |
"given submodule list" | |
submod_0)) | |
(void)) | |
(if submod_0 | |
(let-values () | |
(make-self-module-path-index | |
(1/make-resolved-module-path (cons generic-module-name submod_0)))) | |
(let-values () | |
(let-values (((keep-base_0) | |
((letrec-values (((loop_61) | |
(lambda (mod-path_1) | |
(begin | |
'loop | |
(if (path? mod-path_1) | |
(let-values () #f) | |
(if (if (pair? mod-path_1) | |
(eq? 'quote (car mod-path_1)) | |
#f) | |
(let-values () #f) | |
(if (symbol? mod-path_1) | |
(let-values () #f) | |
(if (if (pair? mod-path_1) | |
(eq? 'submod (car mod-path_1)) | |
#f) | |
(let-values () | |
(loop_61 (cadr mod-path_1))) | |
(let-values () base_7))))))))) | |
loop_61) | |
mod-path_0))) | |
(module-path-index2.1 mod-path_0 keep-base_0 #f empty-shift-cache))))))))))))))) | |
(case-lambda | |
((mod-path_2 base_8) (begin 'module-path-index-join (module-path-index-join_0 mod-path_2 base_8 #f))) | |
((mod-path_3 base_9 submod5_1) (module-path-index-join_0 mod-path_3 base_9 submod5_1))))) | |
(define-values | |
(module-path-index-resolve/maybe) | |
(lambda (base_10 load?_1) | |
(begin (if (1/module-path-index? base_10) (1/module-path-index-resolve base_10 load?_1) base_10)))) | |
(define-values | |
(1/module-path-index-split) | |
(lambda (mpi_4) | |
(begin | |
'module-path-index-split | |
(let-values () | |
(let-values () | |
(begin | |
(if (1/module-path-index? mpi_4) | |
(void) | |
(let-values () (raise-argument-error 'module-path-index-split "module-path-index?" mpi_4))) | |
(values (module-path-index-path mpi_4) (module-path-index-base mpi_4)))))))) | |
(define-values | |
(1/module-path-index-submodule) | |
(lambda (mpi_5) | |
(begin | |
'module-path-index-submodule | |
(let-values () | |
(let-values () | |
(begin | |
(if (1/module-path-index? mpi_5) | |
(void) | |
(let-values () (raise-argument-error 'module-path-index-submodule "module-path-index?" mpi_5))) | |
(if (not (module-path-index-path mpi_5)) | |
(let-values (((r_13) (module-path-index-resolved mpi_5))) | |
(if r_13 (let-values (((p_7) (1/resolved-module-path-name r_13))) (if (pair? p_7) (cdr p_7) #f)) #f)) | |
#f))))))) | |
(define-values | |
(make-self-module-path-index) | |
(case-lambda | |
((name_10) (begin (module-path-index2.1 #f #f name_10 empty-shift-cache))) | |
((name_11 enclosing_0) | |
(make-self-module-path-index | |
(let-values (((name19_0) name_11) ((temp20_1) (if enclosing_0 (1/module-path-index-resolve enclosing_0) #f))) | |
(build-module-name.1 unsafe-undefined name19_0 temp20_1)))))) | |
(define-values (cell.1$8) (unsafe-make-place-local (make-weak-hash))) | |
(define-values (generic-module-name) '|expanded module|) | |
(define-values (module-path-place-init!) (lambda () (begin (unsafe-place-local-set! cell.1$8 (make-weak-hash))))) | |
(define-values | |
(make-generic-self-module-path-index) | |
(lambda (self_0) | |
(begin | |
(let-values (((r_14) (resolved-module-path-to-generic-resolved-module-path (module-path-index-resolved self_0)))) | |
(begin | |
(start-atomic) | |
(begin0 | |
(let-values (((or-part_48) | |
(let-values (((e_9) (hash-ref (unsafe-place-local-ref cell.1$8) r_14 #f))) | |
(if e_9 (ephemeron-value e_9) #f)))) | |
(if or-part_48 | |
or-part_48 | |
(let-values (((mpi_6) (module-path-index2.1 #f #f r_14 empty-shift-cache))) | |
(begin (hash-set! (unsafe-place-local-ref cell.1$8) r_14 (make-ephemeron r_14 mpi_6)) mpi_6)))) | |
(end-atomic))))))) | |
(define-values | |
(resolved-module-path-to-generic-resolved-module-path) | |
(lambda (r_15) | |
(begin | |
(let-values (((name_12) (1/resolved-module-path-name r_15))) | |
(1/make-resolved-module-path | |
(if (symbol? name_12) generic-module-name (cons generic-module-name (cdr name_12)))))))) | |
(define-values | |
(imitate-generic-module-path-index!) | |
(lambda (mpi_7) | |
(begin | |
(let-values (((r_16) (module-path-index-resolved mpi_7))) | |
(if r_16 | |
(let-values () | |
(set-module-path-index-resolved! mpi_7 (resolved-module-path-to-generic-resolved-module-path r_16))) | |
(void)))))) | |
(define-values | |
(module-path-index-shift) | |
(lambda (mpi_8 from-mpi_0 to-mpi_0) | |
(begin | |
(if (eq? mpi_8 from-mpi_0) | |
(let-values () to-mpi_0) | |
(let-values () | |
(let-values (((base_11) (module-path-index-base mpi_8))) | |
(if (not base_11) | |
(let-values () mpi_8) | |
(let-values () | |
(let-values (((shifted-base_0) (module-path-index-shift base_11 from-mpi_0 to-mpi_0))) | |
(if (eq? shifted-base_0 base_11) | |
(let-values () mpi_8) | |
(let-values (((c1_17) (shift-cache-ref (module-path-index-shift-cache shifted-base_0) mpi_8))) | |
(if c1_17 | |
c1_17 | |
(let-values () | |
(let-values (((shifted-mpi_0) | |
(module-path-index2.1 | |
(module-path-index-path mpi_8) | |
shifted-base_0 | |
#f | |
empty-shift-cache))) | |
(begin (shift-cache-set! shifted-base_0 shifted-mpi_0) shifted-mpi_0))))))))))))))) | |
(define-values | |
(shift-cache-ref) | |
(lambda (cache_0 mpi_9) | |
(begin | |
(let-values (((lst_31) cache_0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_31))) | |
((letrec-values (((for-loop_26) | |
(lambda (result_26 lst_32) | |
(begin | |
'for-loop | |
(if (pair? lst_32) | |
(let-values (((wb_0) (unsafe-car lst_32)) ((rest_12) (unsafe-cdr lst_32))) | |
(let-values (((result_27) | |
(let-values () | |
(let-values (((result_28) | |
(let-values () | |
(let-values () | |
(let-values (((v_46) (weak-box-value wb_0))) | |
(if v_46 | |
(if (equal? | |
(module-path-index-path v_46) | |
(module-path-index-path mpi_9)) | |
v_46 | |
#f) | |
#f)))))) | |
(values result_28))))) | |
(if (if (not ((lambda x_17 result_27) wb_0)) (not #f) #f) | |
(for-loop_26 result_27 rest_12) | |
result_27))) | |
result_26))))) | |
for-loop_26) | |
#f | |
lst_31)))))) | |
(define-values | |
(shift-cache-set!) | |
(lambda (base_12 v_47) | |
(begin | |
(let-values (((new-cache_0) | |
(cons | |
(make-weak-box v_47) | |
((letrec-values (((loop_62) | |
(lambda (n_19 l_30) | |
(begin | |
'loop | |
(if (null? l_30) | |
(let-values () null) | |
(if (eqv? n_19 0) | |
(let-values () null) | |
(if (not (weak-box-value (car l_30))) | |
(let-values () (loop_62 n_19 (cdr l_30))) | |
(let-values () | |
(let-values (((r_17) (loop_62 (fx- n_19 1) (cdr l_30)))) | |
(if (eq? r_17 (cdr l_30)) l_30 (cons (car l_30) r_17))))))))))) | |
loop_62) | |
32 | |
(module-path-index-shift-cache base_12))))) | |
(set-module-path-index-shift-cache! base_12 new-cache_0))))) | |
(define-values (top-level-module-path-index) (make-self-module-path-index (1/make-resolved-module-path 'top-level))) | |
(define-values (top-level-module-path-index?) (lambda (mpi_10) (begin (eq? top-level-module-path-index mpi_10)))) | |
(define-values (non-self-module-path-index?) (lambda (mpi_11) (begin (if (module-path-index-path mpi_11) #t #f)))) | |
(define-values | |
(inside-module-context?) | |
(lambda (mpi_12 inside-mpi_0) | |
(begin | |
(let-values (((or-part_63) (eq? mpi_12 inside-mpi_0))) | |
(if or-part_63 | |
or-part_63 | |
(if (1/module-path-index? mpi_12) | |
(if (1/module-path-index? inside-mpi_0) | |
(if (module-path-index-resolved mpi_12) | |
(eq? (module-path-index-resolved mpi_12) (module-path-index-resolved inside-mpi_0)) | |
#f) | |
#f) | |
#f)))))) | |
(define-values | |
(core-module-name-resolver) | |
(case-lambda | |
((name_13 from-namespace_0) (begin (void))) | |
((p_8 enclosing_1 source-stx-stx_0 load?_2) | |
(begin | |
(if (1/module-path? p_8) | |
(void) | |
(let-values () (raise-argument-error 'core-module-name-resolver "module-path?" p_8))) | |
(if (let-values (((or-part_64) (not enclosing_1))) | |
(if or-part_64 or-part_64 (1/resolved-module-path? enclosing_1))) | |
(void) | |
(let-values () (raise-argument-error 'core-module-name-resolver "resolved-module-path?" enclosing_1))) | |
(if (if (list? p_8) (if (= (length p_8) 2) (if (eq? 'quote (car p_8)) (symbol? (cadr p_8)) #f) #f) #f) | |
(let-values () (1/make-resolved-module-path (cadr p_8))) | |
(if (if (list? p_8) (if (eq? 'submod (car p_8)) (equal? ".." (cadr p_8)) #f) #f) | |
(let-values () | |
(let-values (((lst_33) (cdr p_8))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_33))) | |
((letrec-values (((for-loop_27) | |
(lambda (enclosing_2 lst_34) | |
(begin | |
'for-loop | |
(if (pair? lst_34) | |
(let-values (((s_42) (unsafe-car lst_34)) ((rest_13) (unsafe-cdr lst_34))) | |
(let-values (((enclosing_3) | |
(let-values (((enclosing_4) enclosing_2)) | |
(let-values (((enclosing_5) | |
(let-values () | |
(let-values (((s21_0) s_42) | |
((enclosing22_0) enclosing_4) | |
((p23_0) p_8)) | |
(build-module-name.1 | |
p23_0 | |
s21_0 | |
enclosing22_0))))) | |
(values enclosing_5))))) | |
(if (not #f) (for-loop_27 enclosing_3 rest_13) enclosing_3))) | |
enclosing_2))))) | |
for-loop_27) | |
enclosing_1 | |
lst_33)))) | |
(if (if (list? p_8) (if (eq? 'submod (car p_8)) (equal? "." (cadr p_8)) #f) #f) | |
(let-values () | |
(let-values (((lst_35) (cddr p_8))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_35))) | |
((letrec-values (((for-loop_28) | |
(lambda (enclosing_6 lst_36) | |
(begin | |
'for-loop | |
(if (pair? lst_36) | |
(let-values (((s_43) (unsafe-car lst_36)) ((rest_14) (unsafe-cdr lst_36))) | |
(let-values (((enclosing_7) | |
(let-values (((enclosing_8) enclosing_6)) | |
(let-values (((enclosing_9) | |
(let-values () | |
(let-values (((s24_0) s_43) | |
((enclosing25_0) enclosing_8) | |
((p26_0) p_8)) | |
(build-module-name.1 | |
p26_0 | |
s24_0 | |
enclosing25_0))))) | |
(values enclosing_9))))) | |
(if (not #f) (for-loop_28 enclosing_7 rest_14) enclosing_7))) | |
enclosing_6))))) | |
for-loop_28) | |
enclosing_1 | |
lst_35)))) | |
(if (if (list? p_8) (eq? 'submod (car p_8)) #f) | |
(let-values () | |
(let-values (((base_13) ((1/current-module-name-resolver) (cadr p_8) enclosing_1 #f #f))) | |
(let-values (((lst_37) (cddr p_8))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_37))) | |
((letrec-values (((for-loop_29) | |
(lambda (enclosing_10 lst_38) | |
(begin | |
'for-loop | |
(if (pair? lst_38) | |
(let-values (((s_44) (unsafe-car lst_38)) ((rest_15) (unsafe-cdr lst_38))) | |
(let-values (((enclosing_11) | |
(let-values (((enclosing_12) enclosing_10)) | |
(let-values (((enclosing_13) | |
(let-values () | |
(let-values (((s27_0) s_44) | |
((enclosing28_0) | |
enclosing_12) | |
((p29_0) p_8)) | |
(build-module-name.1 | |
p29_0 | |
s27_0 | |
enclosing28_0))))) | |
(values enclosing_13))))) | |
(if (not #f) (for-loop_29 enclosing_11 rest_15) enclosing_11))) | |
enclosing_10))))) | |
for-loop_29) | |
base_13 | |
lst_37))))) | |
(let-values () (error 'core-module-name-resolver "not a supported module path: ~v" p_8)))))))))) | |
(define-values | |
(build-module-name.1) | |
(lambda (original8_0 name10_0 enclosing11_0) | |
(begin | |
'build-module-name | |
(let-values (((name_14) name10_0)) | |
(let-values (((enclosing_14) enclosing11_0)) | |
(let-values (((orig-name_0) (if (eq? original8_0 unsafe-undefined) name_14 original8_0))) | |
(let-values () | |
(let-values (((enclosing-module-name_0) (if enclosing_14 (1/resolved-module-path-name enclosing_14) #f))) | |
(1/make-resolved-module-path | |
(if (not enclosing-module-name_0) | |
(let-values () name_14) | |
(if (symbol? enclosing-module-name_0) | |
(let-values () (list enclosing-module-name_0 name_14)) | |
(if (equal? name_14 "..") | |
(let-values () | |
(if (symbol? enclosing-module-name_0) | |
(let-values () (error "too many \"..\"s:" orig-name_0)) | |
(if (= 2 (length enclosing-module-name_0)) | |
(let-values () (car enclosing-module-name_0)) | |
(let-values () (reverse$1 (cdr (reverse$1 enclosing-module-name_0))))))) | |
(let-values () (append enclosing-module-name_0 (list name_14))))))))))))))) | |
(define-values | |
(1/current-module-name-resolver) | |
(make-parameter | |
core-module-name-resolver | |
(lambda (v_48) | |
(begin | |
(if (if (procedure? v_48) (if (procedure-arity-includes? v_48 2) (procedure-arity-includes? v_48 4) #f) #f) | |
(void) | |
(let-values () | |
(raise-argument-error | |
'current-module-name-resolver | |
"(and/c (procedure-arity-includes/c 2) (procedure-arity-includes/c 4))" | |
v_48))) | |
v_48)) | |
'current-module-name-resolver)) | |
(define-values | |
(1/current-module-declare-name) | |
(make-parameter | |
#f | |
(lambda (r_18) | |
(begin | |
(if (let-values (((or-part_65) (not r_18))) (if or-part_65 or-part_65 (1/resolved-module-path? r_18))) | |
(void) | |
(let-values () (raise-argument-error 'current-module-declare-name "(or/c #f resolved-module-path?)" r_18))) | |
r_18)) | |
'current-module-declare-name)) | |
(define-values | |
(1/current-module-declare-source) | |
(make-parameter | |
#f | |
(lambda (s_45) | |
(begin | |
(if (let-values (((or-part_66) (not s_45))) | |
(if or-part_66 | |
or-part_66 | |
(let-values (((or-part_67) (symbol? s_45))) | |
(if or-part_67 or-part_67 (if (path? s_45) (complete-path? s_45) #f))))) | |
(void) | |
(let-values () | |
(raise-argument-error 'current-module-declare-source "(or/c #f symbol? (and/c path? complete-path?))" s_45))) | |
s_45)) | |
'current-module-declare-source)) | |
(define-values | |
(substitute-module-declare-name) | |
(lambda (default-name_0) | |
(begin | |
(let-values (((current-name_0) (1/current-module-declare-name))) | |
(let-values (((root-name_1) | |
(if current-name_0 | |
(resolved-module-path-root-name current-name_0) | |
(if (pair? default-name_0) (car default-name_0) default-name_0)))) | |
(1/make-resolved-module-path | |
(if (pair? default-name_0) (cons root-name_1 (cdr default-name_0)) root-name_1))))))) | |
(define-values | |
(struct:promise promise1.1 promise? promise-val promise-status set-promise-val! set-promise-status!) | |
(let-values (((struct:_6 make-_6 ?_6 -ref_6 -set!_6) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'promise | |
#f | |
2 | |
0 | |
#f | |
(list (cons prop:authentic #t)) | |
(current-inspector) | |
#f | |
'() | |
#f | |
'promise))))) | |
(values | |
struct:_6 | |
make-_6 | |
?_6 | |
(make-struct-field-accessor -ref_6 0 'val) | |
(make-struct-field-accessor -ref_6 1 'status) | |
(make-struct-field-mutator -set!_6 0 'val) | |
(make-struct-field-mutator -set!_6 1 'status)))) | |
(define-values | |
(force) | |
(lambda (v_49) | |
(begin | |
(if (promise? v_49) | |
(let-values () | |
(let-values (((s_46) (promise-status v_49))) | |
(if (not s_46) | |
(let-values () | |
(let-values (((result_29) ((promise-val v_49)))) | |
(begin (set-promise-val! v_49 result_29) (set-promise-status! v_49 #t) result_29))) | |
(let-values () (promise-val v_49))))) | |
(let-values () v_49))))) | |
(define-values | |
(phase?) | |
(lambda (v_31) (begin (let-values (((or-part_0) (not v_31))) (if or-part_0 or-part_0 (exact-integer? v_31)))))) | |
(define-values (phase+) (lambda (a_2 b_14) (begin (if a_2 (if b_14 (+ a_2 b_14) #f) #f)))) | |
(define-values (phase-) (lambda (a_17 b_15) (begin (if a_17 (if b_15 (- a_17 b_15) #f) #f)))) | |
(define-values | |
(phase<?) | |
(lambda (a_18 b_16) | |
(begin (if (not b_16) (let-values () #f) (if (not a_18) (let-values () #t) (let-values () (< a_18 b_16))))))) | |
(define-values (zero-phase?) (lambda (a_19) (begin (eq? a_19 0)))) | |
(define-values (label-phase?) (lambda (a_20) (begin (not a_20)))) | |
(define-values (phase?-string) "(or/c exact-integer? #f)") | |
(define-values (make-small-hasheq) (lambda () (begin (box '#hasheq())))) | |
(define-values (make-small-hasheqv) (lambda () (begin (box '#hasheqv())))) | |
(define-values | |
(small-hash-ref) | |
(lambda (small-ht_0 key_12 default_6) (begin (hash-ref (unbox small-ht_0) key_12 default_6)))) | |
(define-values | |
(small-hash-set!) | |
(lambda (small-ht_1 key_13 val_3) (begin (set-box! small-ht_1 (hash-set (unbox small-ht_1) key_13 val_3))))) | |
(define-values (small-hash-keys) (lambda (small-ht_2) (begin (hash-keys (unbox small-ht_2))))) | |
(define-values | |
(struct:serialize-state | |
serialize-state1.1 | |
serialize-state? | |
serialize-state-reachable-scopes | |
serialize-state-bindings-intern | |
serialize-state-bulk-bindings-intern | |
serialize-state-scopes | |
serialize-state-shifted-multi-scopes | |
serialize-state-multi-scope-tables | |
serialize-state-mpi-shifts | |
serialize-state-context-triples | |
serialize-state-props | |
serialize-state-interned-props | |
serialize-state-syntax-context | |
serialize-state-sharing-syntaxes) | |
(let-values (((struct:_2 make-_2 ?_2 -ref_2 -set!_2) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'serialize-state | |
#f | |
12 | |
0 | |
#f | |
(list (cons prop:authentic #t)) | |
(current-inspector) | |
#f | |
'(0 1 2 3 4 5 6 7 8 9 10 11) | |
#f | |
'serialize-state))))) | |
(values | |
struct:_2 | |
make-_2 | |
?_2 | |
(make-struct-field-accessor -ref_2 0 'reachable-scopes) | |
(make-struct-field-accessor -ref_2 1 'bindings-intern) | |
(make-struct-field-accessor -ref_2 2 'bulk-bindings-intern) | |
(make-struct-field-accessor -ref_2 3 'scopes) | |
(make-struct-field-accessor -ref_2 4 'shifted-multi-scopes) | |
(make-struct-field-accessor -ref_2 5 'multi-scope-tables) | |
(make-struct-field-accessor -ref_2 6 'mpi-shifts) | |
(make-struct-field-accessor -ref_2 7 'context-triples) | |
(make-struct-field-accessor -ref_2 8 'props) | |
(make-struct-field-accessor -ref_2 9 'interned-props) | |
(make-struct-field-accessor -ref_2 10 'syntax-context) | |
(make-struct-field-accessor -ref_2 11 'sharing-syntaxes)))) | |
(define-values | |
(make-serialize-state) | |
(lambda (reachable-scopes_0) | |
(begin | |
(let-values (((state_1) | |
(serialize-state1.1 | |
reachable-scopes_0 | |
(make-hasheq) | |
(make-hasheq) | |
(make-hash) | |
(make-hash) | |
(make-hasheq) | |
(make-hasheq) | |
(make-hasheq) | |
(make-hasheq) | |
(make-hash) | |
(box null) | |
(make-hasheq)))) | |
(let-values (((empty-seteq_0) (seteq))) | |
(begin | |
(hash-set! (serialize-state-scopes state_1) empty-seteq_0 empty-seteq_0) | |
(hash-set! (serialize-state-shifted-multi-scopes state_1) empty-seteq_0 empty-seteq_0) | |
(hash-set! (serialize-state-interned-props state_1) empty-seteq_0 empty-seteq_0) | |
state_1)))))) | |
(define-values | |
(intern-scopes) | |
(lambda (scs_0 state_2) | |
(begin | |
(let-values (((or-part_12) (hash-ref (serialize-state-scopes state_2) scs_0 #f))) | |
(if or-part_12 or-part_12 (begin (hash-set! (serialize-state-scopes state_2) scs_0 scs_0) scs_0)))))) | |
(define-values | |
(intern-shifted-multi-scopes) | |
(lambda (sms_0 state_3) | |
(begin | |
(let-values (((or-part_14) (hash-ref (serialize-state-shifted-multi-scopes state_3) sms_0 #f))) | |
(if or-part_14 | |
or-part_14 | |
(begin (hash-set! (serialize-state-shifted-multi-scopes state_3) sms_0 sms_0) sms_0)))))) | |
(define-values | |
(intern-mpi-shifts) | |
(lambda (mpi-shifts_0 state_4) | |
(begin | |
(if (null? mpi-shifts_0) | |
(let-values () null) | |
(let-values () | |
(let-values (((tail_0) (intern-mpi-shifts (cdr mpi-shifts_0) state_4))) | |
(let-values (((tail-table_0) | |
(let-values (((or-part_33) (hash-ref (serialize-state-mpi-shifts state_4) tail_0 #f))) | |
(if or-part_33 | |
or-part_33 | |
(let-values (((ht_26) (make-hasheq))) | |
(begin (hash-set! (serialize-state-mpi-shifts state_4) tail_0 ht_26) ht_26)))))) | |
(let-values (((or-part_68) (hash-ref tail-table_0 (car mpi-shifts_0) #f))) | |
(if or-part_68 | |
or-part_68 | |
(let-values (((v_50) (cons (car mpi-shifts_0) tail_0))) | |
(begin (hash-set! tail-table_0 (car mpi-shifts_0) v_50) v_50))))))))))) | |
(define-values | |
(intern-context-triple) | |
(lambda (scs_1 sms_1 mpi-shifts_1 state_5) | |
(begin | |
(let-values (((scs-ht_0) | |
(let-values (((or-part_4) (hash-ref (serialize-state-context-triples state_5) scs_1 #f))) | |
(if or-part_4 | |
or-part_4 | |
(let-values (((ht_27) (make-hasheq))) | |
(begin (hash-set! (serialize-state-context-triples state_5) scs_1 ht_27) ht_27)))))) | |
(let-values (((sms-ht_0) | |
(let-values (((or-part_6) (hash-ref scs-ht_0 sms_1 #f))) | |
(if or-part_6 | |
or-part_6 | |
(let-values (((ht_28) (make-hasheq))) (begin (hash-set! scs-ht_0 sms_1 ht_28) ht_28)))))) | |
(let-values (((or-part_34) (hash-ref sms-ht_0 mpi-shifts_1 #f))) | |
(if or-part_34 | |
or-part_34 | |
(let-values (((vec_14) (vector-immutable scs_1 sms_1 mpi-shifts_1))) | |
(begin (hash-set! sms-ht_0 mpi-shifts_1 vec_14) vec_14))))))))) | |
(define-values | |
(intern-properties) | |
(lambda (all-props_0 get-preserved-props_0 state_6) | |
(begin | |
(let-values (((v_38) (hash-ref (serialize-state-props state_6) all-props_0 'no))) | |
(if (eq? v_38 'no) | |
(let-values () | |
(let-values (((preserved-props_0) (get-preserved-props_0))) | |
(let-values (((p_5) | |
(if (zero? (hash-count preserved-props_0)) | |
(let-values () #f) | |
(let-values (((c1_18) | |
(hash-ref (serialize-state-interned-props state_6) preserved-props_0 #f))) | |
(if c1_18 | |
((lambda (p_9) p_9) c1_18) | |
(let-values () | |
(begin | |
(hash-set! | |
(serialize-state-interned-props state_6) | |
preserved-props_0 | |
preserved-props_0) | |
preserved-props_0))))))) | |
(begin (hash-set! (serialize-state-props state_6) all-props_0 p_5) p_5)))) | |
(let-values () v_38)))))) | |
(define-values | |
(push-syntax-context!) | |
(lambda (state_7 v_51) | |
(begin (let-values (((b_17) (serialize-state-syntax-context state_7))) (set-box! b_17 (cons v_51 (unbox b_17))))))) | |
(define-values | |
(get-syntax-context) | |
(lambda (state_8) | |
(begin | |
(let-values (((b_18) (serialize-state-syntax-context state_8))) | |
(if (null? (unbox b_18)) #f (car (unbox b_18))))))) | |
(define-values | |
(pop-syntax-context!) | |
(lambda (state_9) | |
(begin (let-values (((b_11) (serialize-state-syntax-context state_9))) (set-box! b_11 (cdr (unbox b_11))))))) | |
(define-values (root-tag) (unsafe-root-continuation-prompt-tag)) | |
(define-values (default-val.1$2) #f) | |
(define-values | |
(current-module-code-inspector) | |
(lambda () (begin (continuation-mark-set-first #f current-module-code-inspector default-val.1$2 root-tag)))) | |
(define-values | |
(immutable-prefab-struct-key) | |
(lambda (v_31) | |
(begin (let-values (((k_11) (prefab-struct-key v_31))) (if k_11 (if (all-fields-immutable?$1 k_11) k_11 #f) #f))))) | |
(define-values | |
(prefab-key-all-fields-immutable?) | |
(lambda (k_12) | |
(begin | |
(begin | |
(if (prefab-key? k_12) | |
(void) | |
(let-values () (raise-argument-error 'prefab-key-all-fields-immutable? "prefab-key?" k_12))) | |
(all-fields-immutable?$1 k_12))))) | |
(define-values | |
(all-fields-immutable?$1) | |
(lambda (k_13) | |
(begin | |
'all-fields-immutable? | |
(let-values (((or-part_2) (symbol? k_13))) | |
(if or-part_2 | |
or-part_2 | |
(let-values (((or-part_30) (null? k_13))) | |
(if or-part_30 | |
or-part_30 | |
(let-values (((rk_0) (cdr k_13))) | |
(let-values (((rk_1) (if (if (pair? rk_0) (exact-integer? (car rk_0)) #f) (cdr rk_0) rk_0))) | |
(let-values (((rk_2) | |
(if (if (pair? rk_1) (pair? (car rk_1)) #f) | |
(if (zero? (caar rk_1)) (cdr rk_1) (cons '#(1) (cdr rk_1))) | |
rk_1))) | |
(if (if (pair? rk_2) (vector? (car rk_2)) #f) | |
(if (zero? (vector-length (car rk_2))) (all-fields-immutable?$1 (cdr rk_2)) #f) | |
(all-fields-immutable?$1 rk_2)))))))))))) | |
(define-values (all-fields-immutable?) (lambda (k_14) (begin (prefab-key-all-fields-immutable? k_14)))) | |
(define-values | |
(datum-map-slow) | |
(lambda (tail?_0 s_7 f_20 seen_0 known-pairs_0) | |
(begin | |
((letrec-values (((loop_63) | |
(lambda (tail?_1 s_9 prev-seen_0) | |
(begin | |
'loop | |
(let-values (((seen_1) | |
(if (if prev-seen_0 (datum-has-elements? s_9) #f) | |
(let-values () | |
(if (hash-ref prev-seen_0 s_9 #f) | |
(let-values () ((hash-ref prev-seen_0 'cycle-fail) s_9)) | |
(let-values () (hash-set prev-seen_0 s_9 #t)))) | |
(let-values () prev-seen_0)))) | |
(if (null? s_9) | |
(let-values () (f_20 tail?_1 s_9)) | |
(if (pair? s_9) | |
(let-values () | |
(if (if known-pairs_0 (if tail?_1 (hash-ref known-pairs_0 s_9 #f) #f) #f) | |
(let-values () s_9) | |
(let-values () | |
(f_20 | |
tail?_1 | |
(cons | |
(loop_63 #f (car s_9) seen_1) | |
(loop_63 (if tail?_1 (fx+ 1 tail?_1) 1) (cdr s_9) seen_1)))))) | |
(if (let-values (((or-part_69) (symbol? s_9))) | |
(if or-part_69 | |
or-part_69 | |
(let-values (((or-part_70) (boolean? s_9))) | |
(if or-part_70 or-part_70 (number? s_9))))) | |
(let-values () (f_20 #f s_9)) | |
(if (vector? s_9) | |
(let-values () | |
(f_20 | |
#f | |
(vector->immutable-vector | |
(let-values (((len_7) (vector-length s_9))) | |
(begin | |
(if (exact-nonnegative-integer? len_7) | |
(void) | |
(let-values () | |
(raise-argument-error | |
'for/vector | |
"exact-nonnegative-integer?" | |
len_7))) | |
(let-values (((v_52) (make-vector len_7 0))) | |
(begin | |
(if (zero? len_7) | |
(void) | |
(let-values () | |
(let-values (((vec_15 len_8) | |
(let-values (((vec_16) s_9)) | |
(begin | |
(check-vector vec_16) | |
(values | |
vec_16 | |
(unsafe-vector-length vec_16)))))) | |
(begin | |
#f | |
((letrec-values (((for-loop_30) | |
(lambda (i_44 pos_8) | |
(begin | |
'for-loop | |
(if (unsafe-fx< pos_8 len_8) | |
(let-values (((e_10) | |
(unsafe-vector-ref | |
vec_15 | |
pos_8))) | |
(let-values (((i_45) | |
(let-values (((i_46) | |
i_44)) | |
(let-values (((i_47) | |
(let-values () | |
(begin | |
(unsafe-vector*-set! | |
v_52 | |
i_46 | |
(let-values () | |
(loop_63 | |
#f | |
e_10 | |
seen_1))) | |
(unsafe-fx+ | |
1 | |
i_46))))) | |
(values i_47))))) | |
(if (if (not | |
((lambda x_18 | |
(unsafe-fx= | |
i_45 | |
len_7)) | |
e_10)) | |
(not #f) | |
#f) | |
(for-loop_30 | |
i_45 | |
(unsafe-fx+ 1 pos_8)) | |
i_45))) | |
i_44))))) | |
for-loop_30) | |
0 | |
0))))) | |
v_52))))))) | |
(if (box? s_9) | |
(let-values () (f_20 #f (box-immutable (loop_63 #f (unbox s_9) seen_1)))) | |
(let-values (((c1_19) (immutable-prefab-struct-key s_9))) | |
(if c1_19 | |
((lambda (key_14) | |
(f_20 | |
#f | |
(apply | |
make-prefab-struct | |
key_14 | |
(reverse$1 | |
(let-values (((v*_0 start*_0 stop*_1 step*_0) | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(unsafe-normalise-inputs | |
unsafe-vector-length | |
(struct->vector s_9) | |
1 | |
#f | |
1) | |
(normalise-inputs | |
'in-vector | |
"vector" | |
(lambda (x_19) (vector? x_19)) | |
(lambda (x_20) (unsafe-vector-length x_20)) | |
(struct->vector s_9) | |
1 | |
#f | |
1)))) | |
(begin | |
#t | |
((letrec-values (((for-loop_31) | |
(lambda (fold-var_19 idx_0) | |
(begin | |
'for-loop | |
(if (unsafe-fx< idx_0 stop*_1) | |
(let-values (((e_11) | |
(unsafe-vector-ref | |
v*_0 | |
idx_0))) | |
(let-values (((fold-var_15) | |
(let-values (((fold-var_20) | |
fold-var_19)) | |
(let-values (((fold-var_21) | |
(let-values () | |
(cons | |
(let-values () | |
(loop_63 | |
#f | |
e_11 | |
seen_1)) | |
fold-var_20)))) | |
(values | |
fold-var_21))))) | |
(if (not #f) | |
(for-loop_31 | |
fold-var_15 | |
(unsafe-fx+ idx_0 1)) | |
fold-var_15))) | |
fold-var_19))))) | |
for-loop_31) | |
null | |
start*_0))))))) | |
c1_19) | |
(if (if (hash? s_9) (immutable? s_9) #f) | |
(let-values () | |
(if (hash-eq? s_9) | |
(let-values () | |
(f_20 | |
#f | |
(let-values (((ht_29) s_9)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash ht_29))) | |
((letrec-values (((for-loop_32) | |
(lambda (table_15 i_48) | |
(begin | |
'for-loop | |
(if i_48 | |
(let-values (((k_15 v_53) | |
(hash-iterate-key+value | |
ht_29 | |
i_48))) | |
(let-values (((table_16) | |
(let-values (((table_17) | |
table_15)) | |
(let-values (((table_18) | |
(let-values () | |
(let-values (((key_15 | |
val_4) | |
(let-values () | |
(values | |
k_15 | |
(loop_63 | |
#f | |
v_53 | |
seen_1))))) | |
(hash-set | |
table_17 | |
key_15 | |
val_4))))) | |
(values | |
table_18))))) | |
(if (not #f) | |
(for-loop_32 | |
table_16 | |
(hash-iterate-next ht_29 i_48)) | |
table_16))) | |
table_15))))) | |
for-loop_32) | |
'#hasheq() | |
(hash-iterate-first ht_29)))))) | |
(if (hash-eqv? s_9) | |
(let-values () | |
(f_20 | |
#f | |
(let-values (((ht_30) s_9)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash ht_30))) | |
((letrec-values (((for-loop_33) | |
(lambda (table_19 i_49) | |
(begin | |
'for-loop | |
(if i_49 | |
(let-values (((k_16 v_54) | |
(hash-iterate-key+value | |
ht_30 | |
i_49))) | |
(let-values (((table_20) | |
(let-values (((table_21) | |
table_19)) | |
(let-values (((table_22) | |
(let-values () | |
(let-values (((key_16 | |
val_5) | |
(let-values () | |
(values | |
k_16 | |
(loop_63 | |
#f | |
v_54 | |
seen_1))))) | |
(hash-set | |
table_21 | |
key_16 | |
val_5))))) | |
(values | |
table_22))))) | |
(if (not #f) | |
(for-loop_33 | |
table_20 | |
(hash-iterate-next | |
ht_30 | |
i_49)) | |
table_20))) | |
table_19))))) | |
for-loop_33) | |
'#hasheqv() | |
(hash-iterate-first ht_30)))))) | |
(let-values () | |
(f_20 | |
#f | |
(let-values (((ht_31) s_9)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash ht_31))) | |
((letrec-values (((for-loop_34) | |
(lambda (table_23 i_50) | |
(begin | |
'for-loop | |
(if i_50 | |
(let-values (((k_17 v_55) | |
(hash-iterate-key+value | |
ht_31 | |
i_50))) | |
(let-values (((table_24) | |
(let-values (((table_25) | |
table_23)) | |
(let-values (((table_26) | |
(let-values () | |
(let-values (((key_17 | |
val_6) | |
(let-values () | |
(values | |
k_17 | |
(loop_63 | |
#f | |
v_55 | |
seen_1))))) | |
(hash-set | |
table_25 | |
key_17 | |
val_6))))) | |
(values | |
table_26))))) | |
(if (not #f) | |
(for-loop_34 | |
table_24 | |
(hash-iterate-next | |
ht_31 | |
i_50)) | |
table_24))) | |
table_23))))) | |
for-loop_34) | |
'#hash() | |
(hash-iterate-first ht_31))))))))) | |
(let-values () (f_20 #f s_9))))))))))))))) | |
loop_63) | |
tail?_0 | |
s_7 | |
seen_0)))) | |
(define-values | |
(datum-has-elements?) | |
(lambda (d_0) | |
(begin | |
(let-values (((or-part_71) (pair? d_0))) | |
(if or-part_71 | |
or-part_71 | |
(let-values (((or-part_72) (vector? d_0))) | |
(if or-part_72 | |
or-part_72 | |
(let-values (((or-part_73) (box? d_0))) | |
(if or-part_73 | |
or-part_73 | |
(let-values (((or-part_59) (immutable-prefab-struct-key d_0))) | |
(if or-part_59 | |
or-part_59 | |
(if (hash? d_0) (if (immutable? d_0) (positive? (hash-count d_0)) #f) #f)))))))))))) | |
(define-values | |
(struct:preserved-property-value | |
preserved-property-value1.1 | |
preserved-property-value? | |
preserved-property-value-content) | |
(let-values (((struct:_2 make-_2 ?_2 -ref_2 -set!_2) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'preserved-property-value | |
#f | |
1 | |
0 | |
#f | |
null | |
(current-inspector) | |
#f | |
'(0) | |
#f | |
'preserved-property-value))))) | |
(values struct:_2 make-_2 ?_2 (make-struct-field-accessor -ref_2 0 'content)))) | |
(define-values | |
(plain-property-value) | |
(lambda (v_56) (begin (if (preserved-property-value? v_56) (preserved-property-value-content v_56) v_56)))) | |
(define-values | |
(check-value-to-preserve) | |
(lambda (v_57 syntax?_0) | |
(begin | |
(let-values (((check-preserve_0) | |
(lambda (tail?_2 v_0) | |
(begin | |
'check-preserve | |
(begin | |
(if (let-values (((or-part_74) (null? v_0))) | |
(if or-part_74 | |
or-part_74 | |
(let-values (((or-part_14) (boolean? v_0))) | |
(if or-part_14 | |
or-part_14 | |
(let-values (((or-part_75) (symbol? v_0))) | |
(if or-part_75 | |
or-part_75 | |
(let-values (((or-part_76) (number? v_0))) | |
(if or-part_76 | |
or-part_76 | |
(let-values (((or-part_77) (char? v_0))) | |
(if or-part_77 | |
or-part_77 | |
(let-values (((or-part_57) (string? v_0))) | |
(if or-part_57 | |
or-part_57 | |
(let-values (((or-part_33) (bytes? v_0))) | |
(if or-part_33 | |
or-part_33 | |
(let-values (((or-part_78) (regexp? v_0))) | |
(if or-part_78 | |
or-part_78 | |
(let-values (((or-part_68) (syntax?_0 v_0))) | |
(if or-part_68 | |
or-part_68 | |
(let-values (((or-part_79) (pair? v_0))) | |
(if or-part_79 | |
or-part_79 | |
(let-values (((or-part_80) (vector? v_0))) | |
(if or-part_80 | |
or-part_80 | |
(let-values (((or-part_81) (box? v_0))) | |
(if or-part_81 | |
or-part_81 | |
(let-values (((or-part_82) (hash? v_0))) | |
(if or-part_82 | |
or-part_82 | |
(immutable-prefab-struct-key | |
v_0))))))))))))))))))))))))))) | |
(void) | |
(let-values () | |
(raise-arguments-error | |
'write | |
"disallowed value in preserved syntax property" | |
"value" | |
v_0))) | |
v_0))))) | |
(let-values (((s_47) v_57) | |
((f_21) check-preserve_0) | |
((gf_0) check-preserve_0) | |
((seen_2) disallow-cycles$1) | |
((known-pairs_1) #f)) | |
((letrec-values (((loop_64) | |
(lambda (tail?_3 s_48 prev-depth_0) | |
(begin | |
'loop | |
(let-values (((depth_0) (fx+ 1 prev-depth_0))) | |
(if (if seen_2 (fx> depth_0 32) #f) | |
(let-values () | |
(datum-map-slow | |
tail?_3 | |
s_48 | |
(lambda (tail?_4 s_49) (gf_0 tail?_4 s_49)) | |
seen_2 | |
known-pairs_1)) | |
(if (null? s_48) | |
(let-values () (f_21 tail?_3 s_48)) | |
(if (pair? s_48) | |
(let-values () | |
(f_21 | |
tail?_3 | |
(cons (loop_64 #f (car s_48) depth_0) (loop_64 1 (cdr s_48) depth_0)))) | |
(if (symbol? s_48) | |
(let-values () (f_21 #f s_48)) | |
(if (boolean? s_48) | |
(let-values () (f_21 #f s_48)) | |
(if (number? s_48) | |
(let-values () (f_21 #f s_48)) | |
(if (let-values (((or-part_83) (vector? s_48))) | |
(if or-part_83 | |
or-part_83 | |
(let-values (((or-part_84) (box? s_48))) | |
(if or-part_84 | |
or-part_84 | |
(let-values (((or-part_85) (prefab-struct-key s_48))) | |
(if or-part_85 or-part_85 (hash? s_48))))))) | |
(let-values () | |
(datum-map-slow | |
tail?_3 | |
s_48 | |
(lambda (tail?_5 s_50) (gf_0 tail?_5 s_50)) | |
seen_2 | |
known-pairs_1)) | |
(let-values () (gf_0 #f s_48)))))))))))))) | |
loop_64) | |
#f | |
s_47 | |
0)))))) | |
(define-values | |
(disallow-cycles$1) | |
(hash | |
'cycle-fail | |
(lambda (v_58) (raise-arguments-error 'write "disallowed cycle in preserved syntax property" "at" v_58)))) | |
(define-values | |
(tamper?) | |
(lambda (v_31) | |
(begin | |
(let-values (((or-part_0) (not v_31))) | |
(if or-part_0 or-part_0 (let-values (((or-part_1) (symbol? v_31))) (if or-part_1 or-part_1 (set? v_31)))))))) | |
(define-values (tamper-tainted?) (lambda (v_59) (begin (symbol? v_59)))) | |
(define-values (tamper-armed?) (lambda (v_60) (begin (set? v_60)))) | |
(define-values (tamper-clean?) (lambda (v_61) (begin (not v_61)))) | |
(define-values | |
(tamper-tainted-for-content) | |
(lambda (v_56) (begin (if (datum-has-elements? v_56) 'tainted/need-propagate 'tainted)))) | |
(define-values (tamper-needs-propagate?) (lambda (t_3) (begin (eq? t_3 'tainted/need-propagate)))) | |
(define-values (tamper-propagated) (lambda (t_4) (begin (if (eq? t_4 'tainted/need-propagate) 'tainted t_4)))) | |
(define-values (serialize-tamper) (lambda (t_5) (begin (if (tamper-armed? t_5) 'armed t_5)))) | |
(define-values (current-arm-inspectors) (make-parameter (seteq) #f 'current-arm-inspectors)) | |
(define-values (deserialize-tamper) (lambda (t_6) (begin (if (eq? t_6 'armed) (current-arm-inspectors) t_6)))) | |
(define-values | |
(struct:modified-content | |
modified-content1.1 | |
modified-content? | |
modified-content-content | |
modified-content-scope-propagations+tamper) | |
(let-values (((struct:_7 make-_7 ?_7 -ref_7 -set!_7) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'modified-content | |
#f | |
2 | |
0 | |
#f | |
(list (cons prop:authentic #t)) | |
(current-inspector) | |
#f | |
'(0 1) | |
#f | |
'modified-content))))) | |
(values | |
struct:_7 | |
make-_7 | |
?_7 | |
(make-struct-field-accessor -ref_7 0 'content) | |
(make-struct-field-accessor -ref_7 1 'scope-propagations+tamper)))) | |
(define-values | |
(struct:syntax | |
syntax2.1 | |
syntax?$1 | |
syntax-content* | |
syntax-scopes | |
syntax-shifted-multi-scopes | |
syntax-mpi-shifts | |
syntax-srcloc | |
syntax-props | |
syntax-inspector | |
set-syntax-content*!) | |
(let-values (((struct:_8 make-_8 ?_8 -ref_8 -set!_8) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'syntax | |
#f | |
7 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:reach-scopes | |
(lambda (s_51 reach_0) | |
(let-values (((content*_0) (syntax-content* s_51))) | |
(begin | |
(reach_0 | |
(if (modified-content? content*_0) | |
(let-values (((prop_0) (modified-content-scope-propagations+tamper content*_0))) | |
(if (propagation?$1 prop_0) | |
((propagation-ref prop_0) s_51) | |
(modified-content-content content*_0))) | |
content*_0)) | |
(reach_0 (syntax-scopes s_51)) | |
(reach_0 (syntax-shifted-multi-scopes s_51)) | |
(let-values (((ht_32) (syntax-props s_51))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_32))) | |
((letrec-values (((for-loop_35) | |
(lambda (i_51) | |
(begin | |
'for-loop | |
(if i_51 | |
(let-values (((k_18 v_62) | |
(unsafe-immutable-hash-iterate-key+value | |
ht_32 | |
i_51))) | |
(let-values ((() | |
(let-values () | |
(if (preserved-property-value? v_62) | |
(let-values () | |
(let-values ((() | |
(let-values () | |
(begin | |
(let-values () | |
(reach_0 | |
(plain-property-value | |
v_62))) | |
(values))))) | |
(values))) | |
(values))))) | |
(if (not #f) | |
(for-loop_35 | |
(unsafe-immutable-hash-iterate-next ht_32 i_51)) | |
(values)))) | |
(values)))))) | |
for-loop_35) | |
(unsafe-immutable-hash-iterate-first ht_32)))) | |
(void) | |
(reach_0 (syntax-srcloc s_51)))))) | |
(cons | |
prop:serialize | |
(lambda (s_52 ser-push!_1 state_10) | |
(let-values (((content*_1) (syntax-content* s_52))) | |
(let-values (((content_0) | |
(if (modified-content? content*_1) | |
(let-values (((prop_1) | |
(modified-content-scope-propagations+tamper content*_1))) | |
(if (propagation?$1 prop_1) | |
((propagation-ref prop_1) s_52) | |
(modified-content-content content*_1))) | |
content*_1))) | |
(let-values (((properties_0) | |
(intern-properties | |
(syntax-props s_52) | |
(lambda () | |
(let-values (((ht_18) (syntax-props s_52))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash ht_18))) | |
((letrec-values (((for-loop_4) | |
(lambda (table_27 i_23) | |
(begin | |
'for-loop | |
(if i_23 | |
(let-values (((k_2 v_63) | |
(hash-iterate-key+value | |
ht_18 | |
i_23))) | |
(let-values (((table_28) | |
(let-values (((table_29) | |
table_27)) | |
(if (preserved-property-value? | |
v_63) | |
(let-values (((table_30) | |
table_29)) | |
(let-values (((table_31) | |
(let-values () | |
(let-values (((key_18 | |
val_7) | |
(let-values () | |
(values | |
k_2 | |
(check-value-to-preserve | |
(plain-property-value | |
v_63) | |
syntax?$1))))) | |
(hash-set | |
table_30 | |
key_18 | |
val_7))))) | |
(values table_31))) | |
table_29)))) | |
(if (not #f) | |
(for-loop_4 | |
table_28 | |
(hash-iterate-next ht_18 i_23)) | |
table_28))) | |
table_27))))) | |
for-loop_4) | |
'#hasheq() | |
(hash-iterate-first ht_18))))) | |
state_10))) | |
(let-values (((tamper_0) (serialize-tamper (syntax-tamper s_52)))) | |
(let-values (((context-triple_0) | |
(intern-context-triple | |
(intern-scopes (syntax-scopes s_52) state_10) | |
(intern-shifted-multi-scopes | |
(syntax-shifted-multi-scopes s_52) | |
state_10) | |
(intern-mpi-shifts (syntax-mpi-shifts s_52) state_10) | |
state_10))) | |
(let-values (((stx-state_0) (get-syntax-context state_10))) | |
(if (let-values (((or-part_86) properties_0)) (if or-part_86 or-part_86 tamper_0)) | |
(let-values () | |
(begin | |
(ser-push!_1 'tag '#:syntax+props) | |
(push-syntax-context! state_10 #f) | |
(ser-push!_1 content_0) | |
(pop-syntax-context! state_10) | |
(ser-push!_1 'reference context-triple_0) | |
(ser-push!_1 'reference (syntax-srcloc s_52)) | |
(ser-push!_1 properties_0) | |
(ser-push!_1 tamper_0) | |
(if stx-state_0 | |
(let-values () (set-syntax-state-all-sharing?! stx-state_0 #f)) | |
(void)))) | |
(let-values () | |
(let-values (((sharing-mode_0) | |
(hash-ref | |
(serialize-state-sharing-syntaxes state_10) | |
s_52 | |
'unknown))) | |
(begin | |
(if (eq? sharing-mode_0 'share) | |
(let-values () | |
(begin | |
(ser-push!_1 'tag '#:datum->syntax) | |
(ser-push!_1 (syntax->datum$1 s_52)))) | |
(if (eq? sharing-mode_0 'unknown) | |
(let-values () | |
(let-values ((() (begin (ser-push!_1 'tag '#:syntax) (values)))) | |
(let-values (((this-state_0) | |
(if (no-pair-syntax-in-cdr? content_0) | |
(syntax-state17.1 | |
#t | |
context-triple_0 | |
(syntax-srcloc s_52)) | |
#f))) | |
(let-values ((() | |
(begin | |
(push-syntax-context! state_10 this-state_0) | |
(values)))) | |
(let-values ((() (begin (ser-push!_1 content_0) (values)))) | |
(let-values ((() | |
(begin | |
(pop-syntax-context! state_10) | |
(values)))) | |
(let-values (((new-sharing-mode_0) | |
(if (if this-state_0 | |
(syntax-state-all-sharing? | |
this-state_0) | |
#f) | |
'share | |
'none))) | |
(begin | |
(hash-set! | |
(serialize-state-sharing-syntaxes state_10) | |
s_52 | |
(if (datum-has-elements? content_0) | |
new-sharing-mode_0 | |
'none)) | |
(if (if stx-state_0 (eq? new-sharing-mode_0 'none) #f) | |
(let-values () | |
(set-syntax-state-all-sharing?! stx-state_0 #f)) | |
(void)))))))))) | |
(let-values () | |
(begin | |
(ser-push!_1 'tag '#:syntax) | |
(push-syntax-context! state_10 #f) | |
(ser-push!_1 content_0) | |
(pop-syntax-context! state_10))))) | |
(ser-push!_1 'reference context-triple_0) | |
(ser-push!_1 'reference (syntax-srcloc s_52)) | |
(if stx-state_0 | |
(let-values () | |
(if (if (eq? | |
context-triple_0 | |
(syntax-state-context-triple stx-state_0)) | |
(equal? (syntax-srcloc s_52) (syntax-state-srcloc stx-state_0)) | |
#f) | |
(void) | |
(let-values () (set-syntax-state-all-sharing?! stx-state_0 #f)))) | |
(void)))))))))))))) | |
(cons | |
prop:custom-write | |
(lambda (s_53 port_2 mode_5) | |
(let-values ((() (begin (write-string "#<syntax" port_2) (values)))) | |
(let-values (((srcloc_0) (syntax-srcloc s_53))) | |
(begin | |
(if srcloc_0 | |
(let-values () | |
(let-values (((srcloc-str_0) (srcloc->string srcloc_0))) | |
(if srcloc-str_0 (let-values () (fprintf port_2 ":~a" srcloc-str_0)) (void)))) | |
(void)) | |
(fprintf port_2 " ~.s" (syntax->datum$1 s_53)) | |
(write-string ">" port_2))))))) | |
(current-inspector) | |
#f | |
'(1 2 3 4 5 6) | |
#f | |
'syntax))))) | |
(values | |
struct:_8 | |
make-_8 | |
?_8 | |
(make-struct-field-accessor -ref_8 0 'content*) | |
(make-struct-field-accessor -ref_8 1 'scopes) | |
(make-struct-field-accessor -ref_8 2 'shifted-multi-scopes) | |
(make-struct-field-accessor -ref_8 3 'mpi-shifts) | |
(make-struct-field-accessor -ref_8 4 'srcloc) | |
(make-struct-field-accessor -ref_8 5 'props) | |
(make-struct-field-accessor -ref_8 6 'inspector) | |
(make-struct-field-mutator -set!_8 0 'content*)))) | |
(define-values (prop:propagation propagation?$1 propagation-ref) (make-struct-type-property 'propagation)) | |
(define-values | |
(prop:propagation-tamper propagation-tamper? propagation-tamper-ref) | |
(make-struct-type-property 'propagation-tamper)) | |
(define-values | |
(prop:propagation-set-tamper propagation-set-tamper? propagation-set-tamper-ref) | |
(make-struct-type-property 'propagation-set-tamper)) | |
(define-values | |
(syntax-content) | |
(lambda (s_54) | |
(begin | |
(let-values (((content*_2) (syntax-content* s_54))) | |
(if (modified-content? content*_2) (modified-content-content content*_2) content*_2))))) | |
(define-values | |
(syntax-tamper) | |
(lambda (s_55) | |
(begin | |
(let-values (((content*_3) (syntax-content* s_55))) | |
(if (modified-content? content*_3) | |
(let-values () | |
(let-values (((v_64) (modified-content-scope-propagations+tamper content*_3))) | |
(if (tamper? v_64) v_64 ((propagation-tamper-ref v_64) v_64)))) | |
(let-values () #f)))))) | |
(define-values (syntax-content*-cas!) (lambda (stx_0 old_0 new_1) (begin (unsafe-struct*-cas! stx_0 0 old_0 new_1)))) | |
(define-values | |
(re-modify-content) | |
(lambda (s_38 d_1) | |
(begin | |
(let-values (((content*_4) (syntax-content* s_38))) | |
(if (modified-content? content*_4) | |
(modified-content1.1 d_1 (modified-content-scope-propagations+tamper content*_4)) | |
d_1))))) | |
(define-values (empty-scopes) (seteq)) | |
(define-values (empty-shifted-multi-scopes) (seteq)) | |
(define-values (empty-mpi-shifts) null) | |
(define-values (empty-props) '#hasheq()) | |
(define-values | |
(empty-syntax) | |
(syntax2.1 #f empty-scopes empty-shifted-multi-scopes empty-mpi-shifts #f empty-props #f)) | |
(define-values (identifier?) (lambda (s_56) (begin (if (syntax?$1 s_56) (symbol? (syntax-content s_56)) #f)))) | |
(define-values (syntax-identifier?) (lambda (s_57) (begin (symbol? (syntax-content s_57))))) | |
(define-values | |
(syntax->datum$1) | |
(lambda (s_58) | |
(begin | |
'syntax->datum | |
(let-values (((s_59) s_58) | |
((f_22) (lambda (tail?_6 x_21) (begin 'f x_21))) | |
((d->s_0) (lambda (s_60 d_2) (begin 'd->s d_2))) | |
((s-e_0) syntax-content) | |
((seen_3) #f)) | |
((letrec-values (((loop_65) | |
(lambda (s_61) | |
(begin | |
'loop | |
(let-values (((s_62) s_61) | |
((f_23) f_22) | |
((gf_1) | |
(lambda (tail?_7 v_65) | |
(begin | |
'gf | |
(if (syntax?$1 v_65) | |
(let-values () (d->s_0 v_65 (loop_65 (s-e_0 v_65)))) | |
(let-values () (f_22 tail?_7 v_65)))))) | |
((seen_4) seen_3) | |
((known-pairs_2) #f)) | |
((letrec-values (((loop_66) | |
(lambda (tail?_8 s_63 prev-depth_1) | |
(begin | |
'loop | |
(let-values (((depth_1) (fx+ 1 prev-depth_1))) | |
(if (if seen_4 (fx> depth_1 32) #f) | |
(let-values () | |
(datum-map-slow | |
tail?_8 | |
s_63 | |
(lambda (tail?_9 s_64) (gf_1 tail?_9 s_64)) | |
seen_4 | |
known-pairs_2)) | |
(if (null? s_63) | |
(let-values () (f_23 tail?_8 s_63)) | |
(if (pair? s_63) | |
(let-values () | |
(f_23 | |
tail?_8 | |
(cons | |
(loop_66 #f (car s_63) depth_1) | |
(loop_66 1 (cdr s_63) depth_1)))) | |
(if (symbol? s_63) | |
(let-values () (f_23 #f s_63)) | |
(if (boolean? s_63) | |
(let-values () (f_23 #f s_63)) | |
(if (number? s_63) | |
(let-values () (f_23 #f s_63)) | |
(if (let-values (((or-part_87) (vector? s_63))) | |
(if or-part_87 | |
or-part_87 | |
(let-values (((or-part_88) (box? s_63))) | |
(if or-part_88 | |
or-part_88 | |
(let-values (((or-part_89) | |
(prefab-struct-key s_63))) | |
(if or-part_89 | |
or-part_89 | |
(hash? s_63))))))) | |
(let-values () | |
(datum-map-slow | |
tail?_8 | |
s_63 | |
(lambda (tail?_10 s_65) (gf_1 tail?_10 s_65)) | |
seen_4 | |
known-pairs_2)) | |
(let-values () (gf_1 #f s_63)))))))))))))) | |
loop_66) | |
#f | |
s_62 | |
0)))))) | |
loop_65) | |
s_59))))) | |
(define-values (cell.1$7) (unsafe-make-place-local (make-weak-hasheq))) | |
(define-values | |
(immediate-datum->syntax) | |
(lambda (stx-c_0 content_1 stx-l_0 props_0 insp_0) | |
(begin | |
(syntax2.1 | |
(if (if stx-c_0 (syntax-tamper stx-c_0) #f) | |
(modified-content1.1 content_1 (tamper-tainted-for-content content_1)) | |
content_1) | |
(if stx-c_0 (syntax-scopes stx-c_0) empty-scopes) | |
(if stx-c_0 (syntax-shifted-multi-scopes stx-c_0) empty-shifted-multi-scopes) | |
(if stx-c_0 (syntax-mpi-shifts stx-c_0) empty-mpi-shifts) | |
(if stx-l_0 (syntax-srcloc stx-l_0) #f) | |
props_0 | |
(if insp_0 | |
(if stx-c_0 | |
(let-values (((a_21) insp_0) ((b_19) (syntax-inspector stx-c_0))) | |
(if (eq? a_21 b_19) | |
(let-values () a_21) | |
(if (not a_21) | |
(let-values () #f) | |
(if (not b_19) | |
(let-values () #f) | |
(if (inspector-superior? a_21 b_19) | |
(let-values () b_19) | |
(if (inspector-superior? b_19 a_21) (let-values () a_21) (let-values () #f))))))) | |
#f) | |
#f))))) | |
(define-values | |
(datum->syntax$1) | |
(let-values (((datum->syntax_0) | |
(lambda (stx-c5_0 s6_0 stx-l3_0 stx-p4_0) | |
(begin | |
'datum->syntax | |
(let-values (((stx-c_1) stx-c5_0)) | |
(let-values (((s_66) s6_0)) | |
(let-values (((stx-l_1) stx-l3_0)) | |
(let-values (((stx-p_0) stx-p4_0)) | |
(let-values () | |
(if (syntax?$1 s_66) | |
(let-values () s_66) | |
(let-values () | |
(let-values (((insp_1) | |
(if (syntax?$1 s_66) 'not-needed (current-module-code-inspector)))) | |
(let-values (((wrap_0) | |
(lambda (content_2) | |
(begin | |
'wrap | |
(let-values (((content_3) (datum-intern-literal content_2))) | |
(immediate-datum->syntax | |
stx-c_1 | |
content_3 | |
stx-l_1 | |
empty-props | |
insp_1)))))) | |
(let-values (((result-s_0) | |
(let-values (((s_67) s_66) | |
((f_24) | |
(lambda (tail?_11 x_22) | |
(begin | |
'f | |
(if tail?_11 | |
(let-values () | |
(begin | |
(if (if (fx> tail?_11 32) | |
(fx= | |
0 | |
(fxand tail?_11 (fx- tail?_11 1))) | |
#f) | |
(let-values () | |
(hash-set! | |
(unsafe-place-local-ref cell.1$7) | |
x_22 | |
#t)) | |
(void)) | |
x_22)) | |
(let-values () (wrap_0 x_22)))))) | |
((s->_0) (lambda (s_43) (begin 's-> s_43))) | |
((seen_5) disallow-cycles) | |
((known-pairs_3) (unsafe-place-local-ref cell.1$7))) | |
(let-values (((s_68) s_67) | |
((f_25) f_24) | |
((gf_2) | |
(lambda (tail?_12 v_66) | |
(begin | |
'gf | |
(if (syntax?$1 v_66) | |
(let-values () (s->_0 v_66)) | |
(let-values () (f_24 tail?_12 v_66)))))) | |
((seen_6) seen_5) | |
((known-pairs_4) known-pairs_3)) | |
((letrec-values (((loop_67) | |
(lambda (tail?_13 s_69 prev-depth_2) | |
(begin | |
'loop | |
(let-values (((depth_2) | |
(fx+ 1 prev-depth_2))) | |
(if (if seen_6 (fx> depth_2 32) #f) | |
(let-values () | |
(datum-map-slow | |
tail?_13 | |
s_69 | |
(lambda (tail?_14 s_44) | |
(gf_2 tail?_14 s_44)) | |
seen_6 | |
known-pairs_4)) | |
(if (null? s_69) | |
(let-values () (f_25 tail?_13 s_69)) | |
(if (pair? s_69) | |
(let-values () | |
(f_25 | |
tail?_13 | |
(cons | |
(loop_67 | |
#f | |
(car s_69) | |
depth_2) | |
(loop_67 | |
1 | |
(cdr s_69) | |
depth_2)))) | |
(if (symbol? s_69) | |
(let-values () (f_25 #f s_69)) | |
(if (boolean? s_69) | |
(let-values () (f_25 #f s_69)) | |
(if (number? s_69) | |
(let-values () | |
(f_25 #f s_69)) | |
(if (let-values (((or-part_90) | |
(vector? | |
s_69))) | |
(if or-part_90 | |
or-part_90 | |
(let-values (((or-part_91) | |
(box? | |
s_69))) | |
(if or-part_91 | |
or-part_91 | |
(let-values (((or-part_92) | |
(prefab-struct-key | |
s_69))) | |
(if or-part_92 | |
or-part_92 | |
(hash? | |
s_69))))))) | |
(let-values () | |
(datum-map-slow | |
tail?_13 | |
s_69 | |
(lambda (tail?_15 s_70) | |
(gf_2 tail?_15 s_70)) | |
seen_6 | |
known-pairs_4)) | |
(let-values () | |
(gf_2 | |
#f | |
s_69)))))))))))))) | |
loop_67) | |
#f | |
s_68 | |
0))))) | |
(if (if stx-p_0 (not (eq? (syntax-props stx-p_0) empty-props)) #f) | |
(let-values (((the-struct_0) result-s_0)) | |
(if (syntax?$1 the-struct_0) | |
(let-values (((props20_0) (syntax-props stx-p_0))) | |
(syntax2.1 | |
(syntax-content* the-struct_0) | |
(syntax-scopes the-struct_0) | |
(syntax-shifted-multi-scopes the-struct_0) | |
(syntax-mpi-shifts the-struct_0) | |
(syntax-srcloc the-struct_0) | |
props20_0 | |
(syntax-inspector the-struct_0))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_0))) | |
result-s_0))))))))))))))) | |
(case-lambda | |
((stx-c_2 s_71) (begin 'datum->syntax (datum->syntax_0 stx-c_2 s_71 #f #f))) | |
((stx-c_3 s_72 stx-l_2 stx-p4_1) (datum->syntax_0 stx-c_3 s_72 stx-l_2 stx-p4_1)) | |
((stx-c_4 s_73 stx-l3_1) (datum->syntax_0 stx-c_4 s_73 stx-l3_1 #f))))) | |
(define-values | |
(disallow-cycles) | |
(hasheq | |
'cycle-fail | |
(lambda (s_74) (raise-arguments-error 'datum->syntax "cannot create syntax from cyclic datum" "datum" s_74)))) | |
(define-values (syntax-place-init!) (lambda () (begin (unsafe-place-local-set! cell.1$7 (make-weak-hasheq))))) | |
(define-values | |
(struct:syntax-state | |
syntax-state17.1 | |
syntax-state? | |
syntax-state-all-sharing? | |
syntax-state-context-triple | |
syntax-state-srcloc | |
set-syntax-state-all-sharing?!) | |
(let-values (((struct:_9 make-_9 ?_9 -ref_9 -set!_9) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'syntax-state | |
#f | |
3 | |
0 | |
#f | |
(list (cons prop:authentic #t)) | |
(current-inspector) | |
#f | |
'(1 2) | |
#f | |
'syntax-state))))) | |
(values | |
struct:_9 | |
make-_9 | |
?_9 | |
(make-struct-field-accessor -ref_9 0 'all-sharing?) | |
(make-struct-field-accessor -ref_9 1 'context-triple) | |
(make-struct-field-accessor -ref_9 2 'srcloc) | |
(make-struct-field-mutator -set!_9 0 'all-sharing?)))) | |
(define-values | |
(no-pair-syntax-in-cdr?) | |
(lambda (content_4) | |
(begin | |
(if (pair? content_4) | |
(let-values () | |
((letrec-values (((loop_68) | |
(lambda (content_5) | |
(begin | |
'loop | |
(if (if (syntax?$1 content_5) (pair? (syntax-content content_5)) #f) | |
(let-values () #f) | |
(if (pair? content_5) | |
(let-values () (loop_68 (cdr content_5))) | |
(let-values () #t))))))) | |
loop_68) | |
(cdr content_4))) | |
(let-values () #t))))) | |
(define-values | |
(deserialize-syntax) | |
(lambda (content_6 context-triple_1 srcloc_1 props_1 tamper_1 inspector_0) | |
(begin | |
(syntax2.1 | |
(let-values (((t_7) (deserialize-tamper tamper_1))) (if t_7 (modified-content1.1 content_6 t_7) content_6)) | |
(vector*-ref context-triple_1 0) | |
(vector*-ref context-triple_1 1) | |
(vector*-ref context-triple_1 2) | |
srcloc_1 | |
(if props_1 | |
(let-values (((ht_33) props_1)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_33))) | |
((letrec-values (((for-loop_36) | |
(lambda (table_32 i_52) | |
(begin | |
'for-loop | |
(if i_52 | |
(let-values (((k_19 v_67) (unsafe-immutable-hash-iterate-key+value ht_33 i_52))) | |
(let-values (((table_33) | |
(let-values (((table_34) table_32)) | |
(let-values (((table_35) | |
(let-values () | |
(let-values (((key_19 val_8) | |
(let-values () | |
(values | |
k_19 | |
(preserved-property-value1.1 | |
v_67))))) | |
(hash-set table_34 key_19 val_8))))) | |
(values table_35))))) | |
(if (not #f) | |
(for-loop_36 table_33 (unsafe-immutable-hash-iterate-next ht_33 i_52)) | |
table_33))) | |
table_32))))) | |
for-loop_36) | |
'#hasheq() | |
(unsafe-immutable-hash-iterate-first ht_33)))) | |
empty-props) | |
inspector_0)))) | |
(define-values | |
(deserialize-datum->syntax) | |
(lambda (content_7 context-triple_2 srcloc_2 inspector_1) | |
(begin | |
(let-values (((s_75) (deserialize-syntax #f context-triple_2 srcloc_2 #f #f inspector_1))) | |
(datum->syntax$1 s_75 content_7 s_75 s_75))))) | |
(define-values | |
(struct:full-binding full-binding1.1 full-binding? full-binding-frame-id full-binding-free=id) | |
(let-values (((struct:_2 make-_2 ?_2 -ref_2 -set!_2) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'full-binding | |
#f | |
2 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons prop:binding-reach-scopes (lambda (b_20) (binding-free=id b_20)))) | |
(current-inspector) | |
#f | |
'(0 1) | |
#f | |
'full-binding))))) | |
(values | |
struct:_2 | |
make-_2 | |
?_2 | |
(make-struct-field-accessor -ref_2 0 'frame-id) | |
(make-struct-field-accessor -ref_2 1 'free=id)))) | |
(define-values (binding-frame-id) (lambda (b_16) (begin (if (full-binding? b_16) (full-binding-frame-id b_16) #f)))) | |
(define-values (binding-free=id) (lambda (b_21) (begin (if (full-binding? b_21) (full-binding-free=id b_21) #f)))) | |
(define-values | |
(make-module-binding.1) | |
(lambda (extra-inspector7_0 | |
extra-nominal-bindings8_0 | |
frame-id5_0 | |
free=id6_0 | |
nominal-module1_0 | |
nominal-phase2_0 | |
nominal-require-phase4_0 | |
nominal-sym3_0 | |
module17_0 | |
phase18_0 | |
sym19_0) | |
(begin | |
'make-module-binding | |
(let-values (((module_0) module17_0)) | |
(let-values (((phase_0) phase18_0)) | |
(let-values (((sym_0) sym19_0)) | |
(let-values (((nominal-module_0) (if (eq? nominal-module1_0 unsafe-undefined) module_0 nominal-module1_0))) | |
(let-values (((nominal-phase_0) (if (eq? nominal-phase2_0 unsafe-undefined) phase_0 nominal-phase2_0))) | |
(let-values (((nominal-sym_0) (if (eq? nominal-sym3_0 unsafe-undefined) sym_0 nominal-sym3_0))) | |
(let-values (((nominal-require-phase_0) nominal-require-phase4_0)) | |
(let-values (((frame-id_0) frame-id5_0)) | |
(let-values (((free=id_0) free=id6_0)) | |
(let-values (((extra-inspector_0) extra-inspector7_0)) | |
(let-values (((extra-nominal-bindings_0) extra-nominal-bindings8_0)) | |
(let-values () | |
(if (let-values (((or-part_79) frame-id_0)) | |
(if or-part_79 | |
or-part_79 | |
(let-values (((or-part_80) free=id_0)) | |
(if or-part_80 | |
or-part_80 | |
(let-values (((or-part_81) extra-inspector_0)) | |
(if or-part_81 | |
or-part_81 | |
(not | |
(if (eqv? nominal-phase_0 phase_0) | |
(if (eq? nominal-sym_0 sym_0) | |
(if (eqv? nominal-require-phase_0 0) | |
(null? extra-nominal-bindings_0) | |
#f) | |
#f) | |
#f)))))))) | |
(let-values () | |
(full-module-binding45.1 | |
frame-id_0 | |
free=id_0 | |
module_0 | |
phase_0 | |
sym_0 | |
nominal-module_0 | |
nominal-phase_0 | |
nominal-sym_0 | |
nominal-require-phase_0 | |
extra-inspector_0 | |
extra-nominal-bindings_0)) | |
(let-values () | |
(simple-module-binding46.1 module_0 phase_0 sym_0 nominal-module_0)))))))))))))))))) | |
(define-values | |
(module-binding-update.1) | |
(lambda (extra-inspector30_0 | |
extra-nominal-bindings31_0 | |
frame-id28_0 | |
free=id29_0 | |
module21_0 | |
nominal-module24_0 | |
nominal-phase25_0 | |
nominal-require-phase27_0 | |
nominal-sym26_0 | |
phase22_0 | |
sym23_0 | |
b43_0) | |
(begin | |
'module-binding-update | |
(let-values (((b_8) b43_0)) | |
(let-values (((module_1) (if (eq? module21_0 unsafe-undefined) (module-binding-module b_8) module21_0))) | |
(let-values (((phase_1) (if (eq? phase22_0 unsafe-undefined) (module-binding-phase b_8) phase22_0))) | |
(let-values (((sym_1) (if (eq? sym23_0 unsafe-undefined) (module-binding-sym b_8) sym23_0))) | |
(let-values (((nominal-module_1) | |
(if (eq? nominal-module24_0 unsafe-undefined) | |
(module-binding-nominal-module b_8) | |
nominal-module24_0))) | |
(let-values (((nominal-phase_1) | |
(if (eq? nominal-phase25_0 unsafe-undefined) | |
(module-binding-nominal-phase b_8) | |
nominal-phase25_0))) | |
(let-values (((nominal-sym_1) | |
(if (eq? nominal-sym26_0 unsafe-undefined) | |
(module-binding-nominal-sym b_8) | |
nominal-sym26_0))) | |
(let-values (((nominal-require-phase_1) | |
(if (eq? nominal-require-phase27_0 unsafe-undefined) | |
(module-binding-nominal-require-phase b_8) | |
nominal-require-phase27_0))) | |
(let-values (((frame-id_1) | |
(if (eq? frame-id28_0 unsafe-undefined) (binding-frame-id b_8) frame-id28_0))) | |
(let-values (((free=id_1) | |
(if (eq? free=id29_0 unsafe-undefined) (binding-free=id b_8) free=id29_0))) | |
(let-values (((extra-inspector_1) | |
(if (eq? extra-inspector30_0 unsafe-undefined) | |
(module-binding-extra-inspector b_8) | |
extra-inspector30_0))) | |
(let-values (((extra-nominal-bindings_1) | |
(if (eq? extra-nominal-bindings31_0 unsafe-undefined) | |
(module-binding-extra-nominal-bindings b_8) | |
extra-nominal-bindings31_0))) | |
(let-values () | |
(let-values (((module47_0) module_1) | |
((phase48_0) phase_1) | |
((sym49_0) sym_1) | |
((nominal-module50_0) nominal-module_1) | |
((nominal-phase51_0) nominal-phase_1) | |
((nominal-sym52_0) nominal-sym_1) | |
((nominal-require-phase53_0) nominal-require-phase_1) | |
((frame-id54_0) frame-id_1) | |
((free=id55_0) free=id_1) | |
((extra-inspector56_0) extra-inspector_1) | |
((extra-nominal-bindings57_0) extra-nominal-bindings_1)) | |
(make-module-binding.1 | |
extra-inspector56_0 | |
extra-nominal-bindings57_0 | |
frame-id54_0 | |
free=id55_0 | |
nominal-module50_0 | |
nominal-phase51_0 | |
nominal-require-phase53_0 | |
nominal-sym52_0 | |
module47_0 | |
phase48_0 | |
sym49_0)))))))))))))))))) | |
(define-values | |
(module-binding?) | |
(lambda (b_22) | |
(begin | |
(let-values (((or-part_93) (simple-module-binding? b_22))) | |
(if or-part_93 or-part_93 (full-module-binding? b_22)))))) | |
(define-values | |
(struct:full-module-binding | |
full-module-binding45.1 | |
full-module-binding? | |
full-module-binding-module | |
full-module-binding-phase | |
full-module-binding-sym | |
full-module-binding-nominal-module | |
full-module-binding-nominal-phase | |
full-module-binding-nominal-sym | |
full-module-binding-nominal-require-phase | |
full-module-binding-extra-inspector | |
full-module-binding-extra-nominal-bindings) | |
(let-values (((struct:_10 make-_10 ?_10 -ref_10 -set!_10) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'full-module-binding | |
struct:full-binding | |
9 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:serialize | |
(lambda (b_23 ser-push!_2 state_11) | |
(let-values (((simplified-b_0) | |
(if (full-binding-frame-id b_23) | |
(let-values (((b59_0) b_23) ((temp60_0) #f)) | |
(module-binding-update.1 | |
unsafe-undefined | |
unsafe-undefined | |
temp60_0 | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
b59_0)) | |
b_23))) | |
(if (full-module-binding? simplified-b_0) | |
(let-values () | |
(begin | |
(ser-push!_2 'tag '#:module-binding) | |
(ser-push!_2 (full-module-binding-module b_23)) | |
(ser-push!_2 (full-module-binding-sym b_23)) | |
(ser-push!_2 (full-module-binding-phase b_23)) | |
(ser-push!_2 (full-module-binding-nominal-module b_23)) | |
(ser-push!_2 (full-module-binding-nominal-phase b_23)) | |
(ser-push!_2 (full-module-binding-nominal-sym b_23)) | |
(ser-push!_2 (full-module-binding-nominal-require-phase b_23)) | |
(ser-push!_2 (full-binding-free=id b_23)) | |
(if (full-module-binding-extra-inspector b_23) | |
(ser-push!_2 'tag '#:inspector) | |
(ser-push!_2 #f)) | |
(ser-push!_2 (full-module-binding-extra-nominal-bindings b_23)))) | |
(let-values () (ser-push!_2 simplified-b_0))))))) | |
#f | |
#f | |
'(0 1 2 3 4 5 6 7 8) | |
#f | |
'full-module-binding))))) | |
(values | |
struct:_10 | |
make-_10 | |
?_10 | |
(make-struct-field-accessor -ref_10 0 'module) | |
(make-struct-field-accessor -ref_10 1 'phase) | |
(make-struct-field-accessor -ref_10 2 'sym) | |
(make-struct-field-accessor -ref_10 3 'nominal-module) | |
(make-struct-field-accessor -ref_10 4 'nominal-phase) | |
(make-struct-field-accessor -ref_10 5 'nominal-sym) | |
(make-struct-field-accessor -ref_10 6 'nominal-require-phase) | |
(make-struct-field-accessor -ref_10 7 'extra-inspector) | |
(make-struct-field-accessor -ref_10 8 'extra-nominal-bindings)))) | |
(define-values | |
(struct:simple-module-binding | |
simple-module-binding46.1 | |
simple-module-binding? | |
simple-module-binding-module | |
simple-module-binding-phase | |
simple-module-binding-sym | |
simple-module-binding-nominal-module) | |
(let-values (((struct:_11 make-_11 ?_11 -ref_11 -set!_11) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'simple-module-binding | |
#f | |
4 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:serialize | |
(lambda (b_24 ser-push!_3 state_12) | |
(begin | |
(ser-push!_3 'tag '#:simple-module-binding) | |
(ser-push!_3 (simple-module-binding-module b_24)) | |
(ser-push!_3 (simple-module-binding-sym b_24)) | |
(ser-push!_3 (simple-module-binding-phase b_24)) | |
(ser-push!_3 (simple-module-binding-nominal-module b_24)))))) | |
#f | |
#f | |
'(0 1 2 3) | |
#f | |
'simple-module-binding))))) | |
(values | |
struct:_11 | |
make-_11 | |
?_11 | |
(make-struct-field-accessor -ref_11 0 'module) | |
(make-struct-field-accessor -ref_11 1 'phase) | |
(make-struct-field-accessor -ref_11 2 'sym) | |
(make-struct-field-accessor -ref_11 3 'nominal-module)))) | |
(define-values | |
(deserialize-full-module-binding) | |
(lambda (module_2 | |
sym_2 | |
phase_2 | |
nominal-module_2 | |
nominal-phase_2 | |
nominal-sym_2 | |
nominal-require-phase_2 | |
free=id_2 | |
extra-inspector_2 | |
extra-nominal-bindings_2) | |
(begin | |
(let-values (((module62_0) module_2) | |
((phase63_0) phase_2) | |
((sym64_0) sym_2) | |
((nominal-module65_0) nominal-module_2) | |
((nominal-phase66_0) nominal-phase_2) | |
((nominal-sym67_0) nominal-sym_2) | |
((nominal-require-phase68_0) nominal-require-phase_2) | |
((free=id69_0) free=id_2) | |
((extra-inspector70_0) extra-inspector_2) | |
((extra-nominal-bindings71_0) extra-nominal-bindings_2)) | |
(make-module-binding.1 | |
extra-inspector70_0 | |
extra-nominal-bindings71_0 | |
#f | |
free=id69_0 | |
nominal-module65_0 | |
nominal-phase66_0 | |
nominal-require-phase68_0 | |
nominal-sym67_0 | |
module62_0 | |
phase63_0 | |
sym64_0))))) | |
(define-values | |
(deserialize-simple-module-binding) | |
(lambda (module_3 sym_3 phase_3 nominal-module_3) | |
(begin (simple-module-binding46.1 module_3 phase_3 sym_3 nominal-module_3)))) | |
(define-values | |
(module-binding-module) | |
(lambda (b_25) | |
(begin (if (simple-module-binding? b_25) (simple-module-binding-module b_25) (full-module-binding-module b_25))))) | |
(define-values | |
(module-binding-phase) | |
(lambda (b_26) | |
(begin (if (simple-module-binding? b_26) (simple-module-binding-phase b_26) (full-module-binding-phase b_26))))) | |
(define-values | |
(module-binding-sym) | |
(lambda (b_27) | |
(begin (if (simple-module-binding? b_27) (simple-module-binding-sym b_27) (full-module-binding-sym b_27))))) | |
(define-values | |
(module-binding-nominal-module) | |
(lambda (b_28) | |
(begin | |
(if (simple-module-binding? b_28) | |
(simple-module-binding-nominal-module b_28) | |
(full-module-binding-nominal-module b_28))))) | |
(define-values | |
(module-binding-nominal-phase) | |
(lambda (b_29) | |
(begin | |
(if (simple-module-binding? b_29) (simple-module-binding-phase b_29) (full-module-binding-nominal-phase b_29))))) | |
(define-values | |
(module-binding-nominal-sym) | |
(lambda (b_30) | |
(begin (if (simple-module-binding? b_30) (simple-module-binding-sym b_30) (full-module-binding-nominal-sym b_30))))) | |
(define-values | |
(module-binding-nominal-require-phase) | |
(lambda (b_31) (begin (if (simple-module-binding? b_31) 0 (full-module-binding-nominal-require-phase b_31))))) | |
(define-values | |
(module-binding-extra-inspector) | |
(lambda (b_32) (begin (if (simple-module-binding? b_32) #f (full-module-binding-extra-inspector b_32))))) | |
(define-values | |
(module-binding-extra-nominal-bindings) | |
(lambda (b_33) (begin (if (simple-module-binding? b_33) null (full-module-binding-extra-nominal-bindings b_33))))) | |
(define-values (empty-binding-table) '#hasheq()) | |
(define-values | |
(struct:table-with-bulk-bindings | |
table-with-bulk-bindings1.1 | |
table-with-bulk-bindings? | |
table-with-bulk-bindings-syms | |
table-with-bulk-bindings-syms/serialize | |
table-with-bulk-bindings-bulk-bindings) | |
(let-values (((struct:_12 make-_12 ?_12 -ref_12 -set!_12) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'table-with-bulk-bindings | |
#f | |
3 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:serialize | |
(lambda (twbb_0 ser-push!_4 state_13) | |
(begin | |
(ser-push!_4 'tag '#:table-with-bulk-bindings) | |
(ser-push!_4 (table-with-bulk-bindings-syms/serialize twbb_0)) | |
(ser-push!_4 (table-with-bulk-bindings-bulk-bindings twbb_0)))))) | |
(current-inspector) | |
#f | |
'(0 1 2) | |
#f | |
'table-with-bulk-bindings))))) | |
(values | |
struct:_12 | |
make-_12 | |
?_12 | |
(make-struct-field-accessor -ref_12 0 'syms) | |
(make-struct-field-accessor -ref_12 1 'syms/serialize) | |
(make-struct-field-accessor -ref_12 2 'bulk-bindings)))) | |
(define-values | |
(deserialize-table-with-bulk-bindings) | |
(lambda (syms_1 bulk-bindings_0) (begin (table-with-bulk-bindings1.1 syms_1 syms_1 bulk-bindings_0)))) | |
(define-values | |
(struct:bulk-binding-at bulk-binding-at2.1 bulk-binding-at? bulk-binding-at-scopes bulk-binding-at-bulk) | |
(let-values (((struct:_13 make-_13 ?_13 -ref_13 -set!_13) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'bulk-binding-at | |
#f | |
2 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons prop:reach-scopes (lambda (sms_2 reach_1) (error "shouldn't get here"))) | |
(cons | |
prop:serialize | |
(lambda (bba_0 ser-push!_5 state_14) | |
(begin | |
(ser-push!_5 'tag '#:bulk-binding-at) | |
(ser-push!_5 (bulk-binding-at-scopes bba_0)) | |
(ser-push!_5 (bulk-binding-at-bulk bba_0)))))) | |
(current-inspector) | |
#f | |
'(0 1) | |
#f | |
'bulk-binding-at))))) | |
(values | |
struct:_13 | |
make-_13 | |
?_13 | |
(make-struct-field-accessor -ref_13 0 'scopes) | |
(make-struct-field-accessor -ref_13 1 'bulk)))) | |
(define-values (deserialize-bulk-binding-at) (lambda (scopes_0 bulk_0) (begin (bulk-binding-at2.1 scopes_0 bulk_0)))) | |
(define-values (prop:bulk-binding bulk-binding?$1 bulk-binding-ref) (make-struct-type-property 'bulk-binding)) | |
(define-values | |
(struct:bulk-binding-class | |
bulk-binding-class3.1 | |
bulk-binding-class? | |
bulk-binding-class-get-symbols | |
bulk-binding-class-create) | |
(let-values (((struct:_14 make-_14 ?_14 -ref_14 -set!_14) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'bulk-binding-class | |
#f | |
2 | |
0 | |
#f | |
null | |
(current-inspector) | |
#f | |
'(0 1) | |
#f | |
'bulk-binding-class))))) | |
(values | |
struct:_14 | |
make-_14 | |
?_14 | |
(make-struct-field-accessor -ref_14 0 'get-symbols) | |
(make-struct-field-accessor -ref_14 1 'create)))) | |
(define-values | |
(bulk-binding-symbols) | |
(lambda (b_34 s_76 extra-shifts_0) | |
(begin | |
((bulk-binding-class-get-symbols (bulk-binding-ref b_34)) | |
b_34 | |
(append extra-shifts_0 (if s_76 (syntax-mpi-shifts s_76) null)))))) | |
(define-values (bulk-binding-create) (lambda (b_35) (begin (bulk-binding-class-create (bulk-binding-ref b_35))))) | |
(define-values (binding-table-empty?) (lambda (bt_0) (begin (if (hash? bt_0) (zero? (hash-count bt_0)) #f)))) | |
(define-values | |
(binding-table-add) | |
(lambda (bt_1 scopes_1 sym_4 binding_0 just-for-nominal?_0) | |
(begin | |
(if (hash? bt_1) | |
(let-values () (hash-set bt_1 sym_4 (hash-set (hash-ref bt_1 sym_4 '#hash()) scopes_1 binding_0))) | |
(let-values () | |
(let-values (((new-syms_0) | |
(binding-table-add | |
(table-with-bulk-bindings-syms bt_1) | |
scopes_1 | |
sym_4 | |
binding_0 | |
just-for-nominal?_0))) | |
(let-values (((new-syms/serialize_0) | |
(if just-for-nominal?_0 | |
(let-values () (table-with-bulk-bindings-syms/serialize bt_1)) | |
(if (eq? | |
(table-with-bulk-bindings-syms bt_1) | |
(table-with-bulk-bindings-syms/serialize bt_1)) | |
(let-values () new-syms_0) | |
(let-values () | |
(binding-table-add | |
(table-with-bulk-bindings-syms/serialize bt_1) | |
scopes_1 | |
sym_4 | |
binding_0 | |
#f)))))) | |
(let-values (((the-struct_1) bt_1)) | |
(if (table-with-bulk-bindings? the-struct_1) | |
(let-values (((syms26_0) new-syms_0) ((syms/serialize27_0) new-syms/serialize_0)) | |
(table-with-bulk-bindings1.1 | |
syms26_0 | |
syms/serialize27_0 | |
(table-with-bulk-bindings-bulk-bindings the-struct_1))) | |
(raise-argument-error 'struct-copy "table-with-bulk-bindings?" the-struct_1)))))))))) | |
(define-values | |
(prop:implicitly-reachable implicitly-reachable? implicitly-reachable-ref) | |
(make-struct-type-property 'implicitly-reachable)) | |
(define-values | |
(binding-table-add-bulk.1) | |
(lambda (shadow-except4_0 bt6_0 scopes7_0 bulk8_0) | |
(begin | |
'binding-table-add-bulk | |
(let-values (((bt_2) bt6_0)) | |
(let-values (((scopes_2) scopes7_0)) | |
(let-values (((bulk_1) bulk8_0)) | |
(let-values (((shadow-except_0) shadow-except4_0)) | |
(let-values () | |
(if (table-with-bulk-bindings? bt_2) | |
(let-values () | |
(let-values (((new-syms_1) | |
(let-values (((temp28_0) (table-with-bulk-bindings-syms bt_2)) | |
((scopes29_0) scopes_2) | |
((bulk30_0) bulk_1) | |
((shadow-except31_0) shadow-except_0)) | |
(remove-matching-bindings.1 shadow-except31_0 temp28_0 scopes29_0 bulk30_0)))) | |
(let-values (((new-syms/serialize_1) | |
(if (eq? | |
(table-with-bulk-bindings-syms bt_2) | |
(table-with-bulk-bindings-syms/serialize bt_2)) | |
new-syms_1 | |
(let-values (((temp32_0) (table-with-bulk-bindings-syms/serialize bt_2)) | |
((scopes33_0) scopes_2) | |
((bulk34_0) bulk_1) | |
((shadow-except35_0) shadow-except_0)) | |
(remove-matching-bindings.1 shadow-except35_0 temp32_0 scopes33_0 bulk34_0))))) | |
(table-with-bulk-bindings1.1 | |
new-syms_1 | |
new-syms/serialize_1 | |
(cons (bulk-binding-at2.1 scopes_2 bulk_1) (table-with-bulk-bindings-bulk-bindings bt_2)))))) | |
(let-values () | |
(let-values (((temp36_0) (table-with-bulk-bindings1.1 bt_2 bt_2 null)) | |
((scopes37_0) scopes_2) | |
((bulk38_0) bulk_1)) | |
(binding-table-add-bulk.1 #f temp36_0 scopes37_0 bulk38_0)))))))))))) | |
(define-values | |
(remove-matching-bindings.1) | |
(lambda (except10_0 syms12_0 scopes13_0 bulk14_0) | |
(begin | |
'remove-matching-bindings | |
(let-values (((syms_2) syms12_0)) | |
(let-values (((scopes_3) scopes13_0)) | |
(let-values (((bulk_2) bulk14_0)) | |
(let-values (((except_0) except10_0)) | |
(let-values () | |
(let-values (((bulk-symbols_0) (bulk-binding-symbols bulk_2 #f null))) | |
(if (< (hash-count syms_2) (hash-count bulk-symbols_0)) | |
(let-values () | |
(let-values (((ht_34) syms_2)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_34))) | |
((letrec-values (((for-loop_37) | |
(lambda (syms_3 i_53) | |
(begin | |
'for-loop | |
(if i_53 | |
(let-values (((sym_5 sym-bindings_0) | |
(unsafe-immutable-hash-iterate-key+value ht_34 i_53))) | |
(let-values (((syms_4) | |
(let-values (((syms_5) syms_3)) | |
(let-values (((syms_6) | |
(let-values () | |
(if (hash-ref | |
bulk-symbols_0 | |
sym_5 | |
#f) | |
(let-values (((syms39_0) syms_5) | |
((sym40_0) sym_5) | |
((sym-bindings41_0) | |
sym-bindings_0) | |
((scopes42_0) | |
scopes_3) | |
((except43_0) | |
except_0)) | |
(remove-matching-binding.1 | |
except43_0 | |
syms39_0 | |
sym40_0 | |
sym-bindings41_0 | |
scopes42_0)) | |
syms_5)))) | |
(values syms_6))))) | |
(if (not #f) | |
(for-loop_37 | |
syms_4 | |
(unsafe-immutable-hash-iterate-next ht_34 i_53)) | |
syms_4))) | |
syms_3))))) | |
for-loop_37) | |
syms_2 | |
(unsafe-immutable-hash-iterate-first ht_34))))) | |
(let-values () | |
(let-values (((ht_35) bulk-symbols_0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_35))) | |
((letrec-values (((for-loop_38) | |
(lambda (syms_7 i_54) | |
(begin | |
'for-loop | |
(if i_54 | |
(let-values (((sym_6) (unsafe-immutable-hash-iterate-key ht_35 i_54))) | |
(let-values (((syms_8) | |
(let-values (((syms_9) syms_7)) | |
(let-values (((syms_10) | |
(let-values () | |
(let-values (((sym-bindings_1) | |
(hash-ref | |
syms_9 | |
sym_6 | |
#f))) | |
(if sym-bindings_1 | |
(let-values (((syms44_0) syms_9) | |
((sym45_0) sym_6) | |
((sym-bindings46_0) | |
sym-bindings_1) | |
((scopes47_0) | |
scopes_3) | |
((except48_0) | |
except_0)) | |
(remove-matching-binding.1 | |
except48_0 | |
syms44_0 | |
sym45_0 | |
sym-bindings46_0 | |
scopes47_0)) | |
syms_9))))) | |
(values syms_10))))) | |
(if (not #f) | |
(for-loop_38 | |
syms_8 | |
(unsafe-immutable-hash-iterate-next ht_35 i_54)) | |
syms_8))) | |
syms_7))))) | |
for-loop_38) | |
syms_2 | |
(unsafe-immutable-hash-iterate-first ht_35))))))))))))))) | |
(define-values | |
(remove-matching-binding.1) | |
(lambda (except16_0 syms18_0 sym19_1 sym-bindings20_0 scopes21_0) | |
(begin | |
'remove-matching-binding | |
(let-values (((syms_11) syms18_0)) | |
(let-values (((sym_7) sym19_1)) | |
(let-values (((sym-bindings_2) sym-bindings20_0)) | |
(let-values (((scopes_4) scopes21_0)) | |
(let-values (((except_1) except16_0)) | |
(let-values () | |
(if (if except_1 | |
(let-values (((b_36) (hash-ref sym-bindings_2 scopes_4 #f))) | |
(if (module-binding? b_36) (eq? except_1 (module-binding-module b_36)) #f)) | |
#f) | |
(let-values () syms_11) | |
(let-values () (hash-set syms_11 sym_7 (hash-remove sym-bindings_2 scopes_4))))))))))))) | |
(define-values | |
(next-state-in-full-binding-table) | |
(lambda (sym-ht_0 sym-i_0) | |
(begin | |
(if sym-i_0 | |
(let-values (((ht_36) (hash-iterate-value sym-ht_0 sym-i_0))) | |
(let-values (((i_55) (hash-iterate-first ht_36))) | |
(if i_55 | |
(cons (vector sym-i_0 (hash-iterate-key sym-ht_0 sym-i_0) ht_36) i_55) | |
(next-state-in-full-binding-table sym-ht_0 (hash-iterate-next sym-ht_0 sym-i_0))))) | |
'(#f . #f))))) | |
(define-values | |
(binding-table-symbols) | |
(lambda (table_36 scs_2 s_69 extra-shifts_1) | |
(begin | |
(let-values (((ht_37 bulk-bindings_1) | |
(if (hash? table_36) | |
(values table_36 null) | |
(values | |
(table-with-bulk-bindings-syms table_36) | |
(table-with-bulk-bindings-bulk-bindings table_36))))) | |
(set-union | |
(let-values (((ht_38) ht_37)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-in-hash ht_38))) | |
((letrec-values (((for-loop_39) | |
(lambda (table_37 i_56) | |
(begin | |
'for-loop | |
(if i_56 | |
(let-values (((sym_8 at-sym_0) (hash-iterate-key+value ht_38 i_56))) | |
(let-values (((table_38) | |
(let-values (((table_39) table_37)) | |
(if (let-values (((ht_39) at-sym_0)) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash-keys ht_39))) | |
((letrec-values (((for-loop_40) | |
(lambda (result_30 i_57) | |
(begin | |
'for-loop | |
(if i_57 | |
(let-values (((an-scs_0) | |
(hash-iterate-key | |
ht_39 | |
i_57))) | |
(let-values (((result_31) | |
(let-values () | |
(let-values (((result_32) | |
(let-values () | |
(let-values () | |
(subset? | |
an-scs_0 | |
scs_2))))) | |
(values | |
result_32))))) | |
(if (if (not | |
((lambda x_23 | |
result_31) | |
an-scs_0)) | |
(not #f) | |
#f) | |
(for-loop_40 | |
result_31 | |
(hash-iterate-next | |
ht_39 | |
i_57)) | |
result_31))) | |
result_30))))) | |
for-loop_40) | |
#f | |
(hash-iterate-first ht_39)))) | |
(let-values (((table_40) table_39)) | |
(let-values (((table_41) | |
(let-values () | |
(let-values (((key_20 val_9) | |
(let-values () | |
(values | |
(let-values () sym_8) | |
#t)))) | |
(hash-set table_40 key_20 val_9))))) | |
(values table_41))) | |
table_39)))) | |
(if (not #f) (for-loop_39 table_38 (hash-iterate-next ht_38 i_56)) table_38))) | |
table_37))))) | |
for-loop_39) | |
'#hasheq() | |
(hash-iterate-first ht_38)))) | |
(let-values (((lst_39) bulk-bindings_1)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_39))) | |
((letrec-values (((for-loop_41) | |
(lambda (table_42 lst_40) | |
(begin | |
'for-loop | |
(if (pair? lst_40) | |
(let-values (((bba_1) (unsafe-car lst_40)) ((rest_16) (unsafe-cdr lst_40))) | |
(let-values (((table_43) | |
(let-values (((table_44) table_42)) | |
(if (subset? (bulk-binding-at-scopes bba_1) scs_2) | |
(let-values (((ht_40) | |
(bulk-binding-symbols | |
(bulk-binding-at-bulk bba_1) | |
s_69 | |
extra-shifts_1))) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash-keys ht_40))) | |
((letrec-values (((for-loop_42) | |
(lambda (table_45 i_58) | |
(begin | |
'for-loop | |
(if i_58 | |
(let-values (((sym_9) | |
(hash-iterate-key | |
ht_40 | |
i_58))) | |
(let-values (((table_46) | |
(let-values (((table_47) | |
table_45)) | |
(let-values (((table_32) | |
(let-values () | |
(let-values (((key_21 | |
val_10) | |
(let-values () | |
(values | |
(let-values () | |
sym_9) | |
#t)))) | |
(hash-set | |
table_47 | |
key_21 | |
val_10))))) | |
(values | |
table_32))))) | |
(if (not #f) | |
(for-loop_42 | |
table_46 | |
(hash-iterate-next | |
ht_40 | |
i_58)) | |
table_46))) | |
table_45))))) | |
for-loop_42) | |
table_44 | |
(hash-iterate-first ht_40)))) | |
table_44)))) | |
(if (not #f) (for-loop_41 table_43 rest_16) table_43))) | |
table_42))))) | |
for-loop_41) | |
'#hasheq() | |
lst_39)))))))) | |
(define-values | |
(binding-table-prune-to-reachable) | |
(lambda (bt_3 state_15) | |
(begin | |
(let-values (((or-part_94) (hash-ref (serialize-state-bindings-intern state_15) bt_3 #f))) | |
(if or-part_94 | |
or-part_94 | |
(let-values (((reachable-scopes_1) (serialize-state-reachable-scopes state_15))) | |
(let-values (((new-syms_2) | |
(let-values (((ht_41) (if (hash? bt_3) bt_3 (table-with-bulk-bindings-syms/serialize bt_3)))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_41))) | |
((letrec-values (((for-loop_43) | |
(lambda (table_48 i_59) | |
(begin | |
'for-loop | |
(if i_59 | |
(let-values (((sym_10 bindings-for-sym_0) | |
(unsafe-immutable-hash-iterate-key+value | |
ht_41 | |
i_59))) | |
(let-values (((table_49) | |
(let-values (((new-bindings-for-sym_0) | |
(let-values (((ht_42) | |
bindings-for-sym_0)) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () | |
(check-in-immutable-hash | |
ht_42))) | |
((letrec-values (((for-loop_44) | |
(lambda (table_50 | |
i_60) | |
(begin | |
'for-loop | |
(if i_60 | |
(let-values (((scopes_5 | |
binding_1) | |
(unsafe-immutable-hash-iterate-key+value | |
ht_42 | |
i_60))) | |
(let-values (((table_51) | |
(let-values (((table_52) | |
table_50)) | |
(if (subset? | |
scopes_5 | |
reachable-scopes_1) | |
(let-values (((table_53) | |
table_52)) | |
(let-values (((table_54) | |
(let-values () | |
(let-values (((key_22 | |
val_11) | |
(let-values () | |
(values | |
(intern-scopes | |
scopes_5 | |
state_15) | |
binding_1)))) | |
(hash-set | |
table_53 | |
key_22 | |
val_11))))) | |
(values | |
table_54))) | |
table_52)))) | |
(if (not | |
#f) | |
(for-loop_44 | |
table_51 | |
(unsafe-immutable-hash-iterate-next | |
ht_42 | |
i_60)) | |
table_51))) | |
table_50))))) | |
for-loop_44) | |
'#hash() | |
(unsafe-immutable-hash-iterate-first | |
ht_42)))))) | |
(begin | |
#t | |
((letrec-values (((for-loop_45) | |
(lambda (table_55) | |
(begin | |
'for-loop | |
(let-values () | |
(let-values (((table_56) | |
(let-values (((table_57) | |
table_55)) | |
(if (positive? | |
(hash-count | |
new-bindings-for-sym_0)) | |
(let-values (((table_58) | |
table_57)) | |
(let-values (((table_59) | |
(let-values () | |
(let-values (((key_23 | |
val_12) | |
(let-values () | |
(values | |
sym_10 | |
new-bindings-for-sym_0)))) | |
(hash-set | |
table_58 | |
key_23 | |
val_12))))) | |
(values | |
table_59))) | |
table_57)))) | |
table_56)))))) | |
for-loop_45) | |
table_48))))) | |
(if (not #f) | |
(for-loop_43 | |
table_49 | |
(unsafe-immutable-hash-iterate-next ht_41 i_59)) | |
table_49))) | |
table_48))))) | |
for-loop_43) | |
'#hasheq() | |
(unsafe-immutable-hash-iterate-first ht_41)))))) | |
(let-values (((new-bulk-bindings_0) | |
(if (hash? bt_3) | |
null | |
(reverse$1 | |
(let-values (((lst_41) (table-with-bulk-bindings-bulk-bindings bt_3))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_41))) | |
((letrec-values (((for-loop_46) | |
(lambda (fold-var_22 lst_42) | |
(begin | |
'for-loop | |
(if (pair? lst_42) | |
(let-values (((bba_2) (unsafe-car lst_42)) | |
((rest_17) (unsafe-cdr lst_42))) | |
(let-values (((fold-var_23) | |
(let-values (((fold-var_24) fold-var_22)) | |
(if (subset? | |
(bulk-binding-at-scopes bba_2) | |
reachable-scopes_1) | |
(let-values (((fold-var_25) fold-var_24)) | |
(let-values (((fold-var_26) | |
(let-values () | |
(cons | |
(let-values () | |
(let-values (((the-struct_2) | |
bba_2)) | |
(if (bulk-binding-at? | |
the-struct_2) | |
(let-values (((scopes49_0) | |
(intern-scopes | |
(bulk-binding-at-scopes | |
bba_2) | |
state_15))) | |
(bulk-binding-at2.1 | |
scopes49_0 | |
(bulk-binding-at-bulk | |
the-struct_2))) | |
(raise-argument-error | |
'struct-copy | |
"bulk-binding-at?" | |
the-struct_2)))) | |
fold-var_25)))) | |
(values fold-var_26))) | |
fold-var_24)))) | |
(if (not #f) | |
(for-loop_46 fold-var_23 rest_17) | |
fold-var_23))) | |
fold-var_22))))) | |
for-loop_46) | |
null | |
lst_41))))))) | |
(let-values (((new-bt_0) | |
(if (pair? new-bulk-bindings_0) | |
(table-with-bulk-bindings1.1 new-syms_2 new-syms_2 new-bulk-bindings_0) | |
new-syms_2))) | |
(begin (hash-set! (serialize-state-bulk-bindings-intern state_15) bt_3 new-bt_0) new-bt_0)))))))))) | |
(define-values | |
(binding-table-register-reachable) | |
(lambda (bt_4 get-reachable-scopes_0 reach_2 register-trigger_0) | |
(begin | |
(begin | |
(let-values (((ht_43) (if (hash? bt_4) bt_4 (table-with-bulk-bindings-syms/serialize bt_4)))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_43))) | |
((letrec-values (((for-loop_47) | |
(lambda (i_61) | |
(begin | |
'for-loop | |
(if i_61 | |
(let-values (((sym_11 bindings-for-sym_1) | |
(unsafe-immutable-hash-iterate-key+value ht_43 i_61))) | |
(let-values ((() | |
(let-values (((ht_44) bindings-for-sym_1)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_44))) | |
((letrec-values (((for-loop_48) | |
(lambda (i_62) | |
(begin | |
'for-loop | |
(if i_62 | |
(let-values (((scopes_6 binding_2) | |
(unsafe-immutable-hash-iterate-key+value | |
ht_44 | |
i_62))) | |
(let-values ((() | |
(let-values () | |
(let-values ((() | |
(let-values () | |
(begin | |
(let-values () | |
(let-values (((v_68) | |
(if (binding-reach-scopes? | |
binding_2) | |
((binding-reach-scopes-ref | |
binding_2) | |
binding_2) | |
#f))) | |
(scopes-register-reachable | |
scopes_6 | |
v_68 | |
get-reachable-scopes_0 | |
reach_2 | |
register-trigger_0))) | |
(values))))) | |
(values))))) | |
(if (not #f) | |
(for-loop_48 | |
(unsafe-immutable-hash-iterate-next | |
ht_44 | |
i_62)) | |
(values)))) | |
(values)))))) | |
for-loop_48) | |
(unsafe-immutable-hash-iterate-first ht_44)))))) | |
(if (not #f) | |
(for-loop_47 (unsafe-immutable-hash-iterate-next ht_43 i_61)) | |
(values)))) | |
(values)))))) | |
for-loop_47) | |
(unsafe-immutable-hash-iterate-first ht_43)))) | |
(void) | |
(if (table-with-bulk-bindings? bt_4) | |
(let-values () | |
(begin | |
(let-values (((lst_43) (table-with-bulk-bindings-bulk-bindings bt_4))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_43))) | |
((letrec-values (((for-loop_49) | |
(lambda (lst_44) | |
(begin | |
'for-loop | |
(if (pair? lst_44) | |
(let-values (((bba_3) (unsafe-car lst_44)) ((rest_18) (unsafe-cdr lst_44))) | |
(let-values ((() | |
(let-values () | |
(let-values ((() | |
(let-values () | |
(begin | |
(let-values () | |
(scopes-register-reachable | |
(bulk-binding-at-scopes bba_3) | |
#f | |
get-reachable-scopes_0 | |
reach_2 | |
register-trigger_0)) | |
(values))))) | |
(values))))) | |
(if (not #f) (for-loop_49 rest_18) (values)))) | |
(values)))))) | |
for-loop_49) | |
lst_43))) | |
(void))) | |
(void)))))) | |
(define-values | |
(scopes-register-reachable) | |
(lambda (scopes_7 v_69 get-reachable-scopes_1 reach_3 register-trigger_1) | |
(begin | |
(let-values (((reachable-scopes_2) (get-reachable-scopes_1))) | |
(if (subset? scopes_7 reachable-scopes_2) | |
(let-values () (reach_3 v_69)) | |
(let-values () | |
(let-values (((pending-scopes_0) | |
(let-values (((ht_45) scopes_7)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_45))) | |
((letrec-values (((for-loop_50) | |
(lambda (table_60 i_63) | |
(begin | |
'for-loop | |
(if i_63 | |
(let-values (((sc_0) | |
(unsafe-immutable-hash-iterate-key ht_45 i_63))) | |
(let-values (((table_61) | |
(let-values (((table_62) table_60)) | |
(if (let-values (((or-part_95) | |
(set-member? | |
reachable-scopes_2 | |
sc_0))) | |
(if or-part_95 | |
or-part_95 | |
(implicitly-reachable? sc_0))) | |
table_62 | |
(let-values (((table_63) table_62)) | |
(let-values (((table_64) | |
(let-values () | |
(let-values (((key_24 | |
val_13) | |
(let-values () | |
(values | |
(let-values () | |
sc_0) | |
#t)))) | |
(hash-set | |
table_63 | |
key_24 | |
val_13))))) | |
(values table_64))))))) | |
(if (not #f) | |
(for-loop_50 | |
table_61 | |
(unsafe-immutable-hash-iterate-next ht_45 i_63)) | |
table_61))) | |
table_60))))) | |
for-loop_50) | |
'#hasheq() | |
(unsafe-immutable-hash-iterate-first ht_45)))))) | |
(let-values (((check-trigger_0) | |
(lambda (reach_4) | |
(begin | |
'check-trigger | |
(if (zero? (hash-count pending-scopes_0)) | |
(let-values () | |
(begin | |
(reach_4 v_69) | |
(let-values (((ht_46) scopes_7)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_46))) | |
((letrec-values (((for-loop_51) | |
(lambda (i_64) | |
(begin | |
'for-loop | |
(if i_64 | |
(let-values (((sc_1) | |
(unsafe-immutable-hash-iterate-key | |
ht_46 | |
i_64))) | |
(let-values ((() | |
(let-values () | |
(let-values ((() | |
(let-values () | |
(begin | |
(let-values () | |
(if (implicitly-reachable? | |
sc_1) | |
(let-values () | |
(reach_4 | |
sc_1)) | |
(void))) | |
(values))))) | |
(values))))) | |
(if (not #f) | |
(for-loop_51 | |
(unsafe-immutable-hash-iterate-next | |
ht_46 | |
i_64)) | |
(values)))) | |
(values)))))) | |
for-loop_51) | |
(unsafe-immutable-hash-iterate-first ht_46)))) | |
(void))) | |
(void)))))) | |
(begin | |
(let-values (((ht_47) pending-scopes_0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_47))) | |
((letrec-values (((for-loop_52) | |
(lambda (i_65) | |
(begin | |
'for-loop | |
(if i_65 | |
(let-values (((sc_2) (unsafe-immutable-hash-iterate-key ht_47 i_65))) | |
(let-values ((() | |
(let-values () | |
(let-values ((() | |
(let-values () | |
(begin | |
(let-values () | |
(register-trigger_1 | |
sc_2 | |
(lambda (reach_5) | |
(begin | |
(set! pending-scopes_0 | |
(hash-remove | |
pending-scopes_0 | |
sc_2)) | |
(check-trigger_0 reach_5))))) | |
(values))))) | |
(values))))) | |
(if (not #f) | |
(for-loop_52 (unsafe-immutable-hash-iterate-next ht_47 i_65)) | |
(values)))) | |
(values)))))) | |
for-loop_52) | |
(unsafe-immutable-hash-iterate-first ht_47)))) | |
(void) | |
(check-trigger_0 reach_3)))))))))) | |
(define-values | |
(syntax-property$1) | |
(let-values () | |
(let-values () | |
(case-lambda | |
((s_77 key_25) | |
(begin | |
'syntax-property | |
(let-values ((() | |
(begin | |
(if (syntax?$1 s_77) | |
(void) | |
(let-values () (raise-argument-error 'syntax-property "syntax?" s_77))) | |
(values)))) | |
(let-values (((v_59) (hash-ref (syntax-props s_77) key_25 #f))) (plain-property-value v_59))))) | |
((s_11 key_26 val_14) | |
(let-values ((() | |
(begin | |
(if (syntax?$1 s_11) | |
(void) | |
(let-values () (raise-argument-error 'syntax-property "syntax?" s_11))) | |
(values)))) | |
(let-values (((pval_0) (if (eq? key_26 'paren-shape) (preserved-property-value1.1 val_14) val_14))) | |
(let-values (((the-struct_3) s_11)) | |
(if (syntax?$1 the-struct_3) | |
(let-values (((props2_0) (hash-set (syntax-props s_11) key_26 pval_0))) | |
(syntax2.1 | |
(syntax-content* the-struct_3) | |
(syntax-scopes the-struct_3) | |
(syntax-shifted-multi-scopes the-struct_3) | |
(syntax-mpi-shifts the-struct_3) | |
(syntax-srcloc the-struct_3) | |
props2_0 | |
(syntax-inspector the-struct_3))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_3)))))) | |
((s_3 key_27 val_15 preserved?_0) | |
(let-values ((() | |
(begin | |
(if (syntax?$1 s_3) | |
(void) | |
(let-values () (raise-argument-error 'syntax-property "syntax?" s_3))) | |
(values)))) | |
(let-values ((() | |
(begin | |
(if preserved?_0 | |
(let-values () | |
(if (if (symbol? key_27) (symbol-interned? key_27) #f) | |
(void) | |
(let-values () | |
(raise-arguments-error | |
'syntax-property | |
"key for a preserved property must be an interned symbol" | |
"given key" | |
key_27 | |
"given value" | |
val_15)))) | |
(void)) | |
(values)))) | |
(let-values (((pval_1) (if preserved?_0 (preserved-property-value1.1 val_15) val_15))) | |
(let-values (((the-struct_4) s_3)) | |
(if (syntax?$1 the-struct_4) | |
(let-values (((props3_0) (hash-set (syntax-props s_3) key_27 pval_1))) | |
(syntax2.1 | |
(syntax-content* the-struct_4) | |
(syntax-scopes the-struct_4) | |
(syntax-shifted-multi-scopes the-struct_4) | |
(syntax-mpi-shifts the-struct_4) | |
(syntax-srcloc the-struct_4) | |
props3_0 | |
(syntax-inspector the-struct_4))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_4))))))))))) | |
(define-values | |
(1/syntax-property-preserved?) | |
(lambda (s_78 key_28) | |
(begin | |
'syntax-property-preserved? | |
(let-values () | |
(let-values () | |
(begin | |
(if (syntax?$1 s_78) | |
(void) | |
(let-values () (raise-argument-error 'syntax-property-preserved? "syntax?" s_78))) | |
(if (if (symbol? key_28) (symbol-interned? key_28) #f) | |
(void) | |
(let-values () | |
(raise-argument-error 'syntax-property-preserved? "(and/c symbol? symbol-interned?)" key_28))) | |
(preserved-property-value? (hash-ref (syntax-props s_78) key_28 #f)))))))) | |
(define-values | |
(1/syntax-property-symbol-keys) | |
(lambda (s_13) | |
(begin | |
'syntax-property-symbol-keys | |
(let-values () | |
(let-values () | |
(begin | |
(if (syntax?$1 s_13) | |
(void) | |
(let-values () (raise-argument-error 'syntax-property-symbol-keys "syntax" s_13))) | |
(reverse$1 | |
(let-values (((ht_48) (syntax-props s_13))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_48))) | |
((letrec-values (((for-loop_53) | |
(lambda (fold-var_27 i_66) | |
(begin | |
'for-loop | |
(if i_66 | |
(let-values (((k_20 v_35) | |
(unsafe-immutable-hash-iterate-key+value ht_48 i_66))) | |
(let-values (((fold-var_28) | |
(let-values (((fold-var_29) fold-var_27)) | |
(if (if (symbol? k_20) (symbol-interned? k_20) #f) | |
(let-values (((fold-var_30) fold-var_29)) | |
(let-values (((fold-var_31) | |
(let-values () | |
(cons | |
(let-values () k_20) | |
fold-var_30)))) | |
(values fold-var_31))) | |
fold-var_29)))) | |
(if (not #f) | |
(for-loop_53 fold-var_28 (unsafe-immutable-hash-iterate-next ht_48 i_66)) | |
fold-var_28))) | |
fold-var_27))))) | |
for-loop_53) | |
null | |
(unsafe-immutable-hash-iterate-first ht_48))))))))))) | |
(define-values | |
(1/syntax-property-remove) | |
(lambda (s_79 key_29) | |
(begin | |
'syntax-property-remove | |
(let-values () | |
(let-values () | |
(begin | |
(if (syntax?$1 s_79) (void) (let-values () (raise-argument-error 'syntax-property-remove "syntax?" s_79))) | |
(if (hash-ref (syntax-props s_79) key_29 #f) | |
(let-values (((the-struct_5) s_79)) | |
(if (syntax?$1 the-struct_5) | |
(let-values (((props7_0) (hash-remove (syntax-props s_79) key_29))) | |
(syntax2.1 | |
(syntax-content* the-struct_5) | |
(syntax-scopes the-struct_5) | |
(syntax-shifted-multi-scopes the-struct_5) | |
(syntax-mpi-shifts the-struct_5) | |
(syntax-srcloc the-struct_5) | |
props7_0 | |
(syntax-inspector the-struct_5))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_5))) | |
s_79))))))) | |
(define-values (syntax-has-property?) (lambda (from-s_0 key_30) (begin (hash-ref (syntax-props from-s_0) key_30 #f)))) | |
(define-values | |
(taint-content) | |
(lambda (d_3) | |
(begin | |
(let-values (((s_3) d_3) | |
((f_26) (lambda (tail?_16 x_24) (begin 'f x_24))) | |
((s->_1) | |
(lambda (sub-s_0) | |
(begin | |
's-> | |
(if (tamper-tainted? (syntax-tamper sub-s_0)) | |
(let-values () sub-s_0) | |
(let-values () | |
(let-values (((stx_1) sub-s_0)) | |
(let-values (((t_8) (tamper-tainted-for-content (syntax-content sub-s_0)))) | |
(let-values (((content*_5) (syntax-content* stx_1))) | |
(let-values (((content_8) | |
(if (modified-content? content*_5) | |
(modified-content-content content*_5) | |
content*_5))) | |
(let-values (((p_10) | |
(if (modified-content? content*_5) | |
(modified-content-scope-propagations+tamper content*_5) | |
#f))) | |
(let-values (((the-struct_6) stx_1)) | |
(if (syntax?$1 the-struct_6) | |
(let-values (((content*3_0) | |
(let-values (((new-p_0) | |
(if (tamper? p_10) | |
t_8 | |
((propagation-set-tamper-ref p_10) p_10 t_8)))) | |
(if new-p_0 | |
(modified-content1.1 content_8 new-p_0) | |
content_8)))) | |
(syntax2.1 | |
content*3_0 | |
(syntax-scopes the-struct_6) | |
(syntax-shifted-multi-scopes the-struct_6) | |
(syntax-mpi-shifts the-struct_6) | |
(syntax-srcloc the-struct_6) | |
(syntax-props the-struct_6) | |
(syntax-inspector the-struct_6))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_6))))))))))))) | |
((seen_7) #f) | |
((known-pairs_5) #f)) | |
(let-values (((s_47) s_3) | |
((f_21) f_26) | |
((gf_0) | |
(lambda (tail?_17 v_70) | |
(begin | |
'gf | |
(if (syntax?$1 v_70) (let-values () (s->_1 v_70)) (let-values () (f_26 tail?_17 v_70)))))) | |
((seen_2) seen_7) | |
((known-pairs_1) known-pairs_5)) | |
((letrec-values (((loop_69) | |
(lambda (tail?_18 s_80 prev-depth_3) | |
(begin | |
'loop | |
(let-values (((depth_3) (fx+ 1 prev-depth_3))) | |
(if (if seen_2 (fx> depth_3 32) #f) | |
(let-values () | |
(datum-map-slow | |
tail?_18 | |
s_80 | |
(lambda (tail?_19 s_81) (gf_0 tail?_19 s_81)) | |
seen_2 | |
known-pairs_1)) | |
(if (null? s_80) | |
(let-values () (f_21 tail?_18 s_80)) | |
(if (pair? s_80) | |
(let-values () | |
(f_21 | |
tail?_18 | |
(cons (loop_69 #f (car s_80) depth_3) (loop_69 1 (cdr s_80) depth_3)))) | |
(if (symbol? s_80) | |
(let-values () (f_21 #f s_80)) | |
(if (boolean? s_80) | |
(let-values () (f_21 #f s_80)) | |
(if (number? s_80) | |
(let-values () (f_21 #f s_80)) | |
(if (let-values (((or-part_85) (vector? s_80))) | |
(if or-part_85 | |
or-part_85 | |
(let-values (((or-part_96) (box? s_80))) | |
(if or-part_96 | |
or-part_96 | |
(let-values (((or-part_97) (prefab-struct-key s_80))) | |
(if or-part_97 or-part_97 (hash? s_80))))))) | |
(let-values () | |
(datum-map-slow | |
tail?_18 | |
s_80 | |
(lambda (tail?_20 s_82) (gf_0 tail?_20 s_82)) | |
seen_2 | |
known-pairs_1)) | |
(let-values () (gf_0 #f s_80)))))))))))))) | |
loop_69) | |
#f | |
s_47 | |
0)))))) | |
(define-values (syntax-tainted?$1) (lambda (s_83) (begin 'syntax-tainted? (tamper-tainted? (syntax-tamper s_83))))) | |
(define-values (syntax-clean?) (lambda (s_84) (begin (tamper-clean? (syntax-tamper s_84))))) | |
(define-values | |
(syntax-arm$1) | |
(lambda (s_85 insp_2) | |
(begin | |
'syntax-arm | |
(let-values (((t_9) (syntax-tamper s_85))) | |
(if (tamper-tainted? t_9) | |
(let-values () s_85) | |
(if (if t_9 | |
(let-values (((or-part_98) (set-member? t_9 insp_2))) | |
(if or-part_98 | |
or-part_98 | |
(let-values (((ht_49) t_9)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_49))) | |
((letrec-values (((for-loop_54) | |
(lambda (result_33 i_67) | |
(begin | |
'for-loop | |
(if i_67 | |
(let-values (((already-insp_0) | |
(unsafe-immutable-hash-iterate-key ht_49 i_67))) | |
(let-values (((result_34) | |
(let-values () | |
(let-values (((result_35) | |
(let-values () | |
(let-values () | |
(inspector-superior-or-same? | |
already-insp_0 | |
insp_2))))) | |
(values result_35))))) | |
(if (if (not ((lambda x_25 result_34) already-insp_0)) (not #f) #f) | |
(for-loop_54 | |
result_34 | |
(unsafe-immutable-hash-iterate-next ht_49 i_67)) | |
result_34))) | |
result_33))))) | |
for-loop_54) | |
#f | |
(unsafe-immutable-hash-iterate-first ht_49)))))) | |
#f) | |
(let-values () s_85) | |
(let-values () | |
(let-values (((stx_2) s_85)) | |
(let-values (((t_10) (set-add (if t_9 (remove-inferior t_9 insp_2) (seteq)) insp_2))) | |
(let-values (((content*_6) (syntax-content* stx_2))) | |
(let-values (((content_9) | |
(if (modified-content? content*_6) (modified-content-content content*_6) content*_6))) | |
(let-values (((p_11) | |
(if (modified-content? content*_6) | |
(modified-content-scope-propagations+tamper content*_6) | |
#f))) | |
(let-values (((the-struct_7) stx_2)) | |
(if (syntax?$1 the-struct_7) | |
(let-values (((content*4_0) | |
(let-values (((new-p_1) | |
(if (tamper? p_11) | |
t_10 | |
((propagation-set-tamper-ref p_11) p_11 t_10)))) | |
(if new-p_1 (modified-content1.1 content_9 new-p_1) content_9)))) | |
(syntax2.1 | |
content*4_0 | |
(syntax-scopes the-struct_7) | |
(syntax-shifted-multi-scopes the-struct_7) | |
(syntax-mpi-shifts the-struct_7) | |
(syntax-srcloc the-struct_7) | |
(syntax-props the-struct_7) | |
(syntax-inspector the-struct_7))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_7))))))))))))))) | |
(define-values | |
(remove-inferior) | |
(lambda (t_11 insp_3) | |
(begin | |
(let-values (((ht_50) t_11)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_50))) | |
((letrec-values (((for-loop_55) | |
(lambda (table_65 i_46) | |
(begin | |
'for-loop | |
(if i_46 | |
(let-values (((already-insp_1) (unsafe-immutable-hash-iterate-key ht_50 i_46))) | |
(let-values (((table_66) | |
(let-values (((table_67) table_65)) | |
(if (inspector-superior-or-same? insp_3 already-insp_1) | |
table_67 | |
(let-values (((table_68) table_67)) | |
(let-values (((table_69) | |
(let-values () | |
(let-values (((key_31 val_16) | |
(let-values () | |
(values | |
(let-values () already-insp_1) | |
#t)))) | |
(hash-set table_68 key_31 val_16))))) | |
(values table_69))))))) | |
(if (not #f) | |
(for-loop_55 table_66 (unsafe-immutable-hash-iterate-next ht_50 i_46)) | |
table_66))) | |
table_65))))) | |
for-loop_55) | |
'#hasheq() | |
(unsafe-immutable-hash-iterate-first ht_50))))))) | |
(define-values | |
(syntax-disarm$1) | |
(let-values (((syntax-disarm_0) | |
(lambda (s2_5 insp1_0) | |
(begin | |
'syntax-disarm | |
(let-values (((s_86) s2_5)) | |
(let-values (((insp_4) insp1_0)) | |
(let-values () | |
(let-values (((t_12) (syntax-tamper s_86))) | |
(if (not (tamper-armed? t_12)) | |
(let-values () s_86) | |
(if (not insp_4) | |
(let-values () | |
(let-values (((stx_3) s_86)) | |
(let-values (((t_13) #f)) | |
(let-values (((content*_7) (syntax-content* stx_3))) | |
(let-values (((content_10) | |
(if (modified-content? content*_7) | |
(modified-content-content content*_7) | |
content*_7))) | |
(let-values (((p_12) | |
(if (modified-content? content*_7) | |
(modified-content-scope-propagations+tamper content*_7) | |
#f))) | |
(let-values (((the-struct_8) stx_3)) | |
(if (syntax?$1 the-struct_8) | |
(let-values (((content*5_0) | |
(let-values (((new-p_2) | |
(if (tamper? p_12) | |
t_13 | |
((propagation-set-tamper-ref p_12) | |
p_12 | |
t_13)))) | |
(if new-p_2 | |
(modified-content1.1 content_10 new-p_2) | |
content_10)))) | |
(syntax2.1 | |
content*5_0 | |
(syntax-scopes the-struct_8) | |
(syntax-shifted-multi-scopes the-struct_8) | |
(syntax-mpi-shifts the-struct_8) | |
(syntax-srcloc the-struct_8) | |
(syntax-props the-struct_8) | |
(syntax-inspector the-struct_8))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_8))))))))) | |
(let-values () | |
(let-values (((new-t_1) (remove-inferior t_12 insp_4))) | |
(let-values (((stx_4) s_86)) | |
(let-values (((t_14) (if (not (set-empty? new-t_1)) new-t_1 #f))) | |
(let-values (((content*_8) (syntax-content* stx_4))) | |
(let-values (((content_11) | |
(if (modified-content? content*_8) | |
(modified-content-content content*_8) | |
content*_8))) | |
(let-values (((p_13) | |
(if (modified-content? content*_8) | |
(modified-content-scope-propagations+tamper content*_8) | |
#f))) | |
(let-values (((the-struct_9) stx_4)) | |
(if (syntax?$1 the-struct_9) | |
(let-values (((content*6_0) | |
(let-values (((new-p_3) | |
(if (tamper? p_13) | |
t_14 | |
((propagation-set-tamper-ref p_13) | |
p_13 | |
t_14)))) | |
(if new-p_3 | |
(modified-content1.1 content_11 new-p_3) | |
content_11)))) | |
(syntax2.1 | |
content*6_0 | |
(syntax-scopes the-struct_9) | |
(syntax-shifted-multi-scopes the-struct_9) | |
(syntax-mpi-shifts the-struct_9) | |
(syntax-srcloc the-struct_9) | |
(syntax-props the-struct_9) | |
(syntax-inspector the-struct_9))) | |
(raise-argument-error | |
'struct-copy | |
"syntax?" | |
the-struct_9)))))))))))))))))))) | |
(case-lambda | |
((s_87) (begin 'syntax-disarm (syntax-disarm_0 s_87 #f))) | |
((s_88 insp1_1) (syntax-disarm_0 s_88 insp1_1))))) | |
(define-values | |
(syntax-rearm$1) | |
(lambda (s_89 from-s_1) | |
(begin | |
'syntax-rearm | |
(let-values (((t_15) (syntax-tamper s_89))) | |
(if (tamper-tainted? t_15) | |
(let-values () s_89) | |
(let-values () | |
(let-values (((from-t_0) (syntax-tamper from-s_1))) | |
(if (tamper-clean? from-t_0) | |
(let-values () s_89) | |
(if (tamper-tainted? from-t_0) | |
(let-values () | |
(let-values (((stx_5) s_89)) | |
(let-values (((t_16) (tamper-tainted-for-content (syntax-content s_89)))) | |
(let-values (((content*_9) (syntax-content* stx_5))) | |
(let-values (((content_12) | |
(if (modified-content? content*_9) | |
(modified-content-content content*_9) | |
content*_9))) | |
(let-values (((p_14) | |
(if (modified-content? content*_9) | |
(modified-content-scope-propagations+tamper content*_9) | |
#f))) | |
(let-values (((the-struct_10) stx_5)) | |
(if (syntax?$1 the-struct_10) | |
(let-values (((content*7_0) | |
(let-values (((new-p_4) | |
(if (tamper? p_14) | |
t_16 | |
((propagation-set-tamper-ref p_14) p_14 t_16)))) | |
(if new-p_4 (modified-content1.1 content_12 new-p_4) content_12)))) | |
(syntax2.1 | |
content*7_0 | |
(syntax-scopes the-struct_10) | |
(syntax-shifted-multi-scopes the-struct_10) | |
(syntax-mpi-shifts the-struct_10) | |
(syntax-srcloc the-struct_10) | |
(syntax-props the-struct_10) | |
(syntax-inspector the-struct_10))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_10))))))))) | |
(if (tamper-clean? t_15) | |
(let-values () | |
(let-values (((stx_6) s_89)) | |
(let-values (((t_17) from-t_0)) | |
(let-values (((content*_10) (syntax-content* stx_6))) | |
(let-values (((content_13) | |
(if (modified-content? content*_10) | |
(modified-content-content content*_10) | |
content*_10))) | |
(let-values (((p_15) | |
(if (modified-content? content*_10) | |
(modified-content-scope-propagations+tamper content*_10) | |
#f))) | |
(let-values (((the-struct_11) stx_6)) | |
(if (syntax?$1 the-struct_11) | |
(let-values (((content*8_0) | |
(let-values (((new-p_5) | |
(if (tamper? p_15) | |
t_17 | |
((propagation-set-tamper-ref p_15) p_15 t_17)))) | |
(if new-p_5 (modified-content1.1 content_13 new-p_5) content_13)))) | |
(syntax2.1 | |
content*8_0 | |
(syntax-scopes the-struct_11) | |
(syntax-shifted-multi-scopes the-struct_11) | |
(syntax-mpi-shifts the-struct_11) | |
(syntax-srcloc the-struct_11) | |
(syntax-props the-struct_11) | |
(syntax-inspector the-struct_11))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_11))))))))) | |
(let-values () | |
(let-values (((stx_7) s_89)) | |
(let-values (((t_18) | |
(let-values (((ht_51) from-t_0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_51))) | |
((letrec-values (((for-loop_56) | |
(lambda (t_19 i_68) | |
(begin | |
'for-loop | |
(if i_68 | |
(let-values (((from-i_0) | |
(unsafe-immutable-hash-iterate-key | |
ht_51 | |
i_68))) | |
(let-values (((t_20) | |
(let-values (((t_21) t_19)) | |
(let-values (((t_22) | |
(let-values () | |
(if (set-member? | |
t_21 | |
from-i_0) | |
(let-values () | |
t_21) | |
(if (any-superior? | |
t_21 | |
from-i_0) | |
(let-values () | |
t_21) | |
(let-values () | |
(set-add | |
(remove-inferior | |
t_21 | |
from-i_0) | |
from-i_0))))))) | |
(values t_22))))) | |
(if (not #f) | |
(for-loop_56 | |
t_20 | |
(unsafe-immutable-hash-iterate-next | |
ht_51 | |
i_68)) | |
t_20))) | |
t_19))))) | |
for-loop_56) | |
t_15 | |
(unsafe-immutable-hash-iterate-first ht_51)))))) | |
(let-values (((content*_11) (syntax-content* stx_7))) | |
(let-values (((content_14) | |
(if (modified-content? content*_11) | |
(modified-content-content content*_11) | |
content*_11))) | |
(let-values (((p_16) | |
(if (modified-content? content*_11) | |
(modified-content-scope-propagations+tamper content*_11) | |
#f))) | |
(let-values (((the-struct_12) stx_7)) | |
(if (syntax?$1 the-struct_12) | |
(let-values (((content*9_0) | |
(let-values (((new-p_6) | |
(if (tamper? p_16) | |
t_18 | |
((propagation-set-tamper-ref p_16) p_16 t_18)))) | |
(if new-p_6 (modified-content1.1 content_14 new-p_6) content_14)))) | |
(syntax2.1 | |
content*9_0 | |
(syntax-scopes the-struct_12) | |
(syntax-shifted-multi-scopes the-struct_12) | |
(syntax-mpi-shifts the-struct_12) | |
(syntax-srcloc the-struct_12) | |
(syntax-props the-struct_12) | |
(syntax-inspector the-struct_12))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_12))))))))))))))))))) | |
(define-values | |
(syntax-taint$1) | |
(lambda (s_53) | |
(begin | |
'syntax-taint | |
(if (tamper-tainted? (syntax-tamper s_53)) | |
s_53 | |
(let-values (((stx_8) s_53)) | |
(let-values (((t_23) (tamper-tainted-for-content (syntax-content s_53)))) | |
(let-values (((content*_12) (syntax-content* stx_8))) | |
(let-values (((content_15) | |
(if (modified-content? content*_12) (modified-content-content content*_12) content*_12))) | |
(let-values (((p_17) | |
(if (modified-content? content*_12) | |
(modified-content-scope-propagations+tamper content*_12) | |
#f))) | |
(let-values (((the-struct_13) stx_8)) | |
(if (syntax?$1 the-struct_13) | |
(let-values (((content*10_0) | |
(let-values (((new-p_7) | |
(if (tamper? p_17) | |
t_23 | |
((propagation-set-tamper-ref p_17) p_17 t_23)))) | |
(if new-p_7 (modified-content1.1 content_15 new-p_7) content_15)))) | |
(syntax2.1 | |
content*10_0 | |
(syntax-scopes the-struct_13) | |
(syntax-shifted-multi-scopes the-struct_13) | |
(syntax-mpi-shifts the-struct_13) | |
(syntax-srcloc the-struct_13) | |
(syntax-props the-struct_13) | |
(syntax-inspector the-struct_13))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_13)))))))))))) | |
(define-values | |
(any-superior?) | |
(lambda (t_24 from-i_1) | |
(begin | |
(let-values (((ht_52) t_24)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_52))) | |
((letrec-values (((for-loop_57) | |
(lambda (result_36 i_36) | |
(begin | |
'for-loop | |
(if i_36 | |
(let-values (((i_69) (unsafe-immutable-hash-iterate-key ht_52 i_36))) | |
(let-values (((result_37) | |
(let-values () | |
(let-values (((result_38) | |
(let-values () | |
(let-values () | |
(inspector-superior-or-same? i_69 from-i_1))))) | |
(values result_38))))) | |
(if (if (not ((lambda x_26 result_37) i_69)) (not #f) #f) | |
(for-loop_57 result_37 (unsafe-immutable-hash-iterate-next ht_52 i_36)) | |
result_37))) | |
result_36))))) | |
for-loop_57) | |
#f | |
(unsafe-immutable-hash-iterate-first ht_52))))))) | |
(define-values | |
(inspector-superior-or-same?) | |
(lambda (sup-i_0 i_70) | |
(begin | |
(let-values (((or-part_99) (eq? sup-i_0 i_70))) (if or-part_99 or-part_99 (inspector-superior? sup-i_0 i_70)))))) | |
(define-values | |
(struct:fallback fallback1.1 fallback? fallback-search-list) | |
(let-values (((struct:_2 make-_2 ?_2 -ref_2 -set!_2) | |
(let-values () | |
(let-values () (make-struct-type 'fallback #f 1 0 #f null 'prefab #f '(0) #f 'fallback))))) | |
(values struct:_2 make-_2 ?_2 (make-struct-field-accessor -ref_2 0 'search-list)))) | |
(define-values | |
(fallback-first) | |
(lambda (smss_0) (begin (if (fallback? smss_0) (car (fallback-search-list smss_0)) smss_0)))) | |
(define-values | |
(fallback-rest) | |
(lambda (smss_1) | |
(begin | |
(let-values (((l_31) (cdr (fallback-search-list smss_1)))) | |
(if (null? (cdr l_31)) (car l_31) (fallback1.1 l_31)))))) | |
(define-values | |
(fallback-push) | |
(lambda (smss_2 smss/maybe-fallback_0) | |
(begin | |
(fallback1.1 | |
(cons | |
smss_2 | |
(if (fallback? smss/maybe-fallback_0) | |
(fallback-search-list smss/maybe-fallback_0) | |
(list smss/maybe-fallback_0))))))) | |
(define-values | |
(fallback-update-first) | |
(lambda (smss_3 f_27) | |
(begin | |
(if (fallback? smss_3) | |
(let-values (((l_32) (fallback-search-list smss_3))) (fallback1.1 (cons (f_27 (car l_32)) (cdr l_32)))) | |
(f_27 smss_3))))) | |
(define-values | |
(fallback-map) | |
(lambda (smss_4 f_28) | |
(begin | |
(if (fallback? smss_4) | |
(fallback1.1 | |
(reverse$1 | |
(let-values (((lst_45) (fallback-search-list smss_4))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_45))) | |
((letrec-values (((for-loop_58) | |
(lambda (fold-var_32 lst_23) | |
(begin | |
'for-loop | |
(if (pair? lst_23) | |
(let-values (((smss_5) (unsafe-car lst_23)) ((rest_19) (unsafe-cdr lst_23))) | |
(let-values (((fold-var_33) | |
(let-values (((fold-var_34) fold-var_32)) | |
(let-values (((fold-var_27) | |
(let-values () | |
(cons | |
(let-values () (f_28 smss_5)) | |
fold-var_34)))) | |
(values fold-var_27))))) | |
(if (not #f) (for-loop_58 fold-var_33 rest_19) fold-var_33))) | |
fold-var_32))))) | |
for-loop_58) | |
null | |
lst_45))))) | |
(f_28 smss_4))))) | |
(define-values | |
(fallback->list) | |
(lambda (smss_6) (begin (if (fallback? smss_6) (fallback-search-list smss_6) (list smss_6))))) | |
(define-values (make-cache$1) (lambda () (begin 'make-cache (box (make-weak-box #f))))) | |
(define-values (cell.1$6) (unsafe-make-place-local (make-cache$1))) | |
(define-values (resolve-cache-place-init!) (lambda () (begin (unsafe-place-local-set! cell.1$6 (make-cache$1))))) | |
(define-values | |
(clear-resolve-cache!) | |
(case-lambda | |
((sym_12) | |
(begin | |
(let-values (((c_15) (weak-box-value (unbox* (unsafe-place-local-ref cell.1$6))))) | |
(begin | |
(if c_15 (let-values () (hash-remove! c_15 sym_12)) (void)) | |
(set-box*! (unsafe-place-local-ref cell.2$3) #f))))) | |
(() | |
(let-values (((c_10) (weak-box-value (unbox* (unsafe-place-local-ref cell.1$6))))) | |
(begin (if c_10 (let-values () (hash-clear! c_10)) (void)) (set-box*! (unsafe-place-local-ref cell.2$3) #f)))))) | |
(define-values | |
(struct:entry entry1.1 entry? entry-scs entry-smss entry-phase entry-binding) | |
(let-values (((struct:_15 make-_15 ?_15 -ref_15 -set!_15) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'entry | |
#f | |
4 | |
0 | |
#f | |
(list (cons prop:authentic #t)) | |
(current-inspector) | |
#f | |
'(0 1 2 3) | |
#f | |
'entry))))) | |
(values | |
struct:_15 | |
make-_15 | |
?_15 | |
(make-struct-field-accessor -ref_15 0 'scs) | |
(make-struct-field-accessor -ref_15 1 'smss) | |
(make-struct-field-accessor -ref_15 2 'phase) | |
(make-struct-field-accessor -ref_15 3 'binding)))) | |
(define-values | |
(resolve-cache-get) | |
(lambda (sym_13 phase_4 scs_3 smss_7) | |
(begin | |
(let-values (((c_12) (weak-box-value (unbox* (unsafe-place-local-ref cell.1$6))))) | |
(if c_12 | |
(let-values (((v_71) (hash-ref c_12 sym_13 #f))) | |
(if v_71 | |
(if (eqv? phase_4 (entry-phase v_71)) | |
(if (set=? scs_3 (entry-scs v_71)) (if (set=? smss_7 (entry-smss v_71)) (entry-binding v_71) #f) #f) | |
#f) | |
#f)) | |
#f))))) | |
(define-values | |
(resolve-cache-set!) | |
(lambda (sym_14 phase_5 scs_4 smss_8 b_37) | |
(begin | |
(let-values (((wb_1) (unbox* (unsafe-place-local-ref cell.1$6)))) | |
(let-values (((c_16) (weak-box-value wb_1))) | |
(if (not c_16) | |
(let-values () | |
(begin | |
(box-cas! (unsafe-place-local-ref cell.1$6) wb_1 (make-weak-box (make-hasheq))) | |
(resolve-cache-set! sym_14 phase_5 scs_4 smss_8 b_37))) | |
(let-values () (hash-set! c_16 sym_14 (entry1.1 scs_4 smss_8 phase_5 b_37))))))))) | |
(define-values (SHIFTED-CACHE-SIZE) 16) | |
(define-values (cell.2$3) (unsafe-make-place-local (box #f))) | |
(define-values (cell.3$1) (unsafe-make-place-local 0)) | |
(define-values | |
(struct:shifted-entry shifted-entry2.1 shifted-entry? shifted-entry-s shifted-entry-phase shifted-entry-binding) | |
(let-values (((struct:_16 make-_16 ?_16 -ref_16 -set!_16) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'shifted-entry | |
#f | |
3 | |
0 | |
#f | |
(list (cons prop:authentic #t)) | |
(current-inspector) | |
#f | |
'(0 1 2) | |
#f | |
'shifted-entry))))) | |
(values | |
struct:_16 | |
make-_16 | |
?_16 | |
(make-struct-field-accessor -ref_16 0 's) | |
(make-struct-field-accessor -ref_16 1 'phase) | |
(make-struct-field-accessor -ref_16 2 'binding)))) | |
(define-values | |
(shifted-cache-vector) | |
(lambda () | |
(begin | |
(let-values (((wb_2) (unbox* (unsafe-place-local-ref cell.2$3)))) | |
(let-values (((c1_20) (if wb_2 (weak-box-value wb_2) #f))) | |
(if c1_20 | |
((lambda (vec_17) vec_17) c1_20) | |
(let-values () | |
(let-values (((vec_18) (make-vector SHIFTED-CACHE-SIZE #f))) | |
(begin (set-box*! (unsafe-place-local-ref cell.2$3) (make-weak-box vec_18)) vec_18))))))))) | |
(define-values | |
(resolve+shift-cache-get) | |
(lambda (s_90 phase_6) | |
(begin | |
(let-values (((vec_19) (shifted-cache-vector))) | |
(let-values (((vec_20 len_9) | |
(let-values (((vec_21) vec_19)) | |
(begin (check-vector vec_21) (values vec_21 (unsafe-vector-length vec_21)))))) | |
(begin | |
#f | |
((letrec-values (((for-loop_59) | |
(lambda (result_39 pos_9) | |
(begin | |
'for-loop | |
(if (unsafe-fx< pos_9 len_9) | |
(let-values (((e_12) (unsafe-vector-ref vec_20 pos_9))) | |
(let-values (((result_40) | |
(let-values () | |
(let-values (((result_10) | |
(let-values () | |
(let-values () | |
(if e_12 | |
(if (eq? s_90 (shifted-entry-s e_12)) | |
(if (eqv? | |
phase_6 | |
(shifted-entry-phase e_12)) | |
(shifted-entry-binding e_12) | |
#f) | |
#f) | |
#f))))) | |
(values result_10))))) | |
(if (if (not ((lambda x_27 result_40) e_12)) (not #f) #f) | |
(for-loop_59 result_40 (unsafe-fx+ 1 pos_9)) | |
result_40))) | |
result_39))))) | |
for-loop_59) | |
#f | |
0))))))) | |
(define-values | |
(resolve+shift-cache-set!) | |
(lambda (s_91 phase_7 b_38) | |
(begin | |
(let-values (((vec_22) (shifted-cache-vector))) | |
(let-values (((p_8) (unsafe-place-local-ref cell.3$1))) | |
(begin | |
(vector*-set! vec_22 p_8 (shifted-entry2.1 s_91 phase_7 b_38)) | |
(unsafe-place-local-set! cell.3$1 (fxand (fx+ 1 p_8) (fx- SHIFTED-CACHE-SIZE 1))))))))) | |
(define-values (NUM-CACHE-SLOTS) 8) | |
(define-values (make-cached-sets) (lambda () (begin (make-weak-box (make-vector NUM-CACHE-SLOTS #f))))) | |
(define-values (cell.4$1) (unsafe-make-place-local (make-cached-sets))) | |
(define-values (cell.5$1) (unsafe-make-place-local 0)) | |
(define-values (make-cached-hashes) (lambda () (begin (make-weak-box (make-vector NUM-CACHE-SLOTS #f))))) | |
(define-values (cell.6$1) (unsafe-make-place-local (make-cached-hashes))) | |
(define-values (cell.7) (unsafe-make-place-local 0)) | |
(define-values | |
(sets-place-init!) | |
(lambda () | |
(begin | |
(begin | |
(unsafe-place-local-set! cell.4$1 (make-cached-sets)) | |
(unsafe-place-local-set! cell.6$1 (make-cached-hashes)))))) | |
(define-values | |
(cache-or-reuse-set) | |
(lambda (s_40) | |
(begin | |
(let-values (((vec_23) | |
(let-values (((or-part_100) (weak-box-value (unsafe-place-local-ref cell.4$1)))) | |
(if or-part_100 | |
or-part_100 | |
(let-values (((vec_24) (make-vector NUM-CACHE-SLOTS #f))) | |
(begin (unsafe-place-local-set! cell.4$1 (make-weak-box vec_24)) vec_24)))))) | |
(let-values (((or-part_101) | |
(let-values (((vec_25 len_10) | |
(let-values (((vec_26) vec_23)) | |
(begin (check-vector vec_26) (values vec_26 (unsafe-vector-length vec_26)))))) | |
(begin | |
#f | |
((letrec-values (((for-loop_60) | |
(lambda (result_41 pos_10) | |
(begin | |
'for-loop | |
(if (unsafe-fx< pos_10 len_10) | |
(let-values (((s2_6) (unsafe-vector-ref vec_25 pos_10))) | |
(let-values (((result_14) | |
(let-values () | |
(let-values (((result_42) | |
(let-values () | |
(let-values () | |
(if s2_6 | |
(if (set=? s_40 s2_6) s2_6 #f) | |
#f))))) | |
(values result_42))))) | |
(if (if (not ((lambda x_1 result_14) s2_6)) (not #f) #f) | |
(for-loop_60 result_14 (unsafe-fx+ 1 pos_10)) | |
result_14))) | |
result_41))))) | |
for-loop_60) | |
#f | |
0))))) | |
(if or-part_101 | |
or-part_101 | |
(begin | |
(vector*-set! vec_23 (unsafe-place-local-ref cell.5$1) s_40) | |
(unsafe-place-local-set! | |
cell.5$1 | |
(fxand (fx+ 1 (unsafe-place-local-ref cell.5$1)) (fx- NUM-CACHE-SLOTS 1))) | |
s_40))))))) | |
(define-values | |
(cache-or-reuse-hash) | |
(lambda (s_92) | |
(begin | |
(let-values (((vec_27) | |
(let-values (((or-part_102) (weak-box-value (unsafe-place-local-ref cell.6$1)))) | |
(if or-part_102 | |
or-part_102 | |
(let-values (((vec_28) (make-vector NUM-CACHE-SLOTS #f))) | |
(begin (unsafe-place-local-set! cell.6$1 (make-weak-box vec_28)) vec_28)))))) | |
(let-values (((or-part_103) | |
(let-values (((vec_29 len_11) | |
(let-values (((vec_30) vec_27)) | |
(begin (check-vector vec_30) (values vec_30 (unsafe-vector-length vec_30)))))) | |
(begin | |
#f | |
((letrec-values (((for-loop_61) | |
(lambda (result_18 pos_11) | |
(begin | |
'for-loop | |
(if (unsafe-fx< pos_11 len_11) | |
(let-values (((s2_7) (unsafe-vector-ref vec_29 pos_11))) | |
(let-values (((result_43) | |
(let-values () | |
(let-values (((result_44) | |
(let-values () | |
(let-values () | |
(if s2_7 | |
(if (equal? s_92 s2_7) s2_7 #f) | |
#f))))) | |
(values result_44))))) | |
(if (if (not ((lambda x_28 result_43) s2_7)) (not #f) #f) | |
(for-loop_61 result_43 (unsafe-fx+ 1 pos_11)) | |
result_43))) | |
result_18))))) | |
for-loop_61) | |
#f | |
0))))) | |
(if or-part_103 | |
or-part_103 | |
(begin | |
(vector*-set! vec_27 (unsafe-place-local-ref cell.7) s_92) | |
(unsafe-place-local-set! cell.7 (fxand (fx+ 1 (unsafe-place-local-ref cell.7)) (fx- NUM-CACHE-SLOTS 1))) | |
s_92))))))) | |
(define-values (cache-place-init!) (lambda () (begin (begin (resolve-cache-place-init!) (sets-place-init!))))) | |
(define-values | |
(struct:scope scope1.1 scope? scope-id scope-kind scope-binding-table set-scope-binding-table!) | |
(let-values (((struct:_17 make-_17 ?_17 -ref_17 -set!_17) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'scope | |
#f | |
3 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:scope-with-bindings | |
(lambda (s_93 get-reachable-scopes_2 reach_6 register-trigger_2) | |
(binding-table-register-reachable | |
(scope-binding-table s_93) | |
get-reachable-scopes_2 | |
reach_6 | |
register-trigger_2))) | |
(cons prop:reach-scopes (lambda (s_94 reach_7) (void))) | |
(cons | |
prop:serialize-fill! | |
(lambda (s_95 ser-push!_6 state_16) | |
(if (binding-table-empty? (scope-binding-table s_95)) | |
(let-values () (ser-push!_6 'tag #f)) | |
(let-values () | |
(begin | |
(ser-push!_6 'tag '#:scope-fill!) | |
(ser-push!_6 (binding-table-prune-to-reachable (scope-binding-table s_95) state_16))))))) | |
(cons | |
prop:serialize | |
(lambda (s_96 ser-push!_7 state_17) | |
(begin | |
(if (set-member? (serialize-state-reachable-scopes state_17) s_96) | |
(void) | |
(let-values () (error "internal error: found supposedly unreachable scope"))) | |
(if (eq? s_96 top-level-common-scope) | |
(let-values () (ser-push!_7 'tag '#:scope)) | |
(let-values () | |
(begin (ser-push!_7 'tag '#:scope+kind) (ser-push!_7 (scope-kind s_96)))))))) | |
(cons | |
prop:custom-write | |
(lambda (sc_3 port_3 mode_6) | |
(begin | |
(write-string "#<scope:" port_3) | |
(display (scope-id sc_3) port_3) | |
(write-string ":" port_3) | |
(display (scope-kind sc_3) port_3) | |
(write-string ">" port_3))))) | |
(current-inspector) | |
#f | |
'(0 1) | |
#f | |
'scope))))) | |
(values | |
struct:_17 | |
make-_17 | |
?_17 | |
(make-struct-field-accessor -ref_17 0 'id) | |
(make-struct-field-accessor -ref_17 1 'kind) | |
(make-struct-field-accessor -ref_17 2 'binding-table) | |
(make-struct-field-mutator -set!_17 2 'binding-table)))) | |
(define-values | |
(deserialize-scope) | |
(case-lambda | |
(() (begin top-level-common-scope)) | |
((kind_0) (scope1.1 (new-deserialize-scope-id!) kind_0 empty-binding-table)))) | |
(define-values (deserialize-scope-fill!) (lambda (s_14 bt_1) (begin (set-scope-binding-table! s_14 bt_1)))) | |
(define-values | |
(struct:interned-scope interned-scope2.1 interned-scope? interned-scope-key) | |
(let-values (((struct:_18 make-_18 ?_18 -ref_18 -set!_18) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'interned-scope | |
struct:scope | |
1 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:serialize | |
(lambda (s_97 ser-push!_8 state_18) | |
(begin | |
(if (set-member? (serialize-state-reachable-scopes state_18) s_97) | |
(void) | |
(let-values () (error "internal error: found supposedly unreachable scope"))) | |
(ser-push!_8 'tag '#:interned-scope) | |
(ser-push!_8 (interned-scope-key s_97))))) | |
(cons | |
prop:custom-write | |
(lambda (sc_4 port_4 mode_7) | |
(begin | |
(write-string "#<scope:" port_4) | |
(display (scope-id sc_4) port_4) | |
(write-string ":" port_4) | |
(display (scope-kind sc_4) port_4) | |
(write-string " " port_4) | |
(display (interned-scope-key sc_4) port_4) | |
(write-string ">" port_4))))) | |
(current-inspector) | |
#f | |
'(0) | |
#f | |
'interned-scope))))) | |
(values struct:_18 make-_18 ?_18 (make-struct-field-accessor -ref_18 0 'key)))) | |
(define-values | |
(struct:multi-scope | |
multi-scope3.1 | |
multi-scope? | |
multi-scope-id | |
multi-scope-name | |
multi-scope-scopes | |
multi-scope-shifted | |
multi-scope-label-shifted) | |
(let-values (((struct:_19 make-_19 ?_19 -ref_19 -set!_19) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'multi-scope | |
#f | |
5 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:scope-with-bindings | |
(lambda (ms_0 get-reachable-scopes_3 reach_8 register-trigger_3) | |
(begin | |
(let-values (((ht_53) (unbox (multi-scope-scopes ms_0)))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash-values ht_53))) | |
((letrec-values (((for-loop_62) | |
(lambda (i_34) | |
(begin | |
'for-loop | |
(if i_34 | |
(let-values (((sc_5) (hash-iterate-value ht_53 i_34))) | |
(let-values ((() | |
(let-values () | |
(let-values ((() | |
(let-values () | |
(begin | |
(let-values () | |
(if (binding-table-empty? | |
(scope-binding-table | |
sc_5)) | |
(void) | |
(let-values () | |
(reach_8 sc_5)))) | |
(values))))) | |
(values))))) | |
(if (not #f) | |
(for-loop_62 (hash-iterate-next ht_53 i_34)) | |
(values)))) | |
(values)))))) | |
for-loop_62) | |
(hash-iterate-first ht_53)))) | |
(void)))) | |
(cons prop:reach-scopes (lambda (s_98 reach_9) (void))) | |
(cons | |
prop:serialize | |
(lambda (ms_1 ser-push!_9 state_19) | |
(let-values ((() (begin (ser-push!_9 'tag '#:multi-scope) (values)))) | |
(let-values ((() (begin (ser-push!_9 (multi-scope-name ms_1)) (values)))) | |
(let-values (((multi-scope-tables_0) (serialize-state-multi-scope-tables state_19))) | |
(ser-push!_9 | |
(let-values (((or-part_104) | |
(hash-ref multi-scope-tables_0 (multi-scope-scopes ms_1) #f))) | |
(if or-part_104 | |
or-part_104 | |
(let-values (((ht_54) | |
(let-values (((ht_55) (unbox (multi-scope-scopes ms_1)))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash ht_55))) | |
((letrec-values (((for-loop_63) | |
(lambda (table_70 i_71) | |
(begin | |
'for-loop | |
(if i_71 | |
(let-values (((phase_8 sc_6) | |
(hash-iterate-key+value | |
ht_55 | |
i_71))) | |
(let-values (((table_23) | |
(let-values (((table_71) | |
table_70)) | |
(if (set-member? | |
(serialize-state-reachable-scopes | |
state_19) | |
sc_6) | |
(let-values (((table_72) | |
table_71)) | |
(let-values (((table_73) | |
(let-values () | |
(let-values (((key_32 | |
val_17) | |
(let-values () | |
(values | |
phase_8 | |
sc_6)))) | |
(hash-set | |
table_72 | |
key_32 | |
val_17))))) | |
(values | |
table_73))) | |
table_71)))) | |
(if (not #f) | |
(for-loop_63 | |
table_23 | |
(hash-iterate-next ht_55 i_71)) | |
table_23))) | |
table_70))))) | |
for-loop_63) | |
'#hasheqv() | |
(hash-iterate-first ht_55)))))) | |
(begin | |
(hash-set! multi-scope-tables_0 (multi-scope-scopes ms_1) ht_54) | |
ht_54))))))))))) | |
(current-inspector) | |
#f | |
'(0 1 2 3 4) | |
#f | |
'multi-scope))))) | |
(values | |
struct:_19 | |
make-_19 | |
?_19 | |
(make-struct-field-accessor -ref_19 0 'id) | |
(make-struct-field-accessor -ref_19 1 'name) | |
(make-struct-field-accessor -ref_19 2 'scopes) | |
(make-struct-field-accessor -ref_19 3 'shifted) | |
(make-struct-field-accessor -ref_19 4 'label-shifted)))) | |
(define-values | |
(deserialize-multi-scope) | |
(lambda (name_15 scopes_8) | |
(begin (multi-scope3.1 (new-deserialize-scope-id!) name_15 (box scopes_8) (box (hasheqv)) (box (hash)))))) | |
(define-values | |
(struct:representative-scope | |
representative-scope4.1 | |
representative-scope? | |
representative-scope-owner | |
representative-scope-phase | |
set-representative-scope-owner! | |
set-representative-scope-phase!) | |
(let-values (((struct:_20 make-_20 ?_20 -ref_20 -set!_20) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'representative-scope | |
struct:scope | |
2 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons prop:implicitly-reachable #t) | |
(cons prop:reach-scopes (lambda (s_29 reach_10) (reach_10 (representative-scope-owner s_29)))) | |
(cons | |
prop:serialize-fill! | |
(lambda (s_99 ser-push!_10 state_20) | |
(begin | |
(ser-push!_10 'tag '#:representative-scope-fill!) | |
(ser-push!_10 (binding-table-prune-to-reachable (scope-binding-table s_99) state_20)) | |
(ser-push!_10 (representative-scope-owner s_99))))) | |
(cons | |
prop:serialize | |
(lambda (s_32 ser-push!_11 state_21) | |
(begin | |
(ser-push!_11 'tag '#:representative-scope) | |
(ser-push!_11 (scope-kind s_32)) | |
(ser-push!_11 (representative-scope-phase s_32))))) | |
(cons | |
prop:custom-write | |
(lambda (sc_7 port_5 mode_8) | |
(begin | |
(write-string "#<scope:" port_5) | |
(display (scope-id sc_7) port_5) | |
(if (representative-scope-owner sc_7) | |
(let-values () | |
(begin | |
(write-string "=" port_5) | |
(display (multi-scope-id (representative-scope-owner sc_7)) port_5))) | |
(void)) | |
(write-string "@" port_5) | |
(display (representative-scope-phase sc_7) port_5) | |
(write-string ">" port_5))))) | |
(current-inspector) | |
#f | |
'() | |
#f | |
'representative-scope))))) | |
(values | |
struct:_20 | |
make-_20 | |
?_20 | |
(make-struct-field-accessor -ref_20 0 'owner) | |
(make-struct-field-accessor -ref_20 1 'phase) | |
(make-struct-field-mutator -set!_20 0 'owner) | |
(make-struct-field-mutator -set!_20 1 'phase)))) | |
(define-values | |
(deserialize-representative-scope) | |
(lambda (kind_1 phase_9) | |
(begin (let-values (((v_72) (representative-scope4.1 (new-deserialize-scope-id!) kind_1 #f #f phase_9))) v_72)))) | |
(define-values | |
(deserialize-representative-scope-fill!) | |
(lambda (s_53 bt_5 owner_0) | |
(begin (begin (deserialize-scope-fill! s_53 bt_5) (set-representative-scope-owner! s_53 owner_0))))) | |
(define-values | |
(struct:shifted-multi-scope | |
shifted-multi-scope5.1 | |
shifted-multi-scope? | |
shifted-multi-scope-phase | |
shifted-multi-scope-multi-scope) | |
(let-values (((struct:_21 make-_21 ?_21 -ref_21 -set!_21) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'shifted-multi-scope | |
#f | |
2 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:reach-scopes | |
(lambda (sms_3 reach_11) (reach_11 (shifted-multi-scope-multi-scope sms_3)))) | |
(cons | |
prop:serialize | |
(lambda (sms_4 ser-push!_12 state_22) | |
(begin | |
(ser-push!_12 'tag '#:shifted-multi-scope) | |
(ser-push!_12 (shifted-multi-scope-phase sms_4)) | |
(ser-push!_12 (shifted-multi-scope-multi-scope sms_4))))) | |
(cons | |
prop:custom-write | |
(lambda (sms_5 port_6 mode_9) | |
(begin | |
(write-string "#<scope:" port_6) | |
(display (multi-scope-id (shifted-multi-scope-multi-scope sms_5)) port_6) | |
(write-string "@" port_6) | |
(display (shifted-multi-scope-phase sms_5) port_6) | |
(write-string ">" port_6))))) | |
(current-inspector) | |
#f | |
'(0 1) | |
#f | |
'shifted-multi-scope))))) | |
(values | |
struct:_21 | |
make-_21 | |
?_21 | |
(make-struct-field-accessor -ref_21 0 'phase) | |
(make-struct-field-accessor -ref_21 1 'multi-scope)))) | |
(define-values | |
(deserialize-shifted-multi-scope) | |
(lambda (phase_10 multi-scope_0) (begin (intern-shifted-multi-scope phase_10 multi-scope_0)))) | |
(define-values | |
(intern-shifted-multi-scope) | |
(lambda (phase_11 multi-scope_1) | |
(begin | |
(letrec-values (((transaction-loop_0) | |
(lambda (boxed-table_0 key_33 make_0) | |
(begin | |
'transaction-loop | |
(let-values (((or-part_105) (hash-ref (unbox boxed-table_0) phase_11 #f))) | |
(if or-part_105 | |
or-part_105 | |
(let-values (((val_18) (make_0))) | |
(let-values (((current_0) (unbox boxed-table_0))) | |
(let-values (((next_3) (hash-set current_0 key_33 val_18))) | |
(if (box-cas! boxed-table_0 current_0 next_3) | |
val_18 | |
(transaction-loop_0 boxed-table_0 key_33 make_0))))))))))) | |
(if (phase? phase_11) | |
(let-values () | |
(let-values (((or-part_106) (hash-ref (unbox (multi-scope-shifted multi-scope_1)) phase_11 #f))) | |
(if or-part_106 | |
or-part_106 | |
(transaction-loop_0 | |
(multi-scope-shifted multi-scope_1) | |
phase_11 | |
(lambda () (shifted-multi-scope5.1 phase_11 multi-scope_1)))))) | |
(let-values () | |
(let-values (((or-part_107) (hash-ref (unbox (multi-scope-label-shifted multi-scope_1)) phase_11 #f))) | |
(if or-part_107 | |
or-part_107 | |
(transaction-loop_0 | |
(multi-scope-label-shifted multi-scope_1) | |
phase_11 | |
(lambda () (shifted-multi-scope5.1 phase_11 multi-scope_1))))))))))) | |
(define-values | |
(struct:shifted-to-label-phase shifted-to-label-phase6.1 shifted-to-label-phase? shifted-to-label-phase-from) | |
(let-values (((struct:_22 make-_22 ?_22 -ref_22 -set!_22) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'shifted-to-label-phase | |
#f | |
1 | |
0 | |
#f | |
null | |
'prefab | |
#f | |
'(0) | |
#f | |
'shifted-to-label-phase))))) | |
(values struct:_22 make-_22 ?_22 (make-struct-field-accessor -ref_22 0 'from)))) | |
(define-values (cell.1$5) (unsafe-make-place-local 0)) | |
(define-values | |
(new-scope-id!) | |
(lambda () | |
(begin | |
(begin | |
(unsafe-place-local-set! cell.1$5 (add1 (unsafe-place-local-ref cell.1$5))) | |
(unsafe-place-local-ref cell.1$5))))) | |
(define-values (new-deserialize-scope-id!) (lambda () (begin (- (new-scope-id!))))) | |
(define-values (deserialized-scope-id?) (lambda (scope-id_0) (begin (negative? scope-id_0)))) | |
(define-values (top-level-common-scope) (scope1.1 0 'module empty-binding-table)) | |
(define-values (new-scope) (lambda (kind_2) (begin (scope1.1 (new-scope-id!) kind_2 empty-binding-table)))) | |
(define-values (cell.2$2) (unsafe-make-place-local (make-weak-hasheq))) | |
(define-values (scope-place-init!) (lambda () (begin (unsafe-place-local-set! cell.2$2 (make-weak-hasheq))))) | |
(define-values | |
(make-interned-scope) | |
(lambda (sym_15) | |
(begin | |
(let-values (((make_1) | |
(lambda () | |
(begin | |
'make | |
(make-ephemeron | |
sym_15 | |
(interned-scope2.1 (- (new-scope-id!)) 'interned empty-binding-table sym_15)))))) | |
(call-as-atomic | |
(lambda () | |
(let-values (((or-part_108) (ephemeron-value (hash-ref! (unsafe-place-local-ref cell.2$2) sym_15 make_1)))) | |
(if or-part_108 | |
or-part_108 | |
(let-values (((new_2) (make_1))) | |
(begin (hash-set! (unsafe-place-local-ref cell.2$2) sym_15 new_2) (ephemeron-value new_2))))))))))) | |
(define-values | |
(new-multi-scope) | |
(let-values (((new-multi-scope_0) | |
(lambda (name7_0) | |
(begin | |
'new-multi-scope | |
(let-values (((name_16) name7_0)) | |
(let-values () | |
(intern-shifted-multi-scope | |
0 | |
(multi-scope3.1 (new-scope-id!) name_16 (box (hasheqv)) (box (hasheqv)) (box (hash)))))))))) | |
(case-lambda (() (begin (new-multi-scope_0 #f))) ((name7_1) (new-multi-scope_0 name7_1))))) | |
(define-values | |
(multi-scope-to-scope-at-phase) | |
(lambda (ms_2 phase_12) | |
(begin | |
(let-values (((scopes_9) (unbox (multi-scope-scopes ms_2)))) | |
(let-values (((or-part_63) (hash-ref scopes_9 phase_12 #f))) | |
(if or-part_63 | |
or-part_63 | |
(let-values (((s_91) | |
(representative-scope4.1 | |
(if (deserialized-scope-id? (multi-scope-id ms_2)) | |
(new-deserialize-scope-id!) | |
(new-scope-id!)) | |
'module | |
empty-binding-table | |
ms_2 | |
phase_12))) | |
(if (box-cas! (multi-scope-scopes ms_2) scopes_9 (hash-set scopes_9 phase_12 s_91)) | |
s_91 | |
(multi-scope-to-scope-at-phase ms_2 phase_12))))))))) | |
(define-values (scope>?) (lambda (sc1_0 sc2_0) (begin (> (scope-id sc1_0) (scope-id sc2_0))))) | |
(define-values (scope<?) (lambda (sc1_1 sc2_1) (begin (< (scope-id sc1_1) (scope-id sc2_1))))) | |
(define-values | |
(shifted-multi-scope<?) | |
(lambda (sms1_0 sms2_0) | |
(begin | |
(let-values (((ms1_0) (shifted-multi-scope-multi-scope sms1_0))) | |
(let-values (((ms2_0) (shifted-multi-scope-multi-scope sms2_0))) | |
(if (eq? ms1_0 ms2_0) | |
(let-values (((p1_0) (shifted-multi-scope-phase sms1_0)) ((p2_0) (shifted-multi-scope-phase sms2_0))) | |
(if (shifted-to-label-phase? p1_0) | |
(let-values () | |
(if (shifted-to-label-phase? p2_0) | |
(let-values () (phase<? (shifted-to-label-phase-from p1_0) (shifted-to-label-phase-from p2_0))) | |
(let-values () #f))) | |
(if (shifted-to-label-phase? p2_0) (let-values () #t) (let-values () (phase<? p1_0 p2_0))))) | |
(< (multi-scope-id ms1_0) (multi-scope-id ms2_0)))))))) | |
(define-values | |
(syntax-propagated-content*) | |
(lambda (s_66) | |
(begin | |
(let-values (((content*_13) (syntax-content* s_66))) | |
(if (not (modified-content? content*_13)) | |
(let-values () content*_13) | |
(let-values () | |
(let-values (((prop_2) (modified-content-scope-propagations+tamper content*_13))) | |
(if (let-values (((or-part_109) (propagation? prop_2))) | |
(if or-part_109 or-part_109 (tamper-needs-propagate? prop_2))) | |
(let-values () | |
(let-values (((content_16) (modified-content-content content*_13))) | |
(let-values (((new-content_0) | |
(if (propagation? prop_2) | |
(let-values () | |
(let-values (((s_67) content_16) | |
((f_24) (lambda (tail?_11 x_22) (begin 'f x_22))) | |
((s->_0) | |
(lambda (sub-s_1) | |
(begin | |
's-> | |
(let-values (((sub-content*_0) (syntax-content* sub-s_1))) | |
(let-values (((sub-content_0) | |
(if (modified-content? sub-content*_0) | |
(modified-content-content sub-content*_0) | |
sub-content*_0))) | |
(let-values (((scope-propagations+tamper_0) | |
(propagation-merge | |
sub-content_0 | |
prop_2 | |
(if (modified-content? sub-content*_0) | |
(modified-content-scope-propagations+tamper | |
sub-content*_0) | |
#f) | |
(syntax-scopes sub-s_1) | |
(syntax-shifted-multi-scopes sub-s_1) | |
(syntax-mpi-shifts sub-s_1)))) | |
(let-values (((the-struct_14) sub-s_1)) | |
(if (syntax?$1 the-struct_14) | |
(let-values (((scopes41_0) | |
(propagation-apply | |
prop_2 | |
(syntax-scopes sub-s_1) | |
s_66)) | |
((shifted-multi-scopes42_0) | |
(propagation-apply-shifted | |
prop_2 | |
(syntax-shifted-multi-scopes sub-s_1) | |
s_66)) | |
((mpi-shifts43_0) | |
(propagation-apply-mpi-shifts | |
prop_2 | |
(syntax-mpi-shifts sub-s_1) | |
s_66)) | |
((inspector44_0) | |
(propagation-apply-inspector | |
prop_2 | |
(syntax-inspector sub-s_1))) | |
((content*45_0) | |
(if scope-propagations+tamper_0 | |
(modified-content1.1 | |
sub-content_0 | |
scope-propagations+tamper_0) | |
sub-content_0))) | |
(syntax2.1 | |
content*45_0 | |
scopes41_0 | |
shifted-multi-scopes42_0 | |
mpi-shifts43_0 | |
(syntax-srcloc the-struct_14) | |
(syntax-props the-struct_14) | |
inspector44_0)) | |
(raise-argument-error | |
'struct-copy | |
"syntax?" | |
the-struct_14))))))))) | |
((seen_5) #f) | |
((known-pairs_3) #f)) | |
(let-values (((s_69) s_67) | |
((f_29) f_24) | |
((gf_3) | |
(lambda (tail?_21 v_73) | |
(begin | |
'gf | |
(if (syntax?$1 v_73) | |
(let-values () (s->_0 v_73)) | |
(let-values () (f_24 tail?_21 v_73)))))) | |
((seen_8) seen_5) | |
((known-pairs_6) known-pairs_3)) | |
((letrec-values (((loop_70) | |
(lambda (tail?_15 s_70 prev-depth_4) | |
(begin | |
'loop | |
(let-values (((depth_4) (fx+ 1 prev-depth_4))) | |
(if (if seen_8 (fx> depth_4 32) #f) | |
(let-values () | |
(datum-map-slow | |
tail?_15 | |
s_70 | |
(lambda (tail?_22 s_71) (gf_3 tail?_22 s_71)) | |
seen_8 | |
known-pairs_6)) | |
(if (null? s_70) | |
(let-values () (f_29 tail?_15 s_70)) | |
(if (pair? s_70) | |
(let-values () | |
(f_29 | |
tail?_15 | |
(cons | |
(loop_70 #f (car s_70) depth_4) | |
(loop_70 1 (cdr s_70) depth_4)))) | |
(if (symbol? s_70) | |
(let-values () (f_29 #f s_70)) | |
(if (boolean? s_70) | |
(let-values () (f_29 #f s_70)) | |
(if (number? s_70) | |
(let-values () (f_29 #f s_70)) | |
(if (let-values (((or-part_110) | |
(vector? s_70))) | |
(if or-part_110 | |
or-part_110 | |
(let-values (((or-part_111) | |
(box? s_70))) | |
(if or-part_111 | |
or-part_111 | |
(let-values (((or-part_112) | |
(prefab-struct-key | |
s_70))) | |
(if or-part_112 | |
or-part_112 | |
(hash? s_70))))))) | |
(let-values () | |
(datum-map-slow | |
tail?_15 | |
s_70 | |
(lambda (tail?_23 s_100) | |
(gf_3 tail?_23 s_100)) | |
seen_8 | |
known-pairs_6)) | |
(let-values () | |
(gf_3 #f s_70)))))))))))))) | |
loop_70) | |
#f | |
s_69 | |
0)))) | |
(let-values () | |
(let-values (((s_73) content_16) | |
((f_30) (lambda (tail?_24 x_29) (begin 'f x_29))) | |
((s->_2) | |
(lambda (sub-s_2) | |
(begin | |
's-> | |
(let-values (((stx_9) sub-s_2)) | |
(let-values (((t_25) | |
(tamper-tainted-for-content | |
(syntax-content sub-s_2)))) | |
(let-values (((content*_14) (syntax-content* stx_9))) | |
(let-values (((content_5) | |
(if (modified-content? content*_14) | |
(modified-content-content content*_14) | |
content*_14))) | |
(let-values (((p_18) | |
(if (modified-content? content*_14) | |
(modified-content-scope-propagations+tamper | |
content*_14) | |
#f))) | |
(let-values (((the-struct_15) stx_9)) | |
(if (syntax?$1 the-struct_15) | |
(let-values (((content*46_0) | |
(let-values (((new-p_8) | |
(if (tamper? p_18) | |
t_25 | |
((propagation-set-tamper-ref | |
p_18) | |
p_18 | |
t_25)))) | |
(if new-p_8 | |
(modified-content1.1 | |
content_5 | |
new-p_8) | |
content_5)))) | |
(syntax2.1 | |
content*46_0 | |
(syntax-scopes the-struct_15) | |
(syntax-shifted-multi-scopes the-struct_15) | |
(syntax-mpi-shifts the-struct_15) | |
(syntax-srcloc the-struct_15) | |
(syntax-props the-struct_15) | |
(syntax-inspector the-struct_15))) | |
(raise-argument-error | |
'struct-copy | |
"syntax?" | |
the-struct_15))))))))))) | |
((seen_9) #f) | |
((known-pairs_7) #f)) | |
(let-values (((s_101) s_73) | |
((f_31) f_30) | |
((gf_4) | |
(lambda (tail?_25 v_74) | |
(begin | |
'gf | |
(if (syntax?$1 v_74) | |
(let-values () (s->_2 v_74)) | |
(let-values () (f_30 tail?_25 v_74)))))) | |
((seen_10) seen_9) | |
((known-pairs_8) known-pairs_7)) | |
((letrec-values (((loop_71) | |
(lambda (tail?_26 s_102 prev-depth_5) | |
(begin | |
'loop | |
(let-values (((depth_5) (fx+ 1 prev-depth_5))) | |
(if (if seen_10 (fx> depth_5 32) #f) | |
(let-values () | |
(datum-map-slow | |
tail?_26 | |
s_102 | |
(lambda (tail?_27 s_103) (gf_4 tail?_27 s_103)) | |
seen_10 | |
known-pairs_8)) | |
(if (null? s_102) | |
(let-values () (f_31 tail?_26 s_102)) | |
(if (pair? s_102) | |
(let-values () | |
(f_31 | |
tail?_26 | |
(cons | |
(loop_71 #f (car s_102) depth_5) | |
(loop_71 1 (cdr s_102) depth_5)))) | |
(if (symbol? s_102) | |
(let-values () (f_31 #f s_102)) | |
(if (boolean? s_102) | |
(let-values () (f_31 #f s_102)) | |
(if (number? s_102) | |
(let-values () (f_31 #f s_102)) | |
(if (let-values (((or-part_113) | |
(vector? s_102))) | |
(if or-part_113 | |
or-part_113 | |
(let-values (((or-part_114) | |
(box? s_102))) | |
(if or-part_114 | |
or-part_114 | |
(let-values (((or-part_115) | |
(prefab-struct-key | |
s_102))) | |
(if or-part_115 | |
or-part_115 | |
(hash? s_102))))))) | |
(let-values () | |
(datum-map-slow | |
tail?_26 | |
s_102 | |
(lambda (tail?_28 s_75) | |
(gf_4 tail?_28 s_75)) | |
seen_10 | |
known-pairs_8)) | |
(let-values () | |
(gf_4 #f s_102)))))))))))))) | |
loop_71) | |
#f | |
s_101 | |
0))))))) | |
(let-values (((new-tamper_0) | |
(tamper-propagated (if (propagation? prop_2) (propagation-tamper prop_2) prop_2)))) | |
(let-values (((new-content*_0) | |
(if new-tamper_0 (modified-content1.1 new-content_0 new-tamper_0) new-content_0))) | |
(if (syntax-content*-cas! s_66 content*_13 new-content*_0) | |
new-content*_0 | |
(syntax-propagated-content* s_66))))))) | |
(let-values () content*_13))))))))) | |
(define-values | |
(syntax-e/no-taint) | |
(lambda (s_104) | |
(begin | |
(let-values (((content*_15) (syntax-propagated-content* s_104))) | |
(if (modified-content? content*_15) (modified-content-content content*_15) content*_15))))) | |
(define-values | |
(syntax-e$1) | |
(lambda (s_105) | |
(begin | |
'syntax-e | |
(let-values (((e_13) (syntax-content* s_105))) | |
(if (symbol? e_13) | |
(let-values () e_13) | |
(let-values () | |
(let-values (((content*_16) (syntax-propagated-content* s_105))) | |
(if (modified-content? content*_16) | |
(let-values () | |
(let-values (((content_17) (modified-content-content content*_16))) | |
(let-values (((prop_3) (modified-content-scope-propagations+tamper content*_16))) | |
(if (not (tamper-armed? prop_3)) | |
(let-values () content_17) | |
(if (datum-has-elements? content_17) | |
(let-values () (taint-content content_17)) | |
(let-values () content_17)))))) | |
(let-values () content*_16))))))))) | |
(define-values | |
(generalize-scope) | |
(lambda (sc_8) | |
(begin | |
(if (representative-scope? sc_8) | |
(intern-shifted-multi-scope (representative-scope-phase sc_8) (representative-scope-owner sc_8)) | |
sc_8)))) | |
(define-values | |
(add-scope) | |
(lambda (s_106 sc_9) | |
(begin | |
(let-values (((s_107) s_106) ((sc_10) (generalize-scope sc_9)) ((op_0) set-add) ((prop-op_0) propagation-add)) | |
(let-values (((content*_17) (syntax-content* s_107))) | |
(let-values (((content_18) | |
(if (modified-content? content*_17) (modified-content-content content*_17) content*_17))) | |
(if (shifted-multi-scope? sc_10) | |
(let-values (((the-struct_16) s_107)) | |
(if (syntax?$1 the-struct_16) | |
(let-values (((shifted-multi-scopes47_0) | |
(fallback-update-first | |
(syntax-shifted-multi-scopes s_107) | |
(lambda (smss_9) (op_0 (fallback-first smss_9) sc_10)))) | |
((content*48_0) | |
(if (datum-has-elements? content_18) | |
(let-values (((prop_4) | |
(prop-op_0 | |
(if (modified-content? content*_17) | |
(modified-content-scope-propagations+tamper content*_17) | |
#f) | |
sc_10 | |
(syntax-scopes s_107) | |
(syntax-shifted-multi-scopes s_107) | |
(syntax-mpi-shifts s_107)))) | |
(if prop_4 (modified-content1.1 content_18 prop_4) content_18)) | |
content*_17))) | |
(syntax2.1 | |
content*48_0 | |
(syntax-scopes the-struct_16) | |
shifted-multi-scopes47_0 | |
(syntax-mpi-shifts the-struct_16) | |
(syntax-srcloc the-struct_16) | |
(syntax-props the-struct_16) | |
(syntax-inspector the-struct_16))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_16))) | |
(let-values (((the-struct_17) s_107)) | |
(if (syntax?$1 the-struct_17) | |
(let-values (((scopes49_1) (op_0 (syntax-scopes s_107) sc_10)) | |
((content*50_0) | |
(if (datum-has-elements? content_18) | |
(let-values (((prop_5) | |
(prop-op_0 | |
(if (modified-content? content*_17) | |
(modified-content-scope-propagations+tamper content*_17) | |
#f) | |
sc_10 | |
(syntax-scopes s_107) | |
(syntax-shifted-multi-scopes s_107) | |
(syntax-mpi-shifts s_107)))) | |
(if prop_5 (modified-content1.1 content_18 prop_5) content_18)) | |
content*_17))) | |
(syntax2.1 | |
content*50_0 | |
scopes49_1 | |
(syntax-shifted-multi-scopes the-struct_17) | |
(syntax-mpi-shifts the-struct_17) | |
(syntax-srcloc the-struct_17) | |
(syntax-props the-struct_17) | |
(syntax-inspector the-struct_17))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_17)))))))))) | |
(define-values | |
(add-scopes) | |
(lambda (s_108 scs_5) | |
(begin | |
(let-values (((lst_42) scs_5)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_42))) | |
((letrec-values (((for-loop_64) | |
(lambda (s_109 lst_46) | |
(begin | |
'for-loop | |
(if (pair? lst_46) | |
(let-values (((sc_11) (unsafe-car lst_46)) ((rest_20) (unsafe-cdr lst_46))) | |
(let-values (((s_110) | |
(let-values (((s_111) s_109)) | |
(let-values (((s_112) (let-values () (add-scope s_111 sc_11)))) | |
(values s_112))))) | |
(if (not #f) (for-loop_64 s_110 rest_20) s_110))) | |
s_109))))) | |
for-loop_64) | |
s_108 | |
lst_42)))))) | |
(define-values | |
(remove-scope) | |
(lambda (s_113 sc_12) | |
(begin | |
(let-values (((s_114) s_113) | |
((sc_13) (generalize-scope sc_12)) | |
((op_1) set-remove) | |
((prop-op_1) propagation-remove)) | |
(let-values (((content*_18) (syntax-content* s_114))) | |
(let-values (((content_19) | |
(if (modified-content? content*_18) (modified-content-content content*_18) content*_18))) | |
(if (shifted-multi-scope? sc_13) | |
(let-values (((the-struct_18) s_114)) | |
(if (syntax?$1 the-struct_18) | |
(let-values (((shifted-multi-scopes51_0) | |
(fallback-update-first | |
(syntax-shifted-multi-scopes s_114) | |
(lambda (smss_10) (op_1 (fallback-first smss_10) sc_13)))) | |
((content*52_0) | |
(if (datum-has-elements? content_19) | |
(let-values (((prop_6) | |
(prop-op_1 | |
(if (modified-content? content*_18) | |
(modified-content-scope-propagations+tamper content*_18) | |
#f) | |
sc_13 | |
(syntax-scopes s_114) | |
(syntax-shifted-multi-scopes s_114) | |
(syntax-mpi-shifts s_114)))) | |
(if prop_6 (modified-content1.1 content_19 prop_6) content_19)) | |
content*_18))) | |
(syntax2.1 | |
content*52_0 | |
(syntax-scopes the-struct_18) | |
shifted-multi-scopes51_0 | |
(syntax-mpi-shifts the-struct_18) | |
(syntax-srcloc the-struct_18) | |
(syntax-props the-struct_18) | |
(syntax-inspector the-struct_18))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_18))) | |
(let-values (((the-struct_19) s_114)) | |
(if (syntax?$1 the-struct_19) | |
(let-values (((scopes53_0) (op_1 (syntax-scopes s_114) sc_13)) | |
((content*54_0) | |
(if (datum-has-elements? content_19) | |
(let-values (((prop_7) | |
(prop-op_1 | |
(if (modified-content? content*_18) | |
(modified-content-scope-propagations+tamper content*_18) | |
#f) | |
sc_13 | |
(syntax-scopes s_114) | |
(syntax-shifted-multi-scopes s_114) | |
(syntax-mpi-shifts s_114)))) | |
(if prop_7 (modified-content1.1 content_19 prop_7) content_19)) | |
content*_18))) | |
(syntax2.1 | |
content*54_0 | |
scopes53_0 | |
(syntax-shifted-multi-scopes the-struct_19) | |
(syntax-mpi-shifts the-struct_19) | |
(syntax-srcloc the-struct_19) | |
(syntax-props the-struct_19) | |
(syntax-inspector the-struct_19))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_19)))))))))) | |
(define-values | |
(remove-scopes) | |
(lambda (s_115 scs_6) | |
(begin | |
(let-values (((lst_47) scs_6)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_47))) | |
((letrec-values (((for-loop_65) | |
(lambda (s_116 lst_48) | |
(begin | |
'for-loop | |
(if (pair? lst_48) | |
(let-values (((sc_14) (unsafe-car lst_48)) ((rest_21) (unsafe-cdr lst_48))) | |
(let-values (((s_117) | |
(let-values (((s_118) s_116)) | |
(let-values (((s_119) (let-values () (remove-scope s_118 sc_14)))) | |
(values s_119))))) | |
(if (not #f) (for-loop_65 s_117 rest_21) s_117))) | |
s_116))))) | |
for-loop_65) | |
s_115 | |
lst_47)))))) | |
(define-values | |
(set-flip) | |
(lambda (s_120 e_14) (begin (if (set-member? s_120 e_14) (set-remove s_120 e_14) (set-add s_120 e_14))))) | |
(define-values | |
(flip-scope) | |
(lambda (s_121 sc_15) | |
(begin | |
(let-values (((s_122) s_121) ((sc_16) (generalize-scope sc_15)) ((op_2) set-flip) ((prop-op_2) propagation-flip)) | |
(let-values (((content*_19) (syntax-content* s_122))) | |
(let-values (((content_20) | |
(if (modified-content? content*_19) (modified-content-content content*_19) content*_19))) | |
(if (shifted-multi-scope? sc_16) | |
(let-values (((the-struct_20) s_122)) | |
(if (syntax?$1 the-struct_20) | |
(let-values (((shifted-multi-scopes55_0) | |
(fallback-update-first | |
(syntax-shifted-multi-scopes s_122) | |
(lambda (smss_11) (op_2 (fallback-first smss_11) sc_16)))) | |
((content*56_0) | |
(if (datum-has-elements? content_20) | |
(let-values (((prop_8) | |
(prop-op_2 | |
(if (modified-content? content*_19) | |
(modified-content-scope-propagations+tamper content*_19) | |
#f) | |
sc_16 | |
(syntax-scopes s_122) | |
(syntax-shifted-multi-scopes s_122) | |
(syntax-mpi-shifts s_122)))) | |
(if prop_8 (modified-content1.1 content_20 prop_8) content_20)) | |
content*_19))) | |
(syntax2.1 | |
content*56_0 | |
(syntax-scopes the-struct_20) | |
shifted-multi-scopes55_0 | |
(syntax-mpi-shifts the-struct_20) | |
(syntax-srcloc the-struct_20) | |
(syntax-props the-struct_20) | |
(syntax-inspector the-struct_20))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_20))) | |
(let-values (((the-struct_21) s_122)) | |
(if (syntax?$1 the-struct_21) | |
(let-values (((scopes57_0) (op_2 (syntax-scopes s_122) sc_16)) | |
((content*58_0) | |
(if (datum-has-elements? content_20) | |
(let-values (((prop_9) | |
(prop-op_2 | |
(if (modified-content? content*_19) | |
(modified-content-scope-propagations+tamper content*_19) | |
#f) | |
sc_16 | |
(syntax-scopes s_122) | |
(syntax-shifted-multi-scopes s_122) | |
(syntax-mpi-shifts s_122)))) | |
(if prop_9 (modified-content1.1 content_20 prop_9) content_20)) | |
content*_19))) | |
(syntax2.1 | |
content*58_0 | |
scopes57_0 | |
(syntax-shifted-multi-scopes the-struct_21) | |
(syntax-mpi-shifts the-struct_21) | |
(syntax-srcloc the-struct_21) | |
(syntax-props the-struct_21) | |
(syntax-inspector the-struct_21))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_21)))))))))) | |
(define-values | |
(flip-scopes) | |
(lambda (s_123 scs_7) | |
(begin | |
(let-values (((lst_49) scs_7)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-list lst_49))) | |
((letrec-values (((for-loop_66) | |
(lambda (s_124 lst_0) | |
(begin | |
'for-loop | |
(if (pair? lst_0) | |
(let-values (((sc_17) (unsafe-car lst_0)) ((rest_22) (unsafe-cdr lst_0))) | |
(let-values (((s_125) | |
(let-values (((s_126) s_124)) | |
(let-values (((s_127) (let-values () (flip-scope s_126 sc_17)))) | |
(values s_127))))) | |
(if (not #f) (for-loop_66 s_125 rest_22) s_125))) | |
s_124))))) | |
for-loop_66) | |
s_123 | |
lst_49)))))) | |
(define-values | |
(push-scope) | |
(lambda (s_128 sms_6) | |
(begin | |
(let-values (((smss/maybe-fallbacks59_0) #f)) | |
(let-values (((prev-result_0) #f)) | |
(let-values (((push_0) | |
(lambda (smss/maybe-fallbacks_0) | |
(begin | |
'push | |
(if (eq? smss/maybe-fallbacks59_0 smss/maybe-fallbacks_0) | |
(let-values () prev-result_0) | |
(let-values () | |
(let-values (((r_19) | |
(let-values () | |
(let-values (((smss_12) (fallback-first smss/maybe-fallbacks_0))) | |
(if (set-empty? smss_12) | |
(let-values () (set-add smss_12 sms_6)) | |
(if (set-member? smss_12 sms_6) | |
(let-values () smss/maybe-fallbacks_0) | |
(let-values () | |
(fallback-push | |
(set-add smss_12 sms_6) | |
smss/maybe-fallbacks_0)))))))) | |
(begin | |
(set! smss/maybe-fallbacks59_0 smss/maybe-fallbacks_0) | |
(set! prev-result_0 r_19) | |
r_19)))))))) | |
(let-values (((s_129) s_128) | |
((f_32) (lambda (tail?_29 x_30) (begin 'f x_30))) | |
((d->s_1) | |
(lambda (s_130 d_4) | |
(begin | |
'd->s | |
(let-values (((the-struct_22) s_130)) | |
(if (syntax?$1 the-struct_22) | |
(let-values (((content*60_0) (re-modify-content s_130 d_4)) | |
((shifted-multi-scopes61_0) | |
(push_0 (syntax-shifted-multi-scopes s_130)))) | |
(syntax2.1 | |
content*60_0 | |
(syntax-scopes the-struct_22) | |
shifted-multi-scopes61_0 | |
(syntax-mpi-shifts the-struct_22) | |
(syntax-srcloc the-struct_22) | |
(syntax-props the-struct_22) | |
(syntax-inspector the-struct_22))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_22)))))) | |
((s-e_1) syntax-e/no-taint) | |
((seen_11) #f)) | |
((letrec-values (((loop_18) | |
(lambda (s_131) | |
(begin | |
'loop | |
(let-values (((s_132) s_131) | |
((f_33) f_32) | |
((gf_5) | |
(lambda (tail?_30 v_75) | |
(begin | |
'gf | |
(if (syntax?$1 v_75) | |
(let-values () (d->s_1 v_75 (loop_18 (s-e_1 v_75)))) | |
(let-values () (f_32 tail?_30 v_75)))))) | |
((seen_12) seen_11) | |
((known-pairs_9) #f)) | |
((letrec-values (((loop_72) | |
(lambda (tail?_31 s_133 prev-depth_6) | |
(begin | |
'loop | |
(let-values (((depth_6) (fx+ 1 prev-depth_6))) | |
(if (if seen_12 (fx> depth_6 32) #f) | |
(let-values () | |
(datum-map-slow | |
tail?_31 | |
s_133 | |
(lambda (tail?_32 s_134) (gf_5 tail?_32 s_134)) | |
seen_12 | |
known-pairs_9)) | |
(if (null? s_133) | |
(let-values () (f_33 tail?_31 s_133)) | |
(if (pair? s_133) | |
(let-values () | |
(f_33 | |
tail?_31 | |
(cons | |
(loop_72 #f (car s_133) depth_6) | |
(loop_72 1 (cdr s_133) depth_6)))) | |
(if (symbol? s_133) | |
(let-values () (f_33 #f s_133)) | |
(if (boolean? s_133) | |
(let-values () (f_33 #f s_133)) | |
(if (number? s_133) | |
(let-values () (f_33 #f s_133)) | |
(if (let-values (((or-part_116) | |
(vector? s_133))) | |
(if or-part_116 | |
or-part_116 | |
(let-values (((or-part_117) | |
(box? s_133))) | |
(if or-part_117 | |
or-part_117 | |
(let-values (((or-part_118) | |
(prefab-struct-key | |
s_133))) | |
(if or-part_118 | |
or-part_118 | |
(hash? s_133))))))) | |
(let-values () | |
(datum-map-slow | |
tail?_31 | |
s_133 | |
(lambda (tail?_33 s_135) | |
(gf_5 tail?_33 s_135)) | |
seen_12 | |
known-pairs_9)) | |
(let-values () (gf_5 #f s_133)))))))))))))) | |
loop_72) | |
#f | |
s_132 | |
0)))))) | |
loop_18) | |
s_129)))))))) | |
(define-values | |
(struct:propagation | |
propagation12.1 | |
propagation? | |
propagation-prev-scs | |
propagation-prev-smss | |
propagation-scope-ops | |
propagation-prev-mss | |
propagation-add-mpi-shifts | |
propagation-inspector | |
propagation-tamper) | |
(let-values (((struct:_23 make-_23 ?_23 -ref_23 -set!_23) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'propagation | |
#f | |
7 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons prop:propagation-set-tamper (lambda (p_19 v_76) (propagation-set-tamper p_19 v_76))) | |
(cons prop:propagation-tamper (lambda (p_20) (propagation-tamper p_20))) | |
(cons prop:propagation syntax-e$1)) | |
(current-inspector) | |
#f | |
'(0 1 2 3 4 5 6) | |
#f | |
'propagation))))) | |
(values | |
struct:_23 | |
make-_23 | |
?_23 | |
(make-struct-field-accessor -ref_23 0 'prev-scs) | |
(make-struct-field-accessor -ref_23 1 'prev-smss) | |
(make-struct-field-accessor -ref_23 2 'scope-ops) | |
(make-struct-field-accessor -ref_23 3 'prev-mss) | |
(make-struct-field-accessor -ref_23 4 'add-mpi-shifts) | |
(make-struct-field-accessor -ref_23 5 'inspector) | |
(make-struct-field-accessor -ref_23 6 'tamper)))) | |
(define-values | |
(propagation-add) | |
(lambda (prop_10 sc_18 prev-scs_0 prev-smss_0 prev-mss_0) | |
(begin | |
(if (propagation? prop_10) | |
(let-values (((the-struct_23) prop_10)) | |
(if (propagation? the-struct_23) | |
(let-values (((scope-ops63_0) (hash-set (propagation-scope-ops prop_10) sc_18 'add))) | |
(propagation12.1 | |
(propagation-prev-scs the-struct_23) | |
(propagation-prev-smss the-struct_23) | |
scope-ops63_0 | |
(propagation-prev-mss the-struct_23) | |
(propagation-add-mpi-shifts the-struct_23) | |
(propagation-inspector the-struct_23) | |
(propagation-tamper the-struct_23))) | |
(raise-argument-error 'struct-copy "propagation?" the-struct_23))) | |
(propagation12.1 prev-scs_0 prev-smss_0 (hasheq sc_18 'add) prev-mss_0 #f #f prop_10))))) | |
(define-values | |
(propagation-remove) | |
(lambda (prop_11 sc_19 prev-scs_1 prev-smss_1 prev-mss_1) | |
(begin | |
(if (propagation? prop_11) | |
(let-values (((the-struct_24) prop_11)) | |
(if (propagation? the-struct_24) | |
(let-values (((scope-ops64_0) (hash-set (propagation-scope-ops prop_11) sc_19 'remove))) | |
(propagation12.1 | |
(propagation-prev-scs the-struct_24) | |
(propagation-prev-smss the-struct_24) | |
scope-ops64_0 | |
(propagation-prev-mss the-struct_24) | |
(propagation-add-mpi-shifts the-struct_24) | |
(propagation-inspector the-struct_24) | |
(propagation-tamper the-struct_24))) | |
(raise-argument-error 'struct-copy "propagation?" the-struct_24))) | |
(propagation12.1 prev-scs_1 prev-smss_1 (hasheq sc_19 'remove) prev-mss_1 #f #f prop_11))))) | |
(define-values | |
(propagation-flip) | |
(lambda (prop_12 sc_20 prev-scs_2 prev-smss_2 prev-mss_2) | |
(begin | |
(if (propagation? prop_12) | |
(let-values (((ops_0) (propagation-scope-ops prop_12))) | |
(let-values (((current-op_0) (hash-ref ops_0 sc_20 #f))) | |
(if (if (eq? current-op_0 'flip) | |
(if (= 1 (hash-count ops_0)) | |
(if (not (propagation-inspector prop_12)) (not (propagation-add-mpi-shifts prop_12)) #f) | |
#f) | |
#f) | |
(let-values () (propagation-tamper prop_12)) | |
(let-values () | |
(let-values (((the-struct_25) prop_12)) | |
(if (propagation? the-struct_25) | |
(let-values (((scope-ops65_0) | |
(if (eq? current-op_0 'flip) | |
(hash-remove ops_0 sc_20) | |
(hash-set | |
ops_0 | |
sc_20 | |
(let-values (((tmp_9) current-op_0)) | |
(if (equal? tmp_9 'add) | |
(let-values () 'remove) | |
(if (equal? tmp_9 'remove) (let-values () 'add) (let-values () 'flip)))))))) | |
(propagation12.1 | |
(propagation-prev-scs the-struct_25) | |
(propagation-prev-smss the-struct_25) | |
scope-ops65_0 | |
(propagation-prev-mss the-struct_25) | |
(propagation-add-mpi-shifts the-struct_25) | |
(propagation-inspector the-struct_25) | |
(propagation-tamper the-struct_25))) | |
(raise-argument-error 'struct-copy "propagation?" the-struct_25))))))) | |
(propagation12.1 prev-scs_2 prev-smss_2 (hasheq sc_20 'flip) prev-mss_2 #f #f prop_12))))) | |
(define-values | |
(propagation-mpi-shift) | |
(lambda (prop_13 add_0 inspector_2 prev-scs_3 prev-smss_3 prev-mss_3) | |
(begin | |
(if (propagation? prop_13) | |
(let-values (((the-struct_26) prop_13)) | |
(if (propagation? the-struct_26) | |
(let-values (((add-mpi-shifts66_0) | |
(let-values (((base-add_0) (propagation-add-mpi-shifts prop_13))) | |
(if (if add_0 base-add_0 #f) | |
(lambda (mss_0) (begin 'add-mpi-shifts66 (add_0 (base-add_0 mss_0)))) | |
(let-values (((or-part_119) add_0)) (if or-part_119 or-part_119 base-add_0))))) | |
((inspector67_0) | |
(let-values (((or-part_120) (propagation-inspector prop_13))) | |
(if or-part_120 or-part_120 inspector_2)))) | |
(propagation12.1 | |
(propagation-prev-scs the-struct_26) | |
(propagation-prev-smss the-struct_26) | |
(propagation-scope-ops the-struct_26) | |
(propagation-prev-mss the-struct_26) | |
add-mpi-shifts66_0 | |
inspector67_0 | |
(propagation-tamper the-struct_26))) | |
(raise-argument-error 'struct-copy "propagation?" the-struct_26))) | |
(propagation12.1 prev-scs_3 prev-smss_3 '#hasheq() prev-mss_3 add_0 inspector_2 prop_13))))) | |
(define-values | |
(propagation-apply) | |
(lambda (prop_14 scs_8 parent-s_0) | |
(begin | |
(if (eq? (propagation-prev-scs prop_14) scs_8) | |
(let-values () (syntax-scopes parent-s_0)) | |
(let-values () | |
(let-values (((new-scs_0) | |
(let-values (((ht_56) (propagation-scope-ops prop_14))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_56))) | |
((letrec-values (((for-loop_67) | |
(lambda (scs_9 i_72) | |
(begin | |
'for-loop | |
(if i_72 | |
(let-values (((sc_21 op_3) | |
(unsafe-immutable-hash-iterate-key+value ht_56 i_72))) | |
(let-values (((scs_10) | |
(let-values (((scs_11) scs_9)) | |
(if (not (shifted-multi-scope? sc_21)) | |
(let-values (((scs_12) scs_11)) | |
(let-values (((scs_13) | |
(let-values () | |
(let-values (((tmp_10) op_3)) | |
(if (equal? tmp_10 'add) | |
(let-values () | |
(set-add scs_12 sc_21)) | |
(if (equal? | |
tmp_10 | |
'remove) | |
(let-values () | |
(set-remove | |
scs_12 | |
sc_21)) | |
(let-values () | |
(set-flip | |
scs_12 | |
sc_21)))))))) | |
(values scs_13))) | |
scs_11)))) | |
(if (not #f) | |
(for-loop_67 | |
scs_10 | |
(unsafe-immutable-hash-iterate-next ht_56 i_72)) | |
scs_10))) | |
scs_9))))) | |
for-loop_67) | |
scs_8 | |
(unsafe-immutable-hash-iterate-first ht_56)))))) | |
(if (set=? new-scs_0 (syntax-scopes parent-s_0)) | |
(syntax-scopes parent-s_0) | |
(cache-or-reuse-set new-scs_0)))))))) | |
(define-values | |
(propagation-apply-shifted) | |
(lambda (prop_15 smss_13 parent-s_1) | |
(begin | |
(if (eq? (propagation-prev-smss prop_15) smss_13) | |
(let-values () (syntax-shifted-multi-scopes parent-s_1)) | |
(let-values () | |
(let-values (((new-smss_0) | |
(let-values (((ht_57) (propagation-scope-ops prop_15))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_57))) | |
((letrec-values (((for-loop_68) | |
(lambda (smss_14 i_73) | |
(begin | |
'for-loop | |
(if i_73 | |
(let-values (((sms_7 op_4) | |
(unsafe-immutable-hash-iterate-key+value ht_57 i_73))) | |
(let-values (((smss_15) | |
(let-values (((smss_16) smss_14)) | |
(if (shifted-multi-scope? sms_7) | |
(let-values (((smss_17) smss_16)) | |
(let-values (((smss_18) | |
(let-values () | |
(fallback-update-first | |
smss_17 | |
(lambda (smss_19) | |
(let-values (((tmp_11) | |
op_4)) | |
(if (equal? tmp_11 'add) | |
(let-values () | |
(set-add | |
smss_19 | |
sms_7)) | |
(if (equal? | |
tmp_11 | |
'remove) | |
(let-values () | |
(set-remove | |
smss_19 | |
sms_7)) | |
(let-values () | |
(set-flip | |
smss_19 | |
sms_7)))))))))) | |
(values smss_18))) | |
smss_16)))) | |
(if (not #f) | |
(for-loop_68 | |
smss_15 | |
(unsafe-immutable-hash-iterate-next ht_57 i_73)) | |
smss_15))) | |
smss_14))))) | |
for-loop_68) | |
smss_13 | |
(unsafe-immutable-hash-iterate-first ht_57)))))) | |
(let-values (((parent-smss_0) (syntax-shifted-multi-scopes parent-s_1))) | |
(if (if (set? new-smss_0) (if (set? parent-smss_0) (set=? new-smss_0 parent-smss_0) #f) #f) | |
parent-smss_0 | |
(cache-or-reuse-hash new-smss_0))))))))) | |
(define-values | |
(propagation-apply-mpi-shifts) | |
(lambda (prop_16 mss_1 parent-s_2) | |
(begin | |
(if (eq? (propagation-prev-mss prop_16) mss_1) | |
(let-values () (syntax-mpi-shifts parent-s_2)) | |
(let-values () (let-values (((add_1) (propagation-add-mpi-shifts prop_16))) (if add_1 (add_1 mss_1) mss_1))))))) | |
(define-values | |
(propagation-apply-inspector) | |
(lambda (prop_17 i_74) | |
(begin (let-values (((or-part_121) i_74)) (if or-part_121 or-part_121 (propagation-inspector prop_17)))))) | |
(define-values | |
(propagation-set-tamper) | |
(lambda (prop_18 t_26) | |
(begin | |
(if (propagation? prop_18) | |
(let-values (((the-struct_27) prop_18)) | |
(if (propagation? the-struct_27) | |
(let-values (((tamper68_0) t_26)) | |
(propagation12.1 | |
(propagation-prev-scs the-struct_27) | |
(propagation-prev-smss the-struct_27) | |
(propagation-scope-ops the-struct_27) | |
(propagation-prev-mss the-struct_27) | |
(propagation-add-mpi-shifts the-struct_27) | |
(propagation-inspector the-struct_27) | |
tamper68_0)) | |
(raise-argument-error 'struct-copy "propagation?" the-struct_27))) | |
t_26)))) | |
(define-values | |
(propagation-merge) | |
(lambda (content_21 prop_19 base-prop_0 prev-scs_4 prev-smss_4 prev-mss_4) | |
(begin | |
(if (not (datum-has-elements? content_21)) | |
(let-values () (if (tamper-tainted? (propagation-tamper prop_19)) 'tainted base-prop_0)) | |
(if (not (propagation? base-prop_0)) | |
(let-values () | |
(if (if (eq? (propagation-prev-scs prop_19) prev-scs_4) | |
(if (eq? (propagation-prev-smss prop_19) prev-smss_4) | |
(if (eq? (propagation-prev-mss prop_19) prev-mss_4) | |
(eq? (propagation-tamper prop_19) base-prop_0) | |
#f) | |
#f) | |
#f) | |
(let-values () prop_19) | |
(let-values () | |
(propagation12.1 | |
prev-scs_4 | |
prev-smss_4 | |
(propagation-scope-ops prop_19) | |
prev-mss_4 | |
(propagation-add-mpi-shifts prop_19) | |
(propagation-inspector prop_19) | |
(if (tamper-tainted? (propagation-tamper prop_19)) 'tainted/need-propagate base-prop_0))))) | |
(let-values () | |
(let-values (((new-ops_0) | |
(let-values (((ht_58) (propagation-scope-ops prop_19))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_58))) | |
((letrec-values (((for-loop_69) | |
(lambda (ops_1 i_75) | |
(begin | |
'for-loop | |
(if i_75 | |
(let-values (((sc_22 op_5) | |
(unsafe-immutable-hash-iterate-key+value | |
ht_58 | |
i_75))) | |
(let-values (((ops_2) | |
(let-values (((ops_3) ops_1)) | |
(let-values (((ops_4) | |
(let-values () | |
(let-values (((tmp_12) op_5)) | |
(if (equal? tmp_12 'add) | |
(let-values () | |
(hash-set | |
ops_3 | |
sc_22 | |
'add)) | |
(if (equal? tmp_12 'remove) | |
(let-values () | |
(hash-set | |
ops_3 | |
sc_22 | |
'remove)) | |
(let-values () | |
(let-values (((current-op_1) | |
(hash-ref | |
ops_3 | |
sc_22 | |
#f))) | |
(let-values (((tmp_13) | |
current-op_1)) | |
(if (equal? | |
tmp_13 | |
'add) | |
(let-values () | |
(hash-set | |
ops_3 | |
sc_22 | |
'remove)) | |
(if (equal? | |
tmp_13 | |
'remove) | |
(let-values () | |
(hash-set | |
ops_3 | |
sc_22 | |
'add)) | |
(if (equal? | |
tmp_13 | |
'flip) | |
(let-values () | |
(hash-remove | |
ops_3 | |
sc_22)) | |
(let-values () | |
(hash-set | |
ops_3 | |
sc_22 | |
'flip)))))))))))))) | |
(values ops_4))))) | |
(if (not #f) | |
(for-loop_69 | |
ops_2 | |
(unsafe-immutable-hash-iterate-next ht_58 i_75)) | |
ops_2))) | |
ops_1))))) | |
for-loop_69) | |
(propagation-scope-ops base-prop_0) | |
(unsafe-immutable-hash-iterate-first ht_58)))))) | |
(let-values (((add_2) (propagation-add-mpi-shifts prop_19))) | |
(let-values (((base-add_1) (propagation-add-mpi-shifts base-prop_0))) | |
(let-values (((new-tamper_1) | |
(if (let-values (((or-part_122) (tamper-tainted? (propagation-tamper prop_19)))) | |
(if or-part_122 or-part_122 (tamper-tainted? (propagation-tamper base-prop_0)))) | |
'tainted/need-propagate | |
(propagation-tamper base-prop_0)))) | |
(if (if (zero? (hash-count new-ops_0)) | |
(if (not add_2) | |
(if (not base-add_1) | |
(if (not (propagation-inspector prop_19)) (not (propagation-inspector base-prop_0)) #f) | |
#f) | |
#f) | |
#f) | |
new-tamper_1 | |
(let-values (((the-struct_28) base-prop_0)) | |
(if (propagation? the-struct_28) | |
(let-values (((scope-ops69_0) new-ops_0) | |
((add-mpi-shifts70_0) | |
(if (if add_2 base-add_1 #f) | |
(lambda (mss_2) (begin 'add-mpi-shifts70 (add_2 (base-add_1 mss_2)))) | |
(let-values (((or-part_123) add_2)) (if or-part_123 or-part_123 base-add_1)))) | |
((inspector71_0) | |
(let-values (((or-part_124) (propagation-inspector base-prop_0))) | |
(if or-part_124 or-part_124 (propagation-inspector prop_19)))) | |
((tamper72_0) new-tamper_1)) | |
(propagation12.1 | |
(propagation-prev-scs the-struct_28) | |
(propagation-prev-smss the-struct_28) | |
scope-ops69_0 | |
(propagation-prev-mss the-struct_28) | |
add-mpi-shifts70_0 | |
inspector71_0 | |
tamper72_0)) | |
(raise-argument-error 'struct-copy "propagation?" the-struct_28)))))))))))))) | |
(define-values | |
(shift-multi-scope) | |
(lambda (sms_8 delta_1) | |
(begin | |
(if (zero-phase? delta_1) | |
(let-values () sms_8) | |
(if (label-phase? delta_1) | |
(let-values () | |
(if (shifted-to-label-phase? (shifted-multi-scope-phase sms_8)) | |
(let-values () #f) | |
(let-values () | |
(intern-shifted-multi-scope | |
(shifted-to-label-phase6.1 (phase- 0 (shifted-multi-scope-phase sms_8))) | |
(shifted-multi-scope-multi-scope sms_8))))) | |
(if (shifted-to-label-phase? (shifted-multi-scope-phase sms_8)) | |
(let-values () sms_8) | |
(let-values () | |
(intern-shifted-multi-scope | |
(phase+ delta_1 (shifted-multi-scope-phase sms_8)) | |
(shifted-multi-scope-multi-scope sms_8))))))))) | |
(define-values | |
(syntax-shift-phase-level$1) | |
(lambda (s_136 phase_13) | |
(begin | |
'syntax-shift-phase-level | |
(if (eqv? phase_13 0) | |
s_136 | |
(let-values () | |
(let-values (((smss73_0) #f)) | |
(let-values (((prev-result_1) #f)) | |
(let-values (((shift-all_0) | |
(lambda (smss_20) | |
(begin | |
'shift-all | |
(if (eq? smss73_0 smss_20) | |
(let-values () prev-result_1) | |
(let-values () | |
(let-values (((r_20) | |
(let-values () | |
(fallback-map | |
smss_20 | |
(lambda (smss_21) | |
(let-values (((ht_59) smss_21)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_59))) | |
((letrec-values (((for-loop_70) | |
(lambda (table_74 i_76) | |
(begin | |
'for-loop | |
(if i_76 | |
(let-values (((sms_9) | |
(unsafe-immutable-hash-iterate-key | |
ht_59 | |
i_76))) | |
(let-values (((table_75) | |
(let-values (((new-sms_0) | |
(shift-multi-scope | |
sms_9 | |
phase_13))) | |
(begin | |
#t | |
((letrec-values (((for-loop_71) | |
(lambda (table_76) | |
(begin | |
'for-loop | |
(let-values () | |
(let-values (((table_77) | |
(let-values (((table_78) | |
table_76)) | |
(if new-sms_0 | |
(let-values (((table_79) | |
table_78)) | |
(let-values (((table_80) | |
(let-values () | |
(let-values (((key_34 | |
val_19) | |
(let-values () | |
(values | |
(let-values () | |
new-sms_0) | |
#t)))) | |
(hash-set | |
table_79 | |
key_34 | |
val_19))))) | |
(values | |
table_80))) | |
table_78)))) | |
table_77)))))) | |
for-loop_71) | |
table_74))))) | |
(if (not #f) | |
(for-loop_70 | |
table_75 | |
(unsafe-immutable-hash-iterate-next | |
ht_59 | |
i_76)) | |
table_75))) | |
table_74))))) | |
for-loop_70) | |
'#hasheq() | |
(unsafe-immutable-hash-iterate-first ht_59))))))))) | |
(begin (set! smss73_0 smss_20) (set! prev-result_1 r_20) r_20)))))))) | |
(let-values (((s_137) s_136) | |
((f_34) (lambda (tail?_34 d_5) (begin 'f d_5))) | |
((d->s_2) | |
(lambda (s_138 d_6) | |
(begin | |
'd->s | |
(let-values (((the-struct_29) s_138)) | |
(if (syntax?$1 the-struct_29) | |
(let-values (((content*74_0) (re-modify-content s_138 d_6)) | |
((shifted-multi-scopes75_0) | |
(shift-all_0 (syntax-shifted-multi-scopes s_138)))) | |
(syntax2.1 | |
content*74_0 | |
(syntax-scopes the-struct_29) | |
shifted-multi-scopes75_0 | |
(syntax-mpi-shifts the-struct_29) | |
(syntax-srcloc the-struct_29) | |
(syntax-props the-struct_29) | |
(syntax-inspector the-struct_29))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_29)))))) | |
((s-e_2) syntax-e/no-taint) | |
((seen_13) #f)) | |
((letrec-values (((loop_73) | |
(lambda (s_139) | |
(begin | |
'loop | |
(let-values (((s_140) s_139) | |
((f_35) f_34) | |
((gf_6) | |
(lambda (tail?_35 v_77) | |
(begin | |
'gf | |
(if (syntax?$1 v_77) | |
(let-values () (d->s_2 v_77 (loop_73 (s-e_2 v_77)))) | |
(let-values () (f_34 tail?_35 v_77)))))) | |
((seen_14) seen_13) | |
((known-pairs_10) #f)) | |
((letrec-values (((loop_74) | |
(lambda (tail?_36 s_141 prev-depth_7) | |
(begin | |
'loop | |
(let-values (((depth_7) (fx+ 1 prev-depth_7))) | |
(if (if seen_14 (fx> depth_7 32) #f) | |
(let-values () | |
(datum-map-slow | |
tail?_36 | |
s_141 | |
(lambda (tail?_37 s_142) (gf_6 tail?_37 s_142)) | |
seen_14 | |
known-pairs_10)) | |
(if (null? s_141) | |
(let-values () (f_35 tail?_36 s_141)) | |
(if (pair? s_141) | |
(let-values () | |
(f_35 | |
tail?_36 | |
(cons | |
(loop_74 #f (car s_141) depth_7) | |
(loop_74 1 (cdr s_141) depth_7)))) | |
(if (symbol? s_141) | |
(let-values () (f_35 #f s_141)) | |
(if (boolean? s_141) | |
(let-values () (f_35 #f s_141)) | |
(if (number? s_141) | |
(let-values () (f_35 #f s_141)) | |
(if (let-values (((or-part_125) | |
(vector? s_141))) | |
(if or-part_125 | |
or-part_125 | |
(let-values (((or-part_126) | |
(box? s_141))) | |
(if or-part_126 | |
or-part_126 | |
(let-values (((or-part_127) | |
(prefab-struct-key | |
s_141))) | |
(if or-part_127 | |
or-part_127 | |
(hash? s_141))))))) | |
(let-values () | |
(datum-map-slow | |
tail?_36 | |
s_141 | |
(lambda (tail?_38 s_143) | |
(gf_6 tail?_38 s_143)) | |
seen_14 | |
known-pairs_10)) | |
(let-values () | |
(gf_6 #f s_141)))))))))))))) | |
loop_74) | |
#f | |
s_140 | |
0)))))) | |
loop_73) | |
s_137)))))))))) | |
(define-values | |
(syntax-swap-scopes) | |
(lambda (s_144 src-scopes_0 dest-scopes_0) | |
(begin | |
(if (equal? src-scopes_0 dest-scopes_0) | |
s_144 | |
(let-values (((src-smss_0 src-scs_0) | |
(set-partition | |
(let-values (((ht_60) src-scopes_0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_60))) | |
((letrec-values (((for-loop_72) | |
(lambda (table_81 i_77) | |
(begin | |
'for-loop | |
(if i_77 | |
(let-values (((sc_23) | |
(unsafe-immutable-hash-iterate-key ht_60 i_77))) | |
(let-values (((table_82) | |
(let-values (((table_83) table_81)) | |
(let-values (((table_84) | |
(let-values () | |
(let-values (((key_35 val_20) | |
(let-values () | |
(values | |
(let-values () | |
(generalize-scope | |
sc_23)) | |
#t)))) | |
(hash-set | |
table_83 | |
key_35 | |
val_20))))) | |
(values table_84))))) | |
(if (not #f) | |
(for-loop_72 | |
table_82 | |
(unsafe-immutable-hash-iterate-next ht_60 i_77)) | |
table_82))) | |
table_81))))) | |
for-loop_72) | |
'#hasheq() | |
(unsafe-immutable-hash-iterate-first ht_60)))) | |
shifted-multi-scope? | |
(seteq) | |
(seteq))) | |
((dest-smss_0 dest-scs_0) | |
(set-partition | |
(let-values (((ht_61) dest-scopes_0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_61))) | |
((letrec-values (((for-loop_73) | |
(lambda (table_85 i_78) | |
(begin | |
'for-loop | |
(if i_78 | |
(let-values (((sc_24) | |
(unsafe-immutable-hash-iterate-key ht_61 i_78))) | |
(let-values (((table_86) | |
(let-values (((table_87) table_85)) | |
(let-values (((table_88) | |
(let-values () | |
(let-values (((key_36 val_21) | |
(let-values () | |
(values | |
(let-values () | |
(generalize-scope | |
sc_24)) | |
#t)))) | |
(hash-set | |
table_87 | |
key_36 | |
val_21))))) | |
(values table_88))))) | |
(if (not #f) | |
(for-loop_73 | |
table_86 | |
(unsafe-immutable-hash-iterate-next ht_61 i_78)) | |
table_86))) | |
table_85))))) | |
for-loop_73) | |
'#hasheq() | |
(unsafe-immutable-hash-iterate-first ht_61)))) | |
shifted-multi-scope? | |
(seteq) | |
(seteq)))) | |
(let-values (((scs76_0) #f)) | |
(let-values (((prev-result_2) #f)) | |
(let-values (((swap-scs_0) | |
(lambda (scs_14) | |
(begin | |
'swap-scs | |
(if (eq? scs76_0 scs_14) | |
(let-values () prev-result_2) | |
(let-values () | |
(let-values (((r_21) | |
(let-values () | |
(if (subset? src-scs_0 scs_14) | |
(set-union (set-subtract scs_14 src-scs_0) dest-scs_0) | |
scs_14)))) | |
(begin (set! scs76_0 scs_14) (set! prev-result_2 r_21) r_21)))))))) | |
(let-values (((smss77_0) #f)) | |
(let-values (((prev-result_3) #f)) | |
(let-values (((swap-smss_0) | |
(lambda (smss_22) | |
(begin | |
'swap-smss | |
(if (eq? smss77_0 smss_22) | |
(let-values () prev-result_3) | |
(let-values () | |
(let-values (((r_22) | |
(let-values () | |
(fallback-update-first | |
smss_22 | |
(lambda (smss_23) | |
(if (subset? src-smss_0 smss_23) | |
(set-union (set-subtract smss_23 src-smss_0) dest-smss_0) | |
smss_23)))))) | |
(begin (set! smss77_0 smss_22) (set! prev-result_3 r_22) r_22)))))))) | |
(let-values (((s_145) s_144) | |
((f_36) (lambda (tail?_39 d_7) (begin 'f d_7))) | |
((d->s_3) | |
(lambda (s_146 d_8) | |
(begin | |
'd->s | |
(let-values (((the-struct_30) s_146)) | |
(if (syntax?$1 the-struct_30) | |
(let-values (((content*78_0) (re-modify-content s_146 d_8)) | |
((scopes79_0) (swap-scs_0 (syntax-scopes s_146))) | |
((shifted-multi-scopes80_0) | |
(swap-smss_0 (syntax-shifted-multi-scopes s_146)))) | |
(syntax2.1 | |
content*78_0 | |
scopes79_0 | |
shifted-multi-scopes80_0 | |
(syntax-mpi-shifts the-struct_30) | |
(syntax-srcloc the-struct_30) | |
(syntax-props the-struct_30) | |
(syntax-inspector the-struct_30))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_30)))))) | |
((s-e_3) syntax-e/no-taint) | |
((seen_15) #f)) | |
((letrec-values (((loop_75) | |
(lambda (s_147) | |
(begin | |
'loop | |
(let-values (((s_148) s_147) | |
((f_37) f_36) | |
((gf_7) | |
(lambda (tail?_40 v_78) | |
(begin | |
'gf | |
(if (syntax?$1 v_78) | |
(let-values () (d->s_3 v_78 (loop_75 (s-e_3 v_78)))) | |
(let-values () (f_36 tail?_40 v_78)))))) | |
((seen_16) seen_15) | |
((known-pairs_11) #f)) | |
((letrec-values (((loop_76) | |
(lambda (tail?_41 s_149 prev-depth_8) | |
(begin | |
'loop | |
(let-values (((depth_8) (fx+ 1 prev-depth_8))) | |
(if (if seen_16 (fx> depth_8 32) #f) | |
(let-values () | |
(datum-map-slow | |
tail?_41 | |
s_149 | |
(lambda (tail?_42 s_150) | |
(gf_7 tail?_42 s_150)) | |
seen_16 | |
known-pairs_11)) | |
(if (null? s_149) | |
(let-values () (f_37 tail?_41 s_149)) | |
(if (pair? s_149) | |
(let-values () | |
(f_37 | |
tail?_41 | |
(cons | |
(loop_76 #f (car s_149) depth_8) | |
(loop_76 1 (cdr s_149) depth_8)))) | |
(if (symbol? s_149) | |
(let-values () (f_37 #f s_149)) | |
(if (boolean? s_149) | |
(let-values () (f_37 #f s_149)) | |
(if (number? s_149) | |
(let-values () (f_37 #f s_149)) | |
(if (let-values (((or-part_128) | |
(vector? s_149))) | |
(if or-part_128 | |
or-part_128 | |
(let-values (((or-part_129) | |
(box? s_149))) | |
(if or-part_129 | |
or-part_129 | |
(let-values (((or-part_130) | |
(prefab-struct-key | |
s_149))) | |
(if or-part_130 | |
or-part_130 | |
(hash? s_149))))))) | |
(let-values () | |
(datum-map-slow | |
tail?_41 | |
s_149 | |
(lambda (tail?_43 s_151) | |
(gf_7 tail?_43 s_151)) | |
seen_16 | |
known-pairs_11)) | |
(let-values () | |
(gf_7 #f s_149)))))))))))))) | |
loop_76) | |
#f | |
s_148 | |
0)))))) | |
loop_75) | |
s_145))))))))))))) | |
(define-values | |
(syntax-scope-set) | |
(lambda (s_152 phase_14) | |
(begin (scope-set-at-fallback s_152 (fallback-first (syntax-shifted-multi-scopes s_152)) phase_14)))) | |
(define-values | |
(scope-set-at-fallback) | |
(lambda (s_153 smss_24 phase_15) | |
(begin | |
(let-values (((ht_62) smss_24)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_62))) | |
((letrec-values (((for-loop_74) | |
(lambda (scopes_10 i_79) | |
(begin | |
'for-loop | |
(if i_79 | |
(let-values (((sms_10) (unsafe-immutable-hash-iterate-key ht_62 i_79))) | |
(let-values (((scopes_11) | |
(let-values (((scopes_12) scopes_10)) | |
(if (let-values (((or-part_131) (label-phase? phase_15))) | |
(if or-part_131 | |
or-part_131 | |
(not | |
(shifted-to-label-phase? | |
(shifted-multi-scope-phase sms_10))))) | |
(let-values (((scopes_13) scopes_12)) | |
(let-values (((scopes_14) | |
(let-values () | |
(set-add | |
scopes_13 | |
(multi-scope-to-scope-at-phase | |
(shifted-multi-scope-multi-scope sms_10) | |
(let-values (((ph_0) | |
(shifted-multi-scope-phase | |
sms_10))) | |
(if (shifted-to-label-phase? ph_0) | |
(shifted-to-label-phase-from ph_0) | |
(phase- ph_0 phase_15)))))))) | |
(values scopes_14))) | |
scopes_12)))) | |
(if (not #f) | |
(for-loop_74 scopes_11 (unsafe-immutable-hash-iterate-next ht_62 i_79)) | |
scopes_11))) | |
scopes_10))))) | |
for-loop_74) | |
(syntax-scopes s_153) | |
(unsafe-immutable-hash-iterate-first ht_62))))))) | |
(define-values | |
(find-max-scope) | |
(lambda (scopes_15) | |
(begin | |
(begin | |
(if (set-empty? scopes_15) (let-values () (error "cannot bind in empty scope set")) (void)) | |
(let-values (((ht_63) scopes_15)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_63))) | |
((letrec-values (((for-loop_75) | |
(lambda (max-sc_0 i_80) | |
(begin | |
'for-loop | |
(if i_80 | |
(let-values (((sc_25) (unsafe-immutable-hash-iterate-key ht_63 i_80))) | |
(let-values (((max-sc_1) | |
(let-values (((max-sc_2) max-sc_0)) | |
(let-values (((max-sc_3) | |
(let-values () | |
(if (scope>? sc_25 max-sc_2) sc_25 max-sc_2)))) | |
(values max-sc_3))))) | |
(if (not #f) | |
(for-loop_75 max-sc_1 (unsafe-immutable-hash-iterate-next ht_63 i_80)) | |
max-sc_1))) | |
max-sc_0))))) | |
for-loop_75) | |
(set-first scopes_15) | |
(unsafe-immutable-hash-iterate-first ht_63)))))))) | |
(define-values | |
(add-binding-in-scopes!.1) | |
(lambda (just-for-nominal?13_0 scopes15_0 sym16_0 binding17_0) | |
(begin | |
'add-binding-in-scopes! | |
(let-values (((scopes_16) scopes15_0)) | |
(let-values (((sym_16) sym16_0)) | |
(let-values (((binding_3) binding17_0)) | |
(let-values (((just-for-nominal?_1) just-for-nominal?13_0)) | |
(let-values () | |
(let-values (((max-sc_4) (find-max-scope scopes_16))) | |
(let-values (((bt_6) | |
(binding-table-add | |
(scope-binding-table max-sc_4) | |
scopes_16 | |
sym_16 | |
binding_3 | |
just-for-nominal?_1))) | |
(begin (set-scope-binding-table! max-sc_4 bt_6) (clear-resolve-cache! sym_16)))))))))))) | |
(define-values | |
(add-bulk-binding-in-scopes!.1) | |
(lambda (shadow-except19_0 scopes21_1 bulk-binding22_0) | |
(begin | |
'add-bulk-binding-in-scopes! | |
(let-values (((scopes_17) scopes21_1)) | |
(let-values (((bulk-binding_0) bulk-binding22_0)) | |
(let-values (((shadow-except_1) shadow-except19_0)) | |
(let-values () | |
(let-values (((max-sc_5) (find-max-scope scopes_17))) | |
(let-values (((bt_7) | |
(let-values (((temp81_0) (scope-binding-table max-sc_5)) | |
((scopes82_0) scopes_17) | |
((bulk-binding83_0) bulk-binding_0) | |
((shadow-except84_0) shadow-except_1)) | |
(binding-table-add-bulk.1 shadow-except84_0 temp81_0 scopes82_0 bulk-binding83_0)))) | |
(begin (set-scope-binding-table! max-sc_5 bt_7) (clear-resolve-cache!))))))))))) | |
(define-values | |
(syntax-any-macro-scopes?) | |
(lambda (s_154) | |
(begin | |
(let-values (((ht_64) (syntax-scopes s_154))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash-keys ht_64))) | |
((letrec-values (((for-loop_76) | |
(lambda (result_45 i_81) | |
(begin | |
'for-loop | |
(if i_81 | |
(let-values (((sc_26) (unsafe-immutable-hash-iterate-key ht_64 i_81))) | |
(let-values (((result_46) | |
(let-values () | |
(let-values (((result_47) | |
(let-values () | |
(let-values () (eq? (scope-kind sc_26) 'macro))))) | |
(values result_47))))) | |
(if (if (not ((lambda x_31 result_46) sc_26)) (not #f) #f) | |
(for-loop_76 result_46 (unsafe-immutable-hash-iterate-next ht_64 i_81)) | |
result_46))) | |
result_45))))) | |
for-loop_76) | |
#f | |
(unsafe-immutable-hash-iterate-first ht_64))))))) | |
(define-values | |
(resolve.1) | |
(lambda (ambiguous-value24_0 exactly?25_0 extra-shifts27_0 get-scopes?26_0 s32_0 phase33_0) | |
(begin | |
'resolve | |
(let-values (((s_155) s32_0)) | |
(let-values (((phase_16) phase33_0)) | |
(let-values (((ambiguous-value_0) ambiguous-value24_0)) | |
(let-values (((exactly?_0) exactly?25_0)) | |
(let-values (((get-scopes?_0) get-scopes?26_0)) | |
(let-values (((extra-shifts_2) extra-shifts27_0)) | |
(let-values () | |
(let-values (((sym_17) (syntax-content s_155))) | |
((letrec-values (((fallback-loop_0) | |
(lambda (smss_25) | |
(begin | |
'fallback-loop | |
(let-values (((c1_21) | |
(if (not exactly?_0) | |
(if (not get-scopes?_0) | |
(resolve-cache-get | |
sym_17 | |
phase_16 | |
(syntax-scopes s_155) | |
(fallback-first smss_25)) | |
#f) | |
#f))) | |
(if c1_21 | |
((lambda (b_39) | |
(if (eq? b_39 '#:none) | |
(let-values () | |
(if (fallback? smss_25) | |
(fallback-loop_0 (fallback-rest smss_25)) | |
#f)) | |
(let-values () b_39))) | |
c1_21) | |
(let-values () | |
(let-values (((scopes_18) | |
(scope-set-at-fallback | |
s_155 | |
(fallback-first smss_25) | |
phase_16))) | |
(let-values (((best-scopes_0 best-binding_0) | |
(let-values (((ht_65) scopes_18)) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () | |
(check-in-immutable-hash-keys ht_65))) | |
((letrec-values (((for-loop_77) | |
(lambda (best-scopes_1 | |
best-binding_1 | |
i_82) | |
(begin | |
'for-loop | |
(if i_82 | |
(let-values (((sc_27) | |
(unsafe-immutable-hash-iterate-key | |
ht_65 | |
i_82))) | |
(let-values (((best-scopes_2 | |
best-binding_2) | |
(let-values (((ht_66 | |
bulk-bindings_2) | |
(let-values (((table_89) | |
(scope-binding-table | |
sc_27))) | |
(if (hash? | |
table_89) | |
(values | |
(hash-ref | |
table_89 | |
sym_17 | |
'#hash()) | |
null) | |
(values | |
(hash-ref | |
(table-with-bulk-bindings-syms | |
table_89) | |
sym_17 | |
'#hash()) | |
(table-with-bulk-bindings-bulk-bindings | |
table_89))))) | |
((s_156) | |
s_155) | |
((extra-shifts_3) | |
extra-shifts_2)) | |
(begin | |
#t | |
((letrec-values (((for-loop_78) | |
(lambda (best-scopes_3 | |
best-binding_3 | |
i_83) | |
(begin | |
'for-loop | |
(if (not | |
(null? | |
i_83)) | |
(let-values (((b-scopes_0) | |
(if (pair? | |
i_83) | |
(let-values () | |
(bulk-binding-at-scopes | |
(car | |
i_83))) | |
(let-values () | |
(hash-iterate-key | |
ht_66 | |
i_83)))) | |
((binding_4) | |
(if (pair? | |
i_83) | |
(let-values () | |
(let-values (((bulk_3) | |
(bulk-binding-at-bulk | |
(car | |
i_83)))) | |
(let-values (((b-info_0) | |
(if (symbol-interned? | |
sym_17) | |
(hash-ref | |
(bulk-binding-symbols | |
bulk_3 | |
s_156 | |
extra-shifts_3) | |
sym_17 | |
#f) | |
#f))) | |
(if b-info_0 | |
((bulk-binding-create | |
bulk_3) | |
bulk_3 | |
b-info_0 | |
sym_17) | |
#f)))) | |
(let-values () | |
(hash-iterate-value | |
ht_66 | |
i_83))))) | |
(let-values (((best-scopes_4 | |
best-binding_4) | |
(let-values (((best-scopes_5) | |
best-scopes_3) | |
((best-binding_5) | |
best-binding_3)) | |
(if (if b-scopes_0 | |
(if binding_4 | |
(subset? | |
b-scopes_0 | |
scopes_18) | |
#f) | |
#f) | |
(let-values (((best-scopes_6) | |
best-scopes_5) | |
((best-binding_6) | |
best-binding_5)) | |
(let-values (((best-scopes_7 | |
best-binding_7) | |
(let-values () | |
(if (pair? | |
best-scopes_6) | |
(let-values () | |
(if (let-values (((lst_50) | |
best-scopes_6)) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () | |
(check-list | |
lst_50))) | |
((letrec-values (((for-loop_79) | |
(lambda (result_48 | |
lst_51) | |
(begin | |
'for-loop | |
(if (pair? | |
lst_51) | |
(let-values (((amb-scopes_0) | |
(unsafe-car | |
lst_51)) | |
((rest_23) | |
(unsafe-cdr | |
lst_51))) | |
(let-values (((result_49) | |
(let-values () | |
(let-values (((result_50) | |
(let-values () | |
(let-values () | |
(subset? | |
amb-scopes_0 | |
b-scopes_0))))) | |
(values | |
result_50))))) | |
(if (if (not | |
((lambda x_32 | |
(not | |
result_49)) | |
amb-scopes_0)) | |
(not | |
#f) | |
#f) | |
(for-loop_79 | |
result_49 | |
rest_23) | |
result_49))) | |
result_48))))) | |
for-loop_79) | |
#t | |
lst_50))) | |
(let-values () | |
(values | |
b-scopes_0 | |
binding_4)) | |
(let-values () | |
(values | |
(cons | |
b-scopes_0 | |
best-scopes_6) | |
#f)))) | |
(if (not | |
best-scopes_6) | |
(let-values () | |
(values | |
b-scopes_0 | |
binding_4)) | |
(if (subset? | |
b-scopes_0 | |
best-scopes_6) | |
(let-values () | |
(values | |
best-scopes_6 | |
best-binding_6)) | |
(if (subset? | |
best-scopes_6 | |
b-scopes_0) | |
(let-values () | |
(values | |
b-scopes_0 | |
binding_4)) | |
(let-values () | |
(values | |
(list | |
best-scopes_6 | |
b-scopes_0) | |
#f))))))))) | |
(values | |
best-scopes_7 | |
best-binding_7))) | |
(values | |
best-scopes_5 | |
best-binding_5))))) | |
(if (not | |
#f) | |
(for-loop_78 | |
best-scopes_4 | |
best-binding_4 | |
(if (pair? | |
i_83) | |
(let-values () | |
(cdr | |
i_83)) | |
(let-values () | |
(let-values (((or-part_132) | |
(hash-iterate-next | |
ht_66 | |
i_83))) | |
(if or-part_132 | |
or-part_132 | |
bulk-bindings_2))))) | |
(values | |
best-scopes_4 | |
best-binding_4)))) | |
(values | |
best-scopes_3 | |
best-binding_3)))))) | |
for-loop_78) | |
best-scopes_1 | |
best-binding_1 | |
(let-values (((or-part_133) | |
(hash-iterate-first | |
ht_66))) | |
(if or-part_133 | |
or-part_133 | |
bulk-bindings_2))))))) | |
(if (not #f) | |
(for-loop_77 | |
best-scopes_2 | |
best-binding_2 | |
(unsafe-immutable-hash-iterate-next | |
ht_65 | |
i_82)) | |
(values | |
best-scopes_2 | |
best-binding_2)))) | |
(values | |
best-scopes_1 | |
best-binding_1)))))) | |
for-loop_77) | |
#f | |
#f | |
(unsafe-immutable-hash-iterate-first ht_65)))))) | |
(if (pair? best-scopes_0) | |
(let-values () | |
(if (fallback? smss_25) | |
(fallback-loop_0 (fallback-rest smss_25)) | |
ambiguous-value_0)) | |
(if best-scopes_0 | |
(let-values () | |
(begin | |
(resolve-cache-set! | |
sym_17 | |
phase_16 | |
(syntax-scopes s_155) | |
(fallback-first smss_25) | |
best-binding_0) | |
(if (let-values (((or-part_134) (not exactly?_0))) | |
(if or-part_134 | |
or-part_134 | |
(eqv? | |
(set-count scopes_18) | |
(set-count best-scopes_0)))) | |
(if get-scopes?_0 best-scopes_0 best-binding_0) | |
#f))) | |
(let-values () | |
(begin | |
(resolve-cache-set! | |
sym_17 | |
phase_16 | |
(syntax-scopes s_155) | |
(fallback-first smss_25) | |
'#:none) | |
(if (fallback? smss_25) | |
(fallback-loop_0 (fallback-rest smss_25)) | |
#f)))))))))))))) | |
fallback-loop_0) | |
(syntax-shifted-multi-scopes s_155))))))))))))) | |
(define-values | |
(bound-identifier=?$1) | |
(lambda (a_22 b_40 phase_17) | |
(begin | |
'bound-identifier=? | |
(if (eq? (syntax-e$1 a_22) (syntax-e$1 b_40)) | |
(equal? (syntax-scope-set a_22 phase_17) (syntax-scope-set b_40 phase_17)) | |
#f)))) | |
(define-values | |
(local-binding?) | |
(lambda (b_41) | |
(begin (let-values (((or-part_0) (full-local-binding? b_41))) (if or-part_0 or-part_0 (symbol? b_41)))))) | |
(define-values | |
(struct:full-local-binding full-local-binding1.1 full-local-binding? full-local-binding-key) | |
(let-values (((struct:_24 make-_24 ?_24 -ref_24 -set!_24) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'full-local-binding | |
struct:full-binding | |
1 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:serialize | |
(lambda (b_21 ser-push!_13 state_2) | |
(begin | |
(ser-push!_13 'tag '#:local-binding) | |
(ser-push!_13 (full-local-binding-key b_21)) | |
(ser-push!_13 (full-binding-free=id b_21)))))) | |
(current-inspector) | |
#f | |
'(0) | |
#f | |
'full-local-binding))))) | |
(values struct:_24 make-_24 ?_24 (make-struct-field-accessor -ref_24 0 'key)))) | |
(define-values | |
(deserialize-full-local-binding) | |
(lambda (key_27 free=id_3) (begin (full-local-binding1.1 #f free=id_3 key_27)))) | |
(define-values | |
(make-local-binding.1) | |
(lambda (frame-id2_0 free=id3_0 key6_0) | |
(begin | |
'make-local-binding | |
(let-values (((key_37) key6_0)) | |
(let-values (((frame-id_2) frame-id2_0)) | |
(let-values (((free=id_4) free=id3_0)) | |
(let-values () | |
(if (if (not frame-id_2) (not free=id_4) #f) | |
(let-values () key_37) | |
(let-values () (full-local-binding1.1 frame-id_2 free=id_4 key_37)))))))))) | |
(define-values | |
(local-binding-update.1) | |
(lambda (frame-id9_0 free=id10_0 key8_0 b14_0) | |
(begin | |
'local-binding-update | |
(let-values (((b_42) b14_0)) | |
(let-values (((key_38) (if (eq? key8_0 unsafe-undefined) (local-binding-key b_42) key8_0))) | |
(let-values (((frame-id_3) (if (eq? frame-id9_0 unsafe-undefined) (binding-frame-id b_42) frame-id9_0))) | |
(let-values (((free=id_5) (if (eq? free=id10_0 unsafe-undefined) (binding-free=id b_42) free=id10_0))) | |
(let-values () | |
(let-values (((key17_0) key_38) ((frame-id18_0) frame-id_3) ((free=id19_0) free=id_5)) | |
(make-local-binding.1 frame-id18_0 free=id19_0 key17_0)))))))))) | |
(define-values | |
(local-binding-key) | |
(lambda (b_43) (begin (if (full-local-binding? b_43) (full-local-binding-key b_43) b_43)))) | |
(define-values | |
(1/prop:rename-transformer 1/rename-transformer? rename-transformer-value) | |
(make-struct-type-property | |
'rename-transformer | |
(lambda (v_31 info_0) | |
(let-values ((() | |
(begin | |
(if (let-values (((or-part_11) (exact-nonnegative-integer? v_31))) | |
(if or-part_11 | |
or-part_11 | |
(let-values (((or-part_2) (identifier? v_31))) | |
(if or-part_2 or-part_2 (if (procedure? v_31) (procedure-arity-includes? v_31 1) #f))))) | |
(void) | |
(let-values () | |
(raise-argument-error | |
'guard-for-prop:rename-transformer | |
(string-append | |
"(or/c exact-nonnegative-integer?\n" | |
" identifier?\n" | |
" (procedure-arity-includes? proc 1))") | |
v_31))) | |
(values)))) | |
(let-values ((() | |
(begin | |
(if (exact-nonnegative-integer? v_31) | |
(let-values () | |
(begin | |
(if (<= v_31 (list-ref info_0 1)) | |
(void) | |
(let-values () | |
(raise-arguments-error | |
'guard-for-prop:rename-transformer | |
"field index >= initialized-field count for structure type" | |
"field index" | |
v_31 | |
"initialized-field count" | |
(list-ref info_0 1)))) | |
(if (member v_31 (list-ref info_0 5)) | |
(void) | |
(let-values () | |
(raise-arguments-error | |
'guard-for-prop:rename-transformer | |
"field index not declared immutable" | |
"field index" | |
v_31))))) | |
(void)) | |
(values)))) | |
(let-values (((ref_0) (list-ref info_0 3))) | |
(if (identifier? v_31) | |
(let-values () (lambda (t_27) v_31)) | |
(if (integer? v_31) | |
(let-values () | |
(lambda (t_28) | |
(let-values (((val_22) (ref_0 t_28 v_31))) | |
(if (identifier? val_22) val_22 (datum->syntax$1 #f '?))))) | |
(let-values () | |
(lambda (t_4) | |
(let-values (((id_0) (call-with-continuation-barrier (lambda () (v_31 t_4))))) | |
(begin | |
(if (identifier? id_0) | |
(void) | |
(let-values () | |
(raise-arguments-error | |
'prop:rename-transformer | |
"contract violation for given value; expected an identifier" | |
"given" | |
id_0))) | |
id_0)))))))))))) | |
(define-values | |
(struct:id-rename-transformer id-rename-transformer1.1 id-rename-transformer? id-rename-transformer-id) | |
(let-values (((struct:_25 make-_25 ?_25 -ref_25 -set!_25) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'rename-transformer | |
#f | |
1 | |
0 | |
#f | |
(list (cons 1/prop:rename-transformer 0)) | |
(current-inspector) | |
#f | |
'(0) | |
#f | |
'id-rename-transformer))))) | |
(values struct:_25 make-_25 ?_25 (make-struct-field-accessor -ref_25 0 'id)))) | |
(define-values | |
(1/make-rename-transformer) | |
(lambda (id_1) | |
(begin | |
'make-rename-transformer | |
(begin | |
(if (identifier? id_1) | |
(void) | |
(let-values () (raise-argument-error 'make-rename-transformer "identifier?" id_1))) | |
(id-rename-transformer1.1 id_1))))) | |
(define-values | |
(1/rename-transformer-target) | |
(lambda (t_29) (begin 'rename-transformer-target ((rename-transformer-value t_29) t_29)))) | |
(define-values | |
(free-identifier=?$1) | |
(lambda (a_23 b_44 a-phase_0 b-phase_0) | |
(begin | |
'free-identifier=? | |
(let-values (((ab_0) | |
(toplevel-as-symbol | |
(let-values (((a39_0) a_23) ((a-phase40_0) a-phase_0) ((temp41_0) #t)) | |
(resolve+shift.1 #f #f null unsafe-undefined temp41_0 a39_0 a-phase40_0))))) | |
(let-values (((bb_0) | |
(toplevel-as-symbol | |
(let-values (((b42_0) b_44) ((b-phase43_0) b-phase_0) ((temp44_0) #t)) | |
(resolve+shift.1 #f #f null unsafe-undefined temp44_0 b42_0 b-phase43_0))))) | |
(if (let-values (((or-part_14) (symbol? ab_0))) (if or-part_14 or-part_14 (symbol? bb_0))) | |
(let-values () (eq? ab_0 bb_0)) | |
(let-values () (same-binding? ab_0 bb_0)))))))) | |
(define-values | |
(toplevel-as-symbol) | |
(lambda (b_45) | |
(begin | |
(if (if (module-binding? b_45) (top-level-module-path-index? (module-binding-module b_45)) #f) | |
(module-binding-sym b_45) | |
b_45)))) | |
(define-values | |
(same-binding?) | |
(lambda (ab_1 bb_1) | |
(begin | |
(if (module-binding? ab_1) | |
(let-values () | |
(if (module-binding? bb_1) | |
(if (eq? (module-binding-sym ab_1) (module-binding-sym bb_1)) | |
(if (eqv? (module-binding-phase ab_1) (module-binding-phase bb_1)) | |
(eq? | |
(1/module-path-index-resolve (module-binding-module ab_1)) | |
(1/module-path-index-resolve (module-binding-module bb_1))) | |
#f) | |
#f) | |
#f)) | |
(if (local-binding? ab_1) | |
(let-values () (if (local-binding? bb_1) (eq? (local-binding-key ab_1) (local-binding-key bb_1)) #f)) | |
(let-values () (error "bad binding" ab_1))))))) | |
(define-values | |
(same-binding-nominals?) | |
(lambda (ab_2 bb_2) | |
(begin | |
(if (eq? | |
(1/module-path-index-resolve (module-binding-nominal-module ab_2)) | |
(1/module-path-index-resolve (module-binding-nominal-module bb_2))) | |
(if (eqv? (module-binding-nominal-require-phase ab_2) (module-binding-nominal-require-phase bb_2)) | |
(eqv? (module-binding-nominal-sym ab_2) (module-binding-nominal-sym bb_2)) | |
#f) | |
#f)))) | |
(define-values | |
(identifier-binding-symbol$1) | |
(lambda (id_2 phase_18) | |
(begin | |
'identifier-binding-symbol | |
(let-values (((b_46) | |
(let-values (((id45_0) id_2) ((phase46_0) phase_18) ((temp47_0) #t)) | |
(resolve+shift.1 #f #f null unsafe-undefined temp47_0 id45_0 phase46_0)))) | |
(if (symbol? b_46) | |
(let-values () b_46) | |
(if (module-binding? b_46) | |
(let-values () (module-binding-sym b_46)) | |
(if (local-binding? b_46) (let-values () (local-binding-key b_46)) (let-values () (syntax-e$1 id_2))))))))) | |
(define-values | |
(identifier-binding$1) | |
(let-values (((identifier-binding_0) | |
(lambda (id2_0 phase3_0 top-level-symbol?1_0) | |
(begin | |
'identifier-binding | |
(let-values (((id_3) id2_0)) | |
(let-values (((phase_19) phase3_0)) | |
(let-values (((top-level-symbol?_0) top-level-symbol?1_0)) | |
(let-values () | |
(let-values (((b_47) | |
(let-values (((id48_0) id_3) ((phase49_0) phase_19)) | |
(resolve+shift.1 #f #f null unsafe-undefined #f id48_0 phase49_0)))) | |
(if (module-binding? b_47) | |
(let-values () | |
(if (top-level-module-path-index? (module-binding-module b_47)) | |
(if top-level-symbol?_0 (list (module-binding-nominal-sym b_47)) #f) | |
(list | |
(module-binding-module b_47) | |
(module-binding-sym b_47) | |
(module-binding-nominal-module b_47) | |
(module-binding-nominal-sym b_47) | |
(module-binding-phase b_47) | |
(module-binding-nominal-require-phase b_47) | |
(module-binding-nominal-phase b_47)))) | |
(if (local-binding? b_47) (let-values () 'lexical) (let-values () #f)))))))))))) | |
(case-lambda | |
((id_4 phase_20) (begin 'identifier-binding (identifier-binding_0 id_4 phase_20 #f))) | |
((id_5 phase_21 top-level-symbol?1_1) (identifier-binding_0 id_5 phase_21 top-level-symbol?1_1))))) | |
(define-values | |
(maybe-install-free=id!) | |
(lambda (val_23 id_6 phase_22) | |
(begin | |
(if (1/rename-transformer? val_23) | |
(let-values () | |
(let-values (((free=id_5) (1/rename-transformer-target val_23))) | |
(if (syntax-property$1 free=id_5 'not-free-identifier=?) | |
(void) | |
(let-values () | |
(let-values (((b_48) | |
(let-values (((id53_0) id_6) ((phase54_0) phase_22) ((temp55_0) #t) ((temp56_0) #t)) | |
(resolve+shift.1 #f temp55_0 null temp56_0 #f id53_0 phase54_0)))) | |
(let-values (((temp50_0) (syntax-scope-set id_6 phase_22)) | |
((temp51_0) (syntax-e$1 id_6)) | |
((temp52_0) (binding-set-free=id b_48 free=id_5))) | |
(add-binding-in-scopes!.1 #f temp50_0 temp51_0 temp52_0))))))) | |
(void))))) | |
(define-values | |
(binding-set-free=id) | |
(lambda (b_49 free=id_6) | |
(begin | |
(if (module-binding? b_49) | |
(let-values () | |
(let-values (((b57_0) b_49) ((free=id58_0) free=id_6)) | |
(module-binding-update.1 | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
free=id58_0 | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
b57_0))) | |
(if (local-binding? b_49) | |
(let-values () | |
(let-values (((b59_1) b_49) ((free=id60_0) free=id_6)) | |
(local-binding-update.1 unsafe-undefined free=id60_0 unsafe-undefined b59_1))) | |
(let-values () (error "bad binding for free=id:" b_49))))))) | |
(define-values | |
(struct:non-source-shift non-source-shift4.1 non-source-shift? non-source-shift-from non-source-shift-to) | |
(let-values (((struct:_14 make-_14 ?_14 -ref_14 -set!_14) | |
(let-values () | |
(let-values () | |
(make-struct-type 'non-source-shift #f 2 0 #f null 'prefab #f '(0 1) #f 'non-source-shift))))) | |
(values | |
struct:_14 | |
make-_14 | |
?_14 | |
(make-struct-field-accessor -ref_14 0 'from) | |
(make-struct-field-accessor -ref_14 1 'to)))) | |
(define-values (shift-from) (lambda (s_157) (begin (if (pair? s_157) (car s_157) (non-source-shift-from s_157))))) | |
(define-values (shift-to) (lambda (s_76) (begin (if (pair? s_76) (cdr s_76) (non-source-shift-to s_76))))) | |
(define-values | |
(syntax-module-path-index-shift.1) | |
(lambda (non-source?5_0 s8_0 from-mpi9_0 to-mpi10_0 inspector7_0) | |
(begin | |
'syntax-module-path-index-shift | |
(let-values (((s_35) s8_0)) | |
(let-values (((from-mpi_1) from-mpi9_0)) | |
(let-values (((to-mpi_1) to-mpi10_0)) | |
(let-values (((inspector_3) inspector7_0)) | |
(let-values (((non-source?_0) non-source?5_0)) | |
(let-values () | |
(if (eq? from-mpi_1 to-mpi_1) | |
(let-values () (if inspector_3 (syntax-set-inspector s_35 inspector_3) s_35)) | |
(let-values () | |
(let-values (((shift_0) | |
(if non-source?_0 | |
(non-source-shift4.1 from-mpi_1 to-mpi_1) | |
(cons from-mpi_1 to-mpi_1)))) | |
(let-values (((content*_20) (syntax-content* s_35))) | |
(let-values (((content_22) | |
(if (modified-content? content*_20) | |
(modified-content-content content*_20) | |
content*_20))) | |
(let-values (((the-struct_31) s_35)) | |
(if (syntax?$1 the-struct_31) | |
(let-values (((mpi-shifts62_0) (shift-cons shift_0 (syntax-mpi-shifts s_35))) | |
((inspector63_0) | |
(let-values (((or-part_135) (syntax-inspector s_35))) | |
(if or-part_135 or-part_135 inspector_3))) | |
((content*64_0) | |
(if (datum-has-elements? content_22) | |
(modified-content1.1 | |
content_22 | |
(propagation-mpi-shift | |
(if (modified-content? content*_20) | |
(modified-content-scope-propagations+tamper content*_20) | |
#f) | |
(lambda (s_21) (shift-cons shift_0 s_21)) | |
inspector_3 | |
(syntax-scopes s_35) | |
(syntax-shifted-multi-scopes s_35) | |
(syntax-mpi-shifts s_35))) | |
content*_20))) | |
(syntax2.1 | |
content*64_0 | |
(syntax-scopes the-struct_31) | |
(syntax-shifted-multi-scopes the-struct_31) | |
mpi-shifts62_0 | |
(syntax-srcloc the-struct_31) | |
(syntax-props the-struct_31) | |
inspector63_0)) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_31))))))))))))))))) | |
(define-values | |
(shift-cons) | |
(lambda (shift_1 shifts_0) | |
(begin | |
(if (if (pair? shifts_0) (eq? (shift-from shift_1) (shift-from (car shifts_0))) #f) | |
(let-values () shifts_0) | |
(let-values () (cons shift_1 shifts_0)))))) | |
(define-values | |
(resolve+shift.1) | |
(lambda (ambiguous-value12_0 exactly?13_0 extra-shifts16_0 immediate?14_0 unbound-sym?15_0 s22_0 phase23_0) | |
(begin | |
'resolve+shift | |
(let-values (((s_29) s22_0)) | |
(let-values (((phase_23) phase23_0)) | |
(let-values (((ambiguous-value_1) ambiguous-value12_0)) | |
(let-values (((exactly?_1) exactly?13_0)) | |
(let-values (((immediate?_0) (if (eq? immediate?14_0 unsafe-undefined) exactly?_1 immediate?14_0))) | |
(let-values (((unbound-sym?_0) unbound-sym?15_0)) | |
(let-values (((extra-shifts_4) extra-shifts16_0)) | |
(let-values () | |
(let-values (((can-cache?_0) | |
(if (not exactly?_1) (if (not immediate?_0) (null? extra-shifts_4) #f) #f))) | |
(let-values (((c1_22) (if can-cache?_0 (resolve+shift-cache-get s_29 phase_23) #f))) | |
(if c1_22 | |
((lambda (b_50) (if (eq? b_50 '#:none) (if unbound-sym?_0 (syntax-content s_29) #f) b_50)) | |
c1_22) | |
(let-values () | |
(let-values (((immediate-b_0) | |
(let-values (((s65_0) s_29) | |
((phase66_0) phase_23) | |
((ambiguous-value67_0) ambiguous-value_1) | |
((exactly?68_0) exactly?_1) | |
((extra-shifts69_0) extra-shifts_4)) | |
(resolve.1 | |
ambiguous-value67_0 | |
exactly?68_0 | |
extra-shifts69_0 | |
#f | |
s65_0 | |
phase66_0)))) | |
(let-values (((b_51) | |
(if (if immediate-b_0 | |
(if (not immediate?_0) (binding-free=id immediate-b_0) #f) | |
#f) | |
(let-values (((temp70_0) (binding-free=id immediate-b_0)) | |
((phase71_0) phase_23) | |
((temp72_0) | |
(append extra-shifts_4 (syntax-mpi-shifts s_29))) | |
((ambiguous-value73_0) ambiguous-value_1) | |
((exactly?74_0) exactly?_1) | |
((unbound-sym?75_0) unbound-sym?_0)) | |
(resolve+shift.1 | |
ambiguous-value73_0 | |
exactly?74_0 | |
temp72_0 | |
unsafe-undefined | |
unbound-sym?75_0 | |
temp70_0 | |
phase71_0)) | |
immediate-b_0))) | |
(if (module-binding? b_51) | |
(let-values () | |
(let-values (((mpi-shifts_2) (syntax-mpi-shifts s_29))) | |
(if (null? mpi-shifts_2) | |
(let-values () b_51) | |
(let-values () | |
(let-values (((mod_0) (module-binding-module b_51))) | |
(let-values (((shifted-mod_0) (apply-syntax-shifts mod_0 mpi-shifts_2))) | |
(let-values (((nominal-mod_0) (module-binding-nominal-module b_51))) | |
(let-values (((shifted-nominal-mod_0) | |
(if (eq? mod_0 nominal-mod_0) | |
shifted-mod_0 | |
(apply-syntax-shifts nominal-mod_0 mpi-shifts_2)))) | |
(let-values (((result-b_0) | |
(if (if (eq? mod_0 shifted-mod_0) | |
(if (eq? nominal-mod_0 shifted-nominal-mod_0) | |
(if (not (binding-free=id b_51)) | |
(null? | |
(module-binding-extra-nominal-bindings | |
b_51)) | |
#f) | |
#f) | |
#f) | |
b_51 | |
(let-values (((b76_0) b_51) | |
((shifted-mod77_0) shifted-mod_0) | |
((shifted-nominal-mod78_0) | |
shifted-nominal-mod_0) | |
((temp79_0) | |
(if (binding-free=id b_51) | |
(let-values (((temp81_1) | |
(binding-free=id | |
b_51)) | |
((s82_0) s_29)) | |
(syntax-transfer-shifts.1 | |
#f | |
temp81_1 | |
s82_0 | |
#f)) | |
#f)) | |
((temp80_0) | |
(reverse$1 | |
(let-values (((lst_52) | |
(module-binding-extra-nominal-bindings | |
b_51))) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () | |
(check-list lst_52))) | |
((letrec-values (((for-loop_80) | |
(lambda (fold-var_35 | |
lst_31) | |
(begin | |
'for-loop | |
(if (pair? | |
lst_31) | |
(let-values (((b_52) | |
(unsafe-car | |
lst_31)) | |
((rest_24) | |
(unsafe-cdr | |
lst_31))) | |
(let-values (((fold-var_36) | |
(let-values (((fold-var_37) | |
fold-var_35)) | |
(let-values (((fold-var_38) | |
(let-values () | |
(cons | |
(let-values () | |
(apply-syntax-shifts-to-binding | |
b_52 | |
mpi-shifts_2)) | |
fold-var_37)))) | |
(values | |
fold-var_38))))) | |
(if (not | |
#f) | |
(for-loop_80 | |
fold-var_36 | |
rest_24) | |
fold-var_36))) | |
fold-var_35))))) | |
for-loop_80) | |
null | |
lst_52)))))) | |
(module-binding-update.1 | |
unsafe-undefined | |
temp80_0 | |
unsafe-undefined | |
temp79_0 | |
shifted-mod77_0 | |
shifted-nominal-mod78_0 | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
b76_0))))) | |
(begin | |
(if can-cache?_0 | |
(let-values () | |
(resolve+shift-cache-set! s_29 phase_23 result-b_0)) | |
(void)) | |
result-b_0)))))))))) | |
(let-values () | |
(begin | |
(if can-cache?_0 | |
(let-values () | |
(resolve+shift-cache-set! | |
s_29 | |
phase_23 | |
(let-values (((or-part_136) b_51)) (if or-part_136 or-part_136 '#:none)))) | |
(void)) | |
(let-values (((or-part_51) b_51)) | |
(if or-part_51 | |
or-part_51 | |
(if unbound-sym?_0 (syntax-content s_29) #f))))))))))))))))))))))) | |
(define-values | |
(apply-syntax-shifts) | |
(lambda (mpi_13 shifts_1) | |
(begin | |
(if (null? shifts_1) | |
(let-values () mpi_13) | |
(let-values () | |
(let-values (((shifted-mpi_1) (apply-syntax-shifts mpi_13 (cdr shifts_1)))) | |
(let-values (((shift_2) (car shifts_1))) | |
(module-path-index-shift shifted-mpi_1 (shift-from shift_2) (shift-to shift_2))))))))) | |
(define-values | |
(apply-syntax-shifts-to-binding) | |
(lambda (b_53 shifts_2) | |
(begin | |
(if (null? shifts_2) | |
(let-values () b_53) | |
(let-values () | |
(let-values (((shifted-b_0) (apply-syntax-shifts-to-binding b_53 (cdr shifts_2)))) | |
(let-values (((shift_3) (car shifts_2))) | |
(binding-module-path-index-shift shifted-b_0 (shift-from shift_3) (shift-to shift_3))))))))) | |
(define-values | |
(binding-module-path-index-shift) | |
(lambda (b_54 from-mpi_2 to-mpi_2) | |
(begin | |
(if (module-binding? b_54) | |
(let-values () | |
(let-values (((b83_0) b_54) | |
((temp84_0) (module-path-index-shift (module-binding-module b_54) from-mpi_2 to-mpi_2)) | |
((temp85_0) (module-path-index-shift (module-binding-nominal-module b_54) from-mpi_2 to-mpi_2)) | |
((temp86_0) | |
(reverse$1 | |
(let-values (((lst_53) (module-binding-extra-nominal-bindings b_54))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_53))) | |
((letrec-values (((for-loop_81) | |
(lambda (fold-var_39 lst_54) | |
(begin | |
'for-loop | |
(if (pair? lst_54) | |
(let-values (((b_55) (unsafe-car lst_54)) | |
((rest_25) (unsafe-cdr lst_54))) | |
(let-values (((fold-var_40) | |
(let-values (((fold-var_41) fold-var_39)) | |
(let-values (((fold-var_42) | |
(let-values () | |
(cons | |
(let-values () | |
(binding-module-path-index-shift | |
b_55 | |
from-mpi_2 | |
to-mpi_2)) | |
fold-var_41)))) | |
(values fold-var_42))))) | |
(if (not #f) (for-loop_81 fold-var_40 rest_25) fold-var_40))) | |
fold-var_39))))) | |
for-loop_81) | |
null | |
lst_53)))))) | |
(module-binding-update.1 | |
unsafe-undefined | |
temp86_0 | |
unsafe-undefined | |
unsafe-undefined | |
temp84_0 | |
temp85_0 | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
unsafe-undefined | |
b83_0))) | |
(let-values () b_54))))) | |
(define-values | |
(syntax-transfer-shifts.1) | |
(lambda (non-source?25_0 to-s28_0 from-s29_0 inspector27_0) | |
(begin | |
'syntax-transfer-shifts | |
(let-values (((to-s_0) to-s28_0)) | |
(let-values (((from-s_2) from-s29_0)) | |
(let-values (((inspector_4) inspector27_0)) | |
(let-values (((non-source?_1) non-source?25_0)) | |
(let-values () | |
(let-values (((to-s87_0) to-s_0) | |
((temp88_0) (syntax-mpi-shifts from-s_2)) | |
((inspector89_0) inspector_4) | |
((non-source?90_0) non-source?_1)) | |
(syntax-add-shifts.1 non-source?90_0 to-s87_0 temp88_0 inspector89_0)))))))))) | |
(define-values | |
(syntax-add-shifts.1) | |
(lambda (non-source?31_0 to-s34_0 shifts35_0 inspector33_0) | |
(begin | |
'syntax-add-shifts | |
(let-values (((to-s_1) to-s34_0)) | |
(let-values (((shifts_3) shifts35_0)) | |
(let-values (((inspector_5) inspector33_0)) | |
(let-values (((non-source?_2) non-source?31_0)) | |
(let-values () | |
(if (if (null? shifts_3) inspector_5 #f) | |
(let-values () (syntax-set-inspector to-s_1 inspector_5)) | |
(let-values () | |
(let-values (((lst_55) (reverse$1 shifts_3)) ((start_15) 0)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_55))) | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-naturals start_15))) | |
((letrec-values (((for-loop_82) | |
(lambda (s_158 lst_56 pos_12) | |
(begin | |
'for-loop | |
(if (if (pair? lst_56) #t #f) | |
(let-values (((shift_4) (unsafe-car lst_56)) | |
((rest_26) (unsafe-cdr lst_56)) | |
((i_84) pos_12)) | |
(let-values (((s_159) | |
(let-values (((s_160) s_158)) | |
(let-values (((s_161) | |
(let-values () | |
(let-values (((s91_0) s_160) | |
((temp92_0) | |
(shift-from shift_4)) | |
((temp93_0) | |
(shift-to shift_4)) | |
((temp94_0) | |
(if (zero? i_84) | |
inspector_5 | |
#f)) | |
((non-source?95_0) | |
non-source?_2)) | |
(syntax-module-path-index-shift.1 | |
non-source?95_0 | |
s91_0 | |
temp92_0 | |
temp93_0 | |
temp94_0))))) | |
(values s_161))))) | |
(if (not #f) (for-loop_82 s_159 rest_26 (+ pos_12 1)) s_159))) | |
s_158))))) | |
for-loop_82) | |
to-s_1 | |
lst_55 | |
start_15))))))))))))) | |
(define-values | |
(syntax-set-inspector) | |
(lambda (s_162 insp_5) | |
(begin | |
(let-values (((content*_21) (syntax-content* s_162))) | |
(let-values (((content_23) | |
(if (modified-content? content*_21) (modified-content-content content*_21) content*_21))) | |
(let-values (((the-struct_32) s_162)) | |
(if (syntax?$1 the-struct_32) | |
(let-values (((inspector96_0) | |
(let-values (((or-part_137) (syntax-inspector s_162))) (if or-part_137 or-part_137 insp_5))) | |
((content*97_0) | |
(if (datum-has-elements? content_23) | |
(modified-content1.1 | |
content_23 | |
(propagation-mpi-shift | |
(if (modified-content? content*_21) | |
(modified-content-scope-propagations+tamper content*_21) | |
#f) | |
#f | |
insp_5 | |
(syntax-scopes s_162) | |
(syntax-shifted-multi-scopes s_162) | |
(syntax-mpi-shifts s_162))) | |
content*_21))) | |
(syntax2.1 | |
content*97_0 | |
(syntax-scopes the-struct_32) | |
(syntax-shifted-multi-scopes the-struct_32) | |
(syntax-mpi-shifts the-struct_32) | |
(syntax-srcloc the-struct_32) | |
(syntax-props the-struct_32) | |
inspector96_0)) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_32)))))))) | |
(define-values | |
(1/syntax-source-module) | |
(let-values (((syntax-source-module_0) | |
(lambda (s38_0 source?37_0) | |
(begin | |
'syntax-source-module | |
(let-values (((s_118) s38_0)) | |
(let-values (((source?_0) source?37_0)) | |
(let-values () | |
(begin | |
(if (syntax?$1 s_118) | |
(void) | |
(let-values () (raise-argument-error 'syntax-track-origin "syntax?" s_118))) | |
(let-values (((lst_57) (reverse$1 (syntax-mpi-shifts s_118)))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) | |
(void) | |
(let-values () (check-list lst_57))) | |
((letrec-values (((for-loop_50) | |
(lambda (result_51 lst_58) | |
(begin | |
'for-loop | |
(if (pair? lst_58) | |
(let-values (((shift_5) (unsafe-car lst_58)) | |
((rest_27) (unsafe-cdr lst_58))) | |
(let-values (((result_52) | |
(let-values (((result_53) result_51)) | |
(if (non-source-shift? shift_5) | |
result_53 | |
(let-values () | |
(let-values (((result_54) | |
(let-values () | |
(let-values () | |
(let-values (((from-mpi_3) | |
(car | |
shift_5))) | |
(let-values (((path_8 | |
base_14) | |
(1/module-path-index-split | |
from-mpi_3))) | |
(if (not path_8) | |
(if (module-path-index-resolved | |
from-mpi_3) | |
(let-values (((mpi_14) | |
(apply-syntax-shifts | |
from-mpi_3 | |
(syntax-mpi-shifts | |
s_118)))) | |
(if source?_0 | |
(1/resolved-module-path-name | |
(1/module-path-index-resolve | |
mpi_14 | |
#f)) | |
mpi_14)) | |
#f) | |
#f))))))) | |
(values result_54))))))) | |
(if (if (not ((lambda x_33 result_52) shift_5)) (not #f) #f) | |
(for-loop_50 result_52 rest_27) | |
result_52))) | |
result_51))))) | |
for-loop_50) | |
#f | |
lst_57))))))))))) | |
(case-lambda | |
((s_163) (begin 'syntax-source-module (syntax-source-module_0 s_163 #f))) | |
((s_164 source?37_1) (syntax-source-module_0 s_164 source?37_1))))) | |
(define-values | |
(1/identifier-prune-to-source-module) | |
(lambda (id_7) | |
(begin | |
'identifier-prune-to-source-module | |
(begin | |
(if (identifier? id_7) | |
(void) | |
(let-values () (raise-argument-error 'identifier-prune-to-source-module "identifier?" id_7))) | |
(let-values (((the-struct_33) (datum->syntax$1 #f (syntax-e$1 id_7) id_7 id_7))) | |
(if (syntax?$1 the-struct_33) | |
(let-values (((mpi-shifts98_0) (syntax-mpi-shifts id_7))) | |
(syntax2.1 | |
(syntax-content* the-struct_33) | |
(syntax-scopes the-struct_33) | |
(syntax-shifted-multi-scopes the-struct_33) | |
mpi-shifts98_0 | |
(syntax-srcloc the-struct_33) | |
(syntax-props the-struct_33) | |
(syntax-inspector the-struct_33))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_33))))))) | |
(define-values | |
(struct:provided provided1.1 provided? provided-binding provided-protected? provided-syntax?) | |
(let-values (((struct:_2 make-_2 ?_2 -ref_2 -set!_2) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'provided | |
#f | |
3 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:serialize | |
(lambda (p_21 ser-push!_14 state_23) | |
(begin | |
(ser-push!_14 'tag '#:provided) | |
(ser-push!_14 (provided-binding p_21)) | |
(ser-push!_14 (provided-protected? p_21)) | |
(ser-push!_14 (provided-syntax? p_21)))))) | |
#f | |
#f | |
'(0 1 2) | |
#f | |
'provided))))) | |
(values | |
struct:_2 | |
make-_2 | |
?_2 | |
(make-struct-field-accessor -ref_2 0 'binding) | |
(make-struct-field-accessor -ref_2 1 'protected?) | |
(make-struct-field-accessor -ref_2 2 'syntax?)))) | |
(define-values (provided-as-binding) (lambda (v_79) (begin (if (provided? v_79) (provided-binding v_79) v_79)))) | |
(define-values (provided-as-protected?) (lambda (v_80) (begin (if (provided? v_80) (provided-protected? v_80) #f)))) | |
(define-values (provided-as-transformer?) (lambda (v_81) (begin (if (provided? v_81) (provided-syntax? v_81) #f)))) | |
(define-values | |
(deserialize-provided) | |
(lambda (binding_5 protected?_0 syntax?_1) (begin (provided1.1 binding_5 protected?_0 syntax?_1)))) | |
(define-values | |
(provide-binding-to-require-binding.1) | |
(lambda (mpi2_0 phase-shift4_0 provide-phase-level3_0 self1_0 binding/p9_0 sym10_0) | |
(begin | |
'provide-binding-to-require-binding | |
(let-values (((binding/p_0) binding/p9_0)) | |
(let-values (((sym_18) sym10_0)) | |
(let-values (((self_1) self1_0)) | |
(let-values (((mpi_15) mpi2_0)) | |
(let-values (((provide-phase-level_0) provide-phase-level3_0)) | |
(let-values (((phase-shift_0) phase-shift4_0)) | |
(let-values () | |
(let-values (((binding_6) (provided-as-binding binding/p_0))) | |
(let-values (((from-mod_0) (module-binding-module binding_6))) | |
(let-values (((binding15_0) binding_6) | |
((temp16_1) (module-path-index-shift from-mod_0 self_1 mpi_15)) | |
((mpi17_0) mpi_15) | |
((provide-phase-level18_0) provide-phase-level_0) | |
((sym19_2) sym_18) | |
((phase-shift20_0) phase-shift_0) | |
((temp21_1) #f) | |
((temp22_1) | |
(if (not (provided-as-protected? binding/p_0)) | |
(module-binding-extra-inspector binding_6) | |
#f)) | |
((null23_0) null)) | |
(module-binding-update.1 | |
temp22_1 | |
null23_0 | |
temp21_1 | |
unsafe-undefined | |
temp16_1 | |
mpi17_0 | |
provide-phase-level18_0 | |
phase-shift20_0 | |
sym19_2 | |
unsafe-undefined | |
unsafe-undefined | |
binding15_0)))))))))))))) | |
(define-values | |
(struct:bulk-binding | |
bulk-binding12.1 | |
bulk-binding? | |
bulk-binding-provides | |
bulk-binding-prefix | |
bulk-binding-excepts | |
bulk-binding-self | |
bulk-binding-mpi | |
bulk-binding-provide-phase-level | |
bulk-binding-phase-shift | |
bulk-binding-bulk-binding-registry | |
set-bulk-binding-provides! | |
set-bulk-binding-self!) | |
(let-values (((struct:_26 make-_26 ?_26 -ref_26 -set!_26) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'bulk-binding | |
#f | |
8 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:serialize | |
(lambda (b_56 ser-push!_15 reachable-scopes_3) | |
(begin | |
(ser-push!_15 'tag '#:bulk-binding) | |
(ser-push!_15 (bulk-binding-prefix b_56)) | |
(ser-push!_15 (bulk-binding-excepts b_56)) | |
(ser-push!_15 (bulk-binding-mpi b_56)) | |
(ser-push!_15 (bulk-binding-provide-phase-level b_56)) | |
(ser-push!_15 (bulk-binding-phase-shift b_56)) | |
(ser-push!_15 'tag '#:bulk-binding-registry)))) | |
(cons | |
prop:bulk-binding | |
(bulk-binding-class3.1 | |
(lambda (b_57 mpi-shifts_3) | |
(let-values (((or-part_138) (bulk-binding-provides b_57))) | |
(if or-part_138 | |
or-part_138 | |
(let-values (((mod-name_1) | |
(1/module-path-index-resolve | |
(apply-syntax-shifts (bulk-binding-mpi b_57) mpi-shifts_3)))) | |
(let-values ((() | |
(begin | |
(if (bulk-binding-bulk-binding-registry b_57) | |
(void) | |
(let-values () | |
(error | |
"namespace mismatch: no bulk-binding registry available:" | |
mod-name_1))) | |
(values)))) | |
(let-values (((table_65) | |
(bulk-binding-registry-table | |
(bulk-binding-bulk-binding-registry b_57)))) | |
(let-values (((bulk-provide_0) (hash-ref table_65 mod-name_1 #f))) | |
(let-values ((() | |
(begin | |
(if bulk-provide_0 | |
(void) | |
(let-values () | |
(error | |
"namespace mismatch: bulk bindings not found in registry for module:" | |
mod-name_1))) | |
(values)))) | |
(let-values ((() | |
(begin | |
(set-bulk-binding-self! b_57 (bulk-provide-self bulk-provide_0)) | |
(values)))) | |
(let-values (((provides_0) | |
(hash-ref | |
(bulk-provide-provides bulk-provide_0) | |
(bulk-binding-provide-phase-level b_57)))) | |
(let-values (((excepts_0) (bulk-binding-excepts b_57))) | |
(let-values (((prefix_0) (bulk-binding-prefix b_57))) | |
(let-values (((adjusted-provides_0) | |
(if (let-values (((or-part_139) prefix_0)) | |
(if or-part_139 | |
or-part_139 | |
(positive? (hash-count excepts_0)))) | |
(let-values () | |
(bulk-provides-add-prefix-remove-exceptions | |
provides_0 | |
prefix_0 | |
excepts_0)) | |
(let-values () provides_0)))) | |
(begin | |
(set-bulk-binding-provides! b_57 adjusted-provides_0) | |
adjusted-provides_0)))))))))))))) | |
(lambda (b_58 binding_7 sym_19) | |
(let-values (((binding25_0) binding_7) | |
((temp26_1) | |
(if (bulk-binding-prefix b_58) | |
(string->symbol | |
(substring | |
(symbol->string sym_19) | |
(string-length (symbol->string (bulk-binding-prefix b_58))))) | |
sym_19)) | |
((temp27_0) (bulk-binding-self b_58)) | |
((temp28_1) (bulk-binding-mpi b_58)) | |
((temp29_0) (bulk-binding-provide-phase-level b_58)) | |
((temp30_0) (bulk-binding-phase-shift b_58))) | |
(provide-binding-to-require-binding.1 | |
temp28_1 | |
temp30_0 | |
temp29_0 | |
temp27_0 | |
binding25_0 | |
temp26_1)))))) | |
(current-inspector) | |
#f | |
'(1 2 4 5 6 7) | |
#f | |
'bulk-binding))))) | |
(values | |
struct:_26 | |
make-_26 | |
?_26 | |
(make-struct-field-accessor -ref_26 0 'provides) | |
(make-struct-field-accessor -ref_26 1 'prefix) | |
(make-struct-field-accessor -ref_26 2 'excepts) | |
(make-struct-field-accessor -ref_26 3 'self) | |
(make-struct-field-accessor -ref_26 4 'mpi) | |
(make-struct-field-accessor -ref_26 5 'provide-phase-level) | |
(make-struct-field-accessor -ref_26 6 'phase-shift) | |
(make-struct-field-accessor -ref_26 7 'bulk-binding-registry) | |
(make-struct-field-mutator -set!_26 0 'provides) | |
(make-struct-field-mutator -set!_26 3 'self)))) | |
(define-values | |
(deserialize-bulk-binding) | |
(lambda (prefix_1 excepts_1 mpi_16 provide-phase-level_1 phase-shift_1 bulk-binding-registry_0) | |
(begin | |
(bulk-binding12.1 #f prefix_1 excepts_1 #f mpi_16 provide-phase-level_1 phase-shift_1 bulk-binding-registry_0)))) | |
(define-values | |
(bulk-provides-add-prefix-remove-exceptions) | |
(lambda (provides_1 prefix_2 excepts_2) | |
(begin | |
(let-values (((ht_67) provides_1)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-in-hash ht_67))) | |
((letrec-values (((for-loop_83) | |
(lambda (table_90 i_85) | |
(begin | |
'for-loop | |
(if i_85 | |
(let-values (((sym_20 val_24) (hash-iterate-key+value ht_67 i_85))) | |
(let-values (((table_19) | |
(let-values (((table_91) table_90)) | |
(if (hash-ref excepts_2 sym_20 #f) | |
table_91 | |
(let-values (((table_92) table_91)) | |
(if (symbol-interned? sym_20) | |
(let-values (((table_93) table_92)) | |
(let-values (((table_20) | |
(let-values () | |
(let-values (((key_39 val_25) | |
(let-values () | |
(values | |
(if prefix_2 | |
(string->symbol | |
(format | |
"~a~a" | |
prefix_2 | |
sym_20)) | |
sym_20) | |
val_24)))) | |
(hash-set table_93 key_39 val_25))))) | |
(values table_20))) | |
table_92)))))) | |
(if (not #f) (for-loop_83 table_19 (hash-iterate-next ht_67 i_85)) table_19))) | |
table_90))))) | |
for-loop_83) | |
'#hash() | |
(hash-iterate-first ht_67))))))) | |
(define-values | |
(struct:bulk-provide bulk-provide13.1 bulk-provide? bulk-provide-self bulk-provide-provides) | |
(let-values (((struct:_27 make-_27 ?_27 -ref_27 -set!_27) | |
(let-values () | |
(let-values () | |
(make-struct-type 'bulk-provide #f 2 0 #f null (current-inspector) #f '(0 1) #f 'bulk-provide))))) | |
(values | |
struct:_27 | |
make-_27 | |
?_27 | |
(make-struct-field-accessor -ref_27 0 'self) | |
(make-struct-field-accessor -ref_27 1 'provides)))) | |
(define-values | |
(struct:bulk-binding-registry bulk-binding-registry14.1 bulk-binding-registry? bulk-binding-registry-table) | |
(let-values (((struct:_28 make-_28 ?_28 -ref_28 -set!_28) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'bulk-binding-registry | |
#f | |
1 | |
0 | |
#f | |
null | |
(current-inspector) | |
#f | |
'(0) | |
#f | |
'bulk-binding-registry))))) | |
(values struct:_28 make-_28 ?_28 (make-struct-field-accessor -ref_28 0 'table)))) | |
(define-values (make-bulk-binding-registry) (lambda () (begin (bulk-binding-registry14.1 (make-hasheq))))) | |
(define-values | |
(register-bulk-provide!) | |
(lambda (bulk-binding-registry_1 mod-name_2 self_2 provides_2) | |
(begin | |
(hash-set! | |
(bulk-binding-registry-table bulk-binding-registry_1) | |
mod-name_2 | |
(bulk-provide13.1 self_2 provides_2))))) | |
(define-values | |
(registered-bulk-provide?) | |
(lambda (bulk-binding-registry_2 mod-name_3) | |
(begin (if (hash-ref (bulk-binding-registry-table bulk-binding-registry_2) mod-name_3 #f) #t #f)))) | |
(define-values (generate-lift-key) (lambda () (begin (gensym 'lift)))) | |
(define-values | |
(struct:root-expand-context/outer | |
root-expand-context/outer1.1 | |
root-expand-context/outer? | |
root-expand-context/outer-inner | |
root-expand-context/outer-post-expansion | |
root-expand-context/outer-use-site-scopes | |
root-expand-context/outer-frame-id) | |
(let-values (((struct:_29 make-_29 ?_29 -ref_29 -set!_29) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'root-expand-context | |
#f | |
4 | |
0 | |
#f | |
(list (cons prop:authentic #t)) | |
(current-inspector) | |
#f | |
'(0 1 2 3) | |
#f | |
'root-expand-context/outer))))) | |
(values | |
struct:_29 | |
make-_29 | |
?_29 | |
(make-struct-field-accessor -ref_29 0 'inner) | |
(make-struct-field-accessor -ref_29 1 'post-expansion) | |
(make-struct-field-accessor -ref_29 2 'use-site-scopes) | |
(make-struct-field-accessor -ref_29 3 'frame-id)))) | |
(define-values | |
(struct:root-expand-context/inner | |
root-expand-context/inner2.1 | |
root-expand-context/inner? | |
root-expand-context/inner-self-mpi | |
root-expand-context/inner-module-scopes | |
root-expand-context/inner-top-level-bind-scope | |
root-expand-context/inner-all-scopes-stx | |
root-expand-context/inner-defined-syms | |
root-expand-context/inner-counter | |
root-expand-context/inner-lift-key) | |
(let-values (((struct:_30 make-_30 ?_30 -ref_30 -set!_30) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'root-expand-context/inner | |
#f | |
7 | |
0 | |
#f | |
(list (cons prop:authentic #t)) | |
(current-inspector) | |
#f | |
'(0 1 2 3 4 5 6) | |
#f | |
'root-expand-context/inner))))) | |
(values | |
struct:_30 | |
make-_30 | |
?_30 | |
(make-struct-field-accessor -ref_30 0 'self-mpi) | |
(make-struct-field-accessor -ref_30 1 'module-scopes) | |
(make-struct-field-accessor -ref_30 2 'top-level-bind-scope) | |
(make-struct-field-accessor -ref_30 3 'all-scopes-stx) | |
(make-struct-field-accessor -ref_30 4 'defined-syms) | |
(make-struct-field-accessor -ref_30 5 'counter) | |
(make-struct-field-accessor -ref_30 6 'lift-key)))) | |
(define-values | |
(root-expand-context/make) | |
(lambda (self-mpi_0 | |
module-scopes_0 | |
post-expansion_0 | |
top-level-bind-scope_0 | |
all-scopes-stx_0 | |
use-site-scopes_0 | |
defined-syms_0 | |
frame-id_4 | |
counter_0 | |
lift-key_0) | |
(begin | |
(root-expand-context/outer1.1 | |
(root-expand-context/inner2.1 | |
self-mpi_0 | |
module-scopes_0 | |
top-level-bind-scope_0 | |
all-scopes-stx_0 | |
defined-syms_0 | |
counter_0 | |
lift-key_0) | |
post-expansion_0 | |
use-site-scopes_0 | |
frame-id_4)))) | |
(define-values | |
(root-expand-context-post-expansion) | |
(lambda (v_3) (begin (root-expand-context/outer-post-expansion v_3)))) | |
(define-values | |
(root-expand-context-use-site-scopes) | |
(lambda (v_36) (begin (root-expand-context/outer-use-site-scopes v_36)))) | |
(define-values (root-expand-context-frame-id) (lambda (v_4) (begin (root-expand-context/outer-frame-id v_4)))) | |
(define-values | |
(root-expand-context-self-mpi) | |
(lambda (v_37) (begin (root-expand-context/inner-self-mpi (root-expand-context/outer-inner v_37))))) | |
(define-values | |
(root-expand-context-module-scopes) | |
(lambda (v_70) (begin (root-expand-context/inner-module-scopes (root-expand-context/outer-inner v_70))))) | |
(define-values | |
(root-expand-context-top-level-bind-scope) | |
(lambda (v_82) (begin (root-expand-context/inner-top-level-bind-scope (root-expand-context/outer-inner v_82))))) | |
(define-values | |
(root-expand-context-all-scopes-stx) | |
(lambda (v_5) (begin (root-expand-context/inner-all-scopes-stx (root-expand-context/outer-inner v_5))))) | |
(define-values | |
(root-expand-context-defined-syms) | |
(lambda (v_83) (begin (root-expand-context/inner-defined-syms (root-expand-context/outer-inner v_83))))) | |
(define-values | |
(root-expand-context-counter) | |
(lambda (v_84) (begin (root-expand-context/inner-counter (root-expand-context/outer-inner v_84))))) | |
(define-values | |
(root-expand-context-lift-key) | |
(lambda (v_85) (begin (root-expand-context/inner-lift-key (root-expand-context/outer-inner v_85))))) | |
(define-values | |
(make-root-expand-context.1) | |
(lambda (all-scopes-stx7_0 initial-scopes4_0 outside-scope5_0 post-expansion-scope6_0 self-mpi3_0) | |
(begin | |
'make-root-expand-context | |
(let-values (((self-mpi_1) self-mpi3_0)) | |
(let-values (((initial-scopes_0) initial-scopes4_0)) | |
(let-values (((outside-scope_0) | |
(if (eq? outside-scope5_0 unsafe-undefined) top-level-common-scope outside-scope5_0))) | |
(let-values (((post-expansion-scope_0) | |
(if (eq? post-expansion-scope6_0 unsafe-undefined) | |
(new-multi-scope 'top-level) | |
post-expansion-scope6_0))) | |
(let-values (((all-scopes-stx_1) all-scopes-stx7_0)) | |
(let-values () | |
(let-values (((module-scopes_1) (list* post-expansion-scope_0 outside-scope_0 initial-scopes_0))) | |
(root-expand-context/make | |
self-mpi_1 | |
module-scopes_1 | |
post-expansion-scope_0 | |
(new-scope 'module) | |
(let-values (((or-part_140) all-scopes-stx_1)) | |
(if or-part_140 or-part_140 (add-scopes empty-syntax module-scopes_1))) | |
(box null) | |
(make-hasheqv) | |
(string->uninterned-symbol "root-frame") | |
(box 0) | |
(generate-lift-key)))))))))))) | |
(define-values | |
(apply-post-expansion) | |
(lambda (pe_0 s_35) | |
(begin | |
(if (not pe_0) | |
(let-values () s_35) | |
(if (shifted-multi-scope? pe_0) | |
(let-values () (push-scope s_35 pe_0)) | |
(if (pair? pe_0) | |
(let-values () | |
(let-values (((temp16_2) (push-scope s_35 (car pe_0))) ((temp17_0) (cdr pe_0))) | |
(syntax-add-shifts.1 #f temp16_2 temp17_0 #f))) | |
(let-values () (pe_0 s_35)))))))) | |
(define-values | |
(post-expansion-scope) | |
(lambda (pe_1) | |
(begin | |
(if (shifted-multi-scope? pe_1) | |
(let-values () pe_1) | |
(if (pair? pe_1) | |
(let-values () (car pe_1)) | |
(let-values () (error 'post-expansion-scope "internal error: cannot extract scope from ~s" pe_1))))))) | |
(define-values | |
(root-expand-context-encode-for-module) | |
(lambda (ctx_0 orig-self_0 new-self_0) | |
(begin | |
(datum->syntax$1 | |
#f | |
(vector | |
(add-scopes empty-syntax (root-expand-context-module-scopes ctx_0)) | |
(apply-post-expansion (root-expand-context-post-expansion ctx_0) empty-syntax) | |
(let-values (((temp18_0) (root-expand-context-all-scopes-stx ctx_0)) | |
((orig-self19_0) orig-self_0) | |
((new-self20_0) new-self_0)) | |
(syntax-module-path-index-shift.1 #f temp18_0 orig-self19_0 new-self20_0 #f)) | |
(add-scopes empty-syntax (unbox (root-expand-context-use-site-scopes ctx_0))) | |
(let-values (((ht_68) (root-expand-context-defined-syms ctx_0))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-in-hash ht_68))) | |
((letrec-values (((for-loop_25) | |
(lambda (table_94 i_86) | |
(begin | |
'for-loop | |
(if i_86 | |
(let-values (((phase_24 ht_29) (hash-iterate-key+value ht_68 i_86))) | |
(let-values (((table_95) | |
(let-values (((table_15) table_94)) | |
(let-values (((table_96) | |
(let-values () | |
(let-values (((key_40 val_26) | |
(let-values () | |
(values phase_24 ht_29)))) | |
(hash-set table_15 key_40 val_26))))) | |
(values table_96))))) | |
(if (not #f) (for-loop_25 table_95 (hash-iterate-next ht_68 i_86)) table_95))) | |
table_94))))) | |
for-loop_25) | |
'#hasheqv() | |
(hash-iterate-first ht_68)))) | |
(root-expand-context-frame-id ctx_0) | |
(unbox (root-expand-context-counter ctx_0))))))) | |
(define-values | |
(root-expand-context-decode-for-module) | |
(lambda (vec-s_0 self_3) | |
(begin | |
(let-values (((vec_31) (if (syntax?$1 vec-s_0) (syntax-e$1 vec-s_0) #f))) | |
(begin | |
(if (if (vector? vec_31) | |
(if (= (vector-length vec_31) 7) | |
(if (syntax?$1 (vector-ref vec_31 0)) | |
(if (syntax-with-one-scope? (vector-ref vec_31 1)) | |
(if (syntax?$1 (vector-ref vec_31 2)) | |
(if (syntax?$1 (vector-ref vec_31 3)) | |
(if (defined-syms-hash? (syntax-e$1 (vector-ref vec_31 4))) | |
(if (symbol? (syntax-e$1 (vector-ref vec_31 5))) | |
(exact-nonnegative-integer? (syntax-e$1 (vector-ref vec_31 6))) | |
#f) | |
#f) | |
#f) | |
#f) | |
#f) | |
#f) | |
#f) | |
#f) | |
(void) | |
(let-values () (error 'root-expand-context-decode-for-module "bad encoding: ~s" vec-s_0))) | |
(root-expand-context/make | |
self_3 | |
(extract-scope-list (vector-ref vec_31 0)) | |
(cons (extract-scope (vector-ref vec_31 1)) (extract-shifts (vector-ref vec_31 1))) | |
(new-scope 'module) | |
(vector-ref vec_31 2) | |
(box (extract-scope-list (vector-ref vec_31 3))) | |
(unpack-defined-syms (vector-ref vec_31 4)) | |
(syntax-e$1 (vector-ref vec_31 5)) | |
(box (syntax-e$1 (vector-ref vec_31 6))) | |
(generate-lift-key))))))) | |
(define-values | |
(defined-syms-hash?) | |
(lambda (v_86) | |
(begin | |
(let-values (((ht_69) v_86)) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-in-hash ht_69))) | |
((letrec-values (((for-loop_9) | |
(lambda (result_55 i_87) | |
(begin | |
'for-loop | |
(if i_87 | |
(let-values (((phase_25 ht-s_0) (hash-iterate-key+value ht_69 i_87))) | |
(let-values (((result_56) | |
(let-values () | |
(let-values (((result_57) | |
(let-values () | |
(let-values () | |
(if (phase? phase_25) | |
(if (hash? (syntax-e$1 ht-s_0)) | |
(let-values (((ht_70) (syntax-e$1 ht-s_0))) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () (check-in-hash ht_70))) | |
((letrec-values (((for-loop_84) | |
(lambda (result_58 i_88) | |
(begin | |
'for-loop | |
(if i_88 | |
(let-values (((sym_21 | |
id_8) | |
(hash-iterate-key+value | |
ht_70 | |
i_88))) | |
(let-values (((result_59) | |
(let-values () | |
(let-values (((result_60) | |
(let-values () | |
(let-values () | |
(if (symbol? | |
sym_21) | |
(identifier? | |
id_8) | |
#f))))) | |
(values | |
result_60))))) | |
(if (if (not | |
((lambda x_34 | |
(not | |
result_59)) | |
sym_21 | |
id_8)) | |
(not #f) | |
#f) | |
(for-loop_84 | |
result_59 | |
(hash-iterate-next | |
ht_70 | |
i_88)) | |
result_59))) | |
result_58))))) | |
for-loop_84) | |
#t | |
(hash-iterate-first ht_70)))) | |
#f) | |
#f))))) | |
(values result_57))))) | |
(if (if (not ((lambda x_35 (not result_56)) phase_25 ht-s_0)) (not #f) #f) | |
(for-loop_9 result_56 (hash-iterate-next ht_69 i_87)) | |
result_56))) | |
result_55))))) | |
for-loop_9) | |
#t | |
(hash-iterate-first ht_69))))))) | |
(define-values | |
(extract-scope-list) | |
(lambda (stx_10) (begin (map2 generalize-scope (set->list (syntax-scope-set stx_10 0)))))) | |
(define-values | |
(syntax-with-one-scope?) | |
(lambda (stx_11) (begin (if (syntax?$1 stx_11) (= 1 (set-count (syntax-scope-set stx_11 0))) #f)))) | |
(define-values | |
(extract-scope) | |
(lambda (stx_12) (begin (let-values (((s_165) (syntax-scope-set stx_12 0))) (generalize-scope (set-first s_165)))))) | |
(define-values (extract-shifts) (lambda (stx_13) (begin (syntax-mpi-shifts stx_13)))) | |
(define-values | |
(unpack-defined-syms) | |
(lambda (v_87) | |
(begin | |
(hash-copy | |
(let-values (((ht_18) (syntax-e$1 v_87))) | |
(begin | |
(if (variable-reference-from-unsafe? (#%variable-reference)) (void) (let-values () (check-in-hash ht_18))) | |
((letrec-values (((for-loop_4) | |
(lambda (table_27 i_23) | |
(begin | |
'for-loop | |
(if i_23 | |
(let-values (((phase_26 ht-s_1) (hash-iterate-key+value ht_18 i_23))) | |
(let-values (((table_28) | |
(let-values (((table_29) table_27)) | |
(let-values (((table_30) | |
(let-values () | |
(let-values (((key_41 val_27) | |
(let-values () | |
(values | |
phase_26 | |
(hash-copy | |
(let-values (((ht_71) | |
(syntax-e$1 | |
ht-s_1))) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () | |
(check-in-hash ht_71))) | |
((letrec-values (((for-loop_85) | |
(lambda (table_97 | |
i_89) | |
(begin | |
'for-loop | |
(if i_89 | |
(let-values (((sym_22 | |
id_9) | |
(hash-iterate-key+value | |
ht_71 | |
i_89))) | |
(let-values (((table_98) | |
(let-values (((table_99) | |
table_97)) | |
(let-values (((table_100) | |
(let-values () | |
(let-values (((key_42 | |
val_28) | |
(let-values () | |
(values | |
sym_22 | |
id_9)))) | |
(hash-set | |
table_99 | |
key_42 | |
val_28))))) | |
(values | |
table_100))))) | |
(if (not | |
#f) | |
(for-loop_85 | |
table_98 | |
(hash-iterate-next | |
ht_71 | |
i_89)) | |
table_98))) | |
table_97))))) | |
for-loop_85) | |
'#hash() | |
(hash-iterate-first | |
ht_71))))))))) | |
(hash-set table_29 key_41 val_27))))) | |
(values table_30))))) | |
(if (not #f) (for-loop_4 table_28 (hash-iterate-next ht_18 i_23)) table_28))) | |
table_27))))) | |
for-loop_4) | |
'#hasheqv() | |
(hash-iterate-first ht_18)))))))) | |
(define-values | |
(1/primitive-table) | |
(hash-ref | |
(let-values (((or-part_12) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_12 or-part_12 (primitive-table '#%linklet))) | |
'primitive-table | |
#f)) | |
(define-values | |
(1/primitive->compiled-position) | |
(hash-ref | |
(let-values (((or-part_13) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_13 or-part_13 (primitive-table '#%linklet))) | |
'primitive->compiled-position | |
#f)) | |
(define-values | |
(1/compiled-position->primitive) | |
(hash-ref | |
(let-values (((or-part_74) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_74 or-part_74 (primitive-table '#%linklet))) | |
'compiled-position->primitive | |
#f)) | |
(define-values | |
(1/primitive-in-category?) | |
(hash-ref | |
(let-values (((or-part_14) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_14 or-part_14 (primitive-table '#%linklet))) | |
'primitive-in-category? | |
#f)) | |
(define-values | |
(1/primitive-lookup) | |
(hash-ref | |
(let-values (((or-part_75) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_75 or-part_75 (primitive-table '#%linklet))) | |
'primitive-lookup | |
#f)) | |
(define-values | |
(1/linklet?) | |
(hash-ref | |
(let-values (((or-part_76) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_76 or-part_76 (primitive-table '#%linklet))) | |
'linklet? | |
#f)) | |
(define-values | |
(1/compile-linklet) | |
(hash-ref | |
(let-values (((or-part_77) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_77 or-part_77 (primitive-table '#%linklet))) | |
'compile-linklet | |
#f)) | |
(define-values | |
(1/recompile-linklet) | |
(hash-ref | |
(let-values (((or-part_57) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_57 or-part_57 (primitive-table '#%linklet))) | |
'recompile-linklet | |
#f)) | |
(define-values | |
(1/eval-linklet) | |
(hash-ref | |
(let-values (((or-part_33) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_33 or-part_33 (primitive-table '#%linklet))) | |
'eval-linklet | |
#f)) | |
(define-values | |
(1/instantiate-linklet) | |
(hash-ref | |
(let-values (((or-part_78) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_78 or-part_78 (primitive-table '#%linklet))) | |
'instantiate-linklet | |
#f)) | |
(define-values | |
(1/linklet-import-variables) | |
(hash-ref | |
(let-values (((or-part_68) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_68 or-part_68 (primitive-table '#%linklet))) | |
'linklet-import-variables | |
#f)) | |
(define-values | |
(1/linklet-export-variables) | |
(hash-ref | |
(let-values (((or-part_79) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_79 or-part_79 (primitive-table '#%linklet))) | |
'linklet-export-variables | |
#f)) | |
(define-values | |
(1/instance?) | |
(hash-ref | |
(let-values (((or-part_80) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_80 or-part_80 (primitive-table '#%linklet))) | |
'instance? | |
#f)) | |
(define-values | |
(1/make-instance) | |
(hash-ref | |
(let-values (((or-part_81) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_81 or-part_81 (primitive-table '#%linklet))) | |
'make-instance | |
#f)) | |
(define-values | |
(1/instance-name) | |
(hash-ref | |
(let-values (((or-part_82) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_82 or-part_82 (primitive-table '#%linklet))) | |
'instance-name | |
#f)) | |
(define-values | |
(1/instance-data) | |
(hash-ref | |
(let-values (((or-part_141) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_141 or-part_141 (primitive-table '#%linklet))) | |
'instance-data | |
#f)) | |
(define-values | |
(1/instance-variable-names) | |
(hash-ref | |
(let-values (((or-part_142) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_142 or-part_142 (primitive-table '#%linklet))) | |
'instance-variable-names | |
#f)) | |
(define-values | |
(1/instance-variable-value) | |
(hash-ref | |
(let-values (((or-part_3) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_3 or-part_3 (primitive-table '#%linklet))) | |
'instance-variable-value | |
#f)) | |
(define-values | |
(1/instance-set-variable-value!) | |
(hash-ref | |
(let-values (((or-part_4) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_4 or-part_4 (primitive-table '#%linklet))) | |
'instance-set-variable-value! | |
#f)) | |
(define-values | |
(1/instance-unset-variable!) | |
(hash-ref | |
(let-values (((or-part_5) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_5 or-part_5 (primitive-table '#%linklet))) | |
'instance-unset-variable! | |
#f)) | |
(define-values | |
(1/instance-describe-variable!) | |
(hash-ref | |
(let-values (((or-part_6) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_6 or-part_6 (primitive-table '#%linklet))) | |
'instance-describe-variable! | |
#f)) | |
(define-values | |
(1/linklet-virtual-machine-bytes) | |
(hash-ref | |
(let-values (((or-part_143) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_143 or-part_143 (primitive-table '#%linklet))) | |
'linklet-virtual-machine-bytes | |
#f)) | |
(define-values | |
(1/write-linklet-bundle-hash) | |
(hash-ref | |
(let-values (((or-part_34) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_34 or-part_34 (primitive-table '#%linklet))) | |
'write-linklet-bundle-hash | |
#f)) | |
(define-values | |
(1/read-linklet-bundle-hash) | |
(hash-ref | |
(let-values (((or-part_144) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_144 or-part_144 (primitive-table '#%linklet))) | |
'read-linklet-bundle-hash | |
#f)) | |
(define-values | |
(1/variable-reference?) | |
(hash-ref | |
(let-values (((or-part_145) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_145 or-part_145 (primitive-table '#%linklet))) | |
'variable-reference? | |
#f)) | |
(define-values | |
(1/variable-reference->instance) | |
(hash-ref | |
(let-values (((or-part_146) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_146 or-part_146 (primitive-table '#%linklet))) | |
'variable-reference->instance | |
#f)) | |
(define-values | |
(1/variable-reference-constant?) | |
(hash-ref | |
(let-values (((or-part_147) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_147 or-part_147 (primitive-table '#%linklet))) | |
'variable-reference-constant? | |
#f)) | |
(define-values | |
(1/variable-reference-from-unsafe?) | |
(hash-ref | |
(let-values (((or-part_83) (primitive-table '#%bootstrap-linklet))) | |
(if or-part_83 or-part_83 (primitive-table '#%linklet))) | |
'variable-reference-from-unsafe? | |
#f)) | |
(void | |
(if 1/variable-reference-constant? | |
(void) | |
(let-values () (error "broken '#%linklet primitive table; maybe you need to use \"bootstrap-run.rkt\"")))) | |
(define-values | |
(struct:module-registry module-registry1.1 module-registry? module-registry-declarations module-registry-lock-box) | |
(let-values (((struct:_2 make-_2 ?_2 -ref_2 -set!_2) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'module-registry | |
#f | |
2 | |
0 | |
#f | |
null | |
(current-inspector) | |
#f | |
'(0 1) | |
#f | |
'module-registry))))) | |
(values | |
struct:_2 | |
make-_2 | |
?_2 | |
(make-struct-field-accessor -ref_2 0 'declarations) | |
(make-struct-field-accessor -ref_2 1 'lock-box)))) | |
(define-values (make-module-registry) (lambda () (begin (module-registry1.1 (make-hasheq) (box #f))))) | |
(define-values | |
(registry-call-with-lock) | |
(lambda (r_23 proc_2) | |
(begin | |
(let-values (((lock-box_0) (module-registry-lock-box r_23))) | |
((letrec-values (((loop_77) | |
(lambda () | |
(begin | |
'loop | |
(let-values (((v_80) (unbox lock-box_0))) | |
(if (let-values (((or-part_12) (not v_80))) | |
(if or-part_12 | |
or-part_12 | |
(sync/timeout | |
0 | |
(car v_80) | |
(let-values (((or-part_13) (weak-box-value (cdr v_80)))) | |
(if or-part_13 or-part_13 never-evt))))) | |
(let-values () | |
(let-values (((sema_0) (make-semaphore))) | |
(let-values (((lock_0) | |
(cons | |
(semaphore-peek-evt sema_0) | |
(make-weak-box (current-thread))))) | |
((dynamic-wind | |
void | |
(lambda () | |
(if (box-cas! lock-box_0 v_80 lock_0) | |
(let-values () (begin (proc_2) void)) | |
(let-values () (lambda () (loop_77))))) | |
(lambda () (semaphore-post sema_0))))))) | |
(if (eq? (current-thread) (weak-box-value (cdr v_80))) | |
(let-values () (proc_2)) | |
(let-values () | |
(begin | |
(sync | |
(car v_80) | |
(let-values (((or-part_75) (weak-box-value (cdr v_80)))) | |
(if or-part_75 or-part_75 never-evt))) | |
(loop_77)))))))))) | |
loop_77)))))) | |
(define-values | |
(struct:namespace | |
namespace1.1 | |
1/namespace? | |
namespace-mpi | |
namespace-source-name | |
namespace-root-expand-ctx | |
namespace-phase | |
namespace-0-phase | |
namespace-phase-to-namespace | |
namespace-phase-level-to-definitions | |
namespace-module-registry$1 | |
namespace-bulk-binding-registry | |
namespace-submodule-declarations | |
namespace-root-namespace | |
namespace-declaration-inspector | |
namespace-inspector | |
namespace-available-module-instances | |
namespace-module-instances | |
set-namespace-inspector!) | |
(let-values (((struct:_2 make-_2 ?_2 -ref_2 -set!_2) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'namespace | |
#f | |
15 | |
0 | |
#f | |
(list | |
(cons prop:authentic #t) | |
(cons | |
prop:custom-write | |
(lambda (ns_0 port_7 mode_10) | |
(let-values ((() (begin (write-string "#<namespace" port_7) (values)))) | |
(let-values (((n_20) (namespace-source-name ns_0))) | |
(let-values ((() | |
(begin | |
(if n_20 | |
(let-values () (fprintf port_7 ":~a" (namespace->name ns_0))) | |
(void)) | |
(values)))) | |
(let-values (((0-phase_0) (namespace-0-phase ns_0))) | |
(let-values (((phase-level_0) (phase- (namespace-phase ns_0) 0-phase_0))) | |
(begin | |
(if (zero-phase? phase-level_0) | |
(void) | |
(let-values () (fprintf port_7 ":~s" phase-level_0))) | |
(if (zero-phase? 0-phase_0) | |
(void) | |
(let-values () | |
(fprintf port_7 "~a~s" (if (positive? 0-phase_0) "+" "") 0-phase_0))) | |
(write-string ">" port_7)))))))))) | |
(current-inspector) | |
#f | |
'(0 1 2 3 4 5 6 7 8 9 10 11 13 14) | |
#f | |
'namespace))))) | |
(values | |
struct:_2 | |
make-_2 | |
?_2 | |
(make-struct-field-accessor -ref_2 0 'mpi) | |
(make-struct-field-accessor -ref_2 1 'source-name) | |
(make-struct-field-accessor -ref_2 2 'root-expand-ctx) | |
(make-struct-field-accessor -ref_2 3 'phase) | |
(make-struct-field-accessor -ref_2 4 '0-phase) | |
(make-struct-field-accessor -ref_2 5 'phase-to-namespace) | |
(make-struct-field-accessor -ref_2 6 'phase-level-to-definitions) | |
(make-struct-field-accessor -ref_2 7 'module-registry) | |
(make-struct-field-accessor -ref_2 8 'bulk-binding-registry) | |
(make-struct-field-accessor -ref_2 9 'submodule-declarations) | |
(make-struct-field-accessor -ref_2 10 'root-namespace) | |
(make-struct-field-accessor -ref_2 11 'declaration-inspector) | |
(make-struct-field-accessor -ref_2 12 'inspector) | |
(make-struct-field-accessor -ref_2 13 'available-module-instances) | |
(make-struct-field-accessor -ref_2 14 'module-instances) | |
(make-struct-field-mutator -set!_2 12 'inspector)))) | |
(define-values | |
(struct:definitions definitions2.1 definitions? definitions-variables definitions-transformers) | |
(let-values (((struct:_6 make-_6 ?_6 -ref_6 -set!_6) | |
(let-values () | |
(let-values () | |
(make-struct-type | |
'definitions | |
#f | |
2 | |
0 | |
#f | |
(list (cons prop:authentic #t)) | |
(current-inspector) | |
#f | |
'(0 1) | |
#f | |
'definitions))))) | |
(values | |
struct:_6 | |
make-_6 | |
?_6 | |
(make-struct-field-accessor -ref_6 0 'variables) | |
(make-struct-field-accessor -ref_6 1 'transformers)))) | |
(define-values (make-namespace) (lambda () (begin (let-values () (new-namespace.1 #t unsafe-undefined #f))))) | |
(define-values | |
(new-namespace.1) | |
(lambda (register?4_0 root-expand-ctx3_0 share-from-ns7_0) | |
(begin | |
'new-namespace | |
(let-values (((share-from-ns_0) share-from-ns7_0)) | |
(let-values (((root-expand-ctx_0) | |
(if (eq? root-expand-ctx3_0 unsafe-undefined) | |
(let-values (((top-level-module-path-index16_0) top-level-module-path-index)) | |
(make-root-expand-context.1 | |
#f | |
null | |
unsafe-undefined | |
unsafe-undefined | |
top-level-module-path-index16_0)) | |
root-expand-ctx3_0))) | |
(let-values (((register?_0) register?4_0)) | |
(let-values () | |
(let-values (((phase_27) (if share-from-ns_0 (namespace-phase share-from-ns_0) 0))) | |
(let-values (((ns_1) | |
(namespace1.1 | |
top-level-module-path-index | |
#f | |
(box root-expand-ctx_0) | |
phase_27 | |
phase_27 | |
(make-small-hasheqv) | |
(make-small-hasheqv) | |
(if share-from-ns_0 (namespace-module-registry$1 share-from-ns_0) (make-module-registry)) | |
(if share-from-ns_0 | |
(namespace-bulk-binding-registry share-from-ns_0) | |
(make-bulk-binding-registry)) | |
(make-small-hasheq) | |
(if share-from-ns_0 | |
(let-values (((or-part_3) (namespace-root-namespace share-from-ns_0))) | |
(if or-part_3 or-part_3 share-from-ns_0)) | |
#f) | |
#f | |
(make-inspector (current-code-inspector)) | |
(if share-from-ns_0 | |
(namespace-available-module-instances share-from-ns_0) | |
(make-hasheqv)) | |
(if share-from-ns_0 (namespace-module-instances share-from-ns_0) (make-hasheqv))))) | |
(begin | |
(if register?_0 | |
(let-values () (small-hash-set! (namespace-phase-to-namespace ns_1) phase_27 ns_1)) | |
(void)) | |
ns_1)))))))))) | |
(define-values | |
(1/current-namespace) | |
(make-parameter | |
(make-namespace) | |
(lambda (v_88) | |
(begin | |
(if (1/namespace? v_88) (void) (let-values () (raise-argument-error 'current-namespace "namespace?" v_88))) | |
v_88)) | |
'current-namespace)) | |
(define-values | |
(namespace-get-root-expand-ctx) | |
(lambda (ns_2) (begin (force (unbox (namespace-root-expand-ctx ns_2)))))) | |
(define-values | |
(namespace-set-root-expand-ctx!) | |
(lambda (ns_3 root-ctx_0) (begin (set-box! (namespace-root-expand-ctx ns_3) root-ctx_0)))) | |
(define-values | |
(namespace-self-mpi) | |
(lambda (ns_4) (begin (root-expand-context-self-mpi (namespace-get-root-expand-ctx ns_4))))) | |
(define-values | |
(namespace-self-mpi/no-top-level) | |
(lambda (ns_5) | |
(begin | |
(let-values (((mpi_17) (root-expand-context-self-mpi (namespace-get-root-expand-ctx ns_5)))) | |
(if (if mpi_17 (top-level-module-path-index? mpi_17) #f) #f mpi_17))))) | |
(define-values | |
(namespace->module) | |
(lambda (ns_6 name_17) | |
(begin | |
(let-values (((or-part_148) (small-hash-ref (namespace-submodule-declarations ns_6) name_17 #f))) | |
(if or-part_148 | |
or-part_148 | |
(hash-ref (module-registry-declarations (namespace-module-registry$1 ns_6)) name_17 #f)))))) | |
(define-values | |
(namespace->namespace-at-phase) | |
(lambda (ns_7 phase_28) | |
(begin | |
(let-values (((or-part_70) (small-hash-ref (namespace-phase-to-namespace ns_7) phase_28 #f))) | |
(if or-part_70 | |
or-part_70 | |
(let-values (((p-ns_0) | |
(let-values (((the-struct_34) ns_7)) | |
(if (1/namespace? the-struct_34) | |
(let-values (((phase17_0) phase_28) | |
((root-namespace18_0) | |
(let-values (((or-part_8) (namespace-root-namespace ns_7))) | |
(if or-part_8 or-part_8 ns_7)))) | |
(namespace1.1 | |
(namespace-mpi the-struct_34) | |
(namespace-source-name the-struct_34) | |
(namespace-root-expand-ctx the-struct_34) | |
phase17_0 | |
(namespace-0-phase the-struct_34) | |
(namespace-phase-to-namespace the-struct_34) | |
(namespace-phase-level-to-definitions the-struct_34) | |
(namespace-module-registry$1 the-struct_34) | |
(namespace-bulk-binding-registry the-struct_34) | |
(namespace-submodule-declarations the-struct_34) | |
root-namespace18_0 | |
(namespace-declaration-inspector the-struct_34) | |
(namespace-inspector the-struct_34) | |
(namespace-available-module-instances the-struct_34) | |
(namespace-module-instances the-struct_34))) | |
(raise-argument-error 'struct-copy "namespace?" the-struct_34))))) | |
(begin (small-hash-set! (namespace-phase-to-namespace ns_7) phase_28 p-ns_0) p-ns_0))))))) | |
(define-values | |
(namespace->name) | |
(lambda (ns_8) | |
(begin | |
(let-values (((n_21) (namespace-source-name ns_8))) | |
(let-values (((s_76) | |
(if (not n_21) | |
(let-values () 'top-level) | |
(if (symbol? n_21) | |
(let-values () (format "'~s" n_21)) | |
(let-values () (string-append "\"" (path->string n_21) "\"")))))) | |
(let-values (((r_24) (1/resolved-module-path-name (1/module-path-index-resolve (namespace-mpi ns_8))))) | |
(if (pair? r_24) (string-append "(submod " s_76 " " (substring (format "~s" (cdr r_24)) 1)) s_76))))))) | |
(define-values | |
(namespace->definitions) | |
(lambda (ns_9 phase-level_1) | |
(begin | |
(let-values (((d_9) (small-hash-ref (namespace-phase-level-to-definitions ns_9) phase-level_1 #f))) | |
(let-values (((or-part_149) d_9)) | |
(if or-part_149 | |
or-part_149 | |
(let-values () | |
(let-values (((p-ns_1) | |
(namespace->namespace-at-phase ns_9 (phase+ (namespace-0-phase ns_9) phase-level_1)))) | |
(let-values (((d_10) (definitions2.1 (1/make-instance (namespace->name p-ns_1) p-ns_1) (make-hasheq)))) | |
(begin (small-hash-set! (namespace-phase-level-to-definitions ns_9) phase-level_1 d_10) d_10)))))))))) | |
(define-values | |
(namespace-set-variable!) | |
(let-values (((namespace-set-variable!_0) | |
(lambda (ns10_0 phase-level11_0 name12_0 val13_0 as-constant?9_0) | |
(begin | |
'namespace-set-variable! | |
(let-values (((ns_10) ns10_0)) | |
(let-values (((phase-level_2) phase-level11_0)) | |
(let-values (((name_18) name12_0)) | |
(let-values (((val_29) val13_0)) | |
(let-values (((as-constant?_0) as-constant?9_0)) | |
(let-values () | |
(let-values (((d_11) (namespace->definitions ns_10 phase-level_2))) | |
(1/instance-set-variable-value! | |
(definitions-variables d_11) | |
name_18 | |
val_29 | |
(if as-constant?_0 'constant #f))))))))))))) | |
(case-lambda | |
((ns_11 phase-level_3 name_19 val_30) (begin (namespace-set-variable!_0 ns_11 phase-level_3 name_19 val_30 #f))) | |
((ns_12 phase-level_4 name_20 val_31 as-constant?9_1) | |
(namespace-set-variable!_0 ns_12 phase-level_4 name_20 val_31 as-constant?9_1))))) | |
(define-values | |
(namespace-set-consistent!) | |
(lambda (ns_13 phase-level_5 name_21 val_32) | |
(begin | |
(let-values (((d_12) (namespace->definitions ns_13 phase-level_5))) | |
(1/instance-set-variable-value! (definitions-variables d_12) name_21 val_32 'consistent))))) | |
(define-values | |
(namespace-unset-variable!) | |
(lambda (ns_14 phase-level_6 name_22) | |
(begin | |
(let-values (((d_13) (namespace->definitions ns_14 phase-level_6))) | |
(1/instance-unset-variable! (definitions-variables d_13) name_22))))) | |
(define-values | |
(namespace-set-transformer!) | |
(lambda (ns_15 phase-level_7 name_23 val_33) | |
(begin | |
(let-values (((d_14) (namespace->definitions ns_15 (add1 phase-level_7)))) | |
(hash-set! (definitions-transformers d_14) name_23 val_33))))) | |
(define-values | |
(namespace-unset-transformer!) | |
(lambda (ns_16 phase-level_8 name_24) | |
(begin | |
(let-values (((d_15) (namespace->definitions ns_16 (add1 phase-level_8)))) | |
(hash-remove! (definitions-transformers d_15) name_24))))) | |
(define-values | |
(namespace-get-variable) | |
(lambda (ns_17 phase-level_9 name_25 fail-k_0) | |
(begin | |
(let-values (((d_16) (namespace->definitions ns_17 phase-level_9))) | |
(1/instance-variable-value (definitions-variables d_16) name_25 fail-k_0))))) | |
(define-values | |
(namespace-get-transformer) | |
(lambda (ns_18 phase-level_10 name_26 fail-k_1) | |
(begin | |
(let-values (((d_17) (namespace->definitions ns_18 (add1 phase-level_10)))) | |
(hash-ref (definitions-transformers d_17) name_26 fail-k_1))))) | |
(define-values | |
(namespace->instance) | |
(lambda (ns_19 phase-shift_2) (begin (definitions-variables (namespace->definitions ns_19 phase-shift_2))))) | |
(define-values | |
(namespace-same-instance?) | |
(lambda (a-ns_0 b-ns_0) | |
(begin | |
(eq? | |
(small-hash-ref (namespace-phase-level-to-definitions a-ns_0) 0 'no-a) | |
(small-hash-ref (namespace-phase-level-to-definitions b-ns_0) 0 'no-b))))) | |
(define-values (original-property-sym) (gensym 'original)) | |
(define-values | |
(syntax->list$1) | |
(lambda (s_0) | |
(begin | |
'syntax->list | |
(let-values (((l_33) | |
((letrec-values (((loop_78) | |
(lambda (s_1) | |
(begin | |
'loop | |
(if (pair? s_1) | |
(let-values () (cons (car s_1) (loop_78 (cdr s_1)))) | |
(if (syntax?$1 s_1) | |
(let-values () (loop_78 (syntax-e$1 s_1))) | |
(let-values () s_1))))))) | |
loop_78) | |
s_0))) | |
(if (list? l_33) l_33 #f))))) | |
(define-values (missing$1) (gensym)) | |
(define-values | |
(syntax-track-origin$1) | |
(let-values (((syntax-track-origin_0) | |
(lambda (new-stx2_0 old-stx3_0 id1_0) | |
(begin | |
'syntax-track-origin | |
(let-values (((new-stx_0) new-stx2_0)) | |
(let-values (((old-stx_0) old-stx3_0)) | |
(let-values (((id_10) | |
(if (eq? id1_0 unsafe-undefined) | |
(if (identifier? old-stx_0) | |
old-stx_0 | |
(let-values (((v_33) (syntax-e/no-taint old-stx_0))) | |
(if (pair? v_33) (car v_33) #f))) | |
id1_0))) | |
(let-values () | |
(let-values (((old-props_0) (syntax-props old-stx_0))) | |
(if (zero? (hash-count old-props_0)) | |
(let-values () | |
(if id_10 | |
(syntax-property$1 | |
new-stx_0 | |
'origin | |
(cons id_10 (hash-ref (syntax-props new-stx_0) 'origin null))) | |
new-stx_0)) | |
(let-values () | |
(let-values (((new-props_0) (syntax-props new-stx_0))) | |
(if (zero? (hash-count new-props_0)) | |
(let-values () | |
(if id_10 | |
(let-values () | |
(let-values (((old-origin_0) | |
(plain-property-value | |
(hash-ref old-props_0 'origin missing$1)))) | |
(let-values (((origin_0) | |
(if (eq? old-origin_0 missing$1) | |
(list id_10) | |
(cons id_10 old-origin_0)))) | |
(let-values (((the-struct_35) new-stx_0)) | |
(if (syntax?$1 the-struct_35) | |
(let-values (((props4_0) (hash-set old-props_0 'origin origin_0))) | |
(syntax2.1 | |
(syntax-content* the-struct_35) | |
(syntax-scopes the-struct_35) | |
(syntax-shifted-multi-scopes the-struct_35) | |
(syntax-mpi-shifts the-struct_35) | |
(syntax-srcloc the-struct_35) | |
props4_0 | |
(syntax-inspector the-struct_35))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_35)))))) | |
(let-values () | |
(let-values (((the-struct_36) new-stx_0)) | |
(if (syntax?$1 the-struct_36) | |
(let-values (((props5_0) old-props_0)) | |
(syntax2.1 | |
(syntax-content* the-struct_36) | |
(syntax-scopes the-struct_36) | |
(syntax-shifted-multi-scopes the-struct_36) | |
(syntax-mpi-shifts the-struct_36) | |
(syntax-srcloc the-struct_36) | |
props5_0 | |
(syntax-inspector the-struct_36))) | |
(raise-argument-error 'struct-copy "syntax?" the-struct_36)))))) | |
(let-values () | |
(let-values (((old-props-with-origin_0) | |
(if id_10 | |
(hash-set | |
old-props_0 | |
'origin | |
(cons id_10 (hash-ref old-props_0 'origin null))) | |
old-props_0))) | |
(let-values (((updated-props_0) | |
(if (< | |
(hash-count old-props-with-origin_0) | |
(hash-count new-props_0)) | |
(let-values () | |
(let-values (((ht_72) old-props-with-origin_0)) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_72))) | |
((letrec-values (((for-loop_86) | |
(lambda (new-props_1 i_90) | |
(begin | |
'for-loop | |
(if i_90 | |
(let-values (((k_21 v_2) | |
(unsafe-immutable-hash-iterate-key+value | |
ht_72 | |
i_90))) | |
(let-values (((new-props_2) | |
(let-values (((new-props_3) | |
new-props_1)) | |
(let-values (((new-props_4) | |
(let-values () | |
(let-values (((new-v_0) | |
(hash-ref | |
new-props_3 | |
k_21 | |
missing$1))) | |
(hash-set | |
new-props_3 | |
k_21 | |
(if (eq? | |
new-v_0 | |
missing$1) | |
v_2 | |
(cons/preserve | |
new-v_0 | |
v_2))))))) | |
(values | |
new-props_4))))) | |
(if (not #f) | |
(for-loop_86 | |
new-props_2 | |
(unsafe-immutable-hash-iterate-next | |
ht_72 | |
i_90)) | |
new-props_2))) | |
new-props_1))))) | |
for-loop_86) | |
new-props_0 | |
(unsafe-immutable-hash-iterate-first ht_72))))) | |
(let-values () | |
(let-values (((ht_73) new-props_0)) | |
(begin | |
(if (variable-reference-from-unsafe? | |
(#%variable-reference)) | |
(void) | |
(let-values () (check-in-immutable-hash ht_73))) | |
((letrec-values (((for-loop_87) | |
(lambda (old-props_1 i_91) | |
(begin | |
'for-loop | |
(if i_91 | |
(let-values (((k_22 v_82) | |
(unsafe-immutable-hash-iterate-key+value | |
ht_73 | |
i_91))) | |
(let-values (((old-props_2) | |
(let-values (((old-props_3) | |
old-props_1)) | |
(let-values (((old-props_4) | |
(let-values () | |
(let-values (((old-v_0) | |
(hash-ref | |
old-props_3 | |
k_22 | |
missing$1))) | |
(hash-set | |
old-props_3 | |
k_22 | |
(if (eq? | |
old-v_0 | |
missing$1) | |
v_82 | |
(cons/preserve | |
v_82 | |
old-v_0))))))) | |
(values | |
old-props_4))))) | |
(if (not #f) | |
(for-loop_87 | |
old-props_2 | |
(unsafe-immutable-hash-iterate-next | |
ht_73 | |
i_91)) | |
old-props_2))) | |
old-props_1))))) | |
for-loop_87) | |
old-props-with-origin_0 | |
(unsafe-immutable-hash-iterate-first ht_73)))))))) | |
(let-values (((the-struct_37) new-stx_0)) | |
(if (syntax?$1 the-struct_37) | |
(let-values (((props6_0) updated-props_0)) | |
(syntax2.1 | |
(syntax-content* the-struct_37) | |
(syntax-scopes the-struct_37) | |
(syntax-shifted-multi-scopes the-struct_37) | |
(syntax-mpi-shifts the-struct_37) | |
(syntax-srcloc the-struct_37) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment