M is an interactive matrix calculator with C-style syntax. It has features of C, Matlab, and APL. The main data type in M is a `matrix', i.e. a dynamically sized two-dimensional array of double. Data types `vector' for one-dimensional arrays, and `string' for arrays of characters are also supported. M includes all of the C control statements except goto, i.e. if, else, switch, case, default, while, do, for, break, continue, return. In M, functions that return void are called procedures. A set of useful built- in functions and procedures is provided. Also built-in is a set of `commands' whose syntax is similar to a Unix command line, e.g. save a b >"ab.save" The associativity and precedence of operators in M are the same as in C. Usage: m [files...] M first loads the file .mrc from your current directory, or, if not found there, from your home directory if it can find it there. Then it loads any files specified on the command line.