The racket/rerequire and racket/enter libraries provide support for loading, reloading, and using modules.
syntax
( enter! module-path)
flag = #:quiet| #:verbose-reload| #:verbose| #:dont-re-require-enter
The #:verbose, #:verbose-reload, and #:quiet flags correspond to 'all, 'reload, and 'none verbosity for dynamic-rerequire . The default corresponds to #:verbose-reload.
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. In some cases, requiring racket/enter might not be desirable (e.g., in a tool that uses racket/enter); use the #:dont-re-require-enter flag to disable the require.
procedure
[ #:verbosityverbosity
Added in version 6.0.0.1 of package base.
procedure
module-path:module-path?
If invoking module-path requires loading any files, then modification dates of the files are recorded. If the file is modified, then a later dynamic-rerequire re-loads the module from source; see also Module Redeclarations. Similarly if a later dynamic-rerequire transitively require s 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 require s) via dynamic-rerequire .
The returned list contains the absolute paths to the modules that were reloaded on this call to dynamic-rerequire . If the returned list is empty, no modules were changed or loaded.
When enter! loads or re-loads a module from a file, it can print a message to (current-error-port ), depending on verbosity: 'all prints a message for all loads and re-loads, 'reload prints a message only for re-loaded modules, and 'none disables printouts.