From a17e6625971a917d9ed2bca17165c9385ea43480 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 21 May 2020 18:11:04 -0600 Subject: [PATCH] expander: shortcut for parsing already expanded When a `module` or `let-syntax` form is `expand`ed (i.e., when a syntax object must be generated), then code is expanded to a syntax object and then parsed again for compilation. In that second parse, take advantage of the fact that the expression is already expanded, which means that no new scopes or bindings need to be created. Related to #3165 --- racket/src/expander/expand/context.rkt | 4 +- racket/src/expander/expand/env.rkt | 12 +- racket/src/expander/expand/expr.rkt | 114 +- racket/src/expander/expand/main.rkt | 9 +- racket/src/racket/src/startup.inc | 1627 +++++++++++++----------- 5 files changed, 992 insertions(+), 774 deletions(-) diff --git a/racket/src/expander/expand/context.rkt b/racket/src/expander/expand/context.rkt index 882804892d..8907f79357 100644 --- a/racket/src/expander/expand/context.rkt +++ b/racket/src/expander/expand/context.rkt @@ -71,7 +71,7 @@ for-serializable? ; accumulate submodules as serializable? to-correlated-linklet? ; compile to machine-independent linklets? normalize-locals? ; forget original local-variable names - should-not-encounter-macros? ; #t when "expanding" to parse + parsing-expanded? ; #t when "expanding" to parse skip-visit-available?)) ; avoid instantiation cycles (define (make-expand-context ns @@ -218,7 +218,7 @@ (struct*-copy expand-context ctx [to-parsed? #t] [observer #f] - [should-not-encounter-macros? #t])) + [parsing-expanded? #t])) ;; ---------------------------------------- diff --git a/racket/src/expander/expand/env.rkt b/racket/src/expander/expand/env.rkt index d59d633152..7d40713f49 100644 --- a/racket/src/expander/expand/env.rkt +++ b/racket/src/expander/expand/env.rkt @@ -33,7 +33,9 @@ add-bulk-binding! add-local-binding! - binding-lookup) + binding-lookup + + existing-binding-key) ;; ---------------------------------------- @@ -175,3 +177,11 @@ (raise-syntax-error #f "cannot use identifier tainted by macro transformation" id))) + +;; ---------------------------------------- + +(define (existing-binding-key id phase) + (define b (resolve+shift id phase #:immediate? #t)) + (unless (local-binding? b) + (raise-syntax-error #f "expected an existing local binding for an already-expanded identifier" id)) + (local-binding-key b)) diff --git a/racket/src/expander/expand/expr.rkt b/racket/src/expander/expand/expr.rkt index 7405c6cdf1..376e9335b1 100644 --- a/racket/src/expander/expand/expr.rkt +++ b/racket/src/expander/expand/expr.rkt @@ -32,7 +32,8 @@ ;; Common expansion for `lambda` and `case-lambda` (define (lambda-clause-expander s disarmed-s formals bodys ctx) - (define sc (new-scope 'local)) + (define sc (and (not (expand-context-parsing-expanded? ctx)) + (new-scope 'local))) (define phase (expand-context-phase ctx)) ;; Parse and check formal arguments: (define ids (parse-and-flatten-formals formals sc disarmed-s)) @@ -42,20 +43,31 @@ (define counter (root-expand-context-counter ctx)) (define local-sym (and (expand-context-normalize-locals? ctx) 'arg)) (define keys (for/list ([id (in-list ids)]) - (add-local-binding! id phase counter #:in s #:local-sym local-sym))) + (if sc + (add-local-binding! id phase counter #:in s #:local-sym local-sym) + (existing-binding-key id (expand-context-phase ctx))))) (define body-env (for/fold ([env (expand-context-env ctx)]) ([key (in-list keys)] [id (in-list ids)]) (env-extend env key (local-variable id)))) - (define sc-formals (add-scope formals sc)) - (define sc-bodys (for/list ([body (in-list bodys)]) (add-scope body sc))) + (define sc-formals (if sc (add-scope formals sc) formals)) + (define sc-bodys (if sc + (for/list ([body (in-list bodys)]) (add-scope body sc)) + bodys)) (log-expand ctx 'lambda-renames sc-formals sc-bodys) ;; Expand the function body: (define body-ctx (struct*-copy expand-context ctx [env body-env] - [scopes (cons sc (expand-context-scopes ctx))] - [binding-layer (increment-binding-layer ids ctx sc)] + [scopes (if sc + (cons sc (expand-context-scopes ctx)) + (expand-context-scopes ctx))] + [binding-layer (if sc + (increment-binding-layer ids ctx sc) + (expand-context-binding-layer ctx))] [frame-id #:parent root-expand-context #f])) - (define exp-body (expand-body sc-bodys body-ctx #:source (keep-as-needed ctx s #:keep-for-error? #t))) + (define exp-body (if sc + (expand-body sc-bodys body-ctx #:source (keep-as-needed ctx s #:keep-for-error? #t)) + (for/list ([sc-body (in-list sc-bodys)]) + (expand sc-body body-ctx)))) ;; Return formals (with new scope) and expanded body: (values (if (expand-context-to-parsed? ctx) (unflatten-like-formals keys formals) @@ -126,7 +138,9 @@ (define (parse-and-flatten-formals all-formals sc s) (let loop ([formals all-formals]) (cond - [(identifier? formals) (list (add-scope formals sc))] + [(identifier? formals) (list (if sc + (add-scope formals sc) + formals))] [(syntax? formals) (define p (syntax-e formals)) (cond @@ -171,8 +185,13 @@ (define-match val-m disarmed-s #:unless syntaxes? '(let-values ([(id:val ...) val-rhs] ...) body ...+)) - (define sc (new-scope 'local)) - (define body-sc (and rec? (new-scope 'letrec-body))) + (define sc (and (not (expand-context-parsing-expanded? ctx)) + (new-scope 'local))) + (when (and syntaxes? (not sc)) + (raise-syntax-error #f + "encountered `letrec-syntaxes` in form that should be fully expanded" + s)) + (define body-sc (and sc rec? (new-scope 'letrec-body))) (define phase (expand-context-phase ctx)) (define frame-id (and syntaxes? (make-reference-record))) ; accumulates info on referenced variables @@ -184,13 +203,17 @@ (for/list ([rhs (in-list (stx-m 'trans-rhs))]) (add-scope rhs sc)) '())) - (define val-idss (for/list ([ids (in-list (if syntaxes? (stx-m 'id:val) (val-m 'id:val)))]) - (for/list ([id (in-list ids)]) - (add-scope id sc)))) - (define val-rhss (if rec? - (for/list ([rhs (in-list (if syntaxes? (stx-m 'val-rhs) (val-m 'val-rhs)))]) - (add-scope rhs sc)) - (if syntaxes? (stx-m 'val-rhs) (val-m 'val-rhs)))) + (define val-idss (let ([val-idss (if syntaxes? (stx-m 'id:val) (val-m 'id:val))]) + (if sc + (for/list ([ids (in-list val-idss)]) + (for/list ([id (in-list ids)]) + (add-scope id sc))) + val-idss))) + (define val-rhss (let ([val-rhss (if syntaxes? (stx-m 'val-rhs) (val-m 'val-rhs))]) + (if (and rec? sc) + (for/list ([rhs (in-list val-rhss)]) + (add-scope rhs sc)) + val-rhss))) (define val-clauses ; for syntax tracking (cond [syntaxes? @@ -208,18 +231,23 @@ (for/list ([id (in-list ids)]) (add-local-binding! id phase counter #:frame-id frame-id #:in s - #:local-sym local-sym)))) + #:local-sym local-sym)))) (define val-keyss (for/list ([ids (in-list val-idss)]) (for/list ([id (in-list ids)]) - (add-local-binding! id phase counter - #:frame-id frame-id #:in s - #:local-sym local-sym)))) + (if sc + (add-local-binding! id phase counter + #:frame-id frame-id #:in s + #:local-sym local-sym) + (existing-binding-key id (expand-context-phase ctx)))))) ;; Add new scope to body: - (define bodys (for/list ([body (in-list (if syntaxes? (stx-m 'body) (val-m 'body)))]) - (define new-body (add-scope body sc)) - (if rec? - (add-scope new-body body-sc) - new-body))) + (define bodys (let ([bodys (if syntaxes? (stx-m 'body) (val-m 'body))]) + (if sc + (for/list ([body (in-list bodys)]) + (define new-body (add-scope body sc)) + (if rec? + (add-scope new-body body-sc) + new-body)) + bodys))) (log-expand ctx 'letX-renames trans-idss trans-rhss val-idss val-rhss bodys) ;; Evaluate compile-time expressions (if any): (when syntaxes? @@ -255,17 +283,21 @@ (define orig-rrs (expand-context-reference-records expr-ctx)) (define rec-ctx (struct*-copy expand-context expr-ctx [env rec-env] - [scopes (let ([scopes (cons sc (expand-context-scopes ctx))]) - (if rec? - (cons body-sc scopes) - scopes))] + [scopes (if sc + (let ([scopes (cons sc (expand-context-scopes ctx))]) + (if rec? + (cons body-sc scopes) + scopes)) + (expand-context-scopes ctx))] [reference-records (if split-by-reference? (cons frame-id orig-rrs) orig-rrs)] - [binding-layer (increment-binding-layer - (cons trans-idss val-idss) - ctx - sc)])) + [binding-layer (if sc + (increment-binding-layer + (cons trans-idss val-idss) + ctx + sc) + (expand-context-binding-layer ctx))])) (define letrec-values-id (and (not (expand-context-to-parsed? ctx)) (if syntaxes? @@ -280,10 +312,14 @@ val-idss)) (define (get-body) - (define body-ctx (struct*-copy expand-context rec-ctx - [reference-records orig-rrs])) - (expand-body bodys (as-tail-context body-ctx #:wrt ctx) #:source rebuild-s)) - + (cond + [(expand-context-parsing-expanded? ctx) + (for/list ([body (in-list bodys)]) + (expand body rec-ctx))] + [else + (define body-ctx (struct*-copy expand-context rec-ctx + [reference-records orig-rrs])) + (expand-body bodys (as-tail-context body-ctx #:wrt ctx) #:source rebuild-s)])) (define result-s (cond [(not split-by-reference?) @@ -645,7 +681,7 @@ (root-expand-context-self-mpi ctx)))) (raise-syntax-error #f "cannot mutate module-required identifier" s id)) (log-expand ctx 'next) - (register-variable-referenced-if-local! binding) + (register-variable-referenced-if-local! binding ctx) (define rebuild-s (keep-as-needed ctx s)) (define exp-rhs (expand (m 'rhs) (as-expression-context ctx))) (if (expand-context-to-parsed? ctx) diff --git a/racket/src/expander/expand/main.rkt b/racket/src/expander/expand/main.rkt index b5a304ebe4..7ad1e92ba8 100644 --- a/racket/src/expander/expand/main.rkt +++ b/racket/src/expander/expand/main.rkt @@ -300,7 +300,7 @@ (define adj-s (avoid-current-expand-context (substitute-alternate-id s id) t ctx)) (log-expand ctx 'tag/context adj-s) (expand adj-s ctx)] - [(and (expand-context-should-not-encounter-macros? ctx) + [(and (expand-context-parsing-expanded? ctx) ;; It's ok to have a rename transformer whose target ;; is a primitive form, so if it's a rename transformer, ;; delay the check for another step @@ -334,7 +334,7 @@ [else (log-expand ctx 'variable s id) ;; A reference to a variable expands to itself - (register-variable-referenced-if-local! binding) + (register-variable-referenced-if-local! binding ctx) ;; If the variable is locally bound, replace the use's scopes with the binding's scopes (define result-s (substitute-variable id t #:no-stops? (free-id-set-empty-or-just-module*? (expand-context-stops ctx)))) (cond @@ -526,11 +526,12 @@ s) s)])) -(define (register-variable-referenced-if-local! binding) +(define (register-variable-referenced-if-local! binding ctx) ;; If the binding's frame has a reference record, then register ;; the use for the purposes of `letrec` splitting (when (and (local-binding? binding) - (reference-record? (binding-frame-id binding))) + (reference-record? (binding-frame-id binding)) + (not (expand-context-parsing-expanded? ctx))) (reference-record-used! (binding-frame-id binding) (local-binding-key binding)))) ;; ---------------------------------------- diff --git a/racket/src/racket/src/startup.inc b/racket/src/racket/src/startup.inc index 7c609549ee..1e8bcda0ea 100644 --- a/racket/src/racket/src/startup.inc +++ b/racket/src/racket/src/startup.inc @@ -15745,6 +15745,19 @@ static const char *startup_source = "(if(syntax-tainted?$1 id_0)" " (let-values () (raise-syntax-error$1 #f \"cannot use identifier tainted by macro transformation\" id_0))" "(void)))))" +"(define-values" +"(existing-binding-key)" +"(lambda(id_0 phase_0)" +"(begin" +"(let-values(((b_0)" +"(let-values(((id59_0) id_0)((phase60_0) phase_0)((temp61_0) #t))" +"(resolve+shift.1 #f #f null temp61_0 #f id59_0 phase60_0))))" +"(begin" +"(if(local-binding? b_0)" +"(void)" +"(let-values()" +" (raise-syntax-error$1 #f \"expected an existing local binding for an already-expanded identifier\" id_0)))" +"(local-binding-key b_0))))))" "(define-values(cons-ish)(lambda(a_0 b_0)(begin(if(null? b_0) a_0(cons a_0 b_0)))))" "(define-values" "(free-id-set)" @@ -15885,7 +15898,7 @@ static const char *startup_source = " expand-context/inner-for-serializable?" " expand-context/inner-to-correlated-linklet?" " expand-context/inner-normalize-locals?" -" expand-context/inner-should-not-encounter-macros?" +" expand-context/inner-parsing-expanded?" " expand-context/inner-skip-visit-available?)" "(let-values(((struct:_0 make-_0 ?_0 -ref_0 -set!_0)" "(let-values()" @@ -15926,7 +15939,7 @@ static const char *startup_source = "(make-struct-field-accessor -ref_0 17 'for-serializable?)" "(make-struct-field-accessor -ref_0 18 'to-correlated-linklet?)" "(make-struct-field-accessor -ref_0 19 'normalize-locals?)" -"(make-struct-field-accessor -ref_0 20 'should-not-encounter-macros?)" +"(make-struct-field-accessor -ref_0 20 'parsing-expanded?)" "(make-struct-field-accessor -ref_0 21 'skip-visit-available?))))" "(define-values" "(expand-context/make)" @@ -15971,7 +15984,7 @@ static const char *startup_source = " for-serializable?_0" " to-correlated-linklet?_0" " normalize-locals?_0" -" should-not-encounter-macros?_0" +" parsing-expanded?_0" " skip-visit-available?_0)" "(begin" "(expand-context/outer1.1" @@ -16003,7 +16016,7 @@ static const char *startup_source = " for-serializable?_0" " to-correlated-linklet?_0" " normalize-locals?_0" -" should-not-encounter-macros?_0" +" parsing-expanded?_0" " skip-visit-available?_0)" " post-expansion_0" " use-site-scopes_0" @@ -16097,8 +16110,8 @@ static const char *startup_source = "(expand-context-normalize-locals?)" "(lambda(v_0)(begin(expand-context/inner-normalize-locals?(root-expand-context/outer-inner v_0)))))" "(define-values" -"(expand-context-should-not-encounter-macros?)" -"(lambda(v_0)(begin(expand-context/inner-should-not-encounter-macros?(root-expand-context/outer-inner v_0)))))" +"(expand-context-parsing-expanded?)" +"(lambda(v_0)(begin(expand-context/inner-parsing-expanded?(root-expand-context/outer-inner v_0)))))" "(define-values" "(expand-context-skip-visit-available?)" "(lambda(v_0)(begin(expand-context/inner-skip-visit-available?(root-expand-context/outer-inner v_0)))))" @@ -16209,7 +16222,7 @@ static const char *startup_source = "(expand-context/inner-for-serializable? the-struct_1)" "(expand-context/inner-to-correlated-linklet? the-struct_1)" "(expand-context/inner-normalize-locals? the-struct_1)" -"(expand-context/inner-should-not-encounter-macros? the-struct_1)" +"(expand-context/inner-parsing-expanded? the-struct_1)" "(expand-context/inner-skip-visit-available? the-struct_1)))" " (raise-argument-error 'struct-copy \"expand-context/inner?\" the-struct_1)))))" "(expand-context/outer1.1" @@ -16385,9 +16398,7 @@ static const char *startup_source = "(let-values(((inner47_0)" "(let-values(((the-struct_1)(root-expand-context/outer-inner v_0)))" "(if(expand-context/inner? the-struct_1)" -"(let-values(((to-parsed?48_0) #t)" -"((observer49_0) #f)" -"((should-not-encounter-macros?50_0) #t))" +"(let-values(((to-parsed?48_0) #t)((observer49_0) #f)((parsing-expanded?50_0) #t))" "(expand-context/inner2.1" "(root-expand-context/inner-self-mpi the-struct_1)" "(root-expand-context/inner-module-scopes the-struct_1)" @@ -16416,7 +16427,7 @@ static const char *startup_source = "(expand-context/inner-for-serializable? the-struct_1)" "(expand-context/inner-to-correlated-linklet? the-struct_1)" "(expand-context/inner-normalize-locals? the-struct_1)" -" should-not-encounter-macros?50_0" +" parsing-expanded?50_0" "(expand-context/inner-skip-visit-available? the-struct_1)))" " (raise-argument-error 'struct-copy \"expand-context/inner?\" the-struct_1)))))" "(expand-context/outer1.1" @@ -44143,9 +44154,7 @@ static const char *startup_source = "(void)))" "(let-values(((adj-s162_0) adj-s_0)((ctx163_0) ctx_0))" "(expand.1 #f #f adj-s162_0 ctx163_0)))))" -"(if(if(expand-context-should-not-encounter-macros? ctx_0)" -"(not(1/rename-transformer? t_0))" -" #f)" +"(if(if(expand-context-parsing-expanded? ctx_0)(not(1/rename-transformer? t_0)) #f)" "(let-values()" "(raise-syntax-error$1" " #f" @@ -44207,7 +44216,7 @@ static const char *startup_source = "(let-values()(let-values()(call-expand-observe obs_0 'variable s_0 id_0)))" "(void)))" "(values))))" -"(let-values((()(begin(register-variable-referenced-if-local! binding_0)(values))))" +"(let-values((()(begin(register-variable-referenced-if-local! binding_0 ctx_0)(values))))" "(let-values(((result-s_0)" "(let-values(((id176_0) id_0)" "((t177_0) t_0)" @@ -44496,9 +44505,11 @@ static const char *startup_source = " s_0))))))))" "(define-values" "(register-variable-referenced-if-local!)" -"(lambda(binding_0)" +"(lambda(binding_0 ctx_0)" "(begin" -"(if(if(local-binding? binding_0)(reference-record?(binding-frame-id binding_0)) #f)" +"(if(if(local-binding? binding_0)" +"(if(reference-record?(binding-frame-id binding_0))(not(expand-context-parsing-expanded? ctx_0)) #f)" +" #f)" "(let-values()(reference-record-used!(binding-frame-id binding_0)(local-binding-key binding_0)))" "(void)))))" "(define-values" @@ -44623,7 +44634,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -44827,7 +44838,7 @@ static const char *startup_source = "(expand-context/inner-for-serializable? the-struct_1)" "(expand-context/inner-to-correlated-linklet? the-struct_1)" "(expand-context/inner-normalize-locals? the-struct_1)" -"(expand-context/inner-should-not-encounter-macros? the-struct_1)" +"(expand-context/inner-parsing-expanded? the-struct_1)" "(expand-context/inner-skip-visit-available? the-struct_1)))" " (raise-argument-error 'struct-copy \"expand-context/inner?\" the-struct_1)))))" "(expand-context/outer1.1" @@ -46311,8 +46322,7 @@ static const char *startup_source = "(expand-context/inner-for-serializable? the-struct_1)" "(expand-context/inner-to-correlated-linklet? the-struct_1)" "(expand-context/inner-normalize-locals? the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" -" the-struct_1)" +"(expand-context/inner-parsing-expanded? the-struct_1)" "(expand-context/inner-skip-visit-available? the-struct_1)))" "(raise-argument-error" " 'struct-copy" @@ -50162,7 +50172,7 @@ static const char *startup_source = "(expand-context/inner-for-serializable? the-struct_1)" "(expand-context/inner-to-correlated-linklet? the-struct_1)" "(expand-context/inner-normalize-locals? the-struct_1)" -"(expand-context/inner-should-not-encounter-macros? the-struct_1)" +"(expand-context/inner-parsing-expanded? the-struct_1)" "(expand-context/inner-skip-visit-available? the-struct_1)))" "(raise-argument-error" " 'struct-copy" @@ -50330,7 +50340,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -50454,7 +50464,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -50988,7 +50998,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -69127,7 +69137,7 @@ static const char *startup_source = "(lambda-clause-expander)" "(lambda(s_0 disarmed-s_0 formals_0 bodys_0 ctx_0)" "(begin" -"(let-values(((sc_0)(new-scope 'local)))" +"(let-values(((sc_0)(if(not(expand-context-parsing-expanded? ctx_0))(new-scope 'local) #f)))" "(let-values(((phase_0)(expand-context-phase ctx_0)))" "(let-values(((ids_0)(parse-and-flatten-formals formals_0 sc_0 disarmed-s_0)))" "(let-values((()" @@ -69160,6 +69170,7 @@ static const char *startup_source = "(let-values()" "(cons" "(let-values()" +"(if sc_0" "(let-values(((id27_0)" " id_0)" "((phase28_0)" @@ -69176,7 +69187,11 @@ static const char *startup_source = " local-sym31_0" " id27_0" " phase28_0" -" counter29_0)))" +" counter29_0))" +"(existing-binding-key" +" id_0" +"(expand-context-phase" +" ctx_0))))" " fold-var_1))))" "(values fold-var_2)))))" "(if(not #f)" @@ -69220,8 +69235,9 @@ static const char *startup_source = "(expand-context-env ctx_0)" " lst_0" " lst_1)))))" -"(let-values(((sc-formals_0)(add-scope formals_0 sc_0)))" +"(let-values(((sc-formals_0)(if sc_0(add-scope formals_0 sc_0) formals_0)))" "(let-values(((sc-bodys_0)" +"(if sc_0" "(reverse$1" "(let-values(((lst_0) bodys_0))" "(begin" @@ -69253,7 +69269,8 @@ static const char *startup_source = " fold-var_0)))))" " for-loop_0)" " null" -" lst_0))))))" +" lst_0))))" +" bodys_0)))" "(let-values((()" "(begin" "(let-values(((obs_0)(expand-context-observer ctx_0)))" @@ -69268,9 +69285,14 @@ static const char *startup_source = "(let-values(((the-struct_0) v_0))" "(if(expand-context/outer? the-struct_0)" "(let-values(((env32_0) body-env_0)" -"((scopes33_0)(cons sc_0(expand-context-scopes ctx_0)))" +"((scopes33_0)" +"(if sc_0" +"(cons sc_0(expand-context-scopes ctx_0))" +"(expand-context-scopes ctx_0)))" "((binding-layer34_0)" -"(increment-binding-layer ids_0 ctx_0 sc_0))" +"(if sc_0" +"(increment-binding-layer ids_0 ctx_0 sc_0)" +"(expand-context-binding-layer ctx_0)))" "((frame-id35_0) #f)" "((inner36_0)(root-expand-context/outer-inner v_0)))" "(expand-context/outer1.1" @@ -69294,12 +69316,53 @@ static const char *startup_source = " \"expand-context/outer?\"" " the-struct_0))))))" "(let-values(((exp-body_0)" +"(if sc_0" "(let-values(((sc-bodys37_0) sc-bodys_0)" "((body-ctx38_0) body-ctx_0)" "((temp39_0)" -"(let-values(((ctx40_0) ctx_0)((s41_0) s_0)((temp42_0) #t))" +"(let-values(((ctx40_0) ctx_0)" +"((s41_0) s_0)" +"((temp42_0) #t))" "(keep-as-needed.1 #f temp42_0 #f ctx40_0 s41_0))))" -"(expand-body.1 temp39_0 #f sc-bodys37_0 body-ctx38_0))))" +"(expand-body.1 temp39_0 #f sc-bodys37_0 body-ctx38_0))" +"(reverse$1" +"(let-values(((lst_0) sc-bodys_0))" +"(begin" +"(if(variable-reference-from-unsafe?(#%variable-reference))" +"(void)" +"(let-values()(check-list lst_0)))" +"((letrec-values(((for-loop_0)" +"(lambda(fold-var_0 lst_1)" +"(begin" +" 'for-loop" +"(if(pair? lst_1)" +"(let-values(((sc-body_0)(unsafe-car lst_1))" +"((rest_0)(unsafe-cdr lst_1)))" +"(let-values(((fold-var_1)" +"(let-values(((fold-var_1)" +" fold-var_0))" +"(let-values(((fold-var_2)" +"(let-values()" +"(cons" +"(let-values()" +"(let-values(((sc-body43_0)" +" sc-body_0)" +"((body-ctx44_0)" +" body-ctx_0))" +"(expand.1" +" #f" +" #f" +" sc-body43_0" +" body-ctx44_0)))" +" fold-var_1))))" +"(values fold-var_2)))))" +"(if(not #f)" +"(for-loop_0 fold-var_1 rest_0)" +" fold-var_1)))" +" fold-var_0)))))" +" for-loop_0)" +" null" +" lst_0)))))))" "(values" "(if(expand-context-to-parsed? ctx_0)" "(unflatten-like-formals keys_0 formals_0)" @@ -69317,21 +69380,21 @@ static const char *startup_source = "(let-values()(let-values()(call-expand-observe obs_0 'prim-lambda disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 lambda43_0 formals44_0 body45_0)" +"(let-values(((ok?_0 lambda45_0 formals46_0 body47_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((lambda43_0 formals44_0 body45_0)" +"(let-values(((lambda45_0 formals46_0 body47_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((lambda46_0)(let-values(((s_3)(car s_2))) s_3))" -"((formals47_0 body48_0)" +"(let-values(((lambda48_0)(let-values(((s_3)(car s_2))) s_3))" +"((formals49_0 body50_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(((formals49_0)" +"(let-values(((formals51_0)" "(let-values(((s_5)(car s_4))) s_5))" -"((body50_0)" +"((body52_0)" "(let-values(((s_5)(cdr s_4)))" "(let-values(((s_6)" "(if(syntax?$1 s_5)" @@ -69353,37 +69416,37 @@ static const char *startup_source = " \"bad syntax\"" " orig-s_0))" "(let-values() flat-s_0))))))))" -"(values formals49_0 body50_0))" +"(values formals51_0 body52_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))))))" -"(values lambda46_0 formals47_0 body48_0))" +"(values lambda48_0 formals49_0 body50_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t lambda43_0 formals44_0 body45_0))))))" +"(values #t lambda45_0 formals46_0 body47_0))))))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx51_0) ctx_0)((s52_0) s_0)((temp53_0) #t))" -"(keep-as-needed.1 #f #f temp53_0 ctx51_0 s52_0))))" -"(let-values(((formals_0 body_0)(lambda-clause-expander s_0 disarmed-s_0 formals44_0 body45_0 ctx_0)))" +"(let-values(((ctx53_0) ctx_0)((s54_0) s_0)((temp55_0) #t))" +"(keep-as-needed.1 #f #f temp55_0 ctx53_0 s54_0))))" +"(let-values(((formals_0 body_0)(lambda-clause-expander s_0 disarmed-s_0 formals46_0 body47_0 ctx_0)))" "(if(expand-context-to-parsed? ctx_0)" "(parsed-lambda5.1 rebuild-s_0 formals_0 body_0)" -"(let-values(((rebuild-s54_0) rebuild-s_0)((temp55_0)(list* lambda43_0 formals_0 body_0)))" -"(rebuild.1 #t rebuild-s54_0 temp55_0)))))))))))" +"(let-values(((rebuild-s56_0) rebuild-s_0)((temp57_0)(list* lambda45_0 formals_0 body_0)))" +"(rebuild.1 #t rebuild-s56_0 temp57_0)))))))))))" "(void" "(add-core-form!*" " 'λ" "(lambda(s_0)" -"(let-values(((ok?_0 lam-id56_0 formals57_0 _58_0)" +"(let-values(((ok?_0 lam-id58_0 formals59_0 _60_0)" "(let-values(((s_1) s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((lam-id56_0 formals57_0 _58_0)" +"(let-values(((lam-id58_0 formals59_0 _60_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((lam-id59_0)(let-values(((s_3)(car s_2))) s_3))" -"((formals60_0 _61_0)" +"(let-values(((lam-id61_0)(let-values(((s_3)(car s_2))) s_3))" +"((formals62_0 _63_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(((formals62_0)" +"(let-values(((formals64_0)" "(let-values(((s_5)(car s_4))) s_5))" -"((_63_0)" +"((_65_0)" "(let-values(((s_5)(cdr s_4)))" "(let-values(((s_6)" "(if(syntax?$1 s_5)" @@ -69404,21 +69467,21 @@ static const char *startup_source = " \"bad syntax\"" " orig-s_0))" "(let-values() flat-s_0))))))))" -"(values formals62_0 _63_0))" +"(values formals64_0 _65_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))))))" -"(values lam-id59_0 formals60_0 _61_0))" +"(values lam-id61_0 formals62_0 _63_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t lam-id56_0 formals57_0 _58_0))))))" -"(let-values(((ids_0)(parse-and-flatten-formals formals57_0 #f s_0)))" -"(let-values(((ctx_0)(let-values(((temp68_0) #t))(get-current-expand-context.1 temp68_0 'unexpected))))" +"(values #t lam-id58_0 formals59_0 _60_0))))))" +"(let-values(((ids_0)(parse-and-flatten-formals formals59_0 #f s_0)))" +"(let-values(((ctx_0)(let-values(((temp70_0) #t))(get-current-expand-context.1 temp70_0 'unexpected))))" "(let-values(((phase_0)(if ctx_0(expand-context-phase ctx_0) 0)))" "(begin" -" (let-values (((ids64_0) ids_0) ((phase65_0) phase_0) ((s66_0) s_0) ((temp67_0) \"argument name\"))" -"(check-no-duplicate-ids.1 temp67_0 ids64_0 phase65_0 s66_0 unsafe-undefined))" +" (let-values (((ids66_0) ids_0) ((phase67_0) phase_0) ((s68_0) s_0) ((temp69_0) \"argument name\"))" +"(check-no-duplicate-ids.1 temp69_0 ids66_0 phase67_0 s68_0 unsafe-undefined))" "(datum->syntax$1" " s_0" "(cons" -"(datum->syntax$1(syntax-shift-phase-level$1 core-stx phase_0) 'lambda lam-id56_0 lam-id56_0)" +"(datum->syntax$1(syntax-shift-phase-level$1 core-stx phase_0) 'lambda lam-id58_0 lam-id58_0)" "(cdr(syntax-e$1 s_0)))" " s_0" " s_0)))))))))" @@ -69434,14 +69497,14 @@ static const char *startup_source = "(let-values()(let-values()(call-expand-observe obs_0 'prim-case-lambda disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 case-lambda69_0 formals70_0 body71_0)" +"(let-values(((ok?_0 case-lambda71_0 formals72_0 body73_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((case-lambda69_0 formals70_0 body71_0)" +"(let-values(((case-lambda71_0 formals72_0 body73_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((case-lambda72_0)(let-values(((s_3)(car s_2))) s_3))" -"((formals73_0 body74_0)" +"(let-values(((case-lambda74_0)(let-values(((s_3)(car s_2))) s_3))" +"((formals75_0 body76_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" @@ -69481,8 +69544,8 @@ static const char *startup_source = "(let-values(((formals_2" " body_2)" "(let-values()" -"(let-values(((formals81_0" -" body82_0)" +"(let-values(((formals83_0" +" body84_0)" "(let-values()" "(let-values(((s_6)" "(if(syntax?$1" @@ -69492,12 +69555,12 @@ static const char *startup_source = " s_5)))" "(if(pair?" " s_6)" -"(let-values(((formals75_0)" +"(let-values(((formals77_0)" "(let-values(((s_7)" "(car" " s_6)))" " s_7))" -"((body76_0)" +"((body78_0)" "(let-values(((s_7)" "(cdr" " s_6)))" @@ -69527,18 +69590,18 @@ static const char *startup_source = "(let-values()" " flat-s_1))))))))" "(values" -" formals75_0" -" body76_0))" +" formals77_0" +" body78_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" "(values" "(cons" -" formals81_0" +" formals83_0" " formals_1)" "(cons" -" body82_0" +" body84_0" " body_1))))))" "(values" " formals_2" @@ -69562,17 +69625,17 @@ static const char *startup_source = "(values" "(reverse$1 formals_0)" "(reverse$1 body_0))))))))))" -"(values case-lambda72_0 formals73_0 body74_0))" +"(values case-lambda74_0 formals75_0 body76_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t case-lambda69_0 formals70_0 body71_0))))))" -"(let-values(((ok?_1 case-lambda77_0 clause78_0)" +"(values #t case-lambda71_0 formals72_0 body73_0))))))" +"(let-values(((ok?_1 case-lambda79_0 clause80_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((case-lambda77_0 clause78_0)" +"(let-values(((case-lambda79_0 clause80_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((case-lambda79_0)(let-values(((s_3)(car s_2))) s_3))" -"((clause80_0)" +"(let-values(((case-lambda81_0)(let-values(((s_3)(car s_2))) s_3))" +"((clause82_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" @@ -69581,15 +69644,15 @@ static const char *startup_source = "(let-values()" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))" "(let-values() flat-s_0)))))))" -"(values case-lambda79_0 clause80_0))" +"(values case-lambda81_0 clause82_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t case-lambda77_0 clause78_0))))))" +"(values #t case-lambda79_0 clause80_0))))))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx83_0) ctx_0)((s84_0) s_0)((temp85_0) #t))" -"(keep-as-needed.1 #f #f temp85_0 ctx83_0 s84_0))))" +"(let-values(((ctx85_0) ctx_0)((s86_0) s_0)((temp87_0) #t))" +"(keep-as-needed.1 #f #f temp87_0 ctx85_0 s86_0))))" "(let-values(((clauses_0)" "(reverse$1" -"(let-values(((lst_0) formals70_0)((lst_1) body71_0)((lst_2) clause78_0))" +"(let-values(((lst_0) formals72_0)((lst_1) body73_0)((lst_2) clause80_0))" "(begin" "(if(variable-reference-from-unsafe?(#%variable-reference))" "(void)" @@ -69631,16 +69694,16 @@ static const char *startup_source = "(void)))" "(values))))" "(let-values(((rebuild-clause_0)" -"(let-values(((ctx86_0)" +"(let-values(((ctx88_0)" " ctx_0)" -"((clause87_0)" +"((clause89_0)" " clause_0))" "(keep-as-needed.1" " #f" " #f" " #f" -" ctx86_0" -" clause87_0))))" +" ctx88_0" +" clause89_0))))" "(let-values(((exp-formals_0" " exp-body_0)" "(lambda-clause-expander" @@ -69654,16 +69717,16 @@ static const char *startup_source = "(list" " exp-formals_0" " exp-body_0)" -"(let-values(((rebuild-clause88_0)" +"(let-values(((rebuild-clause90_0)" " rebuild-clause_0)" -"((temp89_0)" +"((temp91_0)" "(list*" " exp-formals_0" " exp-body_0)))" "(rebuild.1" " #t" -" rebuild-clause88_0" -" temp89_0)))))))" +" rebuild-clause90_0" +" temp91_0)))))))" " fold-var_1))))" "(values fold-var_2)))))" "(if(not #f)" @@ -69677,8 +69740,8 @@ static const char *startup_source = " lst_2))))))" "(if(expand-context-to-parsed? ctx_0)" "(parsed-case-lambda6.1 rebuild-s_0 clauses_0)" -"(let-values(((rebuild-s90_0) rebuild-s_0)((temp91_0)(list* case-lambda69_0 clauses_0)))" -"(rebuild.1 #t rebuild-s90_0 temp91_0))))))))))))" +"(let-values(((rebuild-s92_0) rebuild-s_0)((temp93_0)(list* case-lambda71_0 clauses_0)))" +"(rebuild.1 #t rebuild-s92_0 temp93_0))))))))))))" "(define-values" "(parse-and-flatten-formals)" "(lambda(all-formals_0 sc_0 s_0)" @@ -69688,7 +69751,7 @@ static const char *startup_source = "(begin" " 'loop" "(if(identifier? formals_0)" -"(let-values()(list(add-scope formals_0 sc_0)))" +"(let-values()(list(if sc_0(add-scope formals_0 sc_0) formals_0)))" "(if(syntax?$1 formals_0)" "(let-values()" "(let-values(((p_0)(syntax-e$1 formals_0)))" @@ -69752,38 +69815,38 @@ static const char *startup_source = "(void)))" "(values))))" "(let-values(((ok?_0" -" letrec-syntaxes+values92_0" -" id:trans93_0" -" trans-rhs94_0" -" id:val95_0" -" val-rhs96_0" -" body97_0)" +" letrec-syntaxes+values94_0" +" id:trans95_0" +" trans-rhs96_0" +" id:val97_0" +" val-rhs98_0" +" body99_0)" "(let-values(((s_1) disarmed-s_0))" "(if(if syntaxes?_0 #t #f)" "(let-values(((orig-s_0) s_1))" -"(let-values(((letrec-syntaxes+values92_0" -" id:trans93_0" -" trans-rhs94_0" -" id:val95_0" -" val-rhs96_0" -" body97_0)" +"(let-values(((letrec-syntaxes+values94_0" +" id:trans95_0" +" trans-rhs96_0" +" id:val97_0" +" val-rhs98_0" +" body99_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((letrec-syntaxes+values98_0)" +"(let-values(((letrec-syntaxes+values100_0)" "(let-values(((s_3)(car s_2))) s_3))" -"((id:trans99_0" -" trans-rhs100_0" -" id:val101_0" -" val-rhs102_0" -" body103_0)" +"((id:trans101_0" +" trans-rhs102_0" +" id:val103_0" +" val-rhs104_0" +" body105_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(((id:trans104_0" -" trans-rhs105_0)" +"(let-values(((id:trans106_0" +" trans-rhs107_0)" "(let-values(((s_5)" "(car s_4)))" "(let-values(((s_6)" @@ -69836,8 +69899,8 @@ static const char *startup_source = "(let-values(((id:trans_2" " trans-rhs_2)" "(let-values()" -"(let-values(((id:trans135_0" -" trans-rhs136_0)" +"(let-values(((id:trans137_0" +" trans-rhs138_0)" "(let-values()" "(let-values(((s_8)" "(if(syntax?$1" @@ -69847,7 +69910,7 @@ static const char *startup_source = " s_7)))" "(if(pair?" " s_8)" -"(let-values(((id:trans109_0)" +"(let-values(((id:trans111_0)" "(let-values(((s_9)" "(car" " s_8)))" @@ -69896,7 +69959,7 @@ static const char *startup_source = " id:trans_2))" "(let-values(((id:trans_4)" "(let-values()" -"(let-values(((id:trans137_0)" +"(let-values(((id:trans139_0)" "(let-values()" "(if(let-values(((or-part_0)" "(if(syntax?$1" @@ -69916,7 +69979,7 @@ static const char *startup_source = " orig-s_0" " s_11)))))" "(cons" -" id:trans137_0" +" id:trans139_0" " id:trans_3)))))" "(values" " id:trans_4)))))" @@ -69932,7 +69995,7 @@ static const char *startup_source = " lst_2)))))" "(reverse$1" " id:trans_2))))))))" -"((trans-rhs110_0)" +"((trans-rhs112_0)" "(let-values(((s_9)" "(cdr" " s_8)))" @@ -69944,7 +70007,7 @@ static const char *startup_source = " s_9)))" "(if(pair?" " s_10)" -"(let-values(((trans-rhs111_0)" +"(let-values(((trans-rhs113_0)" "(let-values(((s_11)" "(car" " s_10)))" @@ -69967,24 +70030,24 @@ static const char *startup_source = " \"bad syntax\"" " orig-s_0))))))" "(values" -" trans-rhs111_0))" +" trans-rhs113_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" "(values" -" id:trans109_0" -" trans-rhs110_0))" +" id:trans111_0" +" trans-rhs112_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" "(values" "(cons" -" id:trans135_0" +" id:trans137_0" " id:trans_1)" "(cons" -" trans-rhs136_0" +" trans-rhs138_0" " trans-rhs_1))))))" "(values" " id:trans_2" @@ -70010,9 +70073,9 @@ static const char *startup_source = " id:trans_0)" "(reverse$1" " trans-rhs_0)))))))))" -"((id:val106_0" -" val-rhs107_0" -" body108_0)" +"((id:val108_0" +" val-rhs109_0" +" body110_0)" "(let-values(((s_5)" "(cdr s_4)))" "(let-values(((s_6)" @@ -70022,8 +70085,8 @@ static const char *startup_source = " s_5)" " s_5)))" "(if(pair? s_6)" -"(let-values(((id:val112_0" -" val-rhs113_0)" +"(let-values(((id:val114_0" +" val-rhs115_0)" "(let-values(((s_7)" "(car" " s_6)))" @@ -70078,8 +70141,8 @@ static const char *startup_source = "(let-values(((id:val_2" " val-rhs_2)" "(let-values()" -"(let-values(((id:val138_0" -" val-rhs139_0)" +"(let-values(((id:val140_0" +" val-rhs141_0)" "(let-values()" "(let-values(((s_10)" "(if(syntax?$1" @@ -70089,7 +70152,7 @@ static const char *startup_source = " s_9)))" "(if(pair?" " s_10)" -"(let-values(((id:val115_0)" +"(let-values(((id:val117_0)" "(let-values(((s_11)" "(car" " s_10)))" @@ -70138,7 +70201,7 @@ static const char *startup_source = " id:val_2))" "(let-values(((id:val_4)" "(let-values()" -"(let-values(((id:val140_0)" +"(let-values(((id:val142_0)" "(let-values()" "(if(let-values(((or-part_0)" "(if(syntax?$1" @@ -70158,7 +70221,7 @@ static const char *startup_source = " orig-s_0" " s_13)))))" "(cons" -" id:val140_0" +" id:val142_0" " id:val_3)))))" "(values" " id:val_4)))))" @@ -70174,7 +70237,7 @@ static const char *startup_source = " lst_2)))))" "(reverse$1" " id:val_2))))))))" -"((val-rhs116_0)" +"((val-rhs118_0)" "(let-values(((s_11)" "(cdr" " s_10)))" @@ -70186,7 +70249,7 @@ static const char *startup_source = " s_11)))" "(if(pair?" " s_12)" -"(let-values(((val-rhs117_0)" +"(let-values(((val-rhs119_0)" "(let-values(((s_13)" "(car" " s_12)))" @@ -70209,24 +70272,24 @@ static const char *startup_source = " \"bad syntax\"" " orig-s_0))))))" "(values" -" val-rhs117_0))" +" val-rhs119_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" "(values" -" id:val115_0" -" val-rhs116_0))" +" id:val117_0" +" val-rhs118_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" "(values" "(cons" -" id:val138_0" +" id:val140_0" " id:val_1)" "(cons" -" val-rhs139_0" +" val-rhs141_0" " val-rhs_1))))))" "(values" " id:val_2" @@ -70252,7 +70315,7 @@ static const char *startup_source = " id:val_0)" "(reverse$1" " val-rhs_0)))))))))" -"((body114_0)" +"((body116_0)" "(let-values(((s_7)" "(cdr" " s_6)))" @@ -70282,59 +70345,59 @@ static const char *startup_source = "(let-values()" " flat-s_0))))))))" "(values" -" id:val112_0" -" val-rhs113_0" -" body114_0))" +" id:val114_0" +" val-rhs115_0" +" body116_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" "(values" -" id:trans104_0" -" trans-rhs105_0" -" id:val106_0" -" val-rhs107_0" -" body108_0))" +" id:trans106_0" +" trans-rhs107_0" +" id:val108_0" +" val-rhs109_0" +" body110_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" "(values" -" letrec-syntaxes+values98_0" -" id:trans99_0" -" trans-rhs100_0" -" id:val101_0" -" val-rhs102_0" -" body103_0))" +" letrec-syntaxes+values100_0" +" id:trans101_0" +" trans-rhs102_0" +" id:val103_0" +" val-rhs104_0" +" body105_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" "(values" " #t" -" letrec-syntaxes+values92_0" -" id:trans93_0" -" trans-rhs94_0" -" id:val95_0" -" val-rhs96_0" -" body97_0)))" +" letrec-syntaxes+values94_0" +" id:trans95_0" +" trans-rhs96_0" +" id:val97_0" +" val-rhs98_0" +" body99_0)))" "(values #f #f #f #f #f #f #f)))))" -"(let-values(((ok?_1 let-values118_0 id:val119_0 val-rhs120_0 body121_0)" +"(let-values(((ok?_1 let-values120_0 id:val121_0 val-rhs122_0 body123_0)" "(let-values(((s_1) disarmed-s_0))" "(if(if(not syntaxes?_0) #t #f)" "(let-values(((orig-s_0) s_1))" -"(let-values(((let-values118_0 id:val119_0 val-rhs120_0 body121_0)" +"(let-values(((let-values120_0 id:val121_0 val-rhs122_0 body123_0)" "(let-values(((s_2)" "(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((let-values122_0)" +"(let-values(((let-values124_0)" "(let-values(((s_3)(car s_2))) s_3))" -"((id:val123_0 val-rhs124_0 body125_0)" +"((id:val125_0 val-rhs126_0 body127_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(((id:val126_0" -" val-rhs127_0)" +"(let-values(((id:val128_0" +" val-rhs129_0)" "(let-values(((s_5)" "(car" " s_4)))" @@ -70388,8 +70451,8 @@ static const char *startup_source = "(let-values(((id:val_2" " val-rhs_2)" "(let-values()" -"(let-values(((id:val141_0" -" val-rhs142_0)" +"(let-values(((id:val143_0" +" val-rhs144_0)" "(let-values()" "(let-values(((s_8)" "(if(syntax?$1" @@ -70399,7 +70462,7 @@ static const char *startup_source = " s_7)))" "(if(pair?" " s_8)" -"(let-values(((id:val129_0)" +"(let-values(((id:val131_0)" "(let-values(((s_9)" "(car" " s_8)))" @@ -70448,7 +70511,7 @@ static const char *startup_source = " id:val_2))" "(let-values(((id:val_4)" "(let-values()" -"(let-values(((id:val143_0)" +"(let-values(((id:val145_0)" "(let-values()" "(if(let-values(((or-part_0)" "(if(syntax?$1" @@ -70468,7 +70531,7 @@ static const char *startup_source = " orig-s_0" " s_11)))))" "(cons" -" id:val143_0" +" id:val145_0" " id:val_3)))))" "(values" " id:val_4)))))" @@ -70484,7 +70547,7 @@ static const char *startup_source = " lst_2)))))" "(reverse$1" " id:val_2))))))))" -"((val-rhs130_0)" +"((val-rhs132_0)" "(let-values(((s_9)" "(cdr" " s_8)))" @@ -70496,7 +70559,7 @@ static const char *startup_source = " s_9)))" "(if(pair?" " s_10)" -"(let-values(((val-rhs131_0)" +"(let-values(((val-rhs133_0)" "(let-values(((s_11)" "(car" " s_10)))" @@ -70519,24 +70582,24 @@ static const char *startup_source = " \"bad syntax\"" " orig-s_0))))))" "(values" -" val-rhs131_0))" +" val-rhs133_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" "(values" -" id:val129_0" -" val-rhs130_0))" +" id:val131_0" +" val-rhs132_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" "(values" "(cons" -" id:val141_0" +" id:val143_0" " id:val_1)" "(cons" -" val-rhs142_0" +" val-rhs144_0" " val-rhs_1))))))" "(values" " id:val_2" @@ -70562,7 +70625,7 @@ static const char *startup_source = " id:val_0)" "(reverse$1" " val-rhs_0)))))))))" -"((body128_0)" +"((body130_0)" "(let-values(((s_5)" "(cdr" " s_4)))" @@ -70591,28 +70654,39 @@ static const char *startup_source = "(let-values()" " flat-s_0))))))))" "(values" -" id:val126_0" -" val-rhs127_0" -" body128_0))" +" id:val128_0" +" val-rhs129_0" +" body130_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" "(values" -" let-values122_0" -" id:val123_0" -" val-rhs124_0" -" body125_0))" +" let-values124_0" +" id:val125_0" +" val-rhs126_0" +" body127_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t let-values118_0 id:val119_0 val-rhs120_0 body121_0)))" +"(values #t let-values120_0 id:val121_0 val-rhs122_0 body123_0)))" "(values #f #f #f #f #f)))))" -"(let-values(((sc_0)(new-scope 'local)))" -"(let-values(((body-sc_0)(if rec?_0(new-scope 'letrec-body) #f)))" +"(let-values(((sc_0)" +"(if(not(expand-context-parsing-expanded? ctx_0))(new-scope 'local) #f)))" +"(let-values((()" +"(begin" +"(if(if syntaxes?_0(not sc_0) #f)" +"(let-values()" +"(raise-syntax-error$1" +" #f" +" \"encountered `letrec-syntaxes` in form that should be fully expanded\"" +" s_0))" +"(void))" +"(values))))" +"(let-values(((body-sc_0)(if sc_0(if rec?_0(new-scope 'letrec-body) #f) #f)))" "(let-values(((phase_0)(expand-context-phase ctx_0)))" "(let-values(((frame-id_0)(if syntaxes?_0(make-reference-record) #f)))" "(let-values(((trans-idss_0)" "(reverse$1" -"(let-values(((lst_0)(if syntaxes?_0 id:trans93_0 null)))" +"(let-values(((lst_0)(if syntaxes?_0 id:trans95_0 null)))" "(begin" "(if(variable-reference-from-unsafe?(#%variable-reference))" "(void)" @@ -70623,7 +70697,8 @@ static const char *startup_source = " 'for-loop" "(if(pair? lst_1)" "(let-values(((ids_0)(unsafe-car lst_1))" -"((rest_0)(unsafe-cdr lst_1)))" +"((rest_0)" +"(unsafe-cdr lst_1)))" "(let-values(((fold-var_1)" "(let-values(((fold-var_1)" " fold-var_0))" @@ -70678,7 +70753,8 @@ static const char *startup_source = " null" " lst_2)))))" " fold-var_1))))" -"(values fold-var_2)))))" +"(values" +" fold-var_2)))))" "(if(not #f)" "(for-loop_0 fold-var_1 rest_0)" " fold-var_1)))" @@ -70689,7 +70765,7 @@ static const char *startup_source = "(let-values(((trans-rhss_0)" "(if syntaxes?_0" "(reverse$1" -"(let-values(((lst_0) trans-rhs94_0))" +"(let-values(((lst_0) trans-rhs96_0))" "(begin" "(if(variable-reference-from-unsafe?(#%variable-reference))" "(void)" @@ -70725,10 +70801,14 @@ static const char *startup_source = " lst_0))))" " '())))" "(let-values(((val-idss_0)" +"(let-values(((val-idss_0)" +"(if syntaxes?_0 id:val97_0 id:val121_0)))" +"(if sc_0" "(reverse$1" -"(let-values(((lst_0)(if syntaxes?_0 id:val95_0 id:val119_0)))" +"(let-values(((lst_0) val-idss_0))" "(begin" -"(if(variable-reference-from-unsafe?(#%variable-reference))" +"(if(variable-reference-from-unsafe?" +"(#%variable-reference))" "(void)" "(let-values()(check-list lst_0)))" "((letrec-values(((for-loop_0)" @@ -70739,7 +70819,8 @@ static const char *startup_source = "(let-values(((ids_0)" "(unsafe-car lst_1))" "((rest_0)" -"(unsafe-cdr lst_1)))" +"(unsafe-cdr" +" lst_1)))" "(let-values(((fold-var_1)" "(let-values(((fold-var_1)" " fold-var_0))" @@ -70797,17 +70878,21 @@ static const char *startup_source = "(values" " fold-var_2)))))" "(if(not #f)" -"(for-loop_0 fold-var_1 rest_0)" +"(for-loop_0" +" fold-var_1" +" rest_0)" " fold-var_1)))" " fold-var_0)))))" " for-loop_0)" " null" -" lst_0))))))" +" lst_0))))" +" val-idss_0))))" "(let-values(((val-rhss_0)" -"(if rec?_0" +"(let-values(((val-rhss_0)" +"(if syntaxes?_0 val-rhs98_0 val-rhs122_0)))" +"(if(if rec?_0 sc_0 #f)" "(reverse$1" -"(let-values(((lst_0)" -"(if syntaxes?_0 val-rhs96_0 val-rhs120_0)))" +"(let-values(((lst_0) val-rhss_0))" "(begin" "(if(variable-reference-from-unsafe?" "(#%variable-reference))" @@ -70819,9 +70904,11 @@ static const char *startup_source = " 'for-loop" "(if(pair? lst_1)" "(let-values(((rhs_0)" -"(unsafe-car lst_1))" +"(unsafe-car" +" lst_1))" "((rest_0)" -"(unsafe-cdr lst_1)))" +"(unsafe-cdr" +" lst_1)))" "(let-values(((fold-var_1)" "(let-values(((fold-var_1)" " fold-var_0))" @@ -70844,17 +70931,17 @@ static const char *startup_source = " for-loop_0)" " null" " lst_0))))" -"(if syntaxes?_0 val-rhs96_0 val-rhs120_0))))" +" val-rhss_0))))" "(let-values(((val-clauses_0)" "(if syntaxes?_0" "(let-values()" -"(let-values(((ok?_2 _144_0 _145_0 clause146_0 _147_0)" +"(let-values(((ok?_2 _146_0 _147_0 clause148_0 _149_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((_144_0" -" _145_0" -" clause146_0" -" _147_0)" +"(let-values(((_146_0" +" _147_0" +" clause148_0" +" _149_0)" "(let-values(((s_2)" "(if(syntax?$1" " s_1)" @@ -70862,14 +70949,14 @@ static const char *startup_source = " s_1)" " s_1)))" "(if(pair? s_2)" -"(let-values(((_148_0)" +"(let-values(((_150_0)" "(let-values(((s_3)" "(car" " s_2)))" " s_3))" -"((_149_0" -" clause150_0" -" _151_0)" +"((_151_0" +" clause152_0" +" _153_0)" "(let-values(((s_3)" "(cdr" " s_2)))" @@ -70881,13 +70968,13 @@ static const char *startup_source = " s_3)))" "(if(pair?" " s_4)" -"(let-values(((_152_0)" +"(let-values(((_154_0)" "(let-values(((s_5)" "(car" " s_4)))" " s_5))" -"((clause153_0" -" _154_0)" +"((clause155_0" +" _156_0)" "(let-values(((s_5)" "(cdr" " s_4)))" @@ -70899,7 +70986,7 @@ static const char *startup_source = " s_5)))" "(if(pair?" " s_6)" -"(let-values(((clause155_0)" +"(let-values(((clause157_0)" "(let-values(((s_7)" "(car" " s_6)))" @@ -70917,51 +71004,53 @@ static const char *startup_source = "(let-values()" "(raise-syntax-error$1" " #f" -" \"bad syntax\"" +" \"bad syntax\"" " orig-s_0))" "(let-values()" " flat-s_0))))))" -"((_156_0)" +"((_158_0)" "(let-values(((s_7)" "(cdr" " s_6)))" " s_7)))" "(values" +" clause157_0" +" _158_0))" +"(raise-syntax-error$1" +" #f" +" \"bad syntax\"" +" orig-s_0))))))" +"(values" +" _154_0" " clause155_0" " _156_0))" "(raise-syntax-error$1" " #f" -" \"bad syntax\"" +" \"bad syntax\"" " orig-s_0))))))" "(values" -" _152_0" -" clause153_0" -" _154_0))" +" _150_0" +" _151_0" +" clause152_0" +" _153_0))" "(raise-syntax-error$1" " #f" -" \"bad syntax\"" -" orig-s_0))))))" -"(values" -" _148_0" -" _149_0" -" clause150_0" -" _151_0))" -"(raise-syntax-error$1" -" #f" -" \"bad syntax\"" +" \"bad syntax\"" " orig-s_0)))))" "(values" " #t" -" _144_0" -" _145_0" -" clause146_0" -" _147_0))))))" -" clause146_0))" +" _146_0" +" _147_0" +" clause148_0" +" _149_0))))))" +" clause148_0))" "(let-values()" -"(let-values(((ok?_2 _157_0 clause158_0 _159_0)" +"(let-values(((ok?_2 _159_0 clause160_0 _161_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((_157_0 clause158_0 _159_0)" +"(let-values(((_159_0" +" clause160_0" +" _161_0)" "(let-values(((s_2)" "(if(syntax?$1" " s_1)" @@ -70969,13 +71058,13 @@ static const char *startup_source = " s_1)" " s_1)))" "(if(pair? s_2)" -"(let-values(((_160_0)" +"(let-values(((_162_0)" "(let-values(((s_3)" "(car" " s_2)))" " s_3))" -"((clause161_0" -" _162_0)" +"((clause163_0" +" _164_0)" "(let-values(((s_3)" "(cdr" " s_2)))" @@ -70987,7 +71076,7 @@ static const char *startup_source = " s_3)))" "(if(pair?" " s_4)" -"(let-values(((clause163_0)" +"(let-values(((clause165_0)" "(let-values(((s_5)" "(car" " s_4)))" @@ -71005,46 +71094,46 @@ static const char *startup_source = "(let-values()" "(raise-syntax-error$1" " #f" -" \"bad syntax\"" +" \"bad syntax\"" " orig-s_0))" "(let-values()" " flat-s_0))))))" -"((_164_0)" +"((_166_0)" "(let-values(((s_5)" "(cdr" " s_4)))" " s_5)))" "(values" +" clause165_0" +" _166_0))" +"(raise-syntax-error$1" +" #f" +" \"bad syntax\"" +" orig-s_0))))))" +"(values" +" _162_0" " clause163_0" " _164_0))" "(raise-syntax-error$1" " #f" -" \"bad syntax\"" -" orig-s_0))))))" -"(values" -" _160_0" -" clause161_0" -" _162_0))" -"(raise-syntax-error$1" -" #f" -" \"bad syntax\"" +" \"bad syntax\"" " orig-s_0)))))" "(values" " #t" -" _157_0" -" clause158_0" -" _159_0))))))" -" clause158_0)))))" +" _159_0" +" clause160_0" +" _161_0))))))" +" clause160_0)))))" "(let-values((()" "(begin" -"(let-values(((temp132_0)(list trans-idss_0 val-idss_0))" -"((phase133_0) phase_0)" -"((s134_0) s_0))" +"(let-values(((temp134_0)(list trans-idss_0 val-idss_0))" +"((phase135_0) phase_0)" +"((s136_0) s_0))" "(check-no-duplicate-ids.1" " unsafe-undefined" -" temp132_0" -" phase133_0" -" s134_0" +" temp134_0" +" phase135_0" +" s136_0" " unsafe-undefined))" "(values))))" "(let-values(((counter_0)(root-expand-context-counter ctx_0)))" @@ -71106,25 +71195,25 @@ static const char *startup_source = "(let-values()" "(cons" "(let-values()" -"(let-values(((id165_0)" +"(let-values(((id167_0)" " id_0)" -"((phase166_0)" +"((phase168_0)" " phase_0)" -"((counter167_0)" +"((counter169_0)" " counter_0)" -"((frame-id168_0)" +"((frame-id170_0)" " frame-id_0)" -"((s169_0)" +"((s171_0)" " s_0)" -"((local-sym170_0)" +"((local-sym172_0)" " local-sym_0))" "(add-local-binding!.1" -" frame-id168_0" -" s169_0" -" local-sym170_0" -" id165_0" -" phase166_0" -" counter167_0)))" +" frame-id170_0" +" s171_0" +" local-sym172_0" +" id167_0" +" phase168_0" +" counter169_0)))" " fold-var_3))))" "(values" " fold-var_4)))))" @@ -71206,25 +71295,30 @@ static const char *startup_source = "(let-values()" "(cons" "(let-values()" -"(let-values(((id171_0)" +"(if sc_0" +"(let-values(((id173_0)" " id_0)" -"((phase172_0)" +"((phase174_0)" " phase_0)" -"((counter173_0)" +"((counter175_0)" " counter_0)" -"((frame-id174_0)" +"((frame-id176_0)" " frame-id_0)" -"((s175_0)" +"((s177_0)" " s_0)" -"((local-sym176_0)" +"((local-sym178_0)" " local-sym_0))" "(add-local-binding!.1" -" frame-id174_0" -" s175_0" -" local-sym176_0" -" id171_0" -" phase172_0" -" counter173_0)))" +" frame-id176_0" +" s177_0" +" local-sym178_0" +" id173_0" +" phase174_0" +" counter175_0))" +"(existing-binding-key" +" id_0" +"(expand-context-phase" +" ctx_0))))" " fold-var_3))))" "(values" " fold-var_4)))))" @@ -71251,16 +71345,21 @@ static const char *startup_source = " null" " lst_0))))))" "(let-values(((bodys_0)" +"(let-values(((bodys_0)" +"(if syntaxes?_0" +" body99_0" +" body123_0)))" +"(if sc_0" "(reverse$1" -"(let-values(((lst_0)" -"(if syntaxes?_0 body97_0 body121_0)))" +"(let-values(((lst_0) bodys_0))" "(begin" "(if(variable-reference-from-unsafe?" "(#%variable-reference))" "(void)" "(let-values()(check-list lst_0)))" "((letrec-values(((for-loop_0)" -"(lambda(fold-var_0 lst_1)" +"(lambda(fold-var_0" +" lst_1)" "(begin" " 'for-loop" "(if(pair? lst_1)" @@ -71297,11 +71396,13 @@ static const char *startup_source = " fold-var_0)))))" " for-loop_0)" " null" -" lst_0))))))" +" lst_0))))" +" bodys_0))))" "(let-values((()" "(begin" "(let-values(((obs_0)" -"(expand-context-observer ctx_0)))" +"(expand-context-observer" +" ctx_0)))" "(if obs_0" "(let-values()" "(let-values()" @@ -71354,7 +71455,8 @@ static const char *startup_source = " 'for-loop" "(if(if(pair?" " lst_2)" -"(pair? lst_3)" +"(pair?" +" lst_3)" " #f)" "(let-values(((rhs_0)" "(unsafe-car" @@ -71413,7 +71515,8 @@ static const char *startup_source = " fold-var_1))))" "(values" " fold-var_2)))))" -"(if(not #f)" +"(if(not" +" #f)" "(for-loop_0" " fold-var_1" " rest_0" @@ -71526,7 +71629,8 @@ static const char *startup_source = " env_1" " lst_4" " lst_5))))))" -"(if(not #f)" +"(if(not" +" #f)" "(for-loop_0" " env_1" " rest_0" @@ -71545,15 +71649,18 @@ static const char *startup_source = "(if(variable-reference-from-unsafe?" "(#%variable-reference))" "(void)" -"(let-values()(check-list lst_0)))" +"(let-values()" +"(check-list lst_0)))" "(if(variable-reference-from-unsafe?" "(#%variable-reference))" "(void)" -"(let-values()(check-list lst_1)))" +"(let-values()" +"(check-list lst_1)))" "(if(variable-reference-from-unsafe?" "(#%variable-reference))" "(void)" -"(let-values()(check-list lst_2)))" +"(let-values()" +"(check-list lst_2)))" "((letrec-values(((for-loop_0)" "(lambda(env_0" " lst_3" @@ -71724,9 +71831,10 @@ static const char *startup_source = " v_0))" "(if(expand-context/outer?" " the-struct_0)" -"(let-values(((env177_0)" +"(let-values(((env179_0)" " rec-env_0)" -"((scopes178_0)" +"((scopes180_0)" +"(if sc_0" "(let-values(((scopes_0)" "(cons" " sc_0" @@ -71736,25 +71844,30 @@ static const char *startup_source = "(cons" " body-sc_0" " scopes_0)" -" scopes_0)))" -"((reference-records179_0)" +" scopes_0))" +"(expand-context-scopes" +" ctx_0)))" +"((reference-records181_0)" "(if split-by-reference?_0" "(cons" " frame-id_0" " orig-rrs_0)" " orig-rrs_0))" -"((binding-layer180_0)" +"((binding-layer182_0)" +"(if sc_0" "(increment-binding-layer" "(cons" " trans-idss_0" " val-idss_0)" " ctx_0" -" sc_0))" -"((inner181_0)" +" sc_0)" +"(expand-context-binding-layer" +" ctx_0)))" +"((inner183_0)" "(root-expand-context/outer-inner" " v_0)))" "(expand-context/outer1.1" -" inner181_0" +" inner183_0" "(root-expand-context/outer-post-expansion" " the-struct_0)" "(root-expand-context/outer-use-site-scopes" @@ -71763,12 +71876,12 @@ static const char *startup_source = " the-struct_0)" "(expand-context/outer-context" " the-struct_0)" -" env177_0" -" scopes178_0" +" env179_0" +" scopes180_0" "(expand-context/outer-def-ctx-scopes" " the-struct_0)" -" binding-layer180_0" -" reference-records179_0" +" binding-layer182_0" +" reference-records181_0" "(expand-context/outer-only-immediate?" " the-struct_0)" "(expand-context/outer-need-eventually-defined" @@ -71781,7 +71894,7 @@ static const char *startup_source = " the-struct_0)))" "(raise-argument-error" " 'struct-copy" -" \"expand-context/outer?\"" +" \"expand-context/outer?\"" " the-struct_0))))))" "(let-values(((letrec-values-id_0)" "(if(not" @@ -71791,19 +71904,20 @@ static const char *startup_source = "(core-id" " 'letrec-values" " phase_0)" -" let-values118_0)" +" let-values120_0)" " #f)))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx182_0)" +"(let-values(((ctx184_0)" " ctx_0)" -"((s183_0) s_0)" -"((temp184_0) #t))" +"((s185_0) s_0)" +"((temp186_0)" +" #t))" "(keep-as-needed.1" " #f" -" temp184_0" +" temp186_0" " #f" -" ctx182_0" -" s183_0))))" +" ctx184_0" +" s185_0))))" "(let-values(((val-name-idss_0)" "(if(expand-context-to-parsed?" " ctx_0)" @@ -71904,6 +72018,62 @@ static const char *startup_source = "(lambda()" "(begin" " 'get-body" +"(if(expand-context-parsing-expanded?" +" ctx_0)" +"(let-values()" +"(reverse$1" +"(let-values(((lst_0)" +" bodys_0))" +"(begin" +"(if(variable-reference-from-unsafe?" +"(#%variable-reference))" +"(void)" +"(let-values()" +"(check-list" +" lst_0)))" +"((letrec-values(((for-loop_0)" +"(lambda(fold-var_0" +" lst_1)" +"(begin" +" 'for-loop" +"(if(pair?" +" lst_1)" +"(let-values(((body_0)" +"(unsafe-car" +" lst_1))" +"((rest_0)" +"(unsafe-cdr" +" lst_1)))" +"(let-values(((fold-var_1)" +"(let-values(((fold-var_1)" +" fold-var_0))" +"(let-values(((fold-var_2)" +"(let-values()" +"(cons" +"(let-values()" +"(let-values(((body187_0)" +" body_0)" +"((rec-ctx188_0)" +" rec-ctx_0))" +"(expand.1" +" #f" +" #f" +" body187_0" +" rec-ctx188_0)))" +" fold-var_1))))" +"(values" +" fold-var_2)))))" +"(if(not" +" #f)" +"(for-loop_0" +" fold-var_1" +" rest_0)" +" fold-var_1)))" +" fold-var_0)))))" +" for-loop_0)" +" null" +" lst_0)))))" +"(let-values()" "(let-values(((body-ctx_0)" "(let-values(((v_0)" " rec-ctx_0))" @@ -71911,13 +72081,13 @@ static const char *startup_source = " v_0))" "(if(expand-context/outer?" " the-struct_0)" -"(let-values(((reference-records188_0)" +"(let-values(((reference-records192_0)" " orig-rrs_0)" -"((inner189_0)" +"((inner193_0)" "(root-expand-context/outer-inner" " v_0)))" "(expand-context/outer1.1" -" inner189_0" +" inner193_0" "(root-expand-context/outer-post-expansion" " the-struct_0)" "(root-expand-context/outer-use-site-scopes" @@ -71934,7 +72104,7 @@ static const char *startup_source = " the-struct_0)" "(expand-context/outer-binding-layer" " the-struct_0)" -" reference-records188_0" +" reference-records192_0" "(expand-context/outer-only-immediate?" " the-struct_0)" "(expand-context/outer-need-eventually-defined" @@ -71947,25 +72117,25 @@ static const char *startup_source = " the-struct_0)))" "(raise-argument-error" " 'struct-copy" -" \"expand-context/outer?\"" +" \"expand-context/outer?\"" " the-struct_0))))))" -"(let-values(((bodys185_0)" +"(let-values(((bodys189_0)" " bodys_0)" -"((temp186_0)" -"(let-values(((body-ctx190_0)" +"((temp190_0)" +"(let-values(((body-ctx194_0)" " body-ctx_0)" -"((ctx191_0)" +"((ctx195_0)" " ctx_0))" "(as-tail-context.1" -" ctx191_0" -" body-ctx190_0)))" -"((rebuild-s187_0)" +" ctx195_0" +" body-ctx194_0)))" +"((rebuild-s191_0)" " rebuild-s_0))" "(expand-body.1" -" rebuild-s187_0" +" rebuild-s191_0" " #f" -" bodys185_0" -" temp186_0)))))))" +" bodys189_0" +" temp190_0)))))))))" "(let-values(((result-s_0)" "(if(not" " split-by-reference?_0)" @@ -72069,9 +72239,9 @@ static const char *startup_source = "(void)))" "(values))))" "(let-values(((exp-rhs_0)" -"(let-values(((rhs192_0)" +"(let-values(((rhs196_0)" " rhs_0)" -"((temp193_0)" +"((temp197_0)" "(if rec?_0" "(as-named-context" " rec-ctx_0" @@ -72082,8 +72252,8 @@ static const char *startup_source = "(expand.1" " #f" " #f" -" rhs192_0" -" temp193_0))))" +" rhs196_0" +" temp197_0))))" "(if(expand-context-to-parsed?" " ctx_0)" "(list" @@ -72136,72 +72306,72 @@ static const char *startup_source = " val-name-idss_0" " clauses_0" " exp-body_0))" -"(let-values(((rebuild-s194_0)" +"(let-values(((rebuild-s198_0)" " rebuild-s_0)" -"((temp195_0)" +"((temp199_0)" "(list*" " letrec-values-id_0" " clauses_0" " exp-body_0)))" "(rebuild.1" " #t" -" rebuild-s194_0" -" temp195_0)))))))" +" rebuild-s198_0" +" temp199_0)))))))" "(let-values()" -"(let-values(((val-idss196_0)" +"(let-values(((val-idss200_0)" " val-idss_0)" -"((val-keyss197_0)" +"((val-keyss201_0)" " val-keyss_0)" -"((val-rhss198_0)" +"((val-rhss202_0)" " val-rhss_0)" -"((val-clauses199_0)" +"((val-clauses203_0)" " val-clauses_0)" -"((temp200_0)" +"((temp204_0)" " #t)" -"((frame-id201_0)" +"((frame-id205_0)" " frame-id_0)" -"((rec-ctx202_0)" +"((rec-ctx206_0)" " rec-ctx_0)" -"((rebuild-s203_0)" +"((rebuild-s207_0)" " rebuild-s_0)" -"((syntaxes?204_0)" +"((syntaxes?208_0)" " syntaxes?_0)" -"((get-body205_0)" +"((get-body209_0)" " get-body_0)" -"((temp206_0)" +"((temp210_0)" " #t))" "(expand-and-split-bindings-by-reference.1" -" rec-ctx202_0" -" frame-id201_0" -" get-body205_0" -" syntaxes?204_0" -" rebuild-s203_0" -" temp200_0" -" temp206_0" -" val-idss196_0" -" val-keyss197_0" -" val-rhss198_0" -" val-clauses199_0))))))" +" rec-ctx206_0" +" frame-id205_0" +" get-body209_0" +" syntaxes?208_0" +" rebuild-s207_0" +" temp204_0" +" temp210_0" +" val-idss200_0" +" val-keyss201_0" +" val-rhss202_0" +" val-clauses203_0))))))" "(if(expand-context-to-parsed?" " ctx_0)" " result-s_0" "(attach-disappeared-transformer-bindings" " result-s_0" -" trans-idss_0))))))))))))))))))))))))))))))))))))))))))))" +" trans-idss_0)))))))))))))))))))))))))))))))))))))))))))))" "(void" "(add-core-form!*" " 'let-values" -"(let-values(((temp207_0) 'prim-let-values))(make-let-values-form.1 temp207_0 #f #f #f))))" +"(let-values(((temp211_0) 'prim-let-values))(make-let-values-form.1 temp211_0 #f #f #f))))" "(void" "(add-core-form!*" " 'letrec-values" -"(let-values(((temp208_0) #t)((temp209_0) 'prim-letrec-values))" -"(make-let-values-form.1 temp209_0 temp208_0 #f #f))))" +"(let-values(((temp212_0) #t)((temp213_0) 'prim-letrec-values))" +"(make-let-values-form.1 temp213_0 temp212_0 #f #f))))" "(void" "(add-core-form!*" " 'letrec-syntaxes+values" -"(let-values(((temp210_0) #t)((temp211_0) #t)((temp212_0) #t)((temp213_0) 'prim-letrec-syntaxes+values))" -"(make-let-values-form.1 temp213_0 temp211_0 temp212_0 temp210_0))))" +"(let-values(((temp214_0) #t)((temp215_0) #t)((temp216_0) #t)((temp217_0) 'prim-letrec-syntaxes+values))" +"(make-let-values-form.1 temp217_0 temp215_0 temp216_0 temp214_0))))" "(void" "(add-core-form!*" " '#%stratified-body" @@ -72214,15 +72384,15 @@ static const char *startup_source = "(let-values()(let-values()(call-expand-observe obs_0 'prim-#%stratified disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 #%stratified-body214_0 body215_0)" +"(let-values(((ok?_0 #%stratified-body218_0 body219_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((#%stratified-body214_0 body215_0)" +"(let-values(((#%stratified-body218_0 body219_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((#%stratified-body216_0)" +"(let-values(((#%stratified-body220_0)" "(let-values(((s_3)(car s_2))) s_3))" -"((body217_0)" +"((body221_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" @@ -72234,26 +72404,26 @@ static const char *startup_source = "(let-values()" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))" "(let-values() flat-s_0))))))))" -"(values #%stratified-body216_0 body217_0))" +"(values #%stratified-body220_0 body221_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t #%stratified-body214_0 body215_0))))))" +"(values #t #%stratified-body218_0 body219_0))))))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx218_0) ctx_0)((s219_0) s_0)((temp220_0) #t))" -"(keep-as-needed.1 #f temp220_0 #f ctx218_0 s219_0))))" +"(let-values(((ctx222_0) ctx_0)((s223_0) s_0)((temp224_0) #t))" +"(keep-as-needed.1 #f temp224_0 #f ctx222_0 s223_0))))" "(let-values(((exp-body_0)" -"(let-values(((temp221_0) body215_0)" -"((ctx222_0) ctx_0)" -"((temp223_0) #t)" -"((rebuild-s224_0) rebuild-s_0))" -"(expand-body.1 rebuild-s224_0 temp223_0 temp221_0 ctx222_0))))" +"(let-values(((temp225_0) body219_0)" +"((ctx226_0) ctx_0)" +"((temp227_0) #t)" +"((rebuild-s228_0) rebuild-s_0))" +"(expand-body.1 rebuild-s228_0 temp227_0 temp225_0 ctx226_0))))" "(if(expand-context-to-parsed? ctx_0)" "(parsed-begin12.1 rebuild-s_0 exp-body_0)" -"(let-values(((rebuild-s225_0) rebuild-s_0)" -"((temp226_0)" +"(let-values(((rebuild-s229_0) rebuild-s_0)" +"((temp230_0)" "(if(null?(cdr exp-body_0))" "(car exp-body_0)" "(list*(core-id 'begin(expand-context-phase ctx_0)) exp-body_0))))" -"(rebuild.1 #t rebuild-s225_0 temp226_0)))))))))))" +"(rebuild.1 #t rebuild-s229_0 temp230_0)))))))))))" "(void" "(add-core-form!*" " '#%datum" @@ -72266,18 +72436,18 @@ static const char *startup_source = "(let-values()(let-values()(call-expand-observe obs_0 'prim-#%datum disarmed-s_0)))" "(void)))" "(values))))" -"(let-values(((ok?_0 #%datum227_0 datum228_0)" +"(let-values(((ok?_0 #%datum231_0 datum232_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((#%datum227_0 datum228_0)" +"(let-values(((#%datum231_0 datum232_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((#%datum229_0)(let-values(((s_3)(car s_2))) s_3))" -"((datum230_0)(let-values(((s_3)(cdr s_2))) s_3)))" -"(values #%datum229_0 datum230_0))" +"(let-values(((#%datum233_0)(let-values(((s_3)(car s_2))) s_3))" +"((datum234_0)(let-values(((s_3)(cdr s_2))) s_3)))" +"(values #%datum233_0 datum234_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t #%datum227_0 datum228_0))))))" -"(let-values(((datum_0) datum228_0))" +"(values #t #%datum231_0 datum232_0))))))" +"(let-values(((datum_0) datum232_0))" "(let-values((()" "(begin" "(if(if(syntax?$1 datum_0)(keyword?(syntax-e$1 datum_0)) #f)" @@ -72288,8 +72458,8 @@ 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(((s231_0) s_0)((temp232_0)(list(core-id 'quote phase_0) datum_0)))" -"(rebuild.1 #t s231_0 temp232_0))))))))))))" +"(let-values(((s235_0) s_0)((temp236_0)(list(core-id 'quote phase_0) datum_0)))" +"(rebuild.1 #t s235_0 temp236_0))))))))))))" "(void" "(add-core-form!*" " '#%app" @@ -72302,14 +72472,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 #%app233_0 e234_0)" +"(let-values(((ok?_0 #%app237_0 e238_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((#%app233_0 e234_0)" +"(let-values(((#%app237_0 e238_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((#%app235_0)(let-values(((s_3)(car s_2))) s_3))" -"((e236_0)" +"(let-values(((#%app239_0)(let-values(((s_3)(car s_2))) s_3))" +"((e240_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)(syntax-e$1 s_3) s_3)))" @@ -72318,31 +72488,31 @@ static const char *startup_source = "(let-values()" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))" "(let-values() flat-s_0)))))))" -"(values #%app235_0 e236_0))" +"(values #%app239_0 e240_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t #%app233_0 e234_0))))))" -"(let-values(((es_0) e234_0))" +"(values #t #%app237_0 e238_0))))))" +"(let-values(((es_0) e238_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(((s237_0) s_0)((temp238_0)(list(core-id 'quote phase_0) null)))" -"(rebuild.1 #t s237_0 temp238_0)))))" +"(let-values(((s241_0) s_0)((temp242_0)(list(core-id 'quote phase_0) null)))" +"(rebuild.1 #t s241_0 temp242_0)))))" "(let-values()" "(let-values(((keep-for-parsed?_0) keep-source-locations?))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx239_0) ctx_0)" -"((s240_0) s_0)" -"((keep-for-parsed?241_0) keep-for-parsed?_0))" -"(keep-as-needed.1 #f #f keep-for-parsed?241_0 ctx239_0 s240_0))))" +"(let-values(((ctx243_0) ctx_0)" +"((s244_0) s_0)" +"((keep-for-parsed?245_0) keep-for-parsed?_0))" +"(keep-as-needed.1 #f #f keep-for-parsed?245_0 ctx243_0 s244_0))))" "(let-values(((prefixless_0)(cdr(syntax-e$1 disarmed-s_0))))" "(let-values(((rebuild-prefixless_0)" "(if(syntax?$1 prefixless_0)" -"(let-values(((ctx242_0) ctx_0)" -"((prefixless243_0) prefixless_0)" -"((keep-for-parsed?244_0) keep-for-parsed?_0))" -"(keep-as-needed.1 #f #f keep-for-parsed?244_0 ctx242_0 prefixless243_0))" +"(let-values(((ctx246_0) ctx_0)" +"((prefixless247_0) prefixless_0)" +"((keep-for-parsed?248_0) keep-for-parsed?_0))" +"(keep-as-needed.1 #f #f keep-for-parsed?248_0 ctx246_0 prefixless247_0))" " #f)))" "(let-values(((expr-ctx_0)(as-expression-context ctx_0)))" "(let-values((()" @@ -72354,8 +72524,8 @@ static const char *startup_source = "(values))))" "(let-values(((rest-es_0)(cdr es_0)))" "(let-values(((exp-rator_0)" -"(let-values(((temp245_0)(car es_0))((expr-ctx246_0) expr-ctx_0))" -"(expand.1 #f #f temp245_0 expr-ctx246_0))))" +"(let-values(((temp249_0)(car es_0))((expr-ctx250_0) expr-ctx_0))" +"(expand.1 #f #f temp249_0 expr-ctx250_0))))" "(let-values(((exp-es_0)" "(reverse$1" "(let-values(((lst_0) rest-es_0))" @@ -72388,15 +72558,15 @@ static const char *startup_source = " obs_0" " 'next)))" "(void)))" -"(let-values(((e247_0)" +"(let-values(((e251_0)" " e_0)" -"((expr-ctx248_0)" +"((expr-ctx252_0)" " expr-ctx_0))" "(expand.1" " #f" " #f" -" e247_0" -" expr-ctx248_0))))" +" e251_0" +" expr-ctx252_0))))" " fold-var_1))))" "(values fold-var_2)))))" "(if(not #f)" @@ -72417,13 +72587,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-prefixless251_0) rebuild-prefixless_0)" -"((exp-es252_0) exp-es_1))" -"(rebuild.1 #t rebuild-prefixless251_0 exp-es252_0))" +"(let-values(((rebuild-prefixless255_0) rebuild-prefixless_0)" +"((exp-es256_0) exp-es_1))" +"(rebuild.1 #t rebuild-prefixless255_0 exp-es256_0))" " exp-es_1))))" -"(let-values(((rebuild-s249_0) rebuild-s_0)" -"((temp250_0)(cons #%app233_0 es_1)))" -"(rebuild.1 #t rebuild-s249_0 temp250_0)))))))))))))))))))))))" +"(let-values(((rebuild-s253_0) rebuild-s_0)" +"((temp254_0)(cons #%app237_0 es_1)))" +"(rebuild.1 #t rebuild-s253_0 temp254_0)))))))))))))))))))))))" "(void" "(add-core-form!*" " 'quote" @@ -72433,19 +72603,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 quote253_0 datum254_0)" +"(let-values(((ok?_0 quote257_0 datum258_0)" "(let-values(((s_1)(syntax-disarm$1 s_0)))" "(let-values(((orig-s_0) s_1))" -"(let-values(((quote253_0 datum254_0)" +"(let-values(((quote257_0 datum258_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((quote255_0)(let-values(((s_3)(car s_2))) s_3))" -"((datum256_0)" +"(let-values(((quote259_0)(let-values(((s_3)(car s_2))) s_3))" +"((datum260_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(((datum257_0)" +"(let-values(((datum261_0)" "(let-values(((s_5)(car s_4))) s_5))" "(()" "(let-values(((s_5)(cdr s_4)))" @@ -72459,13 +72629,13 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values datum257_0))" +"(values datum261_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))))))" -"(values quote255_0 datum256_0))" +"(values quote259_0 datum260_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t quote253_0 datum254_0))))))" +"(values #t quote257_0 datum258_0))))))" "(if(expand-context-to-parsed? ctx_0)" -"(parsed-quote14.1(keep-properties-only~ s_0)(syntax->datum$1 datum254_0))" +"(parsed-quote14.1(keep-properties-only~ s_0)(syntax->datum$1 datum258_0))" " s_0))))))" "(void" "(add-core-form!*" @@ -72479,7 +72649,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-syntax258_0 datum259_0)" +"(let-values(((ok?_0 quote-syntax262_0 datum263_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)" @@ -72504,14 +72674,14 @@ static const char *startup_source = " #f)" " #f))" "(let-values()" -"(let-values(((quote-syntax258_0 datum259_0)" +"(let-values(((quote-syntax262_0 datum263_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(let-values(((quote-syntax260_0)(let-values(((s_3)(car s_2))) s_3))" -"((datum261_0)" +"(let-values(((quote-syntax264_0)(let-values(((s_3)(car s_2))) s_3))" +"((datum265_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(((datum262_0)" +"(let-values(((datum266_0)" "(let-values(((s_5)(car s_4))) s_5))" "(()" "(let-values(((s_5)(cdr s_4)))" @@ -72540,26 +72710,26 @@ static const char *startup_source = " s_7)))" "(values)))))" "(values))))))" -"(values datum262_0))))))" -"(values quote-syntax260_0 datum261_0)))))" -"(values #t quote-syntax258_0 datum259_0)))" +"(values datum266_0))))))" +"(values quote-syntax264_0 datum265_0)))))" +"(values #t quote-syntax262_0 datum263_0)))" "(values #f #f #f)))))" -"(let-values(((ok?_1 quote-syntax263_0 datum264_0)" +"(let-values(((ok?_1 quote-syntax267_0 datum268_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-syntax263_0 datum264_0)" +"(let-values(((quote-syntax267_0 datum268_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((quote-syntax265_0)(let-values(((s_3)(car s_2))) s_3))" -"((datum266_0)" +"(let-values(((quote-syntax269_0)(let-values(((s_3)(car s_2))) s_3))" +"((datum270_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(((datum267_0)" +"(let-values(((datum271_0)" "(let-values(((s_5)(car s_4))) s_5))" "(()" "(let-values(((s_5)(cdr s_4)))" @@ -72573,37 +72743,37 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values datum267_0))" +"(values datum271_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values quote-syntax265_0 datum266_0))" +"(values quote-syntax269_0 datum270_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t quote-syntax263_0 datum264_0)))" +"(values #t quote-syntax267_0 datum268_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 _268_0 _269_0 kw270_0)" +"(let-values(((ok?_2 _272_0 _273_0 kw274_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((_268_0 _269_0 kw270_0)" +"(let-values(((_272_0 _273_0 kw274_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((_271_0)(let-values(((s_3)(car s_2))) s_3))" -"((_272_0 kw273_0)" +"(let-values(((_275_0)(let-values(((s_3)(car s_2))) s_3))" +"((_276_0 kw277_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(((_274_0)" +"(let-values(((_278_0)" "(let-values(((s_5)(car s_4)))" " s_5))" -"((kw275_0)" +"((kw279_0)" "(let-values(((s_5)(cdr s_4)))" "(let-values(((s_6)" "(if(syntax?$1" @@ -72612,7 +72782,7 @@ static const char *startup_source = " s_5)" " s_5)))" "(if(pair? s_6)" -"(let-values(((kw276_0)" +"(let-values(((kw280_0)" "(let-values(((s_7)" "(car" " s_6)))" @@ -72634,33 +72804,33 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values kw276_0))" +"(values kw280_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values _274_0 kw275_0))" +"(values _278_0 kw279_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values _271_0 _272_0 kw273_0))" +"(values _275_0 _276_0 kw277_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t _268_0 _269_0 kw270_0))))))" +"(values #t _272_0 _273_0 kw274_0))))))" "(if(expand-context-to-parsed? ctx_0)" -"(parsed-quote-syntax15.1(keep-properties-only~ s_0) datum259_0)" -"(let-values(((s277_0) s_0)((temp278_0)(list quote-syntax258_0 datum259_0 kw270_0)))" -"(rebuild.1 #t s277_0 temp278_0))))))" +"(parsed-quote-syntax15.1(keep-properties-only~ s_0) datum263_0)" +"(let-values(((s281_0) s_0)((temp282_0)(list quote-syntax262_0 datum263_0 kw274_0)))" +"(rebuild.1 #t s281_0 temp282_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 datum264_0(expand-context-scopes ctx_0))" +"(remove-scopes datum268_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(((s279_0) s_0)((temp280_0)(list quote-syntax263_0 datum-s_0)))" -"(rebuild.1 #t s279_0 temp280_0))))))))))))))" +"(let-values(((s283_0) s_0)((temp284_0)(list quote-syntax267_0 datum-s_0)))" +"(rebuild.1 #t s283_0 temp284_0))))))))))))))" "(void" "(add-core-form!*" " 'if" @@ -72673,7 +72843,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 _281_0 _282_0 _283_0)" +"(let-values(((ok?_0 _285_0 _286_0 _287_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)" @@ -72696,22 +72866,22 @@ static const char *startup_source = " #f)" " #f))" "(let-values()" -"(let-values(((_281_0 _282_0 _283_0)" +"(let-values(((_285_0 _286_0 _287_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(let-values(((_284_0)(let-values(((s_3)(car s_2))) s_3))" -"((_285_0 _286_0)" +"(let-values(((_288_0)(let-values(((s_3)(car s_2))) s_3))" +"((_289_0 _290_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(((_287_0)" +"(let-values(((_291_0)" "(let-values(((s_5)(car s_4))) s_5))" -"((_288_0)" +"((_292_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(((_289_0)" +"(let-values(((_293_0)" "(let-values(((s_7)" "(car s_6)))" " s_7))" @@ -72725,10 +72895,10 @@ static const char *startup_source = " s_7)" " s_7)))" "(values)))))" -"(values _289_0))))))" -"(values _287_0 _288_0))))))" -"(values _284_0 _285_0 _286_0)))))" -"(values #t _281_0 _282_0 _283_0)))" +"(values _293_0))))))" +"(values _291_0 _292_0))))))" +"(values _288_0 _289_0 _290_0)))))" +"(values #t _285_0 _286_0 _287_0)))" "(values #f #f #f #f)))))" "(let-values((()" "(begin" @@ -72736,35 +72906,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 if290_0 tst291_0 thn292_0 els293_0)" +"(let-values(((ok?_1 if294_0 tst295_0 thn296_0 els297_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((if290_0 tst291_0 thn292_0 els293_0)" +"(let-values(((if294_0 tst295_0 thn296_0 els297_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((if294_0)(let-values(((s_3)(car s_2))) s_3))" -"((tst295_0 thn296_0 els297_0)" +"(let-values(((if298_0)(let-values(((s_3)(car s_2))) s_3))" +"((tst299_0 thn300_0 els301_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(((tst298_0)" +"(let-values(((tst302_0)" "(let-values(((s_5)(car s_4))) s_5))" -"((thn299_0 els300_0)" +"((thn303_0 els304_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(((thn301_0)" +"(let-values(((thn305_0)" "(let-values(((s_7)" "(car" " s_6)))" " s_7))" -"((els302_0)" +"((els306_0)" "(let-values(((s_7)" "(cdr" " s_6)))" @@ -72776,7 +72946,7 @@ static const char *startup_source = " s_7)))" "(if(pair?" " s_8)" -"(let-values(((els303_0)" +"(let-values(((els307_0)" "(let-values(((s_9)" "(car" " s_8)))" @@ -72799,34 +72969,34 @@ static const char *startup_source = " \"bad syntax\"" " orig-s_0))))))" "(values" -" els303_0))" +" els307_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values thn301_0 els302_0))" +"(values thn305_0 els306_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values tst298_0 thn299_0 els300_0))" +"(values tst302_0 thn303_0 els304_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values if294_0 tst295_0 thn296_0 els297_0))" +"(values if298_0 tst299_0 thn300_0 els301_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t if290_0 tst291_0 thn292_0 els293_0))))))" +"(values #t if294_0 tst295_0 thn296_0 els297_0))))))" "(let-values(((expr-ctx_0)(as-expression-context ctx_0)))" "(let-values(((tail-ctx_0)" -"(let-values(((expr-ctx304_0) expr-ctx_0)((ctx305_0) ctx_0))" -"(as-tail-context.1 ctx305_0 expr-ctx304_0))))" +"(let-values(((expr-ctx308_0) expr-ctx_0)((ctx309_0) ctx_0))" +"(as-tail-context.1 ctx309_0 expr-ctx308_0))))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx306_0) ctx_0)((s307_0) s_0))" -"(keep-as-needed.1 #f #f #f ctx306_0 s307_0))))" +"(let-values(((ctx310_0) ctx_0)((s311_0) s_0))" +"(keep-as-needed.1 #f #f #f ctx310_0 s311_0))))" "(let-values(((exp-tst_0)" -"(let-values(((temp308_0) tst291_0)((expr-ctx309_0) expr-ctx_0))" -"(expand.1 #f #f temp308_0 expr-ctx309_0))))" +"(let-values(((temp312_0) tst295_0)((expr-ctx313_0) expr-ctx_0))" +"(expand.1 #f #f temp312_0 expr-ctx313_0))))" "(let-values((()" "(begin" "(let-values(((obs_0)(expand-context-observer ctx_0)))" @@ -72835,8 +73005,8 @@ static const char *startup_source = "(void)))" "(values))))" "(let-values(((exp-thn_0)" -"(let-values(((temp310_0) thn292_0)((tail-ctx311_0) tail-ctx_0))" -"(expand.1 #f #f temp310_0 tail-ctx311_0))))" +"(let-values(((temp314_0) thn296_0)((tail-ctx315_0) tail-ctx_0))" +"(expand.1 #f #f temp314_0 tail-ctx315_0))))" "(let-values((()" "(begin" "(let-values(((obs_0)(expand-context-observer ctx_0)))" @@ -72845,13 +73015,13 @@ static const char *startup_source = "(void)))" "(values))))" "(let-values(((exp-els_0)" -"(let-values(((temp312_0) els293_0)((tail-ctx313_0) tail-ctx_0))" -"(expand.1 #f #f temp312_0 tail-ctx313_0))))" +"(let-values(((temp316_0) els297_0)((tail-ctx317_0) tail-ctx_0))" +"(expand.1 #f #f temp316_0 tail-ctx317_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-s314_0) rebuild-s_0)" -"((temp315_0)(list if290_0 exp-tst_0 exp-thn_0 exp-els_0)))" -"(rebuild.1 #t rebuild-s314_0 temp315_0)))))))))))))))))))" +"(let-values(((rebuild-s318_0) rebuild-s_0)" +"((temp319_0)(list if294_0 exp-tst_0 exp-thn_0 exp-els_0)))" +"(rebuild.1 #t rebuild-s318_0 temp319_0)))))))))))))))))))" "(void" "(add-core-form!*" " 'with-continuation-mark" @@ -72865,34 +73035,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-mark316_0 key317_0 val318_0 body319_0)" +"(let-values(((ok?_0 with-continuation-mark320_0 key321_0 val322_0 body323_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((with-continuation-mark316_0 key317_0 val318_0 body319_0)" +"(let-values(((with-continuation-mark320_0 key321_0 val322_0 body323_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-mark320_0)" +"(let-values(((with-continuation-mark324_0)" "(let-values(((s_3)(car s_2))) s_3))" -"((key321_0 val322_0 body323_0)" +"((key325_0 val326_0 body327_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(((key324_0)" +"(let-values(((key328_0)" "(let-values(((s_5)(car s_4))) s_5))" -"((val325_0 body326_0)" +"((val329_0 body330_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(((val327_0)" +"(let-values(((val331_0)" "(let-values(((s_7)" "(car" " s_6)))" " s_7))" -"((body328_0)" +"((body332_0)" "(let-values(((s_7)" "(cdr" " s_6)))" @@ -72903,7 +73073,7 @@ static const char *startup_source = " s_7)" " s_7)))" "(if(pair? s_8)" -"(let-values(((body329_0)" +"(let-values(((body333_0)" "(let-values(((s_9)" "(car" " s_8)))" @@ -72926,36 +73096,36 @@ static const char *startup_source = " \"bad syntax\"" " orig-s_0))))))" "(values" -" body329_0))" +" body333_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values val327_0 body328_0))" +"(values val331_0 body332_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values key324_0 val325_0 body326_0))" +"(values key328_0 val329_0 body330_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))))))" -"(values with-continuation-mark320_0 key321_0 val322_0 body323_0))" +"(values with-continuation-mark324_0 key325_0 val326_0 body327_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t with-continuation-mark316_0 key317_0 val318_0 body319_0))))))" +"(values #t with-continuation-mark320_0 key321_0 val322_0 body323_0))))))" "(let-values(((expr-ctx_0)(as-expression-context ctx_0)))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx330_0) ctx_0)((s331_0) s_0))" -"(keep-as-needed.1 #f #f #f ctx330_0 s331_0))))" +"(let-values(((ctx334_0) ctx_0)((s335_0) s_0))" +"(keep-as-needed.1 #f #f #f ctx334_0 s335_0))))" "(let-values(((exp-key_0)" -"(let-values(((temp332_0) key317_0)((expr-ctx333_0) expr-ctx_0))" -"(expand.1 #f #f temp332_0 expr-ctx333_0))))" +"(let-values(((temp336_0) key321_0)((expr-ctx337_0) expr-ctx_0))" +"(expand.1 #f #f temp336_0 expr-ctx337_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(((temp334_0) val318_0)((expr-ctx335_0) expr-ctx_0))" -"(expand.1 #f #f temp334_0 expr-ctx335_0))))" +"(let-values(((temp338_0) val322_0)((expr-ctx339_0) expr-ctx_0))" +"(expand.1 #f #f temp338_0 expr-ctx339_0))))" "(let-values((()" "(begin" "(let-values(((obs_0)(expand-context-observer ctx_0)))" @@ -72964,16 +73134,16 @@ static const char *startup_source = "(void)))" "(values))))" "(let-values(((exp-body_0)" -"(let-values(((temp336_0) body319_0)" -"((temp337_0)" -"(let-values(((expr-ctx338_0) expr-ctx_0)((ctx339_0) ctx_0))" -"(as-tail-context.1 ctx339_0 expr-ctx338_0))))" -"(expand.1 #f #f temp336_0 temp337_0))))" +"(let-values(((temp340_0) body323_0)" +"((temp341_0)" +"(let-values(((expr-ctx342_0) expr-ctx_0)((ctx343_0) ctx_0))" +"(as-tail-context.1 ctx343_0 expr-ctx342_0))))" +"(expand.1 #f #f temp340_0 temp341_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-s340_0) rebuild-s_0)" -"((temp341_0)(list with-continuation-mark316_0 exp-key_0 exp-val_0 exp-body_0)))" -"(rebuild.1 #t rebuild-s340_0 temp341_0))))))))))))))))" +"(let-values(((rebuild-s344_0) rebuild-s_0)" +"((temp345_0)(list with-continuation-mark320_0 exp-key_0 exp-val_0 exp-body_0)))" +"(rebuild.1 #t rebuild-s344_0 temp345_0))))))))))))))))" "(define-values" "(make-begin.1)" "(lambda(last-is-tail?10_0 log-tag12_0 parsed-begin13_0)" @@ -72992,14 +73162,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 begin342_0 e343_0)" +"(let-values(((ok?_0 begin346_0 e347_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((begin342_0 e343_0)" +"(let-values(((begin346_0 e347_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((begin344_0)(let-values(((s_3)(car s_2))) s_3))" -"((e345_0)" +"(let-values(((begin348_0)(let-values(((s_3)(car s_2))) s_3))" +"((e349_0)" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" "(if(syntax?$1 s_3)" @@ -73020,16 +73190,16 @@ static const char *startup_source = " \"bad syntax\"" " orig-s_0))" "(let-values() flat-s_0))))))))" -"(values begin344_0 e345_0))" +"(values begin348_0 e349_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t begin342_0 e343_0))))))" +"(values #t begin346_0 e347_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(((ctx346_0) ctx_0)((s347_0) s_0))" -"(keep-as-needed.1 #f #f #f ctx346_0 s347_0))))" +"(let-values(((ctx350_0) ctx_0)((s351_0) s_0))" +"(keep-as-needed.1 #f #f #f ctx350_0 s351_0))))" "(let-values(((exp-es_0)" "((letrec-values(((loop_0)" "(lambda(es_0)" @@ -73048,38 +73218,38 @@ static const char *startup_source = "(call-expand-observe obs_0 'next)))" "(void)))" "(cons" -"(let-values(((temp348_0)(car es_0))" -"((temp349_0)" +"(let-values(((temp352_0)(car es_0))" +"((temp353_0)" "(if(if last-is-tail?_0" "(null? rest-es_0)" " #f)" -"(let-values(((expr-ctx350_0)" +"(let-values(((expr-ctx354_0)" " expr-ctx_0)" -"((ctx351_0) ctx_0))" +"((ctx355_0) ctx_0))" "(as-tail-context.1" -" ctx351_0" -" expr-ctx350_0))" +" ctx355_0" +" expr-ctx354_0))" " expr-ctx_0)))" -"(expand.1 #f #f temp348_0 temp349_0))" +"(expand.1 #f #f temp352_0 temp353_0))" "(loop_0 rest-es_0))))))))))" " loop_0)" -" e343_0)))" +" e347_0)))" "(if(expand-context-to-parsed? ctx_0)" "(parsed-begin_0 rebuild-s_0 exp-es_0)" -"(let-values(((rebuild-s352_0) rebuild-s_0)((temp353_0)(cons begin342_0 exp-es_0)))" -"(rebuild.1 #t rebuild-s352_0 temp353_0)))))))))))))))))" +"(let-values(((rebuild-s356_0) rebuild-s_0)((temp357_0)(cons begin346_0 exp-es_0)))" +"(rebuild.1 #t rebuild-s356_0 temp357_0)))))))))))))))))" "(void" "(add-core-form!*" " 'begin" "(let-values(((nonempty-begin_0)" -"(let-values(((temp354_0) 'prim-begin)((parsed-begin355_0) parsed-begin12.1)((temp356_0) #t))" -"(make-begin.1 temp356_0 temp354_0 parsed-begin355_0))))" +"(let-values(((temp358_0) 'prim-begin)((parsed-begin359_0) parsed-begin12.1)((temp360_0) #t))" +"(make-begin.1 temp360_0 temp358_0 parsed-begin359_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 begin357_0)" +"(let-values(((ok?_0 begin361_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)" @@ -73089,9 +73259,9 @@ static const char *startup_source = " #f)" " #f))" "(let-values()" -"(let-values(((begin357_0)" +"(let-values(((begin361_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(let-values(((begin358_0)(let-values(((s_3)(car s_2))) s_3))" +"(let-values(((begin362_0)(let-values(((s_3)(car s_2))) s_3))" "(()" "(let-values(((s_3)(cdr s_2)))" "(let-values(((s_4)" @@ -73099,16 +73269,16 @@ static const char *startup_source = "(syntax-e$1 s_3)" " s_3)))" "(values)))))" -"(values begin358_0)))))" -"(values #t begin357_0)))" +"(values begin362_0)))))" +"(values #t begin361_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(((temp359_0) 'prim-begin0)((parsed-begin0360_0) parsed-begin013.1)((temp361_0) #f))" -"(make-begin.1 temp361_0 temp359_0 parsed-begin0360_0))))" +"(let-values(((temp363_0) 'prim-begin0)((parsed-begin0364_0) parsed-begin013.1)((temp365_0) #f))" +"(make-begin.1 temp365_0 temp363_0 parsed-begin0364_0))))" "(define-values" "(register-eventual-variable!?)" "(lambda(id_0 ctx_0)" @@ -73126,13 +73296,13 @@ static const char *startup_source = "(void" "(add-core-form!*" " '#%top" -"(let-values(((...nder/expand/expr.rkt:562:1_0)" -"(lambda(s363_0 ctx364_0 implicit-omitted?362_0)" +"(let-values(((...nder/expand/expr.rkt:598:1_0)" +"(lambda(s367_0 ctx368_0 implicit-omitted?366_0)" "(begin" -" '...nder/expand/expr.rkt:562:1" -"(let-values(((s_0) s363_0))" -"(let-values(((ctx_0) ctx364_0))" -"(let-values(((implicit-omitted?_0) implicit-omitted?362_0))" +" '...nder/expand/expr.rkt:598:1" +"(let-values(((s_0) s367_0))" +"(let-values(((ctx_0) ctx368_0))" +"(let-values(((implicit-omitted?_0) implicit-omitted?366_0))" "(let-values()" "(let-values(((disarmed-s_0)(syntax-disarm$1 s_0)))" "(let-values((()" @@ -73148,21 +73318,21 @@ static const char *startup_source = "(if implicit-omitted?_0" "(let-values() s_0)" "(let-values()" -"(let-values(((ok?_0 #%top365_0 id366_0)" +"(let-values(((ok?_0 #%top369_0 id370_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((#%top365_0 id366_0)" +"(let-values(((#%top369_0 id370_0)" "(let-values(((s_2)" "(if(syntax?$1 s_1)" "(syntax-e$1 s_1)" " s_1)))" "(if(pair? s_2)" -"(let-values(((#%top367_0)" +"(let-values(((#%top371_0)" "(let-values(((s_3)" "(car" " s_2)))" " s_3))" -"((id368_0)" +"((id372_0)" "(let-values(((s_3)" "(cdr" " s_2)))" @@ -73183,25 +73353,25 @@ static const char *startup_source = " \"not an identifier\"" " orig-s_0" " s_3)))))" -"(values #%top367_0 id368_0))" +"(values #%top371_0 id372_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0)))))" -"(values #t #%top365_0 id366_0))))))" -" id366_0)))))" +"(values #t #%top369_0 id370_0))))))" +" id370_0)))))" "(let-values(((b_0)" -"(let-values(((id369_0) id_0)" -"((temp370_0)(expand-context-phase ctx_0))" -"((temp371_0) 'ambiguous))" +"(let-values(((id373_0) id_0)" +"((temp374_0)(expand-context-phase ctx_0))" +"((temp375_0) 'ambiguous))" "(resolve+shift.1" -" temp371_0" +" temp375_0" " #f" " null" " unsafe-undefined" " #f" -" id369_0" -" temp370_0))))" +" id373_0" +" temp374_0))))" "(if(eq? b_0 'ambiguous)" "(let-values()(raise-ambiguous-error id_0 ctx_0))" "(if(if b_0" @@ -73234,10 +73404,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-id372_0) tl-id_0)" -"((temp373_0)" +"(let-values(((tl-id376_0) tl-id_0)" +"((temp377_0)" "(expand-context-phase ctx_0)))" -"(resolve.1 #f #f null #f tl-id372_0 temp373_0))))" +"(resolve.1 #f #f null #f tl-id376_0 temp377_0))))" "(if tl-b_0" "(let-values()" "(if(expand-context-to-parsed? ctx_0)" @@ -73245,10 +73415,10 @@ static const char *startup_source = "(if implicit-omitted?_0" "(let-values() id_0)" "(let-values()" -"(let-values(((ok?_0 #%top374_0 id375_0)" +"(let-values(((ok?_0 #%top378_0 id379_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((#%top374_0 id375_0)" +"(let-values(((#%top378_0 id379_0)" "(let-values(((s_2)" "(if(syntax?$1" " s_1)" @@ -73256,12 +73426,12 @@ static const char *startup_source = " s_1)" " s_1)))" "(if(pair? s_2)" -"(let-values(((#%top376_0)" +"(let-values(((#%top380_0)" "(let-values(((s_3)" "(car" " s_2)))" " s_3))" -"((id377_0)" +"((id381_0)" "(let-values(((s_3)" "(cdr" " s_2)))" @@ -73283,23 +73453,23 @@ static const char *startup_source = " orig-s_0" " s_3)))))" "(values" -" #%top376_0" -" id377_0))" +" #%top380_0" +" id381_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0)))))" -"(values #t #%top374_0 id375_0))))))" -"(let-values(((s378_0) s_0)" -"((temp379_0)(cons #%top374_0 id_0)))" -"(rebuild.1 #t s378_0 temp379_0)))))))" +"(values #t #%top378_0 id379_0))))))" +"(let-values(((s382_0) s_0)" +"((temp383_0)(cons #%top378_0 id_0)))" +"(rebuild.1 #t s382_0 temp383_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:562:1(...nder/expand/expr.rkt:562:1_0 s_0 ctx_0 #f)))" -"((s_0 ctx_0 implicit-omitted?362_0)(...nder/expand/expr.rkt:562:1_0 s_0 ctx_0 implicit-omitted?362_0))))))" +"((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?366_0)(...nder/expand/expr.rkt:598:1_0 s_0 ctx_0 implicit-omitted?366_0))))))" "(void" "(add-core-form!*" " 'set!" @@ -73312,19 +73482,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!380_0 id381_0 rhs382_0)" +"(let-values(((ok?_0 set!384_0 id385_0 rhs386_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((set!380_0 id381_0 rhs382_0)" +"(let-values(((set!384_0 id385_0 rhs386_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((set!383_0)(let-values(((s_3)(car s_2))) s_3))" -"((id384_0 rhs385_0)" +"(let-values(((set!387_0)(let-values(((s_3)(car s_2))) s_3))" +"((id388_0 rhs389_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(((id386_0)" +"(let-values(((id390_0)" "(let-values(((s_5)(car s_4)))" "(if(let-values(((or-part_0)" "(if(syntax?$1 s_5)" @@ -73340,14 +73510,14 @@ static const char *startup_source = " \"not an identifier\"" " orig-s_0" " s_5))))" -"((rhs387_0)" +"((rhs391_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(((rhs388_0)" +"(let-values(((rhs392_0)" "(let-values(((s_7)" "(car" " s_6)))" @@ -73368,27 +73538,27 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values rhs388_0))" +"(values rhs392_0))" "(raise-syntax-error$1" " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values id386_0 rhs387_0))" +"(values id390_0 rhs391_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))))))" -"(values set!383_0 id384_0 rhs385_0))" +"(values set!387_0 id388_0 rhs389_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t set!380_0 id381_0 rhs382_0))))))" -"(let-values(((orig-id_0) id381_0))" +"(values #t set!384_0 id385_0 rhs386_0))))))" +"(let-values(((orig-id_0) id385_0))" "((letrec-values(((rename-loop_0)" "(lambda(id_0 from-rename?_0)" "(begin" " 'rename-loop" "(let-values(((binding_0)" -"(let-values(((id389_0) id_0)" -"((temp390_0)(expand-context-phase ctx_0))" -"((temp391_0) 'ambiguous)" -"((temp392_0) #t))" -"(resolve+shift.1 temp391_0 #f null temp392_0 #f id389_0 temp390_0))))" +"(let-values(((id393_0) id_0)" +"((temp394_0)(expand-context-phase ctx_0))" +"((temp395_0) 'ambiguous)" +"((temp396_0) #t))" +"(resolve+shift.1 temp395_0 #f null temp396_0 #f id393_0 temp394_0))))" "(let-values((()" "(begin" "(if(eq? binding_0 'ambiguous)" @@ -73397,10 +73567,10 @@ static const char *startup_source = "(values))))" "(let-values(((t_0 primitive?_0 insp_0 protected?_0)" "(if binding_0" -"(let-values(((binding393_0) binding_0)" -"((ctx394_0) ctx_0)" -"((s395_0) s_0))" -"(lookup.1 #f #f binding393_0 ctx394_0 s395_0))" +"(let-values(((binding397_0) binding_0)" +"((ctx398_0) ctx_0)" +"((s399_0) s_0))" +"(lookup.1 #f #f binding397_0 ctx398_0 s399_0))" "(values #f #f #f #f))))" "(begin" "(let-values(((obs_0)(expand-context-observer ctx_0)))" @@ -73443,36 +73613,38 @@ static const char *startup_source = "(values))))" "(let-values((()" "(begin" -"(register-variable-referenced-if-local! binding_0)" +"(register-variable-referenced-if-local!" +" binding_0" +" ctx_0)" "(values))))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx396_0) ctx_0)((s397_0) s_0))" -"(keep-as-needed.1 #f #f #f ctx396_0 s397_0))))" +"(let-values(((ctx400_0) ctx_0)((s401_0) s_0))" +"(keep-as-needed.1 #f #f #f ctx400_0 s401_0))))" "(let-values(((exp-rhs_0)" -"(let-values(((temp398_0) rhs382_0)" -"((temp399_0)" +"(let-values(((temp402_0) rhs386_0)" +"((temp403_0)" "(as-expression-context ctx_0)))" -"(expand.1 #f #f temp398_0 temp399_0))))" +"(expand.1 #f #f temp402_0 temp403_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-s400_0) rebuild-s_0)" -"((temp401_0)" +"(let-values(((rebuild-s404_0) rebuild-s_0)" +"((temp405_0)" "(list" -" set!380_0" -"(let-values(((id402_0) id_0)" -"((t403_0) t_0)" -"((temp404_0)" +" set!384_0" +"(let-values(((id406_0) id_0)" +"((t407_0) t_0)" +"((temp408_0)" "(free-id-set-empty-or-just-module*?" "(expand-context-stops ctx_0))))" "(substitute-variable.1" -" temp404_0" -" id402_0" -" t403_0))" +" temp408_0" +" id406_0" +" t407_0))" " exp-rhs_0)))" -"(rebuild.1 #t rebuild-s400_0 temp401_0)))))))))" +"(rebuild.1 #t rebuild-s404_0 temp405_0)))))))))" "(if(not binding_0)" "(let-values()" "(raise-unbound-syntax-error" @@ -73486,62 +73658,62 @@ static const char *startup_source = "(let-values()" "(if(not-in-this-expand-context? t_0 ctx_0)" "(let-values()" -"(let-values(((temp405_0)" +"(let-values(((temp409_0)" "(avoid-current-expand-context" "(substitute-set!-rename" " s_0" " disarmed-s_0" -" set!380_0" -" rhs382_0" +" set!384_0" +" rhs386_0" " id_0" " from-rename?_0" " ctx_0)" " t_0" " ctx_0))" -"((ctx406_0) ctx_0))" -"(expand.1 #f #f temp405_0 ctx406_0)))" +"((ctx410_0) ctx_0))" +"(expand.1 #f #f temp409_0 ctx410_0)))" "(let-values()" "(let-values(((exp-s_0 re-ctx_0)" -"(let-values(((t407_0) t_0)" -"((insp408_0) insp_0)" -"((s409_0) s_0)" -"((orig-id410_0) orig-id_0)" -"((ctx411_0) ctx_0)" -"((binding412_0) binding_0)" -"((orig-id413_0) orig-id_0))" +"(let-values(((t411_0) t_0)" +"((insp412_0) insp_0)" +"((s413_0) s_0)" +"((orig-id414_0) orig-id_0)" +"((ctx415_0) ctx_0)" +"((binding416_0) binding_0)" +"((orig-id417_0) orig-id_0))" "(apply-transformer.1" -" orig-id413_0" -" t407_0" -" insp408_0" -" s409_0" -" orig-id410_0" -" ctx411_0" -" binding412_0))))" +" orig-id417_0" +" t411_0" +" insp412_0" +" s413_0" +" orig-id414_0" +" ctx415_0" +" binding416_0))))" "(if(expand-context-just-once? ctx_0)" "(let-values() exp-s_0)" "(let-values()" -"(let-values(((exp-s414_0) exp-s_0)" -"((re-ctx415_0) re-ctx_0))" -"(expand.1 #f #f exp-s414_0 re-ctx415_0))))))))" +"(let-values(((exp-s418_0) exp-s_0)" +"((re-ctx419_0) re-ctx_0))" +"(expand.1 #f #f exp-s418_0 re-ctx419_0))))))))" "(if(1/rename-transformer? t_0)" "(let-values()" "(if(not-in-this-expand-context? t_0 ctx_0)" "(let-values()" -"(let-values(((temp416_0)" +"(let-values(((temp420_0)" "(avoid-current-expand-context" "(substitute-set!-rename" " s_0" " disarmed-s_0" -" set!380_0" -" rhs382_0" +" set!384_0" +" rhs386_0" " id_0" " from-rename?_0" " ctx_0" " t_0)" " t_0" " ctx_0))" -"((ctx417_0) ctx_0))" -"(expand.1 #f #f temp416_0 ctx417_0)))" +"((ctx421_0) ctx_0))" +"(expand.1 #f #f temp420_0 ctx421_0)))" "(let-values()" "(rename-loop_0" "(syntax-track-origin$1" @@ -73603,7 +73775,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-reference418_0 id419_0)" +"(let-values(((ok?_0 #%variable-reference422_0 id423_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)" @@ -73623,15 +73795,15 @@ static const char *startup_source = " #f)" " #f))" "(let-values()" -"(let-values(((#%variable-reference418_0 id419_0)" +"(let-values(((#%variable-reference422_0 id423_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(let-values(((#%variable-reference420_0)" +"(let-values(((#%variable-reference424_0)" "(let-values(((s_3)(car s_2))) s_3))" -"((id421_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(((id422_0)" +"(let-values(((id426_0)" "(let-values(((s_5)(car s_4))) s_5))" "(()" "(let-values(((s_5)(cdr s_4)))" @@ -73640,11 +73812,11 @@ static const char *startup_source = "(syntax-e$1 s_5)" " s_5)))" "(values)))))" -"(values id422_0))))))" -"(values #%variable-reference420_0 id421_0)))))" -"(values #t #%variable-reference418_0 id419_0)))" +"(values id426_0))))))" +"(values #%variable-reference424_0 id425_0)))))" +"(values #t #%variable-reference422_0 id423_0)))" "(values #f #f #f)))))" -"(let-values(((ok?_1 #%variable-reference423_0 #%top424_0 id425_0)" +"(let-values(((ok?_1 #%variable-reference427_0 #%top428_0 id429_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)))" @@ -73674,31 +73846,31 @@ static const char *startup_source = " #f))" " #f)" "(let-values()" -"(let-values(((#%variable-reference423_0 #%top424_0 id425_0)" +"(let-values(((#%variable-reference427_0 #%top428_0 id429_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(let-values(((#%variable-reference426_0)" +"(let-values(((#%variable-reference430_0)" "(let-values(((s_3)(car s_2))) s_3))" -"((#%top427_0 id428_0)" +"((#%top431_0 id432_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(((#%top429_0 id430_0)" +"(let-values(((#%top433_0 id434_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(((#%top431_0)" +"(let-values(((#%top435_0)" "(let-values(((s_7)" "(car" " s_6)))" " s_7))" -"((id432_0)" +"((id436_0)" "(let-values(((s_7)" "(cdr" " s_6)))" " s_7)))" -"(values #%top431_0 id432_0)))))" +"(values #%top435_0 id436_0)))))" "(()" "(let-values(((s_5)(cdr s_4)))" "(let-values(((s_6)" @@ -73706,18 +73878,18 @@ static const char *startup_source = "(syntax-e$1 s_5)" " s_5)))" "(values)))))" -"(values #%top429_0 id430_0))))))" -"(values #%variable-reference426_0 #%top427_0 id428_0)))))" -"(values #t #%variable-reference423_0 #%top424_0 id425_0)))" +"(values #%top433_0 id434_0))))))" +"(values #%variable-reference430_0 #%top431_0 id432_0)))))" +"(values #t #%variable-reference427_0 #%top428_0 id429_0)))" "(values #f #f #f #f)))))" -"(let-values(((ok?_2 #%variable-reference433_0)" +"(let-values(((ok?_2 #%variable-reference437_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-reference433_0)" +"(let-values(((#%variable-reference437_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((#%variable-reference434_0)" +"(let-values(((#%variable-reference438_0)" "(let-values(((s_3)(car s_2))) s_3))" "(()" "(let-values(((s_3)(cdr s_2)))" @@ -73731,18 +73903,18 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values #%variable-reference434_0))" +"(values #%variable-reference438_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t #%variable-reference433_0)))" +"(values #t #%variable-reference437_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 id419_0 id425_0)))" +"(let-values(((var-id_0)(if ok?_0 id423_0 id429_0)))" "(let-values(((binding_0)" -"(let-values(((var-id435_0) var-id_0)" -"((temp436_0)(expand-context-phase ctx_0))" -"((temp437_0) 'ambiguous))" -"(resolve+shift.1 temp437_0 #f null unsafe-undefined #f var-id435_0 temp436_0))))" +"(let-values(((var-id439_0) var-id_0)" +"((temp440_0)(expand-context-phase ctx_0))" +"((temp441_0) 'ambiguous))" +"(resolve+shift.1 temp441_0 #f null unsafe-undefined #f var-id439_0 temp440_0))))" "(let-values((()" "(begin" "(if(eq? binding_0 'ambiguous)" @@ -73765,12 +73937,12 @@ static const char *startup_source = "(values))))" "(let-values(((t_0 primitive?_0 insp-of-t_0 protected?_0)" "(if binding_0" -"(let-values(((binding438_0) binding_0)" -"((ctx439_0) ctx_0)" -"((var-id440_0) var-id_0)" -"((s441_0) s_0)" -"((temp442_0)(expand-context-in-local-expand? ctx_0)))" -"(lookup.1 s441_0 temp442_0 binding438_0 ctx439_0 var-id440_0))" +"(let-values(((binding442_0) binding_0)" +"((ctx443_0) ctx_0)" +"((var-id444_0) var-id_0)" +"((s445_0) s_0)" +"((temp446_0)(expand-context-in-local-expand? ctx_0)))" +"(lookup.1 s445_0 temp446_0 binding442_0 ctx443_0 var-id444_0))" "(values #f #f #f #f))))" "(begin" "(if(if t_0(not(variable? t_0)) #f)" @@ -73802,19 +73974,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 #%expression443_0 e444_0)" +"(let-values(((ok?_0 #%expression447_0 e448_0)" "(let-values(((s_1) disarmed-s_0))" "(let-values(((orig-s_0) s_1))" -"(let-values(((#%expression443_0 e444_0)" +"(let-values(((#%expression447_0 e448_0)" "(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" "(if(pair? s_2)" -"(let-values(((#%expression445_0)(let-values(((s_3)(car s_2))) s_3))" -"((e446_0)" +"(let-values(((#%expression449_0)(let-values(((s_3)(car s_2))) s_3))" +"((e450_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(((e447_0)" +"(let-values(((e451_0)" "(let-values(((s_5)(car s_4))) s_5))" "(()" "(let-values(((s_5)(cdr s_4)))" @@ -73828,20 +74000,20 @@ static const char *startup_source = " #f" " \"bad syntax\"" " orig-s_0))))))" -"(values e447_0))" +"(values e451_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0))))))" -"(values #%expression445_0 e446_0))" +"(values #%expression449_0 e450_0))" " (raise-syntax-error$1 #f \"bad syntax\" orig-s_0)))))" -"(values #t #%expression443_0 e444_0))))))" +"(values #t #%expression447_0 e448_0))))))" "(let-values(((rebuild-s_0)" -"(let-values(((ctx448_0) ctx_0)((s449_0) s_0)((temp450_0) #t))" -"(keep-as-needed.1 temp450_0 #f #f ctx448_0 s449_0))))" +"(let-values(((ctx452_0) ctx_0)((s453_0) s_0)((temp454_0) #t))" +"(keep-as-needed.1 temp454_0 #f #f ctx452_0 s453_0))))" "(let-values(((exp-e_0)" -"(let-values(((temp451_0) e444_0)" -"((temp452_0)" -"(let-values(((temp453_0)(as-expression-context ctx_0))((ctx454_0) ctx_0))" -"(as-tail-context.1 ctx454_0 temp453_0))))" -"(expand.1 #f #f temp451_0 temp452_0))))" +"(let-values(((temp455_0) e448_0)" +"((temp456_0)" +"(let-values(((temp457_0)(as-expression-context ctx_0))((ctx458_0) ctx_0))" +"(as-tail-context.1 ctx458_0 temp457_0))))" +"(expand.1 #f #f temp455_0 temp456_0))))" "(if(expand-context-to-parsed? ctx_0)" " exp-e_0" "(if(let-values(((or-part_0)" @@ -73850,8 +74022,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-s455_0) rebuild-s_0)((temp456_0)(list #%expression443_0 exp-e_0)))" -"(rebuild.1 #t rebuild-s455_0 temp456_0)))" +"(let-values(((rebuild-s459_0) rebuild-s_0)((temp460_0)(list #%expression447_0 exp-e_0)))" +"(rebuild.1 #t rebuild-s459_0 temp460_0)))" "(let-values()" "(let-values(((result-s_0)(syntax-track-origin$1 exp-e_0 rebuild-s_0)))" "(begin" @@ -75878,7 +76050,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -76927,7 +77099,7 @@ static const char *startup_source = "(expand-context/inner-for-serializable? the-struct_1)" "(expand-context/inner-to-correlated-linklet? the-struct_1)" "(expand-context/inner-normalize-locals? the-struct_1)" -"(expand-context/inner-should-not-encounter-macros? the-struct_1)" +"(expand-context/inner-parsing-expanded? the-struct_1)" "(expand-context/inner-skip-visit-available? the-struct_1)))" " (raise-argument-error 'struct-copy \"expand-context/inner?\" the-struct_1)))))" "(expand-context/outer1.1" @@ -77295,7 +77467,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -77729,7 +77901,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -78000,7 +78172,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -78190,7 +78362,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -78437,7 +78609,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -78666,7 +78838,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -80461,7 +80633,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -82008,7 +82180,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -83067,7 +83239,7 @@ static const char *startup_source = " the-struct_1)" "(expand-context/inner-normalize-locals?" " the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" +"(expand-context/inner-parsing-expanded?" " the-struct_1)" "(expand-context/inner-skip-visit-available?" " the-struct_1)))" @@ -83942,8 +84114,7 @@ static const char *startup_source = "(expand-context/inner-for-serializable? the-struct_1)" "(expand-context/inner-to-correlated-linklet? the-struct_1)" "(expand-context/inner-normalize-locals? the-struct_1)" -"(expand-context/inner-should-not-encounter-macros?" -" the-struct_1)" +"(expand-context/inner-parsing-expanded? the-struct_1)" "(expand-context/inner-skip-visit-available? the-struct_1)))" "(raise-argument-error" " 'struct-copy"