From 1e19e660c939ec729e52214b91490bd5c40c24a1 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 12 Dec 2020 20:23:35 -0700 Subject: [PATCH] expander: track core `#%datum` expansion in 'origin --- pkgs/racket-test-core/tests/racket/macro.rktl | 9 +- racket/src/bc/src/startup.inc | 633 +++++++++--------- racket/src/cs/schemified/expander.scm | 611 ++++++++--------- racket/src/expander/expand/expr.rkt | 10 +- 4 files changed, 638 insertions(+), 625 deletions(-) diff --git a/pkgs/racket-test-core/tests/racket/macro.rktl b/pkgs/racket-test-core/tests/racket/macro.rktl index 07bfdd2625..05ee73b57b 100644 --- a/pkgs/racket-test-core/tests/racket/macro.rktl +++ b/pkgs/racket-test-core/tests/racket/macro.rktl @@ -1061,8 +1061,13 @@ ;; expecting `#%app` from `racket/base` to reqrite to core `#%app` (test #t syntax-original? (find (expand #'(+ 1 2)) '#%app)) (test #t syntax-property (find (expand #'(+ 1 2)) '#%app) 'implicit-made-explicit) + (test #t syntax-original? (find (expand #'100) '#%datum)) + (test #t syntax-property (find (expand #'100) '#%datum) 'implicit-made-explicit) + (test #f syntax-original? (find (expand (datum->syntax #'here '(+ 1 2))) '#%app)) - (test #t syntax-property (find (expand (datum->syntax #'here '(+ 1 2))) '#%app) 'implicit-made-explicit)) + (test #t syntax-property (find (expand (datum->syntax #'here '(+ 1 2))) '#%app) 'implicit-made-explicit) + (test #f syntax-original? (find (expand (datum->syntax #'here '100)) '#%datum)) + (test #t syntax-property (find (expand (datum->syntax #'here '100)) '#%datum) 'implicit-made-explicit)) ;; ---------------------------------------- @@ -1751,7 +1756,7 @@ (let () (define m '(module m racket/base - (define-syntax-rule (m) 1) + (define-syntax-rule (m) '1) (module+ main (m)))) diff --git a/racket/src/bc/src/startup.inc b/racket/src/bc/src/startup.inc index 390b1765d5..2ffb4cddb9 100644 --- a/racket/src/bc/src/startup.inc +++ b/racket/src/bc/src/startup.inc @@ -73161,8 +73161,11 @@ static const char *startup_source = "(let-values(((phase_0)(expand-context-phase ctx_0)))" "(if(if(expand-context-to-parsed? ctx_0)(free-id-set-empty?(expand-context-stops ctx_0)) #f)" "(parsed-quote14.1(keep-properties-only~ s_0)(syntax->datum$1 datum_0))" -"(let-values(((s227_0) s_0)((temp228_0)(list(core-id 'quote phase_0) datum_0)))" -"(rebuild.1 #t s227_0 temp228_0))))))))))))" +"(syntax-track-origin$1" +"(let-values(((s227_0) s_0)((temp228_0)(list(core-id 'quote phase_0) datum_0))((temp229_0) #f))" +"(rebuild.1 temp229_0 s227_0 temp228_0))" +" s_0" +" #%datum223_0)))))))))))" "(void" "(add-core-form!*" " '#%app" @@ -73175,14 +73178,14 @@ static const char *startup_source = "(let-values()(let-values()(call-expand-observe obs_0 'prim-#%app disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 #%app229_0 e230_0)" +"(let-values(((ok?_0 #%app230_0 e231_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((#%app229_0 e230_0)" +"(let-values(((#%app230_0 e231_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((#%app231_0)(let-values(((s_3)(car s_2))) s_3))" -"((e232_0)" +"(let-values(((#%app232_0)(let-values(((s_3)(car s_2))) s_3))" +"((e233_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" @@ -73191,31 +73194,31 @@ static const char *startup_source = "(let-values()" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))" "(let-values() flat-s_0)))))))" -"(values #%app231_0 e232_0))" +"(values #%app232_0 e233_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t #%app229_0 e230_0))))))" -"(let-values(((es_0) e230_0))" +"(values #t #%app230_0 e231_0))))))" +"(let-values(((es_0) e231_0))" "(if(null? es_0)" "(let-values()" "(let-values(((phase_0)(expand-context-phase ctx_0)))" "(if(expand-context-to-parsed? ctx_0)" "(parsed-quote14.1(keep-properties-only~ s_0) null)" -"(let-values(((s233_0) s_0)((temp234_0)(list(core-id 'quote phase_0) null)))" -"(rebuild.1 #t s233_0 temp234_0)))))" +"(let-values(((s234_0) s_0)((temp235_0)(list(core-id 'quote phase_0) null)))" +"(rebuild.1 #t s234_0 temp235_0)))))" "(let-values()" "(let-values(((keep-for-parsed?_0) keep-source-locations?))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx235_0) ctx_0)" -"((s236_0) s_0)" -"((keep-for-parsed?237_0) keep-for-parsed?_0))" -"(keep-as-needed.1 #f #f keep-for-parsed?237_0 ctx235_0 s236_0))))" +"(let-values(((ctx236_0) ctx_0)" +"((s237_0) s_0)" +"((keep-for-parsed?238_0) keep-for-parsed?_0))" +"(keep-as-needed.1 #f #f keep-for-parsed?238_0 ctx236_0 s237_0))))" "(let-values(((prefixless_0)(cdr(syntax-e$1 disarmed-s_0))))" "(let-values(((rebuild-prefixless_0)" "(if(syntax?$1 prefixless_0)" -"(let-values(((ctx238_0) ctx_0)" -"((prefixless239_0) prefixless_0)" -"((keep-for-parsed?240_0) keep-for-parsed?_0))" -"(keep-as-needed.1 #f #f keep-for-parsed?240_0 ctx238_0 prefixless239_0))" +"(let-values(((ctx239_0) ctx_0)" +"((prefixless240_0) prefixless_0)" +"((keep-for-parsed?241_0) keep-for-parsed?_0))" +"(keep-as-needed.1 #f #f keep-for-parsed?241_0 ctx239_0 prefixless240_0))" " #f)))" "(let-values(((expr-ctx_0)(as-expression-context ctx_0)))" "(let-values((()" @@ -73227,8 +73230,8 @@ static const char *startup_source = "(values))))" "(let-values(((rest-es_0)(cdr es_0)))" "(let-values(((exp-rator_0)" -"(let-values(((temp241_0)(car es_0))((expr-ctx242_0) expr-ctx_0))" -"(expand.1 #f #f temp241_0 expr-ctx242_0))))" +"(let-values(((temp242_0)(car es_0))((expr-ctx243_0) expr-ctx_0))" +"(expand.1 #f #f temp242_0 expr-ctx243_0))))" "(let-values(((exp-es_0)" "(reverse$1" "(let-values(((lst_0) rest-es_0))" @@ -73261,15 +73264,15 @@ static const char *startup_source = " obs_0" " 'next)))" "(void)))" -"(let-values(((e243_0)" +"(let-values(((e244_0)" " e_0)" -"((expr-ctx244_0)" +"((expr-ctx245_0)" " expr-ctx_0))" "(expand.1" " #f" " #f" -" e243_0" -" expr-ctx244_0))))" +" e244_0" +" expr-ctx245_0))))" " fold-var_1))))" "(values fold-var_2)))))" "(if(not #f)" @@ -73290,13 +73293,13 @@ static const char *startup_source = "(let-values(((es_1)" "(let-values(((exp-es_1)(cons exp-rator_0 exp-es_0)))" "(if rebuild-prefixless_0" -"(let-values(((rebuild-prefixless247_0) rebuild-prefixless_0)" -"((exp-es248_0) exp-es_1))" -"(rebuild.1 #t rebuild-prefixless247_0 exp-es248_0))" +"(let-values(((rebuild-prefixless248_0) rebuild-prefixless_0)" +"((exp-es249_0) exp-es_1))" +"(rebuild.1 #t rebuild-prefixless248_0 exp-es249_0))" " exp-es_1))))" -"(let-values(((rebuild-s245_0) rebuild-s_0)" -"((temp246_0)(cons #%app229_0 es_1)))" -"(rebuild.1 #t rebuild-s245_0 temp246_0)))))))))))))))))))))))" +"(let-values(((rebuild-s246_0) rebuild-s_0)" +"((temp247_0)(cons #%app230_0 es_1)))" +"(rebuild.1 #t rebuild-s246_0 temp247_0)))))))))))))))))))))))" "(void" "(add-core-form!*" " 'quote" @@ -73306,19 +73309,19 @@ static const char *startup_source = "(let-values(((obs_0)(expand-context-observer ctx_0)))" "(if obs_0(let-values()(let-values()(call-expand-observe obs_0 'prim-quote #f)))(void)))" "(values))))" -"(let-values(((ok?_0 quote249_0 datum250_0)" +"(let-values(((ok?_0 quote250_0 datum251_0)" "(let-values(((s_1)(syntax-disarm$1 s_0)))" "(let-values(((orig-s_0) s_1))" -"(let-values(((quote249_0 datum250_0)" +"(let-values(((quote250_0 datum251_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((quote251_0)(let-values(((s_3)(car s_2))) s_3))" -"((datum252_0)" +"(let-values(((quote252_0)(let-values(((s_3)(car s_2))) s_3))" +"((datum253_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" "(if(pair? s_4)" -"(let-values(((datum253_0)" +"(let-values(((datum254_0)" "(let-values(((s_5)(car s_4))) s_5))" "(()" "(let-values(((s_5)(cdr s_4)))" @@ -73332,13 +73335,13 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values datum253_0))" +"(values datum254_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))))))" -"(values quote251_0 datum252_0))" +"(values quote252_0 datum253_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t quote249_0 datum250_0))))))" +"(values #t quote250_0 datum251_0))))))" "(if(expand-context-to-parsed? ctx_0)" -"(parsed-quote14.1(keep-properties-only~ s_0)(syntax->datum$1 datum250_0))" +"(parsed-quote14.1(keep-properties-only~ s_0)(syntax->datum$1 datum251_0))" " s_0))))))" "(void" "(add-core-form!*" @@ -73352,7 +73355,7 @@ static const char *startup_source = "(let-values()(let-values()(call-expand-observe obs_0 'prim-quote-syntax disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 quote-syntax254_0 datum255_0)" +"(let-values(((ok?_0 quote-syntax255_0 datum256_0)" "(let-values(((s_1) disarmed-s_0))" "(if(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" @@ -73377,14 +73380,14 @@ static const char *startup_source = " #f)" " #f))" "(let-values()" -"(let-values(((quote-syntax254_0 datum255_0)" +"(let-values(((quote-syntax255_0 datum256_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(let-values(((quote-syntax256_0)(let-values(((s_3)(car s_2))) s_3))" -"((datum257_0)" +"(let-values(((quote-syntax257_0)(let-values(((s_3)(car s_2))) s_3))" +"((datum258_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" -"(let-values(((datum258_0)" +"(let-values(((datum259_0)" "(let-values(((s_5)(car s_4))) s_5))" "(()" "(let-values(((s_5)(cdr s_4)))" @@ -73413,26 +73416,26 @@ static const char *startup_source = " s_7)))" "(values)))))" "(values))))))" -"(values datum258_0))))))" -"(values quote-syntax256_0 datum257_0)))))" -"(values #t quote-syntax254_0 datum255_0)))" +"(values datum259_0))))))" +"(values quote-syntax257_0 datum258_0)))))" +"(values #t quote-syntax255_0 datum256_0)))" "(values #f #f #f)))))" -"(let-values(((ok?_1 quote-syntax259_0 datum260_0)" +"(let-values(((ok?_1 quote-syntax260_0 datum261_0)" "(let-values(((s_1) disarmed-s_0))" "(if(if(not ok?_0) #t #f)" "(let-values(((orig-s_0) s_1))" -"(let-values(((quote-syntax259_0 datum260_0)" +"(let-values(((quote-syntax260_0 datum261_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((quote-syntax261_0)(let-values(((s_3)(car s_2))) s_3))" -"((datum262_0)" +"(let-values(((quote-syntax262_0)(let-values(((s_3)(car s_2))) s_3))" +"((datum263_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)" "(syntax-e$1 s_3)" " s_3)))" "(if(pair? s_4)" -"(let-values(((datum263_0)" +"(let-values(((datum264_0)" "(let-values(((s_5)(car s_4))) s_5))" "(()" "(let-values(((s_5)(cdr s_4)))" @@ -73446,37 +73449,37 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values datum263_0))" +"(values datum264_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values quote-syntax261_0 datum262_0))" +"(values quote-syntax262_0 datum263_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t quote-syntax259_0 datum260_0)))" +"(values #t quote-syntax260_0 datum261_0)))" "(values #f #f #f)))))" "(if ok?_0" "(let-values()" "(let-values((()" "(begin(reference-records-all-used!(expand-context-reference-records ctx_0))(values))))" -"(let-values(((ok?_2 _264_0 _265_0 kw266_0)" +"(let-values(((ok?_2 _265_0 _266_0 kw267_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((_264_0 _265_0 kw266_0)" +"(let-values(((_265_0 _266_0 kw267_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((_267_0)(let-values(((s_3)(car s_2))) s_3))" -"((_268_0 kw269_0)" +"(let-values(((_268_0)(let-values(((s_3)(car s_2))) s_3))" +"((_269_0 kw270_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)" "(syntax-e$1 s_3)" " s_3)))" "(if(pair? s_4)" -"(let-values(((_270_0)" +"(let-values(((_271_0)" "(let-values(((s_5)(car s_4)))" " s_5))" -"((kw271_0)" +"((kw272_0)" "(let-values(((s_5)(cdr s_4)))" "(let-values(((s_6)" "(if(syntax?$1" @@ -73485,7 +73488,7 @@ static const char *startup_source = " s_5)" " s_5)))" "(if(pair? s_6)" -"(let-values(((kw272_0)" +"(let-values(((kw273_0)" "(let-values(((s_7)" "(car" " s_6)))" @@ -73507,33 +73510,33 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values kw272_0))" +"(values kw273_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values _270_0 kw271_0))" +"(values _271_0 kw272_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values _267_0 _268_0 kw269_0))" +"(values _268_0 _269_0 kw270_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t _264_0 _265_0 kw266_0))))))" +"(values #t _265_0 _266_0 kw267_0))))))" "(if(expand-context-to-parsed? ctx_0)" -"(parsed-quote-syntax15.1(keep-properties-only~ s_0) datum255_0)" -"(let-values(((s273_0) s_0)((temp274_0)(list quote-syntax254_0 datum255_0 kw266_0)))" -"(rebuild.1 #t s273_0 temp274_0))))))" +"(parsed-quote-syntax15.1(keep-properties-only~ s_0) datum256_0)" +"(let-values(((s274_0) s_0)((temp275_0)(list quote-syntax255_0 datum256_0 kw267_0)))" +"(rebuild.1 #t s274_0 temp275_0))))))" "(let-values()" "(let-values(((use-site-scopes_0)(root-expand-context-use-site-scopes ctx_0)))" "(let-values(((datum-s_0)" "(remove-scopes" -"(remove-scopes datum260_0(expand-context-scopes ctx_0))" +"(remove-scopes datum261_0(expand-context-scopes ctx_0))" "(if use-site-scopes_0(unbox use-site-scopes_0) '()))))" "(if(if(expand-context-to-parsed? ctx_0)(free-id-set-empty?(expand-context-stops ctx_0)) #f)" "(parsed-quote-syntax15.1(keep-properties-only~ s_0) datum-s_0)" -"(let-values(((s275_0) s_0)((temp276_0)(list quote-syntax259_0 datum-s_0)))" -"(rebuild.1 #t s275_0 temp276_0))))))))))))))" +"(let-values(((s276_0) s_0)((temp277_0)(list quote-syntax260_0 datum-s_0)))" +"(rebuild.1 #t s276_0 temp277_0))))))))))))))" "(void" "(add-core-form!*" " 'if" @@ -73546,7 +73549,7 @@ static const char *startup_source = "(let-values()(let-values()(call-expand-observe obs_0 'prim-if disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 _277_0 _278_0 _279_0)" +"(let-values(((ok?_0 _278_0 _279_0 _280_0)" "(let-values(((s_1) disarmed-s_0))" "(if(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" @@ -73569,22 +73572,22 @@ static const char *startup_source = " #f)" " #f))" "(let-values()" -"(let-values(((_277_0 _278_0 _279_0)" +"(let-values(((_278_0 _279_0 _280_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(let-values(((_280_0)(let-values(((s_3)(car s_2))) s_3))" -"((_281_0 _282_0)" +"(let-values(((_281_0)(let-values(((s_3)(car s_2))) s_3))" +"((_282_0 _283_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" -"(let-values(((_283_0)" +"(let-values(((_284_0)" "(let-values(((s_5)(car s_4))) s_5))" -"((_284_0)" +"((_285_0)" "(let-values(((s_5)(cdr s_4)))" "(let-values(((s_6)" "(if(syntax?$1 s_5)" "(syntax-e$1 s_5)" " s_5)))" -"(let-values(((_285_0)" +"(let-values(((_286_0)" "(let-values(((s_7)" "(car s_6)))" " s_7))" @@ -73598,10 +73601,10 @@ static const char *startup_source = " s_7)" " s_7)))" "(values)))))" -"(values _285_0))))))" -"(values _283_0 _284_0))))))" -"(values _280_0 _281_0 _282_0)))))" -"(values #t _277_0 _278_0 _279_0)))" +"(values _286_0))))))" +"(values _284_0 _285_0))))))" +"(values _281_0 _282_0 _283_0)))))" +"(values #t _278_0 _279_0 _280_0)))" "(values #f #f #f #f)))))" "(let-values((()" "(begin" @@ -73609,35 +73612,35 @@ static const char *startup_source = " (let-values () (raise-syntax-error$1 #f \"missing an \\\"else\\\" expression\" s_0))" "(void))" "(values))))" -"(let-values(((ok?_1 if286_0 tst287_0 thn288_0 els289_0)" +"(let-values(((ok?_1 if287_0 tst288_0 thn289_0 els290_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((if286_0 tst287_0 thn288_0 els289_0)" +"(let-values(((if287_0 tst288_0 thn289_0 els290_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((if290_0)(let-values(((s_3)(car s_2))) s_3))" -"((tst291_0 thn292_0 els293_0)" +"(let-values(((if291_0)(let-values(((s_3)(car s_2))) s_3))" +"((tst292_0 thn293_0 els294_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)" "(syntax-e$1 s_3)" " s_3)))" "(if(pair? s_4)" -"(let-values(((tst294_0)" +"(let-values(((tst295_0)" "(let-values(((s_5)(car s_4))) s_5))" -"((thn295_0 els296_0)" +"((thn296_0 els297_0)" "(let-values(((s_5)(cdr s_4)))" "(let-values(((s_6)" "(if(syntax?$1 s_5)" "(syntax-e$1 s_5)" " s_5)))" "(if(pair? s_6)" -"(let-values(((thn297_0)" +"(let-values(((thn298_0)" "(let-values(((s_7)" "(car" " s_6)))" " s_7))" -"((els298_0)" +"((els299_0)" "(let-values(((s_7)" "(cdr" " s_6)))" @@ -73649,7 +73652,7 @@ static const char *startup_source = " s_7)))" "(if(pair?" " s_8)" -"(let-values(((els299_0)" +"(let-values(((els300_0)" "(let-values(((s_9)" "(car" " s_8)))" @@ -73672,34 +73675,34 @@ static const char *startup_source = " \"bad syntax\"" " orig-s_0))))))" "(values" -" els299_0))" +" els300_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values thn297_0 els298_0))" +"(values thn298_0 els299_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values tst294_0 thn295_0 els296_0))" +"(values tst295_0 thn296_0 els297_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values if290_0 tst291_0 thn292_0 els293_0))" +"(values if291_0 tst292_0 thn293_0 els294_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t if286_0 tst287_0 thn288_0 els289_0))))))" +"(values #t if287_0 tst288_0 thn289_0 els290_0))))))" "(let-values(((expr-ctx_0)(as-expression-context ctx_0)))" "(let-values(((tail-ctx_0)" -"(let-values(((expr-ctx300_0) expr-ctx_0)((ctx301_0) ctx_0))" -"(as-tail-context.1 ctx301_0 expr-ctx300_0))))" +"(let-values(((expr-ctx301_0) expr-ctx_0)((ctx302_0) ctx_0))" +"(as-tail-context.1 ctx302_0 expr-ctx301_0))))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx302_0) ctx_0)((s303_0) s_0))" -"(keep-as-needed.1 #f #f #f ctx302_0 s303_0))))" +"(let-values(((ctx303_0) ctx_0)((s304_0) s_0))" +"(keep-as-needed.1 #f #f #f ctx303_0 s304_0))))" "(let-values(((exp-tst_0)" -"(let-values(((temp304_0) tst287_0)((expr-ctx305_0) expr-ctx_0))" -"(expand.1 #f #f temp304_0 expr-ctx305_0))))" +"(let-values(((temp305_0) tst288_0)((expr-ctx306_0) expr-ctx_0))" +"(expand.1 #f #f temp305_0 expr-ctx306_0))))" "(let-values((()" "(begin" "(let-values(((obs_0)(expand-context-observer ctx_0)))" @@ -73708,8 +73711,8 @@ static const char *startup_source = "(void)))" "(values))))" "(let-values(((exp-thn_0)" -"(let-values(((temp306_0) thn288_0)((tail-ctx307_0) tail-ctx_0))" -"(expand.1 #f #f temp306_0 tail-ctx307_0))))" +"(let-values(((temp307_0) thn289_0)((tail-ctx308_0) tail-ctx_0))" +"(expand.1 #f #f temp307_0 tail-ctx308_0))))" "(let-values((()" "(begin" "(let-values(((obs_0)(expand-context-observer ctx_0)))" @@ -73718,13 +73721,13 @@ static const char *startup_source = "(void)))" "(values))))" "(let-values(((exp-els_0)" -"(let-values(((temp308_0) els289_0)((tail-ctx309_0) tail-ctx_0))" -"(expand.1 #f #f temp308_0 tail-ctx309_0))))" +"(let-values(((temp309_0) els290_0)((tail-ctx310_0) tail-ctx_0))" +"(expand.1 #f #f temp309_0 tail-ctx310_0))))" "(if(expand-context-to-parsed? ctx_0)" "(parsed-if8.1 rebuild-s_0 exp-tst_0 exp-thn_0 exp-els_0)" -"(let-values(((rebuild-s310_0) rebuild-s_0)" -"((temp311_0)(list if286_0 exp-tst_0 exp-thn_0 exp-els_0)))" -"(rebuild.1 #t rebuild-s310_0 temp311_0)))))))))))))))))))" +"(let-values(((rebuild-s311_0) rebuild-s_0)" +"((temp312_0)(list if287_0 exp-tst_0 exp-thn_0 exp-els_0)))" +"(rebuild.1 #t rebuild-s311_0 temp312_0)))))))))))))))))))" "(void" "(add-core-form!*" " 'with-continuation-mark" @@ -73738,34 +73741,34 @@ static const char *startup_source = "(let-values()(call-expand-observe obs_0 'prim-with-continuation-mark disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 with-continuation-mark312_0 key313_0 val314_0 body315_0)" +"(let-values(((ok?_0 with-continuation-mark313_0 key314_0 val315_0 body316_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((with-continuation-mark312_0 key313_0 val314_0 body315_0)" +"(let-values(((with-continuation-mark313_0 key314_0 val315_0 body316_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((with-continuation-mark316_0)" +"(let-values(((with-continuation-mark317_0)" "(let-values(((s_3)(car s_2))) s_3))" -"((key317_0 val318_0 body319_0)" +"((key318_0 val319_0 body320_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" "(if(pair? s_4)" -"(let-values(((key320_0)" +"(let-values(((key321_0)" "(let-values(((s_5)(car s_4))) s_5))" -"((val321_0 body322_0)" +"((val322_0 body323_0)" "(let-values(((s_5)(cdr s_4)))" "(let-values(((s_6)" "(if(syntax?$1 s_5)" "(syntax-e$1 s_5)" " s_5)))" "(if(pair? s_6)" -"(let-values(((val323_0)" +"(let-values(((val324_0)" "(let-values(((s_7)" "(car" " s_6)))" " s_7))" -"((body324_0)" +"((body325_0)" "(let-values(((s_7)" "(cdr" " s_6)))" @@ -73776,7 +73779,7 @@ static const char *startup_source = " s_7)" " s_7)))" "(if(pair? s_8)" -"(let-values(((body325_0)" +"(let-values(((body326_0)" "(let-values(((s_9)" "(car" " s_8)))" @@ -73799,36 +73802,36 @@ static const char *startup_source = " \"bad syntax\"" " orig-s_0))))))" "(values" -" body325_0))" +" body326_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values val323_0 body324_0))" +"(values val324_0 body325_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values key320_0 val321_0 body322_0))" +"(values key321_0 val322_0 body323_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))))))" -"(values with-continuation-mark316_0 key317_0 val318_0 body319_0))" +"(values with-continuation-mark317_0 key318_0 val319_0 body320_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t with-continuation-mark312_0 key313_0 val314_0 body315_0))))))" +"(values #t with-continuation-mark313_0 key314_0 val315_0 body316_0))))))" "(let-values(((expr-ctx_0)(as-expression-context ctx_0)))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx326_0) ctx_0)((s327_0) s_0))" -"(keep-as-needed.1 #f #f #f ctx326_0 s327_0))))" +"(let-values(((ctx327_0) ctx_0)((s328_0) s_0))" +"(keep-as-needed.1 #f #f #f ctx327_0 s328_0))))" "(let-values(((exp-key_0)" -"(let-values(((temp328_0) key313_0)((expr-ctx329_0) expr-ctx_0))" -"(expand.1 #f #f temp328_0 expr-ctx329_0))))" +"(let-values(((temp329_0) key314_0)((expr-ctx330_0) expr-ctx_0))" +"(expand.1 #f #f temp329_0 expr-ctx330_0))))" "(let-values((()" "(begin" "(let-values(((obs_0)(expand-context-observer ctx_0)))" "(if obs_0(let-values()(let-values()(call-expand-observe obs_0 'next)))(void)))" "(values))))" "(let-values(((exp-val_0)" -"(let-values(((temp330_0) val314_0)((expr-ctx331_0) expr-ctx_0))" -"(expand.1 #f #f temp330_0 expr-ctx331_0))))" +"(let-values(((temp331_0) val315_0)((expr-ctx332_0) expr-ctx_0))" +"(expand.1 #f #f temp331_0 expr-ctx332_0))))" "(let-values((()" "(begin" "(let-values(((obs_0)(expand-context-observer ctx_0)))" @@ -73837,16 +73840,16 @@ static const char *startup_source = "(void)))" "(values))))" "(let-values(((exp-body_0)" -"(let-values(((temp332_0) body315_0)" -"((temp333_0)" -"(let-values(((expr-ctx334_0) expr-ctx_0)((ctx335_0) ctx_0))" -"(as-tail-context.1 ctx335_0 expr-ctx334_0))))" -"(expand.1 #f #f temp332_0 temp333_0))))" +"(let-values(((temp333_0) body316_0)" +"((temp334_0)" +"(let-values(((expr-ctx335_0) expr-ctx_0)((ctx336_0) ctx_0))" +"(as-tail-context.1 ctx336_0 expr-ctx335_0))))" +"(expand.1 #f #f temp333_0 temp334_0))))" "(if(expand-context-to-parsed? ctx_0)" "(parsed-with-continuation-mark10.1 rebuild-s_0 exp-key_0 exp-val_0 exp-body_0)" -"(let-values(((rebuild-s336_0) rebuild-s_0)" -"((temp337_0)(list with-continuation-mark312_0 exp-key_0 exp-val_0 exp-body_0)))" -"(rebuild.1 #t rebuild-s336_0 temp337_0))))))))))))))))" +"(let-values(((rebuild-s337_0) rebuild-s_0)" +"((temp338_0)(list with-continuation-mark313_0 exp-key_0 exp-val_0 exp-body_0)))" +"(rebuild.1 #t rebuild-s337_0 temp338_0))))))))))))))))" "(define-values" "(make-begin.1)" "(lambda(last-is-tail?10_0 log-tag12_0 parsed-begin13_0)" @@ -73865,14 +73868,14 @@ static const char *startup_source = "(let-values()(let-values()(call-expand-observe obs_0 log-tag_0 disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 begin338_0 e339_0)" +"(let-values(((ok?_0 begin339_0 e340_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((begin338_0 e339_0)" +"(let-values(((begin339_0 e340_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((begin340_0)(let-values(((s_3)(car s_2))) s_3))" -"((e341_0)" +"(let-values(((begin341_0)(let-values(((s_3)(car s_2))) s_3))" +"((e342_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)" @@ -73893,16 +73896,16 @@ static const char *startup_source = " \"bad syntax\"" " orig-s_0))" "(let-values() flat-s_0))))))))" -"(values begin340_0 e341_0))" +"(values begin341_0 e342_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t begin338_0 e339_0))))))" +"(values #t begin339_0 e340_0))))))" "(let-values(((expr-ctx_0)" "(if last-is-tail?_0" "(as-begin-expression-context ctx_0)" "(as-expression-context ctx_0))))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx342_0) ctx_0)((s343_0) s_0))" -"(keep-as-needed.1 #f #f #f ctx342_0 s343_0))))" +"(let-values(((ctx343_0) ctx_0)((s344_0) s_0))" +"(keep-as-needed.1 #f #f #f ctx343_0 s344_0))))" "(let-values(((exp-es_0)" "((letrec-values(((loop_0)" "(lambda(es_0)" @@ -73921,38 +73924,38 @@ static const char *startup_source = "(call-expand-observe obs_0 'next)))" "(void)))" "(cons" -"(let-values(((temp344_0)(car es_0))" -"((temp345_0)" +"(let-values(((temp345_0)(car es_0))" +"((temp346_0)" "(if(if last-is-tail?_0" "(null? rest-es_0)" " #f)" -"(let-values(((expr-ctx346_0)" +"(let-values(((expr-ctx347_0)" " expr-ctx_0)" -"((ctx347_0) ctx_0))" +"((ctx348_0) ctx_0))" "(as-tail-context.1" -" ctx347_0" -" expr-ctx346_0))" +" ctx348_0" +" expr-ctx347_0))" " expr-ctx_0)))" -"(expand.1 #f #f temp344_0 temp345_0))" +"(expand.1 #f #f temp345_0 temp346_0))" "(loop_0 rest-es_0))))))))))" " loop_0)" -" e339_0)))" +" e340_0)))" "(if(expand-context-to-parsed? ctx_0)" "(parsed-begin_0 rebuild-s_0 exp-es_0)" -"(let-values(((rebuild-s348_0) rebuild-s_0)((temp349_0)(cons begin338_0 exp-es_0)))" -"(rebuild.1 #t rebuild-s348_0 temp349_0)))))))))))))))))" +"(let-values(((rebuild-s349_0) rebuild-s_0)((temp350_0)(cons begin339_0 exp-es_0)))" +"(rebuild.1 #t rebuild-s349_0 temp350_0)))))))))))))))))" "(void" "(add-core-form!*" " 'begin" "(let-values(((nonempty-begin_0)" -"(let-values(((temp350_0) 'prim-begin)((parsed-begin351_0) parsed-begin12.1)((temp352_0) #t))" -"(make-begin.1 temp352_0 temp350_0 parsed-begin351_0))))" +"(let-values(((temp351_0) 'prim-begin)((parsed-begin352_0) parsed-begin12.1)((temp353_0) #t))" +"(make-begin.1 temp353_0 temp351_0 parsed-begin352_0))))" "(lambda(s_0 ctx_0)" "(let-values(((context_0)(expand-context-context ctx_0)))" "(if(let-values(((or-part_0)(eq? context_0 'top-level)))(if or-part_0 or-part_0(eq? context_0 'module)))" "(let-values()" "(let-values(((disarmed-s_0)(syntax-disarm$1 s_0)))" -"(let-values(((ok?_0 begin353_0)" +"(let-values(((ok?_0 begin354_0)" "(let-values(((s_1) disarmed-s_0))" "(if(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" @@ -73962,9 +73965,9 @@ static const char *startup_source = " #f)" " #f))" "(let-values()" -"(let-values(((begin353_0)" +"(let-values(((begin354_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(let-values(((begin354_0)(let-values(((s_3)(car s_2))) s_3))" +"(let-values(((begin355_0)(let-values(((s_3)(car s_2))) s_3))" "(()" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" @@ -73972,16 +73975,16 @@ static const char *startup_source = "(syntax-e$1 s_3)" " s_3)))" "(values)))))" -"(values begin354_0)))))" -"(values #t begin353_0)))" +"(values begin355_0)))))" +"(values #t begin354_0)))" "(values #f #f)))))" "(if ok?_0 s_0(nonempty-begin_0 s_0 ctx_0)))))" "(let-values()(nonempty-begin_0 s_0 ctx_0))))))))" "(void" "(add-core-form!*" " 'begin0" -"(let-values(((temp355_0) 'prim-begin0)((parsed-begin0356_0) parsed-begin013.1)((temp357_0) #f))" -"(make-begin.1 temp357_0 temp355_0 parsed-begin0356_0))))" +"(let-values(((temp356_0) 'prim-begin0)((parsed-begin0357_0) parsed-begin013.1)((temp358_0) #f))" +"(make-begin.1 temp358_0 temp356_0 parsed-begin0357_0))))" "(define-values" "(register-eventual-variable!?)" "(lambda(id_0 ctx_0)" @@ -73999,13 +74002,13 @@ static const char *startup_source = "(void" "(add-core-form!*" " '#%top" -"(let-values(((...nder/expand/expr.rkt:598:1_0)" -"(lambda(s359_0 ctx360_0 implicit-omitted?358_0)" +"(let-values(((...nder/expand/expr.rkt:600:1_0)" +"(lambda(s360_0 ctx361_0 implicit-omitted?359_0)" "(begin" -" '...nder/expand/expr.rkt:598:1" -"(let-values(((s_0) s359_0))" -"(let-values(((ctx_0) ctx360_0))" -"(let-values(((implicit-omitted?_0) implicit-omitted?358_0))" +" '...nder/expand/expr.rkt:600:1" +"(let-values(((s_0) s360_0))" +"(let-values(((ctx_0) ctx361_0))" +"(let-values(((implicit-omitted?_0) implicit-omitted?359_0))" "(let-values()" "(let-values(((disarmed-s_0)(syntax-disarm$1 s_0)))" "(let-values((()" @@ -74021,21 +74024,21 @@ static const char *startup_source = "(if implicit-omitted?_0" "(let-values() s_0)" "(let-values()" -"(let-values(((ok?_0 #%top361_0 id362_0)" +"(let-values(((ok?_0 #%top362_0 id363_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((#%top361_0 id362_0)" +"(let-values(((#%top362_0 id363_0)" "(let-values(((s_2)" "(if(syntax?$1 s_1)" "(syntax-e$1 s_1)" " s_1)))" "(if(pair? s_2)" -"(let-values(((#%top363_0)" +"(let-values(((#%top364_0)" "(let-values(((s_3)" "(car" " s_2)))" " s_3))" -"((id364_0)" +"((id365_0)" "(let-values(((s_3)" "(cdr" " s_2)))" @@ -74056,25 +74059,25 @@ static const char *startup_source = " \"not an identifier\"" " orig-s_0" " s_3)))))" -"(values #%top363_0 id364_0))" +"(values #%top364_0 id365_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0)))))" -"(values #t #%top361_0 id362_0))))))" -" id362_0)))))" +"(values #t #%top362_0 id363_0))))))" +" id363_0)))))" "(let-values(((b_0)" -"(let-values(((id365_0) id_0)" -"((temp366_0)(expand-context-phase ctx_0))" -"((temp367_0) 'ambiguous))" +"(let-values(((id366_0) id_0)" +"((temp367_0)(expand-context-phase ctx_0))" +"((temp368_0) 'ambiguous))" "(resolve+shift.1" -" temp367_0" +" temp368_0" " #f" " null" " unsafe-undefined" " #f" -" id365_0" -" temp366_0))))" +" id366_0" +" temp367_0))))" "(if(eq? b_0 'ambiguous)" "(let-values()(raise-ambiguous-error id_0 ctx_0))" "(if(if b_0" @@ -74107,10 +74110,10 @@ static const char *startup_source = " id_0" "(root-expand-context-top-level-bind-scope ctx_0))))" "(let-values(((tl-b_0)" -"(let-values(((tl-id368_0) tl-id_0)" -"((temp369_0)" +"(let-values(((tl-id369_0) tl-id_0)" +"((temp370_0)" "(expand-context-phase ctx_0)))" -"(resolve.1 #f #f null #f tl-id368_0 temp369_0))))" +"(resolve.1 #f #f null #f tl-id369_0 temp370_0))))" "(if tl-b_0" "(let-values()" "(if(expand-context-to-parsed? ctx_0)" @@ -74118,10 +74121,10 @@ static const char *startup_source = "(if implicit-omitted?_0" "(let-values() id_0)" "(let-values()" -"(let-values(((ok?_0 #%top370_0 id371_0)" +"(let-values(((ok?_0 #%top371_0 id372_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((#%top370_0 id371_0)" +"(let-values(((#%top371_0 id372_0)" "(let-values(((s_2)" "(if(syntax?$1" " s_1)" @@ -74129,12 +74132,12 @@ static const char *startup_source = " s_1)" " s_1)))" "(if(pair? s_2)" -"(let-values(((#%top372_0)" +"(let-values(((#%top373_0)" "(let-values(((s_3)" "(car" " s_2)))" " s_3))" -"((id373_0)" +"((id374_0)" "(let-values(((s_3)" "(cdr" " s_2)))" @@ -74156,23 +74159,23 @@ static const char *startup_source = " orig-s_0" " s_3)))))" "(values" -" #%top372_0" -" id373_0))" +" #%top373_0" +" id374_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0)))))" -"(values #t #%top370_0 id371_0))))))" -"(let-values(((s374_0) s_0)" -"((temp375_0)(cons #%top370_0 id_0)))" -"(rebuild.1 #t s374_0 temp375_0)))))))" +"(values #t #%top371_0 id372_0))))))" +"(let-values(((s375_0) s_0)" +"((temp376_0)(cons #%top371_0 id_0)))" +"(rebuild.1 #t s375_0 temp376_0)))))))" "(let-values()" "(if(expand-context-to-parsed? ctx_0)" "(parsed-top-id4.1 id_0 b_0 #f)" " s_0)))))))))))))))))))))))" "(case-lambda" -"((s_0 ctx_0)(begin '...nder/expand/expr.rkt:598:1(...nder/expand/expr.rkt:598:1_0 s_0 ctx_0 #f)))" -"((s_0 ctx_0 implicit-omitted?358_0)(...nder/expand/expr.rkt:598:1_0 s_0 ctx_0 implicit-omitted?358_0))))))" +"((s_0 ctx_0)(begin '...nder/expand/expr.rkt:600:1(...nder/expand/expr.rkt:600:1_0 s_0 ctx_0 #f)))" +"((s_0 ctx_0 implicit-omitted?359_0)(...nder/expand/expr.rkt:600:1_0 s_0 ctx_0 implicit-omitted?359_0))))))" "(void" "(add-core-form!*" " 'set!" @@ -74185,19 +74188,19 @@ static const char *startup_source = "(let-values()(let-values()(call-expand-observe obs_0 'prim-set! disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 set!376_0 id377_0 rhs378_0)" +"(let-values(((ok?_0 set!377_0 id378_0 rhs379_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((set!376_0 id377_0 rhs378_0)" +"(let-values(((set!377_0 id378_0 rhs379_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((set!379_0)(let-values(((s_3)(car s_2))) s_3))" -"((id380_0 rhs381_0)" +"(let-values(((set!380_0)(let-values(((s_3)(car s_2))) s_3))" +"((id381_0 rhs382_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" "(if(pair? s_4)" -"(let-values(((id382_0)" +"(let-values(((id383_0)" "(let-values(((s_5)(car s_4)))" "(if(let-values(((or-part_0)" "(if(syntax?$1 s_5)" @@ -74213,14 +74216,14 @@ static const char *startup_source = " \"not an identifier\"" " orig-s_0" " s_5))))" -"((rhs383_0)" +"((rhs384_0)" "(let-values(((s_5)(cdr s_4)))" "(let-values(((s_6)" "(if(syntax?$1 s_5)" "(syntax-e$1 s_5)" " s_5)))" "(if(pair? s_6)" -"(let-values(((rhs384_0)" +"(let-values(((rhs385_0)" "(let-values(((s_7)" "(car" " s_6)))" @@ -74241,27 +74244,27 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values rhs384_0))" +"(values rhs385_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values id382_0 rhs383_0))" +"(values id383_0 rhs384_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))))))" -"(values set!379_0 id380_0 rhs381_0))" +"(values set!380_0 id381_0 rhs382_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t set!376_0 id377_0 rhs378_0))))))" -"(let-values(((orig-id_0) id377_0))" +"(values #t set!377_0 id378_0 rhs379_0))))))" +"(let-values(((orig-id_0) id378_0))" "((letrec-values(((rename-loop_0)" "(lambda(id_0 from-rename?_0)" "(begin" " 'rename-loop" "(let-values(((binding_0)" -"(let-values(((id385_0) id_0)" -"((temp386_0)(expand-context-phase ctx_0))" -"((temp387_0) 'ambiguous)" -"((temp388_0) #t))" -"(resolve+shift.1 temp387_0 #f null temp388_0 #f id385_0 temp386_0))))" +"(let-values(((id386_0) id_0)" +"((temp387_0)(expand-context-phase ctx_0))" +"((temp388_0) 'ambiguous)" +"((temp389_0) #t))" +"(resolve+shift.1 temp388_0 #f null temp389_0 #f id386_0 temp387_0))))" "(let-values((()" "(begin" "(if(eq? binding_0 'ambiguous)" @@ -74270,10 +74273,10 @@ static const char *startup_source = "(values))))" "(let-values(((t_0 primitive?_0 insp_0 protected?_0)" "(if binding_0" -"(let-values(((binding389_0) binding_0)" -"((ctx390_0) ctx_0)" -"((s391_0) s_0))" -"(lookup.1 #f #f binding389_0 ctx390_0 s391_0))" +"(let-values(((binding390_0) binding_0)" +"((ctx391_0) ctx_0)" +"((s392_0) s_0))" +"(lookup.1 #f #f binding390_0 ctx391_0 s392_0))" "(values #f #f #f #f))))" "(begin" "(let-values(((obs_0)(expand-context-observer ctx_0)))" @@ -74321,33 +74324,33 @@ static const char *startup_source = " ctx_0)" "(values))))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx392_0) ctx_0)((s393_0) s_0))" -"(keep-as-needed.1 #f #f #f ctx392_0 s393_0))))" +"(let-values(((ctx393_0) ctx_0)((s394_0) s_0))" +"(keep-as-needed.1 #f #f #f ctx393_0 s394_0))))" "(let-values(((exp-rhs_0)" -"(let-values(((temp394_0) rhs378_0)" -"((temp395_0)" +"(let-values(((temp395_0) rhs379_0)" +"((temp396_0)" "(as-expression-context ctx_0)))" -"(expand.1 #f #f temp394_0 temp395_0))))" +"(expand.1 #f #f temp395_0 temp396_0))))" "(if(expand-context-to-parsed? ctx_0)" "(parsed-set!9.1" " rebuild-s_0" "(parsed-id2.1 id_0 binding_0 #f)" " exp-rhs_0)" -"(let-values(((rebuild-s396_0) rebuild-s_0)" -"((temp397_0)" +"(let-values(((rebuild-s397_0) rebuild-s_0)" +"((temp398_0)" "(list" -" set!376_0" -"(let-values(((id398_0) id_0)" -"((t399_0) t_0)" -"((temp400_0)" +" set!377_0" +"(let-values(((id399_0) id_0)" +"((t400_0) t_0)" +"((temp401_0)" "(free-id-set-empty-or-just-module*?" "(expand-context-stops ctx_0))))" "(substitute-variable.1" -" temp400_0" -" id398_0" -" t399_0))" +" temp401_0" +" id399_0" +" t400_0))" " exp-rhs_0)))" -"(rebuild.1 #t rebuild-s396_0 temp397_0)))))))))" +"(rebuild.1 #t rebuild-s397_0 temp398_0)))))))))" "(if(not binding_0)" "(let-values()" "(raise-unbound-syntax-error" @@ -74361,61 +74364,61 @@ static const char *startup_source = "(let-values()" "(if(not-in-this-expand-context? t_0 ctx_0)" "(let-values()" -"(let-values(((temp401_0)" +"(let-values(((temp402_0)" "(avoid-current-expand-context" "(substitute-set!-rename" " s_0" " disarmed-s_0" -" set!376_0" -" rhs378_0" +" set!377_0" +" rhs379_0" " id_0" " from-rename?_0" " ctx_0)" " t_0" " ctx_0))" -"((ctx402_0) ctx_0))" -"(expand.1 #f #f temp401_0 ctx402_0)))" +"((ctx403_0) ctx_0))" +"(expand.1 #f #f temp402_0 ctx403_0)))" "(let-values()" "(let-values(((exp-s_0 re-ctx_0)" -"(let-values(((t403_0) t_0)" -"((insp404_0) insp_0)" -"((s405_0) s_0)" -"((orig-id406_0) orig-id_0)" -"((ctx407_0) ctx_0)" -"((binding408_0) binding_0)" -"((orig-id409_0) orig-id_0))" +"(let-values(((t404_0) t_0)" +"((insp405_0) insp_0)" +"((s406_0) s_0)" +"((orig-id407_0) orig-id_0)" +"((ctx408_0) ctx_0)" +"((binding409_0) binding_0)" +"((orig-id410_0) orig-id_0))" "(apply-transformer.1" -" orig-id409_0" -" t403_0" -" insp404_0" -" s405_0" -" orig-id406_0" -" ctx407_0" -" binding408_0))))" +" orig-id410_0" +" t404_0" +" insp405_0" +" s406_0" +" orig-id407_0" +" ctx408_0" +" binding409_0))))" "(if(expand-context-just-once? ctx_0)" "(let-values() exp-s_0)" "(let-values()" -"(let-values(((exp-s410_0) exp-s_0)" -"((re-ctx411_0) re-ctx_0))" -"(expand.1 #f #f exp-s410_0 re-ctx411_0))))))))" +"(let-values(((exp-s411_0) exp-s_0)" +"((re-ctx412_0) re-ctx_0))" +"(expand.1 #f #f exp-s411_0 re-ctx412_0))))))))" "(if(1/rename-transformer? t_0)" "(let-values()" "(if(not-in-this-expand-context? t_0 ctx_0)" "(let-values()" -"(let-values(((temp412_0)" +"(let-values(((temp413_0)" "(avoid-current-expand-context" "(substitute-set!-rename" " s_0" " disarmed-s_0" -" set!376_0" -" rhs378_0" +" set!377_0" +" rhs379_0" " id_0" " from-rename?_0" " ctx_0)" " t_0" " ctx_0))" -"((ctx413_0) ctx_0))" -"(expand.1 #f #f temp412_0 ctx413_0)))" +"((ctx414_0) ctx_0))" +"(expand.1 #f #f temp413_0 ctx414_0)))" "(let-values()" "(rename-loop_0(apply-rename-transformer t_0 id_0 ctx_0) #t))))" "(let-values()" @@ -74448,7 +74451,7 @@ static const char *startup_source = "(let-values()(call-expand-observe obs_0 'prim-#%variable-reference disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 #%variable-reference414_0 id415_0)" +"(let-values(((ok?_0 #%variable-reference415_0 id416_0)" "(let-values(((s_1) disarmed-s_0))" "(if(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" @@ -74468,15 +74471,15 @@ static const char *startup_source = " #f)" " #f))" "(let-values()" -"(let-values(((#%variable-reference414_0 id415_0)" +"(let-values(((#%variable-reference415_0 id416_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(let-values(((#%variable-reference416_0)" +"(let-values(((#%variable-reference417_0)" "(let-values(((s_3)(car s_2))) s_3))" -"((id417_0)" +"((id418_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" -"(let-values(((id418_0)" +"(let-values(((id419_0)" "(let-values(((s_5)(car s_4))) s_5))" "(()" "(let-values(((s_5)(cdr s_4)))" @@ -74485,11 +74488,11 @@ static const char *startup_source = "(syntax-e$1 s_5)" " s_5)))" "(values)))))" -"(values id418_0))))))" -"(values #%variable-reference416_0 id417_0)))))" -"(values #t #%variable-reference414_0 id415_0)))" +"(values id419_0))))))" +"(values #%variable-reference417_0 id418_0)))))" +"(values #t #%variable-reference415_0 id416_0)))" "(values #f #f #f)))))" -"(let-values(((ok?_1 #%variable-reference419_0 #%top420_0 id421_0)" +"(let-values(((ok?_1 #%variable-reference420_0 #%top421_0 id422_0)" "(let-values(((s_1) disarmed-s_0))" "(if(if(not ok?_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" @@ -74519,31 +74522,31 @@ static const char *startup_source = " #f))" " #f)" "(let-values()" -"(let-values(((#%variable-reference419_0 #%top420_0 id421_0)" +"(let-values(((#%variable-reference420_0 #%top421_0 id422_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(let-values(((#%variable-reference422_0)" +"(let-values(((#%variable-reference423_0)" "(let-values(((s_3)(car s_2))) s_3))" -"((#%top423_0 id424_0)" +"((#%top424_0 id425_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" -"(let-values(((#%top425_0 id426_0)" +"(let-values(((#%top426_0 id427_0)" "(let-values(((s_5)(car s_4)))" "(let-values(((s_6)" "(if(syntax?$1 s_5)" "(syntax-e$1 s_5)" " s_5)))" -"(let-values(((#%top427_0)" +"(let-values(((#%top428_0)" "(let-values(((s_7)" "(car" " s_6)))" " s_7))" -"((id428_0)" +"((id429_0)" "(let-values(((s_7)" "(cdr" " s_6)))" " s_7)))" -"(values #%top427_0 id428_0)))))" +"(values #%top428_0 id429_0)))))" "(()" "(let-values(((s_5)(cdr s_4)))" "(let-values(((s_6)" @@ -74551,18 +74554,18 @@ static const char *startup_source = "(syntax-e$1 s_5)" " s_5)))" "(values)))))" -"(values #%top425_0 id426_0))))))" -"(values #%variable-reference422_0 #%top423_0 id424_0)))))" -"(values #t #%variable-reference419_0 #%top420_0 id421_0)))" +"(values #%top426_0 id427_0))))))" +"(values #%variable-reference423_0 #%top424_0 id425_0)))))" +"(values #t #%variable-reference420_0 #%top421_0 id422_0)))" "(values #f #f #f #f)))))" -"(let-values(((ok?_2 #%variable-reference429_0)" +"(let-values(((ok?_2 #%variable-reference430_0)" "(let-values(((s_1) disarmed-s_0))" "(if(if(not(let-values(((or-part_0) ok?_0))(if or-part_0 or-part_0 ok?_1))) #t #f)" "(let-values(((orig-s_0) s_1))" -"(let-values(((#%variable-reference429_0)" +"(let-values(((#%variable-reference430_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((#%variable-reference430_0)" +"(let-values(((#%variable-reference431_0)" "(let-values(((s_3)(car s_2))) s_3))" "(()" "(let-values(((s_3)(cdr s_2)))" @@ -74576,18 +74579,18 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values #%variable-reference430_0))" +"(values #%variable-reference431_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t #%variable-reference429_0)))" +"(values #t #%variable-reference430_0)))" "(values #f #f)))))" "(if(let-values(((or-part_0) ok?_0))(if or-part_0 or-part_0 ok?_1))" "(let-values()" -"(let-values(((var-id_0)(if ok?_0 id415_0 id421_0)))" +"(let-values(((var-id_0)(if ok?_0 id416_0 id422_0)))" "(let-values(((binding_0)" -"(let-values(((var-id431_0) var-id_0)" -"((temp432_0)(expand-context-phase ctx_0))" -"((temp433_0) 'ambiguous))" -"(resolve+shift.1 temp433_0 #f null unsafe-undefined #f var-id431_0 temp432_0))))" +"(let-values(((var-id432_0) var-id_0)" +"((temp433_0)(expand-context-phase ctx_0))" +"((temp434_0) 'ambiguous))" +"(resolve+shift.1 temp434_0 #f null unsafe-undefined #f var-id432_0 temp433_0))))" "(let-values((()" "(begin" "(if(eq? binding_0 'ambiguous)" @@ -74610,12 +74613,12 @@ static const char *startup_source = "(values))))" "(let-values(((t_0 primitive?_0 insp-of-t_0 protected?_0)" "(if binding_0" -"(let-values(((binding434_0) binding_0)" -"((ctx435_0) ctx_0)" -"((var-id436_0) var-id_0)" -"((s437_0) s_0)" -"((temp438_0)(expand-context-in-local-expand? ctx_0)))" -"(lookup.1 s437_0 temp438_0 binding434_0 ctx435_0 var-id436_0))" +"(let-values(((binding435_0) binding_0)" +"((ctx436_0) ctx_0)" +"((var-id437_0) var-id_0)" +"((s438_0) s_0)" +"((temp439_0)(expand-context-in-local-expand? ctx_0)))" +"(lookup.1 s438_0 temp439_0 binding435_0 ctx436_0 var-id437_0))" "(values #f #f #f #f))))" "(begin" "(if(if t_0(not(variable? t_0)) #f)" @@ -74647,19 +74650,19 @@ static const char *startup_source = "(let-values()(let-values()(call-expand-observe obs_0 'prim-#%expression disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 #%expression439_0 e440_0)" +"(let-values(((ok?_0 #%expression440_0 e441_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((#%expression439_0 e440_0)" +"(let-values(((#%expression440_0 e441_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((#%expression441_0)(let-values(((s_3)(car s_2))) s_3))" -"((e442_0)" +"(let-values(((#%expression442_0)(let-values(((s_3)(car s_2))) s_3))" +"((e443_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" "(if(pair? s_4)" -"(let-values(((e443_0)" +"(let-values(((e444_0)" "(let-values(((s_5)(car s_4))) s_5))" "(()" "(let-values(((s_5)(cdr s_4)))" @@ -74673,20 +74676,20 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values e443_0))" +"(values e444_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))))))" -"(values #%expression441_0 e442_0))" +"(values #%expression442_0 e443_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t #%expression439_0 e440_0))))))" +"(values #t #%expression440_0 e441_0))))))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx444_0) ctx_0)((s445_0) s_0)((temp446_0) #t))" -"(keep-as-needed.1 temp446_0 #f #f ctx444_0 s445_0))))" +"(let-values(((ctx445_0) ctx_0)((s446_0) s_0)((temp447_0) #t))" +"(keep-as-needed.1 temp447_0 #f #f ctx445_0 s446_0))))" "(let-values(((exp-e_0)" -"(let-values(((temp447_0) e440_0)" -"((temp448_0)" -"(let-values(((temp449_0)(as-expression-context ctx_0))((ctx450_0) ctx_0))" -"(as-tail-context.1 ctx450_0 temp449_0))))" -"(expand.1 #f #f temp447_0 temp448_0))))" +"(let-values(((temp448_0) e441_0)" +"((temp449_0)" +"(let-values(((temp450_0)(as-expression-context ctx_0))((ctx451_0) ctx_0))" +"(as-tail-context.1 ctx451_0 temp450_0))))" +"(expand.1 #f #f temp448_0 temp449_0))))" "(if(expand-context-to-parsed? ctx_0)" " exp-e_0" "(if(let-values(((or-part_0)" @@ -74695,8 +74698,8 @@ static const char *startup_source = " #f)))" "(if or-part_0 or-part_0(eq? 'top-level(expand-context-context ctx_0))))" "(let-values()" -"(let-values(((rebuild-s451_0) rebuild-s_0)((temp452_0)(list #%expression439_0 exp-e_0)))" -"(rebuild.1 #t rebuild-s451_0 temp452_0)))" +"(let-values(((rebuild-s452_0) rebuild-s_0)((temp453_0)(list #%expression440_0 exp-e_0)))" +"(rebuild.1 #t rebuild-s452_0 temp453_0)))" "(let-values()" "(let-values(((result-s_0)(syntax-track-origin$1 exp-e_0 rebuild-s_0)))" "(begin" diff --git a/racket/src/cs/schemified/expander.scm b/racket/src/cs/schemified/expander.scm index 27b6fe2869..7331fbca6a 100644 --- a/racket/src/cs/schemified/expander.scm +++ b/racket/src/cs/schemified/expander.scm @@ -82540,7 +82540,7 @@ (rebuild.1 #t rebuild-s_0 temp222_0)))))) (args (raise-binding-result-arity-error 3 args))))))))) (void))) -(define effect_3124 +(define effect_2533 (begin (void (add-core-form!* @@ -82601,12 +82601,15 @@ (parsed-quote14.1 (begin-unsafe #f) (syntax->datum$1 datum224_0)) - (let ((temp228_0 - (list (core-id 'quote phase_0) datum224_0))) - (rebuild.1 #t s_0 temp228_0)))))) + (syntax-track-origin$1 + (let ((temp228_0 + (list (core-id 'quote phase_0) datum224_0))) + (rebuild.1 #f s_0 temp228_0)) + s_0 + |#%datum223_0|))))) (args (raise-binding-result-arity-error 3 args))))))))) (void))) -(define effect_2721 +(define effect_2244 (begin (void (add-core-form!* @@ -82630,8 +82633,8 @@ (syntax-e$1 disarmed-s_0) disarmed-s_0))) (if (pair? s_1) - (let ((|#%app231_0| (let ((s_2 (car s_1))) s_2))) - (let ((e232_0 + (let ((|#%app232_0| (let ((s_2 (car s_1))) s_2))) + (let ((e233_0 (let ((s_2 (cdr s_1))) (let ((s_3 (if (syntax?$1 s_2) @@ -82644,15 +82647,15 @@ "bad syntax" disarmed-s_0) flat-s_0)))))) - (let ((|#%app231_1| |#%app231_0|)) - (values |#%app231_1| e232_0)))) + (let ((|#%app232_1| |#%app232_0|)) + (values |#%app232_1| e233_0)))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0)))) (case-lambda - ((|#%app229_0| e230_0) (values #t |#%app229_0| e230_0)) + ((|#%app230_0| e231_0) (values #t |#%app230_0| e231_0)) (args (raise-binding-result-arity-error 2 args))))) (case-lambda - ((ok?_0 |#%app229_0| e230_0) - (if (null? e230_0) + ((ok?_0 |#%app230_0| e231_0) + (if (null? e231_0) (let ((phase_0 (begin-unsafe (expand-context/inner-phase @@ -82661,8 +82664,8 @@ (expand-context/inner-to-parsed? (root-expand-context/outer-inner ctx_0))) (parsed-quote14.1 (begin-unsafe #f) null) - (let ((temp234_0 (list (core-id 'quote phase_0) null))) - (rebuild.1 #t s_0 temp234_0)))) + (let ((temp235_0 (list (core-id 'quote phase_0) null))) + (rebuild.1 #t s_0 temp235_0)))) (let ((keep-for-parsed?_0 keep-source-locations?)) (let ((rebuild-s_0 (keep-as-needed.1 @@ -82691,13 +82694,13 @@ (if obs_0 (call-expand-observe obs_0 'next) (void))) - (let ((rest-es_0 (cdr e230_0))) + (let ((rest-es_0 (cdr e231_0))) (let ((exp-rator_0 - (let ((temp241_0 (car e230_0))) + (let ((temp242_0 (car e231_0))) (expand.1 #f #f - temp241_0 + temp242_0 expr-ctx_0)))) (let ((exp-es_0 (reverse$1 @@ -82761,15 +82764,15 @@ rebuild-prefixless_0 exp-es_1) exp-es_1))) - (let ((temp246_0 - (cons |#%app229_0| es_0))) + (let ((temp247_0 + (cons |#%app230_0| es_0))) (rebuild.1 #t rebuild-s_0 - temp246_0)))))))))))))))) + temp247_0)))))))))))))))) (args (raise-binding-result-arity-error 3 args))))))))) (void))) -(define effect_2869 +(define effect_2537 (begin (void (add-core-form!* @@ -82788,15 +82791,15 @@ (lambda () (let ((s_2 (if (syntax?$1 s_1) (syntax-e$1 s_1) s_1))) (if (pair? s_2) - (let ((quote251_0 (let ((s_3 (car s_2))) s_3))) - (let ((datum252_0 + (let ((quote252_0 (let ((s_3 (car s_2))) s_3))) + (let ((datum253_0 (let ((s_3 (cdr s_2))) (let ((s_4 (if (syntax?$1 s_3) (syntax-e$1 s_3) s_3))) (if (pair? s_4) - (let ((datum253_0 + (let ((datum254_0 (let ((s_5 (car s_4))) s_5))) (call-with-values (lambda () @@ -82813,8 +82816,8 @@ s_1))))) (case-lambda (() - (let ((datum253_1 datum253_0)) - (values datum253_1))) + (let ((datum254_1 datum254_0)) + (values datum254_1))) (args (raise-binding-result-arity-error 0 @@ -82823,24 +82826,24 @@ #f "bad syntax" s_1)))))) - (let ((quote251_1 quote251_0)) - (values quote251_1 datum252_0)))) + (let ((quote252_1 quote252_0)) + (values quote252_1 datum253_0)))) (raise-syntax-error$1 #f "bad syntax" s_1)))) (case-lambda - ((quote249_0 datum250_0) (values #t quote249_0 datum250_0)) + ((quote250_0 datum251_0) (values #t quote250_0 datum251_0)) (args (raise-binding-result-arity-error 2 args)))))) (case-lambda - ((ok?_0 quote249_0 datum250_0) + ((ok?_0 quote250_0 datum251_0) (if (begin-unsafe (expand-context/inner-to-parsed? (root-expand-context/outer-inner ctx_0))) (parsed-quote14.1 (begin-unsafe #f) - (syntax->datum$1 datum250_0)) + (syntax->datum$1 datum251_0)) s_0)) (args (raise-binding-result-arity-error 3 args)))))))) (void))) -(define effect_2630 +(define effect_2669 (begin (void (add-core-form!* @@ -82898,14 +82901,14 @@ (if (syntax?$1 disarmed-s_0) (syntax-e$1 disarmed-s_0) disarmed-s_0))) - (let ((quote-syntax256_0 (let ((s_2 (car s_1))) s_2))) - (let ((datum257_0 + (let ((quote-syntax257_0 (let ((s_2 (car s_1))) s_2))) + (let ((datum258_0 (let ((s_2 (cdr s_1))) (let ((s_3 (if (syntax?$1 s_2) (syntax-e$1 s_2) s_2))) - (let ((datum258_0 + (let ((datum259_0 (let ((s_4 (car s_3))) s_4))) (call-with-values (lambda () @@ -82944,21 +82947,21 @@ args))))))) (case-lambda (() - (let ((datum258_1 datum258_0)) - (values datum258_1))) + (let ((datum259_1 datum259_0)) + (values datum259_1))) (args (raise-binding-result-arity-error 0 args))))))))) - (let ((quote-syntax256_1 quote-syntax256_0)) - (values quote-syntax256_1 datum257_0)))))) + (let ((quote-syntax257_1 quote-syntax257_0)) + (values quote-syntax257_1 datum258_0)))))) (case-lambda - ((quote-syntax254_0 datum255_0) - (values #t quote-syntax254_0 datum255_0)) + ((quote-syntax255_0 datum256_0) + (values #t quote-syntax255_0 datum256_0)) (args (raise-binding-result-arity-error 2 args)))) (values #f #f #f))) (case-lambda - ((ok?_0 quote-syntax254_0 datum255_0) + ((ok?_0 quote-syntax255_0 datum256_0) (call-with-values (lambda () (if (if (not ok?_0) #t #f) @@ -82969,16 +82972,16 @@ (syntax-e$1 disarmed-s_0) disarmed-s_0))) (if (pair? s_1) - (let ((quote-syntax261_0 + (let ((quote-syntax262_0 (let ((s_2 (car s_1))) s_2))) - (let ((datum262_0 + (let ((datum263_0 (let ((s_2 (cdr s_1))) (let ((s_3 (if (syntax?$1 s_2) (syntax-e$1 s_2) s_2))) (if (pair? s_3) - (let ((datum263_0 + (let ((datum264_0 (let ((s_4 (car s_3))) s_4))) (call-with-values (lambda () @@ -82995,8 +82998,8 @@ disarmed-s_0))))) (case-lambda (() - (let ((datum263_1 datum263_0)) - (values datum263_1))) + (let ((datum264_1 datum264_0)) + (values datum264_1))) (args (raise-binding-result-arity-error 0 @@ -83005,19 +83008,19 @@ #f "bad syntax" disarmed-s_0)))))) - (let ((quote-syntax261_1 quote-syntax261_0)) - (values quote-syntax261_1 datum262_0)))) + (let ((quote-syntax262_1 quote-syntax262_0)) + (values quote-syntax262_1 datum263_0)))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0)))) (case-lambda - ((quote-syntax259_0 datum260_0) - (values #t quote-syntax259_0 datum260_0)) + ((quote-syntax260_0 datum261_0) + (values #t quote-syntax260_0 datum261_0)) (args (raise-binding-result-arity-error 2 args)))) (values #f #f #f))) (case-lambda - ((ok?_1 quote-syntax259_0 datum260_0) + ((ok?_1 quote-syntax260_0 datum261_0) (if ok?_0 (begin (reference-records-all-used! @@ -83043,7 +83046,7 @@ (if (pair? s_3) (let ((_1 (let ((s_4 (car s_3))) s_4))) - (let ((kw271_0 + (let ((kw272_0 (let ((s_4 (cdr s_3))) (let ((s_5 (if (syntax?$1 @@ -83051,7 +83054,7 @@ (syntax-e$1 s_4) s_4))) (if (pair? s_5) - (let ((kw272_0 + (let ((kw273_0 (let ((s_6 (car s_5))) @@ -83076,10 +83079,10 @@ disarmed-s_0))))) (case-lambda (() - (let ((kw272_1 - kw272_0)) + (let ((kw273_1 + kw273_0)) (values - kw272_1))) + kw273_1))) (args (raise-binding-result-arity-error 0 @@ -83089,14 +83092,14 @@ "bad syntax" disarmed-s_0)))))) (let ((_2 _1)) - (values _2 kw271_0)))) + (values _2 kw272_0)))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0))))) (case-lambda - ((_1 kw269_0) - (let ((_2 _0)) (values _2 _1 kw269_0))) + ((_1 kw270_0) + (let ((_2 _0)) (values _2 _1 kw270_0))) (args (raise-binding-result-arity-error 2 @@ -83106,19 +83109,19 @@ "bad syntax" disarmed-s_0)))) (case-lambda - ((_0 _1 kw266_0) (values #t _0 _1 kw266_0)) + ((_0 _1 kw267_0) (values #t _0 _1 kw267_0)) (args (raise-binding-result-arity-error 3 args))))) (case-lambda - ((ok?_2 _0 _1 kw266_0) + ((ok?_2 _0 _1 kw267_0) (if (begin-unsafe (expand-context/inner-to-parsed? (root-expand-context/outer-inner ctx_0))) (parsed-quote-syntax15.1 (begin-unsafe #f) - datum255_0) - (let ((temp274_0 - (list quote-syntax254_0 datum255_0 kw266_0))) - (rebuild.1 #t s_0 temp274_0)))) + datum256_0) + (let ((temp275_0 + (list quote-syntax255_0 datum256_0 kw267_0))) + (rebuild.1 #t s_0 temp275_0)))) (args (raise-binding-result-arity-error 4 args))))) (let ((use-site-scopes_0 (begin-unsafe @@ -83127,7 +83130,7 @@ (let ((datum-s_0 (let ((app_0 (remove-scopes - datum260_0 + datum261_0 (begin-unsafe (expand-context/outer-scopes ctx_0))))) (remove-scopes @@ -83146,12 +83149,12 @@ (begin-unsafe (eq? fs_0 empty-free-id-set))) #f) (parsed-quote-syntax15.1 (begin-unsafe #f) datum-s_0) - (let ((temp276_0 (list quote-syntax259_0 datum-s_0))) - (rebuild.1 #t s_0 temp276_0))))))) + (let ((temp277_0 (list quote-syntax260_0 datum-s_0))) + (rebuild.1 #t s_0 temp277_0))))))) (args (raise-binding-result-arity-error 3 args))))) (args (raise-binding-result-arity-error 3 args))))))))) (void))) -(define effect_2333 +(define effect_3050 (begin (void (add-core-form!* @@ -83261,7 +83264,7 @@ (syntax-e$1 disarmed-s_0) disarmed-s_0))) (if (pair? s_1) - (let ((if290_0 (let ((s_2 (car s_1))) s_2))) + (let ((if291_0 (let ((s_2 (car s_1))) s_2))) (call-with-values (lambda () (let ((s_2 (cdr s_1))) @@ -83270,7 +83273,7 @@ (syntax-e$1 s_2) s_2))) (if (pair? s_3) - (let ((tst294_0 + (let ((tst295_0 (let ((s_4 (car s_3))) s_4))) (call-with-values (lambda () @@ -83280,10 +83283,10 @@ (syntax-e$1 s_4) s_4))) (if (pair? s_5) - (let ((thn297_0 + (let ((thn298_0 (let ((s_6 (car s_5))) s_6))) - (let ((els298_0 + (let ((els299_0 (let ((s_6 (cdr s_5))) (let ((s_7 @@ -83293,7 +83296,7 @@ s_6) s_6))) (if (pair? s_7) - (let ((els299_0 + (let ((els300_0 (let ((s_8 (car s_7))) @@ -83318,10 +83321,10 @@ disarmed-s_0))))) (case-lambda (() - (let ((els299_1 - els299_0)) + (let ((els300_1 + els300_0)) (values - els299_1))) + els300_1))) (args (raise-binding-result-arity-error 0 @@ -83330,21 +83333,21 @@ #f "bad syntax" disarmed-s_0)))))) - (let ((thn297_1 thn297_0)) + (let ((thn298_1 thn298_0)) (values - thn297_1 - els298_0)))) + thn298_1 + els299_0)))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0))))) (case-lambda - ((thn295_0 els296_0) - (let ((tst294_1 tst294_0)) + ((thn296_0 els297_0) + (let ((tst295_1 tst295_0)) (values - tst294_1 - thn295_0 - els296_0))) + tst295_1 + thn296_0 + els297_0))) (args (raise-binding-result-arity-error 2 @@ -83354,9 +83357,9 @@ "bad syntax" disarmed-s_0))))) (case-lambda - ((tst291_0 thn292_0 els293_0) - (let ((if290_1 if290_0)) - (values if290_1 tst291_0 thn292_0 els293_0))) + ((tst292_0 thn293_0 els294_0) + (let ((if291_1 if291_0)) + (values if291_1 tst292_0 thn293_0 els294_0))) (args (raise-binding-result-arity-error 3 args))))) (raise-syntax-error$1 @@ -83364,17 +83367,17 @@ "bad syntax" disarmed-s_0)))) (case-lambda - ((if286_0 tst287_0 thn288_0 els289_0) - (values #t if286_0 tst287_0 thn288_0 els289_0)) + ((if287_0 tst288_0 thn289_0 els290_0) + (values #t if287_0 tst288_0 thn289_0 els290_0)) (args (raise-binding-result-arity-error 4 args))))) (case-lambda - ((ok?_1 if286_0 tst287_0 thn288_0 els289_0) + ((ok?_1 if287_0 tst288_0 thn289_0 els290_0) (let ((expr-ctx_0 (as-expression-context ctx_0))) (let ((tail-ctx_0 (as-tail-context.1 ctx_0 expr-ctx_0))) (let ((rebuild-s_0 (keep-as-needed.1 #f #f #f ctx_0 s_0))) (let ((exp-tst_0 - (expand.1 #f #f tst287_0 expr-ctx_0))) + (expand.1 #f #f tst288_0 expr-ctx_0))) (begin (let ((obs_0 (begin-unsafe @@ -83385,7 +83388,7 @@ (call-expand-observe obs_0 'next) (void))) (let ((exp-thn_0 - (expand.1 #f #f thn288_0 tail-ctx_0))) + (expand.1 #f #f thn289_0 tail-ctx_0))) (begin (let ((obs_0 (begin-unsafe @@ -83396,7 +83399,7 @@ (call-expand-observe obs_0 'next) (void))) (let ((exp-els_0 - (expand.1 #f #f els289_0 tail-ctx_0))) + (expand.1 #f #f els290_0 tail-ctx_0))) (if (begin-unsafe (expand-context/inner-to-parsed? (root-expand-context/outer-inner @@ -83406,20 +83409,20 @@ exp-tst_0 exp-thn_0 exp-els_0) - (let ((temp311_0 + (let ((temp312_0 (list - if286_0 + if287_0 exp-tst_0 exp-thn_0 exp-els_0))) (rebuild.1 #t rebuild-s_0 - temp311_0)))))))))))) + temp312_0)))))))))))) (args (raise-binding-result-arity-error 5 args)))))) (args (raise-binding-result-arity-error 4 args))))))))) (void))) -(define effect_2588 +(define effect_2971 (begin (void (add-core-form!* @@ -83446,7 +83449,7 @@ (syntax-e$1 disarmed-s_0) disarmed-s_0))) (if (pair? s_1) - (let ((with-continuation-mark316_0 + (let ((with-continuation-mark317_0 (let ((s_2 (car s_1))) s_2))) (call-with-values (lambda () @@ -83454,7 +83457,7 @@ (let ((s_3 (if (syntax?$1 s_2) (syntax-e$1 s_2) s_2))) (if (pair? s_3) - (let ((key320_0 (let ((s_4 (car s_3))) s_4))) + (let ((key321_0 (let ((s_4 (car s_3))) s_4))) (call-with-values (lambda () (let ((s_4 (cdr s_3))) @@ -83463,10 +83466,10 @@ (syntax-e$1 s_4) s_4))) (if (pair? s_5) - (let ((val323_0 + (let ((val324_0 (let ((s_6 (car s_5))) s_6))) - (let ((body324_0 + (let ((body325_0 (let ((s_6 (cdr s_5))) (let ((s_7 (if (syntax?$1 @@ -83475,7 +83478,7 @@ s_6) s_6))) (if (pair? s_7) - (let ((body325_0 + (let ((body326_0 (let ((s_8 (car s_7))) @@ -83500,10 +83503,10 @@ disarmed-s_0))))) (case-lambda (() - (let ((body325_1 - body325_0)) + (let ((body326_1 + body326_0)) (values - body325_1))) + body326_1))) (args (raise-binding-result-arity-error 0 @@ -83512,18 +83515,18 @@ #f "bad syntax" disarmed-s_0)))))) - (let ((val323_1 val323_0)) + (let ((val324_1 val324_0)) (values - val323_1 - body324_0)))) + val324_1 + body325_0)))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0))))) (case-lambda - ((val321_0 body322_0) - (let ((key320_1 key320_0)) - (values key320_1 val321_0 body322_0))) + ((val322_0 body323_0) + (let ((key321_1 key321_0)) + (values key321_1 val322_0 body323_0))) (args (raise-binding-result-arity-error 2 @@ -83533,37 +83536,37 @@ "bad syntax" disarmed-s_0))))) (case-lambda - ((key317_0 val318_0 body319_0) - (let ((with-continuation-mark316_1 - with-continuation-mark316_0)) + ((key318_0 val319_0 body320_0) + (let ((with-continuation-mark317_1 + with-continuation-mark317_0)) (values - with-continuation-mark316_1 - key317_0 - val318_0 - body319_0))) + with-continuation-mark317_1 + key318_0 + val319_0 + body320_0))) (args (raise-binding-result-arity-error 3 args))))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0)))) (case-lambda - ((with-continuation-mark312_0 key313_0 val314_0 body315_0) + ((with-continuation-mark313_0 key314_0 val315_0 body316_0) (values #t - with-continuation-mark312_0 - key313_0 - val314_0 - body315_0)) + with-continuation-mark313_0 + key314_0 + val315_0 + body316_0)) (args (raise-binding-result-arity-error 4 args))))) (case-lambda - ((ok?_0 with-continuation-mark312_0 key313_0 val314_0 body315_0) + ((ok?_0 with-continuation-mark313_0 key314_0 val315_0 body316_0) (let ((expr-ctx_0 (as-expression-context ctx_0))) (let ((rebuild-s_0 (keep-as-needed.1 #f #f #f ctx_0 s_0))) - (let ((exp-key_0 (expand.1 #f #f key313_0 expr-ctx_0))) + (let ((exp-key_0 (expand.1 #f #f key314_0 expr-ctx_0))) (begin (let ((obs_0 (begin-unsafe (expand-context/inner-observer (root-expand-context/outer-inner ctx_0))))) (if obs_0 (call-expand-observe obs_0 'next) (void))) - (let ((exp-val_0 (expand.1 #f #f val314_0 expr-ctx_0))) + (let ((exp-val_0 (expand.1 #f #f val315_0 expr-ctx_0))) (begin (let ((obs_0 (begin-unsafe @@ -83573,9 +83576,9 @@ (call-expand-observe obs_0 'next) (void))) (let ((exp-body_0 - (let ((temp333_0 + (let ((temp334_0 (as-tail-context.1 ctx_0 expr-ctx_0))) - (expand.1 #f #f body315_0 temp333_0)))) + (expand.1 #f #f body316_0 temp334_0)))) (if (begin-unsafe (expand-context/inner-to-parsed? (root-expand-context/outer-inner ctx_0))) @@ -83584,13 +83587,13 @@ exp-key_0 exp-val_0 exp-body_0) - (let ((temp337_0 + (let ((temp338_0 (list - with-continuation-mark312_0 + with-continuation-mark313_0 exp-key_0 exp-val_0 exp-body_0))) - (rebuild.1 #t rebuild-s_0 temp337_0))))))))))) + (rebuild.1 #t rebuild-s_0 temp338_0))))))))))) (args (raise-binding-result-arity-error 5 args))))))))) (void))) (define make-begin.1 @@ -83609,15 +83612,15 @@ (root-expand-context/outer-inner ctx_0))))) (if obs_0 (call-expand-observe obs_0 'next) (void))) (let ((app_0 - (let ((temp344_0 (car es_0))) - (let ((temp345_0 + (let ((temp345_0 (car es_0))) + (let ((temp346_0 (if (if last-is-tail?10_0 (null? rest-es_0) #f) (as-tail-context.1 ctx_0 expr-ctx_0) expr-ctx_0))) - (let ((temp344_1 temp344_0)) - (expand.1 #f #f temp344_1 temp345_0)))))) + (let ((temp345_1 temp345_0)) + (expand.1 #f #f temp345_1 temp346_0)))))) (cons app_0 (loop_0 @@ -83648,8 +83651,8 @@ (syntax-e$1 disarmed-s_0) disarmed-s_0))) (if (pair? s_1) - (let ((begin340_0 (let ((s_2 (car s_1))) s_2))) - (let ((e341_0 + (let ((begin341_0 (let ((s_2 (car s_1))) s_2))) + (let ((e342_0 (let ((s_2 (cdr s_1))) (let ((s_3 (if (syntax?$1 s_2) @@ -83667,14 +83670,14 @@ "bad syntax" disarmed-s_0) flat-s_0))))))) - (let ((begin340_1 begin340_0)) - (values begin340_1 e341_0)))) + (let ((begin341_1 begin341_0)) + (values begin341_1 e342_0)))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0)))) (case-lambda - ((begin338_0 e339_0) (values #t begin338_0 e339_0)) + ((begin339_0 e340_0) (values #t begin339_0 e340_0)) (args (raise-binding-result-arity-error 2 args))))) (case-lambda - ((ok?_0 begin338_0 e339_0) + ((ok?_0 begin339_0 e340_0) (let ((expr-ctx_0 (if last-is-tail?10_0 (as-begin-expression-context ctx_0) @@ -83685,15 +83688,15 @@ ctx_0 expr-ctx_0 last-is-tail?10_0 - e339_0))) + e340_0))) (if (begin-unsafe (expand-context/inner-to-parsed? (root-expand-context/outer-inner ctx_0))) (|#%app| parsed-begin13_0 rebuild-s_0 exp-es_0) - (let ((temp349_0 (cons begin338_0 exp-es_0))) - (rebuild.1 #t rebuild-s_0 temp349_0))))))) + (let ((temp350_0 (cons begin339_0 exp-es_0))) + (rebuild.1 #t rebuild-s_0 temp350_0))))))) (args (raise-binding-result-arity-error 3 args)))))))))))) -(define effect_2138 +(define effect_2494 (begin (void (add-core-form!* @@ -83721,12 +83724,12 @@ (null? s_3))) #f) #f)) - (let ((begin353_0 + (let ((begin354_0 (let ((s_1 (if (syntax?$1 disarmed-s_0) (syntax-e$1 disarmed-s_0) disarmed-s_0))) - (let ((begin354_0 (let ((s_2 (car s_1))) s_2))) + (let ((begin355_0 (let ((s_2 (car s_1))) s_2))) (call-with-values (lambda () (let ((s_2 (cdr s_1))) @@ -83737,16 +83740,16 @@ (values)))) (case-lambda (() - (let ((begin354_1 begin354_0)) - (values begin354_1))) + (let ((begin355_1 begin355_0)) + (values begin355_1))) (args (raise-binding-result-arity-error 0 args)))))))) - (values #t begin353_0)) + (values #t begin354_0)) (values #f #f))) (case-lambda - ((ok?_0 begin353_0) + ((ok?_0 begin354_0) (if ok?_0 s_0 (|#%app| nonempty-begin_0 s_0 ctx_0))) (args (raise-binding-result-arity-error 2 args))))) (|#%app| nonempty-begin_0 s_0 ctx_0))))))) @@ -83788,22 +83791,22 @@ null)))))) #t) #f))) -(define effect_2920 +(define effect_2344 (begin (void (add-core-form!* '|#%top| - (let ((...nder/expand/expr.rkt:598:1_0 + (let ((...nder/expand/expr.rkt:600:1_0 (|#%name| - ...nder/expand/expr.rkt:598:1 - (lambda (s359_0 ctx360_0 implicit-omitted?358_0) + ...nder/expand/expr.rkt:600:1 + (lambda (s360_0 ctx361_0 implicit-omitted?359_0) (begin - (let ((disarmed-s_0 (syntax-disarm$1 s359_0))) + (let ((disarmed-s_0 (syntax-disarm$1 s360_0))) (begin (let ((obs_0 (begin-unsafe (expand-context/inner-observer - (root-expand-context/outer-inner ctx360_0))))) + (root-expand-context/outer-inner ctx361_0))))) (if obs_0 (call-expand-observe obs_0 @@ -83811,8 +83814,8 @@ disarmed-s_0) (void))) (let ((id_0 - (if implicit-omitted?358_0 - s359_0 + (if implicit-omitted?359_0 + s360_0 (call-with-values (lambda () (call-with-values @@ -83822,9 +83825,9 @@ (syntax-e$1 disarmed-s_0) disarmed-s_0))) (if (pair? s_0) - (let ((|#%top363_0| + (let ((|#%top364_0| (let ((s_1 (car s_0))) s_1))) - (let ((id364_0 + (let ((id365_0 (let ((s_1 (cdr s_0))) (if (let ((or-part_0 (if (syntax?$1 @@ -83842,31 +83845,31 @@ "not an identifier" disarmed-s_0 s_1))))) - (let ((|#%top363_1| |#%top363_0|)) - (values |#%top363_1| id364_0)))) + (let ((|#%top364_1| |#%top364_0|)) + (values |#%top364_1| id365_0)))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0)))) (case-lambda - ((|#%top361_0| id362_0) - (values #t |#%top361_0| id362_0)) + ((|#%top362_0| id363_0) + (values #t |#%top362_0| id363_0)) (args (raise-binding-result-arity-error 2 args))))) (case-lambda - ((ok?_0 |#%top361_0| id362_0) id362_0) + ((ok?_0 |#%top362_0| id363_0) id363_0) (args (raise-binding-result-arity-error 3 args))))))) (let ((b_0 - (let ((temp366_0 + (let ((temp367_0 (begin-unsafe (expand-context/inner-phase (root-expand-context/outer-inner - ctx360_0))))) + ctx361_0))))) (resolve+shift.1 'ambiguous #f @@ -83874,9 +83877,9 @@ unsafe-undefined #f id_0 - temp366_0)))) + temp367_0)))) (if (eq? b_0 'ambiguous) - (raise-ambiguous-error id_0 ctx360_0) + (raise-ambiguous-error id_0 ctx361_0) (if (if b_0 (if (module-binding? b_0) (let ((app_0 (module-binding-module b_0))) @@ -83885,67 +83888,67 @@ (begin-unsafe (root-expand-context/inner-self-mpi (root-expand-context/outer-inner - ctx360_0))))) + ctx361_0))))) #f) #f) (if (begin-unsafe (expand-context/inner-to-parsed? (root-expand-context/outer-inner - ctx360_0))) + ctx361_0))) (parsed-id2.1 id_0 b_0 #f) (if (let ((mpi_0 (module-binding-module b_0))) (begin-unsafe (eq? top-level-module-path-index mpi_0))) - s359_0 + s360_0 id_0)) - (if (register-eventual-variable!? id_0 ctx360_0) + (if (register-eventual-variable!? id_0 ctx361_0) (if (begin-unsafe (expand-context/inner-to-parsed? (root-expand-context/outer-inner - ctx360_0))) + ctx361_0))) (parsed-id2.1 id_0 b_0 #f) id_0) (if (not (begin-unsafe (expand-context/inner-allow-unbound? (root-expand-context/outer-inner - ctx360_0)))) + ctx361_0)))) (raise-unbound-syntax-error #f "unbound identifier" id_0 #f null - (syntax-debug-info-string id_0 ctx360_0)) + (syntax-debug-info-string id_0 ctx361_0)) (let ((tl-id_0 (add-scope id_0 (begin-unsafe (root-expand-context/inner-top-level-bind-scope (root-expand-context/outer-inner - ctx360_0)))))) + ctx361_0)))))) (let ((tl-b_0 - (let ((temp369_0 + (let ((temp370_0 (begin-unsafe (expand-context/inner-phase (root-expand-context/outer-inner - ctx360_0))))) + ctx361_0))))) (resolve.1 #f #f null #f tl-id_0 - temp369_0)))) + temp370_0)))) (if tl-b_0 (if (begin-unsafe (expand-context/inner-to-parsed? (root-expand-context/outer-inner - ctx360_0))) + ctx361_0))) (parsed-top-id4.1 tl-id_0 tl-b_0 #f) - (if implicit-omitted?358_0 + (if implicit-omitted?359_0 id_0 (call-with-values (lambda () @@ -83958,11 +83961,11 @@ disarmed-s_0) disarmed-s_0))) (if (pair? s_0) - (let ((|#%top372_0| + (let ((|#%top373_0| (let ((s_1 (car s_0))) s_1))) - (let ((id373_0 + (let ((id374_0 (let ((s_1 (cdr s_0))) @@ -83983,35 +83986,35 @@ "not an identifier" disarmed-s_0 s_1))))) - (let ((|#%top372_1| - |#%top372_0|)) + (let ((|#%top373_1| + |#%top373_0|)) (values - |#%top372_1| - id373_0)))) + |#%top373_1| + id374_0)))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0)))) (case-lambda - ((|#%top370_0| id371_0) + ((|#%top371_0| id372_0) (values #t - |#%top370_0| - id371_0)) + |#%top371_0| + id372_0)) (args (raise-binding-result-arity-error 2 args))))) (case-lambda - ((ok?_0 |#%top370_0| id371_0) - (let ((temp375_0 + ((ok?_0 |#%top371_0| id372_0) + (let ((temp376_0 (cons - |#%top370_0| + |#%top371_0| id_0))) (rebuild.1 #t - s359_0 - temp375_0))) + s360_0 + temp376_0))) (args (raise-binding-result-arity-error 3 @@ -84019,20 +84022,20 @@ (if (begin-unsafe (expand-context/inner-to-parsed? (root-expand-context/outer-inner - ctx360_0))) + ctx361_0))) (parsed-top-id4.1 id_0 b_0 #f) - s359_0))))))))))))))))) + s360_0))))))))))))))))) (|#%name| - ...nder/expand/expr.rkt:598:1 + ...nder/expand/expr.rkt:600:1 (case-lambda - ((s_0 ctx_0) (begin (...nder/expand/expr.rkt:598:1_0 s_0 ctx_0 #f))) - ((s_0 ctx_0 implicit-omitted?358_0) - (...nder/expand/expr.rkt:598:1_0 + ((s_0 ctx_0) (begin (...nder/expand/expr.rkt:600:1_0 s_0 ctx_0 #f))) + ((s_0 ctx_0 implicit-omitted?359_0) + (...nder/expand/expr.rkt:600:1_0 s_0 ctx_0 - implicit-omitted?358_0))))))) + implicit-omitted?359_0))))))) (void))) -(define effect_2472 +(define effect_2517 (begin (void (add-core-form!* @@ -84056,14 +84059,14 @@ (syntax-e$1 disarmed-s_0) disarmed-s_0))) (if (pair? s_1) - (let ((set!379_0 (let ((s_2 (car s_1))) s_2))) + (let ((set!380_0 (let ((s_2 (car s_1))) s_2))) (call-with-values (lambda () (let ((s_2 (cdr s_1))) (let ((s_3 (if (syntax?$1 s_2) (syntax-e$1 s_2) s_2))) (if (pair? s_3) - (let ((id382_0 + (let ((id383_0 (let ((s_4 (car s_3))) (if (let ((or-part_0 (if (syntax?$1 s_4) @@ -84079,14 +84082,14 @@ "not an identifier" disarmed-s_0 s_4))))) - (let ((rhs383_0 + (let ((rhs384_0 (let ((s_4 (cdr s_3))) (let ((s_5 (if (syntax?$1 s_4) (syntax-e$1 s_4) s_4))) (if (pair? s_5) - (let ((rhs384_0 + (let ((rhs385_0 (let ((s_6 (car s_5))) s_6))) (call-with-values @@ -84106,8 +84109,8 @@ disarmed-s_0))))) (case-lambda (() - (let ((rhs384_1 rhs384_0)) - (values rhs384_1))) + (let ((rhs385_1 rhs385_0)) + (values rhs385_1))) (args (raise-binding-result-arity-error 0 @@ -84116,24 +84119,24 @@ #f "bad syntax" disarmed-s_0)))))) - (let ((id382_1 id382_0)) - (values id382_1 rhs383_0)))) + (let ((id383_1 id383_0)) + (values id383_1 rhs384_0)))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0))))) (case-lambda - ((id380_0 rhs381_0) - (let ((set!379_1 set!379_0)) - (values set!379_1 id380_0 rhs381_0))) + ((id381_0 rhs382_0) + (let ((set!380_1 set!380_0)) + (values set!380_1 id381_0 rhs382_0))) (args (raise-binding-result-arity-error 2 args))))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0)))) (case-lambda - ((set!376_0 id377_0 rhs378_0) - (values #t set!376_0 id377_0 rhs378_0)) + ((set!377_0 id378_0 rhs379_0) + (values #t set!377_0 id378_0 rhs379_0)) (args (raise-binding-result-arity-error 3 args))))) (case-lambda - ((ok?_0 set!376_0 id377_0 rhs378_0) + ((ok?_0 set!377_0 id378_0 rhs379_0) (letrec* ((rename-loop_0 (|#%name| @@ -84141,7 +84144,7 @@ (lambda (id_0 from-rename?_0) (begin (let ((binding_0 - (let ((temp386_0 + (let ((temp387_0 (begin-unsafe (expand-context/inner-phase (root-expand-context/outer-inner @@ -84153,7 +84156,7 @@ #t #f id_0 - temp386_0)))) + temp387_0)))) (begin (if (eq? binding_0 'ambiguous) (raise-ambiguous-error id_0 ctx_0) @@ -84229,14 +84232,14 @@ ctx_0 s_0))) (let ((exp-rhs_0 - (let ((temp395_0 + (let ((temp396_0 (as-expression-context ctx_0))) (expand.1 #f #f - rhs378_0 - temp395_0)))) + rhs379_0 + temp396_0)))) (if (begin-unsafe (expand-context/inner-to-parsed? (root-expand-context/outer-inner @@ -84245,24 +84248,24 @@ rebuild-s_0 (parsed-id2.1 id_0 binding_0 #f) exp-rhs_0) - (let ((temp397_0 + (let ((temp398_0 (list - set!376_0 - (let ((temp400_0 + set!377_0 + (let ((temp401_0 (free-id-set-empty-or-just-module*? (begin-unsafe (expand-context/inner-stops (root-expand-context/outer-inner ctx_0)))))) (substitute-variable.1 - temp400_0 + temp401_0 id_0 t_0)) exp-rhs_0))) (rebuild.1 #t rebuild-s_0 - temp397_0)))))))) + temp398_0)))))))) (if (not binding_0) (raise-unbound-syntax-error #f @@ -84275,28 +84278,28 @@ (if (not-in-this-expand-context? t_0 ctx_0) - (let ((temp401_0 + (let ((temp402_0 (avoid-current-expand-context (|#%app| substitute-set!-rename s_0 disarmed-s_0 - set!376_0 - rhs378_0 + set!377_0 + rhs379_0 id_0 from-rename?_0 ctx_0) t_0 ctx_0))) - (expand.1 #f #f temp401_0 ctx_0)) + (expand.1 #f #f temp402_0 ctx_0)) (call-with-values (lambda () (apply-transformer.1 - id377_0 + id378_0 t_0 insp_0 s_0 - id377_0 + id378_0 ctx_0 binding_0)) (case-lambda @@ -84319,20 +84322,20 @@ (if (not-in-this-expand-context? t_0 ctx_0) - (let ((temp412_0 + (let ((temp413_0 (avoid-current-expand-context (|#%app| substitute-set!-rename s_0 disarmed-s_0 - set!376_0 - rhs378_0 + set!377_0 + rhs379_0 id_0 from-rename?_0 ctx_0) t_0 ctx_0))) - (expand.1 #f #f temp412_0 ctx_0)) + (expand.1 #f #f temp413_0 ctx_0)) (rename-loop_0 (apply-rename-transformer t_0 @@ -84348,7 +84351,7 @@ (raise-binding-result-arity-error 4 args))))))))))) - (rename-loop_0 id377_0 #f))) + (rename-loop_0 id378_0 #f))) (args (raise-binding-result-arity-error 4 args))))))))) (void))) (define substitute-set!-rename @@ -84362,7 +84365,7 @@ disarmed-s_0) s_0) s_0))) -(define effect_2310 +(define effect_2817 (begin (void (add-core-form!* @@ -84414,15 +84417,15 @@ (if (syntax?$1 disarmed-s_0) (syntax-e$1 disarmed-s_0) disarmed-s_0))) - (let ((|#%variable-reference416_0| + (let ((|#%variable-reference417_0| (let ((s_2 (car s_1))) s_2))) - (let ((id417_0 + (let ((id418_0 (let ((s_2 (cdr s_1))) (let ((s_3 (if (syntax?$1 s_2) (syntax-e$1 s_2) s_2))) - (let ((id418_0 (let ((s_4 (car s_3))) s_4))) + (let ((id419_0 (let ((s_4 (car s_3))) s_4))) (call-with-values (lambda () (let ((s_4 (cdr s_3))) @@ -84433,22 +84436,22 @@ (values)))) (case-lambda (() - (let ((id418_1 id418_0)) - (values id418_1))) + (let ((id419_1 id419_0)) + (values id419_1))) (args (raise-binding-result-arity-error 0 args))))))))) - (let ((|#%variable-reference416_1| - |#%variable-reference416_0|)) - (values |#%variable-reference416_1| id417_0)))))) + (let ((|#%variable-reference417_1| + |#%variable-reference417_0|)) + (values |#%variable-reference417_1| id418_0)))))) (case-lambda - ((|#%variable-reference414_0| id415_0) - (values #t |#%variable-reference414_0| id415_0)) + ((|#%variable-reference415_0| id416_0) + (values #t |#%variable-reference415_0| id416_0)) (args (raise-binding-result-arity-error 2 args)))) (values #f #f #f))) (case-lambda - ((ok?_0 |#%variable-reference414_0| id415_0) + ((ok?_0 |#%variable-reference415_0| id416_0) (call-with-values (lambda () (if (if (not ok?_0) @@ -84499,7 +84502,7 @@ (if (syntax?$1 disarmed-s_0) (syntax-e$1 disarmed-s_0) disarmed-s_0))) - (let ((|#%variable-reference422_0| + (let ((|#%variable-reference423_0| (let ((s_2 (car s_1))) s_2))) (call-with-values (lambda () @@ -84515,16 +84518,16 @@ (if (syntax?$1 s_4) (syntax-e$1 s_4) s_4))) - (let ((|#%top427_0| + (let ((|#%top428_0| (let ((s_6 (car s_5))) s_6))) - (let ((id428_0 + (let ((id429_0 (let ((s_6 (cdr s_5))) s_6))) - (let ((|#%top427_1| |#%top427_0|)) + (let ((|#%top428_1| |#%top428_0|)) (values - |#%top427_1| - id428_0))))))) + |#%top428_1| + id429_0))))))) (case-lambda - ((|#%top425_0| id426_0) + ((|#%top426_0| id427_0) (call-with-values (lambda () (let ((s_4 (cdr s_3))) @@ -84535,9 +84538,9 @@ (values)))) (case-lambda (() - (let ((|#%top425_1| |#%top425_0|) - (id426_1 id426_0)) - (values |#%top425_1| id426_1))) + (let ((|#%top426_1| |#%top426_0|) + (id427_1 id427_0)) + (values |#%top426_1| id427_1))) (args (raise-binding-result-arity-error 0 @@ -84547,36 +84550,36 @@ 2 args))))))) (case-lambda - ((|#%top423_0| id424_0) - (let ((|#%variable-reference422_1| - |#%variable-reference422_0|)) + ((|#%top424_0| id425_0) + (let ((|#%variable-reference423_1| + |#%variable-reference423_0|)) (values - |#%variable-reference422_1| - |#%top423_0| - id424_0))) + |#%variable-reference423_1| + |#%top424_0| + id425_0))) (args (raise-binding-result-arity-error 2 args))))))) (case-lambda - ((|#%variable-reference419_0| |#%top420_0| id421_0) + ((|#%variable-reference420_0| |#%top421_0| id422_0) (values #t - |#%variable-reference419_0| - |#%top420_0| - id421_0)) + |#%variable-reference420_0| + |#%top421_0| + id422_0)) (args (raise-binding-result-arity-error 3 args)))) (values #f #f #f #f))) (case-lambda - ((ok?_1 |#%variable-reference419_0| |#%top420_0| id421_0) + ((ok?_1 |#%variable-reference420_0| |#%top421_0| id422_0) (call-with-values (lambda () (if (if (not (if ok?_0 ok?_0 ok?_1)) #t #f) - (let ((|#%variable-reference429_0| + (let ((|#%variable-reference430_0| (let ((s_1 (if (syntax?$1 disarmed-s_0) (syntax-e$1 disarmed-s_0) disarmed-s_0))) (if (pair? s_1) - (let ((|#%variable-reference430_0| + (let ((|#%variable-reference431_0| (let ((s_2 (car s_1))) s_2))) (call-with-values (lambda () @@ -84593,9 +84596,9 @@ disarmed-s_0))))) (case-lambda (() - (let ((|#%variable-reference430_1| - |#%variable-reference430_0|)) - (values |#%variable-reference430_1|))) + (let ((|#%variable-reference431_1| + |#%variable-reference431_0|)) + (values |#%variable-reference431_1|))) (args (raise-binding-result-arity-error 0 @@ -84604,14 +84607,14 @@ #f "bad syntax" disarmed-s_0))))) - (values #t |#%variable-reference429_0|)) + (values #t |#%variable-reference430_0|)) (values #f #f))) (case-lambda - ((ok?_2 |#%variable-reference429_0|) + ((ok?_2 |#%variable-reference430_0|) (if (if ok?_0 ok?_0 ok?_1) - (let ((var-id_0 (if ok?_0 id415_0 id421_0))) + (let ((var-id_0 (if ok?_0 id416_0 id422_0))) (let ((binding_0 - (let ((temp432_0 + (let ((temp433_0 (begin-unsafe (expand-context/inner-phase (root-expand-context/outer-inner @@ -84623,7 +84626,7 @@ unsafe-undefined #f var-id_0 - temp432_0)))) + temp433_0)))) (begin (if (eq? binding_0 'ambiguous) (raise-ambiguous-error var-id_0 ctx_0) @@ -84646,14 +84649,14 @@ (call-with-values (lambda () (if binding_0 - (let ((temp438_0 + (let ((temp439_0 (begin-unsafe (expand-context/inner-in-local-expand? (root-expand-context/outer-inner ctx_0))))) (lookup.1 s_0 - temp438_0 + temp439_0 binding_0 ctx_0 var-id_0)) @@ -84704,7 +84707,7 @@ (args (raise-binding-result-arity-error 4 args))))) (args (raise-binding-result-arity-error 3 args))))))))) (void))) -(define effect_2163 +(define effect_1916 (begin (void (add-core-form!* @@ -84728,15 +84731,15 @@ (syntax-e$1 disarmed-s_0) disarmed-s_0))) (if (pair? s_1) - (let ((|#%expression441_0| (let ((s_2 (car s_1))) s_2))) - (let ((e442_0 + (let ((|#%expression442_0| (let ((s_2 (car s_1))) s_2))) + (let ((e443_0 (let ((s_2 (cdr s_1))) (let ((s_3 (if (syntax?$1 s_2) (syntax-e$1 s_2) s_2))) (if (pair? s_3) - (let ((e443_0 + (let ((e444_0 (let ((s_4 (car s_3))) s_4))) (call-with-values (lambda () @@ -84753,8 +84756,8 @@ disarmed-s_0))))) (case-lambda (() - (let ((e443_1 e443_0)) - (values e443_1))) + (let ((e444_1 e444_0)) + (values e444_1))) (args (raise-binding-result-arity-error 0 @@ -84763,21 +84766,21 @@ #f "bad syntax" disarmed-s_0)))))) - (let ((|#%expression441_1| |#%expression441_0|)) - (values |#%expression441_1| e442_0)))) + (let ((|#%expression442_1| |#%expression442_0|)) + (values |#%expression442_1| e443_0)))) (raise-syntax-error$1 #f "bad syntax" disarmed-s_0)))) (case-lambda - ((|#%expression439_0| e440_0) - (values #t |#%expression439_0| e440_0)) + ((|#%expression440_0| e441_0) + (values #t |#%expression440_0| e441_0)) (args (raise-binding-result-arity-error 2 args))))) (case-lambda - ((ok?_0 |#%expression439_0| e440_0) + ((ok?_0 |#%expression440_0| e441_0) (let ((rebuild-s_0 (keep-as-needed.1 #t #f #f ctx_0 s_0))) (let ((exp-e_0 - (let ((temp448_0 - (let ((temp449_0 (as-expression-context ctx_0))) - (as-tail-context.1 ctx_0 temp449_0)))) - (expand.1 #f #f e440_0 temp448_0)))) + (let ((temp449_0 + (let ((temp450_0 (as-expression-context ctx_0))) + (as-tail-context.1 ctx_0 temp450_0)))) + (expand.1 #f #f e441_0 temp449_0)))) (if (begin-unsafe (expand-context/inner-to-parsed? (root-expand-context/outer-inner ctx_0))) @@ -84796,8 +84799,8 @@ 'top-level (begin-unsafe (expand-context/outer-context ctx_0))))) - (let ((temp452_0 (list |#%expression439_0| exp-e_0))) - (rebuild.1 #t rebuild-s_0 temp452_0)) + (let ((temp453_0 (list |#%expression440_0| exp-e_0))) + (rebuild.1 #t rebuild-s_0 temp453_0)) (let ((result-s_0 (syntax-track-origin$1 exp-e_0 rebuild-s_0))) (begin diff --git a/racket/src/expander/expand/expr.rkt b/racket/src/expander/expand/expr.rkt index 528af6d2a3..665690ef62 100644 --- a/racket/src/expander/expand/expr.rkt +++ b/racket/src/expander/expand/expr.rkt @@ -405,10 +405,12 @@ (if (and (expand-context-to-parsed? ctx) (free-id-set-empty? (expand-context-stops ctx))) (parsed-quote (keep-properties-only~ s) (syntax->datum datum)) - (rebuild - s - (list (core-id 'quote phase) - datum))))) + (syntax-track-origin (rebuild s + (list (core-id 'quote phase) + datum) + #:track? #f) + s + (m '#%datum))))) ;; '#%kernel `#%app` treats an empty combination as a literal null (add-core-form!