Files and Streams
File Names
| name.m | Mathematica language source file |
| name.nb | Mathematica notebook file |
| name.ma | Mathematica notebook file from before Version 3 |
| name.mx | Mathematica expression dump |
| name.exe | MathLink executable program |
| name.tm | MathLink template file |
| name.ml | MathLink stream file |
Conventions for file names.
Most files used by
Mathematica are completely system independent. .mx and .exe files are however system dependent. For these files, there is a convention that bundles of versions for different computer systems have names with forms such as
name/$SystemID/name.
In general, when you refer to a file,
Mathematica tries to resolve its name as follows:
- If the name starts with
, Mathematica treats the remainder of the name as an external command, and uses a pipe to this command.
- If the name contains metacharacters used by your operating system, then Mathematica passes the name directly to the operating system for interpretation.
- Unless the file is to be used for input, no further processing on the name is done.
- Unless the name given is an absolute file name under your operating system, Mathematica will search each of the directories specified in the list $Path.
- If what is found is a directory rather than a file, then Mathematica will look for a file name/$SystemID/name.
For names of the form

the following further translations are done in
Get and related functions:
- A file name.mx is used if it exists.
- If name.mx is a directory, then name.mx/$SystemID/name.mx is used if it exists.
- A file name.m is used if it exists.
- If name is a directory, then the file
is used if it exists.
In
Install,

is taken to refer to a file or directory named
name.exe.
Streams
Types of streams.
Options for output streams.
You can test options for streams using
Options, and reset them using
SetOptions.