Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Loading of modules is currently done via
Revise.includet()
This is slow as it doesn't allow for precompilation.
My proposal is to replace this procedure by
using
statements when possible.To make that procedure easier I have written a handy
@using
macro that does the following.Here's the doc string:
@using(package_path)
macro to simplify loading of modules that are not located in the LOAD_PATH
package_path
can bee.g 'models/MyApp' to load 'models/MyApp/MyApp.jl'
e.g. 'models/MyApp' to load models/MyApp.jl'
e.g. 'models/MyApp' to load 'models/MyApp/src/MyApp.jl'
Examples
or explicitly
Note, directories containing special characters like colon (
':'
) or space (' '
)need to be escaped by double quotes.
Caveat: Due to precompilation it is not possible to supply variables to the macro.
Calls need to supply explicit paths.