diff --git a/pkgs/base/info.rkt b/pkgs/base/info.rkt index 9005fa47fa..3470f0e7b8 100644 --- a/pkgs/base/info.rkt +++ b/pkgs/base/info.rkt @@ -12,7 +12,7 @@ (define collection 'multi) -(define version "7.0.0.19") +(define version "7.0.0.20") (define deps `("racket-lib" ["racket" #:version ,version])) diff --git a/pkgs/racket-doc/scribblings/reference/reference.scrbl b/pkgs/racket-doc/scribblings/reference/reference.scrbl index b49975a047..1133b93020 100644 --- a/pkgs/racket-doc/scribblings/reference/reference.scrbl +++ b/pkgs/racket-doc/scribblings/reference/reference.scrbl @@ -46,7 +46,6 @@ language. racket/private/stx racket/private/map racket/private/list - racket/private/kw-syntax-local racket/private/base)]{ Unless otherwise noted, the bindings defined in this manual are @@ -120,16 +119,16 @@ The @racketmodname[racket] library combines #:location "International Conference on Functional Programming (ICFP)" #:date "2002") - (bib-entry #:key "Friedman95" - #:title "Exception system proposal" - #:author "Daniel P. Friedman, C. T. Haynes, and R. Kent Dybvig" + (bib-entry #:key "Friedman95" + #:title "Exception system proposal" + #:author "Daniel P. Friedman, C. T. Haynes, and R. Kent Dybvig" #:location "web page" #:url "http://www.cs.indiana.edu/scheme-repository/doc.proposals.exceptions.html" #:date "1995") - (bib-entry #:key "Gasbichler02" - #:title "Processes vs. User-Level Threads in Scsh" - #:author "Martin Gasbichler and Michael Sperber" + (bib-entry #:key "Gasbichler02" + #:title "Processes vs. User-Level Threads in Scsh" + #:author "Martin Gasbichler and Michael Sperber" #:date "2002" #:location "Workshop on Scheme and Functional Programming") @@ -144,13 +143,13 @@ The @racketmodname[racket] library combines #:title "Engines Build Process Abstractions" #:location "Symposium on LISP and Functional Programming" #:date "1984") - + (bib-entry #:key "Hayes97" #:author "Barry Hayes" #:title "Ephemerons: a New Finalization Mechanism" #:location "Object-Oriented Languages, Programming, Systems, and Applications" #:date "1997") - + (bib-entry #:key "Hieb90" #:author "Robert Hieb and R. Kent Dybvig" #:title "Continuations and Concurrency" @@ -187,10 +186,10 @@ The @racketmodname[racket] library combines #:location @italic{Lisp and Symbolic Computation} #:date "1990") - (bib-entry #:key "Sitaram93" - #:title "Handling Control" + (bib-entry #:key "Sitaram93" + #:title "Handling Control" #:author "Dorai Sitaram" - #:location "Programming Language Design and Implementation" + #:location "Programming Language Design and Implementation" #:date "1993") (bib-entry #:key "SRFI-42" diff --git a/pkgs/racket-doc/scribblings/reference/stx-trans.scrbl b/pkgs/racket-doc/scribblings/reference/stx-trans.scrbl index 7b38fe6b34..6b9816a03e 100644 --- a/pkgs/racket-doc/scribblings/reference/stx-trans.scrbl +++ b/pkgs/racket-doc/scribblings/reference/stx-trans.scrbl @@ -232,12 +232,11 @@ identifier, the @racket[exn:fail:contract] exception is raised. @defproc[(local-expand [stx any/c] [context-v (or/c 'expression 'top-level 'module 'module-begin list?)] - [stop-ids (or/c (listof identifier?) (cons/c 'only (listof identifier?)) #f)] + [stop-ids (or/c (listof identifier?) empty #f)] [intdef-ctx (or/c internal-definition-context? (listof internal-definition-context?) #f) - '()] - [#:extend-stop-ids? extend-stop-ids? any/c #t]) + '()]) syntax?]{ Expands @racket[stx] in the lexical context of the expression @@ -260,13 +259,13 @@ The @racket[stop-ids] argument controls how far @racket[local-expand] expands @r @racket[stop-ids] were an empty list, except that expansion does not recur to @tech{submodules} defined with @racket[module*] (which are left unexpanded in the result).} - @item{If @racket[stop-ids] is any other list, then expansion proceeds recursively until the expander - encounters any of the forms in @racket[stop-ids], and the result is the partially-expanded - form. If @racket[extend-stop-ids?] is not @racket[#f], then @racket[begin], @racket[quote], - @racket[set!], @racket[#%plain-lambda], @racket[case-lambda], @racket[let-values], - @racket[letrec-values], @racket[if], @racket[begin0], @racket[with-continuation-mark], - @racket[letrec-syntaxes+values], @racket[#%plain-app], @racket[#%expression], @racket[#%top], - and @racket[#%variable-reference] are implicitly added to @racket[stop-ids]. + @item{If @racket[stop-ids] is any other list, then @racket[begin], @racket[quote], @racket[set!], + @racket[#%plain-lambda], @racket[case-lambda], @racket[let-values], @racket[letrec-values], + @racket[if], @racket[begin0], @racket[with-continuation-mark], @racket[letrec-syntaxes+values], + @racket[#%plain-app], @racket[#%expression], @racket[#%top], and @racket[#%variable-reference] + are implicitly added to @racket[stop-ids]. Expansion proceeds recursively, stopping when the + expander encounters any of the forms in @racket[stop-ids], and the result is the + partially-expanded form. When the expander would normally implicitly introduce a @racketid[#%app], @racketid[#%datum], or @racketid[#%top] identifier as described in @secref["expand-steps"], it checks to see if an @@ -275,13 +274,9 @@ The @racket[stop-ids] argument controls how far @racket[local-expand] expands @r the bare application, literal data expression, or unbound identifier rather than one wrapped in the respective explicit form. - Note that forcing recursive expansion with an identifier in @racket[stop-ids] does not - necessarily guarantee uses of that identifier will not be expanded, since other transformers - may force @tech{partial expansion} by invoking @racket[local-expand] with a different value for - @racket[stop-ids]. For example, the @racket[#%plain-module-begin] transformer partially expands - its sub-forms regardless of identifiers’ presence in @racket[stop-ids]. As a special case, - @racket[#%plain-module-begin] refrains from expanding @racket[module*] sub-forms if - @racket[module*] is in @racket[stop-ids]. + When @racket[#%plain-module-begin] is not in @racket[stop-ids], the + @racket[#%plain-module-begin] transformer detects and expands sub-forms (such as + @racket[define-values]) regardless of the identifiers presence in @racket[stop-ids]. Expansion does not replace the scopes in a local-variable reference to match the binding identifier.} @@ -364,8 +359,7 @@ expansion history to external tools. an explicit wrapper.} #:changed "6.0.90.27" @elem{Loosened the contract on the @racket[intdef-ctx] argument to allow an empty list, which is treated the same way as - @racket[#f].} - #:changed "7.0.0.1" @elem{Added the @racket[#:extend-stop-ids?] argument.}]} + @racket[#f].}]} @defproc[(syntax-local-expand-expression [stx any/c] [opaque-only? any/c #f]) diff --git a/pkgs/racket-test-core/tests/racket/expobs-regression.rktd b/pkgs/racket-test-core/tests/racket/expobs-regression.rktd index 57dc6e58fe..2b5712144d 100644 --- a/pkgs/racket-test-core/tests/racket/expobs-regression.rktd +++ b/pkgs/racket-test-core/tests/racket/expobs-regression.rktd @@ -1,254 +1,234 @@ -#hash(((let () - (define-syntax (lift stx) - (syntax-local-lift-require 'racket/list #'foldl)) - (lift)) +#hash((__x + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 s1))) + (enter-check . #s(stx-boundary (s0 s1))) + (exit-check . #s(stx-boundary (s0 s1))) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-#%expression . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . s1))) + (enter-prim . #s(stx-boundary (s0 . s1))) + (prim-#%top . #f) + (exit-prim . #s(stx-boundary (s0 . s1))) + (return . #s(stx-boundary (s0 . s1))) + (exit-prim . #s(stx-boundary (s0 (s1 . s2)))) + (return . #s(stx-boundary (s0 (s1 . s2)))))) + ((#%stratified-body + (define (first z) z) + (define (ok x) (second x)) + (define (second y) 8) + (ok (first 5)) + (define more 'oops)) . ((start-top . #f) (visit . - #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 (s6 s7) (s8 s9))) (s3))))) + #s(stx-boundary + (s0 + (s1 + (s2 (s3 s4) s4) + (s2 (s5 s6) (s7 s6)) + (s2 (s7 s8) 8) + (s5 (s3 5)) + (s2 s9 (s10 s11)))))) (enter-check . - #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 (s6 s7) (s8 s9))) (s3))))) + #s(stx-boundary + (s0 + (s1 + (s2 (s3 s4) s4) + (s2 (s5 s6) (s7 s6)) + (s2 (s7 s8) 8) + (s5 (s3 5)) + (s2 s9 (s10 s11)))))) (exit-check . - #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 (s6 s7) (s8 s9))) (s3))))) + #s(stx-boundary + (s0 + (s1 + (s2 (s3 s4) s4) + (s2 (s5 s6) (s7 s6)) + (s2 (s7 s8) 8) + (s5 (s3 5)) + (s2 s9 (s10 s11)))))) (visit . - #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 (s6 s7) (s8 s9))) (s3))))) + #s(stx-boundary + (s0 + (s1 + (s2 (s3 s4) s4) + (s2 (s5 s6) (s7 s6)) + (s2 (s7 s8) 8) + (s5 (s3 5)) + (s2 s9 (s10 s11)))))) (resolve . #s(stx-boundary s0)) (enter-prim . - #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 (s6 s7) (s8 s9))) (s3))))) + #s(stx-boundary + (s0 + (s1 + (s2 (s3 s4) s4) + (s2 (s5 s6) (s7 s6)) + (s2 (s7 s8) 8) + (s5 (s3 5)) + (s2 s9 (s10 s11)))))) (prim-#%expression . #f) (visit . - #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (macro-pre-x - . - #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (macro-post-x - #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2))) - . - #s(stx-boundary (s9 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (exit-macro - . - #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (visit - . - #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + #s(stx-boundary + (s0 + (s1 (s2 s3) s3) + (s1 (s4 s5) (s6 s5)) + (s1 (s6 s7) 8) + (s4 (s2 5)) + (s1 s8 (s9 s10))))) (resolve . #s(stx-boundary s0)) (enter-prim . - #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (prim-let-values . #f) - (let-renames - () - . - #s(stx-boundary ((s0 (s1 s2) (s3 (s4 s5) (s6 s7))) (s1)))) - (next-group . #f) + #s(stx-boundary + (s0 + (s1 (s2 s3) s3) + (s1 (s4 s5) (s6 s5)) + (s1 (s6 s7) 8) + (s4 (s2 5)) + (s1 s8 (s9 s10))))) + (prim-#%stratified . #f) (enter-block . - #s(stx-boundary ((s0 (s1 s2) (s3 (s4 s5) (s6 s7))) (s1)))) + #s(stx-boundary + ((s0 (s1 s2) s2) + (s0 (s3 s4) (s5 s4)) + (s0 (s5 s6) 8) + (s3 (s1 5)) + (s0 s7 (s8 s9))))) (block-renames - #s(stx-boundary ((s0 (s1 s2) (s3 (s4 s5) (s6 s7))) (s1))) + #s(stx-boundary + ((s0 (s1 s2) s2) + (s0 (s3 s4) (s5 s4)) + (s0 (s5 s6) 8) + (s3 (s1 5)) + (s0 s7 (s8 s9)))) . - #s(stx-boundary ((s0 (s1 s2) (s3 (s4 s5) (s6 s7))) (s1)))) + #s(stx-boundary + ((s0 (s1 s2) s2) + (s0 (s3 s4) (s5 s4)) + (s0 (s5 s6) 8) + (s3 (s1 5)) + (s0 s7 (s8 s9))))) (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) + (enter-check . #s(stx-boundary (s0 (s1 s2) s2))) + (visit . #s(stx-boundary (s0 (s1 s2) s2))) (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) + (enter-macro . #s(stx-boundary (s0 (s1 s2) s2))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) s2))) (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) + #s(stx-boundary (s0 s1 (s2 (s3) s3))) . - #s(stx-boundary (s9 (s1 s3) (s4 (s5 s6) (s7 s8))))) - (exit-macro - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (exit-check - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (prim-define-syntaxes . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 (s4 s5) (s6 s7)))))) - (prepare-env . #f) - (enter-bind . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + #s(stx-boundary (s0 (s1 s3) s3))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (return . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) - (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6)))) + #s(stx-boundary (s0 (s1) (s2 (s3) s3))) . - #s(stx-boundary (s7 (s1) (s2 (s3 s4) (s5 s6))))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) - (prim-lambda . #f) - (lambda-renames - #s(stx-boundary (s0)) - . - #s(stx-boundary ((s1 (s2 s3) (s4 s5))))) - (enter-block . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) - (block-renames - #s(stx-boundary ((s0 (s1 s2) (s3 s4)))) - . - #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) + #s(stx-boundary (s4 s1 (s2 (s3) s3)))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (prim-define-values . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) s2)))) (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) - (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) - (block->list . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) - (enter-list . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) - (enter-macro . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) + (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) (macro-post-x - #s(stx-boundary (s0 s1 (s2 s3) (s4 s5))) + #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3)))) . - #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) - (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) + #s(stx-boundary (s0 (s1 s3) (s4 s3)))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) + (return . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-quote . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (next . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1))) - (macro-pre-x . #s(stx-boundary (s0 s1))) - (local-value . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (local-value-result . #f) - (local-value . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (local-value-result . #f) - (macro-post-x #s(stx-boundary (s0 s1)) . #s(stx-boundary (s2 s1))) - (exit-macro . #s(stx-boundary (s0 s1))) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-quote-syntax . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (exit-list . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) - (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) - (exit-list . #s(stx-boundary ((s0 s1 (s2 s3) (s4 s5))))) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s5) (s6 s7))))) - (return . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s5) (s6 s7))))) - (next . #f) - (exit-bind . #f) - (next . #f) - (enter-check . #s(stx-boundary (s0))) - (visit . #s(stx-boundary (s0))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0))) - (macro-pre-x . #s(stx-boundary (s0))) - (lift-require - #s(stx-boundary (s0 s1)) - #s(stx-boundary s2) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3)))) . - #s(stx-boundary s2)) - (macro-post-x #s(stx-boundary s0) . #s(stx-boundary (s1))) - (exit-macro . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-check . #s(stx-boundary s0)) + #s(stx-boundary (s5 s1 (s2 (s3) (s4 s3))))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) + (prim-define-values . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 s2))))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 s2) 8))) + (visit . #s(stx-boundary (s0 (s1 s2) 8))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2) 8))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) 8))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 (s3) 8))) + . + #s(stx-boundary (s0 (s1 s3) 8))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) 8)))) + (return . #s(stx-boundary (s0 s1 (s2 (s3) 8)))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3) 8)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) 8)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) 8)))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) 8))) + . + #s(stx-boundary (s4 s1 (s2 (s3) 8)))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) 8)))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) 8)))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) 8)))) + (prim-define-values . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) 8)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 5)))) + (exit-check . #s(stx-boundary (s0 (s1 5)))) (block->letrec - #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) () s8))) + #s(stx-boundary + (s0 + (((s1) (s2 (s3) s3)) ((s4) (s2 (s5) (s6 s5))) ((s6) (s2 (s7) 8))) + (s8 (s4 (s1 5)) (s9 s10 (s11 s12)))))) (visit . - #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) () s8))) + #s(stx-boundary + (s0 + (((s1) (s2 (s3) s3)) ((s4) (s2 (s5) (s6 s5))) ((s6) (s2 (s7) 8))) + (s8 (s4 (s1 5)) (s9 s10 (s11 s12)))))) (resolve . #s(stx-boundary s0)) (enter-prim . - #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) () s8))) - (prim-letrec-syntaxes+values . #f) - (letrec-syntaxes-renames - (#s(stx-boundary ((s0) (s1 (s2) (s3 (s4 s5) (s6 s7)))))) - () + #s(stx-boundary + (s0 + (((s1) (s2 (s3) s3)) ((s4) (s2 (s5) (s6 s5))) ((s6) (s2 (s7) 8))) + (s8 (s4 (s1 5)) (s9 s10 (s11 s12)))))) + (prim-letrec-values . #f) + (let-renames + (#s(stx-boundary ((s0) (s1 (s2) s2))) + #s(stx-boundary ((s3) (s1 (s4) (s5 s4)))) + #s(stx-boundary ((s5) (s1 (s6) 8)))) . - #s(stx-boundary (s7))) - (prepare-env . #f) - (next-group . #f) - (enter-list . #s(stx-boundary (s0))) + #s(stx-boundary ((s7 (s3 (s0 5)) (s8 s9 (s10 s11)))))) (next . #f) - (visit . #s(stx-boundary s0)) + (visit . #s(stx-boundary (s0 (s1) s1))) (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0))) - (tag . #s(stx-boundary (s0 () s1))) - (exit-prim . #s(stx-boundary (s0 () s1))) - (return . #s(stx-boundary (s0 () s1))) - (exit-prim . #s(stx-boundary (s0 () (s0 () s1)))) - (return . #s(stx-boundary (s0 () (s0 () s1)))) - (exit-prim . #s(stx-boundary (s0 (s1 () (s1 () s2))))) - (return . #s(stx-boundary (s0 (s1 () (s1 () s2))))) - (lift-loop . #s(stx-boundary (s0 (s1 s2) (s3 (s4 () (s4 () s5)))))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 () (s4 () s5)))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2) (s3 (s4 () (s4 () s5)))))) - (prim-begin . #f) - (enter-list . #s(stx-boundary ((s0 s1) (s2 (s3 () (s3 () s4)))))) - (next . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-require . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 () (s1 () s2))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 () (s1 () s2))))) - (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 () (s0 () s1)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 () (s0 () s1)))) - (prim-let-values . #f) - (let-renames () . #s(stx-boundary ((s0 () s1)))) - (next-group . #f) - (enter-block . #s(stx-boundary ((s0 () s1)))) - (block-renames - #s(stx-boundary ((s0 () s1))) - . - #s(stx-boundary ((s0 () s1)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 () s1))) - (exit-check . #s(stx-boundary (s0 () s1))) - (block->list . #s(stx-boundary ((s0 () s1)))) - (enter-list . #s(stx-boundary ((s0 () s1)))) - (next . #f) - (visit . #s(stx-boundary (s0 () s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 () s1))) - (prim-let-values . #f) - (let-renames () . #s(stx-boundary (s0))) - (next-group . #f) + (enter-prim . #s(stx-boundary (s0 (s1) s1))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) (enter-block . #s(stx-boundary (s0))) (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) (next . #f) @@ -262,336 +242,21 @@ (variable #s(stx-boundary s0) . #s(stx-boundary s0)) (return . #s(stx-boundary s0)) (exit-list . #s(stx-boundary (s0))) - (exit-prim . #s(stx-boundary (s0 () s1))) - (return . #s(stx-boundary (s0 () s1))) - (exit-list . #s(stx-boundary ((s0 () s1)))) - (exit-prim . #s(stx-boundary (s0 () (s0 () s1)))) - (return . #s(stx-boundary (s0 () (s0 () s1)))) - (exit-prim . #s(stx-boundary (s0 (s1 () (s1 () s2))))) - (return . #s(stx-boundary (s0 (s1 () (s1 () s2))))) - (exit-list . #s(stx-boundary ((s0 s1) (s2 (s3 () (s3 () s4)))))) - (exit-prim . #s(stx-boundary (s0 (s1 s2) (s3 (s4 () (s4 () s5)))))) - (return . #s(stx-boundary (s0 (s1 s2) (s3 (s4 () (s4 () s5)))))))) - ('quoted - . - ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 s2)))) - (enter-check . #s(stx-boundary (s0 (s1 s2)))) - (exit-check . #s(stx-boundary (s0 (s1 s2)))) - (visit . #s(stx-boundary (s0 (s1 s2)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2)))) - (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-quote . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (exit-prim . #s(stx-boundary (s0 (s1 s2)))) - (return . #s(stx-boundary (s0 (s1 s2)))))) - ((let () - (define-syntax (ok stx) - (local-expand (cadr (syntax-e stx)) 'expression #f)) - (ok 9)) - . - ((start-top . #f) - (visit - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 (s6 (s7 s4)) (s8 s9) #f)) (s3 9))))) - (enter-check - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 (s6 (s7 s4)) (s8 s9) #f)) (s3 9))))) - (exit-check - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 (s6 (s7 s4)) (s8 s9) #f)) (s3 9))))) - (visit - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 (s6 (s7 s4)) (s8 s9) #f)) (s3 9))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 (s6 (s7 s4)) (s8 s9) #f)) (s3 9))))) - (prim-#%expression . #f) - (visit - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) - (macro-pre-x - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) - (macro-post-x - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9))) - . - #s(stx-boundary - (s9 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) - (exit-macro - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) - (visit - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) - (prim-let-values . #f) - (let-renames - () - . - #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)) (s1 9)))) - (next-group . #f) - (enter-block - . - #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)) (s1 9)))) - (block-renames - #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)) (s1 9))) - . - #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)) (s1 9)))) + (exit-prim . #s(stx-boundary (s0 (s1) s1))) + (return . #s(stx-boundary (s0 (s1) s1))) (next . #f) - (enter-check - . - #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)))) + (visit . #s(stx-boundary (s0 (s1) (s2 s1)))) (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)))) - (macro-pre-x - . - #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f)))) - . - #s(stx-boundary (s9 (s1 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)))) - (exit-macro - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f))))) - (return - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f))))) - (exit-check - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f))))) - (prim-define-syntaxes . #f) - (rename-one - . - #s(stx-boundary ((s0) (s1 (s2) (s3 (s4 (s5 s2)) (s6 s7) #f))))) - (prepare-env . #f) - (enter-bind . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) - (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f))) - . - #s(stx-boundary (s7 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 s1)))) (prim-lambda . #f) - (lambda-renames - #s(stx-boundary (s0)) - . - #s(stx-boundary ((s1 (s2 (s3 s0)) (s4 s5) #f)))) - (enter-block . #s(stx-boundary ((s0 (s1 (s2 s3)) (s4 s5) #f)))) - (block-renames - #s(stx-boundary ((s0 (s1 (s2 s3)) (s4 s5) #f))) - . - #s(stx-boundary ((s0 (s1 (s2 s3)) (s4 s5) #f)))) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 s0)))) + (enter-block . #s(stx-boundary ((s0 s1)))) + (block-renames #s(stx-boundary ((s0 s1))) . #s(stx-boundary ((s0 s1)))) (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 (s2 s3)) (s4 s5) #f))) - (visit . #s(stx-boundary (s0 (s1 (s2 s3)) (s4 s5) #f))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 (s2 s3)) (s4 s5) #f))) - (macro-pre-x . #s(stx-boundary (s0 (s1 (s2 s3)) (s4 s5) #f))) - (macro-post-x - #s(stx-boundary - (s0 - ((s1 (s2 (s3 s4))) (s5 (s6 s7)) (s8 #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8)))) - . - #s(stx-boundary (s15 (s2 (s3 s4)) (s6 s7) #f))) - (exit-macro - . - #s(stx-boundary - (s0 - ((s1 (s2 (s3 s4))) (s5 (s6 s7)) (s8 #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8))))) - (return - . - #s(stx-boundary - (s0 - ((s1 (s2 (s3 s4))) (s5 (s6 s7)) (s8 #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8))))) - (visit - . - #s(stx-boundary - (s0 - ((s1 (s2 (s3 s4))) (s5 (s6 s7)) (s8 #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8))))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary - (s0 - ((s1 (s2 (s3 s4))) (s5 (s6 s7)) (s8 #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8))))) - (macro-pre-x - . - #s(stx-boundary - (s0 - ((s1 (s2 (s3 s4))) (s5 (s6 s7)) (s8 #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8))))) - (macro-post-x - #s(stx-boundary - (s0 - (((s1) (s2 (s3 s4))) ((s5) (s6 s7)) ((s8) #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8)))) - . - #s(stx-boundary - (s15 - ((s1 (s2 (s3 s4))) (s5 (s6 s7)) (s8 #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8))))) - (exit-macro - . - #s(stx-boundary - (s0 - (((s1) (s2 (s3 s4))) ((s5) (s6 s7)) ((s8) #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8))))) - (return - . - #s(stx-boundary - (s0 - (((s1) (s2 (s3 s4))) ((s5) (s6 s7)) ((s8) #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8))))) - (exit-check - . - #s(stx-boundary - (s0 - (((s1) (s2 (s3 s4))) ((s5) (s6 s7)) ((s8) #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8))))) - (block->list - . - #s(stx-boundary - ((s0 - (((s1) (s2 (s3 s4))) ((s5) (s6 s7)) ((s8) #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8)))))) - (enter-list - . - #s(stx-boundary - ((s0 - (((s1) (s2 (s3 s4))) ((s5) (s6 s7)) ((s8) #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8)))))) - (next . #f) - (visit - . - #s(stx-boundary - (s0 - (((s1) (s2 (s3 s4))) ((s5) (s6 s7)) ((s8) #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 - (((s1) (s2 (s3 s4))) ((s5) (s6 s7)) ((s8) #f)) - (s9 - (s10 (s11 s12)) - (s13 #t s1 s5 s8 (s6 ())) - (s14 s12 s1 s5 s8))))) - (prim-let-values . #f) - (let-renames - (#s(stx-boundary ((s0) (s1 (s2 s3)))) - #s(stx-boundary ((s4) (s5 s6))) - #s(stx-boundary ((s7) #f))) - . - #s(stx-boundary - ((s8 - (s9 (s10 s11)) - (s12 #t s0 s4 s7 (s5 ())) - (s13 s11 s0 s4 s7))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 s2)))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 (s2 s3)))) - (enter-macro . #s(stx-boundary (s0 s1 (s2 s3)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3)))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 s3))) - . - #s(stx-boundary (s0 s1 (s2 s3)))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 s3)))) - (visit . #s(stx-boundary (s0 s1 (s2 s3)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3)))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 (s1 s2)))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) + (enter-check . #s(stx-boundary (s0 s1))) + (exit-check . #s(stx-boundary (s0 s1))) + (block->list . #s(stx-boundary ((s0 s1)))) + (enter-list . #s(stx-boundary ((s0 s1)))) (next . #f) (visit . #s(stx-boundary (s0 s1))) (resolve . #s(stx-boundary s0)) @@ -622,16 +287,361 @@ (exit-list . #s(stx-boundary (s0 s1))) (exit-prim . #s(stx-boundary (s0 s1 s2))) (return . #s(stx-boundary (s0 s1 s2))) - (exit-list . #s(stx-boundary (s0 (s1 s2 s3)))) - (exit-prim . #s(stx-boundary (s0 s1 (s0 s2 s3)))) - (return . #s(stx-boundary (s0 s1 (s0 s2 s3)))) + (exit-list . #s(stx-boundary ((s0 s1 s2)))) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 s3 s1)))) + (return . #s(stx-boundary (s0 (s1) (s2 s3 s1)))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1) 8))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) 8))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (8))) + (enter-block . #s(stx-boundary (8))) + (block-renames #s(stx-boundary (8)) . #s(stx-boundary (8))) + (next . #f) + (enter-check . #s(stx-boundary 8)) + (exit-check . #s(stx-boundary 8)) + (block->list . #s(stx-boundary (8))) + (enter-list . #s(stx-boundary (8))) + (next . #f) + (visit . #s(stx-boundary 8)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 8))) + (enter-prim . #s(stx-boundary (s0 . 8))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 8))) + (return . #s(stx-boundary (s0 8))) + (exit-list . #s(stx-boundary ((s0 8)))) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 8)))) + (return . #s(stx-boundary (s0 (s1) (s2 8)))) + (next-group . #f) + (enter-list . #s(stx-boundary ((s0 (s1 (s2 5)) (s3 s4 (s5 s6)))))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 (s2 5)) (s3 s4 (s5 s6))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 (s2 5)) (s3 s4 (s5 s6))))) + (prim-#%stratified . #f) + (enter-block . #s(stx-boundary ((s0 (s1 5)) (s2 s3 (s4 s5))))) + (block-renames + #s(stx-boundary ((s0 (s1 5)) (s2 s3 (s4 s5)))) + . + #s(stx-boundary ((s0 (s1 5)) (s2 s3 (s4 s5))))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 5)))) + (exit-check . #s(stx-boundary (s0 (s1 5)))) + (block->list . #s(stx-boundary ((s0 (s1 5)) (s2 s3 (s4 s5))))) + (enter-list . #s(stx-boundary ((s0 (s1 5)) (s2 s3 (s4 s5))))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 5)))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 (s2 5)))) + (enter-macro . #s(stx-boundary (s0 s1 (s2 5)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 5)))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 5))) + . + #s(stx-boundary (s0 s1 (s2 5)))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 5)))) + (visit . #s(stx-boundary (s0 s1 (s2 5)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 5)))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 (s1 5)))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary (s0 5))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 5))) + (enter-macro . #s(stx-boundary (s0 s1 5))) + (macro-pre-x . #s(stx-boundary (s0 s1 5))) + (macro-post-x #s(stx-boundary (s0 s1 5)) . #s(stx-boundary (s0 s1 5))) + (exit-macro . #s(stx-boundary (s0 s1 5))) + (visit . #s(stx-boundary (s0 s1 5))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 5))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 5))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary 5)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 5))) + (enter-prim . #s(stx-boundary (s0 . 5))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 5))) + (return . #s(stx-boundary (s0 5))) + (exit-list . #s(stx-boundary (s0 (s1 5)))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 5)))) + (return . #s(stx-boundary (s0 s1 (s2 5)))) + (exit-list . #s(stx-boundary (s0 (s1 s2 (s3 5))))) + (exit-prim . #s(stx-boundary (s0 s1 (s0 s2 (s3 5))))) + (return . #s(stx-boundary (s0 s1 (s0 s2 (s3 5))))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 s3)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3)))))) + ((quote-syntax (stx-quoted)) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 (s1 (s2))))) + (enter-check . #s(stx-boundary (s0 (s1 (s2))))) + (exit-check . #s(stx-boundary (s0 (s1 (s2))))) + (visit . #s(stx-boundary (s0 (s1 (s2))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 (s2))))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 (s1)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1)))) + (prim-quote-syntax . #f) + (exit-prim . #s(stx-boundary (s0 (s1)))) + (return . #s(stx-boundary (s0 (s1)))) + (exit-prim . #s(stx-boundary (s0 (s1 (s2))))) + (return . #s(stx-boundary (s0 (s1 (s2))))))) + ((module m racket/base + (define-syntax (ok stx) + (syntax-local-lift-require 'racket/list #'foldl)) + (ok)) + . + ((start-top . #f) + (visit + . + #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 (s7 s8) (s9 s10))) (s4)))) + (enter-check + . + #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 (s7 s8) (s9 s10))) (s4)))) + (exit-check + . + #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 (s7 s8) (s9 s10))) (s4)))) + (visit + . + #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 (s7 s8) (s9 s10))) (s4)))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 (s7 s8) (s9 s10))) (s4)))) + (prim-module . #f) + (prepare-env . #f) + (tag . #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (rename-one + . + #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (enter-check + . + #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (visit . #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (macro-pre-x + . + #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (macro-post-x + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) + (s9))) + . + #s(stx-boundary (s15 (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) (s9)))) + (exit-macro + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) + (s9)))) + (return + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) + (s9)))) + (visit + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) + (s9)))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) + (s9)))) + (macro-pre-x + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) + (s9)))) + (macro-post-x + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) + (s1 s2 (s11)))) + . + #s(stx-boundary + (s17 + (s3 s4 (s5 s6) (s7 s8) (s9 #f)) + (s10 (s11 s12) (s13 (s5 s14) (s15 s16))) + (s11)))) + (exit-macro + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) + (s1 s2 (s11))))) + (return + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) + (s1 s2 (s11))))) + (exit-check + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) + (s1 s2 (s11))))) + (visit + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) + (s1 s2 (s11))))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) + (s1 s2 (s11))))) + (prim-module-begin . #f) + (rename-one + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) + (s1 s2 (s11))))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (macro-pre-x + . + #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (enter-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (local-pre . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (start . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (local-post . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (exit-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (macro-post-x + #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)))) + . + #s(stx-boundary (s8 s9 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (exit-macro . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (visit . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (return . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (rename-one . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (splice + #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f))) + #s(stx-boundary (s7 s8 (s9 (s10 s11) (s12 (s2 s13) (s14 s15))))) + #s(stx-boundary (s7 s8 (s10)))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (rename-one . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-submodule . #f) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-module . #f) + (prepare-env . #f) + (tag . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (prim-module-begin . #f) + (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) (next . #f) (visit . #s(stx-boundary (s0 s1))) (resolve . #s(stx-boundary s0)) (enter-prim . #s(stx-boundary (s0 s1))) - (prim-quote . #f) + (prim-stop . #f) (exit-prim . #s(stx-boundary (s0 s1))) (return . #s(stx-boundary (s0 s1))) + (rename-one . #s(stx-boundary (s0 s1))) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-require . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (next . #f) + (visit . #s(stx-boundary (s0 #f))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 #f))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 #f))) + (return . #s(stx-boundary (s0 #f))) + (rename-one . #s(stx-boundary (s0 #f))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) + (next . #f) + (visit . #s(stx-boundary (s0 #f))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 #f))) + (enter-prim . #s(stx-boundary (s0 s1 #f))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 #f))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) (next . #f) (visit . #s(stx-boundary #f)) (resolve . #s(stx-boundary s0)) @@ -640,805 +650,874 @@ (prim-#%datum . #f) (exit-prim . #s(stx-boundary (s0 #f))) (return . #s(stx-boundary (s0 #f))) + (exit-list . #s(stx-boundary (s0 (s1 #f)))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 #f)))) + (module-lift-end-loop) (next-group . #f) - (enter-block - . - #s(stx-boundary - ((s0 (s1 (s2 s3)) (s4 #t s5 s6 s7 (s8 ())) (s9 s3 s5 s6 s7))))) - (block-renames - #s(stx-boundary - ((s0 (s1 (s2 s3)) (s4 #t s5 s6 s7 (s8 ())) (s9 s3 s5 s6 s7)))) - . - #s(stx-boundary - ((s0 (s1 (s2 s3)) (s4 #t s5 s6 s7 (s8 ())) (s9 s3 s5 s6 s7))))) (next . #f) - (enter-check + (exit-prim . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) + (return . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) + (rename-one . - #s(stx-boundary - (s0 (s1 (s2 s3)) (s4 #t s5 s6 s7 (s8 ())) (s9 s3 s5 s6 s7)))) - (exit-check + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) + (exit-prim . - #s(stx-boundary - (s0 (s1 (s2 s3)) (s4 #t s5 s6 s7 (s8 ())) (s9 s3 s5 s6 s7)))) - (block->list + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) + (exit-prim . - #s(stx-boundary - ((s0 (s1 (s2 s3)) (s4 #t s5 s6 s7 (s8 ())) (s9 s3 s5 s6 s7))))) - (enter-list - . - #s(stx-boundary - ((s0 (s1 (s2 s3)) (s4 #t s5 s6 s7 (s8 ())) (s9 s3 s5 s6 s7))))) + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) (next . #f) - (visit + (visit . #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 (s6 s7) (s8 s9)))))) + (resolve . #s(stx-boundary s0)) + (enter-macro . - #s(stx-boundary - (s0 (s1 (s2 s3)) (s4 #t s5 s6 s7 (s8 ())) (s9 s3 s5 s6 s7)))) + #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 (s6 s7) (s8 s9)))))) + (macro-pre-x + . + #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 (s6 s7) (s8 s9)))))) + (enter-local . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) + (local-pre . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) + (start . #f) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) + . + #s(stx-boundary (s9 (s1 s3) (s4 (s5 s6) (s7 s8))))) + (exit-macro + . + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) (resolve . #s(stx-boundary s0)) (enter-prim . - #s(stx-boundary - (s0 (s1 (s2 s3)) (s4 #t s5 s6 s7 (s8 ())) (s9 s3 s5 s6 s7)))) - (prim-if . #f) - (visit . #s(stx-boundary (s0 (s1 s2)))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 (s2 s3)))) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3)))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 (s1 s2)))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-#%variable-reference . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (exit-list . #s(stx-boundary (s0 (s1 s2)))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 s3)))) - (return . #s(stx-boundary (s0 s1 (s2 s3)))) - (next . #f) - (visit . #s(stx-boundary (s0 #t s1 s2 s3 (s4 ())))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 #t s2 s3 s4 (s5 ())))) - (enter-prim . #s(stx-boundary (s0 s1 #t s2 s3 s4 (s5 ())))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 #t s1 s2 s3 (s4 ())))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary #t)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . #t))) - (enter-prim . #s(stx-boundary (s0 . #t))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 #t))) - (return . #s(stx-boundary (s0 #t))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary (s0 ()))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 ()))) - (prim-quote . #f) - (exit-prim . #s(stx-boundary (s0 ()))) - (return . #s(stx-boundary (s0 ()))) - (exit-list . #s(stx-boundary (s0 (s1 #t) s2 s3 s4 (s1 ())))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 #t) s3 s4 s5 (s2 ())))) - (return . #s(stx-boundary (s0 s1 (s2 #t) s3 s4 s5 (s2 ())))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 s2 s3 s4))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 s2 s3 s4))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 s1 s2 s3))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0 s1 s2 s3))) - (exit-prim . #s(stx-boundary (s0 s1 s2 s3 s4))) - (return . #s(stx-boundary (s0 s1 s2 s3 s4))) - (exit-prim + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (local-post . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4)) - (s1 s5 (s6 #t) s7 s8 s9 (s6 ())) - (s1 s4 s7 s8 s9)))) - (return + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (exit-local . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4)) - (s1 s5 (s6 #t) s7 s8 s9 (s6 ())) - (s1 s4 s7 s8 s9)))) - (exit-list + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (macro-post-x + #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9)))))) . - #s(stx-boundary - ((s0 - (s1 s2 (s3 s4)) - (s1 s5 (s6 #t) s7 s8 s9 (s6 ())) - (s1 s4 s7 s8 s9))))) - (exit-prim + #s(stx-boundary (s10 s11 (s12 (s2 s4) (s5 (s6 s7) (s8 s9)))))) + (exit-macro . - #s(stx-boundary - (s0 - (((s1) (s2 s3 (s2 s4 s5))) ((s6) (s7 s8)) ((s9) (s7 #f))) - (s10 - (s2 s11 (s12 s13)) - (s2 s14 (s7 #t) s1 s6 s9 (s7 ())) - (s2 s13 s1 s6 s9))))) - (return - . - #s(stx-boundary - (s0 - (((s1) (s2 s3 (s2 s4 s5))) ((s6) (s7 s8)) ((s9) (s7 #f))) - (s10 - (s2 s11 (s12 s13)) - (s2 s14 (s7 #t) s1 s6 s9 (s7 ())) - (s2 s13 s1 s6 s9))))) - (exit-list - . - #s(stx-boundary - ((s0 - (((s1) (s2 s3 (s2 s4 s5))) ((s6) (s7 s8)) ((s9) (s7 #f))) - (s10 - (s2 s11 (s12 s13)) - (s2 s14 (s7 #t) s1 s6 s9 (s7 ())) - (s2 s13 s1 s6 s9)))))) - (exit-prim - . - #s(stx-boundary - (s0 - (s1) - (s2 - (((s3) (s4 s5 (s4 s6 s1))) ((s7) (s8 s9)) ((s10) (s8 #f))) - (s11 - (s4 s12 (s13 s14)) - (s4 s15 (s8 #t) s3 s7 s10 (s8 ())) - (s4 s14 s3 s7 s10)))))) - (return - . - #s(stx-boundary - (s0 - (s1) - (s2 - (((s3) (s4 s5 (s4 s6 s1))) ((s7) (s8 s9)) ((s10) (s8 #f))) - (s11 - (s4 s12 (s13 s14)) - (s4 s15 (s8 #t) s3 s7 s10 (s8 ())) - (s4 s14 s3 s7 s10)))))) - (next . #f) - (exit-bind . #f) - (next . #f) - (enter-check . #s(stx-boundary (s0 9))) - (visit . #s(stx-boundary (s0 9))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 9))) - (macro-pre-x . #s(stx-boundary (s0 9))) - (enter-local . #s(stx-boundary 9)) - (local-pre . #s(stx-boundary 9)) - (enter-check . #s(stx-boundary 9)) - (exit-check . #s(stx-boundary 9)) - (local-post . #s(stx-boundary 9)) - (exit-local . #s(stx-boundary 9)) - (macro-post-x #s(stx-boundary 9) . #s(stx-boundary (s0 9))) - (exit-macro . #s(stx-boundary 9)) - (return . #s(stx-boundary 9)) - (exit-check . #s(stx-boundary 9)) - (block->letrec - #s(stx-boundary - (s0 (((s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f)))) () 9))) + #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) (visit . - #s(stx-boundary - (s0 (((s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f)))) () 9))) + #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) (resolve . #s(stx-boundary s0)) (enter-prim . - #s(stx-boundary - (s0 (((s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f)))) () 9))) - (prim-letrec-syntaxes+values . #f) - (letrec-syntaxes-renames - (#s(stx-boundary ((s0) (s1 (s2) (s3 (s4 (s5 s2)) (s6 s7) #f))))) - () + #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) + (prim-stop . #f) + (exit-prim . - #s(stx-boundary (9))) + #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) + (return + . + #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) + (rename-one + . + #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) + (splice + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) + #s(stx-boundary (s9 s10 (s1)))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (rename-one + . + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (enter-prim + . + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (prim-define-syntaxes . #f) (prepare-env . #f) - (next-group . #f) - (enter-list . #s(stx-boundary (9))) - (next . #f) - (visit . #s(stx-boundary 9)) + (phase-up . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 9))) - (enter-prim . #s(stx-boundary (s0 . 9))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 9))) - (return . #s(stx-boundary (s0 9))) - (exit-list . #s(stx-boundary ((s0 9)))) - (tag . #s(stx-boundary (s0 () (s1 9)))) - (exit-prim . #s(stx-boundary (s0 () (s1 9)))) - (return . #s(stx-boundary (s0 () (s1 9)))) - (exit-prim . #s(stx-boundary (s0 () (s0 () (s1 9))))) - (return . #s(stx-boundary (s0 () (s0 () (s1 9))))) - (exit-prim . #s(stx-boundary (s0 (s1 () (s1 () (s2 9)))))) - (return . #s(stx-boundary (s0 (s1 () (s1 () (s2 9)))))))) - ((let () - (define-syntax (ok stx) (quote-syntax 8)) - (define-syntax (second stx) (quote-syntax (ok 6))) - (define (ident x) x) - (define (second-ident y) y) - (ident (second-ident (second)))) + (enter-macro . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6)))) + . + #s(stx-boundary (s7 (s1) (s2 (s3 s4) (s5 s6))))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (prim-lambda . #f) + (lambda-renames + #s(stx-boundary (s0)) + . + #s(stx-boundary ((s1 (s2 s3) (s4 s5))))) + (enter-block . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) + (block-renames + #s(stx-boundary ((s0 (s1 s2) (s3 s4)))) + . + #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) + (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) + (block->list . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) + (enter-list . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)))) + ((module m racket/base (define (proc x) x) (provide proc)) . ((start-top . #f) - (visit - . - #s(stx-boundary - (s0 - (s1 - () - (s2 (s3 s4) (s5 8)) - (s2 (s6 s4) (s5 (s3 6))) - (s7 (s8 s9) s9) - (s7 (s10 s11) s11) - (s8 (s10 (s6))))))) - (enter-check - . - #s(stx-boundary - (s0 - (s1 - () - (s2 (s3 s4) (s5 8)) - (s2 (s6 s4) (s5 (s3 6))) - (s7 (s8 s9) s9) - (s7 (s10 s11) s11) - (s8 (s10 (s6))))))) - (exit-check - . - #s(stx-boundary - (s0 - (s1 - () - (s2 (s3 s4) (s5 8)) - (s2 (s6 s4) (s5 (s3 6))) - (s7 (s8 s9) s9) - (s7 (s10 s11) s11) - (s8 (s10 (s6))))))) - (visit - . - #s(stx-boundary - (s0 - (s1 - () - (s2 (s3 s4) (s5 8)) - (s2 (s6 s4) (s5 (s3 6))) - (s7 (s8 s9) s9) - (s7 (s10 s11) s11) - (s8 (s10 (s6))))))) + (visit . #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) s5) (s6 s4)))) + (enter-check . #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) s5) (s6 s4)))) + (exit-check . #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) s5) (s6 s4)))) + (visit . #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) s5) (s6 s4)))) (resolve . #s(stx-boundary s0)) - (enter-prim + (enter-prim . #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) s5) (s6 s4)))) + (prim-module . #f) + (prepare-env . #f) + (tag . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) + (rename-one . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) + (enter-check . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) + (visit . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) + (macro-pre-x . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) + (macro-post-x + #s(stx-boundary + (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9))) + . + #s(stx-boundary (s12 (s8 (s9 s10) s10) (s11 s9)))) + (exit-macro . #s(stx-boundary - (s0 - (s1 - () - (s2 (s3 s4) (s5 8)) - (s2 (s6 s4) (s5 (s3 6))) - (s7 (s8 s9) s9) - (s7 (s10 s11) s11) - (s8 (s10 (s6))))))) - (prim-#%expression . #f) + (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9)))) + (return + . + #s(stx-boundary + (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9)))) (visit . #s(stx-boundary - (s0 - () - (s1 (s2 s3) (s4 8)) - (s1 (s5 s3) (s4 (s2 6))) - (s6 (s7 s8) s8) - (s6 (s9 s10) s10) - (s7 (s9 (s5)))))) + (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9)))) (resolve . #s(stx-boundary s0)) (enter-macro . #s(stx-boundary - (s0 - () - (s1 (s2 s3) (s4 8)) - (s1 (s5 s3) (s4 (s2 6))) - (s6 (s7 s8) s8) - (s6 (s9 s10) s10) - (s7 (s9 (s5)))))) + (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9)))) (macro-pre-x . #s(stx-boundary - (s0 - () - (s1 (s2 s3) (s4 8)) - (s1 (s5 s3) (s4 (s2 6))) - (s6 (s7 s8) s8) - (s6 (s9 s10) s10) - (s7 (s9 (s5)))))) + (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9)))) (macro-post-x #s(stx-boundary (s0 - () - (s1 (s2 s3) (s4 8)) - (s1 (s5 s3) (s4 (s2 6))) - (s6 (s7 s8) s8) - (s6 (s9 s10) s10) - (s7 (s9 (s5))))) + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) s12)) + (s1 s2 (s13 s11)))) . #s(stx-boundary - (s11 - () - (s1 (s2 s3) (s4 8)) - (s1 (s5 s3) (s4 (s2 6))) - (s6 (s7 s8) s8) - (s6 (s9 s10) s10) - (s7 (s9 (s5)))))) + (s14 + (s3 s4 (s5 s6) (s7 s8) (s9 #f)) + (s10 (s11 s12) s12) + (s13 s11)))) (exit-macro . #s(stx-boundary (s0 - () - (s1 (s2 s3) (s4 8)) - (s1 (s5 s3) (s4 (s2 6))) - (s6 (s7 s8) s8) - (s6 (s9 s10) s10) - (s7 (s9 (s5)))))) + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) s12)) + (s1 s2 (s13 s11))))) + (return + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) s12)) + (s1 s2 (s13 s11))))) + (exit-check + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) s12)) + (s1 s2 (s13 s11))))) (visit . #s(stx-boundary (s0 - () - (s1 (s2 s3) (s4 8)) - (s1 (s5 s3) (s4 (s2 6))) - (s6 (s7 s8) s8) - (s6 (s9 s10) s10) - (s7 (s9 (s5)))))) + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) s12)) + (s1 s2 (s13 s11))))) (resolve . #s(stx-boundary s0)) (enter-prim . #s(stx-boundary (s0 - () - (s1 (s2 s3) (s4 8)) - (s1 (s5 s3) (s4 (s2 6))) - (s6 (s7 s8) s8) - (s6 (s9 s10) s10) - (s7 (s9 (s5)))))) - (prim-let-values . #f) - (let-renames - () - . - #s(stx-boundary - ((s0 (s1 s2) (s3 8)) - (s0 (s4 s2) (s3 (s1 6))) - (s5 (s6 s7) s7) - (s5 (s8 s9) s9) - (s6 (s8 (s4)))))) - (next-group . #f) - (enter-block - . - #s(stx-boundary - ((s0 (s1 s2) (s3 8)) - (s0 (s4 s2) (s3 (s1 6))) - (s5 (s6 s7) s7) - (s5 (s8 s9) s9) - (s6 (s8 (s4)))))) - (block-renames - #s(stx-boundary - ((s0 (s1 s2) (s3 8)) - (s0 (s4 s2) (s3 (s1 6))) - (s5 (s6 s7) s7) - (s5 (s8 s9) s9) - (s6 (s8 (s4))))) - . - #s(stx-boundary - ((s0 (s1 s2) (s3 8)) - (s0 (s4 s2) (s3 (s1 6))) - (s5 (s6 s7) s7) - (s5 (s8 s9) s9) - (s6 (s8 (s4)))))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8)))) - . - #s(stx-boundary (s5 (s1 s3) (s4 8)))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (prim-define-syntaxes . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 8))))) - (prepare-env . #f) - (enter-bind . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 8)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1) (s2 8)))) - (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 8)))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 8))) - . - #s(stx-boundary (s3 (s1) (s2 8)))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 8)))) - (visit . #s(stx-boundary (s0 (s1) (s2 8)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 8)))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 8)))) - (enter-block . #s(stx-boundary ((s0 8)))) - (block-renames #s(stx-boundary ((s0 8))) . #s(stx-boundary ((s0 8)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 8))) - (exit-check . #s(stx-boundary (s0 8))) - (block->list . #s(stx-boundary ((s0 8)))) - (enter-list . #s(stx-boundary ((s0 8)))) - (next . #f) - (visit . #s(stx-boundary (s0 8))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 8))) - (prim-quote-syntax . #f) - (exit-prim . #s(stx-boundary (s0 8))) - (return . #s(stx-boundary (s0 8))) - (exit-list . #s(stx-boundary ((s0 8)))) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 8)))) - (return . #s(stx-boundary (s0 (s1) (s2 8)))) - (next . #f) - (exit-bind . #f) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6))))) - . - #s(stx-boundary (s6 (s1 s3) (s4 (s5 6))))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) - (prim-define-syntaxes . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 (s4 6)))))) - (prepare-env . #f) - (enter-bind . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3 6)))) - . - #s(stx-boundary (s4 (s1) (s2 (s3 6))))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 (s2 6))))) - (enter-block . #s(stx-boundary ((s0 (s1 6))))) - (block-renames - #s(stx-boundary ((s0 (s1 6)))) - . - #s(stx-boundary ((s0 (s1 6))))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 6)))) - (exit-check . #s(stx-boundary (s0 (s1 6)))) - (block->list . #s(stx-boundary ((s0 (s1 6))))) - (enter-list . #s(stx-boundary ((s0 (s1 6))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 6)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 6)))) - (prim-quote-syntax . #f) - (exit-prim . #s(stx-boundary (s0 (s1 6)))) - (return . #s(stx-boundary (s0 (s1 6)))) - (exit-list . #s(stx-boundary ((s0 (s1 6))))) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (next . #f) - (exit-bind . #f) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) s2))) - (visit . #s(stx-boundary (s0 (s1 s2) s2))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) s2))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) s2))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 (s3) s3))) - . - #s(stx-boundary (s0 (s1 s3) s3))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (return . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (visit . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) s3))) - . - #s(stx-boundary (s4 s1 (s2 (s3) s3)))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (prim-define-values . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) s2)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) s2))) - (visit . #s(stx-boundary (s0 (s1 s2) s2))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) s2))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) s2))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 (s3) s3))) - . - #s(stx-boundary (s0 (s1 s3) s3))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (return . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (visit . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) s3))) - . - #s(stx-boundary (s4 s1 (s2 (s3) s3)))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (prim-define-values . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) s2)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 (s2))))) - (exit-check . #s(stx-boundary (s0 (s1 (s2))))) - (block->letrec - #s(stx-boundary - (s0 - (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) - (((s6) (s7 (s8) s8)) ((s9) (s7 (s10) s10))) - (s6 (s9 (s5)))))) - (visit + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) s12)) + (s1 s2 (s13 s11))))) + (prim-module-begin . #f) + (rename-one . #s(stx-boundary (s0 - (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) - (((s6) (s7 (s8) s8)) ((s9) (s7 (s10) s10))) - (s6 (s9 (s5)))))) + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) s12)) + (s1 s2 (s13 s11))))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) (resolve . #s(stx-boundary s0)) - (enter-prim + (enter-macro . - #s(stx-boundary - (s0 - (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) - (((s6) (s7 (s8) s8)) ((s9) (s7 (s10) s10))) - (s6 (s9 (s5)))))) - (prim-letrec-syntaxes+values . #f) - (letrec-syntaxes-renames - (#s(stx-boundary ((s0) (s1 (s2) (s3 8)))) - #s(stx-boundary ((s4) (s1 (s2) (s3 (s0 6)))))) - (#s(stx-boundary ((s5) (s6 (s7) s7))) - #s(stx-boundary ((s8) (s6 (s9) s9)))) + #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (macro-pre-x . - #s(stx-boundary ((s5 (s8 (s4)))))) - (prepare-env . #f) - (next-group . #f) - (prim-letrec-values . #f) - (let-renames - (#s(stx-boundary ((s0) (s1 (s2) s2))) - #s(stx-boundary ((s3) (s1 (s4) s4)))) - . - #s(stx-boundary ((s0 (s3 (s5)))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) s1))) + #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (enter-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (local-pre . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (start . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) s1))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) - (enter-block . #s(stx-boundary (s0))) - (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) - (next . #f) - (enter-check . #s(stx-boundary s0)) - (exit-check . #s(stx-boundary s0)) - (block->list . #s(stx-boundary (s0))) - (enter-list . #s(stx-boundary (s0))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0))) - (exit-prim . #s(stx-boundary (s0 (s1) s1))) - (return . #s(stx-boundary (s0 (s1) s1))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) s1))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) - (enter-block . #s(stx-boundary (s0))) - (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) - (next . #f) - (enter-check . #s(stx-boundary s0)) - (exit-check . #s(stx-boundary s0)) - (block->list . #s(stx-boundary (s0))) - (enter-list . #s(stx-boundary (s0))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0))) - (exit-prim . #s(stx-boundary (s0 (s1) s1))) - (return . #s(stx-boundary (s0 (s1) s1))) - (next-group . #f) - (enter-list . #s(stx-boundary ((s0 (s1 (s2)))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 (s2))))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 (s2 (s3))))) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3))))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3))))) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (local-post . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (exit-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) (macro-post-x - #s(stx-boundary (s0 s1 (s2 (s3)))) + #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)))) . - #s(stx-boundary (s0 s1 (s2 (s3))))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3))))) - (visit . #s(stx-boundary (s0 s1 (s2 (s3))))) + #s(stx-boundary (s8 s9 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (exit-macro . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (visit . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 (s3))))) + (enter-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (return . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (rename-one . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (splice + #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f))) + #s(stx-boundary (s7 s8 (s9 (s10 s11) s11))) + #s(stx-boundary (s7 s8 (s12 s10)))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (rename-one . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-submodule . #f) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-module . #f) + (prepare-env . #f) + (tag . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (prim-module-begin . #f) + (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (next . #f) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (return . #s(stx-boundary (s0 s1))) + (rename-one . #s(stx-boundary (s0 s1))) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-require . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (next . #f) + (visit . #s(stx-boundary (s0 #f))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 #f))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 #f))) + (return . #s(stx-boundary (s0 #f))) + (rename-one . #s(stx-boundary (s0 #f))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) + (next . #f) + (visit . #s(stx-boundary (s0 #f))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 #f))) + (enter-prim . #s(stx-boundary (s0 s1 #f))) (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 (s1 (s2))))) + (enter-list . #s(stx-boundary (s0 #f))) (next . #f) (visit . #s(stx-boundary s0)) (resolve . #s(stx-boundary s0)) (variable #s(stx-boundary s0) . #s(stx-boundary s0)) (return . #s(stx-boundary s0)) (next . #f) - (visit . #s(stx-boundary (s0 (s1)))) + (visit . #s(stx-boundary #f)) (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 (s2)))) - (enter-macro . #s(stx-boundary (s0 s1 (s2)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2)))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2))) - . - #s(stx-boundary (s0 s1 (s2)))) - (exit-macro . #s(stx-boundary (s0 s1 (s2)))) - (visit . #s(stx-boundary (s0 s1 (s2)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2)))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 (s1)))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary (s0))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0))) - (macro-pre-x . #s(stx-boundary (s0))) - (macro-post-x #s(stx-boundary (s0 6)) . #s(stx-boundary (s1))) - (exit-macro . #s(stx-boundary (s0 6))) - (visit . #s(stx-boundary (s0 6))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 6))) - (macro-pre-x . #s(stx-boundary (s0 6))) - (macro-post-x #s(stx-boundary 8) . #s(stx-boundary (s0 6))) - (exit-macro . #s(stx-boundary 8)) - (visit . #s(stx-boundary 8)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 8))) - (enter-prim . #s(stx-boundary (s0 . 8))) + (tag . #s(stx-boundary (s0 . #f))) + (enter-prim . #s(stx-boundary (s0 . #f))) (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 8))) - (return . #s(stx-boundary (s0 8))) - (exit-list . #s(stx-boundary (s0 (s1 8)))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 8)))) - (return . #s(stx-boundary (s0 s1 (s2 8)))) - (exit-list . #s(stx-boundary (s0 (s1 s2 (s3 8))))) - (exit-prim . #s(stx-boundary (s0 s1 (s0 s2 (s3 8))))) - (return . #s(stx-boundary (s0 s1 (s0 s2 (s3 8))))) - (exit-list . #s(stx-boundary ((s0 s1 (s0 s2 (s3 8)))))) - (tag + (exit-prim . #s(stx-boundary (s0 #f))) + (return . #s(stx-boundary (s0 #f))) + (exit-list . #s(stx-boundary (s0 (s1 #f)))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 #f)))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) + (exit-prim . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) + (return . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) + (rename-one . - #s(stx-boundary - (s0 - (((s1) (s2 (s3) s3))) - (s0 (((s4) (s2 (s5) s5))) (s6 s1 (s6 s4 (s7 8))))))) + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) + (exit-prim + . + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) + (exit-prim + . + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 (s3 s4) s4)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3 s4) s4)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3 s4) s4)))) + (enter-local . #s(stx-boundary (s0 (s1 s2) s2))) + (local-pre . #s(stx-boundary (s0 (s1 s2) s2))) + (start . #f) + (visit . #s(stx-boundary (s0 (s1 s2) s2))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2) s2))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) s2))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 (s3) s3))) + . + #s(stx-boundary (s0 (s1 s3) s3))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) s3))) + . + #s(stx-boundary (s4 s1 (s2 (s3) s3)))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (local-post . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (exit-local . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (macro-post-x + #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4)))) + . + #s(stx-boundary (s5 s6 (s7 (s2 s4) s4)))) + (exit-macro . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) + (visit . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) + (return . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) + (rename-one . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) + (splice + #s(stx-boundary (s0 (s1) (s2 (s3) s3))) + #s(stx-boundary (s4 s5 (s6 s1)))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (rename-one . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (prim-define-values . #f) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 s3)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3)))) + (enter-local . #s(stx-boundary (s0 s1))) + (local-pre . #s(stx-boundary (s0 s1))) + (start . #f) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1))) + (macro-pre-x . #s(stx-boundary (s0 s1))) + (macro-post-x + #s(stx-boundary (s0 (s1 (s2 s3)))) + . + #s(stx-boundary (s4 s3))) + (exit-macro . #s(stx-boundary (s0 (s1 (s2 s3))))) + (visit . #s(stx-boundary (s0 (s1 (s2 s3))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) + (return . #s(stx-boundary (s0 (s1 (s2 s3))))) + (local-post . #s(stx-boundary (s0 (s1 (s2 s3))))) + (exit-local . #s(stx-boundary (s0 (s1 (s2 s3))))) + (macro-post-x + #s(stx-boundary (s0 (s1 (s2 (s3 s4))))) + . + #s(stx-boundary (s5 s6 (s7 s4)))) + (exit-macro . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) + (visit . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) + (return . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) + (rename-one . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) + (splice #s(stx-boundary (s0 (s1 (s2 s3))))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 (s2 s3))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) + (return . #s(stx-boundary (s0 (s1 (s2 s3))))) + (rename-one . #s(stx-boundary (s0 (s1 (s2 s3))))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) + (next . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (prim-define-values . #f) + (visit . #s(stx-boundary (s0 (s1) s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) s1))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) + (enter-block . #s(stx-boundary (s0))) + (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) + (next . #f) + (enter-check . #s(stx-boundary s0)) + (exit-check . #s(stx-boundary s0)) + (block->list . #s(stx-boundary (s0))) + (enter-list . #s(stx-boundary (s0))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0))) + (exit-prim . #s(stx-boundary (s0 (s1) s1))) + (return . #s(stx-boundary (s0 (s1) s1))) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (next . #f) + (module-lift-end-loop) + (next-group . #f) + (enter-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) + (prim-provide . #f) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1))) + (macro-pre-x . #s(stx-boundary (s0 s1))) + (macro-post-x #s(stx-boundary (s0 s1)) . #s(stx-boundary (s2 s1))) + (exit-macro . #s(stx-boundary (s0 s1))) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (return . #s(stx-boundary (s0 s1))) + (exit-prim . #s(stx-boundary (s0 s1))) + (next . #f) (exit-prim . #s(stx-boundary (s0 - (((s1) (s2 (s3) s3))) - (s0 (((s4) (s2 (s5) s5))) (s6 s1 (s6 s4 (s7 8))))))) + (s1 s2 (s3 s4) (s0 (s5 s6) (s7 s8 (s3 #f)))) + (s9 (s10) (s11 (s12) s12)) + (s13 s10)))) (return . #s(stx-boundary (s0 - (((s1) (s2 (s3) s3))) - (s0 (((s4) (s2 (s5) s5))) (s6 s1 (s6 s4 (s7 8))))))) + (s1 s2 (s3 s4) (s0 (s5 s6) (s7 s8 (s3 #f)))) + (s9 (s10) (s11 (s12) s12)) + (s13 s10)))) + (rename-one + . + #s(stx-boundary + (s0 + s1 + s2 + (s3 + (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) + (s11 (s12) (s13 (s14) s14)) + (s15 s12))))) (exit-prim . #s(stx-boundary (s0 - () - (s0 - (((s1) (s2 (s3) s3))) - (s0 (((s4) (s2 (s5) s5))) (s6 s1 (s6 s4 (s7 8)))))))) + s1 + s2 + (s3 + (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) + (s11 (s12) (s13 (s14) s14)) + (s15 s12))))) (return . #s(stx-boundary (s0 - () - (s0 - (((s1) (s2 (s3) s3))) - (s0 (((s4) (s2 (s5) s5))) (s6 s1 (s6 s4 (s7 8)))))))) + s1 + s2 + (s3 + (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) + (s11 (s12) (s13 (s14) s14)) + (s15 s12))))))) + ((module m racket/base 'done) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 s1 s2 (s3 s4)))) + (enter-check . #s(stx-boundary (s0 s1 s2 (s3 s4)))) + (exit-check . #s(stx-boundary (s0 s1 s2 (s3 s4)))) + (visit . #s(stx-boundary (s0 s1 s2 (s3 s4)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 s2 (s3 s4)))) + (prim-module . #f) + (prepare-env . #f) + (rename-one . #s(stx-boundary (s0 s1))) + (enter-check . #s(stx-boundary (s0 s1))) + (exit-check . #s(stx-boundary (s0 s1))) + (tag . #s(stx-boundary (s0 (s1 s2)))) + (enter-check . #s(stx-boundary (s0 (s1 s2)))) + (visit . #s(stx-boundary (s0 (s1 s2)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2)))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2)))) + (macro-post-x + #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8))) + . + #s(stx-boundary (s9 (s3 s8)))) + (exit-macro + . + #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8)))) + (return + . + #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8)))) + (visit . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8)))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8)))) + (macro-pre-x + . + #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8)))) + (macro-post-x + #s(stx-boundary + (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10)))) + . + #s(stx-boundary (s11 (s3 s4 (s5 s6) (s7 s8) (s9 #f)) (s5 s10)))) + (exit-macro + . + #s(stx-boundary + (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) + (return + . + #s(stx-boundary + (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) + (exit-check + . + #s(stx-boundary + (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) + (visit + . + #s(stx-boundary + (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) + (prim-module-begin . #f) + (rename-one + . + #s(stx-boundary + (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (macro-pre-x + . + #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (enter-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (local-pre . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (start . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (local-post . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (exit-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (macro-post-x + #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)))) + . + #s(stx-boundary (s8 s9 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (exit-macro . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (visit . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (return . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (rename-one . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (splice + #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f))) + #s(stx-boundary (s7 s8 (s2 s9)))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (rename-one . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-submodule . #f) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-module . #f) + (prepare-env . #f) + (tag . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (prim-module-begin . #f) + (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (next . #f) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (return . #s(stx-boundary (s0 s1))) + (rename-one . #s(stx-boundary (s0 s1))) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-require . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (next . #f) + (visit . #s(stx-boundary (s0 #f))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 #f))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 #f))) + (return . #s(stx-boundary (s0 #f))) + (rename-one . #s(stx-boundary (s0 #f))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) + (next . #f) + (visit . #s(stx-boundary (s0 #f))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 #f))) + (enter-prim . #s(stx-boundary (s0 s1 #f))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 #f))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary #f)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . #f))) + (enter-prim . #s(stx-boundary (s0 . #f))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 #f))) + (return . #s(stx-boundary (s0 #f))) + (exit-list . #s(stx-boundary (s0 (s1 #f)))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 #f)))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) + (exit-prim . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) + (return . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) + (rename-one + . + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) + (exit-prim + . + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) + (exit-prim + . + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 s3)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3)))) + (enter-local . #s(stx-boundary (s0 s1))) + (local-pre . #s(stx-boundary (s0 s1))) + (start . #f) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (return . #s(stx-boundary (s0 s1))) + (local-post . #s(stx-boundary (s0 s1))) + (exit-local . #s(stx-boundary (s0 s1))) + (macro-post-x + #s(stx-boundary (s0 (s1 (s2 s3)))) + . + #s(stx-boundary (s4 s1 (s2 s3)))) + (exit-macro . #s(stx-boundary (s0 (s1 (s2 s3))))) + (visit . #s(stx-boundary (s0 (s1 (s2 s3))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) + (return . #s(stx-boundary (s0 (s1 (s2 s3))))) + (rename-one . #s(stx-boundary (s0 (s1 (s2 s3))))) + (splice #s(stx-boundary (s0 (s1 s2)))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 s2)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2)))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2)))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5)) + . + #s(stx-boundary (s6 (s3 s4)))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) + (visit . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) + (return . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) + (rename-one . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 (s1 () (s2 s3)) s4))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary (s0 () (s1 s2)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 () (s1 s2)))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary ()) . #s(stx-boundary ((s0 s1)))) + (enter-block . #s(stx-boundary ((s0 s1)))) + (block-renames #s(stx-boundary ((s0 s1))) . #s(stx-boundary ((s0 s1)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 s1))) + (exit-check . #s(stx-boundary (s0 s1))) + (block->list . #s(stx-boundary ((s0 s1)))) + (enter-list . #s(stx-boundary ((s0 s1)))) + (next . #f) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-quote . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (return . #s(stx-boundary (s0 s1))) + (exit-list . #s(stx-boundary ((s0 s1)))) + (exit-prim . #s(stx-boundary (s0 () (s1 s2)))) + (return . #s(stx-boundary (s0 () (s1 s2)))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0 (s1 () (s2 s3)) s4))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) + (return . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) (exit-prim . #s(stx-boundary (s0 - (s1 - () - (s1 - (((s2) (s3 (s4) s4))) - (s1 (((s5) (s3 (s6) s6))) (s7 s2 (s7 s5 (s8 8))))))))) + (s1 s2 (s3 s4) (s0 (s5 s6) (s7 s8 (s3 #f)))) + (s7 s9 (s10 () (s3 s11)) s12)))) (return . #s(stx-boundary (s0 - (s1 - () - (s1 - (((s2) (s3 (s4) s4))) - (s1 (((s5) (s3 (s6) s6))) (s7 s2 (s7 s5 (s8 8))))))))))) + (s1 s2 (s3 s4) (s0 (s5 s6) (s7 s8 (s3 #f)))) + (s7 s9 (s10 () (s3 s11)) s12)))) + (rename-one + . + #s(stx-boundary + (s0 + s1 + s2 + (s3 + (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) + (s9 s11 (s12 () (s5 s13)) s14))))) + (exit-prim + . + #s(stx-boundary + (s0 + s1 + s2 + (s3 + (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) + (s9 s11 (s12 () (s5 s13)) s14))))) + (return + . + #s(stx-boundary + (s0 + s1 + s2 + (s3 + (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) + (s9 s11 (s12 () (s5 s13)) s14))))))) ((let () (define-syntax (ok stx) (quote-syntax 8)) (ok 5)) . ((start-top . #f) @@ -1560,6 +1639,68 @@ (return . #s(stx-boundary (s0 () (s0 () (s1 8))))) (exit-prim . #s(stx-boundary (s0 (s1 () (s1 () (s2 8)))))) (return . #s(stx-boundary (s0 (s1 () (s1 () (s2 8)))))))) + ((with-continuation-mark __x __y __z) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 (s1 s2 s3 s4)))) + (enter-check . #s(stx-boundary (s0 (s1 s2 s3 s4)))) + (exit-check . #s(stx-boundary (s0 (s1 s2 s3 s4)))) + (visit . #s(stx-boundary (s0 (s1 s2 s3 s4)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 s2 s3 s4)))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 s1 s2 s3))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 s2 s3))) + (prim-with-continuation-mark . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . s1))) + (enter-prim . #s(stx-boundary (s0 . s1))) + (prim-#%top . #f) + (exit-prim . #s(stx-boundary (s0 . s1))) + (return . #s(stx-boundary (s0 . s1))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . s1))) + (enter-prim . #s(stx-boundary (s0 . s1))) + (prim-#%top . #f) + (exit-prim . #s(stx-boundary (s0 . s1))) + (return . #s(stx-boundary (s0 . s1))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . s1))) + (enter-prim . #s(stx-boundary (s0 . s1))) + (prim-#%top . #f) + (exit-prim . #s(stx-boundary (s0 . s1))) + (return . #s(stx-boundary (s0 . s1))) + (exit-prim . #s(stx-boundary (s0 (s1 . s2) (s1 . s3) (s1 . s4)))) + (return . #s(stx-boundary (s0 (s1 . s2) (s1 . s3) (s1 . s4)))) + (exit-prim . #s(stx-boundary (s0 (s1 (s2 . s3) (s2 . s4) (s2 . s5))))) + (return . #s(stx-boundary (s0 (s1 (s2 . s3) (s2 . s4) (s2 . s5))))))) + ((#%top . __x) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 (s1 . s2)))) + (enter-check . #s(stx-boundary (s0 (s1 . s2)))) + (exit-check . #s(stx-boundary (s0 (s1 . s2)))) + (visit . #s(stx-boundary (s0 (s1 . s2)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 . s2)))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 . s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 . s1))) + (prim-#%top . #f) + (exit-prim . #s(stx-boundary (s0 . s1))) + (return . #s(stx-boundary (s0 . s1))) + (exit-prim . #s(stx-boundary (s0 (s1 . s2)))) + (return . #s(stx-boundary (s0 (s1 . s2)))))) ((let () (define-syntax-rule (ok x) x) (ok 5)) . ((start-top . #f) @@ -5503,288 +5644,6 @@ (s2 (((s3) (s4 (s5) (s6 s7 s5))) ((s7) (s4 (s8) (s9 8)))) (s6 s3 (s9 5))))))))) - ((case-lambda ((x) x) ((x y) (+ x y))) - . - ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s2 s3)))))) - (enter-check - . - #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s2 s3)))))) - (exit-check - . - #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s2 s3)))))) - (visit . #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s2 s3)))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s2 s3)))))) - (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 ((s1) s1) ((s1 s2) (s3 s1 s2))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 ((s1) s1) ((s1 s2) (s3 s1 s2))))) - (prim-case-lambda . #f) - (next . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) - (enter-block . #s(stx-boundary (s0))) - (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) - (next . #f) - (enter-check . #s(stx-boundary s0)) - (exit-check . #s(stx-boundary s0)) - (block->list . #s(stx-boundary (s0))) - (enter-list . #s(stx-boundary (s0))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0))) - (next . #f) - (lambda-renames - #s(stx-boundary (s0 s1)) - . - #s(stx-boundary ((s2 s0 s1)))) - (enter-block . #s(stx-boundary ((s0 s1 s2)))) - (block-renames - #s(stx-boundary ((s0 s1 s2))) - . - #s(stx-boundary ((s0 s1 s2)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 s1 s2))) - (exit-check . #s(stx-boundary (s0 s1 s2))) - (block->list . #s(stx-boundary ((s0 s1 s2)))) - (enter-list . #s(stx-boundary ((s0 s1 s2)))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 s2))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 s2 s3))) - (enter-macro . #s(stx-boundary (s0 s1 s2 s3))) - (macro-pre-x . #s(stx-boundary (s0 s1 s2 s3))) - (macro-post-x - #s(stx-boundary (s0 s1 s2 s3)) - . - #s(stx-boundary (s0 s1 s2 s3))) - (exit-macro . #s(stx-boundary (s0 s1 s2 s3))) - (visit . #s(stx-boundary (s0 s1 s2 s3))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 s2 s3))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 s1 s2))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0 s1 s2))) - (exit-prim . #s(stx-boundary (s0 s1 s2 s3))) - (return . #s(stx-boundary (s0 s1 s2 s3))) - (exit-list . #s(stx-boundary ((s0 s1 s2 s3)))) - (exit-prim . #s(stx-boundary (s0 ((s1) s1) ((s1 s2) (s3 s4 s1 s2))))) - (return . #s(stx-boundary (s0 ((s1) s1) ((s1 s2) (s3 s4 s1 s2))))) - (exit-prim - . - #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s5 s2 s3)))))) - (return - . - #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s5 s2 s3)))))))) - ((let () (define (ok x) '8) (ok 5)) - . - ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 8)) (s3 5))))) - (enter-check - . - #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 8)) (s3 5))))) - (exit-check . #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 8)) (s3 5))))) - (visit . #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 8)) (s3 5))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 8)) (s3 5))))) - (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) - (macro-pre-x . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) - (macro-post-x - #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5))) - . - #s(stx-boundary (s5 () (s1 (s2 s3) (s4 8)) (s2 5)))) - (exit-macro . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) - (visit . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) - (prim-let-values . #f) - (let-renames () . #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s1 5)))) - (next-group . #f) - (enter-block . #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s1 5)))) - (block-renames - #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s1 5))) - . - #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s1 5)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 (s3) (s4 8)))) - . - #s(stx-boundary (s0 (s1 s3) (s4 8)))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) - (return . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) - (visit . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8)))) - . - #s(stx-boundary (s5 s1 (s2 (s3) (s4 8))))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (prim-define-values . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 8))))) - (next . #f) - (enter-check . #s(stx-boundary (s0 5))) - (exit-check . #s(stx-boundary (s0 5))) - (block->letrec #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 8)))) (s1 5)))) - (visit . #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 8)))) (s1 5)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 8)))) (s1 5)))) - (prim-letrec-values . #f) - (let-renames - (#s(stx-boundary ((s0) (s1 (s2) (s3 8))))) - . - #s(stx-boundary ((s0 5)))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 8)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 8)))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 8)))) - (enter-block . #s(stx-boundary ((s0 8)))) - (block-renames #s(stx-boundary ((s0 8))) . #s(stx-boundary ((s0 8)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 8))) - (exit-check . #s(stx-boundary (s0 8))) - (block->list . #s(stx-boundary ((s0 8)))) - (enter-list . #s(stx-boundary ((s0 8)))) - (next . #f) - (visit . #s(stx-boundary (s0 8))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 8))) - (prim-quote . #f) - (exit-prim . #s(stx-boundary (s0 8))) - (return . #s(stx-boundary (s0 8))) - (exit-list . #s(stx-boundary ((s0 8)))) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 8)))) - (return . #s(stx-boundary (s0 (s1) (s2 8)))) - (next-group . #f) - (enter-list . #s(stx-boundary ((s0 5)))) - (next . #f) - (visit . #s(stx-boundary (s0 5))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 5))) - (enter-macro . #s(stx-boundary (s0 s1 5))) - (macro-pre-x . #s(stx-boundary (s0 s1 5))) - (macro-post-x #s(stx-boundary (s0 s1 5)) . #s(stx-boundary (s0 s1 5))) - (exit-macro . #s(stx-boundary (s0 s1 5))) - (visit . #s(stx-boundary (s0 s1 5))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 5))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 5))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary 5)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 5))) - (enter-prim . #s(stx-boundary (s0 . 5))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 5))) - (return . #s(stx-boundary (s0 5))) - (exit-list . #s(stx-boundary (s0 (s1 5)))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 5)))) - (return . #s(stx-boundary (s0 s1 (s2 5)))) - (exit-list . #s(stx-boundary ((s0 s1 (s2 5))))) - (exit-prim - . - #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 8)))) (s5 s1 (s4 5))))) - (return - . - #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 8)))) (s5 s1 (s4 5))))) - (exit-prim - . - #s(stx-boundary - (s0 () (s0 (((s1) (s2 (s3) (s4 8)))) (s5 s1 (s4 5)))))) - (return - . - #s(stx-boundary - (s0 () (s0 (((s1) (s2 (s3) (s4 8)))) (s5 s1 (s4 5)))))) - (exit-prim - . - #s(stx-boundary - (s0 (s1 () (s1 (((s2) (s3 (s4) (s5 8)))) (s6 s2 (s5 5))))))) - (return - . - #s(stx-boundary - (s0 (s1 () (s1 (((s2) (s3 (s4) (s5 8)))) (s6 s2 (s5 5))))))))) - ((if 1 2 3) - . - ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 1 2 3)))) - (enter-check . #s(stx-boundary (s0 (s1 1 2 3)))) - (exit-check . #s(stx-boundary (s0 (s1 1 2 3)))) - (visit . #s(stx-boundary (s0 (s1 1 2 3)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 1 2 3)))) - (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 1 2 3))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 1 2 3))) - (prim-if . #f) - (visit . #s(stx-boundary 1)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 1))) - (enter-prim . #s(stx-boundary (s0 . 1))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 1))) - (return . #s(stx-boundary (s0 1))) - (next . #f) - (visit . #s(stx-boundary 2)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 2))) - (enter-prim . #s(stx-boundary (s0 . 2))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 2))) - (return . #s(stx-boundary (s0 2))) - (next . #f) - (visit . #s(stx-boundary 3)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 3))) - (enter-prim . #s(stx-boundary (s0 . 3))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 3))) - (return . #s(stx-boundary (s0 3))) - (exit-prim . #s(stx-boundary (s0 (s1 1) (s1 2) (s1 3)))) - (return . #s(stx-boundary (s0 (s1 1) (s1 2) (s1 3)))) - (exit-prim . #s(stx-boundary (s0 (s1 (s2 1) (s2 2) (s2 3))))) - (return . #s(stx-boundary (s0 (s1 (s2 1) (s2 2) (s2 3))))))) ((module m racket/base (require racket/list) foldl) . ((start-top . #f) @@ -6175,7 +6034,7 @@ (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) (s7 s11) (s9 s12 (s13 () s14) s15))))))) - ((#%variable-reference __z) + ('quoted . ((start-top . #f) (visit . #s(stx-boundary (s0 (s1 s2)))) @@ -6188,65 +6047,754 @@ (visit . #s(stx-boundary (s0 s1))) (resolve . #s(stx-boundary s0)) (enter-prim . #s(stx-boundary (s0 s1))) - (prim-#%variable-reference . #f) + (prim-quote . #f) (exit-prim . #s(stx-boundary (s0 s1))) (return . #s(stx-boundary (s0 s1))) (exit-prim . #s(stx-boundary (s0 (s1 s2)))) (return . #s(stx-boundary (s0 (s1 s2)))))) - ((#%plain-app 1 2) + ((let () + (define-syntax (lift stx) + (syntax-local-lift-require 'racket/list #'foldl)) + (lift)) . ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 1 2)))) - (enter-check . #s(stx-boundary (s0 (s1 1 2)))) - (exit-check . #s(stx-boundary (s0 (s1 1 2)))) - (visit . #s(stx-boundary (s0 (s1 1 2)))) + (visit + . + #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 (s6 s7) (s8 s9))) (s3))))) + (enter-check + . + #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 (s6 s7) (s8 s9))) (s3))))) + (exit-check + . + #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 (s6 s7) (s8 s9))) (s3))))) + (visit + . + #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 (s6 s7) (s8 s9))) (s3))))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 1 2)))) + (enter-prim + . + #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 (s6 s7) (s8 s9))) (s3))))) (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 1 2))) + (visit + . + #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 1 2))) + (enter-macro + . + #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (macro-pre-x + . + #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (macro-post-x + #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2))) + . + #s(stx-boundary (s9 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (exit-macro + . + #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (visit + . + #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary (s0 () (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) + (prim-let-values . #f) + (let-renames + () + . + #s(stx-boundary ((s0 (s1 s2) (s3 (s4 s5) (s6 s7))) (s1)))) + (next-group . #f) + (enter-block + . + #s(stx-boundary ((s0 (s1 s2) (s3 (s4 s5) (s6 s7))) (s1)))) + (block-renames + #s(stx-boundary ((s0 (s1 s2) (s3 (s4 s5) (s6 s7))) (s1))) + . + #s(stx-boundary ((s0 (s1 s2) (s3 (s4 s5) (s6 s7))) (s1)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) + . + #s(stx-boundary (s9 (s1 s3) (s4 (s5 s6) (s7 s8))))) + (exit-macro + . + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (exit-check + . + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) + (prim-define-syntaxes . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 (s4 s5) (s6 s7)))))) + (prepare-env . #f) + (enter-bind . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6)))) + . + #s(stx-boundary (s7 (s1) (s2 (s3 s4) (s5 s6))))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) + (prim-lambda . #f) + (lambda-renames + #s(stx-boundary (s0)) + . + #s(stx-boundary ((s1 (s2 s3) (s4 s5))))) + (enter-block . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) + (block-renames + #s(stx-boundary ((s0 (s1 s2) (s3 s4)))) + . + #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) + (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) + (block->list . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) + (enter-list . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) + (enter-macro . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 s3) (s4 s5))) + . + #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) + (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) (prim-#%app . #f) - (enter-list . #s(stx-boundary (1 2))) + (enter-list . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) (next . #f) - (visit . #s(stx-boundary 1)) + (visit . #s(stx-boundary s0)) (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 1))) - (enter-prim . #s(stx-boundary (s0 . 1))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 1))) - (return . #s(stx-boundary (s0 1))) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) (next . #f) - (visit . #s(stx-boundary 2)) + (visit . #s(stx-boundary (s0 s1))) (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 2))) - (enter-prim . #s(stx-boundary (s0 . 2))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 2))) - (return . #s(stx-boundary (s0 2))) - (exit-list . #s(stx-boundary ((s0 1) (s0 2)))) - (exit-prim . #s(stx-boundary (s0 (s1 1) (s1 2)))) - (return . #s(stx-boundary (s0 (s1 1) (s1 2)))) - (exit-prim . #s(stx-boundary (s0 (s1 (s2 1) (s2 2))))) - (return . #s(stx-boundary (s0 (s1 (s2 1) (s2 2))))))) - ((#%top . __x) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-quote . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (return . #s(stx-boundary (s0 s1))) + (next . #f) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1))) + (macro-pre-x . #s(stx-boundary (s0 s1))) + (local-value . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (local-value-result . #f) + (local-value . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (local-value-result . #f) + (macro-post-x #s(stx-boundary (s0 s1)) . #s(stx-boundary (s2 s1))) + (exit-macro . #s(stx-boundary (s0 s1))) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-quote-syntax . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (return . #s(stx-boundary (s0 s1))) + (exit-list . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) + (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5)))) + (exit-list . #s(stx-boundary ((s0 s1 (s2 s3) (s4 s5))))) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s5) (s6 s7))))) + (return . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s5) (s6 s7))))) + (next . #f) + (exit-bind . #f) + (next . #f) + (enter-check . #s(stx-boundary (s0))) + (visit . #s(stx-boundary (s0))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0))) + (macro-pre-x . #s(stx-boundary (s0))) + (lift-require + #s(stx-boundary (s0 s1)) + #s(stx-boundary s2) + . + #s(stx-boundary s2)) + (macro-post-x #s(stx-boundary s0) . #s(stx-boundary (s1))) + (exit-macro . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-check . #s(stx-boundary s0)) + (block->letrec + #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) () s8))) + (visit + . + #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) () s8))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) () s8))) + (prim-letrec-syntaxes+values . #f) + (letrec-syntaxes-renames + (#s(stx-boundary ((s0) (s1 (s2) (s3 (s4 s5) (s6 s7)))))) + () + . + #s(stx-boundary (s7))) + (prepare-env . #f) + (next-group . #f) + (enter-list . #s(stx-boundary (s0))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0))) + (tag . #s(stx-boundary (s0 () s1))) + (exit-prim . #s(stx-boundary (s0 () s1))) + (return . #s(stx-boundary (s0 () s1))) + (exit-prim . #s(stx-boundary (s0 () (s0 () s1)))) + (return . #s(stx-boundary (s0 () (s0 () s1)))) + (exit-prim . #s(stx-boundary (s0 (s1 () (s1 () s2))))) + (return . #s(stx-boundary (s0 (s1 () (s1 () s2))))) + (lift-loop . #s(stx-boundary (s0 (s1 s2) (s3 (s4 () (s4 () s5)))))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 () (s4 () s5)))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 s2) (s3 (s4 () (s4 () s5)))))) + (prim-begin . #f) + (enter-list . #s(stx-boundary ((s0 s1) (s2 (s3 () (s3 () s4)))))) + (next . #f) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-require . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (return . #s(stx-boundary (s0 s1))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 () (s1 () s2))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 () (s1 () s2))))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 () (s0 () s1)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 () (s0 () s1)))) + (prim-let-values . #f) + (let-renames () . #s(stx-boundary ((s0 () s1)))) + (next-group . #f) + (enter-block . #s(stx-boundary ((s0 () s1)))) + (block-renames + #s(stx-boundary ((s0 () s1))) + . + #s(stx-boundary ((s0 () s1)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 () s1))) + (exit-check . #s(stx-boundary (s0 () s1))) + (block->list . #s(stx-boundary ((s0 () s1)))) + (enter-list . #s(stx-boundary ((s0 () s1)))) + (next . #f) + (visit . #s(stx-boundary (s0 () s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 () s1))) + (prim-let-values . #f) + (let-renames () . #s(stx-boundary (s0))) + (next-group . #f) + (enter-block . #s(stx-boundary (s0))) + (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) + (next . #f) + (enter-check . #s(stx-boundary s0)) + (exit-check . #s(stx-boundary s0)) + (block->list . #s(stx-boundary (s0))) + (enter-list . #s(stx-boundary (s0))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0))) + (exit-prim . #s(stx-boundary (s0 () s1))) + (return . #s(stx-boundary (s0 () s1))) + (exit-list . #s(stx-boundary ((s0 () s1)))) + (exit-prim . #s(stx-boundary (s0 () (s0 () s1)))) + (return . #s(stx-boundary (s0 () (s0 () s1)))) + (exit-prim . #s(stx-boundary (s0 (s1 () (s1 () s2))))) + (return . #s(stx-boundary (s0 (s1 () (s1 () s2))))) + (exit-list . #s(stx-boundary ((s0 s1) (s2 (s3 () (s3 () s4)))))) + (exit-prim . #s(stx-boundary (s0 (s1 s2) (s3 (s4 () (s4 () s5)))))) + (return . #s(stx-boundary (s0 (s1 s2) (s3 (s4 () (s4 () s5)))))))) + ((module m '#%kernel 5) . ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 . s2)))) - (enter-check . #s(stx-boundary (s0 (s1 . s2)))) - (exit-check . #s(stx-boundary (s0 (s1 . s2)))) - (visit . #s(stx-boundary (s0 (s1 . s2)))) + (visit . #s(stx-boundary (s0 s1 (s2 s3) 5))) + (enter-check . #s(stx-boundary (s0 s1 (s2 s3) 5))) + (exit-check . #s(stx-boundary (s0 s1 (s2 s3) 5))) + (visit . #s(stx-boundary (s0 s1 (s2 s3) 5))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 . s2)))) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) 5))) + (prim-module . #f) + (prepare-env . #f) + (rename-one . #s(stx-boundary 5)) + (enter-check . #s(stx-boundary 5)) + (exit-check . #s(stx-boundary 5)) + (tag . #s(stx-boundary (s0 5))) + (enter-check . #s(stx-boundary (s0 5))) + (exit-check . #s(stx-boundary (s0 5))) + (visit . #s(stx-boundary (s0 5))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 5))) + (prim-module-begin . #f) + (rename-one . #s(stx-boundary (s0 5))) + (next . #f) + (visit . #s(stx-boundary 5)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 5))) + (enter-prim . #s(stx-boundary (s0 . 5))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 5))) + (return . #s(stx-boundary (s0 5))) + (rename-one . #s(stx-boundary (s0 5))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) + (visit . #s(stx-boundary (s0 5))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 5))) + (prim-quote . #f) + (exit-prim . #s(stx-boundary (s0 5))) + (return . #s(stx-boundary (s0 5))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) + (exit-prim . #s(stx-boundary (s0 (s1 5)))) + (return . #s(stx-boundary (s0 (s1 5)))) + (rename-one . #s(stx-boundary (s0 s1 (s2 s3) (s4 (s2 5))))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 (s2 5))))) + (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 (s2 5))))))) + ((let-values (((x) __y) ((y z) __w)) __x) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 (s1 (((s2) s3) ((s4 s5) s6)) s7)))) + (enter-check . #s(stx-boundary (s0 (s1 (((s2) s3) ((s4 s5) s6)) s7)))) + (exit-check . #s(stx-boundary (s0 (s1 (((s2) s3) ((s4 s5) s6)) s7)))) + (visit . #s(stx-boundary (s0 (s1 (((s2) s3) ((s4 s5) s6)) s7)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 (((s2) s3) ((s4 s5) s6)) s7)))) (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 . s1))) + (visit . #s(stx-boundary (s0 (((s1) s2) ((s3 s4) s5)) s6))) (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (((s1) s2) ((s3 s4) s5)) s6))) + (prim-let-values . #f) + (let-renames + (#s(stx-boundary ((s0) s1)) #s(stx-boundary ((s2 s3) s4))) + . + #s(stx-boundary (s5))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . s1))) (enter-prim . #s(stx-boundary (s0 . s1))) (prim-#%top . #f) (exit-prim . #s(stx-boundary (s0 . s1))) (return . #s(stx-boundary (s0 . s1))) - (exit-prim . #s(stx-boundary (s0 (s1 . s2)))) - (return . #s(stx-boundary (s0 (s1 . s2)))))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . s1))) + (enter-prim . #s(stx-boundary (s0 . s1))) + (prim-#%top . #f) + (exit-prim . #s(stx-boundary (s0 . s1))) + (return . #s(stx-boundary (s0 . s1))) + (next-group . #f) + (enter-block . #s(stx-boundary (s0))) + (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) + (next . #f) + (enter-check . #s(stx-boundary s0)) + (exit-check . #s(stx-boundary s0)) + (block->list . #s(stx-boundary (s0))) + (enter-list . #s(stx-boundary (s0))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . s1))) + (enter-prim . #s(stx-boundary (s0 . s1))) + (prim-#%top . #f) + (exit-prim . #s(stx-boundary (s0 . s1))) + (return . #s(stx-boundary (s0 . s1))) + (exit-list . #s(stx-boundary ((s0 . s1)))) + (exit-prim + . + #s(stx-boundary + (s0 (((s1) (s2 . s3)) ((s4 s5) (s2 . s6))) (s2 . s7)))) + (return + . + #s(stx-boundary + (s0 (((s1) (s2 . s3)) ((s4 s5) (s2 . s6))) (s2 . s7)))) + (exit-prim + . + #s(stx-boundary + (s0 (s1 (((s2) (s3 . s4)) ((s5 s6) (s3 . s7))) (s3 . s8))))) + (return + . + #s(stx-boundary + (s0 (s1 (((s2) (s3 . s4)) ((s5 s6) (s3 . s7))) (s3 . s8))))))) + ((module m racket/base + (define-syntax (ok stx) (quote-syntax 8)) + (ok) + (list (ok) (ok))) + . + ((start-top . #f) + (visit + . + #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 8)) (s4) (s7 (s4) (s4))))) + (enter-check + . + #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 8)) (s4) (s7 (s4) (s4))))) + (exit-check + . + #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 8)) (s4) (s7 (s4) (s4))))) + (visit + . + #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 8)) (s4) (s7 (s4) (s4))))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 8)) (s4) (s7 (s4) (s4))))) + (prim-module . #f) + (prepare-env . #f) + (tag . #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) + (rename-one + . + #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) + (enter-check + . + #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) + (visit . #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) + (macro-pre-x + . + #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) + (macro-post-x + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 8)) + (s9) + (s12 (s9) (s9)))) + . + #s(stx-boundary (s13 (s8 (s9 s10) (s11 8)) (s9) (s12 (s9) (s9))))) + (exit-macro + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 8)) + (s9) + (s12 (s9) (s9))))) + (return + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 8)) + (s9) + (s12 (s9) (s9))))) + (visit + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 8)) + (s9) + (s12 (s9) (s9))))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 8)) + (s9) + (s12 (s9) (s9))))) + (macro-pre-x + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4) (s5 s6) (s7 #f)) + (s8 (s9 s10) (s11 8)) + (s9) + (s12 (s9) (s9))))) + (macro-post-x + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 8))) + (s1 s2 (s11)) + (s1 s2 (s14 (s11) (s11))))) + . + #s(stx-boundary + (s15 + (s3 s4 (s5 s6) (s7 s8) (s9 #f)) + (s10 (s11 s12) (s13 8)) + (s11) + (s14 (s11) (s11))))) + (exit-macro + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 8))) + (s1 s2 (s11)) + (s1 s2 (s14 (s11) (s11)))))) + (return + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 8))) + (s1 s2 (s11)) + (s1 s2 (s14 (s11) (s11)))))) + (exit-check + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 8))) + (s1 s2 (s11)) + (s1 s2 (s14 (s11) (s11)))))) + (visit + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 8))) + (s1 s2 (s11)) + (s1 s2 (s14 (s11) (s11)))))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 8))) + (s1 s2 (s11)) + (s1 s2 (s14 (s11) (s11)))))) + (prim-module-begin . #f) + (rename-one + . + #s(stx-boundary + (s0 + (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) + (s1 s2 (s10 (s11 s12) (s13 8))) + (s1 s2 (s11)) + (s1 s2 (s14 (s11) (s11)))))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (macro-pre-x + . + #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (enter-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (local-pre . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (start . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (local-post . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (exit-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (macro-post-x + #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)))) + . + #s(stx-boundary (s8 s9 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (exit-macro . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (visit . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (return . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (rename-one . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) + (splice + #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f))) + #s(stx-boundary (s7 s8 (s9 (s10 s11) (s12 8)))) + #s(stx-boundary (s7 s8 (s10))) + #s(stx-boundary (s7 s8 (s13 (s10) (s10))))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (rename-one . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-submodule . #f) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (prim-module . #f) + (prepare-env . #f) + (tag . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (prim-module-begin . #f) + (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (next . #f) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (return . #s(stx-boundary (s0 s1))) + (rename-one . #s(stx-boundary (s0 s1))) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-require . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (next . #f) + (visit . #s(stx-boundary (s0 #f))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 #f))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 #f))) + (return . #s(stx-boundary (s0 #f))) + (rename-one . #s(stx-boundary (s0 #f))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) + (next . #f) + (visit . #s(stx-boundary (s0 #f))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 #f))) + (enter-prim . #s(stx-boundary (s0 s1 #f))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 #f))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary #f)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . #f))) + (enter-prim . #s(stx-boundary (s0 . #f))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 #f))) + (return . #s(stx-boundary (s0 #f))) + (exit-list . #s(stx-boundary (s0 (s1 #f)))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 #f)))) + (return . #s(stx-boundary (s0 s1 (s2 #f)))) + (module-lift-end-loop) + (next-group . #f) + (next . #f) + (exit-prim . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) + (return . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) + (rename-one + . + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) + (exit-prim + . + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) + (exit-prim + . + #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 8))))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 8))))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 8))))) + (enter-local . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (local-pre . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (start . #f) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8)))) + . + #s(stx-boundary (s5 (s1 s3) (s4 8)))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (local-post . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (exit-local . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (macro-post-x + #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8))))) + . + #s(stx-boundary (s6 s7 (s8 (s2 s4) (s5 8))))) + (exit-macro . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) + (visit . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) + (return . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) + (rename-one . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) + (splice + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8)))) + #s(stx-boundary (s5 s6 (s1))) + #s(stx-boundary (s5 s6 (s7 (s1) (s1))))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (prim-stop . #f) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (rename-one . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (prim-define-syntaxes . #f) + (prepare-env . #f) + (phase-up . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 8)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1) (s2 8)))) + (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 8)))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 8))) + . + #s(stx-boundary (s3 (s1) (s2 8)))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 8)))) + (visit . #s(stx-boundary (s0 (s1) (s2 8)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 8)))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 8)))) + (enter-block . #s(stx-boundary ((s0 8)))) + (block-renames #s(stx-boundary ((s0 8))) . #s(stx-boundary ((s0 8)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 8))) + (exit-check . #s(stx-boundary (s0 8))) + (block->list . #s(stx-boundary ((s0 8)))) + (enter-list . #s(stx-boundary ((s0 8)))) + (next . #f) + (visit . #s(stx-boundary (s0 8))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)))) ((let () (define-syntax (ok stx) (quote-syntax 8)) (define (ident x) x) @@ -6455,469 +7003,33 @@ (return . #s(stx-boundary (s0 (s1 () (s1 (((s2) (s3 (s4) s4))) (s5 9)))))))) - ((module m '#%kernel 5) + ((set! __x 99) . ((start-top . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3) 5))) - (enter-check . #s(stx-boundary (s0 s1 (s2 s3) 5))) - (exit-check . #s(stx-boundary (s0 s1 (s2 s3) 5))) - (visit . #s(stx-boundary (s0 s1 (s2 s3) 5))) + (visit . #s(stx-boundary (s0 (s1 s2 99)))) + (enter-check . #s(stx-boundary (s0 (s1 s2 99)))) + (exit-check . #s(stx-boundary (s0 (s1 s2 99)))) + (visit . #s(stx-boundary (s0 (s1 s2 99)))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) 5))) - (prim-module . #f) - (prepare-env . #f) - (rename-one . #s(stx-boundary 5)) - (enter-check . #s(stx-boundary 5)) - (exit-check . #s(stx-boundary 5)) - (tag . #s(stx-boundary (s0 5))) - (enter-check . #s(stx-boundary (s0 5))) - (exit-check . #s(stx-boundary (s0 5))) - (visit . #s(stx-boundary (s0 5))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 5))) - (prim-module-begin . #f) - (rename-one . #s(stx-boundary (s0 5))) - (next . #f) - (visit . #s(stx-boundary 5)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 5))) - (enter-prim . #s(stx-boundary (s0 . 5))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 5))) - (return . #s(stx-boundary (s0 5))) - (rename-one . #s(stx-boundary (s0 5))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (visit . #s(stx-boundary (s0 5))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 5))) - (prim-quote . #f) - (exit-prim . #s(stx-boundary (s0 5))) - (return . #s(stx-boundary (s0 5))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (exit-prim . #s(stx-boundary (s0 (s1 5)))) - (return . #s(stx-boundary (s0 (s1 5)))) - (rename-one . #s(stx-boundary (s0 s1 (s2 s3) (s4 (s2 5))))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 (s2 5))))) - (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 (s2 5))))))) - ((module m racket/base - (define-syntax (ok stx) - (syntax-local-lift-require 'racket/list #'foldl)) - (ok)) - . - ((start-top . #f) - (visit - . - #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 (s7 s8) (s9 s10))) (s4)))) - (enter-check - . - #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 (s7 s8) (s9 s10))) (s4)))) - (exit-check - . - #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 (s7 s8) (s9 s10))) (s4)))) - (visit - . - #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 (s7 s8) (s9 s10))) (s4)))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 (s7 s8) (s9 s10))) (s4)))) - (prim-module . #f) - (prepare-env . #f) - (tag . #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (rename-one - . - #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (enter-check - . - #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (visit . #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (macro-pre-x - . - #s(stx-boundary (s0 (s1 (s2 s3) (s4 (s5 s6) (s7 s8))) (s2)))) - (macro-post-x - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) - (s9))) - . - #s(stx-boundary (s15 (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) (s9)))) - (exit-macro - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) - (s9)))) - (return - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) - (s9)))) - (visit - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) - (s9)))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) - (s9)))) - (macro-pre-x - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 (s3 s12) (s13 s14))) - (s9)))) - (macro-post-x - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) - (s1 s2 (s11)))) - . - #s(stx-boundary - (s17 - (s3 s4 (s5 s6) (s7 s8) (s9 #f)) - (s10 (s11 s12) (s13 (s5 s14) (s15 s16))) - (s11)))) - (exit-macro - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) - (s1 s2 (s11))))) - (return - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) - (s1 s2 (s11))))) - (exit-check - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) - (s1 s2 (s11))))) - (visit - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) - (s1 s2 (s11))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) - (s1 s2 (s11))))) - (prim-module-begin . #f) - (rename-one - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 (s5 s14) (s15 s16)))) - (s1 s2 (s11))))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) - (macro-pre-x - . - #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) - (enter-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (local-pre . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (start . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (local-post . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (exit-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (macro-post-x - #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)))) - . - #s(stx-boundary (s8 s9 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (exit-macro . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (visit . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (return . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (rename-one . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (splice - #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f))) - #s(stx-boundary (s7 s8 (s9 (s10 s11) (s12 (s2 s13) (s14 s15))))) - #s(stx-boundary (s7 s8 (s10)))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (rename-one . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-submodule . #f) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-module . #f) - (prepare-env . #f) - (tag . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (prim-module-begin . #f) - (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (next . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (rename-one . #s(stx-boundary (s0 s1))) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-require . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (next . #f) - (visit . #s(stx-boundary (s0 #f))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 #f))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 #f))) - (return . #s(stx-boundary (s0 #f))) - (rename-one . #s(stx-boundary (s0 #f))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (next . #f) - (visit . #s(stx-boundary (s0 #f))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 #f))) - (enter-prim . #s(stx-boundary (s0 s1 #f))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 #f))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary #f)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . #f))) - (enter-prim . #s(stx-boundary (s0 . #f))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 #f))) - (return . #s(stx-boundary (s0 #f))) - (exit-list . #s(stx-boundary (s0 (s1 #f)))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 #f)))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (exit-prim . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) - (return . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) - (rename-one - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (exit-prim - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (exit-prim - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 (s6 s7) (s8 s9)))))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 (s6 s7) (s8 s9)))))) - (macro-pre-x - . - #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 (s6 s7) (s8 s9)))))) - (enter-local . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) - (local-pre . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) - (start . #f) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 s7))))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) - . - #s(stx-boundary (s9 (s1 s3) (s4 (s5 s6) (s7 s8))))) - (exit-macro - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (local-post - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (exit-local - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (macro-post-x - #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9)))))) - . - #s(stx-boundary (s10 s11 (s12 (s2 s4) (s5 (s6 s7) (s8 s9)))))) - (exit-macro - . - #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) - (visit - . - #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) - (prim-stop . #f) - (exit-prim - . - #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) - (return - . - #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) - (rename-one - . - #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 (s6 s7) (s8 s9))))))) - (splice - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8))))) - #s(stx-boundary (s9 s10 (s1)))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (rename-one - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (enter-prim - . - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 s8)))))) - (prim-define-syntaxes . #f) - (prepare-env . #f) - (phase-up . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) - (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6)))) - . - #s(stx-boundary (s7 (s1) (s2 (s3 s4) (s5 s6))))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 s6))))) - (prim-lambda . #f) - (lambda-renames - #s(stx-boundary (s0)) - . - #s(stx-boundary ((s1 (s2 s3) (s4 s5))))) - (enter-block . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) - (block-renames - #s(stx-boundary ((s0 (s1 s2) (s3 s4)))) - . - #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) - (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) - (block->list . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) - (enter-list . #s(stx-boundary ((s0 (s1 s2) (s3 s4))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 s4)))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)))) - ((with-continuation-mark __x __y __z) - . - ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 s2 s3 s4)))) - (enter-check . #s(stx-boundary (s0 (s1 s2 s3 s4)))) - (exit-check . #s(stx-boundary (s0 (s1 s2 s3 s4)))) - (visit . #s(stx-boundary (s0 (s1 s2 s3 s4)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2 s3 s4)))) + (enter-prim . #s(stx-boundary (s0 (s1 s2 99)))) (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 s1 s2 s3))) + (visit . #s(stx-boundary (s0 s1 99))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 s2 s3))) - (prim-with-continuation-mark . #f) - (visit . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 99))) + (prim-set! . #f) (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . s1))) - (enter-prim . #s(stx-boundary (s0 . s1))) - (prim-#%top . #f) - (exit-prim . #s(stx-boundary (s0 . s1))) - (return . #s(stx-boundary (s0 . s1))) (next . #f) - (visit . #s(stx-boundary s0)) + (visit . #s(stx-boundary 99)) (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . s1))) - (enter-prim . #s(stx-boundary (s0 . s1))) - (prim-#%top . #f) - (exit-prim . #s(stx-boundary (s0 . s1))) - (return . #s(stx-boundary (s0 . s1))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . s1))) - (enter-prim . #s(stx-boundary (s0 . s1))) - (prim-#%top . #f) - (exit-prim . #s(stx-boundary (s0 . s1))) - (return . #s(stx-boundary (s0 . s1))) - (exit-prim . #s(stx-boundary (s0 (s1 . s2) (s1 . s3) (s1 . s4)))) - (return . #s(stx-boundary (s0 (s1 . s2) (s1 . s3) (s1 . s4)))) - (exit-prim . #s(stx-boundary (s0 (s1 (s2 . s3) (s2 . s4) (s2 . s5))))) - (return . #s(stx-boundary (s0 (s1 (s2 . s3) (s2 . s4) (s2 . s5))))))) + (tag . #s(stx-boundary (s0 . 99))) + (enter-prim . #s(stx-boundary (s0 . 99))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 99))) + (return . #s(stx-boundary (s0 99))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 99)))) + (return . #s(stx-boundary (s0 s1 (s2 99)))) + (exit-prim . #s(stx-boundary (s0 (s1 s2 (s3 99))))) + (return . #s(stx-boundary (s0 (s1 s2 (s3 99))))))) ((let () (define-syntax (lift stx) (syntax-local-lift-expression #'(+ 1 2))) (lift)) @@ -7233,192 +7345,76 @@ . #s(stx-boundary (s0 (s1 (s2) (s3 s4 (s5 1) (s5 2))) (s6 (s7 () (s7 () s2)))))))) - ((begin 1 __x (+ 3 4)) + ((let () (define (ok x) '8) (ok 5)) . ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 1 s2 (s3 3 4))))) - (enter-check . #s(stx-boundary (s0 (s1 1 s2 (s3 3 4))))) - (exit-check . #s(stx-boundary (s0 (s1 1 s2 (s3 3 4))))) - (visit . #s(stx-boundary (s0 (s1 1 s2 (s3 3 4))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 1 s2 (s3 3 4))))) - (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 1 s1 (s2 3 4)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 1 s1 (s2 3 4)))) - (prim-begin . #f) - (enter-list . #s(stx-boundary (1 s0 (s1 3 4)))) - (next . #f) - (visit . #s(stx-boundary 1)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 1))) - (enter-prim . #s(stx-boundary (s0 . 1))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 1))) - (return . #s(stx-boundary (s0 1))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . s1))) - (enter-prim . #s(stx-boundary (s0 . s1))) - (prim-#%top . #f) - (exit-prim . #s(stx-boundary (s0 . s1))) - (return . #s(stx-boundary (s0 . s1))) - (next . #f) - (visit . #s(stx-boundary (s0 3 4))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 3 4))) - (enter-macro . #s(stx-boundary (s0 s1 3 4))) - (macro-pre-x . #s(stx-boundary (s0 s1 3 4))) - (macro-post-x - #s(stx-boundary (s0 s1 3 4)) - . - #s(stx-boundary (s0 s1 3 4))) - (exit-macro . #s(stx-boundary (s0 s1 3 4))) - (visit . #s(stx-boundary (s0 s1 3 4))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 3 4))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 3 4))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary 3)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 3))) - (enter-prim . #s(stx-boundary (s0 . 3))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 3))) - (return . #s(stx-boundary (s0 3))) - (next . #f) - (visit . #s(stx-boundary 4)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 4))) - (enter-prim . #s(stx-boundary (s0 . 4))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 4))) - (return . #s(stx-boundary (s0 4))) - (exit-list . #s(stx-boundary (s0 (s1 3) (s1 4)))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 3) (s2 4)))) - (return . #s(stx-boundary (s0 s1 (s2 3) (s2 4)))) - (exit-list . #s(stx-boundary ((s0 1) (s1 . s2) (s3 s4 (s0 3) (s0 4))))) - (exit-prim - . - #s(stx-boundary (s0 (s1 1) (s2 . s3) (s4 s5 (s1 3) (s1 4))))) - (return . #s(stx-boundary (s0 (s1 1) (s2 . s3) (s4 s5 (s1 3) (s1 4))))) - (exit-prim - . - #s(stx-boundary (s0 (s1 (s2 1) (s3 . s4) (s5 s6 (s2 3) (s2 4)))))) - (return - . - #s(stx-boundary (s0 (s1 (s2 1) (s3 . s4) (s5 s6 (s2 3) (s2 4)))))))) - ((let () - (define-syntax (ok stx) (quote-syntax 8)) - (define-syntax (second stx) (quote-syntax (ok 6))) - (second 5)) - . - ((start-top . #f) - (visit - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s4) (s5 (s3 6))) (s6 5))))) + (visit . #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 8)) (s3 5))))) (enter-check . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s4) (s5 (s3 6))) (s6 5))))) - (exit-check - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s4) (s5 (s3 6))) (s6 5))))) - (visit - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s4) (s5 (s3 6))) (s6 5))))) + #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 8)) (s3 5))))) + (exit-check . #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 8)) (s3 5))))) + (visit . #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 8)) (s3 5))))) (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s4) (s5 (s3 6))) (s6 5))))) + (enter-prim . #s(stx-boundary (s0 (s1 () (s2 (s3 s4) (s5 8)) (s3 5))))) (prim-#%expression . #f) - (visit - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) + (visit . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) - (macro-pre-x - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) + (enter-macro . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) + (macro-pre-x . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) (macro-post-x - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5))) + #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5))) . - #s(stx-boundary - (s6 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) - (exit-macro - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) - (visit - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) + #s(stx-boundary (s5 () (s1 (s2 s3) (s4 8)) (s2 5)))) + (exit-macro . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) + (visit . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) + (enter-prim . #s(stx-boundary (s0 () (s1 (s2 s3) (s4 8)) (s2 5)))) (prim-let-values . #f) - (let-renames - () - . - #s(stx-boundary - ((s0 (s1 s2) (s3 8)) (s0 (s4 s2) (s3 (s1 6))) (s4 5)))) + (let-renames () . #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s1 5)))) (next-group . #f) - (enter-block - . - #s(stx-boundary - ((s0 (s1 s2) (s3 8)) (s0 (s4 s2) (s3 (s1 6))) (s4 5)))) + (enter-block . #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s1 5)))) (block-renames - #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s0 (s4 s2) (s3 (s1 6))) (s4 5))) + #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s1 5))) . - #s(stx-boundary - ((s0 (s1 s2) (s3 8)) (s0 (s4 s2) (s3 (s1 6))) (s4 5)))) + #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s1 5)))) (next . #f) (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 8)))) (visit . #s(stx-boundary (s0 (s1 s2) (s3 8)))) (resolve . #s(stx-boundary s0)) (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 8)))) (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 (s3) (s4 8)))) + . + #s(stx-boundary (s0 (s1 s3) (s4 8)))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) + (return . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) (macro-post-x #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8)))) . - #s(stx-boundary (s5 (s1 s3) (s4 8)))) + #s(stx-boundary (s5 s1 (s2 (s3) (s4 8))))) (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (prim-define-syntaxes . #f) + (prim-define-values . #f) (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 8))))) - (prepare-env . #f) - (enter-bind . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 8)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 5))) + (exit-check . #s(stx-boundary (s0 5))) + (block->letrec #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 8)))) (s1 5)))) + (visit . #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 8)))) (s1 5)))) (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1) (s2 8)))) - (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 8)))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 8))) + (enter-prim . #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 8)))) (s1 5)))) + (prim-letrec-values . #f) + (let-renames + (#s(stx-boundary ((s0) (s1 (s2) (s3 8))))) . - #s(stx-boundary (s3 (s1) (s2 8)))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 8)))) + #s(stx-boundary ((s0 5)))) + (next . #f) (visit . #s(stx-boundary (s0 (s1) (s2 8)))) (resolve . #s(stx-boundary s0)) (enter-prim . #s(stx-boundary (s0 (s1) (s2 8)))) @@ -7435,346 +7431,344 @@ (visit . #s(stx-boundary (s0 8))) (resolve . #s(stx-boundary s0)) (enter-prim . #s(stx-boundary (s0 8))) - (prim-quote-syntax . #f) + (prim-quote . #f) (exit-prim . #s(stx-boundary (s0 8))) (return . #s(stx-boundary (s0 8))) (exit-list . #s(stx-boundary ((s0 8)))) (exit-prim . #s(stx-boundary (s0 (s1) (s2 8)))) (return . #s(stx-boundary (s0 (s1) (s2 8)))) + (next-group . #f) + (enter-list . #s(stx-boundary ((s0 5)))) (next . #f) - (exit-bind . #f) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6))))) - . - #s(stx-boundary (s6 (s1 s3) (s4 (s5 6))))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) - (prim-define-syntaxes . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 (s4 6)))))) - (prepare-env . #f) - (enter-bind . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3 6)))) - . - #s(stx-boundary (s4 (s1) (s2 (s3 6))))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 (s2 6))))) - (enter-block . #s(stx-boundary ((s0 (s1 6))))) - (block-renames - #s(stx-boundary ((s0 (s1 6)))) - . - #s(stx-boundary ((s0 (s1 6))))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 6)))) - (exit-check . #s(stx-boundary (s0 (s1 6)))) - (block->list . #s(stx-boundary ((s0 (s1 6))))) - (enter-list . #s(stx-boundary ((s0 (s1 6))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 6)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 6)))) - (prim-quote-syntax . #f) - (exit-prim . #s(stx-boundary (s0 (s1 6)))) - (return . #s(stx-boundary (s0 (s1 6)))) - (exit-list . #s(stx-boundary ((s0 (s1 6))))) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) - (next . #f) - (exit-bind . #f) - (next . #f) - (enter-check . #s(stx-boundary (s0 5))) (visit . #s(stx-boundary (s0 5))) (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 5))) - (macro-pre-x . #s(stx-boundary (s0 5))) - (macro-post-x #s(stx-boundary (s0 6)) . #s(stx-boundary (s1 5))) - (exit-macro . #s(stx-boundary (s0 6))) - (return . #s(stx-boundary (s0 6))) - (visit . #s(stx-boundary (s0 6))) (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 6))) - (macro-pre-x . #s(stx-boundary (s0 6))) - (macro-post-x #s(stx-boundary 8) . #s(stx-boundary (s0 6))) - (exit-macro . #s(stx-boundary 8)) - (return . #s(stx-boundary 8)) - (exit-check . #s(stx-boundary 8)) - (block->letrec - #s(stx-boundary - (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) () 8))) - (visit + (tag . #s(stx-boundary (s0 s1 5))) + (enter-macro . #s(stx-boundary (s0 s1 5))) + (macro-pre-x . #s(stx-boundary (s0 s1 5))) + (macro-post-x #s(stx-boundary (s0 s1 5)) . #s(stx-boundary (s0 s1 5))) + (exit-macro . #s(stx-boundary (s0 s1 5))) + (visit . #s(stx-boundary (s0 s1 5))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 5))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 5))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary 5)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 5))) + (enter-prim . #s(stx-boundary (s0 . 5))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 5))) + (return . #s(stx-boundary (s0 5))) + (exit-list . #s(stx-boundary (s0 (s1 5)))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 5)))) + (return . #s(stx-boundary (s0 s1 (s2 5)))) + (exit-list . #s(stx-boundary ((s0 s1 (s2 5))))) + (exit-prim + . + #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 8)))) (s5 s1 (s4 5))))) + (return + . + #s(stx-boundary (s0 (((s1) (s2 (s3) (s4 8)))) (s5 s1 (s4 5))))) + (exit-prim . #s(stx-boundary - (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) () 8))) + (s0 () (s0 (((s1) (s2 (s3) (s4 8)))) (s5 s1 (s4 5)))))) + (return + . + #s(stx-boundary + (s0 () (s0 (((s1) (s2 (s3) (s4 8)))) (s5 s1 (s4 5)))))) + (exit-prim + . + #s(stx-boundary + (s0 (s1 () (s1 (((s2) (s3 (s4) (s5 8)))) (s6 s2 (s5 5))))))) + (return + . + #s(stx-boundary + (s0 (s1 () (s1 (((s2) (s3 (s4) (s5 8)))) (s6 s2 (s5 5))))))))) + ((begin0 '3 '5) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) + (enter-check . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) + (exit-check . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) + (visit . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 (s1 3) (s1 5)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 3) (s1 5)))) + (prim-begin0 . #f) + (next . #f) + (visit . #s(stx-boundary (s0 3))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 3))) + (prim-quote . #f) + (exit-prim . #s(stx-boundary (s0 3))) + (return . #s(stx-boundary (s0 3))) + (next . #f) + (enter-list . #s(stx-boundary ((s0 5)))) + (next . #f) + (visit . #s(stx-boundary (s0 5))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 5))) + (prim-quote . #f) + (exit-prim . #s(stx-boundary (s0 5))) + (return . #s(stx-boundary (s0 5))) + (exit-list . #s(stx-boundary ((s0 5)))) + (exit-prim . #s(stx-boundary (s0 (s1 3) (s1 5)))) + (return . #s(stx-boundary (s0 (s1 3) (s1 5)))) + (exit-prim . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) + (return . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))))) + ((case-lambda ((x) x) ((x y) (+ x y))) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s2 s3)))))) + (enter-check + . + #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s2 s3)))))) + (exit-check + . + #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s2 s3)))))) + (visit . #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s2 s3)))))) (resolve . #s(stx-boundary s0)) (enter-prim . - #s(stx-boundary - (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) () 8))) - (prim-letrec-syntaxes+values . #f) - (letrec-syntaxes-renames - (#s(stx-boundary ((s0) (s1 (s2) (s3 8)))) - #s(stx-boundary ((s4) (s1 (s2) (s3 (s0 6)))))) - () - . - #s(stx-boundary (8))) - (prepare-env . #f) - (next-group . #f) - (enter-list . #s(stx-boundary (8))) - (next . #f) - (visit . #s(stx-boundary 8)) + #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s2 s3)))))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 ((s1) s1) ((s1 s2) (s3 s1 s2))))) (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 8))) - (enter-prim . #s(stx-boundary (s0 . 8))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 8))) - (return . #s(stx-boundary (s0 8))) - (exit-list . #s(stx-boundary ((s0 8)))) - (tag . #s(stx-boundary (s0 () (s1 8)))) - (exit-prim . #s(stx-boundary (s0 () (s1 8)))) - (return . #s(stx-boundary (s0 () (s1 8)))) - (exit-prim . #s(stx-boundary (s0 () (s0 () (s1 8))))) - (return . #s(stx-boundary (s0 () (s0 () (s1 8))))) - (exit-prim . #s(stx-boundary (s0 (s1 () (s1 () (s2 8)))))) - (return . #s(stx-boundary (s0 (s1 () (s1 () (s2 8)))))))) + (enter-prim . #s(stx-boundary (s0 ((s1) s1) ((s1 s2) (s3 s1 s2))))) + (prim-case-lambda . #f) + (next . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) + (enter-block . #s(stx-boundary (s0))) + (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) + (next . #f) + (enter-check . #s(stx-boundary s0)) + (exit-check . #s(stx-boundary s0)) + (block->list . #s(stx-boundary (s0))) + (enter-list . #s(stx-boundary (s0))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0))) + (next . #f) + (lambda-renames + #s(stx-boundary (s0 s1)) + . + #s(stx-boundary ((s2 s0 s1)))) + (enter-block . #s(stx-boundary ((s0 s1 s2)))) + (block-renames + #s(stx-boundary ((s0 s1 s2))) + . + #s(stx-boundary ((s0 s1 s2)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 s1 s2))) + (exit-check . #s(stx-boundary (s0 s1 s2))) + (block->list . #s(stx-boundary ((s0 s1 s2)))) + (enter-list . #s(stx-boundary ((s0 s1 s2)))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 s2))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 s2 s3))) + (enter-macro . #s(stx-boundary (s0 s1 s2 s3))) + (macro-pre-x . #s(stx-boundary (s0 s1 s2 s3))) + (macro-post-x + #s(stx-boundary (s0 s1 s2 s3)) + . + #s(stx-boundary (s0 s1 s2 s3))) + (exit-macro . #s(stx-boundary (s0 s1 s2 s3))) + (visit . #s(stx-boundary (s0 s1 s2 s3))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 s2 s3))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 s1 s2))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0 s1 s2))) + (exit-prim . #s(stx-boundary (s0 s1 s2 s3))) + (return . #s(stx-boundary (s0 s1 s2 s3))) + (exit-list . #s(stx-boundary ((s0 s1 s2 s3)))) + (exit-prim . #s(stx-boundary (s0 ((s1) s1) ((s1 s2) (s3 s4 s1 s2))))) + (return . #s(stx-boundary (s0 ((s1) s1) ((s1 s2) (s3 s4 s1 s2))))) + (exit-prim + . + #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s5 s2 s3)))))) + (return + . + #s(stx-boundary (s0 (s1 ((s2) s2) ((s2 s3) (s4 s5 s2 s3)))))))) ((let () (define-syntax (ok stx) - (define-values - (exp opaque) - (syntax-local-expand-expression (cadr (syntax-e stx)))) - opaque) - (#%expression (ok 9))) + (local-expand (cadr (syntax-e stx)) 'expression #f)) + (ok 9)) . ((start-top . #f) (visit . #s(stx-boundary - (s0 - (s1 - () - (s2 (s3 s4) (s5 (s6 s7) (s8 (s9 (s10 s4)))) s7) - (s0 (s3 9)))))) + (s0 (s1 () (s2 (s3 s4) (s5 (s6 (s7 s4)) (s8 s9) #f)) (s3 9))))) (enter-check . #s(stx-boundary - (s0 - (s1 - () - (s2 (s3 s4) (s5 (s6 s7) (s8 (s9 (s10 s4)))) s7) - (s0 (s3 9)))))) + (s0 (s1 () (s2 (s3 s4) (s5 (s6 (s7 s4)) (s8 s9) #f)) (s3 9))))) (exit-check . #s(stx-boundary - (s0 - (s1 - () - (s2 (s3 s4) (s5 (s6 s7) (s8 (s9 (s10 s4)))) s7) - (s0 (s3 9)))))) + (s0 (s1 () (s2 (s3 s4) (s5 (s6 (s7 s4)) (s8 s9) #f)) (s3 9))))) (visit . #s(stx-boundary - (s0 - (s1 - () - (s2 (s3 s4) (s5 (s6 s7) (s8 (s9 (s10 s4)))) s7) - (s0 (s3 9)))))) + (s0 (s1 () (s2 (s3 s4) (s5 (s6 (s7 s4)) (s8 s9) #f)) (s3 9))))) (resolve . #s(stx-boundary s0)) (enter-prim . #s(stx-boundary - (s0 - (s1 - () - (s2 (s3 s4) (s5 (s6 s7) (s8 (s9 (s10 s4)))) s7) - (s0 (s3 9)))))) + (s0 (s1 () (s2 (s3 s4) (s5 (s6 (s7 s4)) (s8 s9) #f)) (s3 9))))) (prim-#%expression . #f) (visit . #s(stx-boundary - (s0 - () - (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) - (s10 (s2 9))))) + (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) (resolve . #s(stx-boundary s0)) (enter-macro . #s(stx-boundary - (s0 - () - (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) - (s10 (s2 9))))) + (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) (macro-pre-x . #s(stx-boundary - (s0 - () - (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) - (s10 (s2 9))))) + (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) (macro-post-x #s(stx-boundary - (s0 - () - (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) - (s10 (s2 9)))) + (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9))) . #s(stx-boundary - (s11 - () - (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) - (s10 (s2 9))))) + (s9 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) (exit-macro . #s(stx-boundary - (s0 - () - (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) - (s10 (s2 9))))) + (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) (visit . #s(stx-boundary - (s0 - () - (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) - (s10 (s2 9))))) + (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) (resolve . #s(stx-boundary s0)) (enter-prim . #s(stx-boundary - (s0 - () - (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) - (s10 (s2 9))))) + (s0 () (s1 (s2 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)) (s2 9)))) (prim-let-values . #f) (let-renames () . - #s(stx-boundary - ((s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5) (s9 (s1 9))))) + #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)) (s1 9)))) (next-group . #f) (enter-block . - #s(stx-boundary - ((s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5) (s9 (s1 9))))) + #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)) (s1 9)))) (block-renames - #s(stx-boundary - ((s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5) (s9 (s1 9)))) + #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)) (s1 9))) . - #s(stx-boundary - ((s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5) (s9 (s1 9))))) + #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)) (s1 9)))) (next . #f) (enter-check . - #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5))) - (visit - . - #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5))) + #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)))) (resolve . #s(stx-boundary s0)) (enter-macro . - #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5))) + #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)))) (macro-pre-x . - #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5))) + #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s2)) (s6 s7) #f)))) (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6))) + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f)))) . - #s(stx-boundary (s10 (s1 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6))) + #s(stx-boundary (s9 (s1 s3) (s4 (s5 (s6 s3)) (s7 s8) #f)))) (exit-macro . - #s(stx-boundary - (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6)))) + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f))))) (return . - #s(stx-boundary - (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6)))) + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f))))) (exit-check . - #s(stx-boundary - (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6)))) + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f))))) (prim-define-syntaxes . #f) (rename-one . - #s(stx-boundary ((s0) (s1 (s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5)))) + #s(stx-boundary ((s0) (s1 (s2) (s3 (s4 (s5 s2)) (s6 s7) #f))))) (prepare-env . #f) (enter-bind . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) - (macro-pre-x - . - #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) + (enter-macro . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) + (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4)) + #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f))) . - #s(stx-boundary (s8 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) - (exit-macro - . - #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) + #s(stx-boundary (s7 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3 (s4 s1)) (s5 s6) #f)))) (prim-lambda . #f) (lambda-renames #s(stx-boundary (s0)) . - #s(stx-boundary ((s1 (s2 s3) (s4 (s5 (s6 s0)))) s3))) - (enter-block . #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s6)))) s2))) + #s(stx-boundary ((s1 (s2 (s3 s0)) (s4 s5) #f)))) + (enter-block . #s(stx-boundary ((s0 (s1 (s2 s3)) (s4 s5) #f)))) (block-renames - #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s6)))) s2)) + #s(stx-boundary ((s0 (s1 (s2 s3)) (s4 s5) #f))) . - #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s6)))) s2))) + #s(stx-boundary ((s0 (s1 (s2 s3)) (s4 s5) #f)))) (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s6)))))) - (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s6)))))) - (prim-define-values . #f) - (rename-one . #s(stx-boundary ((s0 s1) (s2 (s3 (s4 s5)))))) + (enter-check . #s(stx-boundary (s0 (s1 (s2 s3)) (s4 s5) #f))) + (exit-check . #s(stx-boundary (s0 (s1 (s2 s3)) (s4 s5) #f))) + (block->list . #s(stx-boundary ((s0 (s1 (s2 s3)) (s4 s5) #f)))) + (enter-list . #s(stx-boundary ((s0 (s1 (s2 s3)) (s4 s5) #f)))) (next . #f) - (enter-check . #s(stx-boundary s0)) - (exit-check . #s(stx-boundary s0)) - (block->letrec #s(stx-boundary (s0 (((s1 s2) (s3 (s4 (s5 s6))))) s2))) - (visit . #s(stx-boundary (s0 (((s1 s2) (s3 (s4 (s5 s6))))) s2))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (((s1 s2) (s3 (s4 (s5 s6))))) s2))) - (prim-letrec-values . #f) - (let-renames - (#s(stx-boundary ((s0 s1) (s2 (s3 (s4 s5)))))) - . - #s(stx-boundary (s1))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 (s2 s3))))) + (visit . #s(stx-boundary (s0 (s1 (s2 s3)) (s4 s5) #f))) (resolve . #s(stx-boundary s0)) (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) + (tag . #s(stx-boundary (s0 s1 (s2 (s3 s4)) (s5 s6) #f))) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3 s4)) (s5 s6) #f))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3 s4)) (s5 s6) #f))) (macro-post-x - #s(stx-boundary (s0 s1 (s2 (s3 s4)))) + #s(stx-boundary (s0 s1 (s2 (s3 s4)) (s5 s6) #f)) . - #s(stx-boundary (s0 s1 (s2 (s3 s4))))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) - (visit . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) + #s(stx-boundary (s0 s1 (s2 (s3 s4)) (s5 s6) #f))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3 s4)) (s5 s6) #f))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3 s4)) (s5 s6) #f))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) + (enter-prim . #s(stx-boundary (s0 s1 (s2 (s3 s4)) (s5 s6) #f))) (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 (s1 (s2 s3))))) + (enter-list . #s(stx-boundary (s0 (s1 (s2 s3)) (s4 s5) #f))) (next . #f) (visit . #s(stx-boundary s0)) (resolve . #s(stx-boundary s0)) @@ -7835,78 +7829,75 @@ (exit-list . #s(stx-boundary (s0 (s1 s2 s3)))) (exit-prim . #s(stx-boundary (s0 s1 (s0 s2 s3)))) (return . #s(stx-boundary (s0 s1 (s0 s2 s3)))) - (exit-list . #s(stx-boundary (s0 (s1 s2 (s1 s3 s4))))) - (exit-prim . #s(stx-boundary (s0 s1 (s0 s2 (s0 s3 s4))))) - (return . #s(stx-boundary (s0 s1 (s0 s2 (s0 s3 s4))))) - (next-group . #f) - (enter-list . #s(stx-boundary (s0))) (next . #f) - (visit . #s(stx-boundary s0)) + (visit . #s(stx-boundary (s0 s1))) (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0))) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-quote . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (return . #s(stx-boundary (s0 s1))) + (next . #f) + (visit . #s(stx-boundary #f)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . #f))) + (enter-prim . #s(stx-boundary (s0 . #f))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 #f))) + (return . #s(stx-boundary (s0 #f))) + (exit-list . #s(stx-boundary (s0 (s1 s2 (s1 s3 s4)) (s5 s6) (s5 #f)))) (exit-prim . - #s(stx-boundary (s0 (((s1 s2) (s3 s4 (s3 s5 (s3 s6 s7))))) s2))) - (return + #s(stx-boundary (s0 s1 (s0 s2 (s0 s3 s4)) (s5 s6) (s5 #f)))) + (return . #s(stx-boundary (s0 s1 (s0 s2 (s0 s3 s4)) (s5 s6) (s5 #f)))) + (exit-list . - #s(stx-boundary (s0 (((s1 s2) (s3 s4 (s3 s5 (s3 s6 s7))))) s2))) + #s(stx-boundary ((s0 s1 (s0 s2 (s0 s3 s4)) (s5 s6) (s5 #f))))) (exit-prim . - #s(stx-boundary - (s0 (s1) (s2 (((s3 s4) (s5 s6 (s5 s7 (s5 s8 s1))))) s4)))) + #s(stx-boundary (s0 (s1) (s2 s3 (s2 s4 (s2 s5 s1)) (s6 s7) (s6 #f))))) (return . - #s(stx-boundary - (s0 (s1) (s2 (((s3 s4) (s5 s6 (s5 s7 (s5 s8 s1))))) s4)))) + #s(stx-boundary (s0 (s1) (s2 s3 (s2 s4 (s2 s5 s1)) (s6 s7) (s6 #f))))) (next . #f) (exit-bind . #f) (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 9)))) - (exit-check . #s(stx-boundary (s0 (s1 9)))) - (block->letrec - #s(stx-boundary - (s0 - (((s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6))) - () - (s10 (s1 9))))) - (visit - . - #s(stx-boundary - (s0 - (((s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6))) - () - (s10 (s1 9))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 - (((s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6))) - () - (s10 (s1 9))))) - (prim-letrec-syntaxes+values . #f) - (letrec-syntaxes-renames - (#s(stx-boundary ((s0) (s1 (s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5)))) - () - . - #s(stx-boundary ((s9 (s0 9))))) - (prepare-env . #f) - (next-group . #f) - (enter-list . #s(stx-boundary ((s0 (s1 9))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 9)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 9)))) - (prim-#%expression . #f) + (enter-check . #s(stx-boundary (s0 9))) (visit . #s(stx-boundary (s0 9))) (resolve . #s(stx-boundary s0)) (enter-macro . #s(stx-boundary (s0 9))) (macro-pre-x . #s(stx-boundary (s0 9))) (enter-local . #s(stx-boundary 9)) (local-pre . #s(stx-boundary 9)) - (start . #f) + (enter-check . #s(stx-boundary 9)) + (exit-check . #s(stx-boundary 9)) + (local-post . #s(stx-boundary 9)) + (exit-local . #s(stx-boundary 9)) + (macro-post-x #s(stx-boundary 9) . #s(stx-boundary (s0 9))) + (exit-macro . #s(stx-boundary 9)) + (return . #s(stx-boundary 9)) + (exit-check . #s(stx-boundary 9)) + (block->letrec + #s(stx-boundary + (s0 (((s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f)))) () 9))) + (visit + . + #s(stx-boundary + (s0 (((s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f)))) () 9))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 (((s1) (s2 (s3) (s4 (s5 (s6 s3)) (s7 s8) #f)))) () 9))) + (prim-letrec-syntaxes+values . #f) + (letrec-syntaxes-renames + (#s(stx-boundary ((s0) (s1 (s2) (s3 (s4 (s5 s2)) (s6 s7) #f))))) + () + . + #s(stx-boundary (9))) + (prepare-env . #f) + (next-group . #f) + (enter-list . #s(stx-boundary (9))) + (next . #f) (visit . #s(stx-boundary 9)) (resolve . #s(stx-boundary s0)) (tag . #s(stx-boundary (s0 . 9))) @@ -7914,16 +7905,6 @@ (prim-#%datum . #f) (exit-prim . #s(stx-boundary (s0 9))) (return . #s(stx-boundary (s0 9))) - (local-post . #s(stx-boundary (s0 9))) - (opaque-expr . #s(stx-boundary #:opaque)) - (exit-local . #s(stx-boundary (s0 9))) - (macro-post-x #s(stx-boundary #:opaque) . #s(stx-boundary (s0 9))) - (exit-macro . #s(stx-boundary #:opaque)) - (visit . #s(stx-boundary #:opaque)) - (opaque-expr . #s(stx-boundary (s0 9))) - (tag . #s(stx-boundary (s0 9))) - (exit-prim . #s(stx-boundary (s0 9))) - (return . #s(stx-boundary (s0 9))) (exit-list . #s(stx-boundary ((s0 9)))) (tag . #s(stx-boundary (s0 () (s1 9)))) (exit-prim . #s(stx-boundary (s0 () (s1 9)))) @@ -7932,1581 +7913,6 @@ (return . #s(stx-boundary (s0 () (s0 () (s1 9))))) (exit-prim . #s(stx-boundary (s0 (s1 () (s1 () (s2 9)))))) (return . #s(stx-boundary (s0 (s1 () (s1 () (s2 9)))))))) - ((lambda (x) (define y (+ x x)) y) - . - ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 (s2) (s3 s4 (s5 s2 s2)) s4)))) - (enter-check . #s(stx-boundary (s0 (s1 (s2) (s3 s4 (s5 s2 s2)) s4)))) - (exit-check . #s(stx-boundary (s0 (s1 (s2) (s3 s4 (s5 s2 s2)) s4)))) - (visit . #s(stx-boundary (s0 (s1 (s2) (s3 s4 (s5 s2 s2)) s4)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 (s2) (s3 s4 (s5 s2 s2)) s4)))) - (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) - (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3)) - . - #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) - (visit . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) - (prim-lambda . #f) - (lambda-renames - #s(stx-boundary (s0)) - . - #s(stx-boundary ((s1 s2 (s3 s0 s0)) s2))) - (enter-block . #s(stx-boundary ((s0 s1 (s2 s3 s3)) s1))) - (block-renames - #s(stx-boundary ((s0 s1 (s2 s3 s3)) s1)) - . - #s(stx-boundary ((s0 s1 (s2 s3 s3)) s1))) - (next . #f) - (enter-check . #s(stx-boundary (s0 s1 (s2 s3 s3)))) - (visit . #s(stx-boundary (s0 s1 (s2 s3 s3)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 s3 s3)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3 s3)))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 s3 s3))) - . - #s(stx-boundary (s0 s1 (s2 s3 s3)))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 s3 s3)))) - (return . #s(stx-boundary (s0 s1 (s2 s3 s3)))) - (visit . #s(stx-boundary (s0 s1 (s2 s3 s3)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 s3 s3)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3 s3)))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 s3 s3))) - . - #s(stx-boundary (s4 s1 (s2 s3 s3)))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 s3 s3)))) - (return . #s(stx-boundary (s0 (s1) (s2 s3 s3)))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 s3 s3)))) - (prim-define-values . #f) - (rename-one . #s(stx-boundary ((s0) (s1 s2 s2)))) - (next . #f) - (enter-check . #s(stx-boundary s0)) - (exit-check . #s(stx-boundary s0)) - (block->letrec #s(stx-boundary (s0 (((s1) (s2 s3 s3))) s1))) - (visit . #s(stx-boundary (s0 (((s1) (s2 s3 s3))) s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (((s1) (s2 s3 s3))) s1))) - (prim-letrec-values . #f) - (let-renames - (#s(stx-boundary ((s0) (s1 s2 s2)))) - . - #s(stx-boundary (s0))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 s1))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 s2 s2))) - (enter-macro . #s(stx-boundary (s0 s1 s2 s2))) - (macro-pre-x . #s(stx-boundary (s0 s1 s2 s2))) - (macro-post-x - #s(stx-boundary (s0 s1 s2 s2)) - . - #s(stx-boundary (s0 s1 s2 s2))) - (exit-macro . #s(stx-boundary (s0 s1 s2 s2))) - (visit . #s(stx-boundary (s0 s1 s2 s2))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 s2 s2))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 s1 s1))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0 s1 s1))) - (exit-prim . #s(stx-boundary (s0 s1 s2 s2))) - (return . #s(stx-boundary (s0 s1 s2 s2))) - (next-group . #f) - (enter-list . #s(stx-boundary (s0))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0))) - (exit-prim . #s(stx-boundary (s0 (((s1) (s2 s3 s4 s4))) s1))) - (return . #s(stx-boundary (s0 (((s1) (s2 s3 s4 s4))) s1))) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 (((s3) (s4 s5 s1 s1))) s3)))) - (return . #s(stx-boundary (s0 (s1) (s2 (((s3) (s4 s5 s1 s1))) s3)))) - (exit-prim - . - #s(stx-boundary (s0 (s1 (s2) (s3 (((s4) (s5 s6 s2 s2))) s4))))) - (return - . - #s(stx-boundary (s0 (s1 (s2) (s3 (((s4) (s5 s6 s2 s2))) s4))))))) - ((module m racket/base (define (proc x) x) (provide proc)) - . - ((start-top . #f) - (visit . #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) s5) (s6 s4)))) - (enter-check . #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) s5) (s6 s4)))) - (exit-check . #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) s5) (s6 s4)))) - (visit . #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) s5) (s6 s4)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) s5) (s6 s4)))) - (prim-module . #f) - (prepare-env . #f) - (tag . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) - (rename-one . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) - (enter-check . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) - (visit . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) - (macro-pre-x . #s(stx-boundary (s0 (s1 (s2 s3) s3) (s4 s2)))) - (macro-post-x - #s(stx-boundary - (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9))) - . - #s(stx-boundary (s12 (s8 (s9 s10) s10) (s11 s9)))) - (exit-macro - . - #s(stx-boundary - (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9)))) - (return - . - #s(stx-boundary - (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9)))) - (visit - . - #s(stx-boundary - (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9)))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary - (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9)))) - (macro-pre-x - . - #s(stx-boundary - (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s8 (s9 s10) s10) (s11 s9)))) - (macro-post-x - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) s12)) - (s1 s2 (s13 s11)))) - . - #s(stx-boundary - (s14 - (s3 s4 (s5 s6) (s7 s8) (s9 #f)) - (s10 (s11 s12) s12) - (s13 s11)))) - (exit-macro - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) s12)) - (s1 s2 (s13 s11))))) - (return - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) s12)) - (s1 s2 (s13 s11))))) - (exit-check - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) s12)) - (s1 s2 (s13 s11))))) - (visit - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) s12)) - (s1 s2 (s13 s11))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) s12)) - (s1 s2 (s13 s11))))) - (prim-module-begin . #f) - (rename-one - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) s12)) - (s1 s2 (s13 s11))))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) - (macro-pre-x - . - #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) - (enter-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (local-pre . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (start . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (local-post . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (exit-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (macro-post-x - #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)))) - . - #s(stx-boundary (s8 s9 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (exit-macro . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (visit . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (return . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (rename-one . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (splice - #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f))) - #s(stx-boundary (s7 s8 (s9 (s10 s11) s11))) - #s(stx-boundary (s7 s8 (s12 s10)))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (rename-one . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-submodule . #f) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-module . #f) - (prepare-env . #f) - (tag . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (prim-module-begin . #f) - (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (next . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (rename-one . #s(stx-boundary (s0 s1))) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-require . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (next . #f) - (visit . #s(stx-boundary (s0 #f))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 #f))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 #f))) - (return . #s(stx-boundary (s0 #f))) - (rename-one . #s(stx-boundary (s0 #f))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (next . #f) - (visit . #s(stx-boundary (s0 #f))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 #f))) - (enter-prim . #s(stx-boundary (s0 s1 #f))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 #f))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary #f)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . #f))) - (enter-prim . #s(stx-boundary (s0 . #f))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 #f))) - (return . #s(stx-boundary (s0 #f))) - (exit-list . #s(stx-boundary (s0 (s1 #f)))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 #f)))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (exit-prim . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) - (return . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) - (rename-one - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (exit-prim - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (exit-prim - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 (s3 s4) s4)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3 s4) s4)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3 s4) s4)))) - (enter-local . #s(stx-boundary (s0 (s1 s2) s2))) - (local-pre . #s(stx-boundary (s0 (s1 s2) s2))) - (start . #f) - (visit . #s(stx-boundary (s0 (s1 s2) s2))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) s2))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) s2))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 (s3) s3))) - . - #s(stx-boundary (s0 (s1 s3) s3))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (visit . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) s3))) - . - #s(stx-boundary (s4 s1 (s2 (s3) s3)))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (local-post . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (exit-local . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (macro-post-x - #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4)))) - . - #s(stx-boundary (s5 s6 (s7 (s2 s4) s4)))) - (exit-macro . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) - (visit . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) - (return . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) - (rename-one . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) s4))))) - (splice - #s(stx-boundary (s0 (s1) (s2 (s3) s3))) - #s(stx-boundary (s4 s5 (s6 s1)))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (rename-one . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (prim-define-values . #f) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 s3)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3)))) - (enter-local . #s(stx-boundary (s0 s1))) - (local-pre . #s(stx-boundary (s0 s1))) - (start . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1))) - (macro-pre-x . #s(stx-boundary (s0 s1))) - (macro-post-x - #s(stx-boundary (s0 (s1 (s2 s3)))) - . - #s(stx-boundary (s4 s3))) - (exit-macro . #s(stx-boundary (s0 (s1 (s2 s3))))) - (visit . #s(stx-boundary (s0 (s1 (s2 s3))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) - (return . #s(stx-boundary (s0 (s1 (s2 s3))))) - (local-post . #s(stx-boundary (s0 (s1 (s2 s3))))) - (exit-local . #s(stx-boundary (s0 (s1 (s2 s3))))) - (macro-post-x - #s(stx-boundary (s0 (s1 (s2 (s3 s4))))) - . - #s(stx-boundary (s5 s6 (s7 s4)))) - (exit-macro . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) - (visit . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) - (return . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) - (rename-one . #s(stx-boundary (s0 (s1 (s2 (s3 s4)))))) - (splice #s(stx-boundary (s0 (s1 (s2 s3))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 (s2 s3))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) - (return . #s(stx-boundary (s0 (s1 (s2 s3))))) - (rename-one . #s(stx-boundary (s0 (s1 (s2 s3))))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (prim-define-values . #f) - (visit . #s(stx-boundary (s0 (s1) s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) s1))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) - (enter-block . #s(stx-boundary (s0))) - (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) - (next . #f) - (enter-check . #s(stx-boundary s0)) - (exit-check . #s(stx-boundary s0)) - (block->list . #s(stx-boundary (s0))) - (enter-list . #s(stx-boundary (s0))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0))) - (exit-prim . #s(stx-boundary (s0 (s1) s1))) - (return . #s(stx-boundary (s0 (s1) s1))) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (next . #f) - (module-lift-end-loop) - (next-group . #f) - (enter-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) - (prim-provide . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1))) - (macro-pre-x . #s(stx-boundary (s0 s1))) - (macro-post-x #s(stx-boundary (s0 s1)) . #s(stx-boundary (s2 s1))) - (exit-macro . #s(stx-boundary (s0 s1))) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (exit-prim . #s(stx-boundary (s0 s1))) - (next . #f) - (exit-prim - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s0 (s5 s6) (s7 s8 (s3 #f)))) - (s9 (s10) (s11 (s12) s12)) - (s13 s10)))) - (return - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s0 (s5 s6) (s7 s8 (s3 #f)))) - (s9 (s10) (s11 (s12) s12)) - (s13 s10)))) - (rename-one - . - #s(stx-boundary - (s0 - s1 - s2 - (s3 - (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) - (s11 (s12) (s13 (s14) s14)) - (s15 s12))))) - (exit-prim - . - #s(stx-boundary - (s0 - s1 - s2 - (s3 - (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) - (s11 (s12) (s13 (s14) s14)) - (s15 s12))))) - (return - . - #s(stx-boundary - (s0 - s1 - s2 - (s3 - (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) - (s11 (s12) (s13 (s14) s14)) - (s15 s12))))))) - ((quote-syntax (stx-quoted)) - . - ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 (s2))))) - (enter-check . #s(stx-boundary (s0 (s1 (s2))))) - (exit-check . #s(stx-boundary (s0 (s1 (s2))))) - (visit . #s(stx-boundary (s0 (s1 (s2))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 (s2))))) - (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 (s1)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1)))) - (prim-quote-syntax . #f) - (exit-prim . #s(stx-boundary (s0 (s1)))) - (return . #s(stx-boundary (s0 (s1)))) - (exit-prim . #s(stx-boundary (s0 (s1 (s2))))) - (return . #s(stx-boundary (s0 (s1 (s2))))))) - ((let () (define (ok x) '8) (define (second y) (ok y)) (second 5)) - . - ((start-top . #f) - (visit - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s7) (s3 s7)) (s6 5))))) - (enter-check - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s7) (s3 s7)) (s6 5))))) - (exit-check - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s7) (s3 s7)) (s6 5))))) - (visit - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s7) (s3 s7)) (s6 5))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s7) (s3 s7)) (s6 5))))) - (prim-#%expression . #f) - (visit - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) - (macro-pre-x - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) - (macro-post-x - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5))) - . - #s(stx-boundary - (s7 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) - (exit-macro - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) - (visit - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) - (prim-let-values . #f) - (let-renames - () - . - #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s0 (s4 s5) (s1 s5)) (s4 5)))) - (next-group . #f) - (enter-block - . - #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s0 (s4 s5) (s1 s5)) (s4 5)))) - (block-renames - #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s0 (s4 s5) (s1 s5)) (s4 5))) - . - #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s0 (s4 s5) (s1 s5)) (s4 5)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 (s3) (s4 8)))) - . - #s(stx-boundary (s0 (s1 s3) (s4 8)))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) - (return . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) - (visit . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8)))) - . - #s(stx-boundary (s5 s1 (s2 (s3) (s4 8))))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (prim-define-values . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 8))))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3)))) - . - #s(stx-boundary (s0 (s1 s3) (s4 s3)))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) - (return . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) - (visit . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3)))) - . - #s(stx-boundary (s5 s1 (s2 (s3) (s4 s3))))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) - (prim-define-values . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 s2))))) - (next . #f) - (enter-check . #s(stx-boundary (s0 5))) - (exit-check . #s(stx-boundary (s0 5))) - (block->letrec - #s(stx-boundary - (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s6) (s1 s6)))) (s5 5)))) - (visit - . - #s(stx-boundary - (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s6) (s1 s6)))) (s5 5)))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s6) (s1 s6)))) (s5 5)))) - (prim-letrec-values . #f) - (let-renames - (#s(stx-boundary ((s0) (s1 (s2) (s3 8)))) - #s(stx-boundary ((s4) (s1 (s5) (s0 s5))))) - . - #s(stx-boundary ((s4 5)))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 8)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 8)))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 8)))) - (enter-block . #s(stx-boundary ((s0 8)))) - (block-renames #s(stx-boundary ((s0 8))) . #s(stx-boundary ((s0 8)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 8))) - (exit-check . #s(stx-boundary (s0 8))) - (block->list . #s(stx-boundary ((s0 8)))) - (enter-list . #s(stx-boundary ((s0 8)))) - (next . #f) - (visit . #s(stx-boundary (s0 8))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 8))) - (prim-quote . #f) - (exit-prim . #s(stx-boundary (s0 8))) - (return . #s(stx-boundary (s0 8))) - (exit-list . #s(stx-boundary ((s0 8)))) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 8)))) - (return . #s(stx-boundary (s0 (s1) (s2 8)))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 s1)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 s1)))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 s0)))) - (enter-block . #s(stx-boundary ((s0 s1)))) - (block-renames #s(stx-boundary ((s0 s1))) . #s(stx-boundary ((s0 s1)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 s1))) - (exit-check . #s(stx-boundary (s0 s1))) - (block->list . #s(stx-boundary ((s0 s1)))) - (enter-list . #s(stx-boundary ((s0 s1)))) - (next . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 s2))) - (enter-macro . #s(stx-boundary (s0 s1 s2))) - (macro-pre-x . #s(stx-boundary (s0 s1 s2))) - (macro-post-x - #s(stx-boundary (s0 s1 s2)) - . - #s(stx-boundary (s0 s1 s2))) - (exit-macro . #s(stx-boundary (s0 s1 s2))) - (visit . #s(stx-boundary (s0 s1 s2))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 s2))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 s1))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0 s1))) - (exit-prim . #s(stx-boundary (s0 s1 s2))) - (return . #s(stx-boundary (s0 s1 s2))) - (exit-list . #s(stx-boundary ((s0 s1 s2)))) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 s3 s1)))) - (return . #s(stx-boundary (s0 (s1) (s2 s3 s1)))) - (next-group . #f) - (enter-list . #s(stx-boundary ((s0 5)))) - (next . #f) - (visit . #s(stx-boundary (s0 5))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 5))) - (enter-macro . #s(stx-boundary (s0 s1 5))) - (macro-pre-x . #s(stx-boundary (s0 s1 5))) - (macro-post-x #s(stx-boundary (s0 s1 5)) . #s(stx-boundary (s0 s1 5))) - (exit-macro . #s(stx-boundary (s0 s1 5))) - (visit . #s(stx-boundary (s0 s1 5))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 5))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 5))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary 5)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 5))) - (enter-prim . #s(stx-boundary (s0 . 5))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 5))) - (return . #s(stx-boundary (s0 5))) - (exit-list . #s(stx-boundary (s0 (s1 5)))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 5)))) - (return . #s(stx-boundary (s0 s1 (s2 5)))) - (exit-list . #s(stx-boundary ((s0 s1 (s2 5))))) - (exit-prim - . - #s(stx-boundary - (s0 - (((s1) (s2 (s3) (s4 8)))) - (s0 (((s5) (s2 (s6) (s7 s1 s6)))) (s7 s5 (s4 5)))))) - (return - . - #s(stx-boundary - (s0 - (((s1) (s2 (s3) (s4 8)))) - (s0 (((s5) (s2 (s6) (s7 s1 s6)))) (s7 s5 (s4 5)))))) - (exit-prim - . - #s(stx-boundary - (s0 - () - (s0 - (((s1) (s2 (s3) (s4 8)))) - (s0 (((s5) (s2 (s6) (s7 s1 s6)))) (s7 s5 (s4 5))))))) - (return - . - #s(stx-boundary - (s0 - () - (s0 - (((s1) (s2 (s3) (s4 8)))) - (s0 (((s5) (s2 (s6) (s7 s1 s6)))) (s7 s5 (s4 5))))))) - (exit-prim - . - #s(stx-boundary - (s0 - (s1 - () - (s1 - (((s2) (s3 (s4) (s5 8)))) - (s1 (((s6) (s3 (s7) (s8 s2 s7)))) (s8 s6 (s5 5)))))))) - (return - . - #s(stx-boundary - (s0 - (s1 - () - (s1 - (((s2) (s3 (s4) (s5 8)))) - (s1 (((s6) (s3 (s7) (s8 s2 s7)))) (s8 s6 (s5 5)))))))))) - ((begin0 '3 '5) - . - ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) - (enter-check . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) - (exit-check . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) - (visit . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) - (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 (s1 3) (s1 5)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 3) (s1 5)))) - (prim-begin0 . #f) - (next . #f) - (visit . #s(stx-boundary (s0 3))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 3))) - (prim-quote . #f) - (exit-prim . #s(stx-boundary (s0 3))) - (return . #s(stx-boundary (s0 3))) - (next . #f) - (enter-list . #s(stx-boundary ((s0 5)))) - (next . #f) - (visit . #s(stx-boundary (s0 5))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 5))) - (prim-quote . #f) - (exit-prim . #s(stx-boundary (s0 5))) - (return . #s(stx-boundary (s0 5))) - (exit-list . #s(stx-boundary ((s0 5)))) - (exit-prim . #s(stx-boundary (s0 (s1 3) (s1 5)))) - (return . #s(stx-boundary (s0 (s1 3) (s1 5)))) - (exit-prim . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))) - (return . #s(stx-boundary (s0 (s1 (s2 3) (s2 5))))))) - ((module m racket/base 'done) - . - ((start-top . #f) - (visit . #s(stx-boundary (s0 s1 s2 (s3 s4)))) - (enter-check . #s(stx-boundary (s0 s1 s2 (s3 s4)))) - (exit-check . #s(stx-boundary (s0 s1 s2 (s3 s4)))) - (visit . #s(stx-boundary (s0 s1 s2 (s3 s4)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 s2 (s3 s4)))) - (prim-module . #f) - (prepare-env . #f) - (rename-one . #s(stx-boundary (s0 s1))) - (enter-check . #s(stx-boundary (s0 s1))) - (exit-check . #s(stx-boundary (s0 s1))) - (tag . #s(stx-boundary (s0 (s1 s2)))) - (enter-check . #s(stx-boundary (s0 (s1 s2)))) - (visit . #s(stx-boundary (s0 (s1 s2)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2)))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2)))) - (macro-post-x - #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8))) - . - #s(stx-boundary (s9 (s3 s8)))) - (exit-macro - . - #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8)))) - (return - . - #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8)))) - (visit . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8)))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8)))) - (macro-pre-x - . - #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)) (s3 s8)))) - (macro-post-x - #s(stx-boundary - (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10)))) - . - #s(stx-boundary (s11 (s3 s4 (s5 s6) (s7 s8) (s9 #f)) (s5 s10)))) - (exit-macro - . - #s(stx-boundary - (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) - (return - . - #s(stx-boundary - (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) - (exit-check - . - #s(stx-boundary - (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) - (visit - . - #s(stx-boundary - (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) - (prim-module-begin . #f) - (rename-one - . - #s(stx-boundary - (s0 (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) (s1 s2 (s5 s10))))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) - (macro-pre-x - . - #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) - (enter-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (local-pre . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (start . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (local-post . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (exit-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (macro-post-x - #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)))) - . - #s(stx-boundary (s8 s9 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (exit-macro . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (visit . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (return . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (rename-one . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (splice - #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f))) - #s(stx-boundary (s7 s8 (s2 s9)))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (rename-one . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-submodule . #f) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-module . #f) - (prepare-env . #f) - (tag . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (prim-module-begin . #f) - (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (next . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (rename-one . #s(stx-boundary (s0 s1))) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-require . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (next . #f) - (visit . #s(stx-boundary (s0 #f))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 #f))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 #f))) - (return . #s(stx-boundary (s0 #f))) - (rename-one . #s(stx-boundary (s0 #f))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (next . #f) - (visit . #s(stx-boundary (s0 #f))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 #f))) - (enter-prim . #s(stx-boundary (s0 s1 #f))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 #f))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary #f)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . #f))) - (enter-prim . #s(stx-boundary (s0 . #f))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 #f))) - (return . #s(stx-boundary (s0 #f))) - (exit-list . #s(stx-boundary (s0 (s1 #f)))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 #f)))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (exit-prim . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) - (return . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) - (rename-one - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (exit-prim - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (exit-prim - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 s3)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3)))) - (enter-local . #s(stx-boundary (s0 s1))) - (local-pre . #s(stx-boundary (s0 s1))) - (start . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (local-post . #s(stx-boundary (s0 s1))) - (exit-local . #s(stx-boundary (s0 s1))) - (macro-post-x - #s(stx-boundary (s0 (s1 (s2 s3)))) - . - #s(stx-boundary (s4 s1 (s2 s3)))) - (exit-macro . #s(stx-boundary (s0 (s1 (s2 s3))))) - (visit . #s(stx-boundary (s0 (s1 (s2 s3))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1 (s2 s3))))) - (return . #s(stx-boundary (s0 (s1 (s2 s3))))) - (rename-one . #s(stx-boundary (s0 (s1 (s2 s3))))) - (splice #s(stx-boundary (s0 (s1 s2)))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 s2)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2)))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2)))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5)) - . - #s(stx-boundary (s6 (s3 s4)))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) - (visit . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) - (return . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) - (rename-one . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 (s1 () (s2 s3)) s4))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary (s0 () (s1 s2)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 () (s1 s2)))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary ()) . #s(stx-boundary ((s0 s1)))) - (enter-block . #s(stx-boundary ((s0 s1)))) - (block-renames #s(stx-boundary ((s0 s1))) . #s(stx-boundary ((s0 s1)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 s1))) - (exit-check . #s(stx-boundary (s0 s1))) - (block->list . #s(stx-boundary ((s0 s1)))) - (enter-list . #s(stx-boundary ((s0 s1)))) - (next . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-quote . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (exit-list . #s(stx-boundary ((s0 s1)))) - (exit-prim . #s(stx-boundary (s0 () (s1 s2)))) - (return . #s(stx-boundary (s0 () (s1 s2)))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0 (s1 () (s2 s3)) s4))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) - (return . #s(stx-boundary (s0 s1 (s2 () (s3 s4)) s5))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (exit-prim - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s0 (s5 s6) (s7 s8 (s3 #f)))) - (s7 s9 (s10 () (s3 s11)) s12)))) - (return - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s0 (s5 s6) (s7 s8 (s3 #f)))) - (s7 s9 (s10 () (s3 s11)) s12)))) - (rename-one - . - #s(stx-boundary - (s0 - s1 - s2 - (s3 - (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) - (s9 s11 (s12 () (s5 s13)) s14))))) - (exit-prim - . - #s(stx-boundary - (s0 - s1 - s2 - (s3 - (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) - (s9 s11 (s12 () (s5 s13)) s14))))) - (return - . - #s(stx-boundary - (s0 - s1 - s2 - (s3 - (s0 s4 (s5 s6) (s3 (s7 s8) (s9 s10 (s5 #f)))) - (s9 s11 (s12 () (s5 s13)) s14))))))) - ((#%stratified-body - (define (first z) z) - (define (ok x) (second x)) - (define (second y) 8) - (ok (first 5)) - (define more 'oops)) - . - ((start-top . #f) - (visit - . - #s(stx-boundary - (s0 - (s1 - (s2 (s3 s4) s4) - (s2 (s5 s6) (s7 s6)) - (s2 (s7 s8) 8) - (s5 (s3 5)) - (s2 s9 (s10 s11)))))) - (enter-check - . - #s(stx-boundary - (s0 - (s1 - (s2 (s3 s4) s4) - (s2 (s5 s6) (s7 s6)) - (s2 (s7 s8) 8) - (s5 (s3 5)) - (s2 s9 (s10 s11)))))) - (exit-check - . - #s(stx-boundary - (s0 - (s1 - (s2 (s3 s4) s4) - (s2 (s5 s6) (s7 s6)) - (s2 (s7 s8) 8) - (s5 (s3 5)) - (s2 s9 (s10 s11)))))) - (visit - . - #s(stx-boundary - (s0 - (s1 - (s2 (s3 s4) s4) - (s2 (s5 s6) (s7 s6)) - (s2 (s7 s8) 8) - (s5 (s3 5)) - (s2 s9 (s10 s11)))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 - (s1 - (s2 (s3 s4) s4) - (s2 (s5 s6) (s7 s6)) - (s2 (s7 s8) 8) - (s5 (s3 5)) - (s2 s9 (s10 s11)))))) - (prim-#%expression . #f) - (visit - . - #s(stx-boundary - (s0 - (s1 (s2 s3) s3) - (s1 (s4 s5) (s6 s5)) - (s1 (s6 s7) 8) - (s4 (s2 5)) - (s1 s8 (s9 s10))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 - (s1 (s2 s3) s3) - (s1 (s4 s5) (s6 s5)) - (s1 (s6 s7) 8) - (s4 (s2 5)) - (s1 s8 (s9 s10))))) - (prim-#%stratified . #f) - (enter-block - . - #s(stx-boundary - ((s0 (s1 s2) s2) - (s0 (s3 s4) (s5 s4)) - (s0 (s5 s6) 8) - (s3 (s1 5)) - (s0 s7 (s8 s9))))) - (block-renames - #s(stx-boundary - ((s0 (s1 s2) s2) - (s0 (s3 s4) (s5 s4)) - (s0 (s5 s6) 8) - (s3 (s1 5)) - (s0 s7 (s8 s9)))) - . - #s(stx-boundary - ((s0 (s1 s2) s2) - (s0 (s3 s4) (s5 s4)) - (s0 (s5 s6) 8) - (s3 (s1 5)) - (s0 s7 (s8 s9))))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) s2))) - (visit . #s(stx-boundary (s0 (s1 s2) s2))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) s2))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) s2))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 (s3) s3))) - . - #s(stx-boundary (s0 (s1 s3) s3))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (return . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (visit . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) s3))) - . - #s(stx-boundary (s4 s1 (s2 (s3) s3)))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) - (prim-define-values . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) s2)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3)))) - . - #s(stx-boundary (s0 (s1 s3) (s4 s3)))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) - (return . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) - (visit . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3)))) - . - #s(stx-boundary (s5 s1 (s2 (s3) (s4 s3))))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) - (prim-define-values . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 s2))))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 s2) 8))) - (visit . #s(stx-boundary (s0 (s1 s2) 8))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 (s1 s2) 8))) - (macro-pre-x . #s(stx-boundary (s0 (s1 s2) 8))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 (s3) 8))) - . - #s(stx-boundary (s0 (s1 s3) 8))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) 8)))) - (return . #s(stx-boundary (s0 s1 (s2 (s3) 8)))) - (visit . #s(stx-boundary (s0 s1 (s2 (s3) 8)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) 8)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) 8)))) - (macro-post-x - #s(stx-boundary (s0 (s1) (s2 (s3) 8))) - . - #s(stx-boundary (s4 s1 (s2 (s3) 8)))) - (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) 8)))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) 8)))) - (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) 8)))) - (prim-define-values . #f) - (rename-one . #s(stx-boundary ((s0) (s1 (s2) 8)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 5)))) - (exit-check . #s(stx-boundary (s0 (s1 5)))) - (block->letrec - #s(stx-boundary - (s0 - (((s1) (s2 (s3) s3)) ((s4) (s2 (s5) (s6 s5))) ((s6) (s2 (s7) 8))) - (s8 (s4 (s1 5)) (s9 s10 (s11 s12)))))) - (visit - . - #s(stx-boundary - (s0 - (((s1) (s2 (s3) s3)) ((s4) (s2 (s5) (s6 s5))) ((s6) (s2 (s7) 8))) - (s8 (s4 (s1 5)) (s9 s10 (s11 s12)))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary - (s0 - (((s1) (s2 (s3) s3)) ((s4) (s2 (s5) (s6 s5))) ((s6) (s2 (s7) 8))) - (s8 (s4 (s1 5)) (s9 s10 (s11 s12)))))) - (prim-letrec-values . #f) - (let-renames - (#s(stx-boundary ((s0) (s1 (s2) s2))) - #s(stx-boundary ((s3) (s1 (s4) (s5 s4)))) - #s(stx-boundary ((s5) (s1 (s6) 8)))) - . - #s(stx-boundary ((s7 (s3 (s0 5)) (s8 s9 (s10 s11)))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) s1))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) s1))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) - (enter-block . #s(stx-boundary (s0))) - (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) - (next . #f) - (enter-check . #s(stx-boundary s0)) - (exit-check . #s(stx-boundary s0)) - (block->list . #s(stx-boundary (s0))) - (enter-list . #s(stx-boundary (s0))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0))) - (exit-prim . #s(stx-boundary (s0 (s1) s1))) - (return . #s(stx-boundary (s0 (s1) s1))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 s1)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 s1)))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 s0)))) - (enter-block . #s(stx-boundary ((s0 s1)))) - (block-renames #s(stx-boundary ((s0 s1))) . #s(stx-boundary ((s0 s1)))) - (next . #f) - (enter-check . #s(stx-boundary (s0 s1))) - (exit-check . #s(stx-boundary (s0 s1))) - (block->list . #s(stx-boundary ((s0 s1)))) - (enter-list . #s(stx-boundary ((s0 s1)))) - (next . #f) - (visit . #s(stx-boundary (s0 s1))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 s2))) - (enter-macro . #s(stx-boundary (s0 s1 s2))) - (macro-pre-x . #s(stx-boundary (s0 s1 s2))) - (macro-post-x - #s(stx-boundary (s0 s1 s2)) - . - #s(stx-boundary (s0 s1 s2))) - (exit-macro . #s(stx-boundary (s0 s1 s2))) - (visit . #s(stx-boundary (s0 s1 s2))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 s2))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 s1))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (exit-list . #s(stx-boundary (s0 s1))) - (exit-prim . #s(stx-boundary (s0 s1 s2))) - (return . #s(stx-boundary (s0 s1 s2))) - (exit-list . #s(stx-boundary ((s0 s1 s2)))) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 s3 s1)))) - (return . #s(stx-boundary (s0 (s1) (s2 s3 s1)))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) 8))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) 8))) - (prim-lambda . #f) - (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (8))) - (enter-block . #s(stx-boundary (8))) - (block-renames #s(stx-boundary (8)) . #s(stx-boundary (8))) - (next . #f) - (enter-check . #s(stx-boundary 8)) - (exit-check . #s(stx-boundary 8)) - (block->list . #s(stx-boundary (8))) - (enter-list . #s(stx-boundary (8))) - (next . #f) - (visit . #s(stx-boundary 8)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 8))) - (enter-prim . #s(stx-boundary (s0 . 8))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 8))) - (return . #s(stx-boundary (s0 8))) - (exit-list . #s(stx-boundary ((s0 8)))) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 8)))) - (return . #s(stx-boundary (s0 (s1) (s2 8)))) - (next-group . #f) - (enter-list . #s(stx-boundary ((s0 (s1 (s2 5)) (s3 s4 (s5 s6)))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 (s2 5)) (s3 s4 (s5 s6))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 (s2 5)) (s3 s4 (s5 s6))))) - (prim-#%stratified . #f) - (enter-block . #s(stx-boundary ((s0 (s1 5)) (s2 s3 (s4 s5))))) - (block-renames - #s(stx-boundary ((s0 (s1 5)) (s2 s3 (s4 s5)))) - . - #s(stx-boundary ((s0 (s1 5)) (s2 s3 (s4 s5))))) - (next . #f) - (enter-check . #s(stx-boundary (s0 (s1 5)))) - (exit-check . #s(stx-boundary (s0 (s1 5)))) - (block->list . #s(stx-boundary ((s0 (s1 5)) (s2 s3 (s4 s5))))) - (enter-list . #s(stx-boundary ((s0 (s1 5)) (s2 s3 (s4 s5))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1 5)))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 (s2 5)))) - (enter-macro . #s(stx-boundary (s0 s1 (s2 5)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 5)))) - (macro-post-x - #s(stx-boundary (s0 s1 (s2 5))) - . - #s(stx-boundary (s0 s1 (s2 5)))) - (exit-macro . #s(stx-boundary (s0 s1 (s2 5)))) - (visit . #s(stx-boundary (s0 s1 (s2 5)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 5)))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 (s1 5)))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary (s0 5))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 5))) - (enter-macro . #s(stx-boundary (s0 s1 5))) - (macro-pre-x . #s(stx-boundary (s0 s1 5))) - (macro-post-x #s(stx-boundary (s0 s1 5)) . #s(stx-boundary (s0 s1 5))) - (exit-macro . #s(stx-boundary (s0 s1 5))) - (visit . #s(stx-boundary (s0 s1 5))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 5))) - (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 5))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (variable #s(stx-boundary s0) . #s(stx-boundary s0)) - (return . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary 5)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 5))) - (enter-prim . #s(stx-boundary (s0 . 5))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 5))) - (return . #s(stx-boundary (s0 5))) - (exit-list . #s(stx-boundary (s0 (s1 5)))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 5)))) - (return . #s(stx-boundary (s0 s1 (s2 5)))) - (exit-list . #s(stx-boundary (s0 (s1 s2 (s3 5))))) - (exit-prim . #s(stx-boundary (s0 s1 (s0 s2 (s3 5))))) - (return . #s(stx-boundary (s0 s1 (s0 s2 (s3 5))))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3)))) - (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 s3)))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3)))))) ((let () (define (first z) z) (define (ok x) (second x)) @@ -10078,6 +8484,405 @@ (() (s10 (s8 s11 (s12 #:opaque)) (s8 s13))) ((s9) (s3 (s14) (s12 8)))) (s8 s6 (s8 s2 (s12 5))))))))))) + ((#%variable-reference __z) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 (s1 s2)))) + (enter-check . #s(stx-boundary (s0 (s1 s2)))) + (exit-check . #s(stx-boundary (s0 (s1 s2)))) + (visit . #s(stx-boundary (s0 (s1 s2)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 s2)))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1))) + (prim-#%variable-reference . #f) + (exit-prim . #s(stx-boundary (s0 s1))) + (return . #s(stx-boundary (s0 s1))) + (exit-prim . #s(stx-boundary (s0 (s1 s2)))) + (return . #s(stx-boundary (s0 (s1 s2)))))) + ((let () + (define-syntax (ok stx) + (define-values + (exp opaque) + (syntax-local-expand-expression (cadr (syntax-e stx)))) + opaque) + (#%expression (ok 9))) + . + ((start-top . #f) + (visit + . + #s(stx-boundary + (s0 + (s1 + () + (s2 (s3 s4) (s5 (s6 s7) (s8 (s9 (s10 s4)))) s7) + (s0 (s3 9)))))) + (enter-check + . + #s(stx-boundary + (s0 + (s1 + () + (s2 (s3 s4) (s5 (s6 s7) (s8 (s9 (s10 s4)))) s7) + (s0 (s3 9)))))) + (exit-check + . + #s(stx-boundary + (s0 + (s1 + () + (s2 (s3 s4) (s5 (s6 s7) (s8 (s9 (s10 s4)))) s7) + (s0 (s3 9)))))) + (visit + . + #s(stx-boundary + (s0 + (s1 + () + (s2 (s3 s4) (s5 (s6 s7) (s8 (s9 (s10 s4)))) s7) + (s0 (s3 9)))))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 + (s1 + () + (s2 (s3 s4) (s5 (s6 s7) (s8 (s9 (s10 s4)))) s7) + (s0 (s3 9)))))) + (prim-#%expression . #f) + (visit + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) + (s10 (s2 9))))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) + (s10 (s2 9))))) + (macro-pre-x + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) + (s10 (s2 9))))) + (macro-post-x + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) + (s10 (s2 9)))) + . + #s(stx-boundary + (s11 + () + (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) + (s10 (s2 9))))) + (exit-macro + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) + (s10 (s2 9))))) + (visit + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) + (s10 (s2 9))))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6) + (s10 (s2 9))))) + (prim-let-values . #f) + (let-renames + () + . + #s(stx-boundary + ((s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5) (s9 (s1 9))))) + (next-group . #f) + (enter-block + . + #s(stx-boundary + ((s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5) (s9 (s1 9))))) + (block-renames + #s(stx-boundary + ((s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5) (s9 (s1 9)))) + . + #s(stx-boundary + ((s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5) (s9 (s1 9))))) + (next . #f) + (enter-check + . + #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5))) + (visit + . + #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5))) + (macro-pre-x + . + #s(stx-boundary (s0 (s1 s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6))) + . + #s(stx-boundary (s10 (s1 s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6))) + (exit-macro + . + #s(stx-boundary + (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6)))) + (return + . + #s(stx-boundary + (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6)))) + (exit-check + . + #s(stx-boundary + (s0 (s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6)))) + (prim-define-syntaxes . #f) + (rename-one + . + #s(stx-boundary ((s0) (s1 (s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5)))) + (prepare-env . #f) + (enter-bind . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) + (macro-pre-x + . + #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4)) + . + #s(stx-boundary (s8 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) + (exit-macro + . + #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary (s0 (s1) (s2 (s3 s4) (s5 (s6 (s7 s1)))) s4))) + (prim-lambda . #f) + (lambda-renames + #s(stx-boundary (s0)) + . + #s(stx-boundary ((s1 (s2 s3) (s4 (s5 (s6 s0)))) s3))) + (enter-block . #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s6)))) s2))) + (block-renames + #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s6)))) s2)) + . + #s(stx-boundary ((s0 (s1 s2) (s3 (s4 (s5 s6)))) s2))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s6)))))) + (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 (s4 (s5 s6)))))) + (prim-define-values . #f) + (rename-one . #s(stx-boundary ((s0 s1) (s2 (s3 (s4 s5)))))) + (next . #f) + (enter-check . #s(stx-boundary s0)) + (exit-check . #s(stx-boundary s0)) + (block->letrec #s(stx-boundary (s0 (((s1 s2) (s3 (s4 (s5 s6))))) s2))) + (visit . #s(stx-boundary (s0 (((s1 s2) (s3 (s4 (s5 s6))))) s2))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (((s1 s2) (s3 (s4 (s5 s6))))) s2))) + (prim-letrec-values . #f) + (let-renames + (#s(stx-boundary ((s0 s1) (s2 (s3 (s4 s5)))))) + . + #s(stx-boundary (s1))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 (s2 s3))))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 (s3 s4)))) + . + #s(stx-boundary (s0 s1 (s2 (s3 s4))))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 (s3 s4))))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 (s1 (s2 s3))))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 s2)))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 (s2 s3)))) + (enter-macro . #s(stx-boundary (s0 s1 (s2 s3)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3)))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 s3))) + . + #s(stx-boundary (s0 s1 (s2 s3)))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 s3)))) + (visit . #s(stx-boundary (s0 s1 (s2 s3)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 s3)))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 (s1 s2)))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary (s0 s1))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 s2))) + (enter-macro . #s(stx-boundary (s0 s1 s2))) + (macro-pre-x . #s(stx-boundary (s0 s1 s2))) + (macro-post-x + #s(stx-boundary (s0 s1 s2)) + . + #s(stx-boundary (s0 s1 s2))) + (exit-macro . #s(stx-boundary (s0 s1 s2))) + (visit . #s(stx-boundary (s0 s1 s2))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 s2))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 s1))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0 s1))) + (exit-prim . #s(stx-boundary (s0 s1 s2))) + (return . #s(stx-boundary (s0 s1 s2))) + (exit-list . #s(stx-boundary (s0 (s1 s2 s3)))) + (exit-prim . #s(stx-boundary (s0 s1 (s0 s2 s3)))) + (return . #s(stx-boundary (s0 s1 (s0 s2 s3)))) + (exit-list . #s(stx-boundary (s0 (s1 s2 (s1 s3 s4))))) + (exit-prim . #s(stx-boundary (s0 s1 (s0 s2 (s0 s3 s4))))) + (return . #s(stx-boundary (s0 s1 (s0 s2 (s0 s3 s4))))) + (next-group . #f) + (enter-list . #s(stx-boundary (s0))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0))) + (exit-prim + . + #s(stx-boundary (s0 (((s1 s2) (s3 s4 (s3 s5 (s3 s6 s7))))) s2))) + (return + . + #s(stx-boundary (s0 (((s1 s2) (s3 s4 (s3 s5 (s3 s6 s7))))) s2))) + (exit-prim + . + #s(stx-boundary + (s0 (s1) (s2 (((s3 s4) (s5 s6 (s5 s7 (s5 s8 s1))))) s4)))) + (return + . + #s(stx-boundary + (s0 (s1) (s2 (((s3 s4) (s5 s6 (s5 s7 (s5 s8 s1))))) s4)))) + (next . #f) + (exit-bind . #f) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 9)))) + (exit-check . #s(stx-boundary (s0 (s1 9)))) + (block->letrec + #s(stx-boundary + (s0 + (((s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6))) + () + (s10 (s1 9))))) + (visit + . + #s(stx-boundary + (s0 + (((s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6))) + () + (s10 (s1 9))))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 + (((s1) (s2 (s3) (s4 (s5 s6) (s7 (s8 (s9 s3)))) s6))) + () + (s10 (s1 9))))) + (prim-letrec-syntaxes+values . #f) + (letrec-syntaxes-renames + (#s(stx-boundary ((s0) (s1 (s2) (s3 (s4 s5) (s6 (s7 (s8 s2)))) s5)))) + () + . + #s(stx-boundary ((s9 (s0 9))))) + (prepare-env . #f) + (next-group . #f) + (enter-list . #s(stx-boundary ((s0 (s1 9))))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 9)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 9)))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 9))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 9))) + (macro-pre-x . #s(stx-boundary (s0 9))) + (enter-local . #s(stx-boundary 9)) + (local-pre . #s(stx-boundary 9)) + (start . #f) + (visit . #s(stx-boundary 9)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 9))) + (enter-prim . #s(stx-boundary (s0 . 9))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 9))) + (return . #s(stx-boundary (s0 9))) + (local-post . #s(stx-boundary (s0 9))) + (opaque-expr . #s(stx-boundary #:opaque)) + (exit-local . #s(stx-boundary (s0 9))) + (macro-post-x #s(stx-boundary #:opaque) . #s(stx-boundary (s0 9))) + (exit-macro . #s(stx-boundary #:opaque)) + (visit . #s(stx-boundary #:opaque)) + (opaque-expr . #s(stx-boundary (s0 9))) + (tag . #s(stx-boundary (s0 9))) + (exit-prim . #s(stx-boundary (s0 9))) + (return . #s(stx-boundary (s0 9))) + (exit-list . #s(stx-boundary ((s0 9)))) + (tag . #s(stx-boundary (s0 () (s1 9)))) + (exit-prim . #s(stx-boundary (s0 () (s1 9)))) + (return . #s(stx-boundary (s0 () (s1 9)))) + (exit-prim . #s(stx-boundary (s0 () (s0 () (s1 9))))) + (return . #s(stx-boundary (s0 () (s0 () (s1 9))))) + (exit-prim . #s(stx-boundary (s0 (s1 () (s1 () (s2 9)))))) + (return . #s(stx-boundary (s0 (s1 () (s1 () (s2 9)))))))) ((letrec-values (((x) __y) ((y z) __w)) __x) . ((start-top . #f) @@ -10148,6 +8953,253 @@ . #s(stx-boundary (s0 (s1 (((s2) (s3 . s4)) ((s5 s6) (s3 . s7))) (s3 . s8))))))) + ((lambda (x) (define y (+ x x)) y) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 (s1 (s2) (s3 s4 (s5 s2 s2)) s4)))) + (enter-check . #s(stx-boundary (s0 (s1 (s2) (s3 s4 (s5 s2 s2)) s4)))) + (exit-check . #s(stx-boundary (s0 (s1 (s2) (s3 s4 (s5 s2 s2)) s4)))) + (visit . #s(stx-boundary (s0 (s1 (s2) (s3 s4 (s5 s2 s2)) s4)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 (s2) (s3 s4 (s5 s2 s2)) s4)))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) + (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3)) + . + #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) + (visit . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 s3 (s4 s1 s1)) s3))) + (prim-lambda . #f) + (lambda-renames + #s(stx-boundary (s0)) + . + #s(stx-boundary ((s1 s2 (s3 s0 s0)) s2))) + (enter-block . #s(stx-boundary ((s0 s1 (s2 s3 s3)) s1))) + (block-renames + #s(stx-boundary ((s0 s1 (s2 s3 s3)) s1)) + . + #s(stx-boundary ((s0 s1 (s2 s3 s3)) s1))) + (next . #f) + (enter-check . #s(stx-boundary (s0 s1 (s2 s3 s3)))) + (visit . #s(stx-boundary (s0 s1 (s2 s3 s3)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 s3 s3)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3 s3)))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 s3 s3))) + . + #s(stx-boundary (s0 s1 (s2 s3 s3)))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 s3 s3)))) + (return . #s(stx-boundary (s0 s1 (s2 s3 s3)))) + (visit . #s(stx-boundary (s0 s1 (s2 s3 s3)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 s3 s3)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 s3 s3)))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 s3 s3))) + . + #s(stx-boundary (s4 s1 (s2 s3 s3)))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 s3 s3)))) + (return . #s(stx-boundary (s0 (s1) (s2 s3 s3)))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 s3 s3)))) + (prim-define-values . #f) + (rename-one . #s(stx-boundary ((s0) (s1 s2 s2)))) + (next . #f) + (enter-check . #s(stx-boundary s0)) + (exit-check . #s(stx-boundary s0)) + (block->letrec #s(stx-boundary (s0 (((s1) (s2 s3 s3))) s1))) + (visit . #s(stx-boundary (s0 (((s1) (s2 s3 s3))) s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (((s1) (s2 s3 s3))) s1))) + (prim-letrec-values . #f) + (let-renames + (#s(stx-boundary ((s0) (s1 s2 s2)))) + . + #s(stx-boundary (s0))) + (next . #f) + (visit . #s(stx-boundary (s0 s1 s1))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 s2 s2))) + (enter-macro . #s(stx-boundary (s0 s1 s2 s2))) + (macro-pre-x . #s(stx-boundary (s0 s1 s2 s2))) + (macro-post-x + #s(stx-boundary (s0 s1 s2 s2)) + . + #s(stx-boundary (s0 s1 s2 s2))) + (exit-macro . #s(stx-boundary (s0 s1 s2 s2))) + (visit . #s(stx-boundary (s0 s1 s2 s2))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 s2 s2))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 s1 s1))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0 s1 s1))) + (exit-prim . #s(stx-boundary (s0 s1 s2 s2))) + (return . #s(stx-boundary (s0 s1 s2 s2))) + (next-group . #f) + (enter-list . #s(stx-boundary (s0))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0))) + (exit-prim . #s(stx-boundary (s0 (((s1) (s2 s3 s4 s4))) s1))) + (return . #s(stx-boundary (s0 (((s1) (s2 s3 s4 s4))) s1))) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 (((s3) (s4 s5 s1 s1))) s3)))) + (return . #s(stx-boundary (s0 (s1) (s2 (((s3) (s4 s5 s1 s1))) s3)))) + (exit-prim + . + #s(stx-boundary (s0 (s1 (s2) (s3 (((s4) (s5 s6 s2 s2))) s4))))) + (return + . + #s(stx-boundary (s0 (s1 (s2) (s3 (((s4) (s5 s6 s2 s2))) s4))))))) + ((if 1 2 3) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 (s1 1 2 3)))) + (enter-check . #s(stx-boundary (s0 (s1 1 2 3)))) + (exit-check . #s(stx-boundary (s0 (s1 1 2 3)))) + (visit . #s(stx-boundary (s0 (s1 1 2 3)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 1 2 3)))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 1 2 3))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 1 2 3))) + (prim-if . #f) + (visit . #s(stx-boundary 1)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 1))) + (enter-prim . #s(stx-boundary (s0 . 1))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 1))) + (return . #s(stx-boundary (s0 1))) + (next . #f) + (visit . #s(stx-boundary 2)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 2))) + (enter-prim . #s(stx-boundary (s0 . 2))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 2))) + (return . #s(stx-boundary (s0 2))) + (next . #f) + (visit . #s(stx-boundary 3)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 3))) + (enter-prim . #s(stx-boundary (s0 . 3))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 3))) + (return . #s(stx-boundary (s0 3))) + (exit-prim . #s(stx-boundary (s0 (s1 1) (s1 2) (s1 3)))) + (return . #s(stx-boundary (s0 (s1 1) (s1 2) (s1 3)))) + (exit-prim . #s(stx-boundary (s0 (s1 (s2 1) (s2 2) (s2 3))))) + (return . #s(stx-boundary (s0 (s1 (s2 1) (s2 2) (s2 3))))))) + ((begin 1 __x (+ 3 4)) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 (s1 1 s2 (s3 3 4))))) + (enter-check . #s(stx-boundary (s0 (s1 1 s2 (s3 3 4))))) + (exit-check . #s(stx-boundary (s0 (s1 1 s2 (s3 3 4))))) + (visit . #s(stx-boundary (s0 (s1 1 s2 (s3 3 4))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 1 s2 (s3 3 4))))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 1 s1 (s2 3 4)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 1 s1 (s2 3 4)))) + (prim-begin . #f) + (enter-list . #s(stx-boundary (1 s0 (s1 3 4)))) + (next . #f) + (visit . #s(stx-boundary 1)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 1))) + (enter-prim . #s(stx-boundary (s0 . 1))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 1))) + (return . #s(stx-boundary (s0 1))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . s1))) + (enter-prim . #s(stx-boundary (s0 . s1))) + (prim-#%top . #f) + (exit-prim . #s(stx-boundary (s0 . s1))) + (return . #s(stx-boundary (s0 . s1))) + (next . #f) + (visit . #s(stx-boundary (s0 3 4))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 3 4))) + (enter-macro . #s(stx-boundary (s0 s1 3 4))) + (macro-pre-x . #s(stx-boundary (s0 s1 3 4))) + (macro-post-x + #s(stx-boundary (s0 s1 3 4)) + . + #s(stx-boundary (s0 s1 3 4))) + (exit-macro . #s(stx-boundary (s0 s1 3 4))) + (visit . #s(stx-boundary (s0 s1 3 4))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 3 4))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 3 4))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary 3)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 3))) + (enter-prim . #s(stx-boundary (s0 . 3))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 3))) + (return . #s(stx-boundary (s0 3))) + (next . #f) + (visit . #s(stx-boundary 4)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 4))) + (enter-prim . #s(stx-boundary (s0 . 4))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 4))) + (return . #s(stx-boundary (s0 4))) + (exit-list . #s(stx-boundary (s0 (s1 3) (s1 4)))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 3) (s2 4)))) + (return . #s(stx-boundary (s0 s1 (s2 3) (s2 4)))) + (exit-list . #s(stx-boundary ((s0 1) (s1 . s2) (s3 s4 (s0 3) (s0 4))))) + (exit-prim + . + #s(stx-boundary (s0 (s1 1) (s2 . s3) (s4 s5 (s1 3) (s1 4))))) + (return . #s(stx-boundary (s0 (s1 1) (s2 . s3) (s4 s5 (s1 3) (s1 4))))) + (exit-prim + . + #s(stx-boundary (s0 (s1 (s2 1) (s3 . s4) (s5 s6 (s2 3) (s2 4)))))) + (return + . + #s(stx-boundary (s0 (s1 (s2 1) (s3 . s4) (s5 s6 (s2 3) (s2 4)))))))) ((#%stratified-body (define (first z) z) (define (ok x) (second x)) @@ -10550,384 +9602,409 @@ ((s5) (s3 (s6) (s7 s8 s6))) ((s8) (s3 (s9) (s10 8)))) (s7 s5 (s7 s2 (s10 5))))))))) - ((set! __x 99) + ((let () (define (ok x) '8) (define (second y) (ok y)) (second 5)) . ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 s2 99)))) - (enter-check . #s(stx-boundary (s0 (s1 s2 99)))) - (exit-check . #s(stx-boundary (s0 (s1 s2 99)))) - (visit . #s(stx-boundary (s0 (s1 s2 99)))) + (visit + . + #s(stx-boundary + (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s7) (s3 s7)) (s6 5))))) + (enter-check + . + #s(stx-boundary + (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s7) (s3 s7)) (s6 5))))) + (exit-check + . + #s(stx-boundary + (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s7) (s3 s7)) (s6 5))))) + (visit + . + #s(stx-boundary + (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s7) (s3 s7)) (s6 5))))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2 99)))) + (enter-prim + . + #s(stx-boundary + (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s7) (s3 s7)) (s6 5))))) (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 s1 99))) + (visit + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 99))) - (prim-set! . #f) + (enter-macro + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) + (macro-pre-x + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) + (macro-post-x + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5))) + . + #s(stx-boundary + (s7 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) + (exit-macro + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) + (visit + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) (resolve . #s(stx-boundary s0)) - (next . #f) - (visit . #s(stx-boundary 99)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . 99))) - (enter-prim . #s(stx-boundary (s0 . 99))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 99))) - (return . #s(stx-boundary (s0 99))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 99)))) - (return . #s(stx-boundary (s0 s1 (s2 99)))) - (exit-prim . #s(stx-boundary (s0 (s1 s2 (s3 99))))) - (return . #s(stx-boundary (s0 (s1 s2 (s3 99))))))) - ((let-values (((x) __y) ((y z) __w)) __x) - . - ((start-top . #f) - (visit . #s(stx-boundary (s0 (s1 (((s2) s3) ((s4 s5) s6)) s7)))) - (enter-check . #s(stx-boundary (s0 (s1 (((s2) s3) ((s4 s5) s6)) s7)))) - (exit-check . #s(stx-boundary (s0 (s1 (((s2) s3) ((s4 s5) s6)) s7)))) - (visit . #s(stx-boundary (s0 (s1 (((s2) s3) ((s4 s5) s6)) s7)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 (((s2) s3) ((s4 s5) s6)) s7)))) - (prim-#%expression . #f) - (visit . #s(stx-boundary (s0 (((s1) s2) ((s3 s4) s5)) s6))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (((s1) s2) ((s3 s4) s5)) s6))) + (enter-prim + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s6) (s2 s6)) (s5 5)))) (prim-let-values . #f) (let-renames - (#s(stx-boundary ((s0) s1)) #s(stx-boundary ((s2 s3) s4))) + () . - #s(stx-boundary (s5))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . s1))) - (enter-prim . #s(stx-boundary (s0 . s1))) - (prim-#%top . #f) - (exit-prim . #s(stx-boundary (s0 . s1))) - (return . #s(stx-boundary (s0 . s1))) - (next . #f) - (visit . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . s1))) - (enter-prim . #s(stx-boundary (s0 . s1))) - (prim-#%top . #f) - (exit-prim . #s(stx-boundary (s0 . s1))) - (return . #s(stx-boundary (s0 . s1))) + #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s0 (s4 s5) (s1 s5)) (s4 5)))) (next-group . #f) - (enter-block . #s(stx-boundary (s0))) - (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) + (enter-block + . + #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s0 (s4 s5) (s1 s5)) (s4 5)))) + (block-renames + #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s0 (s4 s5) (s1 s5)) (s4 5))) + . + #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s0 (s4 s5) (s1 s5)) (s4 5)))) (next . #f) - (enter-check . #s(stx-boundary s0)) - (exit-check . #s(stx-boundary s0)) - (block->list . #s(stx-boundary (s0))) - (enter-list . #s(stx-boundary (s0))) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 (s3) (s4 8)))) + . + #s(stx-boundary (s0 (s1 s3) (s4 8)))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) + (return . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) (s4 8))))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8)))) + . + #s(stx-boundary (s5 s1 (s2 (s3) (s4 8))))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (prim-define-values . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 8))))) (next . #f) - (visit . #s(stx-boundary s0)) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . s1))) - (enter-prim . #s(stx-boundary (s0 . s1))) - (prim-#%top . #f) - (exit-prim . #s(stx-boundary (s0 . s1))) - (return . #s(stx-boundary (s0 . s1))) - (exit-list . #s(stx-boundary ((s0 . s1)))) - (exit-prim - . - #s(stx-boundary - (s0 (((s1) (s2 . s3)) ((s4 s5) (s2 . s6))) (s2 . s7)))) - (return - . - #s(stx-boundary - (s0 (((s1) (s2 . s3)) ((s4 s5) (s2 . s6))) (s2 . s7)))) - (exit-prim - . - #s(stx-boundary - (s0 (s1 (((s2) (s3 . s4)) ((s5 s6) (s3 . s7))) (s3 . s8))))) - (return - . - #s(stx-boundary - (s0 (s1 (((s2) (s3 . s4)) ((s5 s6) (s3 . s7))) (s3 . s8))))))) - ((module m racket/base - (define-syntax (ok stx) (quote-syntax 8)) - (ok) - (list (ok) (ok))) - . - ((start-top . #f) - (visit - . - #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 8)) (s4) (s7 (s4) (s4))))) - (enter-check - . - #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 8)) (s4) (s7 (s4) (s4))))) - (exit-check - . - #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 8)) (s4) (s7 (s4) (s4))))) - (visit - . - #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 8)) (s4) (s7 (s4) (s4))))) - (resolve . #s(stx-boundary s0)) - (enter-prim - . - #s(stx-boundary (s0 s1 s2 (s3 (s4 s5) (s6 8)) (s4) (s7 (s4) (s4))))) - (prim-module . #f) - (prepare-env . #f) - (tag . #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) - (rename-one - . - #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) - (enter-check - . - #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) - (visit . #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) - (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) - (macro-pre-x - . - #s(stx-boundary (s0 (s1 (s2 s3) (s4 8)) (s2) (s5 (s2) (s2))))) + (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 s2)))) (macro-post-x - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 8)) - (s9) - (s12 (s9) (s9)))) + #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3)))) . - #s(stx-boundary (s13 (s8 (s9 s10) (s11 8)) (s9) (s12 (s9) (s9))))) - (exit-macro - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 8)) - (s9) - (s12 (s9) (s9))))) - (return - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 8)) - (s9) - (s12 (s9) (s9))))) - (visit - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 8)) - (s9) - (s12 (s9) (s9))))) + #s(stx-boundary (s0 (s1 s3) (s4 s3)))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) + (return . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 8)) - (s9) - (s12 (s9) (s9))))) - (macro-pre-x - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4) (s5 s6) (s7 #f)) - (s8 (s9 s10) (s11 8)) - (s9) - (s12 (s9) (s9))))) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) (s4 s3))))) (macro-post-x - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 8))) - (s1 s2 (s11)) - (s1 s2 (s14 (s11) (s11))))) + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3)))) . + #s(stx-boundary (s5 s1 (s2 (s3) (s4 s3))))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 s3))))) + (prim-define-values . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 s2))))) + (next . #f) + (enter-check . #s(stx-boundary (s0 5))) + (exit-check . #s(stx-boundary (s0 5))) + (block->letrec #s(stx-boundary - (s15 - (s3 s4 (s5 s6) (s7 s8) (s9 #f)) - (s10 (s11 s12) (s13 8)) - (s11) - (s14 (s11) (s11))))) - (exit-macro - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 8))) - (s1 s2 (s11)) - (s1 s2 (s14 (s11) (s11)))))) - (return - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 8))) - (s1 s2 (s11)) - (s1 s2 (s14 (s11) (s11)))))) - (exit-check - . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 8))) - (s1 s2 (s11)) - (s1 s2 (s14 (s11) (s11)))))) + (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s6) (s1 s6)))) (s5 5)))) (visit . #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 8))) - (s1 s2 (s11)) - (s1 s2 (s14 (s11) (s11)))))) + (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s6) (s1 s6)))) (s5 5)))) (resolve . #s(stx-boundary s0)) (enter-prim . #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 8))) - (s1 s2 (s11)) - (s1 s2 (s14 (s11) (s11)))))) - (prim-module-begin . #f) - (rename-one + (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s6) (s1 s6)))) (s5 5)))) + (prim-letrec-values . #f) + (let-renames + (#s(stx-boundary ((s0) (s1 (s2) (s3 8)))) + #s(stx-boundary ((s4) (s1 (s5) (s0 s5))))) . - #s(stx-boundary - (s0 - (s1 s2 (s3 s4 (s5 s6) (s7 s8) (s9 #f))) - (s1 s2 (s10 (s11 s12) (s13 8))) - (s1 s2 (s11)) - (s1 s2 (s14 (s11) (s11)))))) + #s(stx-boundary ((s4 5)))) (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) + (visit . #s(stx-boundary (s0 (s1) (s2 8)))) (resolve . #s(stx-boundary s0)) - (enter-macro - . - #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) - (macro-pre-x - . - #s(stx-boundary (s0 s1 (s2 s3 (s4 s5) (s6 s7) (s8 #f))))) - (enter-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (local-pre . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (start . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (local-post . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (exit-local . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (macro-post-x - #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f)))) - . - #s(stx-boundary (s8 s9 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (exit-macro . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (visit . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (return . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (rename-one . #s(stx-boundary (s0 (s1 s2 (s3 s4) (s5 s6) (s7 #f))))) - (splice - #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f))) - #s(stx-boundary (s7 s8 (s9 (s10 s11) (s12 8)))) - #s(stx-boundary (s7 s8 (s10))) - #s(stx-boundary (s7 s8 (s13 (s10) (s10))))) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 8)))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 8)))) + (enter-block . #s(stx-boundary ((s0 8)))) + (block-renames #s(stx-boundary ((s0 8))) . #s(stx-boundary ((s0 8)))) (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) + (enter-check . #s(stx-boundary (s0 8))) + (exit-check . #s(stx-boundary (s0 8))) + (block->list . #s(stx-boundary ((s0 8)))) + (enter-list . #s(stx-boundary ((s0 8)))) + (next . #f) + (visit . #s(stx-boundary (s0 8))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (rename-one . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-submodule . #f) - (enter-prim . #s(stx-boundary (s0 s1 (s2 s3) (s4 s5) (s6 #f)))) - (prim-module . #f) - (prepare-env . #f) - (tag . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (exit-check . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (visit . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (enter-prim . #s(stx-boundary (s0 8))) + (prim-quote . #f) + (exit-prim . #s(stx-boundary (s0 8))) + (return . #s(stx-boundary (s0 8))) + (exit-list . #s(stx-boundary ((s0 8)))) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 8)))) + (return . #s(stx-boundary (s0 (s1) (s2 8)))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 s1)))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) - (prim-module-begin . #f) - (rename-one . #s(stx-boundary (s0 (s1 s2) (s3 #f)))) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 s1)))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 s0)))) + (enter-block . #s(stx-boundary ((s0 s1)))) + (block-renames #s(stx-boundary ((s0 s1))) . #s(stx-boundary ((s0 s1)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 s1))) + (exit-check . #s(stx-boundary (s0 s1))) + (block->list . #s(stx-boundary ((s0 s1)))) + (enter-list . #s(stx-boundary ((s0 s1)))) (next . #f) (visit . #s(stx-boundary (s0 s1))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (return . #s(stx-boundary (s0 s1))) - (rename-one . #s(stx-boundary (s0 s1))) - (enter-prim . #s(stx-boundary (s0 s1))) - (prim-require . #f) - (exit-prim . #s(stx-boundary (s0 s1))) - (next . #f) - (visit . #s(stx-boundary (s0 #f))) (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 s2))) + (enter-macro . #s(stx-boundary (s0 s1 s2))) + (macro-pre-x . #s(stx-boundary (s0 s1 s2))) + (macro-post-x + #s(stx-boundary (s0 s1 s2)) + . + #s(stx-boundary (s0 s1 s2))) + (exit-macro . #s(stx-boundary (s0 s1 s2))) + (visit . #s(stx-boundary (s0 s1 s2))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 #f))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 #f))) - (return . #s(stx-boundary (s0 #f))) - (rename-one . #s(stx-boundary (s0 #f))) - (module-lift-end-loop) - (next-group . #f) - (next . #f) - (next . #f) - (visit . #s(stx-boundary (s0 #f))) - (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 s1 #f))) - (enter-prim . #s(stx-boundary (s0 s1 #f))) + (enter-prim . #s(stx-boundary (s0 s1 s2))) (prim-#%app . #f) - (enter-list . #s(stx-boundary (s0 #f))) + (enter-list . #s(stx-boundary (s0 s1))) (next . #f) (visit . #s(stx-boundary s0)) (resolve . #s(stx-boundary s0)) (variable #s(stx-boundary s0) . #s(stx-boundary s0)) (return . #s(stx-boundary s0)) (next . #f) - (visit . #s(stx-boundary #f)) + (visit . #s(stx-boundary s0)) (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . #f))) - (enter-prim . #s(stx-boundary (s0 . #f))) - (prim-#%datum . #f) - (exit-prim . #s(stx-boundary (s0 #f))) - (return . #s(stx-boundary (s0 #f))) - (exit-list . #s(stx-boundary (s0 (s1 #f)))) - (exit-prim . #s(stx-boundary (s0 s1 (s2 #f)))) - (return . #s(stx-boundary (s0 s1 (s2 #f)))) - (module-lift-end-loop) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0 s1))) + (exit-prim . #s(stx-boundary (s0 s1 s2))) + (return . #s(stx-boundary (s0 s1 s2))) + (exit-list . #s(stx-boundary ((s0 s1 s2)))) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 s3 s1)))) + (return . #s(stx-boundary (s0 (s1) (s2 s3 s1)))) (next-group . #f) + (enter-list . #s(stx-boundary ((s0 5)))) (next . #f) - (exit-prim . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) - (return . #s(stx-boundary (s0 (s1 s2) (s3 s4 (s5 #f))))) - (rename-one - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (exit-prim - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (exit-prim - . - #s(stx-boundary (s0 s1 (s2 s3) (s4 (s5 s6) (s7 s8 (s2 #f)))))) - (next . #f) - (visit . #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 8))))) + (visit . #s(stx-boundary (s0 5))) (resolve . #s(stx-boundary s0)) - (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 8))))) - (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3 s4) (s5 8))))) - (enter-local . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (local-pre . #s(stx-boundary (s0 (s1 s2) (s3 8)))) - (start . #f) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 5))) + (enter-macro . #s(stx-boundary (s0 s1 5))) + (macro-pre-x . #s(stx-boundary (s0 s1 5))) + (macro-post-x #s(stx-boundary (s0 s1 5)) . #s(stx-boundary (s0 s1 5))) + (exit-macro . #s(stx-boundary (s0 s1 5))) + (visit . #s(stx-boundary (s0 s1 5))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 5))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 5))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary 5)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 5))) + (enter-prim . #s(stx-boundary (s0 . 5))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 5))) + (return . #s(stx-boundary (s0 5))) + (exit-list . #s(stx-boundary (s0 (s1 5)))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 5)))) + (return . #s(stx-boundary (s0 s1 (s2 5)))) + (exit-list . #s(stx-boundary ((s0 s1 (s2 5))))) + (exit-prim + . + #s(stx-boundary + (s0 + (((s1) (s2 (s3) (s4 8)))) + (s0 (((s5) (s2 (s6) (s7 s1 s6)))) (s7 s5 (s4 5)))))) + (return + . + #s(stx-boundary + (s0 + (((s1) (s2 (s3) (s4 8)))) + (s0 (((s5) (s2 (s6) (s7 s1 s6)))) (s7 s5 (s4 5)))))) + (exit-prim + . + #s(stx-boundary + (s0 + () + (s0 + (((s1) (s2 (s3) (s4 8)))) + (s0 (((s5) (s2 (s6) (s7 s1 s6)))) (s7 s5 (s4 5))))))) + (return + . + #s(stx-boundary + (s0 + () + (s0 + (((s1) (s2 (s3) (s4 8)))) + (s0 (((s5) (s2 (s6) (s7 s1 s6)))) (s7 s5 (s4 5))))))) + (exit-prim + . + #s(stx-boundary + (s0 + (s1 + () + (s1 + (((s2) (s3 (s4) (s5 8)))) + (s1 (((s6) (s3 (s7) (s8 s2 s7)))) (s8 s6 (s5 5)))))))) + (return + . + #s(stx-boundary + (s0 + (s1 + () + (s1 + (((s2) (s3 (s4) (s5 8)))) + (s1 (((s6) (s3 (s7) (s8 s2 s7)))) (s8 s6 (s5 5)))))))))) + ((#%plain-app 1 2) + . + ((start-top . #f) + (visit . #s(stx-boundary (s0 (s1 1 2)))) + (enter-check . #s(stx-boundary (s0 (s1 1 2)))) + (exit-check . #s(stx-boundary (s0 (s1 1 2)))) + (visit . #s(stx-boundary (s0 (s1 1 2)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 1 2)))) + (prim-#%expression . #f) + (visit . #s(stx-boundary (s0 1 2))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 1 2))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (1 2))) + (next . #f) + (visit . #s(stx-boundary 1)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 1))) + (enter-prim . #s(stx-boundary (s0 . 1))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 1))) + (return . #s(stx-boundary (s0 1))) + (next . #f) + (visit . #s(stx-boundary 2)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 2))) + (enter-prim . #s(stx-boundary (s0 . 2))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 2))) + (return . #s(stx-boundary (s0 2))) + (exit-list . #s(stx-boundary ((s0 1) (s0 2)))) + (exit-prim . #s(stx-boundary (s0 (s1 1) (s1 2)))) + (return . #s(stx-boundary (s0 (s1 1) (s1 2)))) + (exit-prim . #s(stx-boundary (s0 (s1 (s2 1) (s2 2))))) + (return . #s(stx-boundary (s0 (s1 (s2 1) (s2 2))))))) + ((let () + (define-syntax (ok stx) (quote-syntax 8)) + (define-syntax (second stx) (quote-syntax (ok 6))) + (second 5)) + . + ((start-top . #f) + (visit + . + #s(stx-boundary + (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s4) (s5 (s3 6))) (s6 5))))) + (enter-check + . + #s(stx-boundary + (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s4) (s5 (s3 6))) (s6 5))))) + (exit-check + . + #s(stx-boundary + (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s4) (s5 (s3 6))) (s6 5))))) + (visit + . + #s(stx-boundary + (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s4) (s5 (s3 6))) (s6 5))))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 (s1 () (s2 (s3 s4) (s5 8)) (s2 (s6 s4) (s5 (s3 6))) (s6 5))))) + (prim-#%expression . #f) + (visit + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) + (macro-pre-x + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) + (macro-post-x + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5))) + . + #s(stx-boundary + (s6 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) + (exit-macro + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) + (visit + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 () (s1 (s2 s3) (s4 8)) (s1 (s5 s3) (s4 (s2 6))) (s5 5)))) + (prim-let-values . #f) + (let-renames + () + . + #s(stx-boundary + ((s0 (s1 s2) (s3 8)) (s0 (s4 s2) (s3 (s1 6))) (s4 5)))) + (next-group . #f) + (enter-block + . + #s(stx-boundary + ((s0 (s1 s2) (s3 8)) (s0 (s4 s2) (s3 (s1 6))) (s4 5)))) + (block-renames + #s(stx-boundary ((s0 (s1 s2) (s3 8)) (s0 (s4 s2) (s3 (s1 6))) (s4 5))) + . + #s(stx-boundary + ((s0 (s1 s2) (s3 8)) (s0 (s4 s2) (s3 (s1 6))) (s4 5)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 8)))) (visit . #s(stx-boundary (s0 (s1 s2) (s3 8)))) (resolve . #s(stx-boundary s0)) (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 8)))) @@ -10937,42 +10014,12 @@ . #s(stx-boundary (s5 (s1 s3) (s4 8)))) (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (local-post . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (exit-local . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (macro-post-x - #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8))))) - . - #s(stx-boundary (s6 s7 (s8 (s2 s4) (s5 8))))) - (exit-macro . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) - (visit . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) - (return . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) - (rename-one . #s(stx-boundary (s0 (s1 (s2) (s3 (s4) (s5 8)))))) - (splice - #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8)))) - #s(stx-boundary (s5 s6 (s1))) - #s(stx-boundary (s5 s6 (s7 (s1) (s1))))) - (next . #f) - (visit . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (prim-stop . #f) - (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (rename-one . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) - (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) (prim-define-syntaxes . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 8))))) (prepare-env . #f) - (phase-up . #f) + (enter-bind . #f) (visit . #s(stx-boundary (s0 (s1) (s2 8)))) (resolve . #s(stx-boundary s0)) (enter-macro . #s(stx-boundary (s0 (s1) (s2 8)))) @@ -10997,24 +10044,658 @@ (next . #f) (visit . #s(stx-boundary (s0 8))) (resolve . #s(stx-boundary s0)) - (resolve . #s(stx-boundary s0)))) - (__x + (enter-prim . #s(stx-boundary (s0 8))) + (prim-quote-syntax . #f) + (exit-prim . #s(stx-boundary (s0 8))) + (return . #s(stx-boundary (s0 8))) + (exit-list . #s(stx-boundary ((s0 8)))) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 8)))) + (return . #s(stx-boundary (s0 (s1) (s2 8)))) + (next . #f) + (exit-bind . #f) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6))))) + . + #s(stx-boundary (s6 (s1 s3) (s4 (s5 6))))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) + (prim-define-syntaxes . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 (s4 6)))))) + (prepare-env . #f) + (enter-bind . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3 6)))) + . + #s(stx-boundary (s4 (s1) (s2 (s3 6))))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 (s2 6))))) + (enter-block . #s(stx-boundary ((s0 (s1 6))))) + (block-renames + #s(stx-boundary ((s0 (s1 6)))) + . + #s(stx-boundary ((s0 (s1 6))))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 6)))) + (exit-check . #s(stx-boundary (s0 (s1 6)))) + (block->list . #s(stx-boundary ((s0 (s1 6))))) + (enter-list . #s(stx-boundary ((s0 (s1 6))))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 6)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 6)))) + (prim-quote-syntax . #f) + (exit-prim . #s(stx-boundary (s0 (s1 6)))) + (return . #s(stx-boundary (s0 (s1 6)))) + (exit-list . #s(stx-boundary ((s0 (s1 6))))) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (next . #f) + (exit-bind . #f) + (next . #f) + (enter-check . #s(stx-boundary (s0 5))) + (visit . #s(stx-boundary (s0 5))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 5))) + (macro-pre-x . #s(stx-boundary (s0 5))) + (macro-post-x #s(stx-boundary (s0 6)) . #s(stx-boundary (s1 5))) + (exit-macro . #s(stx-boundary (s0 6))) + (return . #s(stx-boundary (s0 6))) + (visit . #s(stx-boundary (s0 6))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 6))) + (macro-pre-x . #s(stx-boundary (s0 6))) + (macro-post-x #s(stx-boundary 8) . #s(stx-boundary (s0 6))) + (exit-macro . #s(stx-boundary 8)) + (return . #s(stx-boundary 8)) + (exit-check . #s(stx-boundary 8)) + (block->letrec + #s(stx-boundary + (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) () 8))) + (visit + . + #s(stx-boundary + (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) () 8))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) () 8))) + (prim-letrec-syntaxes+values . #f) + (letrec-syntaxes-renames + (#s(stx-boundary ((s0) (s1 (s2) (s3 8)))) + #s(stx-boundary ((s4) (s1 (s2) (s3 (s0 6)))))) + () + . + #s(stx-boundary (8))) + (prepare-env . #f) + (next-group . #f) + (enter-list . #s(stx-boundary (8))) + (next . #f) + (visit . #s(stx-boundary 8)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 8))) + (enter-prim . #s(stx-boundary (s0 . 8))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 8))) + (return . #s(stx-boundary (s0 8))) + (exit-list . #s(stx-boundary ((s0 8)))) + (tag . #s(stx-boundary (s0 () (s1 8)))) + (exit-prim . #s(stx-boundary (s0 () (s1 8)))) + (return . #s(stx-boundary (s0 () (s1 8)))) + (exit-prim . #s(stx-boundary (s0 () (s0 () (s1 8))))) + (return . #s(stx-boundary (s0 () (s0 () (s1 8))))) + (exit-prim . #s(stx-boundary (s0 (s1 () (s1 () (s2 8)))))) + (return . #s(stx-boundary (s0 (s1 () (s1 () (s2 8)))))))) + ((let () + (define-syntax (ok stx) (quote-syntax 8)) + (define-syntax (second stx) (quote-syntax (ok 6))) + (define (ident x) x) + (define (second-ident y) y) + (ident (second-ident (second)))) . ((start-top . #f) - (visit . #s(stx-boundary (s0 s1))) - (enter-check . #s(stx-boundary (s0 s1))) - (exit-check . #s(stx-boundary (s0 s1))) - (visit . #s(stx-boundary (s0 s1))) + (visit + . + #s(stx-boundary + (s0 + (s1 + () + (s2 (s3 s4) (s5 8)) + (s2 (s6 s4) (s5 (s3 6))) + (s7 (s8 s9) s9) + (s7 (s10 s11) s11) + (s8 (s10 (s6))))))) + (enter-check + . + #s(stx-boundary + (s0 + (s1 + () + (s2 (s3 s4) (s5 8)) + (s2 (s6 s4) (s5 (s3 6))) + (s7 (s8 s9) s9) + (s7 (s10 s11) s11) + (s8 (s10 (s6))))))) + (exit-check + . + #s(stx-boundary + (s0 + (s1 + () + (s2 (s3 s4) (s5 8)) + (s2 (s6 s4) (s5 (s3 6))) + (s7 (s8 s9) s9) + (s7 (s10 s11) s11) + (s8 (s10 (s6))))))) + (visit + . + #s(stx-boundary + (s0 + (s1 + () + (s2 (s3 s4) (s5 8)) + (s2 (s6 s4) (s5 (s3 6))) + (s7 (s8 s9) s9) + (s7 (s10 s11) s11) + (s8 (s10 (s6))))))) (resolve . #s(stx-boundary s0)) - (enter-prim . #s(stx-boundary (s0 s1))) + (enter-prim + . + #s(stx-boundary + (s0 + (s1 + () + (s2 (s3 s4) (s5 8)) + (s2 (s6 s4) (s5 (s3 6))) + (s7 (s8 s9) s9) + (s7 (s10 s11) s11) + (s8 (s10 (s6))))))) (prim-#%expression . #f) + (visit + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 8)) + (s1 (s5 s3) (s4 (s2 6))) + (s6 (s7 s8) s8) + (s6 (s9 s10) s10) + (s7 (s9 (s5)))))) + (resolve . #s(stx-boundary s0)) + (enter-macro + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 8)) + (s1 (s5 s3) (s4 (s2 6))) + (s6 (s7 s8) s8) + (s6 (s9 s10) s10) + (s7 (s9 (s5)))))) + (macro-pre-x + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 8)) + (s1 (s5 s3) (s4 (s2 6))) + (s6 (s7 s8) s8) + (s6 (s9 s10) s10) + (s7 (s9 (s5)))))) + (macro-post-x + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 8)) + (s1 (s5 s3) (s4 (s2 6))) + (s6 (s7 s8) s8) + (s6 (s9 s10) s10) + (s7 (s9 (s5))))) + . + #s(stx-boundary + (s11 + () + (s1 (s2 s3) (s4 8)) + (s1 (s5 s3) (s4 (s2 6))) + (s6 (s7 s8) s8) + (s6 (s9 s10) s10) + (s7 (s9 (s5)))))) + (exit-macro + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 8)) + (s1 (s5 s3) (s4 (s2 6))) + (s6 (s7 s8) s8) + (s6 (s9 s10) s10) + (s7 (s9 (s5)))))) + (visit + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 8)) + (s1 (s5 s3) (s4 (s2 6))) + (s6 (s7 s8) s8) + (s6 (s9 s10) s10) + (s7 (s9 (s5)))))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 + () + (s1 (s2 s3) (s4 8)) + (s1 (s5 s3) (s4 (s2 6))) + (s6 (s7 s8) s8) + (s6 (s9 s10) s10) + (s7 (s9 (s5)))))) + (prim-let-values . #f) + (let-renames + () + . + #s(stx-boundary + ((s0 (s1 s2) (s3 8)) + (s0 (s4 s2) (s3 (s1 6))) + (s5 (s6 s7) s7) + (s5 (s8 s9) s9) + (s6 (s8 (s4)))))) + (next-group . #f) + (enter-block + . + #s(stx-boundary + ((s0 (s1 s2) (s3 8)) + (s0 (s4 s2) (s3 (s1 6))) + (s5 (s6 s7) s7) + (s5 (s8 s9) s9) + (s6 (s8 (s4)))))) + (block-renames + #s(stx-boundary + ((s0 (s1 s2) (s3 8)) + (s0 (s4 s2) (s3 (s1 6))) + (s5 (s6 s7) s7) + (s5 (s8 s9) s9) + (s6 (s8 (s4))))) + . + #s(stx-boundary + ((s0 (s1 s2) (s3 8)) + (s0 (s4 s2) (s3 (s1 6))) + (s5 (s6 s7) s7) + (s5 (s8 s9) s9) + (s6 (s8 (s4)))))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 8)))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8)))) + . + #s(stx-boundary (s5 (s1 s3) (s4 8)))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 8))))) + (prim-define-syntaxes . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 8))))) + (prepare-env . #f) + (enter-bind . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 8)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1) (s2 8)))) + (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 8)))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 8))) + . + #s(stx-boundary (s3 (s1) (s2 8)))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 8)))) + (visit . #s(stx-boundary (s0 (s1) (s2 8)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 8)))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 8)))) + (enter-block . #s(stx-boundary ((s0 8)))) + (block-renames #s(stx-boundary ((s0 8))) . #s(stx-boundary ((s0 8)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 8))) + (exit-check . #s(stx-boundary (s0 8))) + (block->list . #s(stx-boundary ((s0 8)))) + (enter-list . #s(stx-boundary ((s0 8)))) + (next . #f) + (visit . #s(stx-boundary (s0 8))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 8))) + (prim-quote-syntax . #f) + (exit-prim . #s(stx-boundary (s0 8))) + (return . #s(stx-boundary (s0 8))) + (exit-list . #s(stx-boundary ((s0 8)))) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 8)))) + (return . #s(stx-boundary (s0 (s1) (s2 8)))) + (next . #f) + (exit-bind . #f) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) + (visit . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) (s3 (s4 6))))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6))))) + . + #s(stx-boundary (s6 (s1 s3) (s4 (s5 6))))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) (s4 (s5 6)))))) + (prim-define-syntaxes . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) (s3 (s4 6)))))) + (prepare-env . #f) + (enter-bind . #f) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (macro-pre-x . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3 6)))) + . + #s(stx-boundary (s4 (s1) (s2 (s3 6))))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (visit . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary ((s1 (s2 6))))) + (enter-block . #s(stx-boundary ((s0 (s1 6))))) + (block-renames + #s(stx-boundary ((s0 (s1 6)))) + . + #s(stx-boundary ((s0 (s1 6))))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 6)))) + (exit-check . #s(stx-boundary (s0 (s1 6)))) + (block->list . #s(stx-boundary ((s0 (s1 6))))) + (enter-list . #s(stx-boundary ((s0 (s1 6))))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 6)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1 6)))) + (prim-quote-syntax . #f) + (exit-prim . #s(stx-boundary (s0 (s1 6)))) + (return . #s(stx-boundary (s0 (s1 6)))) + (exit-list . #s(stx-boundary ((s0 (s1 6))))) + (exit-prim . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3 6))))) + (next . #f) + (exit-bind . #f) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 s2) s2))) + (visit . #s(stx-boundary (s0 (s1 s2) s2))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2) s2))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) s2))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 (s3) s3))) + . + #s(stx-boundary (s0 (s1 s3) s3))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (return . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) s3))) + . + #s(stx-boundary (s4 s1 (s2 (s3) s3)))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (prim-define-values . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) s2)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 s2) s2))) + (visit . #s(stx-boundary (s0 (s1 s2) s2))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 (s1 s2) s2))) + (macro-pre-x . #s(stx-boundary (s0 (s1 s2) s2))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 (s3) s3))) + . + #s(stx-boundary (s0 (s1 s3) s3))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (return . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3) s3)))) + (macro-post-x + #s(stx-boundary (s0 (s1) (s2 (s3) s3))) + . + #s(stx-boundary (s4 s1 (s2 (s3) s3)))) + (exit-macro . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (return . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (exit-check . #s(stx-boundary (s0 (s1) (s2 (s3) s3)))) + (prim-define-values . #f) + (rename-one . #s(stx-boundary ((s0) (s1 (s2) s2)))) + (next . #f) + (enter-check . #s(stx-boundary (s0 (s1 (s2))))) + (exit-check . #s(stx-boundary (s0 (s1 (s2))))) + (block->letrec + #s(stx-boundary + (s0 + (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) + (((s6) (s7 (s8) s8)) ((s9) (s7 (s10) s10))) + (s6 (s9 (s5)))))) + (visit + . + #s(stx-boundary + (s0 + (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) + (((s6) (s7 (s8) s8)) ((s9) (s7 (s10) s10))) + (s6 (s9 (s5)))))) + (resolve . #s(stx-boundary s0)) + (enter-prim + . + #s(stx-boundary + (s0 + (((s1) (s2 (s3) (s4 8))) ((s5) (s2 (s3) (s4 (s1 6))))) + (((s6) (s7 (s8) s8)) ((s9) (s7 (s10) s10))) + (s6 (s9 (s5)))))) + (prim-letrec-syntaxes+values . #f) + (letrec-syntaxes-renames + (#s(stx-boundary ((s0) (s1 (s2) (s3 8)))) + #s(stx-boundary ((s4) (s1 (s2) (s3 (s0 6)))))) + (#s(stx-boundary ((s5) (s6 (s7) s7))) + #s(stx-boundary ((s8) (s6 (s9) s9)))) + . + #s(stx-boundary ((s5 (s8 (s4)))))) + (prepare-env . #f) + (next-group . #f) + (prim-letrec-values . #f) + (let-renames + (#s(stx-boundary ((s0) (s1 (s2) s2))) + #s(stx-boundary ((s3) (s1 (s4) s4)))) + . + #s(stx-boundary ((s0 (s3 (s5)))))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1) s1))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 (s1) s1))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) + (enter-block . #s(stx-boundary (s0))) + (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) + (next . #f) + (enter-check . #s(stx-boundary s0)) + (exit-check . #s(stx-boundary s0)) + (block->list . #s(stx-boundary (s0))) + (enter-list . #s(stx-boundary (s0))) + (next . #f) (visit . #s(stx-boundary s0)) (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0))) + (exit-prim . #s(stx-boundary (s0 (s1) s1))) + (return . #s(stx-boundary (s0 (s1) s1))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1) s1))) (resolve . #s(stx-boundary s0)) - (tag . #s(stx-boundary (s0 . s1))) - (enter-prim . #s(stx-boundary (s0 . s1))) - (prim-#%top . #f) - (exit-prim . #s(stx-boundary (s0 . s1))) - (return . #s(stx-boundary (s0 . s1))) - (exit-prim . #s(stx-boundary (s0 (s1 . s2)))) - (return . #s(stx-boundary (s0 (s1 . s2))))))) + (enter-prim . #s(stx-boundary (s0 (s1) s1))) + (prim-lambda . #f) + (lambda-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) + (enter-block . #s(stx-boundary (s0))) + (block-renames #s(stx-boundary (s0)) . #s(stx-boundary (s0))) + (next . #f) + (enter-check . #s(stx-boundary s0)) + (exit-check . #s(stx-boundary s0)) + (block->list . #s(stx-boundary (s0))) + (enter-list . #s(stx-boundary (s0))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (exit-list . #s(stx-boundary (s0))) + (exit-prim . #s(stx-boundary (s0 (s1) s1))) + (return . #s(stx-boundary (s0 (s1) s1))) + (next-group . #f) + (enter-list . #s(stx-boundary ((s0 (s1 (s2)))))) + (next . #f) + (visit . #s(stx-boundary (s0 (s1 (s2))))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 (s2 (s3))))) + (enter-macro . #s(stx-boundary (s0 s1 (s2 (s3))))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2 (s3))))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2 (s3)))) + . + #s(stx-boundary (s0 s1 (s2 (s3))))) + (exit-macro . #s(stx-boundary (s0 s1 (s2 (s3))))) + (visit . #s(stx-boundary (s0 s1 (s2 (s3))))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2 (s3))))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 (s1 (s2))))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary (s0 (s1)))) + (resolve . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 s1 (s2)))) + (enter-macro . #s(stx-boundary (s0 s1 (s2)))) + (macro-pre-x . #s(stx-boundary (s0 s1 (s2)))) + (macro-post-x + #s(stx-boundary (s0 s1 (s2))) + . + #s(stx-boundary (s0 s1 (s2)))) + (exit-macro . #s(stx-boundary (s0 s1 (s2)))) + (visit . #s(stx-boundary (s0 s1 (s2)))) + (resolve . #s(stx-boundary s0)) + (enter-prim . #s(stx-boundary (s0 s1 (s2)))) + (prim-#%app . #f) + (enter-list . #s(stx-boundary (s0 (s1)))) + (next . #f) + (visit . #s(stx-boundary s0)) + (resolve . #s(stx-boundary s0)) + (variable #s(stx-boundary s0) . #s(stx-boundary s0)) + (return . #s(stx-boundary s0)) + (next . #f) + (visit . #s(stx-boundary (s0))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0))) + (macro-pre-x . #s(stx-boundary (s0))) + (macro-post-x #s(stx-boundary (s0 6)) . #s(stx-boundary (s1))) + (exit-macro . #s(stx-boundary (s0 6))) + (visit . #s(stx-boundary (s0 6))) + (resolve . #s(stx-boundary s0)) + (enter-macro . #s(stx-boundary (s0 6))) + (macro-pre-x . #s(stx-boundary (s0 6))) + (macro-post-x #s(stx-boundary 8) . #s(stx-boundary (s0 6))) + (exit-macro . #s(stx-boundary 8)) + (visit . #s(stx-boundary 8)) + (resolve . #s(stx-boundary s0)) + (tag . #s(stx-boundary (s0 . 8))) + (enter-prim . #s(stx-boundary (s0 . 8))) + (prim-#%datum . #f) + (exit-prim . #s(stx-boundary (s0 8))) + (return . #s(stx-boundary (s0 8))) + (exit-list . #s(stx-boundary (s0 (s1 8)))) + (exit-prim . #s(stx-boundary (s0 s1 (s2 8)))) + (return . #s(stx-boundary (s0 s1 (s2 8)))) + (exit-list . #s(stx-boundary (s0 (s1 s2 (s3 8))))) + (exit-prim . #s(stx-boundary (s0 s1 (s0 s2 (s3 8))))) + (return . #s(stx-boundary (s0 s1 (s0 s2 (s3 8))))) + (exit-list . #s(stx-boundary ((s0 s1 (s0 s2 (s3 8)))))) + (tag + . + #s(stx-boundary + (s0 + (((s1) (s2 (s3) s3))) + (s0 (((s4) (s2 (s5) s5))) (s6 s1 (s6 s4 (s7 8))))))) + (exit-prim + . + #s(stx-boundary + (s0 + (((s1) (s2 (s3) s3))) + (s0 (((s4) (s2 (s5) s5))) (s6 s1 (s6 s4 (s7 8))))))) + (return + . + #s(stx-boundary + (s0 + (((s1) (s2 (s3) s3))) + (s0 (((s4) (s2 (s5) s5))) (s6 s1 (s6 s4 (s7 8))))))) + (exit-prim + . + #s(stx-boundary + (s0 + () + (s0 + (((s1) (s2 (s3) s3))) + (s0 (((s4) (s2 (s5) s5))) (s6 s1 (s6 s4 (s7 8)))))))) + (return + . + #s(stx-boundary + (s0 + () + (s0 + (((s1) (s2 (s3) s3))) + (s0 (((s4) (s2 (s5) s5))) (s6 s1 (s6 s4 (s7 8)))))))) + (exit-prim + . + #s(stx-boundary + (s0 + (s1 + () + (s1 + (((s2) (s3 (s4) s4))) + (s1 (((s5) (s3 (s6) s6))) (s7 s2 (s7 s5 (s8 8))))))))) + (return + . + #s(stx-boundary + (s0 + (s1 + () + (s1 + (((s2) (s3 (s4) s4))) + (s1 (((s5) (s3 (s6) s6))) (s7 s2 (s7 s5 (s8 8)))))))))))) diff --git a/pkgs/racket-test-core/tests/racket/macro.rktl b/pkgs/racket-test-core/tests/racket/macro.rktl index 8a013e54fd..4107db41d5 100644 --- a/pkgs/racket-test-core/tests/racket/macro.rktl +++ b/pkgs/racket-test-core/tests/racket/macro.rktl @@ -482,8 +482,7 @@ (module m1-for-local-expand racket/base (require (for-syntax racket/base)) (provide (rename-out [mb #%module-begin]) - (except-out (all-from-out racket/base) #%module-begin) - (for-syntax (all-from-out racket/base))) + (except-out (all-from-out racket/base) #%module-begin)) (define-syntax (mb stx) (syntax-case stx () [(_ 10) #'(#%plain-module-begin 10)] @@ -492,20 +491,17 @@ (let ([e (local-expand #'(#%plain-module-begin form ...) 'module-begin (list #'module*))]) - (syntax-case e (module module* quote #%plain-app begin-for-syntax) + (syntax-case e (module module* quote #%plain-app) [(mod-beg (#%plain-app + (quote 1) (quote 2)) (module* q #f 10) - (module* z #f 11) - (begin-for-syntax (module* r #f 12))) + (module* z #f 11)) 'ok] [else (error 'test "bad local-expand result: ~s" (syntax->datum e))]) e)]))) (module m2-for-local-expand 'm1-for-local-expand (+ 1 2) - (module* q #f 10) - (module* z #f 11) - (begin-for-syntax (module* r #f 12))) + (module* q #f 10) (module* z #f 11)) (module uses-internal-definition-context-around-id racket/base diff --git a/pkgs/racket-test-core/tests/racket/module.rktl b/pkgs/racket-test-core/tests/racket/module.rktl index 53ac6aa3b8..d8b7f9453d 100644 --- a/pkgs/racket-test-core/tests/racket/module.rktl +++ b/pkgs/racket-test-core/tests/racket/module.rktl @@ -6,7 +6,7 @@ ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (module n racket/base - (define n 'n) + (define n 'n) (define-struct s (field1 field2) #:mutable) (provide n (struct-out s) @@ -355,7 +355,7 @@ (define-syntax (mb stx) (syntax-case stx () [(_ . forms) - #`(#%plain-module-begin + #`(#%plain-module-begin #,(datum->syntax stx '(require (for-syntax racket/base))) . forms)]))) (module m 'mod_beg2 @@ -370,7 +370,7 @@ (define-syntax (mb stx) (syntax-case stx () [(_ . forms) - #`(#%plain-module-begin + #`(#%plain-module-begin #,(datum->syntax stx '(require (for-syntax racket/base))) . forms)]))) (module m 'mod_beg2 @@ -385,7 +385,7 @@ (define-syntax (mb stx) (syntax-case stx () [(mb . forms) - #`(#%plain-module-begin + #`(#%plain-module-begin #,(datum->syntax #'mb '(require (for-syntax racket/base))) . forms)]))) (module m 'mod_beg2 @@ -398,7 +398,7 @@ (module local-binding-produces-identity racket/base (provide proc) - + (define proc (let () (define-syntax identity @@ -407,7 +407,7 @@ (lambda (x) (let ([misc-id 'other]) x))])) - + (identity x)))) (test 77 (dynamic-require ''local-binding-produces-identity 'proc) 77) @@ -456,7 +456,7 @@ (regexp-match? #rx"cycle" (exn-message exn))))]) (let-values ([(b1 tmp1 mbd1?) (split-path f1)] [(b2 tmp2 mbd2?) (split-path f2)]) - + (with-output-to-file f1 #:exists 'truncate/replace (lambda () @@ -610,12 +610,12 @@ ;; check collection-path details (test-values '(not there) (lambda () - (collection-path "nonesuch" - #:fail (lambda (s) + (collection-path "nonesuch" + #:fail (lambda (s) (test #t string? s) (values 'not 'there))))) (test-values '(1 2) (lambda () - (collection-file-path "none.rkt" "nonesuch" + (collection-file-path "none.rkt" "nonesuch" #:fail (lambda (s) (test #t string? s) (values 1 2))))) @@ -663,9 +663,9 @@ ;; Check shadowing of initial imports: (let ([m-code '(module m racket/base (define-syntax-rule (lambda . _) 5) (provide lambda))] - [n-code '(module n racket/base - (require 'm) - (define five (lambda (x) x)) + [n-code '(module n racket/base + (require 'm) + (define five (lambda (x) x)) (define five-stx #'lambda) (provide five five-stx))] [p-code '(module p racket/base @@ -783,7 +783,7 @@ ;; Check "source" name of built-in module: (parameterize ([current-namespace (module->namespace ''#%network)]) - (test '#%network + (test '#%network variable-reference->module-source (eval (datum->syntax #'here '(#%variable-reference))))) @@ -800,16 +800,16 @@ ;; require specs (parameterize ([current-namespace (make-base-namespace)]) - (map + (map eval '((module service racket (#%module-begin (module s racket/base))) - + (module good-client racket (#%module-begin (require (quote service)))) - + (module another-good-client racket (#%module-begin (require @@ -817,7 +817,7 @@ [quote dynamic-in])) (require (dynamic-in service)))) - + (module also-good-client racket (#%module-begin (require @@ -825,7 +825,7 @@ [quote dynamic-in])) (require (rename-in (dynamic-in service))))) - + (module submodule-good-client racket (#%module-begin (require @@ -833,7 +833,7 @@ [quote dynamic-in])) (require (rename-in (submod (dynamic-in service) s))))) - + (module another-submodule-good-client racket (#%module-begin (require @@ -907,7 +907,7 @@ (define-syntax-rule (prov) (provide id)) (prov))) - + (q go)) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -922,7 +922,7 @@ (begin (test 1 syntax-e #'one) (test #t identifier? (car (syntax-property #'one 'origin))) - (test #t symbol? + (test #t symbol? (resolved-module-path-name (module-path-index-resolve (car (identifier-binding (car (syntax-property #'one 'origin))))))))]) @@ -987,7 +987,7 @@ (begin-for-syntax (define m1 2) (provide m1))))) - + (define m2-expr '(module m2 racket/base (require (for-meta -2 'm1)) @@ -1136,7 +1136,7 @@ #'(begin (require (rename-in spec [name temp])) (define-syntax name 10))))])) - + (req (only-in data/queue enqueue!)))) (expand-syntax (expand src))) @@ -1265,7 +1265,7 @@ ((call-with-continuation-prompt (lambda () (call/cc values))))) - + (error "no")) (err/rt-test (dynamic-require ''disallowed-definition-avoider #f) @@ -1466,11 +1466,11 @@ case of module-leve bindings; it doesn't cover local bindings. (module uses-a-in-macro-rhs racket/base (require (for-syntax racket/base)) (provide one) - + (define-syntax (m stx) (local-require 'provides-a-for-local-require) #`#,a) - + (define one (m))) (test 1 dynamic-require ''uses-a-in-macro-rhs 'one) @@ -1478,16 +1478,16 @@ case of module-leve bindings; it doesn't cover local bindings. (module uses-a-in-begin-for-syntax racket/base (require (for-syntax racket/base)) (provide one) - + (begin-for-syntax (define one-ct (let () (local-require 'provides-a-for-local-require) a))) - + (define-syntax (m stx) #`#,one-ct) - + (define one (m))) (test 1 dynamic-require ''uses-a-in-begin-for-syntax 'one) @@ -1653,7 +1653,7 @@ case of module-leve bindings; it doesn't cover local bindings. (require (for-syntax racket/base)) (provide (rename-out [mb #%module-begin]) (except-out (all-from-out racket/base) #%module-begin)) - + (define-syntax (mb stx) (syntax-case stx () [(_ . b) @@ -1661,7 +1661,7 @@ case of module-leve bindings; it doesn't cover local bindings. (module use-local-require-at-phase-1 'force-local-expand-of-body (require (for-syntax racket/base)) - + (begin-for-syntax (local-require (only-in racket [+ ++])))) @@ -1847,15 +1847,15 @@ case of module-leve bindings; it doesn't cover local bindings. `((require (rename-in racket/base [car kar]))) null) (define inside 7)))) - + (test (not with-kar?) syntax-property m 'module-body-context-simple?) (define i (syntax-property m 'module-body-context)) (define o (syntax-property m 'module-body-inside-context)) - + (test #t syntax? i) (test #t syntax? o) - + (test car eval-syntax (datum->syntax i 'car)) (test 'inside cadr (identifier-binding (datum->syntax i 'inside))) (test #f identifier-binding (datum->syntax o 'inside)) @@ -1921,9 +1921,9 @@ case of module-leve bindings; it doesn't cover local bindings. (module defines-a-at-two-phase-levels racket/base (require (for-syntax racket/base)) - + (provide a (for-syntax a)) - + (define a 0) (begin-for-syntax (define a 1))) @@ -1984,7 +1984,7 @@ case of module-leve bindings; it doesn't cover local bindings. ;; this line is necessary, but you can require anything (require (rename-in racket/base [car prefix:car])) (module+ sub) - + (define my-very-own-x ,v))) (eval (make-module-that-has-a-complex-renaming 10)) @@ -2021,7 +2021,7 @@ case of module-leve bindings; it doesn't cover local bindings. (test 'provide-the-x-identifier resolved-module-path-name (module-path-index-resolve (syntax-source-module - (namespace-syntax-introduce + (namespace-syntax-introduce (dynamic-require ''provide-the-x-identifier 'x-id)))))) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -2048,7 +2048,7 @@ case of module-leve bindings; it doesn't cover local bindings. (module m-that-defines-very-confused-x racket ;; this line is necessary, but you can require anything ;;(require (only-in racket/base)) - + (define very-confused-x 10)) (require 'm-that-defines-very-confused-x) @@ -2151,11 +2151,11 @@ case of module-leve bindings; it doesn't cover local bindings. (module uses-defines-a-variable-x-in-its-body-at-phase-1 racket/base (require (for-syntax racket/base)) (provide out) - + (define-syntax (m stx) (dynamic-require ''defines-a-variable-x-in-its-body #f) #`(quote #,(eval 'x (module->namespace ''defines-a-variable-x-in-its-body)))) - + (define out (m))) (test 'defined dynamic-require ''uses-defines-a-variable-x-in-its-body-at-phase-1 'out) @@ -2210,9 +2210,9 @@ case of module-leve bindings; it doesn't cover local bindings. (parameterize ([current-namespace (make-base-namespace)]) (eval '(module m racket - + (require syntax/parse/define) - + (define-simple-macro (f m:id) (begin (define-for-syntax x "prop value") @@ -2276,7 +2276,7 @@ case of module-leve bindings; it doesn't cover local bindings. (define a1 'a1) (define a2 'a2) (define a3 'a3)) - + (require (prefix-in a: 'a)) (define another 'x)) @@ -2336,7 +2336,7 @@ case of module-leve bindings; it doesn't cover local bindings. (require (for-syntax 'check-shadowing-in-other-phase-d)) (provide (all-from-out 'check-shadowing-in-other-phase-c) (for-syntax (all-from-out 'check-shadowing-in-other-phase-d)))) - + (module check-shadowing-in-other-phase-a racket/base (require 'check-shadowing-in-other-phase-b) b) @@ -2675,11 +2675,11 @@ case of module-leve bindings; it doesn't cover local bindings. (module uses-eval-at-compile-time racket/base (require (for-syntax racket/base) (for-meta 2 racket/base)) - + (define-syntax (ct-eval stx) (syntax-case stx () [(_ e) #`'#,(eval #'e)])) - + (ct-eval (+ 1 2))) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -2702,37 +2702,6 @@ case of module-leve bindings; it doesn't cover local bindings. (test '(new orig) dynamic-require ''mixes-top-level-namespaces 'result) -;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; `local-expand` with `#:extend-stop-ids? #f` expands through core forms - -(err/rt-test - (eval - '(module local-expand-with-only-stop-list racket/base - (require (for-syntax racket/base)) - (define-syntax (stop stx) - (syntax-case stx () - [(_ form) #'form])) - (define-syntax (m stx) - (syntax-case stx () - [(_ form) - (local-expand #'form 'expression (list #'stop) #:extend-stop-ids? #f)])) - (m (let-syntax ([plus (make-rename-transformer #'+)]) - (stop (plus 1 2)))))) - exn:fail?) - -;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Make sure #%module-begin respects the stop list when module* is present - -(module module-begin-stop-list racket/base - (require (for-syntax racket/base)) - (define-syntax (stop stx) - (raise-syntax-error #f "don't expand me!" stx)) - (begin-for-syntax - (local-expand #'(#%plain-module-begin (#%expression (stop))) - 'module-begin - (list #'module* #'stop) - #:extend-stop-ids? #f))) - ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Make sure that re-expansion of a `(module _name #f ....)` ;; submodule doesn't lose track of the base scope of the diff --git a/racket/collects/racket/private/base.rkt b/racket/collects/racket/private/base.rkt index 415aafdaa0..db171250bb 100644 --- a/racket/collects/racket/private/base.rkt +++ b/racket/collects/racket/private/base.rkt @@ -12,7 +12,6 @@ "cert.rkt" "submodule.rkt" "generic-interfaces.rkt" - "kw-syntax-local.rkt" ; shadows `local-expand` and variants "kw-syntax-binding.rkt" ; shadows `syntax-binding-set-extend` (for-syntax "stxcase-scheme.rkt")) @@ -30,7 +29,7 @@ struct (all-from-except "hash.rkt" paired-fold) (all-from "list.rkt") - (all-from-except "string.rkt" + (all-from-except "string.rkt" -regexp-replace*) (rename -regexp-replace* regexp-replace*) identifier? @@ -40,7 +39,6 @@ (all-from "cert.rkt") (all-from "submodule.rkt") (all-from "generic-interfaces.rkt") - (all-from "kw-syntax-local.rkt") (all-from "kw-syntax-binding.rkt") (for-syntax syntax-rules syntax-id-rules ... _) (rename -open-input-file open-input-file) diff --git a/racket/collects/racket/private/kw-syntax-binding.rkt b/racket/collects/racket/private/kw-syntax-binding.rkt index 8fef177622..8db66fd28c 100644 --- a/racket/collects/racket/private/kw-syntax-binding.rkt +++ b/racket/collects/racket/private/kw-syntax-binding.rkt @@ -1,4 +1,4 @@ -(module kw-syntax-local "pre-base.rkt" +(module kw-syntax-binding "pre-base.rkt" (require (prefix-in k: '#%kernel)) (provide syntax-binding-set-extend) diff --git a/racket/collects/racket/private/kw-syntax-local.rkt b/racket/collects/racket/private/kw-syntax-local.rkt deleted file mode 100644 index e15d3d9584..0000000000 --- a/racket/collects/racket/private/kw-syntax-local.rkt +++ /dev/null @@ -1,24 +0,0 @@ -(module kw-syntax-local "pre-base.rkt" - (require (prefix-in k: '#%kernel)) - - (provide local-expand - local-expand/capture-lifts - local-transformer-expand - local-transformer-expand/capture-lifts) - - (define (local-expand s context stop-ids [intdefs '()] - #:extend-stop-ids? [extend-stop-ids? #t]) - (k:local-expand s context stop-ids intdefs extend-stop-ids?)) - - (define (local-expand/capture-lifts s context stop-ids [intdefs '()] [lift-key (gensym 'lift)] - #:extend-stop-ids? [extend-stop-ids? #t]) - (k:local-expand/capture-lifts s context stop-ids intdefs lift-key extend-stop-ids?)) - - (define (local-transformer-expand s context stop-ids [intdefs '()] - #:extend-stop-ids? [extend-stop-ids? #t]) - (k:local-transformer-expand s context stop-ids intdefs extend-stop-ids?)) - - (define (local-transformer-expand/capture-lifts - s context stop-ids [intdefs '()] [lift-key (gensym 'lift)] - #:extend-stop-ids? [extend-stop-ids? #t]) - (k:local-transformer-expand/capture-lifts s context stop-ids intdefs lift-key extend-stop-ids?))) diff --git a/racket/src/expander/expand/definition-context.rkt b/racket/src/expander/expand/definition-context.rkt index d059406399..9cac04a6f1 100644 --- a/racket/src/expander/expand/definition-context.rkt +++ b/racket/src/expander/expand/definition-context.rkt @@ -222,7 +222,6 @@ #:phase [phase (expand-context-phase ctx)] #:intdefs intdefs #:stop-ids [stop-ids #f] - #:extend-stops? [extend-stops? #t] #:to-parsed-ok? [to-parsed-ok? #f] #:track-to-be-defined? [track-to-be-defined? #f] #:keep-#%expression? [keep-#%expression? #t]) @@ -230,11 +229,7 @@ (expand-context-context ctx)) (and (list? context) (list? (expand-context-context ctx))))) - (define all-stop-ids (if stop-ids - (if extend-stops? - (stop-ids->all-stop-ids stop-ids phase) - stop-ids) - null)) + (define all-stop-ids (and stop-ids (stop-ids->all-stop-ids stop-ids phase))) (define def-ctx-scopes (if (expand-context-def-ctx-scopes ctx) (unbox (expand-context-def-ctx-scopes ctx)) null)) @@ -280,7 +275,7 @@ [just-once? #f] [in-local-expand? #t] [keep-#%expression? keep-#%expression?] - [stops (free-id-set phase all-stop-ids)] + [stops (free-id-set phase (or all-stop-ids null))] [current-introduction-scopes null] [need-eventually-defined (let ([ht (expand-context-need-eventually-defined ctx)]) (cond diff --git a/racket/src/expander/expand/expr.rkt b/racket/src/expander/expand/expr.rkt index 1fc8391464..31eec6ce81 100644 --- a/racket/src/expander/expand/expr.rkt +++ b/racket/src/expander/expand/expr.rkt @@ -678,9 +678,7 @@ (rebuild rebuild-s (list (m 'set!) - (substitute-variable id t #:no-stops? (free-id-set-empty-or-just-module*? - (expand-context-stops ctx) - (expand-context-phase ctx))) + (substitute-variable id t #:no-stops? (free-id-set-empty-or-just-module*? (expand-context-stops ctx))) exp-rhs)))] [(not binding) (raise-unbound-syntax-error #f "unbound identifier" s id null diff --git a/racket/src/expander/expand/free-id-set.rkt b/racket/src/expander/expand/free-id-set.rkt index 461da4e8c0..3f5df0faba 100644 --- a/racket/src/expander/expand/free-id-set.rkt +++ b/racket/src/expander/expand/free-id-set.rkt @@ -1,9 +1,7 @@ #lang racket/base (require "../common/list-ish.rkt" - "../syntax/binding.rkt" "../syntax/syntax.rkt" - "../syntax/scope.rkt" - "../namespace/core.rkt") + "../syntax/binding.rkt") (provide free-id-set empty-free-id-set @@ -31,10 +29,8 @@ null))]) (free-identifier=? id given-id phase phase)))) -(define (free-id-set-empty-or-just-module*? fs phase) +(define (free-id-set-empty-or-just-module*? fs) (define c (hash-count fs)) - (or (zero? c) - (and (= 1 c) - (let* ([p-core-stx (syntax-shift-phase-level core-stx phase)] - [mod-star-stx (datum->syntax p-core-stx 'module*)]) - (free-identifier=? (car (hash-values fs)) mod-star-stx phase phase))))) + ;; If any identifier other than `module*` is present, then many + ;; identifiers are present + (c . <= . 1)) diff --git a/racket/src/expander/expand/local-expand.rkt b/racket/src/expander/expand/local-expand.rkt index 1865c08051..e2bcdb9642 100644 --- a/racket/src/expander/expand/local-expand.rkt +++ b/racket/src/expander/expand/local-expand.rkt @@ -23,26 +23,22 @@ local-transformer-expand/capture-lifts syntax-local-expand-expression) -(define (local-expand s context stop-ids [intdefs '()] [extend-stops? #t]) - (do-local-expand 'local-expand s context stop-ids intdefs - #:extend-stops? extend-stops?)) +(define (local-expand s context stop-ids [intdefs '()]) + (do-local-expand 'local-expand s context stop-ids intdefs)) -(define (local-expand/capture-lifts s context stop-ids [intdefs '()] [lift-key (generate-lift-key)] [extend-stops? #t]) +(define (local-expand/capture-lifts s context stop-ids [intdefs '()] [lift-key (generate-lift-key)]) (do-local-expand 'local-expand s context stop-ids intdefs #:capture-lifts? #t - #:extend-stops? extend-stops? #:lift-key lift-key)) -(define (local-transformer-expand s context stop-ids [intdefs '()] [extend-stops? #t]) +(define (local-transformer-expand s context stop-ids [intdefs '()]) (do-local-expand 'local-expand s context stop-ids intdefs - #:as-transformer? #t - #:extend-stops? extend-stops?)) + #:as-transformer? #t)) -(define (local-transformer-expand/capture-lifts s context stop-ids [intdefs '()] [lift-key (generate-lift-key)] [extend-stops? #t]) +(define (local-transformer-expand/capture-lifts s context stop-ids [intdefs '()] [lift-key (generate-lift-key)]) (do-local-expand 'local-expand s context stop-ids intdefs #:as-transformer? #t #:capture-lifts? #t - #:extend-stops? extend-stops? #:lift-key lift-key)) (define (syntax-local-expand-expression s [opaque-only? #f]) @@ -72,7 +68,6 @@ (define (do-local-expand who s-or-s-exp context stop-ids [intdefs '()] #:capture-lifts? [capture-lifts? #f] #:as-transformer? [as-transformer? #f] - #:extend-stops? [extend-stops? #t] #:to-parsed-ok? [to-parsed-ok? #f] #:keep-#%expression? [keep-#%expression? #t] #:lift-key [lift-key (and (or capture-lifts? @@ -109,7 +104,6 @@ #:phase phase #:intdefs intdefs #:stop-ids stop-ids - #:extend-stops? extend-stops? #:to-parsed-ok? to-parsed-ok? #:keep-#%expression? (or keep-#%expression? (and (expand-context-in-local-expand? ctx) diff --git a/racket/src/expander/expand/main.rkt b/racket/src/expander/expand/main.rkt index 1a7b365deb..27c3b4ebcc 100644 --- a/racket/src/expander/expand/main.rkt +++ b/racket/src/expander/expand/main.rkt @@ -340,9 +340,7 @@ ;; A reference to a variable expands to itself (register-variable-referenced-if-local! binding) ;; 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) - (expand-context-phase ctx)))) + (define result-s (substitute-variable id t #:no-stops? (free-id-set-empty-or-just-module*? (expand-context-stops ctx)))) (cond [(and (expand-context-to-parsed? ctx) (free-id-set-empty? (expand-context-stops ctx))) @@ -409,8 +407,7 @@ (log-expand ctx 'macro-pre-x cleaned-s) (define confine-def-ctx-scopes? (not (or (expand-context-only-immediate? ctx) - (not (free-id-set-empty-or-just-module*? (expand-context-stops ctx) - (expand-context-phase ctx)))))) + (not (free-id-set-empty-or-just-module*? (expand-context-stops ctx)))))) (define accum-ctx (if (and confine-def-ctx-scopes? (expand-context-def-ctx-scopes ctx) diff --git a/racket/src/expander/expand/module.rkt b/racket/src/expander/expand/module.rkt index 69121ce10a..0ff0f11a9c 100644 --- a/racket/src/expander/expand/module.rkt +++ b/racket/src/expander/expand/module.rkt @@ -296,7 +296,7 @@ ;; Passes 1 and 2 are nested via `begin-for-syntax`: (define expression-expanded-bodys - (let pass-1-and-2-loop ([bodys bodys] [phase phase] [keep-stops? (stop-at-module*? ctx)]) + (let pass-1-and-2-loop ([bodys bodys] [phase phase]) ;; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;; Pass 1: partially expand to discover all bindings and install all @@ -305,6 +305,7 @@ ;; Need to accumulate definition contexts created during ;; partial expansion: (define def-ctx-scopes (box null)) + (define to-parsed? (expand-context-to-parsed? ctx)) (define partial-body-ctx (struct*-copy expand-context ctx [context 'module] @@ -355,9 +356,7 @@ (log-expand partial-body-ctx 'next-group) (define body-ctx (struct*-copy expand-context (accumulate-def-ctx-scopes partial-body-ctx def-ctx-scopes) - [stops (if keep-stops? - (expand-context-stops ctx) - empty-free-id-set)] + [stops empty-free-id-set] [def-ctx-scopes #f] [post-expansion #:parent root-expand-context #f] [to-module-lifts (make-to-module-lift-context phase @@ -757,7 +756,7 @@ (prepare-next-phase-namespace partial-body-ctx) (log-expand partial-body-ctx 'phase-up) (define-match m disarmed-exp-body '(begin-for-syntax e ...)) - (define nested-bodys (pass-1-and-2-loop (m 'e) (add1 phase) #f)) + (define nested-bodys (pass-1-and-2-loop (m 'e) (add1 phase))) (log-expand partial-body-ctx 'next-group) (namespace-run-available-modules! m-ns (add1 phase)) ; to support running `begin-for-syntax` (eval-nested-bodys nested-bodys (add1 phase) ct-m-ns self partial-body-ctx) diff --git a/racket/src/racket/src/schvers.h b/racket/src/racket/src/schvers.h index e2002ba842..37f1cb1b8f 100644 --- a/racket/src/racket/src/schvers.h +++ b/racket/src/racket/src/schvers.h @@ -13,12 +13,12 @@ consistently.) */ -#define MZSCHEME_VERSION "7.0.0.19" +#define MZSCHEME_VERSION "7.0.0.20" #define MZSCHEME_VERSION_X 7 #define MZSCHEME_VERSION_Y 0 #define MZSCHEME_VERSION_Z 0 -#define MZSCHEME_VERSION_W 19 +#define MZSCHEME_VERSION_W 20 #define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y) #define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W) diff --git a/racket/src/racket/src/startup.inc b/racket/src/racket/src/startup.inc index 312b8cfd4d..e2e5aecbb8 100644 --- a/racket/src/racket/src/startup.inc +++ b/racket/src/racket/src/startup.inc @@ -2381,13 +2381,6 @@ static const char *startup_source = " loop_0)" "(hash-iterate-first h_0)))))" "(define-values" -"(hash-values)" -"(lambda(table_0)" -"(begin" -"(begin" -" (if (hash? table_0) (void) (let-values () (raise-argument-error 'hash-values \"hash?\" table_0)))" -"(hash-map table_0(lambda(k_0 v_0) v_0))))))" -"(define-values" "(sort7.1)" "(lambda(cache-keys?2_0 key1_0 lst5_0 less?6_0)" "(begin" @@ -4942,11 +4935,21 @@ static const char *startup_source = "(define-values" "(immutable-prefab-struct-key)" "(lambda(v_0)" -"(begin(let-values(((k_0)(prefab-struct-key v_0)))(if k_0(if(all-fields-immutable? k_0) k_0 #f) #f)))))" +"(begin(let-values(((k_0)(prefab-struct-key v_0)))(if k_0(if(all-fields-immutable?$1 k_0) k_0 #f) #f)))))" "(define-values" -"(all-fields-immutable?)" +"(prefab-key-all-fields-immutable?)" "(lambda(k_0)" "(begin" +"(begin" +"(if(prefab-key? k_0)" +"(void)" +" (let-values () (raise-argument-error 'prefab-key-all-fields-immutable? \"prefab-key?\" k_0)))" +"(all-fields-immutable?$1 k_0)))))" +"(define-values" +"(all-fields-immutable?$1)" +"(lambda(k_0)" +"(begin" +" 'all-fields-immutable?" "(let-values(((or-part_0)(symbol? k_0)))" "(if or-part_0" " or-part_0" @@ -4960,8 +4963,9 @@ static const char *startup_source = "(if(zero?(caar rk_1))(cdr rk_1)(cons '#(1)(cdr rk_1)))" " rk_1)))" "(if(if(pair? rk_2)(vector?(car rk_2)) #f)" -"(if(zero?(vector-length(car rk_2)))(all-fields-immutable?(cdr rk_2)) #f)" -"(all-fields-immutable? rk_2))))))))))))" +"(if(zero?(vector-length(car rk_2)))(all-fields-immutable?$1(cdr rk_2)) #f)" +"(all-fields-immutable?$1 rk_2))))))))))))" +"(define-values(all-fields-immutable?)(lambda(k_0)(begin(prefab-key-all-fields-immutable? k_0))))" " (define-values (not-an-fX.1) (lambda (who_0 v_0) (begin 'not-an-fX (raise-argument-error who_0 \"fixnum?\" v_0))))" "(define-values" "(datum-map-slow)" @@ -15439,338 +15443,6 @@ static const char *startup_source = "(define-values(root-tag)(unsafe-root-continuation-prompt-tag))" "(define-values(cons-ish)(lambda(a_0 b_0)(begin(if(null? b_0) a_0(cons a_0 b_0)))))" "(define-values" -"(to-syntax-list.1)" -"(lambda(s_0)" -"(begin" -" 'to-syntax-list" -"(if(list? s_0)" -"(let-values() s_0)" -"(if(pair? s_0)" -"(let-values()(let-values(((r_0)(to-syntax-list.1(cdr s_0))))(if r_0(cons(car s_0) r_0) #f)))" -"(if(syntax?$1 s_0)(let-values()(to-syntax-list.1(syntax-e$1 s_0)))(let-values() #f)))))))" -"(define-values(core-scope)(new-multi-scope))" -"(define-values(core-stx)(add-scope empty-syntax core-scope))" -"(define-values(core-module-name)(1/make-resolved-module-path '#%core))" -"(define-values(core-mpi)(1/module-path-index-join ''#%core #f))" -"(define-values(cell.1$3)(unsafe-make-place-local(make-hasheq)))" -"(define-values(cell.2$1)(unsafe-make-place-local(make-hasheq)))" -"(define-values" -"(core-place-init!)" -"(lambda()" -"(begin(begin(unsafe-place-local-set! cell.1$3(make-hasheq))(unsafe-place-local-set! cell.2$1(make-hasheq))))))" -"(define-values" -"(core-id)" -"(lambda(sym_0 phase_0)" -"(begin" -"(if(eqv? phase_0 0)" -"(let-values()" -"(let-values(((or-part_0)(hash-ref(unsafe-place-local-ref cell.1$3) sym_0 #f)))" -"(if or-part_0" -" or-part_0" -"(let-values(((s_0)(datum->syntax$1 core-stx sym_0)))" -"(begin(hash-set!(unsafe-place-local-ref cell.1$3) sym_0 s_0) s_0)))))" -"(if(eq? phase_0 1)" -"(let-values()" -"(let-values(((or-part_0)(hash-ref(unsafe-place-local-ref cell.2$1) sym_0 #f)))" -"(if or-part_0" -" or-part_0" -"(let-values(((s_0)(datum->syntax$1(syntax-shift-phase-level$1 core-stx 1) sym_0)))" -"(begin(hash-set!(unsafe-place-local-ref cell.2$1) sym_0 s_0) s_0)))))" -"(let-values()(datum->syntax$1(syntax-shift-phase-level$1 core-stx phase_0) sym_0)))))))" -"(define-values(core-forms) '#hasheq())" -"(define-values(core-primitives) '#hasheq())" -"(define-values" -"(add-core-form!*)" -"(lambda(sym_0 proc_0)" -"(begin(begin(add-core-binding! sym_0)(set! core-forms(hash-set core-forms sym_0 proc_0))))))" -"(define-values" -"(add-core-primitive!)" -"(lambda(sym_0 val_0)" -"(begin(begin(add-core-binding! sym_0)(set! core-primitives(hash-set core-primitives sym_0 val_0))))))" -"(define-values" -"(add-core-binding!)" -"(lambda(sym_0)" -"(begin" -"(let-values(((temp1_0)(datum->syntax$1 core-stx sym_0))" -"((temp2_0)" -"(let-values(((core-mpi4_0) core-mpi)((temp5_0) 0)((sym6_0) sym_0))" -"(make-module-binding20.1" -" #f" -" null" -" #f" -" #f" -" unsafe-undefined" -" unsafe-undefined" -" 0" -" unsafe-undefined" -" core-mpi4_0" -" temp5_0" -" sym6_0)))" -"((temp3_0) 0))" -"(add-binding!17.1 #f #f temp1_0 temp2_0 temp3_0)))))" -"(define-values" -"(declare-core-module!)" -"(lambda(ns_0)" -"(begin" -"(let-values(((ns7_0) ns_0)" -"((temp8_0)" -"(let-values(((temp10_0) #t)" -"((temp11_0) #t)" -"((temp12_0) #t)" -"((core-mpi13_0) core-mpi)" -"((temp14_0)" -"(hasheqv" -" 0" -"(let-values(((lst_0)(list core-primitives core-forms))((lst_1) '(#f #t)))" -"(begin" -"(if(variable-reference-from-unsafe?(#%variable-reference))" -"(void)" -"(let-values()(check-list lst_0)))" -"(if(variable-reference-from-unsafe?(#%variable-reference))" -"(void)" -"(let-values()(check-list lst_1)))" -"((letrec-values(((for-loop_0)" -"(lambda(table_0 lst_2 lst_3)" -"(begin" -" 'for-loop" -"(if(if(pair? lst_2)(pair? lst_3) #f)" -"(let-values(((syms_0)(unsafe-car lst_2))" -"((rest_0)(unsafe-cdr lst_2))" -"((syntax?_0)(unsafe-car lst_3))" -"((rest_1)(unsafe-cdr lst_3)))" -"(let-values(((table_1)" -"(let-values(((table_1) table_0))" -"(let-values(((ht_0) syms_0))" -"(begin" -"(if(variable-reference-from-unsafe?" -"(#%variable-reference))" -"(void)" -"(let-values()" -"(check-in-hash-keys ht_0)))" -"((letrec-values(((for-loop_1)" -"(lambda(table_2" -" i_0)" -"(begin" -" 'for-loop" -"(if i_0" -"(let-values(((sym_0)" -"(hash-iterate-key" -" ht_0" -" i_0)))" -"(let-values(((table_3)" -"(let-values(((table_3)" -" table_2))" -"(let-values(((table_4)" -"(let-values()" -"(let-values(((key_0" -" val_0)" -"(let-values()" -"(let-values(((b_0)" -"(let-values(((core-mpi17_0)" -" core-mpi)" -"((temp18_0)" -" 0)" -"((sym19_0)" -" sym_0))" -"(make-module-binding20.1" -" #f" -" null" -" #f" -" #f" -" unsafe-undefined" -" unsafe-undefined" -" 0" -" unsafe-undefined" -" core-mpi17_0" -" temp18_0" -" sym19_0))))" -"(values" -" sym_0" -"(if syntax?_0" -"(provided1.1" -" b_0" -" #f" -" #t)" -" b_0))))))" -"(hash-set" -" table_3" -" key_0" -" val_0)))))" -"(values" -" table_4)))))" -"(if(not" -" #f)" -"(for-loop_1" -" table_3" -"(hash-iterate-next" -" ht_0" -" i_0))" -" table_3)))" -" table_2)))))" -" for-loop_1)" -" table_1" -"(hash-iterate-first ht_0)))))))" -"(if(not #f)" -"(for-loop_0 table_1 rest_0 rest_1)" -" table_1)))" -" table_0)))))" -" for-loop_0)" -" '#hasheq()" -" lst_0" -" lst_1)))))" -"((temp15_0)" -"(lambda(phase-level_0 ns_1 insp_0)" -"(if(zero? phase-level_0)" -"(let-values(((ns_2)" -"(let-values(((ns20_0) ns_1)" -"((core-module-name21_0) core-module-name)" -"((temp22_0) 0))" -"(namespace->module-namespace82.1" -" #f" -" #f" -" unsafe-undefined" -" ns20_0" -" core-module-name21_0" -" temp22_0))))" -"(if ns_2" -"(module-linklet-info2.1(namespace->instance ns_2 0) #f core-mpi #f #f #f)" -" #f))" -" #f)))" -"((temp16_0)" -"(lambda(data-box_0 ns_1 phase_0 phase-level_0 self_0 bulk-binding-registry_0 insp_0)" -"(let-values(((tmp_0) phase-level_0))" -"(if(equal? tmp_0 0)" -"(let-values()" -"(begin" -"(let-values(((ht_0) core-primitives))" -"(begin" -"(if(variable-reference-from-unsafe?(#%variable-reference))" -"(void)" -"(let-values()(check-in-hash ht_0)))" -"((letrec-values(((for-loop_0)" -"(lambda(i_0)" -"(begin" -" 'for-loop" -"(if i_0" -"(let-values(((sym_0 val_0)" -"(hash-iterate-key+value" -" ht_0" -" i_0)))" -"(let-values((()" -"(let-values()" -"(let-values((()" -"(let-values()" -"(begin" -"(let-values()" -"(namespace-set-consistent!" -" ns_1" -" 0" -" sym_0" -" val_0))" -"(values)))))" -"(values)))))" -"(if(not #f)" -"(for-loop_0(hash-iterate-next ht_0 i_0))" -"(values))))" -"(values))))))" -" for-loop_0)" -"(hash-iterate-first ht_0))))" -"(void)" -"(let-values(((ht_0) core-forms))" -"(begin" -"(if(variable-reference-from-unsafe?(#%variable-reference))" -"(void)" -"(let-values()(check-in-hash ht_0)))" -"((letrec-values(((for-loop_0)" -"(lambda(i_0)" -"(begin" -" 'for-loop" -"(if i_0" -"(let-values(((sym_0 proc_0)" -"(hash-iterate-key+value" -" ht_0" -" i_0)))" -"(let-values((()" -"(let-values()" -"(let-values((()" -"(let-values()" -"(begin" -"(let-values()" -"(namespace-set-transformer!" -" ns_1" -" 0" -" sym_0" -"(if(procedure-arity-includes?" -" proc_0" -" 2)" -"(core-form9.1" -" proc_0" -" sym_0)" -" proc_0)))" -"(values)))))" -"(values)))))" -"(if(not #f)" -"(for-loop_0(hash-iterate-next ht_0 i_0))" -"(values))))" -"(values))))))" -" for-loop_0)" -"(hash-iterate-first ht_0))))" -"(void)))" -"(let-values()(void)))))))" -"(make-module39.1" -" temp10_0" -" unsafe-undefined" -" unsafe-undefined" -" temp16_0" -" #f" -" 0" -" 0" -" temp11_0" -" temp15_0" -" temp12_0" -" unsafe-undefined" -" #f" -" temp14_0" -" null" -" core-mpi13_0" -" #f" -" null" -" #f)))" -"((core-module-name9_0) core-module-name))" -"(declare-module!58.1 #t ns7_0 temp8_0 core-module-name9_0)))))" -"(define-values" -"(core-form-sym)" -"(lambda(s_0 phase_0)" -"(begin" -"(let-values(((ok?_0 id23_0 _24_0)" -"(let-values(((s_1) s_0))" -"(if(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(if(pair? s_2)" -"(if(let-values(((s_3)(car s_2)))" -"(let-values(((or-part_0)(if(syntax?$1 s_3)(symbol?(syntax-e$1 s_3)) #f)))" -"(if or-part_0 or-part_0(symbol? s_3))))" -"(let-values(((s_3)(cdr s_2))) #t)" -" #f)" -" #f))" -"(let-values()" -"(let-values(((id23_0 _24_0)" -"(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" -"(let-values(((id25_0)(let-values(((s_3)(car s_2))) s_3))" -"((_26_0)(let-values(((s_3)(cdr s_2))) s_3)))" -"(values id25_0 _26_0)))))" -"(values #t id23_0 _24_0)))" -"(values #f #f #f)))))" -"(if ok?_0" -"(let-values(((b_0)" -"(let-values(((temp27_0) id23_0)((phase28_0) phase_0))" -"(resolve+shift28.1 #f #f null unsafe-undefined #f temp27_0 phase28_0))))" -"(if(module-binding? b_0)" -"(if(eq? core-module-name(1/module-path-index-resolve(module-binding-module b_0)))" -"(module-binding-sym b_0)" -" #f)" -" #f))" -" #f)))))" -"(define-values" "(free-id-set)" "(lambda(phase_0 ids_0)" "(begin" @@ -15839,17 +15511,7 @@ static const char *startup_source = " lst_0)))))))" "(define-values" "(free-id-set-empty-or-just-module*?)" -"(lambda(fs_0 phase_0)" -"(begin" -"(let-values(((c_0)(hash-count fs_0)))" -"(let-values(((or-part_0)(zero? c_0)))" -"(if or-part_0" -" or-part_0" -"(if(= 1 c_0)" -"(let-values(((p-core-stx_0)(syntax-shift-phase-level$1 core-stx phase_0)))" -"(let-values(((mod-star-stx_0)(datum->syntax$1 p-core-stx_0 'module*)))" -"(free-identifier=?$1(car(hash-values fs_0)) mod-star-stx_0 phase_0 phase_0)))" -" #f)))))))" +"(lambda(fs_0)(begin(let-values(((c_0)(hash-count fs_0)))(<= c_0 1)))))" "(define-values" "(struct:expand-context/outer" " expand-context/outer1.1" @@ -16446,6 +16108,338 @@ static const char *startup_source = "(if phase-to-ids_0(hash-ref phase-to-ids_0(expand-context-phase ctx_0) null) #f))))))" " print-values)" "(define-values" +"(to-syntax-list.1)" +"(lambda(s_0)" +"(begin" +" 'to-syntax-list" +"(if(list? s_0)" +"(let-values() s_0)" +"(if(pair? s_0)" +"(let-values()(let-values(((r_0)(to-syntax-list.1(cdr s_0))))(if r_0(cons(car s_0) r_0) #f)))" +"(if(syntax?$1 s_0)(let-values()(to-syntax-list.1(syntax-e$1 s_0)))(let-values() #f)))))))" +"(define-values(core-scope)(new-multi-scope))" +"(define-values(core-stx)(add-scope empty-syntax core-scope))" +"(define-values(core-module-name)(1/make-resolved-module-path '#%core))" +"(define-values(core-mpi)(1/module-path-index-join ''#%core #f))" +"(define-values(cell.1$3)(unsafe-make-place-local(make-hasheq)))" +"(define-values(cell.2$1)(unsafe-make-place-local(make-hasheq)))" +"(define-values" +"(core-place-init!)" +"(lambda()" +"(begin(begin(unsafe-place-local-set! cell.1$3(make-hasheq))(unsafe-place-local-set! cell.2$1(make-hasheq))))))" +"(define-values" +"(core-id)" +"(lambda(sym_0 phase_0)" +"(begin" +"(if(eqv? phase_0 0)" +"(let-values()" +"(let-values(((or-part_0)(hash-ref(unsafe-place-local-ref cell.1$3) sym_0 #f)))" +"(if or-part_0" +" or-part_0" +"(let-values(((s_0)(datum->syntax$1 core-stx sym_0)))" +"(begin(hash-set!(unsafe-place-local-ref cell.1$3) sym_0 s_0) s_0)))))" +"(if(eq? phase_0 1)" +"(let-values()" +"(let-values(((or-part_0)(hash-ref(unsafe-place-local-ref cell.2$1) sym_0 #f)))" +"(if or-part_0" +" or-part_0" +"(let-values(((s_0)(datum->syntax$1(syntax-shift-phase-level$1 core-stx 1) sym_0)))" +"(begin(hash-set!(unsafe-place-local-ref cell.2$1) sym_0 s_0) s_0)))))" +"(let-values()(datum->syntax$1(syntax-shift-phase-level$1 core-stx phase_0) sym_0)))))))" +"(define-values(core-forms) '#hasheq())" +"(define-values(core-primitives) '#hasheq())" +"(define-values" +"(add-core-form!*)" +"(lambda(sym_0 proc_0)" +"(begin(begin(add-core-binding! sym_0)(set! core-forms(hash-set core-forms sym_0 proc_0))))))" +"(define-values" +"(add-core-primitive!)" +"(lambda(sym_0 val_0)" +"(begin(begin(add-core-binding! sym_0)(set! core-primitives(hash-set core-primitives sym_0 val_0))))))" +"(define-values" +"(add-core-binding!)" +"(lambda(sym_0)" +"(begin" +"(let-values(((temp1_0)(datum->syntax$1 core-stx sym_0))" +"((temp2_0)" +"(let-values(((core-mpi4_0) core-mpi)((temp5_0) 0)((sym6_0) sym_0))" +"(make-module-binding20.1" +" #f" +" null" +" #f" +" #f" +" unsafe-undefined" +" unsafe-undefined" +" 0" +" unsafe-undefined" +" core-mpi4_0" +" temp5_0" +" sym6_0)))" +"((temp3_0) 0))" +"(add-binding!17.1 #f #f temp1_0 temp2_0 temp3_0)))))" +"(define-values" +"(declare-core-module!)" +"(lambda(ns_0)" +"(begin" +"(let-values(((ns7_0) ns_0)" +"((temp8_0)" +"(let-values(((temp10_0) #t)" +"((temp11_0) #t)" +"((temp12_0) #t)" +"((core-mpi13_0) core-mpi)" +"((temp14_0)" +"(hasheqv" +" 0" +"(let-values(((lst_0)(list core-primitives core-forms))((lst_1) '(#f #t)))" +"(begin" +"(if(variable-reference-from-unsafe?(#%variable-reference))" +"(void)" +"(let-values()(check-list lst_0)))" +"(if(variable-reference-from-unsafe?(#%variable-reference))" +"(void)" +"(let-values()(check-list lst_1)))" +"((letrec-values(((for-loop_0)" +"(lambda(table_0 lst_2 lst_3)" +"(begin" +" 'for-loop" +"(if(if(pair? lst_2)(pair? lst_3) #f)" +"(let-values(((syms_0)(unsafe-car lst_2))" +"((rest_0)(unsafe-cdr lst_2))" +"((syntax?_0)(unsafe-car lst_3))" +"((rest_1)(unsafe-cdr lst_3)))" +"(let-values(((table_1)" +"(let-values(((table_1) table_0))" +"(let-values(((ht_0) syms_0))" +"(begin" +"(if(variable-reference-from-unsafe?" +"(#%variable-reference))" +"(void)" +"(let-values()" +"(check-in-hash-keys ht_0)))" +"((letrec-values(((for-loop_1)" +"(lambda(table_2" +" i_0)" +"(begin" +" 'for-loop" +"(if i_0" +"(let-values(((sym_0)" +"(hash-iterate-key" +" ht_0" +" i_0)))" +"(let-values(((table_3)" +"(let-values(((table_3)" +" table_2))" +"(let-values(((table_4)" +"(let-values()" +"(let-values(((key_0" +" val_0)" +"(let-values()" +"(let-values(((b_0)" +"(let-values(((core-mpi17_0)" +" core-mpi)" +"((temp18_0)" +" 0)" +"((sym19_0)" +" sym_0))" +"(make-module-binding20.1" +" #f" +" null" +" #f" +" #f" +" unsafe-undefined" +" unsafe-undefined" +" 0" +" unsafe-undefined" +" core-mpi17_0" +" temp18_0" +" sym19_0))))" +"(values" +" sym_0" +"(if syntax?_0" +"(provided1.1" +" b_0" +" #f" +" #t)" +" b_0))))))" +"(hash-set" +" table_3" +" key_0" +" val_0)))))" +"(values" +" table_4)))))" +"(if(not" +" #f)" +"(for-loop_1" +" table_3" +"(hash-iterate-next" +" ht_0" +" i_0))" +" table_3)))" +" table_2)))))" +" for-loop_1)" +" table_1" +"(hash-iterate-first ht_0)))))))" +"(if(not #f)" +"(for-loop_0 table_1 rest_0 rest_1)" +" table_1)))" +" table_0)))))" +" for-loop_0)" +" '#hasheq()" +" lst_0" +" lst_1)))))" +"((temp15_0)" +"(lambda(phase-level_0 ns_1 insp_0)" +"(if(zero? phase-level_0)" +"(let-values(((ns_2)" +"(let-values(((ns20_0) ns_1)" +"((core-module-name21_0) core-module-name)" +"((temp22_0) 0))" +"(namespace->module-namespace82.1" +" #f" +" #f" +" unsafe-undefined" +" ns20_0" +" core-module-name21_0" +" temp22_0))))" +"(if ns_2" +"(module-linklet-info2.1(namespace->instance ns_2 0) #f core-mpi #f #f #f)" +" #f))" +" #f)))" +"((temp16_0)" +"(lambda(data-box_0 ns_1 phase_0 phase-level_0 self_0 bulk-binding-registry_0 insp_0)" +"(let-values(((tmp_0) phase-level_0))" +"(if(equal? tmp_0 0)" +"(let-values()" +"(begin" +"(let-values(((ht_0) core-primitives))" +"(begin" +"(if(variable-reference-from-unsafe?(#%variable-reference))" +"(void)" +"(let-values()(check-in-hash ht_0)))" +"((letrec-values(((for-loop_0)" +"(lambda(i_0)" +"(begin" +" 'for-loop" +"(if i_0" +"(let-values(((sym_0 val_0)" +"(hash-iterate-key+value" +" ht_0" +" i_0)))" +"(let-values((()" +"(let-values()" +"(let-values((()" +"(let-values()" +"(begin" +"(let-values()" +"(namespace-set-consistent!" +" ns_1" +" 0" +" sym_0" +" val_0))" +"(values)))))" +"(values)))))" +"(if(not #f)" +"(for-loop_0(hash-iterate-next ht_0 i_0))" +"(values))))" +"(values))))))" +" for-loop_0)" +"(hash-iterate-first ht_0))))" +"(void)" +"(let-values(((ht_0) core-forms))" +"(begin" +"(if(variable-reference-from-unsafe?(#%variable-reference))" +"(void)" +"(let-values()(check-in-hash ht_0)))" +"((letrec-values(((for-loop_0)" +"(lambda(i_0)" +"(begin" +" 'for-loop" +"(if i_0" +"(let-values(((sym_0 proc_0)" +"(hash-iterate-key+value" +" ht_0" +" i_0)))" +"(let-values((()" +"(let-values()" +"(let-values((()" +"(let-values()" +"(begin" +"(let-values()" +"(namespace-set-transformer!" +" ns_1" +" 0" +" sym_0" +"(if(procedure-arity-includes?" +" proc_0" +" 2)" +"(core-form9.1" +" proc_0" +" sym_0)" +" proc_0)))" +"(values)))))" +"(values)))))" +"(if(not #f)" +"(for-loop_0(hash-iterate-next ht_0 i_0))" +"(values))))" +"(values))))))" +" for-loop_0)" +"(hash-iterate-first ht_0))))" +"(void)))" +"(let-values()(void)))))))" +"(make-module39.1" +" temp10_0" +" unsafe-undefined" +" unsafe-undefined" +" temp16_0" +" #f" +" 0" +" 0" +" temp11_0" +" temp15_0" +" temp12_0" +" unsafe-undefined" +" #f" +" temp14_0" +" null" +" core-mpi13_0" +" #f" +" null" +" #f)))" +"((core-module-name9_0) core-module-name))" +"(declare-module!58.1 #t ns7_0 temp8_0 core-module-name9_0)))))" +"(define-values" +"(core-form-sym)" +"(lambda(s_0 phase_0)" +"(begin" +"(let-values(((ok?_0 id23_0 _24_0)" +"(let-values(((s_1) s_0))" +"(if(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" +"(if(pair? s_2)" +"(if(let-values(((s_3)(car s_2)))" +"(let-values(((or-part_0)(if(syntax?$1 s_3)(symbol?(syntax-e$1 s_3)) #f)))" +"(if or-part_0 or-part_0(symbol? s_3))))" +"(let-values(((s_3)(cdr s_2))) #t)" +" #f)" +" #f))" +"(let-values()" +"(let-values(((id23_0 _24_0)" +"(let-values(((s_2)(if(syntax?$1 s_1)(syntax-e$1 s_1) s_1)))" +"(let-values(((id25_0)(let-values(((s_3)(car s_2))) s_3))" +"((_26_0)(let-values(((s_3)(cdr s_2))) s_3)))" +"(values id25_0 _26_0)))))" +"(values #t id23_0 _24_0)))" +"(values #f #f #f)))))" +"(if ok?_0" +"(let-values(((b_0)" +"(let-values(((temp27_0) id23_0)((phase28_0) phase_0))" +"(resolve+shift28.1 #f #f null unsafe-undefined #f temp27_0 phase28_0))))" +"(if(module-binding? b_0)" +"(if(eq? core-module-name(1/module-path-index-resolve(module-binding-module b_0)))" +"(module-binding-sym b_0)" +" #f)" +" #f))" +" #f)))))" +"(define-values" "(taint-dispatch)" "(lambda(s_0 proc_0 phase_0)" "(begin" @@ -17919,9 +17913,10 @@ static const char *startup_source = " variable-reference-from-unsafe?))" "(for-each2" " register-built-in-symbol!" -" '(let letrec* define" -" or" -" and" +" '(or and" +" let" +" letrec*" +" define" " pariah" " variable-set!" " variable-ref" @@ -39831,9 +39826,7 @@ static const char *startup_source = "(let-values(((id199_0) id_0)" "((t200_0) t_0)" "((temp201_0)" -"(free-id-set-empty-or-just-module*?" -"(expand-context-stops ctx_0)" -"(expand-context-phase ctx_0))))" +"(free-id-set-empty-or-just-module*?(expand-context-stops ctx_0))))" "(substitute-variable6.1 temp201_0 id199_0 t200_0))))" "(if(if(expand-context-to-parsed? ctx_0)(free-id-set-empty?(expand-context-stops ctx_0)) #f)" "(let-values()" @@ -39937,10 +39930,7 @@ static const char *startup_source = "(let-values(((or-part_0)(expand-context-only-immediate? ctx_0)))" "(if or-part_0" " or-part_0" -"(not" -"(free-id-set-empty-or-just-module*?" -"(expand-context-stops ctx_0)" -"(expand-context-phase ctx_0))))))))" +"(not(free-id-set-empty-or-just-module*?(expand-context-stops ctx_0))))))))" "(let-values(((accum-ctx_0)" "(if(if confine-def-ctx-scopes?_0" "(if(expand-context-def-ctx-scopes ctx_0)" @@ -40906,8 +40896,8 @@ static const char *startup_source = " parent-ctx_0)))" "(values))))" "(let-values(((ctx_0)" -"(let-values(((temp49_0) 'syntax-local-make-definition-context))" -"(get-current-expand-context16.1 #f temp49_0))))" +"(let-values(((temp47_0) 'syntax-local-make-definition-context))" +"(get-current-expand-context16.1 #f temp47_0))))" "(let-values(((frame-id_0)" "(let-values(((or-part_0)(root-expand-context-frame-id ctx_0)))" "(if or-part_0" @@ -40986,8 +40976,8 @@ static const char *startup_source = " extra-intdefs_0)))" "(values))))" "(let-values(((ctx_0)" -"(let-values(((temp50_0) 'local-expand))" -"(get-current-expand-context16.1 #f temp50_0))))" +"(let-values(((temp48_0) 'local-expand))" +"(get-current-expand-context16.1 #f temp48_0))))" "(let-values((()" "(begin" "(let-values(((obs_0)(expand-context-observer ctx_0)))" @@ -41034,25 +41024,25 @@ static const char *startup_source = " id_0" " ctx_0)" " ctx_0)))" -"(let-values(((temp51_0)" -"(let-values(((pre-id53_0)" +"(let-values(((temp49_0)" +"(let-values(((pre-id51_0)" " pre-id_0)" -"((intdef54_0)" +"((intdef52_0)" " intdef_0)" -"((temp55_0)" +"((temp53_0)" " #t))" "(add-intdef-scopes24.1" " unsafe-undefined" -" temp55_0" -" pre-id53_0" -" intdef54_0)))" -"((extra-intdefs52_0)" +" temp53_0" +" pre-id51_0" +" intdef52_0)))" +"((extra-intdefs50_0)" " extra-intdefs_0))" "(add-intdef-scopes24.1" " unsafe-undefined" " #f" -" temp51_0" -" extra-intdefs52_0))))" +" temp49_0" +" extra-intdefs50_0))))" " fold-var_1))))" "(values" " fold-var_2)))))" @@ -41103,22 +41093,22 @@ static const char *startup_source = "(let-values()" "(cons" "(let-values()" -"(let-values(((intdef-id56_0)" +"(let-values(((intdef-id54_0)" " intdef-id_0)" -"((phase57_0)" +"((phase55_0)" " phase_0)" -"((temp58_0)" +"((temp56_0)" "(root-expand-context-counter" " ctx_0))" -"((temp59_0)" +"((temp57_0)" "(internal-definition-context-frame-id" " intdef_0)))" "(add-local-binding!37.1" -" temp59_0" +" temp57_0" " #f" -" intdef-id56_0" -" phase57_0" -" temp58_0)))" +" intdef-id54_0" +" phase55_0" +" temp56_0)))" " fold-var_1))))" "(values" " fold-var_2)))))" @@ -41136,14 +41126,14 @@ static const char *startup_source = "(let-values()" "(let-values(((input-s_0)" "(flip-introduction-scopes" -"(let-values(((s60_0) s_0)" -"((all-intdefs61_0)" +"(let-values(((s58_0) s_0)" +"((all-intdefs59_0)" " all-intdefs_0))" "(add-intdef-scopes24.1" " unsafe-undefined" " #f" -" s60_0" -" all-intdefs61_0))" +" s58_0" +" all-intdefs59_0))" " ctx_0)))" "(let-values(((tmp-env_0)" "(let-values(((lst_0) syms_0)" @@ -41225,20 +41215,20 @@ static const char *startup_source = " 'syntax-local-bind-syntaxes" " input-s_0" " ids_0" -"(let-values(((temp62_0)" +"(let-values(((temp60_0)" "(let-values(((v_0)" " ctx_0))" "(let-values(((the-struct_0)" " v_0))" "(if(expand-context/outer?" " the-struct_0)" -"(let-values(((env65_0)" +"(let-values(((env63_0)" " tmp-env_0)" -"((inner66_0)" +"((inner64_0)" "(root-expand-context/outer-inner" " v_0)))" "(expand-context/outer1.1" -" inner66_0" +" inner64_0" "(root-expand-context/outer-post-expansion" " the-struct_0)" "(root-expand-context/outer-use-site-scopes" @@ -41247,7 +41237,7 @@ static const char *startup_source = " the-struct_0)" "(expand-context/outer-context" " the-struct_0)" -" env65_0" +" env63_0" "(expand-context/outer-scopes" " the-struct_0)" "(expand-context/outer-def-ctx-scopes" @@ -41270,20 +41260,19 @@ static const char *startup_source = " 'struct-copy" " \"expand-context/outer?\"" " the-struct_0)))))" -"((temp63_0)" +"((temp61_0)" " 'expression)" -"((all-intdefs64_0)" +"((all-intdefs62_0)" " all-intdefs_0))" -"(make-local-expand-context44.1" -" temp63_0" -" #t" -" all-intdefs64_0" +"(make-local-expand-context42.1" +" temp61_0" +" all-intdefs62_0" " #t" " unsafe-undefined" " #f" " #f" " #f" -" temp62_0)))))" +" temp60_0)))))" "(begin" "(let-values(((obs_0)" "(expand-context-observer" @@ -41491,10 +41480,10 @@ static const char *startup_source = "(void)" "(let-values()" " (raise-argument-error 'internal-definition-context-introduce \"syntax?\" s_0)))" -"(let-values(((s67_0) s_0)" -"((intdef68_0) intdef_0)" -"((temp69_0) #t)" -"((temp70_0)" +"(let-values(((s65_0) s_0)" +"((intdef66_0) intdef_0)" +"((temp67_0) #t)" +"((temp68_0)" "(let-values(((tmp_0) mode_0))" "(if(equal? tmp_0 'add)" "(let-values() add-scope)" @@ -41507,7 +41496,7 @@ static const char *startup_source = " 'internal-definition-context-introduce" " \"(or/c 'add 'remove 'flip)\"" " mode_0))))))))" -"(add-intdef-scopes24.1 temp70_0 temp69_0 s67_0 intdef68_0)))))))))))" +"(add-intdef-scopes24.1 temp68_0 temp67_0 s65_0 intdef66_0)))))))))))" "(case-lambda" "((intdef_0 s_0)" "(begin 'internal-definition-context-introduce(internal-definition-context-introduce16_0 intdef_0 s_0 'flip)))" @@ -41703,27 +41692,25 @@ static const char *startup_source = " s_0" " x_0)))))))))))" "(define-values" -"(make-local-expand-context44.1)" +"(make-local-expand-context42.1)" "(lambda(context27_0" -" extend-stops?31_0" " intdefs29_0" -" keep-#%expression?34_0" +" keep-#%expression?33_0" " phase28_0" " stop-ids30_0" -" to-parsed-ok?32_0" -" track-to-be-defined?33_0" -" ctx43_0)" +" to-parsed-ok?31_0" +" track-to-be-defined?32_0" +" ctx41_0)" "(begin" -" 'make-local-expand-context44" -"(let-values(((ctx_0) ctx43_0))" +" 'make-local-expand-context42" +"(let-values(((ctx_0) ctx41_0))" "(let-values(((context_0) context27_0))" "(let-values(((phase_0)(if(eq? phase28_0 unsafe-undefined)(expand-context-phase ctx_0) phase28_0)))" "(let-values(((intdefs_0) intdefs29_0))" "(let-values(((stop-ids_0) stop-ids30_0))" -"(let-values(((extend-stops?_0) extend-stops?31_0))" -"(let-values(((to-parsed-ok?_0) to-parsed-ok?32_0))" -"(let-values(((track-to-be-defined?_0) track-to-be-defined?33_0))" -"(let-values(((keep-#%expression?_0) keep-#%expression?34_0))" +"(let-values(((to-parsed-ok?_0) to-parsed-ok?31_0))" +"(let-values(((track-to-be-defined?_0) track-to-be-defined?32_0))" +"(let-values(((keep-#%expression?_0) keep-#%expression?33_0))" "(let-values()" "(let-values(((same-kind?_0)" "(let-values(((or-part_0)(eq? context_0(expand-context-context ctx_0))))" @@ -41731,9 +41718,7 @@ static const char *startup_source = " or-part_0" "(if(list? context_0)(list?(expand-context-context ctx_0)) #f)))))" "(let-values(((all-stop-ids_0)" -"(if stop-ids_0" -"(if extend-stops?_0(stop-ids->all-stop-ids stop-ids_0 phase_0) stop-ids_0)" -" null)))" +"(if stop-ids_0(stop-ids->all-stop-ids stop-ids_0 phase_0) #f)))" "(let-values(((def-ctx-scopes_0)" "(if(expand-context-def-ctx-scopes ctx_0)" "(unbox(expand-context-def-ctx-scopes ctx_0))" @@ -41741,10 +41726,9 @@ static const char *startup_source = "(let-values(((v_0) ctx_0))" "(let-values(((the-struct_0) v_0))" "(if(expand-context/outer? the-struct_0)" -"(let-values(((context71_0) context_0)" -"((env72_0)" -"(add-intdef-bindings(expand-context-env ctx_0) intdefs_0))" -"((use-site-scopes73_0)" +"(let-values(((context69_0) context_0)" +"((env70_0)(add-intdef-bindings(expand-context-env ctx_0) intdefs_0))" +"((use-site-scopes71_0)" "(if(let-values(((or-part_0)(eq? context_0 'module)))" "(if or-part_0" " or-part_0" @@ -41754,7 +41738,7 @@ static const char *startup_source = "(root-expand-context-use-site-scopes ctx_0)))" "(if or-part_0 or-part_0(box null)))" " #f))" -"((frame-id74_0)" +"((frame-id72_0)" "(let-values(((x_0)" "(let-values(((a_0) intdefs_0))" "(if(list? a_0)" @@ -41803,7 +41787,7 @@ static const char *startup_source = " for-loop_0)" "(root-expand-context-frame-id ctx_0)" " x_0))))" -"((post-expansion75_0)" +"((post-expansion73_0)" "(let-values(((pe_0)" "(if same-kind?_0" "(if(let-values(((or-part_0)(pair? context_0)))" @@ -41819,36 +41803,38 @@ static const char *startup_source = "(let-values()" "(lambda(s_0)" "(begin" -" 'post-expansion75" -"(let-values(((temp81_0)(apply-post-expansion pe_0 s_0))" -"((intdefs82_0) intdefs_0))" +" 'post-expansion73" +"(let-values(((temp79_0)(apply-post-expansion pe_0 s_0))" +"((intdefs80_0) intdefs_0))" "(add-intdef-scopes24.1" " unsafe-undefined" " #f" -" temp81_0" -" intdefs82_0)))))" +" temp79_0" +" intdefs80_0)))))" "(let-values() pe_0))))" -"((scopes76_0)" -"(append def-ctx-scopes_0(expand-context-scopes ctx_0)))" -"((only-immediate?77_0)(not stop-ids_0))" -"((current-introduction-scopes78_0) null)" -"((need-eventually-defined79_0)" -"(let-values(((ht_0)" -"(expand-context-need-eventually-defined ctx_0)))" +"((scopes74_0)(append def-ctx-scopes_0(expand-context-scopes ctx_0)))" +"((only-immediate?75_0)(not stop-ids_0))" +"((current-introduction-scopes76_0) null)" +"((need-eventually-defined77_0)" +"(let-values(((ht_0)(expand-context-need-eventually-defined ctx_0)))" "(if track-to-be-defined?_0" "(let-values() ht_0)" "(if ht_0(let-values()(make-hasheqv))(let-values() #f)))))" -"((inner80_0)" +"((inner78_0)" "(let-values(((the-struct_1)(root-expand-context/outer-inner v_0)))" "(if(expand-context/inner? the-struct_1)" -"(let-values(((to-parsed?83_0)" +"(let-values(((to-parsed?81_0)" "(if to-parsed-ok?_0" "(expand-context-to-parsed? ctx_0)" " #f))" -"((just-once?84_0) #f)" -"((in-local-expand?85_0) #t)" -"((keep-#%expression?86_0) keep-#%expression?_0)" -"((stops87_0)(free-id-set phase_0 all-stop-ids_0)))" +"((just-once?82_0) #f)" +"((in-local-expand?83_0) #t)" +"((keep-#%expression?84_0) keep-#%expression?_0)" +"((stops85_0)" +"(free-id-set" +" phase_0" +"(let-values(((or-part_0) all-stop-ids_0))" +"(if or-part_0 or-part_0 null)))))" "(expand-context/inner2.1" "(root-expand-context/inner-self-mpi the-struct_1)" "(root-expand-context/inner-module-scopes the-struct_1)" @@ -41857,15 +41843,15 @@ static const char *startup_source = "(root-expand-context/inner-defined-syms the-struct_1)" "(root-expand-context/inner-counter the-struct_1)" "(root-expand-context/inner-lift-key the-struct_1)" -" to-parsed?83_0" +" to-parsed?81_0" "(expand-context/inner-phase the-struct_1)" "(expand-context/inner-namespace the-struct_1)" -" just-once?84_0" +" just-once?82_0" "(expand-context/inner-module-begin-k the-struct_1)" "(expand-context/inner-allow-unbound? the-struct_1)" -" in-local-expand?85_0" -" keep-#%expression?86_0" -" stops87_0" +" in-local-expand?83_0" +" keep-#%expression?84_0" +" stops85_0" "(expand-context/inner-declared-submodule-names the-struct_1)" "(expand-context/inner-lifts the-struct_1)" "(expand-context/inner-lift-envs the-struct_1)" @@ -41879,28 +41865,28 @@ static const char *startup_source = " the-struct_1)))" "(raise-argument-error" " 'struct-copy" -" \"expand-context/inner?\"" +" \"expand-context/inner?\"" " the-struct_1)))))" "(expand-context/outer1.1" -" inner80_0" -" post-expansion75_0" -" use-site-scopes73_0" -" frame-id74_0" -" context71_0" -" env72_0" -" scopes76_0" +" inner78_0" +" post-expansion73_0" +" use-site-scopes71_0" +" frame-id72_0" +" context69_0" +" env70_0" +" scopes74_0" "(expand-context/outer-def-ctx-scopes the-struct_0)" "(expand-context/outer-binding-layer the-struct_0)" "(expand-context/outer-reference-records the-struct_0)" -" only-immediate?77_0" -" need-eventually-defined79_0" -" current-introduction-scopes78_0" +" only-immediate?75_0" +" need-eventually-defined77_0" +" current-introduction-scopes76_0" "(expand-context/outer-current-use-scopes the-struct_0)" "(expand-context/outer-name the-struct_0)))" "(raise-argument-error" " 'struct-copy" -" \"expand-context/outer?\"" -" the-struct_0))))))))))))))))))))" +" \"expand-context/outer?\"" +" the-struct_0)))))))))))))))))))" "(define-values" "(flip-introduction-scopes)" "(lambda(s_0 ctx_0)(begin(flip-scopes s_0(expand-context-current-introduction-scopes ctx_0)))))" @@ -57835,69 +57821,100 @@ static const char *startup_source = "(void))))))" "(define-values" "(1/local-expand)" -"(let-values(((local-expand6_0)" -"(lambda(s3_0 context4_0 stop-ids5_0 intdefs1_0 extend-stops?2_0)" +"(let-values(((local-expand5_0)" +"(lambda(s2_0 context3_0 stop-ids4_0 intdefs1_0)" "(begin" -" 'local-expand6" -"(let-values(((s_0) s3_0))" -"(let-values(((context_0) context4_0))" -"(let-values(((stop-ids_0) stop-ids5_0))" +" 'local-expand5" +"(let-values(((s_0) s2_0))" +"(let-values(((context_0) context3_0))" +"(let-values(((stop-ids_0) stop-ids4_0))" "(let-values(((intdefs_0) intdefs1_0))" -"(let-values(((extend-stops?_0) extend-stops?2_0))" "(let-values()" -"(let-values(((temp59_0) 'local-expand)" -"((s60_0) s_0)" -"((context61_0) context_0)" -"((stop-ids62_0) stop-ids_0)" -"((intdefs63_0) intdefs_0)" -"((extend-stops?64_0) extend-stops?_0))" -"(do-local-expand56.1" +"(let-values(((temp53_0) 'local-expand)" +"((s54_0) s_0)" +"((context55_0) context_0)" +"((stop-ids56_0) stop-ids_0)" +"((intdefs57_0) intdefs_0))" +"(do-local-expand50.1" " #f" " #f" -" extend-stops?64_0" " #t" " unsafe-undefined" " #f" " #f" " #f" -" temp59_0" -" s60_0" -" context61_0" -" stop-ids62_0" -" intdefs63_0))))))))))))" +" temp53_0" +" s54_0" +" context55_0" +" stop-ids56_0" +" intdefs57_0)))))))))))" "(case-lambda" -"((s_0 context_0 stop-ids_0)(begin 'local-expand(local-expand6_0 s_0 context_0 stop-ids_0 '() #t)))" -"((s_0 context_0 stop-ids_0 intdefs_0 extend-stops?2_0)" -"(local-expand6_0 s_0 context_0 stop-ids_0 intdefs_0 extend-stops?2_0))" -"((s_0 context_0 stop-ids_0 intdefs1_0)(local-expand6_0 s_0 context_0 stop-ids_0 intdefs1_0 #t)))))" +"((s_0 context_0 stop-ids_0)(begin 'local-expand(local-expand5_0 s_0 context_0 stop-ids_0 '())))" +"((s_0 context_0 stop-ids_0 intdefs1_0)(local-expand5_0 s_0 context_0 stop-ids_0 intdefs1_0)))))" "(define-values" "(1/local-expand/capture-lifts)" -"(let-values(((local-expand/capture-lifts14_0)" -"(lambda(s11_0 context12_0 stop-ids13_0 intdefs8_0 lift-key9_0 extend-stops?10_0)" +"(let-values(((local-expand/capture-lifts12_0)" +"(lambda(s9_0 context10_0 stop-ids11_0 intdefs7_0 lift-key8_0)" "(begin" -" 'local-expand/capture-lifts14" -"(let-values(((s_0) s11_0))" -"(let-values(((context_0) context12_0))" -"(let-values(((stop-ids_0) stop-ids13_0))" -"(let-values(((intdefs_0) intdefs8_0))" +" 'local-expand/capture-lifts12" +"(let-values(((s_0) s9_0))" +"(let-values(((context_0) context10_0))" +"(let-values(((stop-ids_0) stop-ids11_0))" +"(let-values(((intdefs_0) intdefs7_0))" "(let-values(((lift-key_0)" -"(if(eq? lift-key9_0 unsafe-undefined)(generate-lift-key) lift-key9_0)))" -"(let-values(((extend-stops?_0) extend-stops?10_0))" +"(if(eq? lift-key8_0 unsafe-undefined)(generate-lift-key) lift-key8_0)))" +"(let-values()" +"(let-values(((temp58_0) 'local-expand)" +"((s59_0) s_0)" +"((context60_0) context_0)" +"((stop-ids61_0) stop-ids_0)" +"((intdefs62_0) intdefs_0)" +"((temp63_0) #t)" +"((lift-key64_0) lift-key_0))" +"(do-local-expand50.1" +" #f" +" temp63_0" +" #t" +" lift-key64_0" +" #f" +" #f" +" #f" +" temp58_0" +" s59_0" +" context60_0" +" stop-ids61_0" +" intdefs62_0))))))))))))" +"(case-lambda" +"((s_0 context_0 stop-ids_0)" +"(begin" +" 'local-expand/capture-lifts" +"(local-expand/capture-lifts12_0 s_0 context_0 stop-ids_0 '() unsafe-undefined)))" +"((s_0 context_0 stop-ids_0 intdefs_0 lift-key8_0)" +"(local-expand/capture-lifts12_0 s_0 context_0 stop-ids_0 intdefs_0 lift-key8_0))" +"((s_0 context_0 stop-ids_0 intdefs7_0)" +"(local-expand/capture-lifts12_0 s_0 context_0 stop-ids_0 intdefs7_0 unsafe-undefined)))))" +"(define-values" +"(1/local-transformer-expand)" +"(let-values(((local-transformer-expand18_0)" +"(lambda(s15_0 context16_0 stop-ids17_0 intdefs14_0)" +"(begin" +" 'local-transformer-expand18" +"(let-values(((s_0) s15_0))" +"(let-values(((context_0) context16_0))" +"(let-values(((stop-ids_0) stop-ids17_0))" +"(let-values(((intdefs_0) intdefs14_0))" "(let-values()" "(let-values(((temp65_0) 'local-expand)" "((s66_0) s_0)" "((context67_0) context_0)" "((stop-ids68_0) stop-ids_0)" "((intdefs69_0) intdefs_0)" -"((temp70_0) #t)" -"((extend-stops?71_0) extend-stops?_0)" -"((lift-key72_0) lift-key_0))" -"(do-local-expand56.1" -" #f" +"((temp70_0) #t))" +"(do-local-expand50.1" " temp70_0" -" extend-stops?71_0" +" #f" " #t" -" lift-key72_0" +" unsafe-undefined" " #f" " #f" " #f" @@ -57905,138 +57922,86 @@ static const char *startup_source = " s66_0" " context67_0" " stop-ids68_0" -" intdefs69_0)))))))))))))" +" intdefs69_0)))))))))))" "(case-lambda" "((s_0 context_0 stop-ids_0)" -"(begin" -" 'local-expand/capture-lifts" -"(local-expand/capture-lifts14_0 s_0 context_0 stop-ids_0 '() unsafe-undefined #t)))" -"((s_0 context_0 stop-ids_0 intdefs_0 lift-key_0 extend-stops?10_0)" -"(local-expand/capture-lifts14_0 s_0 context_0 stop-ids_0 intdefs_0 lift-key_0 extend-stops?10_0))" -"((s_0 context_0 stop-ids_0 intdefs_0 lift-key9_0)" -"(local-expand/capture-lifts14_0 s_0 context_0 stop-ids_0 intdefs_0 lift-key9_0 #t))" -"((s_0 context_0 stop-ids_0 intdefs8_0)" -"(local-expand/capture-lifts14_0 s_0 context_0 stop-ids_0 intdefs8_0 unsafe-undefined #t)))))" -"(define-values" -"(1/local-transformer-expand)" -"(let-values(((local-transformer-expand21_0)" -"(lambda(s18_0 context19_0 stop-ids20_0 intdefs16_0 extend-stops?17_0)" -"(begin" -" 'local-transformer-expand21" -"(let-values(((s_0) s18_0))" -"(let-values(((context_0) context19_0))" -"(let-values(((stop-ids_0) stop-ids20_0))" -"(let-values(((intdefs_0) intdefs16_0))" -"(let-values(((extend-stops?_0) extend-stops?17_0))" -"(let-values()" -"(let-values(((temp73_0) 'local-expand)" -"((s74_0) s_0)" -"((context75_0) context_0)" -"((stop-ids76_0) stop-ids_0)" -"((intdefs77_0) intdefs_0)" -"((temp78_0) #t)" -"((extend-stops?79_0) extend-stops?_0))" -"(do-local-expand56.1" -" temp78_0" -" #f" -" extend-stops?79_0" -" #t" -" unsafe-undefined" -" #f" -" #f" -" #f" -" temp73_0" -" s74_0" -" context75_0" -" stop-ids76_0" -" intdefs77_0))))))))))))" -"(case-lambda" -"((s_0 context_0 stop-ids_0)" -"(begin 'local-transformer-expand(local-transformer-expand21_0 s_0 context_0 stop-ids_0 '() #t)))" -"((s_0 context_0 stop-ids_0 intdefs_0 extend-stops?17_0)" -"(local-transformer-expand21_0 s_0 context_0 stop-ids_0 intdefs_0 extend-stops?17_0))" -"((s_0 context_0 stop-ids_0 intdefs16_0)(local-transformer-expand21_0 s_0 context_0 stop-ids_0 intdefs16_0 #t)))))" +"(begin 'local-transformer-expand(local-transformer-expand18_0 s_0 context_0 stop-ids_0 '())))" +"((s_0 context_0 stop-ids_0 intdefs14_0)(local-transformer-expand18_0 s_0 context_0 stop-ids_0 intdefs14_0)))))" "(define-values" "(1/local-transformer-expand/capture-lifts)" -"(let-values(((local-transformer-expand/capture-lifts29_0)" -"(lambda(s26_0 context27_0 stop-ids28_0 intdefs23_0 lift-key24_0 extend-stops?25_0)" +"(let-values(((local-transformer-expand/capture-lifts25_0)" +"(lambda(s22_0 context23_0 stop-ids24_0 intdefs20_0 lift-key21_0)" "(begin" -" 'local-transformer-expand/capture-lifts29" -"(let-values(((s_0) s26_0))" -"(let-values(((context_0) context27_0))" -"(let-values(((stop-ids_0) stop-ids28_0))" -"(let-values(((intdefs_0) intdefs23_0))" +" 'local-transformer-expand/capture-lifts25" +"(let-values(((s_0) s22_0))" +"(let-values(((context_0) context23_0))" +"(let-values(((stop-ids_0) stop-ids24_0))" +"(let-values(((intdefs_0) intdefs20_0))" "(let-values(((lift-key_0)" -"(if(eq? lift-key24_0 unsafe-undefined)(generate-lift-key) lift-key24_0)))" -"(let-values(((extend-stops?_0) extend-stops?25_0))" +"(if(eq? lift-key21_0 unsafe-undefined)(generate-lift-key) lift-key21_0)))" "(let-values()" -"(let-values(((temp80_0) 'local-expand)" -"((s81_0) s_0)" -"((context82_0) context_0)" -"((stop-ids83_0) stop-ids_0)" -"((intdefs84_0) intdefs_0)" -"((temp85_0) #t)" -"((temp86_0) #t)" -"((extend-stops?87_0) extend-stops?_0)" -"((lift-key88_0) lift-key_0))" -"(do-local-expand56.1" -" temp85_0" -" temp86_0" -" extend-stops?87_0" +"(let-values(((temp71_0) 'local-expand)" +"((s72_0) s_0)" +"((context73_0) context_0)" +"((stop-ids74_0) stop-ids_0)" +"((intdefs75_0) intdefs_0)" +"((temp76_0) #t)" +"((temp77_0) #t)" +"((lift-key78_0) lift-key_0))" +"(do-local-expand50.1" +" temp76_0" +" temp77_0" " #t" -" lift-key88_0" +" lift-key78_0" " #f" " #f" " #f" -" temp80_0" -" s81_0" -" context82_0" -" stop-ids83_0" -" intdefs84_0)))))))))))))" +" temp71_0" +" s72_0" +" context73_0" +" stop-ids74_0" +" intdefs75_0))))))))))))" "(case-lambda" "((s_0 context_0 stop-ids_0)" "(begin" " 'local-transformer-expand/capture-lifts" -"(local-transformer-expand/capture-lifts29_0 s_0 context_0 stop-ids_0 '() unsafe-undefined #t)))" -"((s_0 context_0 stop-ids_0 intdefs_0 lift-key_0 extend-stops?25_0)" -"(local-transformer-expand/capture-lifts29_0 s_0 context_0 stop-ids_0 intdefs_0 lift-key_0 extend-stops?25_0))" -"((s_0 context_0 stop-ids_0 intdefs_0 lift-key24_0)" -"(local-transformer-expand/capture-lifts29_0 s_0 context_0 stop-ids_0 intdefs_0 lift-key24_0 #t))" -"((s_0 context_0 stop-ids_0 intdefs23_0)" -"(local-transformer-expand/capture-lifts29_0 s_0 context_0 stop-ids_0 intdefs23_0 unsafe-undefined #t)))))" +"(local-transformer-expand/capture-lifts25_0 s_0 context_0 stop-ids_0 '() unsafe-undefined)))" +"((s_0 context_0 stop-ids_0 intdefs_0 lift-key21_0)" +"(local-transformer-expand/capture-lifts25_0 s_0 context_0 stop-ids_0 intdefs_0 lift-key21_0))" +"((s_0 context_0 stop-ids_0 intdefs20_0)" +"(local-transformer-expand/capture-lifts25_0 s_0 context_0 stop-ids_0 intdefs20_0 unsafe-undefined)))))" "(define-values" "(1/syntax-local-expand-expression)" -"(let-values(((syntax-local-expand-expression33_0)" -"(lambda(s32_0 opaque-only?31_0)" +"(let-values(((syntax-local-expand-expression29_0)" +"(lambda(s28_0 opaque-only?27_0)" "(begin" -" 'syntax-local-expand-expression33" -"(let-values(((s_0) s32_0))" -"(let-values(((opaque-only?_0) opaque-only?31_0))" +" 'syntax-local-expand-expression29" +"(let-values(((s_0) s28_0))" +"(let-values(((opaque-only?_0) opaque-only?27_0))" "(let-values()" "(let-values(((exp-s_0)" -"(let-values(((temp89_0) 'syntax-local-expand-expression)" -"((s90_0) s_0)" -"((temp91_0) 'expression)" -"((null92_0) null)" -"((temp93_0) #f)" -"((opaque-only?94_0) opaque-only?_0)" -"((temp95_0) #t)" -"((temp96_0) #t)" -"((temp97_0) #f))" -"(do-local-expand56.1" +"(let-values(((temp79_0) 'syntax-local-expand-expression)" +"((s80_0) s_0)" +"((temp81_0) 'expression)" +"((null82_0) null)" +"((temp83_0) #f)" +"((opaque-only?84_0) opaque-only?_0)" +"((temp85_0) #t)" +"((temp86_0) #t)" +"((temp87_0) #f))" +"(do-local-expand50.1" " #f" " #f" -" #t" -" temp97_0" +" temp87_0" " unsafe-undefined" -" temp95_0" -" opaque-only?94_0" -" temp96_0" -" temp89_0" -" s90_0" -" temp91_0" -" null92_0" -" temp93_0))))" +" temp85_0" +" opaque-only?84_0" +" temp86_0" +" temp79_0" +" s80_0" +" temp81_0" +" null82_0" +" temp83_0))))" "(let-values(((ctx_0)(let-values()(get-current-expand-context16.1 #f 'unexpected))))" "(let-values(((ae_0)" "(flip-introduction-scopes" @@ -58057,44 +58022,42 @@ static const char *startup_source = "(void)))" "(values(if(not opaque-only?_0) exp-s_0 #f) ae_0))))))))))))" "(case-lambda" -"((s_0)(begin 'syntax-local-expand-expression(syntax-local-expand-expression33_0 s_0 #f)))" -"((s_0 opaque-only?31_0)(syntax-local-expand-expression33_0 s_0 opaque-only?31_0)))))" +"((s_0)(begin 'syntax-local-expand-expression(syntax-local-expand-expression29_0 s_0 #f)))" +"((s_0 opaque-only?27_0)(syntax-local-expand-expression29_0 s_0 opaque-only?27_0)))))" "(define-values" -"(do-local-expand56.1)" -"(lambda(as-transformer?36_0" -" capture-lifts?35_0" -" extend-stops?37_0" -" keep-#%expression?39_0" -" lift-key40_0" -" skip-log-exit?42_0" -" to-parsed-ok?38_0" -" track-to-be-defined?41_0" -" who52_0" -" s-or-s-exp53_0" -" context54_0" -" stop-ids55_0" -" intdefs51_0)" +"(do-local-expand50.1)" +"(lambda(as-transformer?32_0" +" capture-lifts?31_0" +" keep-#%expression?34_0" +" lift-key35_0" +" skip-log-exit?37_0" +" to-parsed-ok?33_0" +" track-to-be-defined?36_0" +" who46_0" +" s-or-s-exp47_0" +" context48_0" +" stop-ids49_0" +" intdefs45_0)" "(begin" -" 'do-local-expand56" -"(let-values(((who_0) who52_0))" -"(let-values(((s-or-s-exp_0) s-or-s-exp53_0))" -"(let-values(((context_0) context54_0))" -"(let-values(((stop-ids_0) stop-ids55_0))" -"(let-values(((intdefs_0) intdefs51_0))" -"(let-values(((capture-lifts?_0) capture-lifts?35_0))" -"(let-values(((as-transformer?_0) as-transformer?36_0))" -"(let-values(((extend-stops?_0) extend-stops?37_0))" -"(let-values(((to-parsed-ok?_0) to-parsed-ok?38_0))" -"(let-values(((keep-#%expression?_0) keep-#%expression?39_0))" +" 'do-local-expand50" +"(let-values(((who_0) who46_0))" +"(let-values(((s-or-s-exp_0) s-or-s-exp47_0))" +"(let-values(((context_0) context48_0))" +"(let-values(((stop-ids_0) stop-ids49_0))" +"(let-values(((intdefs_0) intdefs45_0))" +"(let-values(((capture-lifts?_0) capture-lifts?31_0))" +"(let-values(((as-transformer?_0) as-transformer?32_0))" +"(let-values(((to-parsed-ok?_0) to-parsed-ok?33_0))" +"(let-values(((keep-#%expression?_0) keep-#%expression?34_0))" "(let-values(((lift-key_0)" -"(if(eq? lift-key40_0 unsafe-undefined)" +"(if(eq? lift-key35_0 unsafe-undefined)" "(if(let-values(((or-part_0) capture-lifts?_0))" "(if or-part_0 or-part_0 as-transformer?_0))" "(generate-lift-key)" " #f)" -" lift-key40_0)))" -"(let-values(((track-to-be-defined?_0) track-to-be-defined?41_0))" -"(let-values(((skip-log-exit?_0) skip-log-exit?42_0))" +" lift-key35_0)))" +"(let-values(((track-to-be-defined?_0) track-to-be-defined?36_0))" +"(let-values(((skip-log-exit?_0) skip-log-exit?37_0))" "(let-values()" "(begin" "(if log-performance?" @@ -58118,8 +58081,8 @@ static const char *startup_source = "(raise-argument-error" " who_0" "(if as-transformer?_0" -" \"(or/c 'expression 'top-level list?)\"" -" \"(or/c 'expression 'top-level 'module 'module-begin list?)\")" +" \"(or/c 'expression 'top-level list?)\"" +" \"(or/c 'expression 'top-level 'module 'module-begin list?)\")" " context_0)))" "(values))))" "(let-values((()" @@ -58134,7 +58097,7 @@ static const char *startup_source = "(let-values()" "(raise-argument-error" " who_0" -" \"(or/c (listof identifier?) #f)\"" +" \"(or/c (listof identifier?) #f)\"" " stop-ids_0)))" "(values))))" "(let-values((()" @@ -58148,21 +58111,20 @@ static const char *startup_source = " intdefs_0)))" "(values))))" "(let-values(((ctx_0)" -"(let-values(((who98_0) who_0))" -"(get-current-expand-context16.1 #f who98_0))))" +"(let-values(((who88_0) who_0))" +"(get-current-expand-context16.1 #f who88_0))))" "(let-values(((phase_0)" "(if as-transformer?_0" "(add1(expand-context-phase ctx_0))" "(expand-context-phase ctx_0))))" "(let-values(((local-ctx_0)" -"(let-values(((ctx99_0) ctx_0)" -"((context100_0) context_0)" -"((phase101_0) phase_0)" -"((intdefs102_0) intdefs_0)" -"((stop-ids103_0) stop-ids_0)" -"((extend-stops?104_0) extend-stops?_0)" -"((to-parsed-ok?105_0) to-parsed-ok?_0)" -"((temp106_0)" +"(let-values(((ctx89_0) ctx_0)" +"((context90_0) context_0)" +"((phase91_0) phase_0)" +"((intdefs92_0) intdefs_0)" +"((stop-ids93_0) stop-ids_0)" +"((to-parsed-ok?94_0) to-parsed-ok?_0)" +"((temp95_0)" "(let-values(((or-part_0)" " keep-#%expression?_0))" "(if or-part_0" @@ -58172,18 +58134,17 @@ static const char *startup_source = "(expand-context-keep-#%expression?" " ctx_0)" " #f))))" -"((track-to-be-defined?107_0)" +"((track-to-be-defined?96_0)" " track-to-be-defined?_0))" -"(make-local-expand-context44.1" -" context100_0" -" extend-stops?104_0" -" intdefs102_0" -" temp106_0" -" phase101_0" -" stop-ids103_0" -" to-parsed-ok?105_0" -" track-to-be-defined?107_0" -" ctx99_0))))" +"(make-local-expand-context42.1" +" context90_0" +" intdefs92_0" +" temp95_0" +" phase91_0" +" stop-ids93_0" +" to-parsed-ok?94_0" +" track-to-be-defined?96_0" +" ctx89_0))))" "(let-values((()" "(begin" "(namespace-visit-available-modules!" @@ -58205,16 +58166,16 @@ static const char *startup_source = "(void)))" "(values))))" "(let-values(((input-s_0)" -"(let-values(((temp108_0)" +"(let-values(((temp97_0)" "(flip-introduction-scopes" " s_0" " ctx_0))" -"((intdefs109_0) intdefs_0))" +"((intdefs98_0) intdefs_0))" "(add-intdef-scopes24.1" " unsafe-undefined" " #f" -" temp108_0" -" intdefs109_0))))" +" temp97_0" +" intdefs98_0))))" "(let-values((()" "(begin" "(if as-transformer?_0" @@ -58266,80 +58227,79 @@ static const char *startup_source = " capture-lifts?_0" " #f)" "(let-values()" -"(let-values(((input-s110_0)" -" input-s_0)" -"((local-ctx111_0)" +"(let-values(((input-s99_0) input-s_0)" +"((local-ctx100_0)" " local-ctx_0)" -"((context112_0)" +"((context101_0)" " context_0)" -"((temp113_0) #f)" -"((temp114_0) #t)" -"((lift-key115_0)" +"((temp102_0) #f)" +"((temp103_0) #t)" +"((lift-key104_0)" " lift-key_0)" -"((temp116_0) #t)" -"((temp117_0) #t))" +"((temp105_0) #t)" +"((temp106_0) #t))" "(expand-transformer92.1" -" temp116_0" -" temp114_0" -" context112_0" -" temp113_0" -" temp117_0" -" lift-key115_0" -" input-s110_0" -" local-ctx111_0)))" +" temp105_0" +" temp103_0" +" context101_0" +" temp102_0" +" temp106_0" +" lift-key104_0" +" input-s99_0" +" local-ctx100_0)))" "(if as-transformer?_0" "(let-values()" -"(let-values(((input-s118_0)" +"(let-values(((input-s107_0)" " input-s_0)" -"((local-ctx119_0)" +"((local-ctx108_0)" " local-ctx_0)" -"((context120_0)" +"((context109_0)" " context_0)" -"((temp121_0) #f)" -"((temp122_0)" +"((temp110_0) #f)" +"((temp111_0)" "(eq?" " 'top-level" " context_0))" -"((lift-key123_0)" +"((lift-key112_0)" " lift-key_0)" -"((temp124_0) #t))" +"((temp113_0) #t))" "(expand-transformer92.1" " #f" -" temp122_0" -" context120_0" -" temp121_0" -" temp124_0" -" lift-key123_0" -" input-s118_0" -" local-ctx119_0)))" +" temp111_0" +" context109_0" +" temp110_0" +" temp113_0" +" lift-key112_0" +" input-s107_0" +" local-ctx108_0)))" "(if capture-lifts?_0" "(let-values()" -"(let-values(((input-s125_0)" +"(let-values(((input-s114_0)" " input-s_0)" -"((local-ctx126_0)" +"((local-ctx115_0)" " local-ctx_0)" -"((temp127_0) #t)" -"((lift-key128_0)" +"((temp116_0) #t)" +"((lift-key117_0)" " lift-key_0)" -"((temp129_0) #t))" +"((temp118_0) #t))" "(expand/capture-lifts75.1" -" temp129_0" -" temp127_0" +" temp118_0" +" temp116_0" " #f" -" lift-key128_0" -" input-s125_0" -" local-ctx126_0)))" +" lift-key117_0" +" input-s114_0" +" local-ctx115_0)))" "(let-values()" -"(let-values(((input-s130_0)" +"(let-values(((input-s119_0)" " input-s_0)" -"((local-ctx131_0)" +"((local-ctx120_0)" " local-ctx_0))" "(expand9.1" " #f" " #f" " #f" -" input-s130_0" -" local-ctx131_0))))))))" +" input-s119_0" +" local-ctx120_0))))))))" "(let-values((()" "(begin" "(let-values(((obs_0)" @@ -58378,7 +58338,7 @@ static const char *startup_source = " result-s_0))))))))))))))))))" "(if log-performance?" "(let-values()(end-performance-region))" -"(void)))))))))))))))))))))" +"(void))))))))))))))))))))" "(define-values" "(1/syntax-tainted?)" "(lambda(s_0)" @@ -67989,8 +67949,7 @@ static const char *startup_source = "((t415_0) t_0)" "((temp416_0)" "(free-id-set-empty-or-just-module*?" -"(expand-context-stops ctx_0)" -"(expand-context-phase ctx_0))))" +"(expand-context-stops ctx_0))))" "(substitute-variable6.1" " temp416_0" " id414_0" @@ -72341,13 +72300,15 @@ static const char *startup_source = "(let-values(((expression-expanded-bodys_0)" "((letrec-values(((pass-1-and-2-loop_0)" "(lambda(bodys_2" -" phase_1" -" keep-stops?_0)" +" phase_1)" "(begin" " 'pass-1-and-2-loop" "(let-values(((def-ctx-scopes_0)" "(box" " null)))" +"(let-values(((to-parsed?_0)" +"(expand-context-to-parsed?" +" ctx_1)))" "(let-values(((partial-body-ctx_0)" "(let-values(((v_0)" " ctx_1))" @@ -72471,7 +72432,7 @@ static const char *startup_source = " the-struct_1)))" "(raise-argument-error" " 'struct-copy" -" \"expand-context/inner?\"" +" \"expand-context/inner?\"" " the-struct_1)))))" "(expand-context/outer1.1" " inner328_0" @@ -72502,7 +72463,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(((partially-expanded-bodys_0)" "(let-values(((bodys346_0)" @@ -72587,10 +72548,7 @@ static const char *startup_source = "(if(expand-context/inner?" " the-struct_1)" "(let-values(((stops365_0)" -"(if keep-stops?_0" -"(expand-context-stops" -" ctx_1)" -" empty-free-id-set))" +" empty-free-id-set)" "((to-module-lifts366_0)" "(let-values(((phase367_0)" " phase_1)" @@ -72655,7 +72613,7 @@ static const char *startup_source = " the-struct_1)))" "(raise-argument-error" " 'struct-copy" -" \"expand-context/inner?\"" +" \"expand-context/inner?\"" " the-struct_1)))))" "(expand-context/outer1.1" " inner364_0" @@ -72687,7 +72645,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(((partially-expanded-bodys317_0)" " partially-expanded-bodys_0)" @@ -72713,12 +72671,10 @@ static const char *startup_source = " mpis-to-reset324_0" " phase318_0" " self320_0" -" partially-expanded-bodys317_0)))))))))))" +" partially-expanded-bodys317_0))))))))))))" " pass-1-and-2-loop_0)" " bodys_1" -" phase_0" -"(stop-at-module*?" -" ctx_1))))" +" phase_0)))" "(let-values((()" "(begin" "(check-defined-by-now" @@ -73994,8 +73950,7 @@ static const char *startup_source = "(pass-1-and-2-loop_0" " e470_0" "(add1" -" phase_0)" -" #f)))" +" phase_0))))" "(begin" "(let-values(((obs_0)" "(expand-context-observer"