{"size": 1576, "ext": "scrbl", "max_stars_repo_path": "pkgs/racket-doc/scribblings/reference/rerequire.scrbl", "max_stars_repo_name": "lkh01/racket", "max_stars_repo_stars_event_min_datetime": "2018-07-29T04:13:52.000Z", "max_stars_repo_stars_event_max_datetime": "2022-02-14T16:11:17.000Z", "max_issues_repo_path": "pkgs/racket-doc/scribblings/reference/rerequire.scrbl", "max_issues_repo_name": "lkh01/racket", "max_issues_repo_issues_event_min_datetime": "2017-08-25T20:26:37.000Z", "max_issues_repo_issues_event_max_datetime": "2022-02-26T17:48:40.000Z", "max_forks_repo_path": "pkgs/racket-doc/scribblings/reference/rerequire.scrbl", "max_forks_repo_name": "lkh01/racket", "max_forks_repo_forks_event_min_datetime": "2016-04-25T11:47:57.000Z", "max_forks_repo_forks_event_max_datetime": "2017-05-09T14:52:48.000Z"}
{"max_stars_count": 10, "max_issues_count": 15, "max_forks_count": 3, "avg_line_length": 46.3529411765, "max_line_length": 86, "alphanum_fraction": 0.760786802}
#lang scribble/doc
@(require "mz.rkt" (for-label racket/rerequire))

@title[#:tag "rerequire"]{Loading and Reloading Modules}

@note-lib-only[racket/rerequire]

@defproc[(dynamic-rerequire [module-path module-path?]
                            [#:verbosity verbosity (or/c 'all 'reload 'none) 'reload])
	 (listof path?)]{

Like @racket[(dynamic-require module-path 0)], but with reloading
support. The @racket[dynamic-rerequire] function is intended for use
in an interactive environment, especially via @racket[enter!].

If invoking @racket[module-path] requires loading any files, then
modification dates of the files are recorded. If the file is modified,
then a later @racket[dynamic-rerequire] re-loads the module from source; see also
@secref["module-redeclare"]. Similarly if a later @racket[dynamic-rerequire]
transitively @racket[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
@racket[require]s) via @racket[dynamic-rerequire].

The returned list contains the absolute paths to the modules that were
reloaded on this call to @racket[dynamic-rerequire]. If the returned
list is empty, no modules were changed or loaded.

When @racket[enter!] loads or re-loads a module from a file, it can
print a message to @racket[(current-error-port)], depending on
@racket[verbosity]: @racket['all] prints a message for all loads and
re-loads, @racket['reload] prints a message only for
re-loaded modules, and @racket['none] disables printouts.}
