Files for Packages

When you create or use Wolfram Language packages, you will often want to refer to files in a systemindependent way. You can use contexts to do this.

The basic idea is that on every computer system there is a convention about how files corresponding to Wolfram Language contexts should be named. Then, when you refer to a file using a context, the particular version of the Wolfram Language you are using converts the context name to the file name appropriate for the computer system you are on.

<<context`read in the file corresponding to the specified context

Using contexts to specify files.

This reads in one of the standard packages that come with the Wolfram System.
In[1]:=
Click for copyable input
name.mxfile in DumpSave format
name.mx/$SystemID/name.mxfile in DumpSave format for your computer system
name.mfile in Wolfram Language source format
name/init.minitialization file for a particular directory
dir/ files in other directories specified by $Path

The typical sequence of files looked for by <<name`.

The Wolfram Language is set up so that will automatically try to load the appropriate version of a file. It will first try to load a name.mx file that is optimized for your particular computer system. If it finds no such file, then it will try to load a name.m file containing ordinary systemindependent Wolfram Language input.

If name is a directory, then the Wolfram Language will try to load the initialization file init.m in that directory. The purpose of the init.m file is to provide a convenient way to set up Wolfram Language packages that involve many separate files. The idea is to allow you to give just the command , but then to load init.m to initialize the whole package, reading in whatever other files are necessary.