MPL(ID:3314/mpl005)

Mathematical Programming Language 


Stanford 1970 Mathematical Programming Language.

High-level declarative, featuring "LET" and "WHERE" clauses


Places
References:
  • Pinsky, P. Mathematical Programming Language. Stanford University, operations Research House report no. 67-4, Commerce Clearinghouse report no. 654 485, June 1967 view details Abstract: This paper describes a readable computer programming language for solving large scale mathematical programming (optimizing) problems. A set of notational conventions have been tentatively agreed upon. For flexibility, programs will be made up of short subroutines, which are translated by a human coder into a standard prograrmning language, such as Fortran or Algol, since there are no plans a t Present for a mechanical translator.
  • Bayer, R., J. H. Bigelow, et al. "MPL: Mathematical Programming Language", CS-TR-68-119 Stanford University, Department of Computer Science, May 1968. view details Abstract: The purpose of MPL is to provide a language for writing mathematical programming algorithms that will be easier to write, to read, and to modify than those written in currently available computer languages. It is believed that the writing, testing, and modification of codes for solving large-scale linear programs will be a less formidable undertaking once MPL becomes available. It is hoped that by the Fall of 1968, work on a compiler for MPL will be well underway. External link: Online copy
  • Eisenstat, Stanley C. et al "MPL, Mathematical Programming Language: specification manual for Committee review" CS-TR-70-187 Stanford University, Department of Computer Science November 1970 view details 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.
    pdf
  • Stock, Karl F. "A listing of some programming languages and their users" in RZ-Informationen. Graz: Rechenzentrum Graz 1971 view details Abstract: 321 Programmiersprachen mit Angabe der Computer-Hersteller, auf deren Anlagen die entsprechenden Sprachen verwendet werden kennen. Register der 74 Computer-Firmen; Reihenfolge der Programmiersprachen nach der Anzahl der Herstellerfirmen, auf deren Anlagen die Sprache implementiert ist; Reihenfolge der Herstellerfirmen nach der Anzahl der verwendeten Programmiersprachen.

    [321 programming languages with indication of the computer manufacturers, on whose machinery the appropriate languages are used to know.  Register of the 74 computer companies;  Sequence of the programming languages after the number of manufacturing firms, on whose plants the language is implemented;  Sequence of the manufacturing firms after the number of used programming languages.]
  • Bonzon, Pierre E. "Mathematical Programming Language: an appraisal based on practical experiments." Stanford University, Department of Computer Science Report Number: CS-TR-72-267 March 1972 view details Abstract: The newly proposed Mathematical Programming Language is approached from the user's point of view. To demonstrate its facility of use, three programs are presented which solve large scale linear programming problems with the generalized upper-bounding structure. pdf
  • Sammet, Jean E., "Roster of Programming Languages 1972" view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Stock, Marylene and Stock, Karl F. "Bibliography of Programming Languages: Books, User Manuals and Articles from PLANKALKUL to PL/I" Verlag Dokumentation, Pullach/Munchen 1973 view details Abstract: PREFACE  AND  INTRODUCTION
    The exact number of all the programming languages still in use, and those which are no longer used, is unknown. Zemanek calls the abundance of programming languages and their many dialects a "language Babel". When a new programming language is developed, only its name is known at first and it takes a while before publications about it appear. For some languages, the only relevant literature stays inside the individual companies; some are reported on in papers and magazines; and only a few, such as ALGOL, BASIC, COBOL, FORTRAN, and PL/1, become known to a wider public through various text- and handbooks. The situation surrounding the application of these languages in many computer centers is a similar one.

    There are differing opinions on the concept "programming languages". What is called a programming language by some may be termed a program, a processor, or a generator by others. Since there are no sharp borderlines in the field of programming languages, works were considered here which deal with machine languages, assemblers, autocoders, syntax and compilers, processors and generators, as well as with general higher programming languages.

    The bibliography contains some 2,700 titles of books, magazines and essays for around 300 programming languages. However, as shown by the "Overview of Existing Programming Languages", there are more than 300 such languages. The "Overview" lists a total of 676 programming languages, but this is certainly incomplete. One author ' has already announced the "next 700 programming languages"; it is to be hoped the many users may be spared such a great variety for reasons of compatibility. The graphic representations (illustrations 1 & 2) show the development and proportion of the most widely-used programming languages, as measured by the number of publications listed here and by the number of computer manufacturers and software firms who have implemented the language in question. The illustrations show FORTRAN to be in the lead at the present time. PL/1 is advancing rapidly, although PL/1 compilers are not yet seen very often outside of IBM.

    Some experts believe PL/1 will replace even the widely-used languages such as FORTRAN, COBOL, and ALGOL.4) If this does occur, it will surely take some time - as shown by the chronological diagram (illustration 2) .

    It would be desirable from the user's point of view to reduce this language confusion down to the most advantageous languages. Those languages still maintained should incorporate the special facets and advantages of the otherwise superfluous languages. Obviously such demands are not in the interests of computer production firms, especially when one considers that a FORTRAN program can be executed on nearly all third-generation computers.

    The titles in this bibliography are organized alphabetically according to programming language, and within a language chronologically and again alphabetically within a given year. Preceding the first programming language in the alphabet, literature is listed on several languages, as are general papers on programming languages and on the theory of formal languages (AAA).
    As far as possible, the most of titles are based on autopsy. However, the bibliographical description of sone titles will not satisfy bibliography-documentation demands, since they are based on inaccurate information in various sources. Translation titles whose original titles could not be found through bibliographical research were not included. ' In view of the fact that nany libraries do not have the quoted papers, all magazine essays should have been listed with the volume, the year, issue number and the complete number of pages (e.g. pp. 721-783), so that interlibrary loans could take place with fast reader service. Unfortunately, these data were not always found.

    It is hoped that this bibliography will help the electronic data processing expert, and those who wish to select the appropriate programming language from the many available, to find a way through the language Babel.

    We wish to offer special thanks to Mr. Klaus G. Saur and the staff of Verlag Dokumentation for their publishing work.

    Graz / Austria, May, 1973
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Woods, Donald R "Mathematical Programming Language -- user's guide" Report Number: CS-TR-76-561 Department of Computer Science Stanford University August 1976 view details Abstract: Report Number: CS-TR-76-561
    Institution: Stanford University, Department of Computer Science
    Title: Mathematical Programming Language -- user's guide
    Author: Woods, Donald R.
    Date: August 1976
    Abstract: Mathematical Programming Language (MPL) is a aprogramming language specifically designed for the implementation of mathematical software and, in particular, experimental mathematical programming software. In the past there has been a wide gulf between the applied mathematicians who design mathematical algorithms (but often have little appreciation of the fine points of computing) and the professional programmer, who may have little or no understanding of the mathematics of the problem he is programming. The result is that a vast number of mathematical algorithms have been devised and published, with only a small fraction being actually implemented and experimentally compared on selected representative problems. MPL is designed to be as close as possible to the terminology used by the mathematician while retaining as far as possible programming sophistications which make for good software systems. The result is a programming langauge which (hopefully!) allows the writing of clear, concise, easily read programs, especially by persons who are not professional programmers. pdf
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Fourer, R., Database structures for mathematical programming models. Technical Report 90-06, Northwestern University , Evanston, Illinois 60208-3119. view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Fourer, R., Modeling languages versus matrix generators for linear programming. ACM-TOMS, vol.9, No.2, June 1983, pp.143-183. view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details
  • Murphy, F.H., Sthor, E.S., Asthana, A., Representation schemes for linear programming models. Management Science, vol.38, No.7, July, 1992, pp.964-991. view details
          in Computers & Automation 21(6B), 30 Aug 1972 view details