Whereas MUMPS runs as an interpreter under various operating systems, MIIS booted on DEC PDP-11 systems as the operating system with no external file system or drivers. As an example of the differences between MUMPS and MIIS languages, the value of a logical expression in MUMPS may be false = zero or true = non-zero, canonically, one. In MIIS, the value false is "nil" (the
empty string) and the value true is a string consisting of the
ASCII delete character (code 127 decimal), and any string of length greater than zero is evaluated as logically true. In MUMPS, numbers are internally represented as integers, floating point, or exponential numbers. MIIS uses only strings and performs only basic integer arithmetic and comparisons. There is also a philosophical difference between the dialects. MIIS took the approach that code should continue execution regardless of undefined variables, whereas MUMPS is designed to throw an error. When encountering an undefined variable, MIIS treats it as nil. Several commands differ between the two as well as some syntax. MIIS uses @ to dereference "namespaces". MUMPS uses @ as the "indirection" operator. ==Language constructs==