hokey@plus5.UUCP (09/27/84)
From: Hokey (The Moderator) <hokey@plus5.UUCP> Ansi MUMPS discussions Wednesday, 26 Sep 1984 Volume 1 : Issue 2 Today's Topics: Query - What is MUMPS? ---------------------------------------------------------------------- From: petsd!joe Date: Wed, 26 Sep 84 08:37:45 edt Subject: Re: Ansi MUMPS discussions What is MUMPS? regards, joe [Here goes: MUMPS (Massachusetts General Hospital Utility Multi- Programming System) was written a While ago when memory was Expensive. It found its way to the PDP-11, where it flourished in the medical community. Mumps is a character string oriented data manipulation language. It is unstructured. It has a horizontal style of coding as opposed to the vertical style used by C. Multiple commands and associated arguments usually exist per line. The execution scope of several of the basic control structures (If, Else, and For) is to the end of the line. Mumps is an interpretive language, although compilers do exist. Mumps is an interactive language. Mumps has a "stimulus/response" orientation instead of the "input/transformation/output" style of Unix. Implementations of Mumps, both stand-alone and layered, exist for Digital's PDP-11 and Vax lines, Tandem, Data General, Harris, (some) IBM machines, and most any machine which runs Unix, CPM, {MS,PC}-DOS, and whatever else I am forgetting. Trademarks where applicable. Implementations have been done in the US, Japan, Brazil, and several European countries. Variables in (the current Standard) Mumps can be subscripted to a "reasonably" arbitrary depth. These subscripts may be numeric or string. There is a defined collating sequence, so one never writes a sort algorithm. Since there is no declaration of variables or subscripts, the basic data type becomes a sparse array. This method of data access extends to variables private to a "partition" (job), which are called "local variables", or shareable disk data, which are called "global variables". The difference between a local and a global variable is a global name has a "^" as the first character of the name. This means there is no opening, closing, or positioning of disk data. Globals can be used at arbitrary points in expressions. Very convienient. This structure means Mumps has a hierarchical database as an integral part of the language. All storage is dynamically allocated. All input and output is via the READ and WRITE commands, respectively. Rather than using file desctiptors, Mumps has a notion of the "current device". Devices (and non-Mumps files, where appropriate) are OPENed and CLOSEd. A device is made the "current" device by the USE command. The language includes pattern matching, and substring extraction by character position or relative to an arbitrary delimiter string. I am glossing over a lot. All sorts of information may be had by contacting the Nice People at Mumps Users' Group 4321 Hartwick Road #308 College Park, MD 20740 301-779-6555 Tell them I said Hi. PS: I thought I'd reply to the net on this one because I'm sure lots of you have the same question. I never said lots of you were interested!] ------------------------------ End of Ansi MUMPS discussions ***************************** -- Hokey ..ihnp4!plus5!hokey 314-725-9492