Latest MUMPS Compiler Boasts Intermixing C and M Code

The latest Sanchez Computer Associates Free and Open Source MUMPS compiler, GT.M, is now available. The compiler can be used as the basis for a totally FOSS VistA electronic health record. Highlights of the compiler release include: ‘…the top level program (that which is called from the shell), no longer needs to be an M program — the outer level can also be a C main() function. Effective V4.4-002, M and C code can be intermixed in an application. The implications are significant — for example, it is now possible to use GT.M for dynamic web content scripting by directly calling M functions from a web or application server, instead of using a CGI interface…’ Text of the full announcement is within.

GT.M V4.4-002 and V4.4-FT01 are now available at Source Forge (x86
GNU/Linux only, at http://sourceforge.net/projects/sanchez-gtm) as well
as the Sanchez FTP site, if you have purchased support from Sanchez.

With V4.4-002 on UNIX/Linux, the M run-time system is now packaged as a
shared library (libgtmshr.so) and the mumps executable is merely a
wrapper that calls functions in the shared library (e.g., it is now just
15,833 bytes in size on Linux). The major new functionality that
results from this is that the top level program (that which is called
from the shell), no longer needs to be an M program — the outer level
can also be a C main() function. Effective V4.4-002, M and C code can
be intermixed in an application. The implications are significant —
for example, it is now possible to use GT.M for dynamic web content
scripting by directly calling M functions from a web or application
server, instead of using a CGI interface. There is a new technical
bulletin (TB5-027) on the call-in functionality.

V4.4-002 also brings a significant rewrite of the journaling and
recovery logic, enhancing both performance and robustness. In
particular, interrupted rollbacks and backward recoveries (e.g.,
recovery from a system that crashes while a recovery from a system crash
is in process) are now much better handled by simply repeating the
rollback or backward recovery command (previously, such a condition
could have required restoring a backup and using forward recovery). The
journaling chapter of the GT.M Administration and Operations Guide has
been rewritten, and is made available as a technical bulletin (TB5-029)
describing the new functionality.

In both the above, backward compatibility has been maintained, while
adding significant new functionality. The online help has been updated
to reflect the current user documentation. On x86 GNU/Linux, Red Hat 9
is also now supported.

Of course, there are a number of bug fixes. Details are in the
technical bulletin (TB5-028A). The error messages have been updated
(TB5-030).

GT.M V4.4-FT01 is a field test release based on V4.4-002 with two
additional changes on the Linux platform.

The first is that the maximum string size has been increased from 32KB
to 1MB.

The second is a bug fix: if the second argument of a Set $Piece is a
$Select, GT.M will give incorrect results. Certain versions of the
VistA source code work around this problem, but others don’t. If you
encounter otherwise unexplained errors with VistA (e.g., undefined
variables), see whether V4.4-FT01 makes the errors go away.

On platforms other than Linux — in particular, AIX, Tru64 UNIX and
OpenVMS, there are other significant enhancements that are a precursor
of forthcoming functionality on those platforms. Please contact Sanchez
if you are interested in these platforms.

Thank you for your continued interest in GT.M.

Regards
— Bhaskar

N.B. If all technical bulletins have not hit your download site as of
the time you receive this e-mail, please check back in 24 hours.

K.S. Bhaskar
VP, Database Products
Sanchez Computer Associates, Inc.
40 Valley Stream Parkway
Malvern, PA 19355, USA
+1 (610) 578-4265
k.bhaskar@sanchez.com
http://www.sanchez.com
http://www.sanchez-gtm.com

Leave a Reply

Your email address will not be published. Required fields are marked *