This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)
 Documentation / Mathematica / The Mathematica Book / Principles of Mathematica / Files and Streams  /

2.11.5 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.


Using contexts to specify files.

  • This reads in one of the standard packages that come with Mathematica.
  • In[1]:= <<Graphics`Colors`


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

    Mathematica is set up so that <<name` 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 <<name`, but then to load init.m to initialize the whole package, reading in whatever other files are necessary.

  • This reads in the file Graphics/init.m, which initializes all standard Mathematica graphics packages.
  • In[2]:= <<Graphics`