This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)

Files for Packages

When you create or use Mathematica packages, you will often want to refer to files in a system-independent 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 Mathematica contexts should be named. Then, when you refer to a file using a context, the particular version of Mathematica 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 Mathematica.
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 Mathematica 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`.

Mathematica 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 system-independent Mathematica input.
If name is a directory, then Mathematica 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 Mathematica 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.