17.4 Interactive Module Loading
The bindings documented in this section are provided by the racket/enter
libraries, which means that they are available when the Racket executable is started with no command-line arguments. They are not provided by racket/base
Intended for use in a REPL
, such as when mzscheme
started in interactive mode. When a module-path
(in the same sense as for require
), the corresponding module
is loaded or invoked, and the current namespace
is changed to
the body of the module via module->namespace
is provided, then the current namespace
to the original one.
If invoking module-path requires loading any files, then
modification dates of the files are recorded. If the file is modified,
then a later enter! re-loads the module from source; see also
Module Re-declarations. Similarly if a later enter!
transitively requires a modified module, then the required
module is re-loaded. Re-loading support works only for modules that
are first loaded (either directly or indirectly through transitive
requires) via enter!.
After switching namespaces to the designated module, enter!
automatically requires racket/enter into the namespace, so
that enter! can be used to switch namespaces again.
When it loads or re-loads a module from a file, enter! prints
a message to (current-error-port).