Report Number: CS-TR-70-187
Institution: Stanford University, Department of Computer Science
Title: MPL, Mathematical Programming Language: specification manual for Committee review
Author: Eisenstat, Stanley C.
Author: Magnanti, Thomas L.
Author: Maier, Steven F.
Author: McGrath, Michael B.
Author: Nicholson, Vincent J.
Author: Riedl, Christiane
Author: Dantzig, George B.
Date: November 1970
Abstract: Mathematical Programming Language (MPL) is intended as a highly readable, user oriented, programming tool for use in the writing and testing of mathematical algorithms, in particular experimental algorithms for solving large-scale linear programs. It combines the simplicity of standard mathematical notation with the power of complex data structures. Variables may be implicitly introduced into a program by their use in the statement in which they first appear. No formal defining statement is necessary. Statements of the "let" and "where" type are part of the language. Included within the allowable data structures of MPL are matrices, partitioned matrices, and multidimensional arrays. Ordered sets are included as vectors with their constructs closely paralleling those found in set theory. Allocation of storage is dynamic, thereby eliminating the need for a data manipulating subset of the language, as is characteristic of most high level scientific programming languages. This report summarizes the progress that has been made to date in developing MPL. It contains a specification manual, examples of the application of the language, and the future directions and goals of the project. A version of MPL, called MPL/70, has been implemented using PL/I as a translator. This will be reported separately. Until fully implemented, MPL is expected to serve primarily as a highly readable communication language for mathematical algorithms.