MUMPS
<language> (Or "M") Massachusetts General Hospital Utility Multi-Programming System.
A programming language with extensive tools for the support of database management systems.
MUMPS was originally used for medical records and is now widely used where multiple users access the same databases simultaneously, e.g. banks, stock exchanges, travel agencies, hospitals.
Early MUMPS implementations for
PDP-11 and
IBM PC were complete operating systems, as well as programming languages, but current-day implementations usually run under a normal host
operating system.
A MUMPS program hardly ever explicitly performs low-level operations such as opening a file - there are programming constructs in the language that will do so implicitly, and most MUMPS programmers are not even aware of the
operating system activity that MUMPS performs.
Syntactically MUMPS has only one data-type: strings. Semantically, the language has many data-types: text strings, binary strings, floating point values,
integer values,
Boolean values.
Interpretation of strings is done inside functions, or implicitly while applying mathematical operators.
Since many operations involve only moving data from one location to another, it is faster to just move uninterpreted strings.
Of course, when a value is used multiple times in the context of arithmetical operations, optimised implementations will typically save the numerical value of the string.
MUMPS was designed for portability.
Currently, it is possible to share the same MUMPS database between radically different architectures, because all values are stored as text strings. The worst an implementation may have to do is swap pairs of bytes.
Such multi-CPU databases are actually in use, some offices share databases between
VAX,
DEC Alpha,
SUN,
IBM PC and
HP workstations.
Versions of MUMPS are available on practically all
hardware, from the smallest (
IBM PC,
Apple Macintosh, Acorn {Archimedes}), to the largest mainframe.
MSM (Micronetics Standard MUMPS) runs on IBM PC RT and R6000; DSM (Digital Standard Mumps) on the
PDP-11,
VAX,
DEC Alpha, and Windows-NT; Datatree MUMPS from InterSystems runs on
IBM PC; and MGlobal MUMPS on the Macintosh. Multi-platform versions include M/SQL, available from InterSystems, PFCS <
[email protected]> and MSM.
Greystone Technologies' GT/M runs on
VAX and
DEC Alpha. This is a compiler whereas the others are interpreters. GT/SQL is their SQL pre-processor.
ISO standard 11756 (1991).
ANSI standard: "MUMPS Language Standard", X11.1 (1977, 1984, 1990, 1995?).
The MUMPS User's Group was the M Technology Association.
Usenet newsgroups: news:comp.lang.mumps}.