What are the symbols in LOAD_PATH?

I’ve been searching the docs but I couldn’t find anything about how are the symbols in LOAD_PATH expanded?
I’m referring to @, @v#.# and @stdlib. Thanks

2 Likes

Here is an attempt to answer that question. I am not sure my answer is completely correct though, so I hope someone with better insights can correct me if it is wrong, including terminology.

@ - base project/environment
@v#.# - default project/environment (e.g. v0.7 in this part of the docs)
@stdlib - standard library project/environment

This is what makes up the stacked environment available in the REPL, allowing one to load code from base, stdlib and packages the user adds to the default project.

you can also call Base.load_path() to interpret LOAD_PATH.

2 Likes

See https://stackoverflow.com/a/52379993/2365675

1 Like

Follow up question. The order of the LOAD_PATH seems to be [@, @v#.#, @stdlib]. Does this order matter, and if yes, how? From this part of the docs, it seems that the primary environment wins, followed by the one in 2nd place, 3rd place and so on… Is the base environment the winner in this case, followed by the default environment, and then the stdlib?

1 Like