3253:
4098:
247:" project at MGH by Pappalardo, Greenes, and Marble to create an alternative development environment. As a result of initial demonstration of capabilities, Dr. Barnett's proposal to NIH in 1967 for renewal of the hospital computer project grant took the bold step of proposing that the system be built in MUMPS going forward, rather than relying on the BBN approach. The project was funded, and serious implementation of the system in MUMPS began.
588:. This was based on their ISM product, but with influences from the other implementations. Micronetics Design Corporation, at this time #2 on the market, was acquired by InterSystems on June 21, 1998. InterSystems remains the dominant "M vendor" owning MSM, DSM, ISM, DTM and selling Caché to M developers who write applications for a variety of operating systems. Also Intersystems did not use the term M anymore, neither followed the M standard.
4108:
3164:
1488:
673:
3136:
4118:
342:, where it lived for some time. It was first installed at Health Data Management Systems of Denver in May 1971. The portability proved to be useful and MUMPS was awarded a government research grant, and so MUMPS was released to the public domain which was a requirement for grants. MUMPS was soon ported to a number of other systems including the popular DEC
1261:. These are stored on disk, are available to all processes, and are persistent when the creating process terminates. Very large globals (for example, hundreds of gigabytes) are practical and efficient in most implementations. This is MUMPS' main "database" mechanism. It is used instead of calling on the operating system to create, write, and read files.
760:
815:. Early MUMPS memory partitions were limited to 2048 bytes so aggressive abbreviation greatly aided multi-programming on severely resource limited hardware, because more than one MUMPS job could fit into the very small memories extant in hardware at the time. The ability to provide multi-user systems was another language design feature. The word "
876:, etc.). An unfortunate side effect of this, coupled with the early need to write minimalist code, was that MUMPS programmers routinely did not comment code and used extensive abbreviations. This meant that even an expert MUMPS programmer could not just skim through a page of code to see its function but would have to analyze it line by line.
1213:(i.e. use almost no space for missing nodes), can use any number of subscripts, and subscripts can be strings or numeric (including floating point). Arrays are always automatically stored in sorted order, so there is never any occasion to sort, pack, reorder, or otherwise reorganize the database. Built-in functions such as
1584:
rules are more permissive than other modern languages. Declared local variables are scoped using the stack. A routine can normally see all declared locals of the routines below it on the call stack, and routines cannot prevent routines they call from modifying their declared locals, unless the caller
1249:
variable names not beginning with caret (i.e. "^") are stored in memory by process, are private to the creating process, and expire when the creating process terminates. The available storage depends on implementation. For those implementations using partitions, it is limited to the partition size (a
330:
It was a few years until Unix was developed. The lack of memory management hardware also meant that all multi-processing was fraught with the possibility that a memory pointer could change some other process. MUMPS programs do not have a standard way to refer to memory directly at all, in contrast to
730:
The chief executive of InterSystems disliked the name MUMPS and felt that it represented a serious marketing obstacle. Thus, favoring M to some extent became identified as alignment with InterSystems. The 1990 ANSI Standard was open to both M and MUMPS and after a "world-wide" discussion in 1992 the
579:
vendor InterSystems had become the dominant player in the MUMPS market with the purchase of several other vendors. Initially they acquired DataTree Inc. in 1993. On
December 30, 1994, InterSystems acquired the DSM product line from DEC. InterSystems consolidated these products into a single product
242:
during 1966 and 1967. It grew out of frustration, during a
National Institutes of Health (NIH)-support hospital information systems project at the MGH, with the development in assembly language on a time-shared PDP-1 by primary contractor Bolt Beranek & Newman, Inc. (BBN). MUMPS came out of an
1046:
after it has been saved to disk. For direct execution of the code a kind of "label" (any alphanumeric string) on the first position of the program line is needed to tell the mumps interpreter where to start execution. Since MUMPS allows commands to be strung together on the same line, and since
1359:
This function treats its input as a structure, and finds the next index that exists which has the same structure except for the last subscript. It returns the sorted value that is ordered after the one given as input. (This treats the array reference as a content-addressable data rather than an
948:
languages. Additionally, the MUMPS language design requires that all subscripts of variables are automatically kept in sorted order. Numeric subscripts (including floating-point numbers) are stored from lowest to highest. All non-numeric subscripts are stored in alphabetical order following the
1604:
The US Department of
Veterans Affairs (formerly the Veterans Administration) was one of the earliest major adopters of the MUMPS language. Their development work (and subsequent contributions to the free MUMPS application codebase) was an influence on many medical users worldwide. In 1995, the
923:
character or group of characters can be a subscript identifier. While this is not uncommon for modern languages such as Perl or JavaScript, it was a highly unusual feature in the late 1970s. This capability was not universally implemented in MUMPS systems before the 1984 ANSI standard, as only
823:
rogramming" in the acronym points to this. Even the earliest machines running MUMPS supported multiple jobs running at the same time. With the change from mini-computers to micro-computers a few years later, even a "single user PC" with a single 8-bit CPU and 16K or 64K of memory could support
867:
function. Spaces and end-of-line markers are significant in MUMPS because line scope promoted the same terse language design. Thus, a single line of program code could express, with few characters, an idea for which other programming languages could require 5 to 10 times as many characters.
1180:
GREPTHIS() NEW SET,NEW,THEN,IF,KILL,QUIT SET IF="KILL",SET="11",KILL="11",QUIT="RETURN",THEN="KILL" IF IF=THEN DO THEN QUIT:$ QUIT QUIT QUIT ; (quit) THEN IF IF,SET&KILL SET SET=SET+KILL QUIT
1140:
Commands and intrinsic functions are case-insensitive. In contrast, variable names and labels are case-sensitive. There is no special meaning for upper vs. lower-case and few widely followed conventions. The percent sign (%) is legal as first character of variables and
731:
Mumps User Groups officially changed the name to M. The dispute also reflected rivalry between organizations (the M Technology
Association, the MUMPS Development Committee, the ANSI and ISO Standards Committees) as to who determines the "official" name of the language.
1532:
Some aspects of MUMPS syntax differ strongly from that of more modern languages, which can cause confusion, although those aspects vary between different versions of the language. On some versions, whitespace is not allowed within expressions, as it ends a statement:
276:
file system to standardize interaction with the data and abstract disk operations so they were only done by the MUMPS language itself. MUMPS was also used in its earliest days in an experimental clinical progress note entry system and a radiology report entry system.
327:, most mini-computers did not run parallel programs and threading was not available at all. Even on mainframes, the variant of batch processing where a program was run to completion was the most common implementation for an operating system of multi-programming.
1729:
Since 2005, the most popular implementations of MUMPS have been
Greystone Technology MUMPS (GT.M) from Fidelity National Information Services, and Caché, from Intersystems Corporation. The European Space Agency announced on May 13, 2010, that it will use the
924:
canonically numeric subscripts were required by the standard to be allowed. Thus, the variable named 'Car' can have subscripts "Door", "Steering Wheel", and "Engine", each of which can contain a value and have subscripts of their own. The variable
898:
in MUMPS, because the scoping of these variables is "globally available" to all jobs on the system. The more recent and more common use of the name "global variables" in other languages is a more limited scoping of names, coming from the fact that
979:, in MUMPS terminology). Coercion can have some odd side effects, however. For example, when a string is coerced, the parser turns as much of the string (starting from the left) into a number as it can, then discards the rest. Thus the statement
1001:
traditions, some space characters between MUMPS statements are significant. A single space separates a command from its argument, and a space, or newline, separates each argument from the next MUMPS token. Commands which take no arguments (e.g.,
205:
in the United States. MUMPS-based information systems run over 40% of the hospitals in the U.S., run across all of the U.S. federal hospitals and clinics, and provide health information services for over 54% of patients across the U.S.
972:) as an array. Early MUMPS programmers would often store a structure of related information as a delimited string, parsing it after it was read in; this saved disk access time and offered considerable speed advantages on some hardware.
659:
in 1969. They extended and built on the MUMPS language, naming the new language MIIS (and later, another language named MAGIC). Unlike InterSystems, MEDITECH no longer sells middleware, so MIIS and MAGIC are now only used internally at
915:) are temporary and private. Like global variables, they also have a hierarchical storage model, but are only "locally available" to a single job, thus they are called "locals". Both "globals" and "locals" can have child nodes (called
903:
are "globally" available to any programs running in the same process, but not shared among multiple processes. The MUMPS Storage mode (i.e. globals stored as persistent sparse arrays), gives the MUMPS database the characteristics of a
1593:) before calling any child routines. By contrast, undeclared variables (variables created by using them, rather than declaration) are in scope for all routines running in the same process, and remain in scope until the program exits.
894:) use permanent (instead of RAM) storage, will maintain their values after the application exits, and will be visible to (and modifiable by) other running applications. Variables using this shared and permanent storage are called
802:
MUMPS is a language intended for and designed to build database applications. Secondary language features were included to help programmers make applications using minimal computing resources. The original implementations were
1459:
GTM>S n="" GTM>S n=$ order(^nodex(n)) GTM>zwr n n=" building" GTM>S n=$ order(^nodex(n)) GTM>zwr n n=" name:gd" GTM>S n=$ order(^nodex(n)) GTM>zwr n n="%kml:guid"
1006:) require two following spaces. The concept is that one space separates the command from the (nonexistent) argument, the next separates the "argument" from the next command. Newlines are also significant; an
388:
standard, X11.1-1977. At about the same time DEC launched DSM-11 (Digital
Standard MUMPS) for the PDP-11. This quickly dominated the market, and became the reference implementation of the time. Also,
368:
in 1970 and 1971. By the early 1970s, there were many and varied implementations of MUMPS on a range of hardware platforms. Another noteworthy platform was Paul Stylos' DEC MUMPS-11 on the PDP-11, and
1596:
Because MUMPS database references differ from internal variable references only in the caret prefix, it is dangerously easy to unintentionally edit the database, or even to delete a database "table".
1910:
Pendergrass, Henry P; Greenes, Robert A; Barnett, G Octo; Poitras, James W; Pappalardo, A Neil; Marble, Curt W (1969). "An on-line computer facility for systematized input of radiology reports".
1173:
None. Since MUMPS interprets source code by context, there is no need for reserved words. You may use the names of language commands as variables, so the following is perfectly legal MUMPS code:
835:
Since memory was tight originally, the language design for MUMPS valued very terse code. Thus, every MUMPS command or function name could be abbreviated from one to three letters in length, e.g.
487:
MUMPS implementation. MGlobal also ported their implementation to the DOS platform. MGlobal MUMPS was the first commercial MUMPS for the IBM PC and the only implementation for the classic Mac OS.
1100:
In IF commands and other syntax that has expressions evaluated as conditions, any string value is evaluated as a numeric value and, if that is a nonzero value, then it is interpreted as True.
1573:) are used to indent the lines in a DO block, not whitespace. The ELSE command does not need a corresponding IF, as it operates by inspecting the value in the built-in system variable
3200:
1875:
Greenes, Robert A; Barnett, G Octo; Klein, Stuart W; Robbins, Anthony; Prior, Roderick E (1970). "Recording, retrieval and review of medical data by physician-computer interaction".
1195:
GREPTHIS() N S,N,T,I,K,Q S I="K",S="11",K="11",Q="R",T="K" I I=T D T Q:$ Q Q Q T I I,S&K S S=S+K Q
4197:
1713:
MUMPS is also widely used in financial applications. MUMPS gained an early following in the financial sector and is in use at many banks and credit unions. It is used by the
944:(both the names of the child-nodes and the child-nodes themselves are likewise called subscripts). Hierarchical variables are similar to objects with properties in many
335:, so since the multitasking was enforced by the language, not by any program written in the language it was impossible to have the risk that existed for other systems.
4162:
1120:
are important syntactic entities, unlike their status in languages patterned on C or Pascal. Multiple statements per line are allowed and are common. The scope of any
990:
Other features of the language are intended to help MUMPS applications interact with each other in a multi-user environment. Database locks, process identifiers, and
2868:
2329:
1814:
4207:
543:
528:
614:
During 2000, Ray Newman and others released MUMPS V1, an implementation of MUMPS (initially on FreeBSD) similar to DSM-11. MUMPS V1 has since been ported to
413:
was sold in parallel after released 1978. Both hardware families as well as MUMPS versions were available until 1995 from DEC. The DSM-11 was ported to the
4152:
3193:
2435:
2372:
961:
features such as mandatory schemas, several DBMS systems have been built on top of it that provide application developers with flat-file, relational, and
3152:
4192:
515:
This period also saw considerable MDC activity. The second revision of the ANSI standard for MUMPS (X11.1-1984) was approved on
November 15, 1984.
4182:
3157:
1606:
740:
registered "MUMPS" as a trademark with the USPTO on
November 28, 1971, and renewed it on November 16, 1992, but let it expire on August 30, 2003.
4157:
4121:
4111:
3186:
1840:
Greenes, Robert; Pappalardo, A Neil; Marble, Curt W; Barnett, G Octo (1969). "Design and implementation of a clinical data management system".
592:
3147:
2615:
812:
576:
385:
361:. Word about MUMPS spread mostly through the medical community, and was in widespread use, often being locally modified for their own needs.
3809:
3241:
1618:
1470:). Additionally, there is the ability to specify an environment for a variable, such as by specifying a machine name in a variable (as in
770:
1293:
This breaks variables into segmented pieces guided by a user specified separator string (sometimes called a "delimiter"). Those who know
1188:
MUMPS can be made more obfuscated by using the contracted operator syntax, as shown in this terse example derived from the example above:
376:. In the Fall of 1972, many MUMPS users attended a conference in Boston which standardized the then-fractured language, and created the
4142:
3883:
2888:
2861:
1634:
3888:
3829:
3776:
2688:
2568:
401:
During the early 1980s several vendors brought MUMPS-based platforms that met the ANSI standard to market. The most significant were:
1501:
1018:
command processes (or skips) everything else till the end-of-line. To make those statements control multiple lines, you must use the
2893:
2739:
2673:
2660:
712:
2898:
2229:
1706:, and Dynacare, use MUMPS software written by or based on Antrim Corporation code. Antrim was purchased by Misys Healthcare (now
1067:
ANSI X11.1-1995 gives a complete, formal description of the language; an annotated version of this standard is available online.
975:
MUMPS has no data types. Numbers can be treated as strings of digits, or strings can be treated as numbers by numeric operators (
4023:
384:(MDC) to do so. These efforts proved successful; a standard was complete by 1974, and was approved, on September 15, 1977, as
3643:
3167:
3099:
2972:
2854:
2009:
1614:
884:
737:
694:
235:
195:
2099:
1031:
644:
There are also several open source implementations of MUMPS, including some research projects. The most notable of these is
3913:
3209:
3142:
3120:
3074:
3047:
3022:
2982:
2127:
365:
255:
1809:
4202:
4003:
3710:
3261:
3114:
3017:
2987:
1707:
1692:
1637:
1561:
plus a strict comparison operator in the opposite direction), although some versions allow the use of the more standard
991:
1157:
performs PRINTERR if N is greater than 100. This construct provides a conditional whose scope is less than a full line.
4167:
4061:
4008:
3791:
3753:
3598:
3089:
3084:
3027:
3007:
2121:
945:
880:
649:
373:
101:
554:. The MDC finalized a further revision to the standard in 1998 but this has not been presented to ANSI for approval.
4038:
3824:
3032:
2928:
2911:
2832:
Development and
Operation of a MUMPS Laboratory Information System: A Decade's Experience at Johns Hopkins Hospital
1773:
1466:
MUMPS supports multiple simultaneous users and processes even when the underlying operating system does not (e.g.,
958:
905:
596:
163:
890:, which is implicitly "opened" for every MUMPS application. All variable names prefixed with the caret character (
683:
4072:
3042:
2997:
2445:
2278:
4147:
3735:
3079:
2962:
1581:
1229:
functions provide efficient examination and traversal of the fundamental array structure, on disk or in memory.
900:
202:
3252:
1617:(VHA) was the recipient of the Innovations in American Government Award presented by the Ash Institute of the
4056:
1613:
for best use of
Information Technology in Medicine. In July 2006, the Department of Veterans Affairs (VA) /
1149:
execution of almost any command can be controlled by following it with a colon and a truthvalue expression.
804:
591:
Greystone Technology Corporation's GT.M implementation was sold to Sanchez Computer Associates (now part of
2755:
2063:
1951:
557:
In 1999 the last M Standard (ISO-IEC 11756-1999) was approved. ISO re-affirmed this on 2020. Together with
191:
4177:
4172:
4028:
3593:
3341:
3336:
2948:
2393:
1542:
969:
690:
435:(InterSystems M) on VMS (M/VX), ISM-11 later M/11+ on the PDP-11 platform (1978), M/PC on MS-DOS, M/DG on
56:
52:
35:
1508:
1496:
4101:
3268:
1630:
364:
Versions of the MUMPS system were rewritten by technical leaders Dennis "Dan" Brevik and Paul Stylos of
312:
273:
1788:
1778:
1731:
585:
167:
2351:
2079:
4018:
3786:
3690:
2877:
1682:
269:
187:
47:
2724:
Journal of the Healthcare Information and Management Systems Society, Vol 11, No 3, pp 81–95 (1997).
1744:
with unprecedented precision. InterSystems is in the process of phasing out Caché in favor of Iris.
1625:
for its extension of DHCP into the Veterans Health Information Systems and Technology Architecture (
1285:
and late binding as well as effectively the operational equivalent of "pointers" in other languages.
3878:
3623:
3277:
2953:
2771:
2767:
2075:
1967:
1963:
262:
201:
MUMPS technology has since expanded as the predominant database for health information systems and
2204:
3745:
1622:
626:(using cygwin). Initially only for the x86 CPU, MUMPS V1 has now been ported to the Raspberry Pi.
320:
268:, and began using MUMPS in the admissions cycle and laboratory test reporting. MUMPS was then an
244:
539:
1549:
evaluates to 50). The operators for "less than or equal to" and "greater than or equal to" are
1236:
for i=10000:1:12345 set sqtable(i)=i*i set address("Smith","Daniel")="
3855:
3438:
2933:
2735:
2694:
2684:
2669:
2656:
2629:
2621:
2611:
2582:
2574:
2564:
2487:
2333:
1991:
1927:
1892:
1857:
1735:
1703:
1610:
829:
655:
One of the original creators of the MUMPS language, Neil Pappalardo, founded a company called
623:
358:
347:
308:
231:
72:
2488:"European Space Agency Chooses InterSystems Caché Database For Gaia Mission to Map Milky Way"
2033:
1165:
You can abbreviate nearly all commands and native functions to one, two, or three characters.
879:
Database interaction is transparently built into the language. The MUMPS language provides a
3893:
3578:
2789:
2759:
2654:
The Complete MUMPS: An Introduction and Reference Manual for the MUMPS Programming Language.
2645:
2067:
1955:
1919:
1884:
1849:
1808:
1420:
Set i="" For Set i=$ O(stuff(i)) Quit:i="" Write !,i,10,stuff(i)
962:
490:
461:
304:
289:
281:
134:
2508:
1273:
can be used, and effectively substitutes the contents of VBL into another MUMPS statement.
4187:
3801:
3229:
2702:
2637:
2590:
1714:
1282:
1082:
954:
551:
504:
227:
68:
63:
1047:
commands can be abbreviated to a single letter, this routine could be made more compact:
607:
were also made available under the AGPL license. GT.M continues to be available on other
595:) in the mid-1990s. On November 7, 2000, Sanchez made GT.M for Linux available under the
2831:
524:
On November 11, 1990, the third revision of the ANSI standard (X11.1-1990) was approved.
3898:
3765:
3759:
3319:
2793:
2763:
2604:
2071:
1959:
480:
210:
139:
1250:
small partition might be 32K). For other implementations, it may be several megabytes.
953:. By using only non-negative integer subscripts, the MUMPS programmer can emulate the
17:
4136:
3943:
3052:
2804:
2104:
2059:
2010:"HP NonStop Servers, Software Product Maintenance List, Effective Date: January 2012"
1853:
1718:
1657:
1210:
998:
957:
data type from other languages. Although MUMPS does not natively offer a full set of
2254:
994:
of database update transactions are all required of standard MUMPS implementations.
3938:
3834:
3781:
3680:
3104:
2943:
2513:
2440:
1647:
928:
could have a nested variable subscript of "Color" for example. Thus, you could say
887:
749:
436:
428:
390:
316:
2141:
1112:
None. All variables are dynamically created at the first time a value is assigned.
734:
As of 2020, the ISO still mentions both M and MUMPS as officially accepted names.
300:. The MUMPS team chose to include portability between machines as a design goal.
198:
for managing patient medical records and hospital laboratory information systems.
2837:
IDEA Systems' technology solutions based on YottaDB (formerly FIS GT.M) and Caché
968:
Additionally, there are built-in operators which treat a delimited string (e.g.,
3403:
3398:
3393:
3387:
3383:
3376:
3371:
3366:
3235:
3178:
2821:
2162:
1888:
1687:
1661:
1341:
1328:
1237:
672:
652:) and students' project. Dr. O'Kane has also ported the interpreter to Mac OS X.
124:
2785:
2667:
Object-Oriented Application Development Using the Caché Postrelational Database
3996:
3771:
3012:
1826:
1677:
1665:
1512:
873:
868:
Abbreviation was a common feature of languages designed in this period (e.g.,
604:
442:
Greystone Technology Corporation founded 1980, with a compiled version called
332:
297:
2826:
2698:
2108:(Press release). 8 November 2000. Archived from the original on 28 April 2004
3969:
3873:
3844:
3730:
3424:
3419:
3358:
3223:
3109:
2706:
2633:
2586:
2337:
1995:
1741:
1305:." The piece function can also appear as an assignment (SET command) target.
1078:
1059:' after the text generates a newline. This code would return to the prompt.
414:
2594:
2205:"ISO/IEC 11756:1999(en) Information technology — Programming languages — M"
1861:
1452:
For iterating the database, the Order function returns the next key to use.
475:
on 6800, then 6809, and eventually a port to the 68000, which later became
409:(Digital Standard MUMPS). For the PDP-11 series DSM-11 was released 1977.
213:, allowing direct, high-speed read-write access to permanent disk storage.
2817:
2641:
1931:
1896:
562:
558:
547:
535:
as an alternative name for the language was approved around the same time.
3980:
3720:
3715:
3675:
3454:
3314:
3296:
3291:
2100:"Sanchez Offers GT.M Database as Open Source Freeware to GNU/Linux Users"
1652:
869:
808:
656:
619:
369:
355:
2846:
2466:
1507:
Please help rewrite or integrate negative information to other sections
182:("Massachusetts General Hospital Utility Multi-Programming System"), or
4033:
3918:
3868:
3863:
3814:
3700:
3660:
3655:
3603:
3002:
2992:
697: in this section. Unsourced material may be challenged and removed.
600:
468:
324:
293:
2561:
ABCs of MUMPS: An Introduction for Novice and Intermediate Programmers
4066:
3986:
3974:
3839:
3670:
3665:
3638:
3633:
3608:
3550:
3069:
3037:
2921:
2373:"Mission-critical Ajax: Making Test Ordering Easier and Faster at Qu"
1923:
1467:
1206:
1085:
to string, integer, or floating-point data types as context requires.
563:
ISO/IEC 15852:1999, MUMPS Windowing Application Programmers Interface
508:
351:
339:
239:
30:
This article is about the programming language. For the disease, see
2842:
MUMPS documentation, topics, and resources (mixed Czech and English)
2967:
2414:
2299:
1281:
performs the subroutine named REPORT. This substitution allows for
919:
in MUMPS terminology). Subscripts are not limited to numerals—any
4083:
4078:
4051:
4043:
4013:
3991:
3964:
3908:
3903:
3819:
3705:
3628:
3613:
3588:
3568:
3562:
3556:
3544:
3539:
3534:
3528:
3523:
3518:
3512:
3507:
3502:
3497:
3492:
3487:
3482:
3476:
2977:
2938:
2916:
2183:
2015:. Hewlett-Packard Development Company, L.P. 2012-01-20. p. 32
1629:). Nearly the entire VA hospital system in the United States, the
1626:
920:
615:
343:
303:
An advanced feature of the MUMPS language not widely supported in
265:
258:
31:
1367:
Set stuff(6)="xyz",stuff(10)=26,stuff(15)=""
645:
456:
Micronetics Design Corporation (1980) with a product line called
3948:
3933:
3928:
3923:
3618:
3471:
3466:
3460:
3448:
3348:
3329:
3324:
3059:
2836:
2811:
2731:
Proceedings of the American Medical Informatics Association 1997
2625:
2578:
1783:
1640:
hospital system use MUMPS databases for clinical data tracking.
911:
All variable names which are not prefixed with caret character (
608:
443:
285:
251:
171:
151:
3182:
2850:
1605:
Veterans Affairs' patient Admission/Tracking/Discharge system,
940:. In MUMPS terms, "Color" is the 2nd subscript of the variable
493:
developed an implementation for their fault-tolerant computers.
3306:
3094:
3064:
1481:
1294:
932:
SET ^Car("Door","Color")="BLUE"
825:
753:
666:
496:
393:
sold ISM-11 for the PDP-11 (which was identical to DSM-11).
2734:
O'Kane, K.C., The Mumps Programming Language, Createspace,
2715:
A language for implementing information retrieval software,
638:
209:
A unique feature of the MUMPS technology is its integrated
1589:) and aliases each of the variables they wish to protect (
1474:), which can allow you to access data on remote machines.
807:, though modern implementations may be fully or partially
663:
New on the market since 2022 is MiniM from Eugene Karataev
538:
On December 8, 1995, the fourth revision of the standard (
2841:
2534:
2330:
The University of Texas Health Science Center at Dallas
777:
580:
line, branding them, on several hardware platforms, as
2683:(in European Spanish) (1st ed.). Barcelona: PPU.
2394:"Sunquest acquires Antrim Corp. - Free Online Library"
338:
Dan Brevik's DEC MUMPS-15 system was adapted to a DEC
2415:"Welcome to M21 -- the database for the 21st Century"
584:. In 1997, InterSystems launched a new product named
637:
is offered from the Real Software Company of Rugby,
449:
DataTree Inc. with an Intel PC-based product called
3957:
3853:
3800:
3744:
3689:
3577:
3437:
3412:
3357:
3305:
3276:
3260:
3216:
2326:
Software maintainability metrics for MUMPS programs
1643:Other healthcare IT companies using MUMPS include:
1440:
941:
937:
925:
912:
891:
234:, and Curt Marble in Dr. Octo Barnett's lab at the
157:
145:
133:
123:
100:
78:
62:
46:
2603:
824:multiple users, who could connect to it from (non-
107:ANSI X11.1-1995 / December 8, 1995
2255:"Extreme Database programming with MUMPS Globals"
1541:. All operators have the same precedence and are
464:, VAX/VMS platforms and OpenVMS Alpha platforms.
439:, M/VM on IBM VM/CMS, and M/UX on various Unixes.
2722:A case study of a Mumps intranet patient record,
467:Computer Consultants (later renamed MGlobal), a
2756:"M Technology and MUMPS Language FAQ, Part 1/2"
2717:Online Review, Vol 16, No 3, pp 127–137 (1992).
1952:"M Technology and MUMPS Language FAQ, Part 1/2"
1609:(DHCP) was the recipient of the Computerworld
527:In 1992 the same standard was also adopted as
261:. Octo Barnett and Neil Pappalardo obtained a
3194:
2862:
2754:Trask, Gardner; Diamond, Jon (6 April 1999).
1950:Trask, Gardner; Diamond, Jon (6 April 1999).
8:
2814:by Kevin O'Kane, University of Northern Iowa
2812:Mumps Programming Language Interpreter (GPL)
2467:"IDEA Turn-Key banking and ERP applications"
41:
2230:"Trademark Status & Document Retrieval"
1807:Tweed, Rob; James, George (2 August 2008).
1702:Many reference laboratories, such as DASA,
1132:command is "the remainder of current line."
648:, by Dr. Kevin O'Kane (Professor Emeritus,
559:ISO/IEC 15851:1999, Open MUMPS Interconnect
323:was increasingly common in systems such as
4198:Programming languages with an ISO standard
3273:
3251:
3201:
3187:
3179:
3135:
2869:
2855:
2847:
1301:means the "third caret-separated piece of
1104:yields 1 if a is less than b, 0 otherwise.
599:license and on October 28, 2005, GT.M for
499:briefly sold a MUMPS implementation named
190:with an integrated transaction processing
40:
2300:"The Annotated M[UMPS] Standards"
2279:"The Annotated M[UMPS] Standards"
713:Learn how and when to remove this message
460:MSM-PC, MSM/386, MS-UNIX, MSM-NT, MSM/VM
280:Some aspects of MUMPS can be traced from
2040:. Vol. XXI, no. 48. 1987-11-30
1557:(that is, the Boolean negation operator
483:-based product. They also worked on the
4163:Dynamically typed programming languages
2559:Walters, Richard F. (15 January 1989).
1990:. Digital Equipment Corporation. 1982.
1799:
1747:Other current implementations include:
1607:Decentralized Hospital Computer Program
1431:repeats until stopped by a terminating
949:numbers. In MUMPS terminology, this is
2679:Martinez de Carvajal, Ernesto (1993).
2119:
1817:from the original on 27 September 2021
1740:mission. This mission aims to map the
1153:sets A to "FOO" if N is less than 10;
811:. Individual "programs" run in memory
611:platforms under a traditional license.
4208:Programming languages created in 1966
2720:O'Kane, K.C.; and McColligan, E. E.,
2352:"SunQuest emerges from Misys' shadow"
1945:
1943:
1941:
1671:AmeriPath (part of Quest Diagnostics)
997:In contrast to languages in the C or
7:
4117:
3810:Digital Storage Systems Interconnect
2727:O'Kane, K.C.; and McColligan, E.E.,
2606:M Programming: A Comprehensive Guide
2602:Walters, Richard F. (19 June 1997).
1988:VAX-11 DSM Language Reference Manual
1810:"MUMPS: the Internet scale database"
1619:John F. Kennedy School of Government
1585:manually creates a new stack level (
1497:"criticism" or "controversy" section
695:adding citations to reliable sources
250:The original MUMPS system was, like
3884:Dynamically Redefined Character Set
2354:. Healthcare IT News. 13 March 2008
1205:are created dynamically, stored as
405:Digital Equipment Corporation with
4153:Data-centric programming languages
3830:Synchronous Backplane Interconnect
2729:A Web Based Mumps Virtual Machine,
2142:"GT.M High end TP database engine"
1042:and would be run with the command
1038:write "Hello, World!",!
471:-based company originally created
194:. It was originally developed at
25:
2665:Kirsten, Wolfgang, et al. (2003)
2105:Sanchez Computer Associates, Inc.
1537:is an error, and must be written
936:to modify a nested child node of
780:and remove advice or instruction.
4193:Persistent programming languages
4116:
4107:
4106:
4097:
4096:
3163:
3162:
3134:
2396:. Thefreelibrary.com. 1996-11-26
1486:
1022:command to create a code block.
758:
671:
446:for AIX, HP-UX, UNIX and OpenVMS
272:, yet even then, incorporated a
4024:Maintenance Operations Protocol
2610:(2nd ed.). Digital Press.
2563:(2nd ed.). Digital Press.
2436:"Caché-based Financial Systems"
2324:Richmond, Joseph Robin (1984).
1435:. This line prints a table of
682:needs additional citations for
542:) was approved by ANSI, and by
186:, is an imperative, high-level
4183:Massachusetts General Hospital
2375:. Slideshare.net. 5 April 2008
1615:Veterans Health Administration
1447:is successively 6, 10, and 15.
1351:and could be written as such).
1311:$ PIECE("world.std.com",".",2)
1279:SET SUBROU="REPORT" DO @SUBROU
1277:sets the variable ABC to 123.
1051:w "Hello, World!",!
738:Massachusetts General Hospital
254:a few years later, built on a
236:Massachusetts General Hospital
196:Massachusetts General Hospital
1:
4158:Digital Equipment Corporation
3914:Mass Storage Control Protocol
3210:Digital Equipment Corporation
2163:"MUMPS Database and Language"
1500:may compromise the article's
4004:Digital Federal Credit Union
3226:(founder and CEO, 1957–1992)
1854:10.1016/0010-4809(69)90012-3
1708:Sunquest Information Systems
1695:(formerly Misys Healthcare).
1693:Sunquest Information Systems
1472:SET ^|"DENVER"|A(1000)="Foo"
531:standard 11756–1992. Use of
4048:Sequence and Batch Language
4009:Dynamic debugging technique
2490:. Realwire.com. 13 May 2010
2186:. Rychannel.com. 2012-11-08
2034:"Two versions of MUMPS out"
1889:10.1056/NEJM197002052820605
1070:Language features include:
650:University of Northern Iowa
382:MUMPS Development Committee
84:; 58 years ago
4224:
4143:MUMPS programming language
4039:Record Management Services
3825:Standard Disk Interconnect
3650:
2537:. yottadb.com. 24 May 2024
2281:. 71.174.62.16. 2011-11-29
1774:Profile Scripting Language
1275:SET XYZ="ABC" SET @XYZ=123
906:document-oriented database
747:
629:Released in April 2002 an
29:
4092:
4073:The Ultimate Entrepreneur
3249:
3130:
2907:
2884:
2126:: CS1 maint: unfit URL (
1633:, and major parts of the
1338:SET $ P(X,"@",1)="office"
1297:will find this familiar.
203:electronic health records
162:
150:
119:
96:
3736:DIGITAL Command Language
1734:database to support the
1457:
1427:Here, the argument-less
1418:
1365:
1325:
1299:$ PIECE(STRINGVAR,"^",3)
1234:
1193:
1178:
1049:
1036:
930:
4062:Systems Research Center
4057:System Reference Manual
2827:M Links at Hardhats.org
2260:. Gradvs1.mjgateway.com
1569:respectively. Periods (
1077:There is one universal
1032:"Hello, World!" program
872:, early BASICs such as
830:video display terminals
226:MUMPS was developed by
4029:On-line Debugging Tool
1081:, which is implicitly
970:comma-separated values
926:^Car("Door")
36:Mumps (disambiguation)
34:. For other uses, see
18:Digital Standard MUMPS
2878:Programming languages
1635:Department of Defense
1631:Indian Health Service
1155:DO:N>100 PRINTERR,
1026:Hello, World! example
881:hierarchical database
274:hierarchical database
222:1960s-1970s - Genesis
4019:Local Area Transport
3777:National Replacement
1760:Reference Standard M
1683:Coventry Health Care
1360:address of a value.)
1340:causes X to become "
778:rewrite this section
691:improve this article
270:interpreted language
188:programming language
27:Programming language
4203:Scripting languages
3879:Digital Linear Tape
3238:(VP of engineering)
2742:, 120 pages (2010).
2509:"InterSystems Iris"
1151:SET:N<10 A="FOO"
1034:in MUMPS might be:
981:IF 20<"30 DUCKS"
321:mainframe computers
263:backward compatible
79:First appeared
43:
4168:Health informatics
4102:Computers template
2122:cite press release
2064:"DSM Announcement"
2062:(2 January 1995).
2058:Grabscheid, Paul;
1789:InterSystems Caché
1779:Caché ObjectScript
1732:InterSystems Caché
1623:Harvard University
1509:through discussion
1407:$ Order(stuff(15))
1399:$ Order(stuff(10))
1375:$ Order(stuff(""))
1269:in many contexts,
1225:(deprecated), and
901:unscoped variables
839:(exit program) as
633:derivative called
192:key–value database
168:Caché ObjectScript
4130:
4129:
3433:
3432:
3176:
3175:
3158:Non-English-based
2786:"comp.lang.mumps"
2681:El Lenguaje MUMPS
2652:Lewkowicz, John.
2617:978-1-55558-167-1
2535:"YottaDB website"
2165:. Sourceforge.net
2144:. Sourceforge.net
1842:Comput Biomed Res
1704:Quest Diagnostics
1611:Smithsonian Award
1530:
1529:
1391:$ Order(stuff(8))
1383:$ Order(stuff(6))
1347:is equivalent to
795:
794:
771:a manual or guide
723:
722:
715:
552:published by ANSI
550:, which was also
417:in two variants:
378:MUMPS Users Group
359:PC12 minicomputer
348:Data General Nova
309:computer hardware
305:operating systems
232:Robert A. Greenes
211:database language
177:
176:
125:Typing discipline
73:Robert A. Greenes
16:(Redirected from
4215:
4120:
4119:
4110:
4109:
4100:
4099:
3894:Flip-Chip module
3787:Special Graphics
3274:
3255:
3244:(CEO, 1992–1998)
3203:
3196:
3189:
3180:
3166:
3165:
3138:
3137:
2871:
2864:
2857:
2848:
2808:
2802:
2800:
2781:
2779:
2777:
2710:
2649:
2646:Internet Archive
2609:
2598:
2546:
2545:
2543:
2542:
2531:
2525:
2524:
2522:
2521:
2505:
2499:
2498:
2496:
2495:
2484:
2478:
2477:
2475:
2474:
2463:
2457:
2456:
2454:
2453:
2444:. Archived from
2432:
2426:
2425:
2423:
2422:
2411:
2405:
2404:
2402:
2401:
2390:
2384:
2383:
2381:
2380:
2369:
2363:
2362:
2360:
2359:
2348:
2342:
2341:
2321:
2315:
2314:
2312:
2310:
2296:
2290:
2289:
2287:
2286:
2275:
2269:
2268:
2266:
2265:
2259:
2251:
2245:
2244:
2242:
2240:
2226:
2220:
2219:
2217:
2216:
2201:
2195:
2194:
2192:
2191:
2180:
2174:
2173:
2171:
2170:
2159:
2153:
2152:
2150:
2149:
2138:
2132:
2131:
2125:
2117:
2115:
2113:
2096:
2090:
2089:
2087:
2085:
2055:
2049:
2048:
2046:
2045:
2030:
2024:
2023:
2021:
2020:
2014:
2006:
2000:
1999:
1984:
1978:
1977:
1975:
1973:
1947:
1936:
1935:
1924:10.1148/92.4.709
1907:
1901:
1900:
1872:
1866:
1865:
1837:
1831:
1830:
1824:
1822:
1812:
1804:
1592:
1588:
1576:
1572:
1568:
1564:
1560:
1556:
1552:
1548:
1543:left-associative
1540:
1536:
1525:
1522:
1516:
1490:
1489:
1482:
1473:
1446:
1442:
1438:
1434:
1430:
1412:
1408:
1404:
1400:
1396:
1392:
1388:
1384:
1380:
1376:
1350:
1346:
1339:
1316:
1312:
1304:
1300:
1280:
1276:
1272:
1260:
1228:
1224:
1220:
1216:
1156:
1152:
1146:Postconditionals
1137:Case sensitivity
1131:
1127:
1123:
1103:
1097:
1058:
1045:
1021:
1017:
1013:
1009:
1005:
986:
983:is evaluated as
982:
963:network database
943:
939:
927:
914:
893:
866:
862:
858:
854:
850:
846:
842:
838:
790:
787:
781:
769:is written like
762:
761:
754:
718:
711:
707:
704:
698:
675:
667:
491:Tandem Computers
282:RAND Corporation
114:
112:
92:
90:
85:
71:, Curt Marble,
64:Designed by
44:
21:
4223:
4222:
4218:
4217:
4216:
4214:
4213:
4212:
4148:Data processing
4133:
4132:
4131:
4126:
4088:
3953:
3849:
3796:
3756:(Multinational)
3740:
3692:
3685:
3580:
3573:
3440:
3429:
3408:
3353:
3301:
3267:
3263:
3262:Instruction set
3256:
3247:
3230:Harlan Anderson
3212:
3207:
3177:
3172:
3126:
2903:
2880:
2875:
2798:
2796:
2794:comp.lang.mumps
2784:
2775:
2773:
2764:comp.lang.mumps
2753:
2750:
2745:
2691:
2678:
2618:
2601:
2571:
2558:
2554:
2552:Further reading
2549:
2540:
2538:
2533:
2532:
2528:
2519:
2517:
2507:
2506:
2502:
2493:
2491:
2486:
2485:
2481:
2472:
2470:
2465:
2464:
2460:
2451:
2449:
2434:
2433:
2429:
2420:
2418:
2413:
2412:
2408:
2399:
2397:
2392:
2391:
2387:
2378:
2376:
2371:
2370:
2366:
2357:
2355:
2350:
2349:
2345:
2323:
2322:
2318:
2308:
2306:
2298:
2297:
2293:
2284:
2282:
2277:
2276:
2272:
2263:
2261:
2257:
2253:
2252:
2248:
2238:
2236:
2228:
2227:
2223:
2214:
2212:
2203:
2202:
2198:
2189:
2187:
2182:
2181:
2177:
2168:
2166:
2161:
2160:
2156:
2147:
2145:
2140:
2139:
2135:
2118:
2111:
2109:
2098:
2097:
2093:
2083:
2081:
2072:comp.lang.mumps
2057:
2056:
2052:
2043:
2041:
2032:
2031:
2027:
2018:
2016:
2012:
2008:
2007:
2003:
1986:
1985:
1981:
1971:
1969:
1960:comp.lang.mumps
1949:
1948:
1939:
1909:
1908:
1904:
1874:
1873:
1869:
1848:(Oct): 469–85.
1839:
1838:
1834:
1820:
1818:
1806:
1805:
1801:
1797:
1770:
1727:
1725:Implementations
1715:Bank of England
1602:
1590:
1586:
1574:
1570:
1566:
1562:
1558:
1554:
1550:
1546:
1538:
1534:
1526:
1520:
1517:
1506:
1495:This article's
1491:
1487:
1480:
1471:
1462:
1461:
1444:
1436:
1432:
1428:
1422:
1421:
1410:
1406:
1402:
1398:
1394:
1390:
1386:
1382:
1378:
1374:
1369:
1368:
1348:
1344:
1337:
1332:
1331:
1314:
1310:
1302:
1298:
1283:lazy evaluation
1278:
1274:
1270:
1258:
1241:
1240:
1226:
1222:
1218:
1214:
1197:
1196:
1183:
1182:
1154:
1150:
1129:
1125:
1121:
1101:
1091:
1065:
1056:
1053:
1052:
1043:
1040:
1039:
1028:
1019:
1015:
1011:
1007:
1003:
984:
980:
951:canonical order
946:object-oriented
934:
933:
864:
860:
856:
852:
848:
844:
840:
836:
800:
791:
785:
782:
775:
763:
759:
752:
746:
728:
719:
708:
702:
699:
688:
676:
572:
521:
505:virtual machine
503:which ran as a
419:DSM for OpenVMS
399:
311:of the era was
228:Neil Pappalardo
224:
219:
115:
110:
108:
88:
86:
83:
69:Neil Pappalardo
39:
28:
23:
22:
15:
12:
11:
5:
4221:
4219:
4211:
4210:
4205:
4200:
4195:
4190:
4185:
4180:
4175:
4170:
4165:
4160:
4155:
4150:
4145:
4135:
4134:
4128:
4127:
4125:
4124:
4114:
4104:
4093:
4090:
4089:
4087:
4086:
4081:
4076:
4069:
4064:
4059:
4054:
4049:
4046:
4041:
4036:
4031:
4026:
4021:
4016:
4011:
4006:
4001:
4000:
3999:
3989:
3984:
3977:
3972:
3967:
3961:
3959:
3958:Related topics
3955:
3954:
3952:
3951:
3946:
3941:
3936:
3931:
3926:
3921:
3916:
3911:
3906:
3901:
3896:
3891:
3886:
3881:
3876:
3871:
3866:
3860:
3858:
3851:
3850:
3848:
3847:
3842:
3837:
3832:
3827:
3822:
3817:
3812:
3806:
3804:
3798:
3797:
3795:
3794:
3789:
3784:
3779:
3774:
3769:
3766:Code page 1288
3763:
3760:Code page 1287
3757:
3754:Code page 1100
3750:
3748:
3746:Character sets
3742:
3741:
3739:
3738:
3733:
3728:
3723:
3718:
3713:
3708:
3703:
3697:
3695:
3687:
3686:
3684:
3683:
3678:
3673:
3668:
3663:
3658:
3653:
3648:
3647:
3646:
3636:
3631:
3626:
3621:
3616:
3611:
3606:
3601:
3596:
3591:
3585:
3583:
3575:
3574:
3572:
3571:
3566:
3560:
3554:
3548:
3542:
3537:
3532:
3526:
3521:
3516:
3510:
3505:
3500:
3495:
3490:
3485:
3480:
3474:
3469:
3464:
3458:
3452:
3445:
3443:
3435:
3434:
3431:
3430:
3428:
3427:
3422:
3416:
3414:
3410:
3409:
3407:
3406:
3401:
3396:
3391:
3381:
3380:
3379:
3374:
3363:
3361:
3355:
3354:
3352:
3351:
3346:
3345:
3344:
3334:
3333:
3332:
3322:
3320:MicroVAX 78032
3317:
3311:
3309:
3303:
3302:
3300:
3299:
3294:
3289:
3286:
3282:
3280:
3271:
3258:
3257:
3250:
3248:
3246:
3245:
3239:
3233:
3227:
3220:
3218:
3214:
3213:
3208:
3206:
3205:
3198:
3191:
3183:
3174:
3173:
3171:
3170:
3160:
3155:
3150:
3145:
3131:
3128:
3127:
3125:
3124:
3117:
3112:
3107:
3102:
3097:
3092:
3087:
3082:
3077:
3072:
3067:
3062:
3057:
3056:
3055:
3045:
3040:
3035:
3030:
3025:
3020:
3015:
3010:
3005:
3000:
2995:
2990:
2985:
2980:
2975:
2970:
2965:
2960:
2959:
2958:
2957:
2956:
2951:
2936:
2931:
2926:
2925:
2924:
2914:
2908:
2905:
2904:
2902:
2901:
2896:
2891:
2885:
2882:
2881:
2876:
2874:
2873:
2866:
2859:
2851:
2845:
2844:
2839:
2834:
2829:
2824:
2815:
2809:
2782:
2749:
2748:External links
2746:
2744:
2743:
2732:
2725:
2718:
2713:O'Kane, K.C.;
2711:
2690:978-8447701254
2689:
2676:
2663:
2650:
2616:
2599:
2570:978-1555580179
2569:
2555:
2553:
2550:
2548:
2547:
2526:
2500:
2479:
2458:
2427:
2406:
2385:
2364:
2343:
2316:
2291:
2270:
2246:
2234:tsdr.uspto.gov
2221:
2196:
2175:
2154:
2133:
2091:
2050:
2025:
2001:
1979:
1937:
1902:
1867:
1832:
1798:
1796:
1793:
1792:
1791:
1786:
1781:
1776:
1769:
1766:
1765:
1764:
1761:
1758:
1755:
1752:
1726:
1723:
1700:
1699:
1696:
1690:
1685:
1680:
1675:
1672:
1669:
1655:
1650:
1601:
1598:
1528:
1527:
1494:
1492:
1485:
1479:
1476:
1464:
1463:
1458:
1454:
1453:
1449:
1448:
1424:
1423:
1419:
1415:
1414:
1371:
1370:
1366:
1362:
1361:
1357:
1356:Order function
1353:
1352:
1334:
1333:
1326:
1323:
1319:
1318:
1307:
1306:
1291:
1290:Piece function
1287:
1286:
1267:
1263:
1262:
1256:
1252:
1251:
1247:
1243:
1242:
1235:
1231:
1230:
1203:
1199:
1198:
1194:
1190:
1189:
1185:
1184:
1179:
1175:
1174:
1171:
1170:Reserved words
1167:
1166:
1163:
1159:
1158:
1147:
1143:
1142:
1138:
1134:
1133:
1118:
1114:
1113:
1110:
1106:
1105:
1098:
1087:
1086:
1075:
1064:
1061:
1050:
1037:
1027:
1024:
931:
799:
796:
793:
792:
766:
764:
757:
748:Main article:
745:
742:
727:
724:
721:
720:
679:
677:
670:
665:
664:
661:
653:
642:
627:
612:
589:
571:
568:
567:
566:
555:
548:ISO 11756:1999
536:
525:
520:
517:
513:
512:
494:
488:
465:
454:
447:
440:
426:
423:DSM for Ultrix
398:
395:
223:
220:
218:
215:
175:
174:
160:
159:
155:
154:
148:
147:
143:
142:
140:Cross-platform
137:
131:
130:
127:
121:
120:
117:
116:
106:
104:
102:Stable release
98:
97:
94:
93:
80:
76:
75:
66:
60:
59:
50:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
4220:
4209:
4206:
4204:
4201:
4199:
4196:
4194:
4191:
4189:
4186:
4184:
4181:
4179:
4178:ISO standards
4176:
4174:
4173:IEC standards
4171:
4169:
4166:
4164:
4161:
4159:
4156:
4154:
4151:
4149:
4146:
4144:
4141:
4140:
4138:
4123:
4115:
4113:
4105:
4103:
4095:
4094:
4091:
4085:
4082:
4080:
4077:
4075:
4074:
4070:
4068:
4065:
4063:
4060:
4058:
4055:
4053:
4050:
4047:
4045:
4042:
4040:
4037:
4035:
4032:
4030:
4027:
4025:
4022:
4020:
4017:
4015:
4012:
4010:
4007:
4005:
4002:
3998:
3995:
3994:
3993:
3990:
3988:
3985:
3983:
3982:
3978:
3976:
3973:
3971:
3968:
3966:
3963:
3962:
3960:
3956:
3950:
3947:
3945:
3944:System Module
3942:
3940:
3937:
3935:
3932:
3930:
3927:
3925:
3922:
3920:
3917:
3915:
3912:
3910:
3907:
3905:
3902:
3900:
3897:
3895:
3892:
3890:
3887:
3885:
3882:
3880:
3877:
3875:
3872:
3870:
3867:
3865:
3862:
3861:
3859:
3857:
3852:
3846:
3843:
3841:
3838:
3836:
3833:
3831:
3828:
3826:
3823:
3821:
3818:
3816:
3813:
3811:
3808:
3807:
3805:
3803:
3802:Bus standards
3799:
3793:
3790:
3788:
3785:
3783:
3780:
3778:
3775:
3773:
3770:
3767:
3764:
3761:
3758:
3755:
3752:
3751:
3749:
3747:
3743:
3737:
3734:
3732:
3729:
3727:
3724:
3722:
3719:
3717:
3714:
3712:
3709:
3707:
3704:
3702:
3699:
3698:
3696:
3694:
3688:
3682:
3679:
3677:
3674:
3672:
3669:
3667:
3664:
3662:
3659:
3657:
3654:
3652:
3649:
3645:
3642:
3641:
3640:
3637:
3635:
3632:
3630:
3627:
3625:
3622:
3620:
3617:
3615:
3612:
3610:
3607:
3605:
3602:
3600:
3597:
3595:
3592:
3590:
3587:
3586:
3584:
3582:
3576:
3570:
3567:
3564:
3561:
3558:
3555:
3552:
3549:
3546:
3543:
3541:
3538:
3536:
3533:
3530:
3527:
3525:
3522:
3520:
3517:
3514:
3511:
3509:
3506:
3504:
3501:
3499:
3496:
3494:
3491:
3489:
3486:
3484:
3481:
3478:
3475:
3473:
3470:
3468:
3465:
3462:
3459:
3456:
3453:
3450:
3447:
3446:
3444:
3442:
3436:
3426:
3423:
3421:
3418:
3417:
3415:
3411:
3405:
3402:
3400:
3397:
3395:
3392:
3389:
3385:
3382:
3378:
3375:
3373:
3370:
3369:
3368:
3365:
3364:
3362:
3360:
3356:
3350:
3347:
3343:
3340:
3339:
3338:
3335:
3331:
3328:
3327:
3326:
3323:
3321:
3318:
3316:
3313:
3312:
3310:
3308:
3304:
3298:
3295:
3293:
3290:
3287:
3284:
3283:
3281:
3279:
3275:
3272:
3270:
3265:
3264:architectures
3259:
3254:
3243:
3242:Robert Palmer
3240:
3237:
3234:
3231:
3228:
3225:
3222:
3221:
3219:
3215:
3211:
3204:
3199:
3197:
3192:
3190:
3185:
3184:
3181:
3169:
3161:
3159:
3156:
3154:
3151:
3149:
3146:
3144:
3141:
3133:
3132:
3129:
3123:
3122:
3118:
3116:
3113:
3111:
3108:
3106:
3103:
3101:
3098:
3096:
3093:
3091:
3088:
3086:
3083:
3081:
3078:
3076:
3073:
3071:
3068:
3066:
3063:
3061:
3058:
3054:
3053:Object Pascal
3051:
3050:
3049:
3046:
3044:
3041:
3039:
3036:
3034:
3031:
3029:
3026:
3024:
3021:
3019:
3016:
3014:
3011:
3009:
3006:
3004:
3001:
2999:
2996:
2994:
2991:
2989:
2986:
2984:
2981:
2979:
2976:
2974:
2971:
2969:
2966:
2964:
2961:
2955:
2952:
2950:
2947:
2946:
2945:
2942:
2941:
2940:
2937:
2935:
2932:
2930:
2927:
2923:
2920:
2919:
2918:
2915:
2913:
2910:
2909:
2906:
2900:
2897:
2895:
2892:
2890:
2887:
2886:
2883:
2879:
2872:
2867:
2865:
2860:
2858:
2853:
2852:
2849:
2843:
2840:
2838:
2835:
2833:
2830:
2828:
2825:
2823:
2819:
2816:
2813:
2810:
2806:
2805:Google Groups
2795:
2791:
2787:
2783:
2772:
2769:
2765:
2761:
2757:
2752:
2751:
2747:
2741:
2740:1-4382-4338-3
2737:
2733:
2730:
2726:
2723:
2719:
2716:
2712:
2708:
2704:
2700:
2696:
2692:
2686:
2682:
2677:
2675:
2674:3-540-00960-4
2671:
2668:
2664:
2662:
2661:0-13-162125-4
2658:
2655:
2651:
2647:
2643:
2639:
2635:
2631:
2627:
2623:
2619:
2613:
2608:
2607:
2600:
2596:
2592:
2588:
2584:
2580:
2576:
2572:
2566:
2562:
2557:
2556:
2551:
2536:
2530:
2527:
2516:
2515:
2510:
2504:
2501:
2489:
2483:
2480:
2468:
2462:
2459:
2448:on 2013-06-02
2447:
2443:
2442:
2437:
2431:
2428:
2416:
2410:
2407:
2395:
2389:
2386:
2374:
2368:
2365:
2353:
2347:
2344:
2339:
2335:
2331:
2327:
2320:
2317:
2305:
2301:
2295:
2292:
2280:
2274:
2271:
2256:
2250:
2247:
2235:
2231:
2225:
2222:
2210:
2206:
2200:
2197:
2185:
2179:
2176:
2164:
2158:
2155:
2143:
2137:
2134:
2129:
2123:
2107:
2106:
2101:
2095:
2092:
2080:
2077:
2073:
2069:
2065:
2061:
2054:
2051:
2039:
2038:Computerworld
2035:
2029:
2026:
2011:
2005:
2002:
1997:
1993:
1989:
1983:
1980:
1968:
1965:
1961:
1957:
1953:
1946:
1944:
1942:
1938:
1933:
1929:
1925:
1921:
1918:(4): 709–13.
1917:
1913:
1906:
1903:
1898:
1894:
1890:
1886:
1883:(6): 307–15.
1882:
1878:
1871:
1868:
1863:
1859:
1855:
1851:
1847:
1843:
1836:
1833:
1828:
1816:
1811:
1803:
1800:
1794:
1790:
1787:
1785:
1782:
1780:
1777:
1775:
1772:
1771:
1767:
1762:
1759:
1756:
1753:
1750:
1749:
1748:
1745:
1743:
1739:
1738:
1733:
1724:
1722:
1720:
1719:Barclays Bank
1716:
1711:
1709:
1705:
1697:
1694:
1691:
1689:
1686:
1684:
1681:
1679:
1676:
1673:
1670:
1667:
1663:
1659:
1658:GE Healthcare
1656:
1654:
1651:
1649:
1646:
1645:
1644:
1641:
1639:
1636:
1632:
1628:
1624:
1620:
1616:
1612:
1608:
1599:
1597:
1594:
1583:
1578:
1544:
1524:
1521:February 2022
1514:
1510:
1504:
1503:
1498:
1493:
1484:
1483:
1477:
1475:
1469:
1456:
1455:
1451:
1450:
1426:
1425:
1417:
1416:
1373:
1372:
1364:
1363:
1358:
1355:
1354:
1343:" (note that
1342:
1336:
1335:
1329:
1324:
1321:
1320:
1309:
1308:
1296:
1292:
1289:
1288:
1284:
1268:
1265:
1264:
1257:
1255:Global arrays
1254:
1253:
1248:
1245:
1244:
1238:
1233:
1232:
1212:
1208:
1204:
1201:
1200:
1192:
1191:
1187:
1186:
1177:
1176:
1172:
1169:
1168:
1164:
1161:
1160:
1148:
1145:
1144:
1139:
1136:
1135:
1119:
1116:
1115:
1111:
1108:
1107:
1099:
1095:
1089:
1088:
1084:
1080:
1076:
1073:
1072:
1071:
1068:
1062:
1060:
1048:
1035:
1033:
1025:
1023:
1000:
995:
993:
988:
978:
973:
971:
966:
964:
960:
956:
952:
947:
929:
922:
918:
909:
907:
902:
897:
889:
888:sparse arrays
886:
882:
877:
875:
871:
833:
831:
827:
822:
818:
814:
810:
806:
797:
789:
786:February 2022
779:
774:
772:
767:This section
765:
756:
755:
751:
743:
741:
739:
735:
732:
725:
717:
714:
706:
696:
692:
686:
685:
680:This section
678:
674:
669:
668:
662:
658:
654:
651:
647:
643:
640:
636:
632:
628:
625:
621:
617:
613:
610:
606:
602:
598:
594:
590:
587:
583:
578:
575:By 1998, the
574:
573:
569:
564:
560:
556:
553:
549:
545:
541:
537:
534:
530:
526:
523:
522:
518:
516:
510:
506:
502:
498:
495:
492:
489:
486:
482:
478:
474:
470:
466:
463:
459:
455:
452:
448:
445:
441:
438:
434:
430:
427:
424:
420:
416:
412:
408:
404:
403:
402:
396:
394:
392:
387:
383:
379:
375:
371:
367:
362:
360:
357:
353:
349:
345:
341:
336:
334:
328:
326:
322:
318:
314:
310:
306:
301:
299:
295:
291:
287:
283:
278:
275:
271:
267:
264:
260:
257:
253:
248:
246:
241:
237:
233:
229:
221:
216:
214:
212:
207:
204:
199:
197:
193:
189:
185:
181:
173:
169:
165:
161:
156:
153:
149:
146:Influenced by
144:
141:
138:
136:
132:
128:
126:
122:
118:
105:
103:
99:
95:
81:
77:
74:
70:
67:
65:
61:
58:
54:
51:
49:
45:
37:
33:
19:
4071:
3979:
3939:Star coupler
3835:TURBOchannel
3725:
3681:Digital UNIX
3232:(co-founder)
3153:Generational
3143:Alphabetical
3139:
3119:
2944:Visual Basic
2803:– via
2797:. Retrieved
2774:. Retrieved
2728:
2721:
2714:
2680:
2666:
2653:
2644:– via
2605:
2560:
2539:. Retrieved
2529:
2518:. Retrieved
2514:InterSystems
2512:
2503:
2492:. Retrieved
2482:
2471:. Retrieved
2461:
2450:. Retrieved
2446:the original
2441:InterSystems
2439:
2430:
2419:. Retrieved
2417:. M21.uk.com
2409:
2398:. Retrieved
2388:
2377:. Retrieved
2367:
2356:. Retrieved
2346:
2325:
2319:
2307:. Retrieved
2304:71.174.62.16
2303:
2294:
2283:. Retrieved
2273:
2262:. Retrieved
2249:
2237:. Retrieved
2233:
2224:
2213:. Retrieved
2208:
2199:
2188:. Retrieved
2178:
2167:. Retrieved
2157:
2146:. Retrieved
2136:
2110:. Retrieved
2103:
2094:
2082:. Retrieved
2060:Ragon, Terry
2053:
2042:. Retrieved
2037:
2028:
2017:. Retrieved
2004:
1987:
1982:
1970:. Retrieved
1915:
1911:
1905:
1880:
1877:N Engl J Med
1876:
1870:
1845:
1841:
1835:
1825:– via
1819:. Retrieved
1802:
1746:
1736:
1728:
1712:
1701:
1674:Care Centric
1642:
1603:
1595:
1579:
1531:
1518:
1499:
1465:
1327:SET X="
1246:Local arrays
1162:Abbreviation
1109:Declarations
1093:
1069:
1066:
1054:
1041:
1029:
996:
989:
976:
974:
967:
950:
935:
916:
910:
895:
878:
834:
820:
816:
813:"partitions"
801:
783:
776:Please help
768:
750:MUMPS syntax
736:
733:
729:
709:
703:October 2018
700:
689:Please help
684:verification
681:
634:
630:
581:
532:
514:
500:
484:
476:
472:
457:
450:
437:Data General
432:
429:InterSystems
422:
418:
410:
406:
400:
391:InterSystems
381:
377:
363:
337:
329:
317:time-sharing
313:multitasking
302:
279:
249:
225:
208:
200:
183:
179:
178:
3691:Programming
3404:Alpha 21464
3399:Alpha 21364
3394:Alpha 21264
3384:Alpha 21164
3367:Alpha 21064
3236:Gordon Bell
3148:Categorical
2822:SourceForge
2309:26 February
2239:26 February
2209:www.iso.org
2184:"Mumps/Mii"
1710:) in 2001.
1688:EMIS Health
1662:IDX Systems
1266:Indirection
1094:truthvalues
883:made up of
865:$ Translate
805:interpreted
546:in 1999 as
350:and on DEC
315:. Although
4137:Categories
3997:HP-Interex
3420:MicroPRISM
3269:processors
3217:Key people
3013:JavaScript
2889:Comparison
2799:25 October
2776:25 October
2541:2023-05-24
2520:2021-03-18
2494:2013-08-13
2473:2013-08-13
2452:2013-08-13
2421:2013-08-13
2400:2013-08-12
2379:2013-08-12
2358:2013-08-12
2285:2013-08-12
2264:2013-08-13
2215:2024-04-18
2190:2013-08-12
2169:2013-08-12
2148:2013-08-12
2084:25 October
2044:2022-07-09
2019:2014-05-17
1972:25 October
1827:SlideShare
1821:25 October
1795:References
1678:Allscripts
1666:Centricity
1660:(formerly
1502:neutrality
1259:^abc, ^def
1074:Data types
987:in MUMPS.
965:features.
917:subscripts
885:persistent
874:Tiny BASIC
851:function,
605:Tru64 UNIX
577:middleware
540:X11.1-1995
507:on top of
333:C language
298:STRINGCOMP
245:skunkworks
243:internal "
158:Influenced
111:1995-12-08
57:procedural
53:Imperative
3970:AltaVista
3874:DECwriter
3845:VAXBI bus
3792:Technical
3768:(Turkish)
3731:VAX MACRO
3693:languages
3579:Operating
3461:VT50/VT52
3441:terminals
3425:StrongARM
3224:Ken Olsen
3110:Smalltalk
2790:Newsgroup
2760:Newsgroup
2707:40214570M
2699:435380102
2469:. Idea.cz
2112:12 August
2068:Newsgroup
1956:Newsgroup
1912:Radiology
1742:Milky Way
1591:. new x,y
1513:talk page
1478:Criticism
1303:STRINGVAR
1096:in MUMPS)
1090:Booleans
1079:data type
1044:do ^hello
1030:A simple
992:atomicity
859:command,
826:graphical
660:MEDITECH.
421:, and as
238:(MGH) in
4112:Category
3981:CPU Wars
3899:Gold key
3856:hardware
3782:RADIX 50
3721:MACRO-11
3716:MACRO-10
3439:Computer
3168:Category
2934:Assembly
2894:Timeline
2634:78593848
2626:97006513
2595:2055247M
2587:18989618
2579:88033522
2338:13285529
1996:29217964
1862:11697375
1815:Archived
1768:See also
1698:Netsmart
1653:MEDITECH
1441:stuff(i)
1092:(called
1063:Features
870:FOCAL-69
809:compiled
798:Overview
657:MEDITECH
646:Mumps/II
620:Mac OS X
501:MUMPS/VM
477:MacMUMPS
453:. (1982)
370:MEDITECH
356:Artronix
354:and the
288:through
129:Typeless
48:Paradigm
4122:Commons
4034:PALcode
3919:PALcode
3889:Firefly
3869:DECtape
3864:DECtalk
3815:Massbus
3762:(Greek)
3701:BASIC-8
3661:VAX/VMS
3656:TOPS-20
3604:TOPS-10
3581:systems
3388:21164PC
3121:more...
3100:Scratch
3003:Haskell
2993:Fortran
2949:classic
2899:History
2792::
2768:Usenet:
2762::
2642:661091M
2328:(PhD).
2076:Usenet:
2070::
1964:Usenet:
1958::
1932:5767748
1897:5410816
1754:YottaDB
1582:scoping
1511:on the
1409:yields
1401:yields
1393:yields
1385:yields
1377:yields
1349:$ PIECE
1330:"
1313:yields
1239:"
1227:$ QUERY
1219:$ ORDER
1207:B-trees
1141:labels.
1083:coerced
977:coerced
896:Globals
849:$ Piece
624:Windows
601:OpenVMS
469:Houston
411:VAX DSM
325:Multics
294:TELCOMP
217:History
109: (
87: (
4188:PDP-11
4067:TD/SMP
3987:DECnet
3975:Compaq
3854:Other
3840:Unibus
3772:Hebrew
3671:Ultrix
3666:VAXELN
3651:DSM-11
3639:RSX-11
3634:RSTS/E
3624:DOS-11
3609:RSX-15
3594:4K DMS
3589:DECsys
3565:(1994)
3559:(1993)
3553:(1990)
3551:VT1000
3547:(1990)
3531:(1987)
3515:(1983)
3479:(1978)
3463:(1975)
3457:(1972)
3451:(1970)
3342:Mariah
3285:LSI-11
3278:PDP-11
3140:Lists:
3075:Python
3070:Prolog
3048:Pascal
3038:MATLAB
3023:Kotlin
2983:Erlang
2922:Simula
2770:
2738:
2705:
2697:
2687:
2672:
2659:
2640:
2632:
2624:
2614:
2593:
2585:
2577:
2567:
2336:
2211:. 2020
2078:
1994:
1966:
1930:
1895:
1860:
1580:MUMPS
1575:$ test
1547:2+3*10
1468:MS-DOS
1443:where
1223:$ NEXT
1215:$ DATA
1211:sparse
1209:, are
1202:Arrays
1128:, and
1102:a<b
955:arrays
744:Design
622:, and
509:VM/370
481:Mac OS
462:fo IBM
352:PDP-11
346:, the
340:PDP-15
307:or in
240:Boston
4084:WPS-8
4079:VT640
4052:Sixel
4044:ReGIS
4014:FX!32
3992:DECUS
3965:AdvFS
3909:LK421
3904:LK201
3820:Q-Bus
3726:MUMPS
3711:FOCAL
3706:DIBOL
3629:RT-11
3614:TSS/8
3569:VT525
3563:VT520
3557:VT510
3545:VT420
3540:VT340
3535:VT330
3529:VT320
3524:VT241
3519:VT240
3513:VT220
3508:VT180
3503:VT131
3498:VT105
3493:VT103
3488:VT102
3483:VT101
3477:VT100
3413:Other
3377:21068
3372:21066
3359:Alpha
3337:Rigel
3115:Swift
3105:Shell
3018:Julia
2988:Forth
2978:COBOL
2939:BASIC
2917:ALGOL
2818:MUMPS
2258:(PDF)
2013:(PDF)
1763:FreeM
1757:MiniM
1627:VistA
1600:Users
1567:>=
1563:<=
1555:'<
1551:'>
1535:2 + 3
1322:After
1117:Lines
1055:The '
999:Wirth
921:ASCII
819:ulti-
616:Linux
586:Caché
582:OpenM
570:2000s
519:1990s
431:with
415:Alpha
397:1980s
344:PDP-8
266:PDP-9
259:PDP-7
180:MUMPS
42:MUMPS
32:Mumps
3949:TU81
3934:RL02
3929:RK05
3924:RA90
3676:MICA
3619:OS/8
3472:VT62
3467:VT55
3455:GT40
3449:VT05
3349:NVAX
3325:CVAX
3315:V-11
3297:J-11
3292:T-11
3288:F-11
3090:Rust
3085:Ruby
3060:Perl
3028:Lisp
3008:Java
2954:.NET
2801:2022
2778:2022
2736:ISBN
2695:OCLC
2685:ISBN
2670:ISBN
2657:ISBN
2630:OCLC
2622:LCCN
2612:ISBN
2583:OCLC
2575:LCCN
2565:ISBN
2334:OCLC
2311:2018
2241:2018
2128:link
2114:2013
2086:2022
1992:OCLC
1974:2022
1928:PMID
1893:PMID
1858:PMID
1823:2022
1784:GT.M
1737:Gaia
1717:and
1664:and
1648:Epic
1638:CHCS
1565:and
1553:and
1439:and
1433:Quit
1271:@VBL
1126:ELSE
1012:ELSE
1004:ELSE
985:TRUE
959:DBMS
942:^Car
938:^Car
861:$ TR
857:Read
837:Quit
726:Name
609:UNIX
603:and
561:and
479:, a
473:CCSM
458:MSM.
444:GT.M
386:ANSI
380:and
374:MIIS
296:and
286:JOSS
252:Unix
172:GT.M
152:JOSS
89:1966
82:1966
3644:IAS
3599:COS
3330:SOC
3307:VAX
3095:SQL
3065:PHP
3033:Lua
2968:C++
2929:APL
2912:Ada
2820:on
1920:doi
1885:doi
1881:282
1850:doi
1751:M21
1621:at
1539:2+3
1429:For
1345:$ P
1315:std
1295:awk
1130:FOR
1016:FOR
1014:or
845:$ P
693:by
635:M21
631:MSM
597:GPL
593:FIS
544:ISO
529:ISO
497:IBM
485:MGM
451:DTM
433:ISM
407:DSM
372:'s
366:DEC
319:on
292:'s
290:BBN
284:'s
256:DEC
164:PSL
4139::
3043:ML
2998:Go
2973:C#
2788:.
2766:.
2758:.
2703:OL
2701:.
2693:.
2638:OL
2636:.
2628:.
2620:.
2591:OL
2589:.
2581:.
2573:.
2511:.
2438:.
2332:.
2302:.
2232:.
2207:.
2124:}}
2120:{{
2102:.
2074:.
2066:.
2036:.
1962:.
1954:.
1940:^
1926:.
1916:92
1914:.
1891:.
1879:.
1856:.
1844:.
1813:.
1721:.
1587:do
1577:.
1411:""
1405:,
1403:15
1397:,
1395:10
1389:,
1387:10
1381:,
1221:,
1217:,
1124:,
1122:IF
1057:,!
1020:DO
1010:,
1008:IF
908:.
863:=
855:=
847:=
843:,
832:.
828:)
639:UK
618:,
230:,
170:,
166:,
135:OS
55:,
3390:)
3386:(
3266:,
3202:e
3195:t
3188:v
3080:R
2963:C
2870:e
2863:t
2856:v
2807:.
2780:.
2709:.
2648:.
2597:.
2544:.
2523:.
2497:.
2476:.
2455:.
2424:.
2403:.
2382:.
2361:.
2340:.
2313:.
2288:.
2267:.
2243:.
2218:.
2193:.
2172:.
2151:.
2130:)
2116:.
2088:.
2047:.
2022:.
1998:.
1976:.
1934:.
1922::
1899:.
1887::
1864:.
1852::
1846:5
1829:.
1668:)
1571:.
1559:'
1545:(
1523:)
1519:(
1515:.
1505:.
1445:i
1437:i
1413:.
1379:6
1317:.
913:^
892:^
853:R
841:Q
821:P
817:M
788:)
784:(
773:.
716:)
710:(
705:)
701:(
687:.
641:.
565:.
533:M
511:.
425:.
184:M
113:)
91:)
38:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.