Information about where a particular block of code came from; path is optional because some code snippets are synthetic, which means any filename is entirely synthetic and $file imports do not work in them.
Information about where a particular block of code came from; path is optional because some code snippets are synthetic, which means any filename is entirely synthetic and $file imports do not work in them. However, there are many snippets of code, e.g. repl commands and such, which have a "fake" path because we want to allow $file imports relative to some path or working-directory
Refers to a wrapper object compiled with a specific set of source code and enclosing environment (encapsulated in the hashVal).
Refers to a wrapper object compiled with a specific set of source code and enclosing environment (encapsulated in the hashVal). This lets us unambiguously look up the correct version of a class, or invalidate and recompile it if the source code or environment changes