Rephrasing namespace additional scope

This rewrite writes around a possible misinterpretation. This version hopes to distinguish between the necessary conditions to add the namespace scope and the details about where it's added.
This commit is contained in:
Jason Hemann 2021-05-30 15:53:38 -04:00 committed by Matthias Felleisen
parent 14c07a5923
commit e66f913ae2

View File

@ -1077,9 +1077,10 @@ expansion and evaluation in the namespace can create additional
@tech{bindings}. Evaluation of a form with a namespace always adds the
namespace's phase-specific @tech{scopes} to the form and to the result
of expanding a top-level form; as a consequence, every binding identifier
has at least one @tech{scope}. The namespace's additional scope, which
is added at all @tech{phase levels}, is added only on request (e.g.,
by using @racket[eval] as opposed to @racket[eval-syntax]). Except for
has at least one @tech{scope}. The namespace's additional scope is added
only on request (e.g., by using @racket[eval] as opposed to
@racket[eval-syntax]); if requested, the additional scope is added at all
@tech{phase levels}. Except for
namespaces generated by a module (see @racket[module->namespace]),
every namespace uses the same @tech{scope} as the one added to all
@tech{phase levels}, while the @tech{scopes} specific to a @tech{phase