[mod.std.mumps] Ansi MUMPS discussions V1 #2

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