Module loading

Base.require отвечает за загрузку модулей и также управляет кэшем предварительной компиляции. Это реализация оператора import.

Experimental features

Ниже перечисленные функции являются экспериментальными и не являются частью стабильного API Julia. Прежде чем использовать их, ознакомьтесь с текущими мыслями и тем, могут ли они скоро измениться.

Package loading callbacks

Можно прослушивать пакеты, загружаемые с помощью Base.require, зарегистрировав обратный вызов.

loaded_packages = Base.PkgId[]
callback = (pkg::Base.PkgId) -> push!(loaded_packages, pkg)
push!(Base.package_callbacks, callback)

Использование этого будет выглядеть как:

julia> using Example

julia> loaded_packages
1-element Vector{Base.PkgId}:
 Example [7876af07-990d-54b4-ab0e-23690620f79a]