From 388345f35f95490ebc22971f7ab56ff5cbefda94 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 30 May 2018 10:04:54 +0800 Subject: [PATCH] fix `eval` variant used for command-line arguments Closes #2111 --- .../tests/racket/cmdline-eval.rkt | 12 + racket/src/expander/main.rkt | 5 + racket/src/racket/src/eval.c | 12 +- racket/src/racket/src/startup.inc | 1067 +++++++++-------- 4 files changed, 555 insertions(+), 541 deletions(-) create mode 100644 pkgs/racket-test-core/tests/racket/cmdline-eval.rkt diff --git a/pkgs/racket-test-core/tests/racket/cmdline-eval.rkt b/pkgs/racket-test-core/tests/racket/cmdline-eval.rkt new file mode 100644 index 0000000000..ab9ca4d9b0 --- /dev/null +++ b/pkgs/racket-test-core/tests/racket/cmdline-eval.rkt @@ -0,0 +1,12 @@ +#lang racket/base +(require racket/system + compiler/find-exe) + +;; Make sure that `-e` interleaves expansion and evaluation + +(define o (open-output-bytes)) +(parameterize ([current-output-port o]) + (unless (system* (find-exe) "-e" "(begin (define-syntax-rule (m) 10) (m))") + (error "run failed"))) +(unless (equal? "10" (read-line (open-input-bytes (get-output-bytes o)))) + (error "output failed")) diff --git a/racket/src/expander/main.rkt b/racket/src/expander/main.rkt index b8215def35..99cba313db 100644 --- a/racket/src/expander/main.rkt +++ b/racket/src/expander/main.rkt @@ -3,6 +3,8 @@ "common/module-path.rkt" "namespace/namespace.rkt" "eval/main.rkt" + (only-in "eval/api.rkt" + [eval eval-top-level]) "eval/dynamic-require.rkt" "eval/reflect.rkt" "eval/load.rkt" @@ -43,6 +45,9 @@ eval read + ;; Uses handlers: + eval-top-level + load load/use-compiled load-extension diff --git a/racket/src/racket/src/eval.c b/racket/src/racket/src/eval.c index 35bcdd5099..39b4317ad1 100644 --- a/racket/src/racket/src/eval.c +++ b/racket/src/racket/src/eval.c @@ -3546,7 +3546,7 @@ Scheme_Object *scheme_compile_for_eval(Scheme_Object *form, Scheme_Env *env) Scheme_Object *scheme_eval(Scheme_Object *obj, Scheme_Env *env) { Scheme_Object *eval_proc, *a[2]; - eval_proc = scheme_get_startup_export("eval"); + eval_proc = scheme_get_startup_export("eval-top-level"); a[0] = obj; a[1] = env->namespace; return scheme_apply(eval_proc, 2, a); @@ -3555,7 +3555,7 @@ Scheme_Object *scheme_eval(Scheme_Object *obj, Scheme_Env *env) Scheme_Object *scheme_eval_multi(Scheme_Object *obj, Scheme_Env *env) { Scheme_Object *eval_proc, *a[2]; - eval_proc = scheme_get_startup_export("eval"); + eval_proc = scheme_get_startup_export("eval-top-level"); a[0] = obj; a[1] = env->namespace; return scheme_apply_multi(eval_proc, 2, a); @@ -3569,10 +3569,8 @@ static Scheme_Object *finish_eval_with_prompt(void *_data, int argc, Scheme_Obje Scheme_Object *scheme_eval_with_prompt(Scheme_Object *obj, Scheme_Env *env) { - Scheme_Object *expr; - expr = scheme_compile_for_eval(obj, env); return scheme_call_with_prompt(finish_eval_with_prompt, - scheme_make_pair(expr, (Scheme_Object *)env)); + scheme_make_pair(obj, (Scheme_Object *)env)); } static Scheme_Object *finish_eval_multi_with_prompt(void *_data, int argc, Scheme_Object **argv) @@ -3583,10 +3581,8 @@ static Scheme_Object *finish_eval_multi_with_prompt(void *_data, int argc, Schem Scheme_Object *scheme_eval_multi_with_prompt(Scheme_Object *obj, Scheme_Env *env) { - Scheme_Object *expr; - expr = scheme_compile_for_eval(obj, env); return scheme_call_with_prompt_multi(finish_eval_multi_with_prompt, - scheme_make_pair(expr, (Scheme_Object *)env)); + scheme_make_pair(obj, (Scheme_Object *)env)); } Scheme_Object *_scheme_eval_compiled(Scheme_Object *obj, Scheme_Env *env) diff --git a/racket/src/racket/src/startup.inc b/racket/src/racket/src/startup.inc index 3c0c671a75..274e0fd90e 100644 --- a/racket/src/racket/src/startup.inc +++ b/racket/src/racket/src/startup.inc @@ -20,6 +20,7 @@ static const char *startup_source = "(1/dynamic-require dynamic-require)" "(embedded-load embedded-load)" "(1/eval eval)" +"(eval$1 eval-top-level)" "(expand$1 expand)" "(1/find-library-collection-links find-library-collection-links)" "(1/find-library-collection-paths find-library-collection-paths)" @@ -46181,362 +46182,6 @@ static const char *startup_source = "(call-expand-observe obs_59 'return new-s_8))))" "(void)))))" "(void))))))" -"(define-values" -"(do-dynamic-require)" -"(let-values(((do-dynamic-require5_0)" -"(lambda(who2_0 mod-path3_1 sym4_0 fail-k1_0)" -"(begin" -" 'do-dynamic-require5" -"(let-values(((who_24) who2_0))" -"(let-values(((mod-path_5) mod-path3_1))" -"(let-values(((sym_70) sym4_0))" -"(let-values(((fail-k_2)" -"(if(eq? fail-k1_0 unsafe-undefined)" -" default-dynamic-require-fail-thunk" -" fail-k1_0)))" -"(let-values()" -"(let-values((()" -"(begin" -"(if(let-values(((or-part_216)(1/module-path? mod-path_5)))" -"(if or-part_216" -" or-part_216" -"(let-values(((or-part_3)(1/module-path-index? mod-path_5)))" -"(if or-part_3 or-part_3(1/resolved-module-path? mod-path_5)))))" -"(void)" -"(let-values()" -"(raise-argument-error" -" who_24" -" \"(or/c module-path? module-path-index? resolved-module-path?)\"" -" mod-path_5)))" -"(values))))" -"(let-values((()" -"(begin" -"(if(let-values(((or-part_4)(symbol? sym_70)))" -"(if or-part_4" -" or-part_4" -"(let-values(((or-part_5)(not sym_70)))" -"(if or-part_5" -" or-part_5" -"(let-values(((or-part_6)(equal? sym_70 0)))" -"(if or-part_6 or-part_6(void? sym_70)))))))" -"(void)" -"(let-values()" -" (raise-argument-error who_24 \"(or/c symbol? #f 0 void?)\" sym_70)))" -"(values))))" -"(let-values((()" -"(begin" -"(if(if(procedure? fail-k_2)" -"(procedure-arity-includes? fail-k_2 0)" -" #f)" -"(void)" -" (let-values () (raise-argument-error who_24 \"(-> any)\" fail-k_2)))" -"(values))))" -"(let-values(((ns_112)(1/current-namespace)))" -"(let-values(((mpi_47)" -"(if(1/module-path? mod-path_5)" -"(let-values()(1/module-path-index-join mod-path_5 #f))" -"(if(1/module-path-index? mod-path_5)" -"(let-values() mod-path_5)" -"(let-values()" -"(1/module-path-index-join" -"(resolved-module-path->module-path mod-path_5)" -" #f))))))" -"(let-values(((mod-name_22)(1/module-path-index-resolve mpi_47 #t)))" -"(let-values(((phase_106)(namespace-phase ns_112)))" -"(if(not sym_70)" -"(let-values()" -"(let-values(((ns17_0) ns_112)" -"((mpi18_0) mpi_47)" -"((phase19_2) phase_106)" -"((phase20_1) phase_106)" -"((temp21_1) #f))" -"(namespace-module-instantiate!96.1" -" temp21_1" -" phase20_1" -" unsafe-undefined" -" #f" -" ns17_0" -" mpi18_0" -" phase19_2)))" -"(if(equal? sym_70 0)" -"(let-values()" -"(let-values(((ns22_0) ns_112)" -"((mpi23_0) mpi_47)" -"((phase24_3) phase_106)" -"((phase25_0) phase_106))" -"(namespace-module-instantiate!96.1" -" #t" -" phase25_0" -" unsafe-undefined" -" #f" -" ns22_0" -" mpi23_0" -" phase24_3)))" -"(if(void? sym_70)" -"(let-values()" -"(let-values(((ns26_0) ns_112)" -"((mpi27_0) mpi_47)" -"((phase28_4) phase_106)" -"((phase29_0) phase_106))" -"(namespace-module-visit!104.1" -" phase29_0" -" ns26_0" -" mpi27_0" -" phase28_4)))" -"(let-values()" -"(let-values(((m_22)(namespace->module ns_112 mod-name_22)))" -"(let-values((()" -"(begin" -"(if m_22" -"(void)" -"(let-values()" -"(raise-unknown-module-error" -" 'dynamic-require" -" mod-name_22)))" -"(values))))" -"(let-values(((binding/p_5)" -"(hash-ref" -"(hash-ref(module-provides m_22) 0 '#hasheq())" -" sym_70" -" #f)))" -"(if(not binding/p_5)" -"(let-values()" -"(if(eq? fail-k_2 default-dynamic-require-fail-thunk)" -"(raise-arguments-error" -" 'dynamic-require" -" \"name is not provided\"" -" \"name\"" -" sym_70" -" \"module\"" -" mod-name_22)" -"(fail-k_2)))" -"(let-values()" -"(let-values(((binding_5)" -"(provided-as-binding binding/p_5)))" -"(let-values(((ex-sym_2)" -"(module-binding-sym binding_5)))" -"(let-values(((ex-phase_0)" -"(module-binding-phase binding_5)))" -"(let-values((()" -"(begin" -"(let-values(((ns30_2) ns_112)" -"((mpi31_0) mpi_47)" -"((phase32_2) phase_106)" -"((phase33_1) phase_106)" -"((temp34_4) #f))" -"(namespace-module-instantiate!96.1" -" temp34_4" -" phase33_1" -" unsafe-undefined" -" #f" -" ns30_2" -" mpi31_0" -" phase32_2))" -"(values))))" -"(let-values(((ex-mod-name_0)" -"(1/module-path-index-resolve" -"(module-path-index-shift" -"(module-binding-module binding_5)" -"(module-self m_22)" -" mpi_47))))" -"(let-values(((m-ns_16)" -"(let-values(((ns35_0) ns_112)" -"((ex-mod-name36_0)" -" ex-mod-name_0)" -"((temp37_1)" -"(phase-" -" phase_106" -" ex-phase_0))" -"((temp38_3) #t))" -"(namespace->module-namespace82.1" -" #f" -" temp38_3" -" unsafe-undefined" -" ns35_0" -" ex-mod-name36_0" -" temp37_1))))" -"(let-values(((ex-m_0)" -"(namespace->module" -" ns_112" -" ex-mod-name_0)))" -"(let-values(((access_4)" -"(let-values(((or-part_30)" -"(module-access" -" ex-m_0)))" -"(if or-part_30" -" or-part_30" -"(module-compute-access!" -" ex-m_0)))))" -"(let-values((()" -"(begin" -"(if(if(not" -"(eq?" -" 'provided" -"(hash-ref" -"(hash-ref" -" access_4" -" ex-phase_0" -" '#hasheq())" -" ex-sym_2" -" #f)))" -"(if(not" -"(inspector-superior?" -"(current-code-inspector)" -"(namespace-inspector" -" m-ns_16)))" -"(not" -"(if(module-binding-extra-inspector" -" binding_5)" -"(inspector-superior?" -"(module-binding-extra-inspector" -" binding_5)" -"(namespace-inspector" -" m-ns_16))" -" #f))" -" #f)" -" #f)" -"(let-values()" -"(raise-arguments-error" -" 'dynamic-require" -" \"name is protected\"" -" \"name\"" -" sym_70" -" \"module\"" -" mod-name_22))" -"(void))" -"(values))))" -"(let-values(((fail_1)" -"(lambda()" -"(begin" -" 'fail" -"(if(eq?" -" fail-k_2" -" default-dynamic-require-fail-thunk)" -"(raise-arguments-error" -" 'dynamic-require" -" \"name's binding is missing\"" -" \"name\"" -" sym_70" -" \"module\"" -" mod-name_22)" -"(fail-k_2))))))" -"(if(not" -"(provided-as-transformer?" -" binding/p_5))" -"(let-values()" -"(namespace-get-variable" -" m-ns_16" -" ex-phase_0" -" ex-sym_2" -" fail_1))" -"(let-values()" -"(let-values(((missing_1)" -"(gensym 'missing)))" -"(let-values((()" -"(begin" -"(let-values(((ns39_0)" -" ns_112)" -"((mpi40_1)" -" mpi_47)" -"((phase41_2)" -" phase_106)" -"((phase42_0)" -" phase_106))" -"(namespace-module-visit!104.1" -" phase42_0" -" ns39_0" -" mpi40_1" -" phase41_2))" -"(values))))" -"(let-values(((t_59)" -"(namespace-get-transformer" -" m-ns_16" -" ex-phase_0" -" ex-sym_2" -" missing_1)))" -"(if(eq? t_59 missing_1)" -"(let-values()(fail_1))" -"(let-values()" -"(let-values(((tmp-ns_0)" -"(let-values(((ns43_0)" -" ns_112))" -"(new-namespace8.1" -" #t" -" unsafe-undefined" -" ns43_0))))" -"(let-values(((mod-path_17)" -"(resolved-module-path->module-path" -" mod-name_22)))" -"(begin" -"(1/namespace-require" -" mod-path_17" -" tmp-ns_0)" -"(with-continuation-mark" -" parameterization-key" -"(extend-parameterization" -"(continuation-mark-set-first" -" #f" -" parameterization-key)" -" 1/current-namespace" -" tmp-ns_0)" -"(let-values()" -"(1/eval" -" sym_70" -" tmp-ns_0))))))))))))))))))))))))))))))))))))))))))))))))" -"(case-lambda" -"((who_25 mod-path_18 sym_87)(begin(do-dynamic-require5_0 who_25 mod-path_18 sym_87 unsafe-undefined)))" -"((who_26 mod-path_19 sym_88 fail-k1_1)(do-dynamic-require5_0 who_26 mod-path_19 sym_88 fail-k1_1)))))" -" (define-values (default-dynamic-require-fail-thunk) (lambda () (begin (error \"failed\"))))" -"(define-values" -"(1/dynamic-require)" -"(let-values(((dynamic-require10_0)" -"(lambda(mod-path8_3 sym9_0 fail-k7_0)" -"(begin" -" 'dynamic-require10" -"(let-values(((mod-path_20) mod-path8_3))" -"(let-values(((sym_89) sym9_0))" -"(let-values(((fail-k_3)" -"(if(eq? fail-k7_0 unsafe-undefined)" -" default-dynamic-require-fail-thunk" -" fail-k7_0)))" -"(let-values()" -"(let-values()" -"(let-values()(do-dynamic-require 'dynamic-require mod-path_20 sym_89 fail-k_3)))))))))))" -"(case-lambda" -"((mod-path_21 sym_90)(begin 'dynamic-require(dynamic-require10_0 mod-path_21 sym_90 unsafe-undefined)))" -"((mod-path_22 sym_91 fail-k7_1)(dynamic-require10_0 mod-path_22 sym_91 fail-k7_1)))))" -"(define-values" -"(1/dynamic-require-for-syntax)" -"(let-values(((dynamic-require-for-syntax15_0)" -"(lambda(mod-path13_0 sym14_0 fail-k12_0)" -"(begin" -" 'dynamic-require-for-syntax15" -"(let-values(((mod-path_23) mod-path13_0))" -"(let-values(((sym_92) sym14_0))" -"(let-values(((fail-k_4)" -"(if(eq? fail-k12_0 unsafe-undefined)" -" default-dynamic-require-fail-thunk" -" fail-k12_0)))" -"(let-values()" -"(let-values()" -"(let-values()" -"(with-continuation-mark" -" parameterization-key" -"(extend-parameterization" -"(continuation-mark-set-first #f parameterization-key)" -" 1/current-namespace" -"(let-values(((ns_113)(1/current-namespace)))" -"(namespace->namespace-at-phase ns_113(add1(namespace-phase ns_113)))))" -"(let-values()" -"(do-dynamic-require" -" 'dynamic-require-for-syntax" -" mod-path_23" -" sym_92" -" fail-k_4)))))))))))))" -"(case-lambda" -"((mod-path_24 sym_93)" -"(begin 'dynamic-require-for-syntax(dynamic-require-for-syntax15_0 mod-path_24 sym_93 unsafe-undefined)))" -"((mod-path_25 sym_94 fail-k12_1)(dynamic-require-for-syntax15_0 mod-path_25 sym_94 fail-k12_1)))))" " (define-values (replace-me) (lambda (who_0) (begin (lambda args_6 (error who_0 \"this stub must be replaced\")))))" "(define-values" "(1/current-eval)" @@ -46778,6 +46423,454 @@ static const char *startup_source = "(lambda(p_58)(begin 'relative-path-string?(if(path-string? p_58)(relative-path? p_58) #f))))" "(define-values(to-path)(lambda(p_59)(begin(if(string? p_59)(string->path p_59) p_59))))" "(define-values" +"(eval$1)" +"(let-values()" +"(let-values()" +"(case-lambda" +"((s_72)(begin 'eval((1/current-eval)(intro s_72))))" +"((s_189 ns_112)" +"(begin" +" (if (1/namespace? ns_112) (void) (let-values () (raise-argument-error 'eval \"namespace?\" ns_112)))" +"(with-continuation-mark" +" parameterization-key" +"(extend-parameterization(continuation-mark-set-first #f parameterization-key) 1/current-namespace ns_112)" +"(let-values()((1/current-eval)(intro s_189 ns_112))))))))))" +"(define-values" +"(1/eval-syntax)" +"(let-values()" +"(let-values()" +"(case-lambda" +"((s_8)" +"(begin" +" 'eval-syntax" +"(begin" +" (if (syntax?$1 s_8) (void) (let-values () (raise-argument-error 'eval-syntax \"syntax?\" s_8)))" +"((1/current-eval) s_8))))" +"((s_2 ns_58)" +"(begin" +" (if (syntax?$1 s_2) (void) (let-values () (raise-argument-error 'eval-syntax \"syntax?\" s_2)))" +" (if (1/namespace? ns_58) (void) (let-values () (raise-argument-error 'eval-syntax \"namespace?\" ns_58)))" +"(with-continuation-mark" +" parameterization-key" +"(extend-parameterization(continuation-mark-set-first #f parameterization-key) 1/current-namespace ns_58)" +"(let-values()((1/current-eval) s_2)))))))))" +"(define-values(compile$1)(lambda(s_177)(begin 'compile((1/current-compile)(intro s_177) #f))))" +"(define-values" +"(1/compile-syntax)" +"(lambda(s_483)" +"(begin" +" 'compile-syntax" +"(let-values()" +"(let-values()" +"(begin" +" (if (syntax?$1 s_483) (void) (let-values () (raise-argument-error 'compile-syntax \"syntax?\" s_483)))" +"((1/current-compile) s_483 #f)))))))" +"(define-values(1/expand)(lambda(s_9)(begin 'expand(expand$1(intro s_9)(1/current-namespace) #t))))" +"(define-values" +"(1/expand-syntax)" +"(lambda(s_439)" +"(begin" +" 'expand-syntax" +"(let-values()" +"(let-values()" +"(begin" +" (if (syntax?$1 s_439) (void) (let-values () (raise-argument-error 'expand-syntax \"syntax?\" s_439)))" +"(expand$1 s_439(1/current-namespace) #t)))))))" +"(define-values(1/expand-once)(lambda(s_446)(begin 'expand-once(expand-once$1(intro s_446)))))" +"(define-values" +"(1/expand-syntax-once)" +"(lambda(s_178)" +"(begin" +" 'expand-syntax-once" +"(let-values()" +"(let-values()" +"(begin" +" (if (syntax?$1 s_178) (void) (let-values () (raise-argument-error 'expand-syntax-once \"syntax?\" s_178)))" +"(expand-once$1 s_178)))))))" +"(define-values(1/expand-to-top-form)(lambda(s_75)(begin 'expand-to-top-form(expand-to-top-form$1(intro s_75)))))" +"(define-values" +"(1/expand-syntax-to-top-form)" +"(lambda(s_170)" +"(begin" +" 'expand-syntax-to-top-form" +"(let-values()" +"(let-values()" +"(begin" +"(if(syntax?$1 s_170)" +"(void)" +" (let-values () (raise-argument-error 'expand-syntax-to-top-form \"syntax?\" s_170)))" +"(expand-to-top-form$1 s_170)))))))" +"(define-values" +"(intro)" +"(let-values(((intro3_0)" +"(lambda(given-s2_0 ns1_6)" +"(begin" +" 'intro3" +"(let-values(((given-s_1) given-s2_0))" +"(let-values(((ns_113)(if(eq? ns1_6 unsafe-undefined)(1/current-namespace) ns1_6)))" +"(let-values()" +"(let-values(((s_304)(if(syntax?$1 given-s_1) given-s_1(1/datum->syntax #f given-s_1))))" +"(1/namespace-syntax-introduce s_304 ns_113)))))))))" +"(case-lambda" +"((given-s_2)(begin(intro3_0 given-s_2 unsafe-undefined)))" +"((given-s_3 ns1_7)(intro3_0 given-s_3 ns1_7)))))" +"(define-values" +"(do-dynamic-require)" +"(let-values(((do-dynamic-require5_0)" +"(lambda(who2_0 mod-path3_1 sym4_0 fail-k1_0)" +"(begin" +" 'do-dynamic-require5" +"(let-values(((who_24) who2_0))" +"(let-values(((mod-path_5) mod-path3_1))" +"(let-values(((sym_70) sym4_0))" +"(let-values(((fail-k_2)" +"(if(eq? fail-k1_0 unsafe-undefined)" +" default-dynamic-require-fail-thunk" +" fail-k1_0)))" +"(let-values()" +"(let-values((()" +"(begin" +"(if(let-values(((or-part_216)(1/module-path? mod-path_5)))" +"(if or-part_216" +" or-part_216" +"(let-values(((or-part_3)(1/module-path-index? mod-path_5)))" +"(if or-part_3 or-part_3(1/resolved-module-path? mod-path_5)))))" +"(void)" +"(let-values()" +"(raise-argument-error" +" who_24" +" \"(or/c module-path? module-path-index? resolved-module-path?)\"" +" mod-path_5)))" +"(values))))" +"(let-values((()" +"(begin" +"(if(let-values(((or-part_4)(symbol? sym_70)))" +"(if or-part_4" +" or-part_4" +"(let-values(((or-part_5)(not sym_70)))" +"(if or-part_5" +" or-part_5" +"(let-values(((or-part_6)(equal? sym_70 0)))" +"(if or-part_6 or-part_6(void? sym_70)))))))" +"(void)" +"(let-values()" +" (raise-argument-error who_24 \"(or/c symbol? #f 0 void?)\" sym_70)))" +"(values))))" +"(let-values((()" +"(begin" +"(if(if(procedure? fail-k_2)" +"(procedure-arity-includes? fail-k_2 0)" +" #f)" +"(void)" +" (let-values () (raise-argument-error who_24 \"(-> any)\" fail-k_2)))" +"(values))))" +"(let-values(((ns_114)(1/current-namespace)))" +"(let-values(((mpi_47)" +"(if(1/module-path? mod-path_5)" +"(let-values()(1/module-path-index-join mod-path_5 #f))" +"(if(1/module-path-index? mod-path_5)" +"(let-values() mod-path_5)" +"(let-values()" +"(1/module-path-index-join" +"(resolved-module-path->module-path mod-path_5)" +" #f))))))" +"(let-values(((mod-name_22)(1/module-path-index-resolve mpi_47 #t)))" +"(let-values(((phase_106)(namespace-phase ns_114)))" +"(if(not sym_70)" +"(let-values()" +"(let-values(((ns17_0) ns_114)" +"((mpi18_0) mpi_47)" +"((phase19_2) phase_106)" +"((phase20_1) phase_106)" +"((temp21_1) #f))" +"(namespace-module-instantiate!96.1" +" temp21_1" +" phase20_1" +" unsafe-undefined" +" #f" +" ns17_0" +" mpi18_0" +" phase19_2)))" +"(if(equal? sym_70 0)" +"(let-values()" +"(let-values(((ns22_0) ns_114)" +"((mpi23_0) mpi_47)" +"((phase24_3) phase_106)" +"((phase25_0) phase_106))" +"(namespace-module-instantiate!96.1" +" #t" +" phase25_0" +" unsafe-undefined" +" #f" +" ns22_0" +" mpi23_0" +" phase24_3)))" +"(if(void? sym_70)" +"(let-values()" +"(let-values(((ns26_0) ns_114)" +"((mpi27_0) mpi_47)" +"((phase28_4) phase_106)" +"((phase29_0) phase_106))" +"(namespace-module-visit!104.1" +" phase29_0" +" ns26_0" +" mpi27_0" +" phase28_4)))" +"(let-values()" +"(let-values(((m_22)(namespace->module ns_114 mod-name_22)))" +"(let-values((()" +"(begin" +"(if m_22" +"(void)" +"(let-values()" +"(raise-unknown-module-error" +" 'dynamic-require" +" mod-name_22)))" +"(values))))" +"(let-values(((binding/p_5)" +"(hash-ref" +"(hash-ref(module-provides m_22) 0 '#hasheq())" +" sym_70" +" #f)))" +"(if(not binding/p_5)" +"(let-values()" +"(if(eq? fail-k_2 default-dynamic-require-fail-thunk)" +"(raise-arguments-error" +" 'dynamic-require" +" \"name is not provided\"" +" \"name\"" +" sym_70" +" \"module\"" +" mod-name_22)" +"(fail-k_2)))" +"(let-values()" +"(let-values(((binding_5)" +"(provided-as-binding binding/p_5)))" +"(let-values(((ex-sym_2)" +"(module-binding-sym binding_5)))" +"(let-values(((ex-phase_0)" +"(module-binding-phase binding_5)))" +"(let-values((()" +"(begin" +"(let-values(((ns30_2) ns_114)" +"((mpi31_0) mpi_47)" +"((phase32_2) phase_106)" +"((phase33_1) phase_106)" +"((temp34_4) #f))" +"(namespace-module-instantiate!96.1" +" temp34_4" +" phase33_1" +" unsafe-undefined" +" #f" +" ns30_2" +" mpi31_0" +" phase32_2))" +"(values))))" +"(let-values(((ex-mod-name_0)" +"(1/module-path-index-resolve" +"(module-path-index-shift" +"(module-binding-module binding_5)" +"(module-self m_22)" +" mpi_47))))" +"(let-values(((m-ns_16)" +"(let-values(((ns35_0) ns_114)" +"((ex-mod-name36_0)" +" ex-mod-name_0)" +"((temp37_1)" +"(phase-" +" phase_106" +" ex-phase_0))" +"((temp38_3) #t))" +"(namespace->module-namespace82.1" +" #f" +" temp38_3" +" unsafe-undefined" +" ns35_0" +" ex-mod-name36_0" +" temp37_1))))" +"(let-values(((ex-m_0)" +"(namespace->module" +" ns_114" +" ex-mod-name_0)))" +"(let-values(((access_4)" +"(let-values(((or-part_30)" +"(module-access" +" ex-m_0)))" +"(if or-part_30" +" or-part_30" +"(module-compute-access!" +" ex-m_0)))))" +"(let-values((()" +"(begin" +"(if(if(not" +"(eq?" +" 'provided" +"(hash-ref" +"(hash-ref" +" access_4" +" ex-phase_0" +" '#hasheq())" +" ex-sym_2" +" #f)))" +"(if(not" +"(inspector-superior?" +"(current-code-inspector)" +"(namespace-inspector" +" m-ns_16)))" +"(not" +"(if(module-binding-extra-inspector" +" binding_5)" +"(inspector-superior?" +"(module-binding-extra-inspector" +" binding_5)" +"(namespace-inspector" +" m-ns_16))" +" #f))" +" #f)" +" #f)" +"(let-values()" +"(raise-arguments-error" +" 'dynamic-require" +" \"name is protected\"" +" \"name\"" +" sym_70" +" \"module\"" +" mod-name_22))" +"(void))" +"(values))))" +"(let-values(((fail_1)" +"(lambda()" +"(begin" +" 'fail" +"(if(eq?" +" fail-k_2" +" default-dynamic-require-fail-thunk)" +"(raise-arguments-error" +" 'dynamic-require" +" \"name's binding is missing\"" +" \"name\"" +" sym_70" +" \"module\"" +" mod-name_22)" +"(fail-k_2))))))" +"(if(not" +"(provided-as-transformer?" +" binding/p_5))" +"(let-values()" +"(namespace-get-variable" +" m-ns_16" +" ex-phase_0" +" ex-sym_2" +" fail_1))" +"(let-values()" +"(let-values(((missing_1)" +"(gensym 'missing)))" +"(let-values((()" +"(begin" +"(let-values(((ns39_0)" +" ns_114)" +"((mpi40_1)" +" mpi_47)" +"((phase41_2)" +" phase_106)" +"((phase42_0)" +" phase_106))" +"(namespace-module-visit!104.1" +" phase42_0" +" ns39_0" +" mpi40_1" +" phase41_2))" +"(values))))" +"(let-values(((t_59)" +"(namespace-get-transformer" +" m-ns_16" +" ex-phase_0" +" ex-sym_2" +" missing_1)))" +"(if(eq? t_59 missing_1)" +"(let-values()(fail_1))" +"(let-values()" +"(let-values(((tmp-ns_0)" +"(let-values(((ns43_0)" +" ns_114))" +"(new-namespace8.1" +" #t" +" unsafe-undefined" +" ns43_0))))" +"(let-values(((mod-path_17)" +"(resolved-module-path->module-path" +" mod-name_22)))" +"(begin" +"(1/namespace-require" +" mod-path_17" +" tmp-ns_0)" +"(with-continuation-mark" +" parameterization-key" +"(extend-parameterization" +"(continuation-mark-set-first" +" #f" +" parameterization-key)" +" 1/current-namespace" +" tmp-ns_0)" +"(let-values()" +"(1/eval" +" sym_70" +" tmp-ns_0))))))))))))))))))))))))))))))))))))))))))))))))" +"(case-lambda" +"((who_25 mod-path_18 sym_87)(begin(do-dynamic-require5_0 who_25 mod-path_18 sym_87 unsafe-undefined)))" +"((who_26 mod-path_19 sym_88 fail-k1_1)(do-dynamic-require5_0 who_26 mod-path_19 sym_88 fail-k1_1)))))" +" (define-values (default-dynamic-require-fail-thunk) (lambda () (begin (error \"failed\"))))" +"(define-values" +"(1/dynamic-require)" +"(let-values(((dynamic-require10_0)" +"(lambda(mod-path8_3 sym9_0 fail-k7_0)" +"(begin" +" 'dynamic-require10" +"(let-values(((mod-path_20) mod-path8_3))" +"(let-values(((sym_89) sym9_0))" +"(let-values(((fail-k_3)" +"(if(eq? fail-k7_0 unsafe-undefined)" +" default-dynamic-require-fail-thunk" +" fail-k7_0)))" +"(let-values()" +"(let-values()" +"(let-values()(do-dynamic-require 'dynamic-require mod-path_20 sym_89 fail-k_3)))))))))))" +"(case-lambda" +"((mod-path_21 sym_90)(begin 'dynamic-require(dynamic-require10_0 mod-path_21 sym_90 unsafe-undefined)))" +"((mod-path_22 sym_91 fail-k7_1)(dynamic-require10_0 mod-path_22 sym_91 fail-k7_1)))))" +"(define-values" +"(1/dynamic-require-for-syntax)" +"(let-values(((dynamic-require-for-syntax15_0)" +"(lambda(mod-path13_0 sym14_0 fail-k12_0)" +"(begin" +" 'dynamic-require-for-syntax15" +"(let-values(((mod-path_23) mod-path13_0))" +"(let-values(((sym_92) sym14_0))" +"(let-values(((fail-k_4)" +"(if(eq? fail-k12_0 unsafe-undefined)" +" default-dynamic-require-fail-thunk" +" fail-k12_0)))" +"(let-values()" +"(let-values()" +"(let-values()" +"(with-continuation-mark" +" parameterization-key" +"(extend-parameterization" +"(continuation-mark-set-first #f parameterization-key)" +" 1/current-namespace" +"(let-values(((ns_115)(1/current-namespace)))" +"(namespace->namespace-at-phase ns_115(add1(namespace-phase ns_115)))))" +"(let-values()" +"(do-dynamic-require" +" 'dynamic-require-for-syntax" +" mod-path_23" +" sym_92" +" fail-k_4)))))))))))))" +"(case-lambda" +"((mod-path_24 sym_93)" +"(begin 'dynamic-require-for-syntax(dynamic-require-for-syntax15_0 mod-path_24 sym_93 unsafe-undefined)))" +"((mod-path_25 sym_94 fail-k12_1)(dynamic-require-for-syntax15_0 mod-path_25 sym_94 fail-k12_1)))))" +"(define-values" "(1/load)" "(lambda(s_0)" "(begin" @@ -47231,11 +47324,11 @@ static const char *startup_source = "(lambda(k_38 v_205)" "(hash-set! ht_151 k_38(cons dir_1 v_205))))))" "(let-values()" -"(let-values(((s_483)(string->symbol(car p_67))))" +"(let-values(((s_484)(string->symbol(car p_67))))" "(hash-set!" " ht_151" -" s_483" -"(cons(box dir_1)(hash-ref ht_151 s_483 null)))))))))" +" s_484" +"(cons(box dir_1)(hash-ref ht_151 s_484 null)))))))))" "(void)))" " v_204)" "(hash-for-each" @@ -48548,8 +48641,8 @@ static const char *startup_source = "((config34_0) config_18)" " ((temp35_2) \"~a\")" "((temp36_3)" -"(let-values(((s_484)(exn-message exn_3)))" -" (regexp-replace \"^[a-z-]*: \" s_484 \"\")))" +"(let-values(((s_485)(exn-message exn_3)))" +" (regexp-replace \"^[a-z-]*: \" s_485 \"\")))" "((temp37_2)(exn-continuation-marks exn_3)))" "(reader-error12.1" " temp37_2" @@ -49688,9 +49781,9 @@ static const char *startup_source = " convert-mode72_0))))))))))))))" "(case-lambda" "((s_307)(begin 'string->number(string->number5_0 s_307 10 'number-or-false unsafe-undefined)))" -"((s_485 radix_1 convert-mode_1 decimal-mode3_1)(string->number5_0 s_485 radix_1 convert-mode_1 decimal-mode3_1))" +"((s_486 radix_1 convert-mode_1 decimal-mode3_1)(string->number5_0 s_486 radix_1 convert-mode_1 decimal-mode3_1))" "((s_186 radix_2 convert-mode2_1)(string->number5_0 s_186 radix_2 convert-mode2_1 unsafe-undefined))" -"((s_486 radix1_1)(string->number5_0 s_486 radix1_1 'number-or-false unsafe-undefined)))))" +"((s_487 radix1_1)(string->number5_0 s_487 radix1_1 'number-or-false unsafe-undefined)))))" "(define-values" "(do-string->number17.1)" "(lambda(in-complex8_0 radix-set?7_0 s11_1 start12_0 end13_0 radix14_0 exactness15_0 convert-mode16_0)" @@ -50887,7 +50980,7 @@ static const char *startup_source = " convert-mode_5))))))))))))" "(define-values" "(string->decimal-number)" -"(lambda(s_487 start_46 end_36 dot-pos_3 radix_8 exactness_4 convert-mode_6)" +"(lambda(s_488 start_46 end_36 dot-pos_3 radix_8 exactness_4 convert-mode_6)" "(begin" "(let-values(((get-exact?_0)" "(let-values(((or-part_186)(eq? exactness_4 'exact)))" @@ -50903,22 +50996,22 @@ static const char *startup_source = "(let-values()" "(if(eq? convert-mode_6 'must-read)" "(let-values()" -" (format \"misplaced `#` in `~.a`\" (substring s_487 start_46 end_36)))" +" (format \"misplaced `#` in `~.a`\" (substring s_488 start_46 end_36)))" "(let-values() #f)))" "(let-values()" "(let-values(((n_34)(string->number$1 new-str_0 radix_8)))" "(if(not n_34)" -"(let-values()(fail-bad-number convert-mode_6 s_487 start_46 end_36))" +"(let-values()(fail-bad-number convert-mode_6 s_488 start_46 end_36))" "(if(not get-exact?_0)" "(let-values()" -"(if(if(eqv? n_34 0)(char=?(string-ref s_487 start_46) '#\\-) #f)" +"(if(if(eqv? n_34 0)(char=?(string-ref s_488 start_46) '#\\-) #f)" " -0.0" "(exact->inexact n_34)))" "(if(if dot-pos_3 get-exact?_0 #f)" "(let-values()(/ n_34(expt 10(- end_36 dot-pos_3 1))))" "(let-values() n_34))))))))" "(let-values()" -"(let-values(((c_80)(string-ref s_487 i_172)))" +"(let-values(((c_80)(string-ref s_488 i_172)))" "(if(char=? c_80 '#\\.)" "(let-values()" "(if get-exact?_0" @@ -50955,7 +51048,7 @@ static const char *startup_source = "(let-values()" "(format" " \"misplaced `#` in `~.a`\"" -"(substring s_487 start_46 end_36)))" +"(substring s_488 start_46 end_36)))" "(let-values() #f)))))" "(let-values()" "(begin" @@ -50967,19 +51060,19 @@ static const char *startup_source = " end_36))))))" "(define-values" "(string->exact-integer-number)" -"(lambda(s_488 start_47 end_37 radix_9 convert-mode_7)" +"(lambda(s_489 start_47 end_37 radix_9 convert-mode_7)" "(begin" -"(if(hashes? s_488 start_47 end_37)" +"(if(hashes? s_489 start_47 end_37)" "(let-values()" "(if(eq? convert-mode_7 'must-read)" -" (let-values () (format \"misplaced `#` in `~.a`\" (substring s_488 start_47 end_37)))" +" (let-values () (format \"misplaced `#` in `~.a`\" (substring s_489 start_47 end_37)))" "(let-values() #f)))" "(let-values()" -"(let-values(((n_35)(string->number$1(maybe-substring s_488 start_47 end_37) radix_9)))" +"(let-values(((n_35)(string->number$1(maybe-substring s_489 start_47 end_37) radix_9)))" "(if(not n_35)" "(let-values()" "(if(eq? convert-mode_7 'must-read)" -" (let-values () (format \"bad exponent `~.a`\" (substring s_488 start_47 end_37)))" +" (let-values () (format \"bad exponent `~.a`\" (substring s_489 start_47 end_37)))" "(let-values() #f)))" "(let-values() n_35))))))))" "(define-values" @@ -51059,7 +51152,7 @@ static const char *startup_source = " combine61_0)" "(begin" " 'read-for-special-compound62" -"(let-values(((s_489) s54_0))" +"(let-values(((s_490) s54_0))" "(let-values(((start_49) start55_0))" "(let-values(((end_39) end56_0))" "(let-values(((radix_10) radix57_0))" @@ -51082,7 +51175,7 @@ static const char *startup_source = "(let-values()(fail-extflonum convert-mode_10 v_241))" "(let-values()" "(let-values(((v2_7)" -"(let-values(((s173_0) s_489)" +"(let-values(((s173_0) s_490)" "((start174_0) start_49)" "((end175_0) end_39)" "((radix176_0) radix_10)" @@ -56439,11 +56532,11 @@ static const char *startup_source = "(let-values()" "(raise-argument-error 'module-declared? module-reference-str mod_4)))" "(values))))" -"(let-values(((ns_114)(1/current-namespace)))" +"(let-values(((ns_116)(1/current-namespace)))" "(let-values(((name_40)" "(let-values(((mod31_0) mod_4)((load?32_0) load?_3))" "(reference->resolved-module-path27.1 load?32_0 mod31_0))))" -"(if(namespace->module ns_114 name_40) #t #f)))))))))))))" +"(if(namespace->module ns_116 name_40) #t #f)))))))))))))" "(case-lambda" "((mod_5)(begin 'module-declared?(module-declared?3_0 mod_5 #f)))" "((mod_6 load?1_1)(module-declared?3_0 mod_6 load?1_1)))))" @@ -56640,7 +56733,7 @@ static const char *startup_source = " 'namespace-unprotect-module22" "(let-values(((insp_18) insp20_0))" "(let-values(((mod_21) mod21_0))" -"(let-values(((ns_115)(if(eq? ns19_1 unsafe-undefined)(1/current-namespace) ns19_1)))" +"(let-values(((ns_117)(if(eq? ns19_1 unsafe-undefined)(1/current-namespace) ns19_1)))" "(let-values()" "(let-values()" "(let-values()" @@ -56666,20 +56759,20 @@ static const char *startup_source = "(values))))" "(let-values((()" "(begin" -"(if(1/namespace? ns_115)" +"(if(1/namespace? ns_117)" "(void)" "(let-values()" "(raise-argument-error" " 'namespace-unprotect-module" " \"namespace?\"" -" ns_115)))" +" ns_117)))" "(values))))" "(let-values(((name_70)" "(let-values(((mod51_0) mod_21)((temp52_3) #f))" "(reference->resolved-module-path27.1 temp52_3 mod51_0))))" -"(let-values(((phase_6)(namespace-phase ns_115)))" +"(let-values(((phase_6)(namespace-phase ns_117)))" "(let-values(((m-ns_18)" -"(let-values(((ns53_3) ns_115)" +"(let-values(((ns53_3) ns_117)" "((name54_0) name_70)" "((phase55_1) phase_6))" "(namespace->module-namespace82.1" @@ -56710,9 +56803,9 @@ static const char *startup_source = "((insp_9 mod_23 ns19_2)(namespace-unprotect-module22_0 insp_9 mod_23 ns19_2)))))" "(define-values" "(namespace->module/complain)" -"(lambda(who_33 ns_116 name_71)" +"(lambda(who_33 ns_118 name_71)" "(begin" -"(let-values(((or-part_210)(namespace->module ns_116 name_71)))" +"(let-values(((or-part_210)(namespace->module ns_118 name_71)))" "(if or-part_210" " or-part_210" " (raise-arguments-error who_33 \"unknown module in the current namespace\" \"name\" name_71))))))" @@ -57443,7 +57536,7 @@ static const char *startup_source = "(lambda(s9_1 context10_0 stop-ids11_0 intdefs7_0 lift-key8_0)" "(begin" " 'local-expand/capture-lifts12" -"(let-values(((s_490) s9_1))" +"(let-values(((s_491) s9_1))" "(let-values(((context_13) context10_0))" "(let-values(((stop-ids_5) stop-ids11_0))" "(let-values(((intdefs_5) intdefs7_0))" @@ -57451,7 +57544,7 @@ static const char *startup_source = "(if(eq? lift-key8_0 unsafe-undefined)(generate-lift-key) lift-key8_0)))" "(let-values()" "(let-values(((temp58_3) 'local-expand)" -"((s59_0) s_490)" +"((s59_0) s_491)" "((context60_0) context_13)" "((stop-ids61_0) stop-ids_5)" "((intdefs62_0) intdefs_5)" @@ -57512,8 +57605,8 @@ static const char *startup_source = "(case-lambda" "((s_187 context_18 stop-ids_10)" "(begin 'local-transformer-expand(local-transformer-expand18_0 s_187 context_18 stop-ids_10 '())))" -"((s_491 context_19 stop-ids_11 intdefs14_1)" -"(local-transformer-expand18_0 s_491 context_19 stop-ids_11 intdefs14_1)))))" +"((s_492 context_19 stop-ids_11 intdefs14_1)" +"(local-transformer-expand18_0 s_492 context_19 stop-ids_11 intdefs14_1)))))" "(define-values" "(1/local-transformer-expand/capture-lifts)" "(let-values(((local-transformer-expand/capture-lifts25_0)" @@ -57555,20 +57648,20 @@ static const char *startup_source = "(local-transformer-expand/capture-lifts25_0 s_19 context_21 stop-ids_13 '() unsafe-undefined)))" "((s_449 context_22 stop-ids_14 intdefs_9 lift-key21_1)" "(local-transformer-expand/capture-lifts25_0 s_449 context_22 stop-ids_14 intdefs_9 lift-key21_1))" -"((s_492 context_23 stop-ids_15 intdefs20_1)" -"(local-transformer-expand/capture-lifts25_0 s_492 context_23 stop-ids_15 intdefs20_1 unsafe-undefined)))))" +"((s_493 context_23 stop-ids_15 intdefs20_1)" +"(local-transformer-expand/capture-lifts25_0 s_493 context_23 stop-ids_15 intdefs20_1 unsafe-undefined)))))" "(define-values" "(1/syntax-local-expand-expression)" "(let-values(((syntax-local-expand-expression29_0)" "(lambda(s28_1 opaque-only?27_0)" "(begin" " 'syntax-local-expand-expression29" -"(let-values(((s_493) s28_1))" +"(let-values(((s_494) s28_1))" "(let-values(((opaque-only?_0) opaque-only?27_0))" "(let-values()" "(let-values(((exp-s_11)" "(let-values(((temp79_0) 'syntax-local-expand-expression)" -"((s80_2) s_493)" +"((s80_2) s_494)" "((temp81_3) 'expression)" "((null82_0) null)" "((temp83_3) #f)" @@ -57612,7 +57705,7 @@ static const char *startup_source = "(values(if(not opaque-only?_0) exp-s_11 #f) ae_1))))))))))))" "(case-lambda" "((s_46)(begin 'syntax-local-expand-expression(syntax-local-expand-expression29_0 s_46 #f)))" -"((s_484 opaque-only?27_1)(syntax-local-expand-expression29_0 s_484 opaque-only?27_1)))))" +"((s_485 opaque-only?27_1)(syntax-local-expand-expression29_0 s_485 opaque-only?27_1)))))" "(define-values" "(do-local-expand50.1)" "(lambda(as-transformer?32_0" @@ -57649,7 +57742,7 @@ static const char *startup_source = "(let-values(((skip-log-exit?_0) skip-log-exit?37_0))" "(let-values()" "(let-values()" -"(let-values(((s_494)(datum->syntax$1 #f s-or-s-exp_0)))" +"(let-values(((s_495)(datum->syntax$1 #f s-or-s-exp_0)))" "(let-values((()" "(begin" "(if(let-values(((or-part_368)(list? context_24)))" @@ -57745,12 +57838,12 @@ static const char *startup_source = "(call-expand-observe" " obs_7" " 'enter-local" -" s_494)))" +" s_495)))" "(void)))" "(values))))" "(let-values(((input-s_1)" "(let-values(((temp97_2)" -"(flip-introduction-scopes s_494 ctx_73))" +"(flip-introduction-scopes s_495 ctx_73))" "((intdefs98_0) intdefs_10))" "(add-intdef-scopes24.1" " unsafe-undefined" @@ -57959,21 +58052,21 @@ static const char *startup_source = "(1/syntax-local-phase-level)))" "(let-values()(syntax-arm$1 s_2 insp_21))))))))))))))))" "(case-lambda" -"((s_495)(begin 'syntax-arm(syntax-arm4_0 s_495 #f #f)))" +"((s_496)(begin 'syntax-arm(syntax-arm4_0 s_496 #f #f)))" "((s_446 maybe-insp_1 use-mode?2_1)(syntax-arm4_0 s_446 maybe-insp_1 use-mode?2_1))" "((s_75 maybe-insp1_1)(syntax-arm4_0 s_75 maybe-insp1_1 #f)))))" "(define-values" "(1/syntax-disarm)" -"(lambda(s_496 maybe-insp_2)" +"(lambda(s_497 maybe-insp_2)" "(begin" " 'syntax-disarm" "(let-values()" "(let-values()" "(let-values((()" "(begin" -"(if(syntax?$1 s_496)" +"(if(syntax?$1 s_497)" "(void)" -" (let-values () (raise-argument-error 'syntax-disarm \"syntax?\" s_496)))" +" (let-values () (raise-argument-error 'syntax-disarm \"syntax?\" s_497)))" "(values))))" "(let-values((()" "(begin" @@ -57982,7 +58075,7 @@ static const char *startup_source = "(void)" " (let-values () (raise-argument-error 'syntax-disarm \"(or/c inspector? #f)\" maybe-insp_2)))" "(values))))" -"(let-values(((insp_22)(inspector-for-taint maybe-insp_2)))(syntax-disarm$1 s_496 insp_22)))))))))" +"(let-values(((insp_22)(inspector-for-taint maybe-insp_2)))(syntax-disarm$1 s_497 insp_22)))))))))" "(define-values" "(1/syntax-rearm)" "(let-values(((syntax-rearm9_0)" @@ -58134,7 +58227,7 @@ static const char *startup_source = "(let-values()" " (raise-argument-error 'variable-reference->module-source \"variable-reference?\" vr_5)))" "(values))))" -"(let-values(((ns_117)(variable-reference->namespace* vr_5)))(namespace-source-name ns_117))))))))" +"(let-values(((ns_119)(variable-reference->namespace* vr_5)))(namespace-source-name ns_119))))))))" "(define-values" "(1/variable-reference->phase)" "(lambda(vr_6)" @@ -58469,7 +58562,7 @@ static const char *startup_source = "(lambda(eval1_0 main-ids2_0 read-ids3_0 ns7_1)" "(begin" " 'declare-kernel-module!8" -"(let-values(((ns_118) ns7_1))" +"(let-values(((ns_120) ns7_1))" "(let-values()" "(let-values(((main-ids_0) main-ids2_0))" "(let-values(((read-ids_0) read-ids3_0))" @@ -58486,9 +58579,9 @@ static const char *startup_source = " 1/variable-reference-constant?" " 'variable-reference-from-unsafe?" " 1/variable-reference-from-unsafe?))" -"((ns57_2) ns_118))" +"((ns57_2) ns_120))" "(copy-runtime-module!26.1 unsafe-undefined temp56_4 ns57_2 #t #f temp55_4 temp54_5 temp53_5))" -"(let-values(((temp58_4) '#%kernel)((temp59_7) '(#%core #%runtime #%main #%read))((ns60_2) ns_118))" +"(let-values(((temp58_4) '#%kernel)((temp59_7) '(#%core #%runtime #%main #%read))((ns60_2) ns_120))" "(declare-reexporting-module!50.1 ns60_2 #t temp58_4 temp59_7)))))))))))" "(define-values" "(copy-runtime-module!26.1)" @@ -58497,7 +58590,7 @@ static const char *startup_source = " 'copy-runtime-module!26" "(let-values(((name_74) name25_1))" "(let-values(((to-name_0)(if(eq? to11_0 unsafe-undefined) name_74 to11_0)))" -"(let-values(((ns_119) namespace12_0))" +"(let-values(((ns_121) namespace12_0))" "(let-values(((skip-syms_0)(if(eq? skip13_0 unsafe-undefined)(seteq) skip13_0)))" "(let-values(((alts_0)(if(eq? alts14_0 unsafe-undefined) '#hasheq() alts14_0)))" "(let-values(((extras_0)(if(eq? extras15_0 unsafe-undefined) '#hasheq() extras15_0)))" @@ -58627,7 +58720,7 @@ static const char *startup_source = "(hash-iterate-first ht_146))))))" "(let-values(((to-name61_0) to-name_0)" "((ht+extras62_0) ht+extras_0)" -"((ns63_0) ns_119)" +"((ns63_0) ns_121)" "((primitive?64_0) primitive?_9)" "((protected?65_0) protected?_10))" "(declare-hash-based-module!41.1" @@ -58645,14 +58738,14 @@ static const char *startup_source = " 'declare-hash-based-module!41" "(let-values(((name_75) name39_0))" "(let-values(((ht_162) ht40_0))" -"(let-values(((ns_120) namespace29_0))" +"(let-values(((ns_122) namespace29_0))" "(let-values(((primitive?_10) primitive?30_0))" "(let-values(((protected?_11) protected?31_0))" "(let-values(((protected-syms_0) protected32_0))" "(let-values(((register-builtin?_0) register-builtin?33_0))" "(let-values()" "(let-values(((mpi_5)(1/module-path-index-join(list 'quote name_75) #f)))" -"(let-values(((ns66_0) ns_120)" +"(let-values(((ns66_0) ns_122)" "((temp67_4)" "(let-values(((temp69_3) #t)" "((primitive?70_0) primitive?_10)" @@ -58745,7 +58838,7 @@ static const char *startup_source = "(hash-iterate-first ht_163))))))" "((temp75_4)" "(lambda(data-box_6" -" ns_121" +" ns_123" " phase-shift_20" " phase-level_23" " self_29" @@ -58776,7 +58869,7 @@ static const char *startup_source = "(begin" "(let-values()" "(namespace-set-variable!" -" ns_121" +" ns_123" " 0" " sym_103" " val_84))" @@ -58822,7 +58915,7 @@ static const char *startup_source = "(let-values(((name_76) name48_0))" "(let-values(((require-names_0) require-names49_0))" "(let-values(((reexport?_0) reexport?44_0))" -"(let-values(((ns_122) namespace45_0))" +"(let-values(((ns_124) namespace45_0))" "(let-values()" "(let-values(((mpi_53)(1/module-path-index-join(list 'quote name_76) #f)))" "(let-values(((require-mpis_0)" @@ -58859,7 +58952,7 @@ static const char *startup_source = " for-loop_206)" " null" " lst_109))))))" -"(let-values(((ns79_1) ns_122)" +"(let-values(((ns79_1) ns_124)" "((temp80_2)" "(let-values(((temp82_2) #t)" "((temp83_4) #t)" @@ -58886,7 +58979,7 @@ static const char *startup_source = "(let-values(((table_218)" "(let-values(((m_29)" "(namespace->module" -" ns_122" +" ns_124" "(1/module-path-index-resolve" " require-mpi_0))))" "(begin" @@ -59043,98 +59136,6 @@ static const char *startup_source = " 'special-comment-value" " 1/special-comment-value))" "(define-values" -"(eval$1)" -"(let-values()" -"(let-values()" -"(case-lambda" -"((s_72)(begin 'eval((1/current-eval)(intro s_72))))" -"((s_189 ns_123)" -"(begin" -" (if (1/namespace? ns_123) (void) (let-values () (raise-argument-error 'eval \"namespace?\" ns_123)))" -"(with-continuation-mark" -" parameterization-key" -"(extend-parameterization(continuation-mark-set-first #f parameterization-key) 1/current-namespace ns_123)" -"(let-values()((1/current-eval)(intro s_189 ns_123))))))))))" -"(define-values" -"(1/eval-syntax)" -"(let-values()" -"(let-values()" -"(case-lambda" -"((s_8)" -"(begin" -" 'eval-syntax" -"(begin" -" (if (syntax?$1 s_8) (void) (let-values () (raise-argument-error 'eval-syntax \"syntax?\" s_8)))" -"((1/current-eval) s_8))))" -"((s_2 ns_58)" -"(begin" -" (if (syntax?$1 s_2) (void) (let-values () (raise-argument-error 'eval-syntax \"syntax?\" s_2)))" -" (if (1/namespace? ns_58) (void) (let-values () (raise-argument-error 'eval-syntax \"namespace?\" ns_58)))" -"(with-continuation-mark" -" parameterization-key" -"(extend-parameterization(continuation-mark-set-first #f parameterization-key) 1/current-namespace ns_58)" -"(let-values()((1/current-eval) s_2)))))))))" -"(define-values(compile$1)(lambda(s_177)(begin 'compile((1/current-compile)(intro s_177) #f))))" -"(define-values" -"(1/compile-syntax)" -"(lambda(s_497)" -"(begin" -" 'compile-syntax" -"(let-values()" -"(let-values()" -"(begin" -" (if (syntax?$1 s_497) (void) (let-values () (raise-argument-error 'compile-syntax \"syntax?\" s_497)))" -"((1/current-compile) s_497 #f)))))))" -"(define-values(1/expand)(lambda(s_9)(begin 'expand(expand$1(intro s_9)(1/current-namespace) #t))))" -"(define-values" -"(1/expand-syntax)" -"(lambda(s_439)" -"(begin" -" 'expand-syntax" -"(let-values()" -"(let-values()" -"(begin" -" (if (syntax?$1 s_439) (void) (let-values () (raise-argument-error 'expand-syntax \"syntax?\" s_439)))" -"(expand$1 s_439(1/current-namespace) #t)))))))" -"(define-values(1/expand-once)(lambda(s_446)(begin 'expand-once(expand-once$1(intro s_446)))))" -"(define-values" -"(1/expand-syntax-once)" -"(lambda(s_178)" -"(begin" -" 'expand-syntax-once" -"(let-values()" -"(let-values()" -"(begin" -" (if (syntax?$1 s_178) (void) (let-values () (raise-argument-error 'expand-syntax-once \"syntax?\" s_178)))" -"(expand-once$1 s_178)))))))" -"(define-values(1/expand-to-top-form)(lambda(s_75)(begin 'expand-to-top-form(expand-to-top-form$1(intro s_75)))))" -"(define-values" -"(1/expand-syntax-to-top-form)" -"(lambda(s_170)" -"(begin" -" 'expand-syntax-to-top-form" -"(let-values()" -"(let-values()" -"(begin" -"(if(syntax?$1 s_170)" -"(void)" -" (let-values () (raise-argument-error 'expand-syntax-to-top-form \"syntax?\" s_170)))" -"(expand-to-top-form$1 s_170)))))))" -"(define-values" -"(intro)" -"(let-values(((intro3_0)" -"(lambda(given-s2_0 ns1_6)" -"(begin" -" 'intro3" -"(let-values(((given-s_1) given-s2_0))" -"(let-values(((ns_124)(if(eq? ns1_6 unsafe-undefined)(1/current-namespace) ns1_6)))" -"(let-values()" -"(let-values(((s_304)(if(syntax?$1 given-s_1) given-s_1(1/datum->syntax #f given-s_1))))" -"(1/namespace-syntax-introduce s_304 ns_124)))))))))" -"(case-lambda" -"((given-s_2)(begin(intro3_0 given-s_2 unsafe-undefined)))" -"((given-s_3 ns1_7)(intro3_0 given-s_3 ns1_7)))))" -"(define-values" "(main-primitives)" "(hasheq" " 'eval" @@ -59576,11 +59577,11 @@ static const char *startup_source = "(lambda()((1/current-eval) m-s_0))))))))))))))))))))" "(let-values()" "(let-values(((add-top-interaction_0)" -"(lambda(s_496)" +"(lambda(s_497)" "(begin" " 'add-top-interaction" "(1/namespace-syntax-introduce" -"(1/datum->syntax #f(cons '#%top-interaction s_496) s_496))))))" +"(1/datum->syntax #f(cons '#%top-interaction s_497) s_497))))))" "(let-values(((path1_0) path_12)" "((temp2_8)" "(lambda(i_181)" @@ -61022,7 +61023,7 @@ static const char *startup_source = " 'expand-body7" "(let-values(((bodys_7) bodys5_0))" "(let-values(((ctx_75) ctx6_0))" -"(let-values(((s_490) source1_0))" +"(let-values(((s_491) source1_0))" "(let-values(((stratified?_0) stratified?2_0))" "(let-values()" "(let-values((()" @@ -61156,7 +61157,7 @@ static const char *startup_source = "((temp68_6)(reverse$1 track-stxs_0))" "((temp69_4)(reverse$1 stx-clauses_0))" "((temp70_5)(reverse$1 done-bodys_0))" -"((s71_0) s_490)" +"((s71_0) s_491)" "((stratified?72_0) stratified?_0)" "((name73_0) name_80)" "((temp74_4)(reverse$1 trans-idss_1)))" @@ -61899,7 +61900,7 @@ static const char *startup_source = "(let-values()" "(no-binds" " done-body_2" -" s_490" +" s_491" " phase_134))" " fold-var_295))))" "(values" @@ -63496,10 +63497,10 @@ static const char *startup_source = "(values))))" "(let-values(((disarmed-s_6)(syntax-disarm$1 s_13)))" "(let-values(((ok?_37 lambda52_0 formals53_0 body54_0)" -"(let-values(((s_493) disarmed-s_6))" -"(let-values(((orig-s_40) s_493))" +"(let-values(((s_494) disarmed-s_6))" +"(let-values(((orig-s_40) s_494))" "(let-values(((lambda52_1 formals53_1 body54_1)" -"(let-values(((s_172)(if(syntax?$1 s_493)(syntax-e$1 s_493) s_493)))" +"(let-values(((s_172)(if(syntax?$1 s_494)(syntax-e$1 s_494) s_494)))" "(if(pair? s_172)" "(let-values(((lambda55_0)(let-values(((s_45)(car s_172))) s_45))" "((formals56_0 body57_0)" @@ -68240,12 +68241,12 @@ static const char *startup_source = " (void (add-core-form!* 'unquote-splicing (lambda (s_770 ctx_103) (raise-syntax-error$1 #f \"not in quasiquote\" s_770))))" "(define-values" "(binding-for-transformer?)" -"(lambda(b_42 id_127 at-phase_12 ns_123)" +"(lambda(b_42 id_127 at-phase_12 ns_112)" "(begin" "(if(not at-phase_12)" "(let-values()" "(let-values(((m_30)" -"(namespace->module ns_123(1/module-path-index-resolve(module-binding-nominal-module b_42)))))" +"(namespace->module ns_112(1/module-path-index-resolve(module-binding-nominal-module b_42)))))" "(let-values(((b/p_4)" "(hash-ref" "(hash-ref(module-provides m_30)(module-binding-nominal-phase b_42) '#hasheq())" @@ -68257,7 +68258,7 @@ static const char *startup_source = "(let-values(((b1_8) b_42)" "((empty-env2_0) empty-env)" "((null3_0) null)" -"((ns4_2) ns_123)" +"((ns4_2) ns_112)" "((at-phase5_0) at-phase_12)" "((id6_0) id_127))" "(binding-lookup50.1 #f #f b1_8 empty-env2_0 null3_0 ns4_2 at-phase5_0 id6_0))))" @@ -68448,32 +68449,32 @@ static const char *startup_source = "(if(pair?" " s_771)" "(let-values(((for-meta6_0)" -"(let-values(((s_486)" +"(let-values(((s_487)" "(car" " s_771)))" -" s_486))" +" s_487))" "((phase-level7_0" " spec8_0)" "(let-values(((s_447)" "(cdr" " s_771)))" -"(let-values(((s_491)" +"(let-values(((s_492)" "(if(syntax?$1" " s_447)" "(syntax-e$1" " s_447)" " s_447)))" "(if(pair?" -" s_491)" +" s_492)" "(let-values(((phase-level9_0)" "(let-values(((s_772)" "(car" -" s_491)))" +" s_492)))" " s_772))" "((spec10_0)" "(let-values(((s_773)" "(cdr" -" s_491)))" +" s_492)))" "(let-values(((s_81)" "(if(syntax?$1" " s_773)" @@ -77816,10 +77817,10 @@ static const char *startup_source = "(values))))" "(let-values(((disarmed-s_25)(syntax-disarm$1 s_0)))" "(let-values(((ok?_26 define-values1_0 id2_1 rhs3_0)" -"(let-values(((s_490) s_0))" -"(let-values(((orig-s_99) s_490))" +"(let-values(((s_491) s_0))" +"(let-values(((orig-s_99) s_491))" "(let-values(((define-values1_1 id2_2 rhs3_1)" -"(let-values(((s_76)(if(syntax?$1 s_490)(syntax-e$1 s_490) s_490)))" +"(let-values(((s_76)(if(syntax?$1 s_491)(syntax-e$1 s_491) s_491)))" "(if(pair? s_76)" "(let-values(((define-values4_0)" "(let-values(((s_188)(car s_76))) s_188))" @@ -77987,7 +77988,7 @@ static const char *startup_source = "(let-values(((s_22)(if(syntax?$1 s_18)(syntax-e$1 s_18) s_18)))" "(if(pair? s_22)" "(let-values(((define-syntaxes18_0)" -"(let-values(((s_492)(car s_22))) s_492))" +"(let-values(((s_493)(car s_22))) s_493))" "((id19_1 rhs20_0)" "(let-values(((s_25)(cdr s_22)))" "(let-values(((s_305)" @@ -78090,14 +78091,14 @@ static const char *startup_source = "(let-values(((s_46)" "(cdr" " s_175)))" -"(let-values(((s_484)" +"(let-values(((s_485)" "(if(syntax?$1" " s_46)" "(syntax-e$1" " s_46)" " s_46)))" "(if(null?" -" s_484)" +" s_485)" "(values)" "(raise-syntax-error$1" " #f" @@ -78135,10 +78136,10 @@ static const char *startup_source = " (let-values () (raise-syntax-error$1 #f \"not in a definition context\" s_308)))" "(values))))" "(let-values(((ok?_38 begin-for-syntax29_0 form30_0)" -"(let-values(((s_494) s_308))" -"(let-values(((orig-s_101) s_494))" +"(let-values(((s_495) s_308))" +"(let-values(((orig-s_101) s_495))" "(let-values(((begin-for-syntax29_1 form30_1)" -"(let-values(((s_48)(if(syntax?$1 s_494)(syntax-e$1 s_494) s_494)))" +"(let-values(((s_48)(if(syntax?$1 s_495)(syntax-e$1 s_495) s_495)))" "(if(pair? s_48)" "(let-values(((begin-for-syntax31_0)(let-values(((s_51)(car s_48))) s_51))" "((form32_0)"