Unix MUMPS, undertaken in 1984 – prior to the founding of PFCS, is one of the original Unix projects initiated by founder Harlan Stenn.


MUMPS is a powerful string manipulation language with an embedded database. It is best suited for applications that store and access large, random databases and capable of providing arbitrary precision arithmetic, unlimited subscript, data, and variable storage. PFCS’ Unix MUMPS is a high-performance, well-integrated MUMPS implementation for Unix that exceeds the ANSI X11.1-1990 MUMPS Standard.

Industry- and task-relevant applications of Unix MUMPS include:  health care, accounting and finance, manufacturing and inventory control, telemarketing, shipping, publications libraries, law enforcement, facilities management, office automation, human resources management, full-text search and retrieval, sales management and order tracking, and computer-based instruction.

From single-user workstations to heterogeneous networks supporting thousands of users, PFCS Corporation’s advanced distributed database technology can be configured to provide 24 hour data availability with no down-time for backups. Simple network management allows automated reconfiguration of resources in the event of component failure.


  • Unparalleled Reliability means your work won’t be interrupted with “program crashes” or database reconstruction. Our 2.1 release was in the field for 2 years with zero customer reported bugs. V3.0 had four minor customer-reported bugs during its year in the field, and a similar record existed for V3.1, also in the field for one year. There were no customer-reported bugs in V3.2, and, so far, there have been no customer-reported bugs in V3.3.
  • Highly Functional, Easy to Use means the usual extensions to MUMPS have been implemented, along with several unique to PFCS Corporation’s implementation that greatly increase the ease with which software is developed, debugged, enhanced and supported.
  • Excellent Development Facilities are available because PFCS Corporation’s UNIX MUMPS is well-integrated with the Unix operating system. The total power of any Unix tool is readily and easily available to both the MUMPS developer and the User.
  • Simple, Easy Maintenance because we provide choices and options over the behavior of our implementation and the files you use. For example, your routines may be edited using your favorite MUMPS editor or any of the Unix editors. Each developer may use his/her preferred tools.
  • Advanced Monitoring Facilities provide a simple, efficient and complete way to analyze the behavior of a running system. This information is easily analyzed to find bottlenecks, and your system configuration may be changed quickly to realize maximum system performance.
  • Arbitrary Arithmetic Precision allows applications to use as many digits of precision as they require. No storage problems resulting from large currency values or calculating extremely precise values for formulas or equations.
  • Easy Access To Unix Pipes gives Unix MUMPS the ability to communicate with Unix programs without special variables or execution calls. This provides a clean, simple mechanism by which PFCS Corporation’s UNIX MUMPS can interface with the power of the Unix operating system and your other tools and facilities.
  • Simple Access To Unix Files allows quick and efficient input and output of data to standard Unix Files. No special disk areas or procedures are required.
  • Routines Stored As Text Files means Unix MUMPS does not have special partitions allocated for routine storage. This also allows Unix MUMPS routines to be edited with any MUMPS or Unix text editor.
  • Unlimited Routine Length increases program execution speed since fewer routines are loaded – one less thing to worry about when porting or maintaining applications.
  • Unix Security Protects Routines giving you the ability to control access to individual or sets of routines without setting up special environments or directories. It’s easy to learn and maintain.
  • Offline Comments allow for better formatting, commenting and printing of Unix MUMPS routines. Code can be documented without “wasting” space or affecting the execution of your routines. Since the comments are stored with the routine, the comments are not lost when routines are transported, easing development and porting efforts.
  • Routine Formatter displays routines in a consistent, easy-to-read format, and takes advantage of special offline comments for controlling the output style, providing for better productivity and easier maintenance.
  • Routine Syntax Checker quickly finds syntax errors and implementation-specific usages. This reduces debugging time and porting efforts.
  • Routine Archives groups routines into a single file, which increases routine execution speed and reduces system administration work, makes for easy distribution and backup of software, and creates a simple means by which to support multiple versions of software.
  • Arbitrary Subscript Length does not restrict the programmer in the naming of global or local variable subscripts when developing applications. Simpler design means easier maintenance and development, and no frantic debugging sessions when the software is out in the field!
  • Arbitrary Data Length means that Unix MUMPS will not restrict how much data is stored in a global variable node – more power and fewer hassles!
  • Globals Stored In Unix Files No special partitions are needed for globals. Each global is stored in a separate file for easy system administration. Instant access to protection modes, file size and modification times means better information to system administrators, less effort during maintenance and better productivity.
  • Unix Security Protects Globals giving you the ability to control access to individual files without the need for special MUMPS utilities. (One of the advantages of being well thought out and integrated.)
  • Global Statistics allow the system administrator to monitor the accesses to globals and evaluate production bottlenecks and distributed database opportunities. Provides good information that is easily available.
  • Error Trap Facility Unix MUMPS has commands and functions that allow for an orderly control of MUMPS errors. PFCS Corporation’s error-handling facility was the base for the Standard for Error Trapping.
  • Data Journaling Unix MUMPS can log the changes to the database. If corruption to the database occurs, the journaling information can be used to update the backup to a point before system failure quickly and easily resulting in less downtime.
  • Fast, Complete Database Integrity Checking means you can check your largest databases very quickly. The integrity check utility is a compiled C program and performs a thorough verification of every aspect of a database extremely quickly.
  • Transparent Heterogeneous Networking Unix MUMPS uses TCP/IP to provide transparent database access even in networks containing “mixed” hardware platforms, with no need for special communication programs or database tables.
  • Hardware Adds Easily and Transparently so extra hardware capacity for the database and/or users may be added quickly and easily. Different hardware may be mixed, allowing for the best price/performance hardware to be used. Graphics workstations, RISC processors, Mainframe database handlers, Intel x86 machines running Unix with concurrent MS-DOS applications, and any other Unix-based hardware may be freely intermixed to provide the maximum potential for users.
  • Complete, Comprehensive Documentation of the MUMPS language, system administration and special features of Unix MUMPS is provided in both on-line and in hardcopy form. The information you need is right at your fingertips!
  • Advanced Documentation Facilities are provided that produce indexed, cross-referenced and formatted documentation in both on-line and hardcopy formats from a single-source document set. The hardcopy version uses multiple fonts for better readability; the on-line version is designed for use on arbitrary terminals, and provides menu searches, topic searches, and a variety of other features. This is available for you and your documentation as well!
  • Unix Development Facilities Source code control utilities, code generation tools and macro processors may all be used to produce MUMPS routines tailored for particular environments, multiple versions or multi-vendor situations from a single base set of routines.

End-User Information

PFCS Corporation’s Unix MUMPS Software Package is geared toward the end user. Basic technical information and installation documentation is provided. An annual Update Service provides free software updates. We encourage users to purchase the annual Update Service to ensure that they receive the increased performance, features and reliability they deserve.

A Developer Support Package is available. It provides telephone support and additional documentation, software, and utilities that are often of great benefit to applications developers.

  • Distribution Media: Unix MUMPS is distributed electronically. Customized installation of the PFCS Unix MUMPS programs, utilities, and online manual pages is handled by an automated script.
  • Hardcopy Installation Guide: The simple installation procedure is described in a hardcopy document.
  • Hardcopy Unix MUMPS Manual: A bound and indexed version of the on-line manual pages is provided.
  • Update Service (Optional): The annual Update Service provides software updates, and includes bug fixes, performance improvements, new features, and other other enhancements to the Unix MUMPS software package.

Developer Information

The Unix MUMPS Developer Support Package is designed for applications developers. These applications developers can be an in-house team developing software for internal use or a group developing software for resale.

The Developer Support Package provides a MUMPS/C interface library software, developer support utilities, e-mail technical support for two people for one year, and documentation support tools.

Telephone support is available separately.

  • MUMPS/C Interface Package: The MUMPS/C Interface Package includes libraries, software, examples and documentation permitting MUMPS programs to call C functions, and C functions to call MUMPS subroutines and extrinsic functions. Parameters can be passed in either direction.
  • Documentation Tools: The documentation provided by the Developer Package is formatted with software that makes both high-quality, multi-font, cross-referenced and indexed hardcopy documentation, and easily viewed, cross-referenced and indexed online documentation. The info program shows this online documentation, and the make info program allows developers to use the same tools we use to prepare the documentation for their packages.
  • Conversion Utilities: The recheck program quickly and efficiently studies MUMPS routines and locates syntax errors and implementation-specific or non-portable MUMPS code. Several shell scripts used to convert MUMPS routines and globals to PFCS Unix MUMPS are provided.
  • Technical Support: Developers often require additional technical support for conversion of existing software, systems design consultation, software design, documentation processing, database performance analysis and systems administration. The Developer lists two email contacts for technical support. Telephone support is available separately.
  • Documentation
    • Conversion Guide: Describes several conversion scripts and discusses various issues, solutions and procedures involved in converting implementation-specific code, routines, globals and device parameters to PFCS Unix MUMPS. (20 pages)
    • Reference: A detailed technical description of the Unix MUMPS language for programmers. (196 pages)
    • Primer: A technical introduction to programming Unix MUMPS. (128 pages)
    • User’s Guide: A technical guide to Unix MUMPS, covering system administration, routines, globals, interfacing with I/O devices, error trapping, performance analysis, debugging, special utility programs and transaction logs. (94 pages)

Supported Platforms

Unix MUMPS may be obtained on a wide variety of platforms.