<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://vistapedia.com/index.php?action=history&amp;feed=atom&amp;title=Mumps_Class_2</id>
	<title>Mumps Class 2 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://vistapedia.com/index.php?action=history&amp;feed=atom&amp;title=Mumps_Class_2"/>
	<link rel="alternate" type="text/html" href="https://vistapedia.com/index.php?title=Mumps_Class_2&amp;action=history"/>
	<updated>2026-04-24T02:01:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://vistapedia.com/index.php?title=Mumps_Class_2&amp;diff=12242&amp;oldid=prev</id>
		<title>Shabiel at 13:42, 2 April 2011</title>
		<link rel="alternate" type="text/html" href="https://vistapedia.com/index.php?title=Mumps_Class_2&amp;diff=12242&amp;oldid=prev"/>
		<updated>2011-04-02T13:42:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre style=&amp;quot;padding:1em;border:1px dashed #2f6fab;color:black;background-color:#f9f9f9;line-height:1.1em&amp;quot;&amp;gt;&lt;br /&gt;
Using username &amp;quot;worldvistaEHR&amp;quot;.&lt;br /&gt;
Authenticating with public key &amp;quot;rsa-key-20101206&amp;quot;&lt;br /&gt;
Linux cassandra 2.6.26-1-686 #1 SMP Fri Mar 13 18:08:45 UTC 2009 i686&lt;br /&gt;
&lt;br /&gt;
The programs included with the Debian GNU/Linux system are free software;&lt;br /&gt;
the exact distribution terms for each program are described in the&lt;br /&gt;
individual files in /usr/share/doc/*/copyright.&lt;br /&gt;
&lt;br /&gt;
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent&lt;br /&gt;
permitted by applicable law.&lt;br /&gt;
Last login: Thu Jan  6 05:22:01 2011 from 192.168.56.1&lt;br /&gt;
worldvistaEHR@cassandra:~$ mumps -dir&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;zed &amp;quot;XUS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; All storage of variables are in strings&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Using operators and functions:&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Language interprets strings as:&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; 1. Number&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; 2. Boolean&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; 3. String&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;SET X=3 SET Y=4 SET Z=5&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE X SET A=5&lt;br /&gt;
3&lt;br /&gt;
GTM&amp;gt;WRITE A&lt;br /&gt;
5&lt;br /&gt;
GTM&amp;gt;SET X=3 SET Y=4 SET Z=5&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;SET X=3,Y=4,Z=5&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; , means repeat command&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;IF A,B,C&lt;br /&gt;
%GTM-E-UNDEF, Undefined local variable: B&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;IF X,Y,Z&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; equivalent to&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;IF X IF Y IF Z&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; All of Mumps is command argument command argument, except:&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; FOR, IF, ELSE&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; FOR, IF, ELSE scope is everything following them&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; or a procedure indicated by a DO.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;SET X=3 WRITE Y&lt;br /&gt;
4&lt;br /&gt;
GTM&amp;gt;SET P=0 IF P WRITE Y&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;SET P=1 IF P WRITE Y&lt;br /&gt;
4&lt;br /&gt;
GTM&amp;gt;; Opposite of IF is ELSE&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;SET P=1 IF P WRITE Y&lt;br /&gt;
4&lt;br /&gt;
GTM&amp;gt;SET P=0 IF P WRITE Y&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;ELSE WRITE Z&lt;br /&gt;
%GTM-E-SPOREOL, Either a space or an end-of-line was expected but not found&lt;br /&gt;
        ELSE WRITE Z&lt;br /&gt;
             ^-----&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;ELSE  WRITE Z&lt;br /&gt;
5&lt;br /&gt;
GTM&amp;gt;; Every Mumps command requires an argument&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; If command has no argument (e.g. Else) put two spaces&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; For command&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;FOR I=1:1:100 WRITE I,! QUIT:I=56&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
10&lt;br /&gt;
11&lt;br /&gt;
12&lt;br /&gt;
13&lt;br /&gt;
14&lt;br /&gt;
15&lt;br /&gt;
16&lt;br /&gt;
17&lt;br /&gt;
18&lt;br /&gt;
19&lt;br /&gt;
20&lt;br /&gt;
21&lt;br /&gt;
22&lt;br /&gt;
23&lt;br /&gt;
24&lt;br /&gt;
25&lt;br /&gt;
26&lt;br /&gt;
27&lt;br /&gt;
28&lt;br /&gt;
29&lt;br /&gt;
30&lt;br /&gt;
31&lt;br /&gt;
32&lt;br /&gt;
33&lt;br /&gt;
34&lt;br /&gt;
35&lt;br /&gt;
36&lt;br /&gt;
37&lt;br /&gt;
38&lt;br /&gt;
39&lt;br /&gt;
40&lt;br /&gt;
41&lt;br /&gt;
42&lt;br /&gt;
43&lt;br /&gt;
44&lt;br /&gt;
45&lt;br /&gt;
46&lt;br /&gt;
47&lt;br /&gt;
48&lt;br /&gt;
49&lt;br /&gt;
50&lt;br /&gt;
51&lt;br /&gt;
52&lt;br /&gt;
53&lt;br /&gt;
54&lt;br /&gt;
55&lt;br /&gt;
56&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; FOR executes arbitraty mumps commands; and QUIT stops a FOR loop.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Mumps Syntax: Command Argument Command Argument etc.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Arguments: Can be Literals&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE &amp;quot;HELLO&amp;quot;&lt;br /&gt;
HELLO&lt;br /&gt;
GTM&amp;gt;; Argument: Can be an expression:&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE 3+5&lt;br /&gt;
8&lt;br /&gt;
GTM&amp;gt;WRITE (2+3)=5&lt;br /&gt;
1&lt;br /&gt;
GTM&amp;gt;; = is a comparison Equal; like == in C.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Expressions can contain functions.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Wait a minute: what are functions??&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Functions in Mumps are divided into two categories:&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Intrinsic Functions (part of the Mumps Language)&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Extrinsic Functions (defined by the Programmer)&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Example of Intrinsic Functions:&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE $EXTRACT(&amp;quot;STRING&amp;quot;,1,2)&lt;br /&gt;
ST&lt;br /&gt;
GTM&amp;gt;WRITE $JUSTIFY(&amp;quot;STRING&amp;quot;,20)&lt;br /&gt;
              STRING&lt;br /&gt;
GTM&amp;gt;ZED &amp;quot;XLFSTR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Example of Extrinsic Functions&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE $$LO^XLFSTR(&amp;quot;STRING&amp;quot;)&lt;br /&gt;
%GTM-E-LABELMISSING, Label referenced but not defined: LO&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;ZED&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE $$LOW^XLFSTR(&amp;quot;STRING&amp;quot;)&lt;br /&gt;
string&lt;br /&gt;
GTM&amp;gt;; Instrinsic Functions have only one $&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Extrinsic Functions have 2 $$&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Extrnisic Functions are always part of a routine.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE $EXTRACT(&amp;quot;STRING&amp;quot;,1,2)&lt;br /&gt;
ST&lt;br /&gt;
GTM&amp;gt;write $extract(&amp;quot;STRING&amp;quot;,1,2)&lt;br /&gt;
ST&lt;br /&gt;
GTM&amp;gt;write $$low^xlfstr(&amp;quot;STRING&amp;quot;)&lt;br /&gt;
%GTM-E-ZLINKFILE, Error while zlinking &amp;quot;xlfstr&amp;quot;&lt;br /&gt;
%GTM-E-FILENOTFND, File xlfstr not found&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Intrinsic commands are not case sensitive&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Extrinsic, being user defined, are case sensitive.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Expressions&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Mumps syntax, really looks like this:&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Command expression command expression command expression&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;zed&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Abbreviation of Commands and Instrinsic Functions&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; WRITE = W&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; SET = S&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; $EXTRACT = $E&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE &amp;quot;HELLO&amp;quot;&lt;br /&gt;
HELLO&lt;br /&gt;
GTM&amp;gt;W &amp;quot;HELLO&amp;quot;&lt;br /&gt;
HELLO&lt;br /&gt;
GTM&amp;gt;WR &amp;quot;HELLO&amp;quot;&lt;br /&gt;
%GTM-E-INVCMD, Invalid command keyword encountered&lt;br /&gt;
        WR &amp;quot;HELLO&amp;quot;&lt;br /&gt;
        ^-----&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE $EXTRACT(&amp;quot;HELLO&amp;quot;,1,2)&lt;br /&gt;
HE&lt;br /&gt;
GTM&amp;gt;WRITE $E(&amp;quot;HELLO&amp;quot;,1,2)&lt;br /&gt;
HE&lt;br /&gt;
GTM&amp;gt;W $E(&amp;quot;HELLO&amp;quot;,1,2)&lt;br /&gt;
HE&lt;br /&gt;
GTM&amp;gt;; READ = R&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;R X&lt;br /&gt;
8&lt;br /&gt;
GTM&amp;gt;W X&lt;br /&gt;
8&lt;br /&gt;
GTM&amp;gt;; Mumps does not have reserved words in the language&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Why?&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Because it has a set syntax of command expression&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; If something is in the command section, it will be interpreted as a command&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; and vice versa&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;SET SET=1&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE SET&lt;br /&gt;
1&lt;br /&gt;
GTM&amp;gt;; Entering numbers vs entering strings&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;SET X=0033&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE X&lt;br /&gt;
33&lt;br /&gt;
GTM&amp;gt;SET X=&amp;quot;0033&amp;quot;&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE X&lt;br /&gt;
0033&lt;br /&gt;
GTM&amp;gt;SET X=987SSS&lt;br /&gt;
%GTM-E-SPOREOL, Either a space or an end-of-line was expected but not found&lt;br /&gt;
        SET X=987SSS&lt;br /&gt;
                 ^-----&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;SET X=1/4&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;W X&lt;br /&gt;
.25&lt;br /&gt;
GTM&amp;gt;S Y=0.333&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;W Y&lt;br /&gt;
.333&lt;br /&gt;
GTM&amp;gt;SET Y=&amp;quot;0.333&amp;quot;&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE Y&lt;br /&gt;
0.333&lt;br /&gt;
GTM&amp;gt;; Y is now a string&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Quick tip: To convert a string to number, use the + sign&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE Y&lt;br /&gt;
0.333&lt;br /&gt;
GTM&amp;gt;WRITE +Y&lt;br /&gt;
.333&lt;br /&gt;
GTM&amp;gt;; If you don&amp;#039;t use quotes in the expression, mumps will try to interpret your input as either:&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; 1. A number&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; 2. A variable&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; If you use quotes in the expression, mumps will interpret your input as a string.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; In either case, the end result is stored as a string in Mumps.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;SET Y=0.33&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;SET Y=X&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; X is a variable; Y is now equal to X.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Mumps Limits&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; 95 Standard:&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; - Strings can be 255 characters long&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; - Numbers up to 15 digits accurate&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; In reality:&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Cache: Strings 32000 characters long; GT.M: 1 million +&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; GT.M can take numbers more than 15 digits accurate.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Introducing... Exponential notation&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S X=3E5&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;W X&lt;br /&gt;
300000&lt;br /&gt;
GTM&amp;gt;S X=3E20&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;W X&lt;br /&gt;
300000000000000000000&lt;br /&gt;
GTM&amp;gt;S X=3E40&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;W X&lt;br /&gt;
30000000000000000000000000000000000000000&lt;br /&gt;
GTM&amp;gt;S X=3E60&lt;br /&gt;
%GTM-E-NUMOFLOW, Numeric overflow&lt;br /&gt;
        S X=3E60&lt;br /&gt;
           ^-----&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S X=3E50&lt;br /&gt;
%GTM-E-NUMOFLOW, Numeric overflow&lt;br /&gt;
        S X=3E50&lt;br /&gt;
           ^-----&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S X=3E45&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S X=3E46&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S X=3E47&lt;br /&gt;
%GTM-E-NUMOFLOW, Numeric overflow&lt;br /&gt;
        S X=3E47&lt;br /&gt;
           ^-----&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Subscript Length is 255 characters&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S X(1,2,3,4,5,6,7,8,9,&amp;quot;SAM&amp;quot;,&amp;quot;CAT&amp;quot;,2)=1&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;ZWRITE X&lt;br /&gt;
X=30000000000000000000000000000000000000000000000&lt;br /&gt;
X(1,2,3,4,5,6,7,8,9,&amp;quot;SAM&amp;quot;,&amp;quot;CAT&amp;quot;,2)=1&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;WRITE $D(X)&lt;br /&gt;
11&lt;br /&gt;
GTM&amp;gt;WRITE $D(X(2))&lt;br /&gt;
0&lt;br /&gt;
GTM&amp;gt;WRITE $D(X(1))&lt;br /&gt;
10&lt;br /&gt;
GTM&amp;gt;WRITE $D(X(1,2))&lt;br /&gt;
10&lt;br /&gt;
GTM&amp;gt;WRITE $D(X(1,3))&lt;br /&gt;
0&lt;br /&gt;
GTM&amp;gt;; Combined subscript lenggh is 255 characters.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Length of data in each global entry is 255 characters.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;W ^SAM&lt;br /&gt;
5&lt;br /&gt;
GTM&amp;gt;; Variables&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;SET X=234&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; X is a variable&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; In Mumps: Variables can be up to 16 characters long.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; First letter can be %&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; or [A-Za-z]&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; Rest of characters can be alphabet or numbers&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; What is a vaild variable name???&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S 3SX=1&lt;br /&gt;
%GTM-E-VAREXPECTED, Variable expected in this context&lt;br /&gt;
        S 3SX=1&lt;br /&gt;
          ^-----&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S DSLKJ=1&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S %HEESI=1&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S %3=1&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S X3=1&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S X%3=1&lt;br /&gt;
%GTM-E-EQUAL, Equal sign expected but not found&lt;br /&gt;
        S X%3=1&lt;br /&gt;
           ^-----&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; % must be in the first position&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;S YT33WW=1&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; %&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; %1 to %9 can be used by programmers for temporary variables&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;; other % variables shouldn&amp;#039;t be used unless you are writing utilities for VISTA.&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;zed &amp;quot;_DT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;zed &amp;quot;XUP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
GTM&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shabiel</name></author>
	</entry>
</feed>