[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
FreeM started its life as FreeMUMPS, written for MS-DOS and ported to Linux and SCO UNIX by a mysterious individual going by the name of "Shalom ha-Ashkenaz". It was released to MUG (MUMPS User Group) Deutschland in 1998, and maintenance was taken over by the GUMP (Generic Universal M Project) thereafter, which changed its name first to PSM (Public Standard MUMPS) and then by popular request to FreeM.
When GT.M was open-sourced in late 1999, FreeM and GUMP were essentially abandoned. L.D. Landis, the owner of the original GUMP SourceForge project, and one of FreeM’s significant contributors, passed maintenance of FreeM and ownership of its SourceForge project to John Willis in 2014. At this point, FreeM would not compile or run on modern Linux systems, so steps were taken to remedy the most pressing issues in the codebase. Limitations on the terminal size (previously hard-coded to 80x25) were lifted, and new $VIEW
functions were added to retrieve the terminal size information. $X
and $Y
intrinsic special variables were updated to support arbitrary terminal sizes, and FreeM was once again able to build and run.
In February of 2020, work began in earnest to build a development and support infrastructure for FreeM and begin the careful process of refining it into a more stable and robust product.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
FreeM is not yet production-ready. There are several show-stopping bugs that preclude a general release for public use:
NEW
and argumentless DO
, only supported when -DNEWSTACK
is passed to the C compiler, causes occasional segmentation faults that have not been isolated, as they don’t appear when running under the control of symbolic debuggers such as gdb
, or leak testers such as valgrind
.
$ORDER
loop is broken, as QUIT:SUB=""
(or similar) is not properly honored, resulting in infinite loops and incorrect output.
MERGE
is not implemented. Code exists in ‘symtab.c’ (responsible for handling local variables) to support the MERGE
ing of local variables, but it causes segmentation faults as well.
VIEW
commands and $VIEW
functions are used extensively to configure and inspect the run-time behavior of FreeM, rather than the "canonical" SSVN-based approach.
Per the conditions under which Shalom ha-Ashkenaz originally released the FreeMUMPS implementation to the community, a full and supported public release of the software is not permitted until the above issues are resolved, and the MUG (MUMPS User Group) organization (or its successors) certify its quality and suitability for purpose.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Current contributors denoted with a + following their name and role.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by John P. Willis on March 13, 2020 using texi2html 1.82.