It is currently Sun Feb 25, 2024 8:21 pm

All times are UTC - 8 hours [ DST ]

Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: FreeM
PostPosted: Fri Apr 03, 2020 6:35 pm 
User avatar

Joined: Mon Nov 01, 2010 1:39 pm
Posts: 51
Real Name: John Willis
Began Programming in MUMPS: 01 Apr 2010
Hello, MUMPSters!

Just wanted to give an update on what's been happening in FreeM-land.

I have the following bugs fixed:

    $ORDER loops now honor the QUIT condition
    Most segfaults on NEW have been eliminated
    Terminal I/O problems with large terminals are greatly reduced, and seem mostly to happen on Linux systems
    The following new features have been introduced:
    We have a framework for recoverable database journaling in place.
    Transaction processing is partially implemented, to the extent that current journaling facilities allow.
    FreeM routines may now be used as UNIX/Linux shell scripts by placing a #! line at the top of a routine.
    The structures and code are now in-place to support SSVNs, and ^$JOB has been implemented, to include several extensions from the Millennium Draft Standard, including stopping other FreeM jobs by KILLing their ^$JOB node.
    The FreeM direct-mode prompt now supports command-line history and command recall through GNU readline. This history persists across FreeM sessions.
    The FreeM direct-mode prompt now allows direct entry and immediate evaluation of MUMPS expressions, turning it into a full-featured REPL.
    Support for the MERGE command, absent in the original FreeM, is well underway.
    We have a TeX manual in the works, which builds into texinfo online documentation that can be accessed from FreeM direct mode by typing ? at the prompt.
    We fully support multiple namespaces, each with their own unique collections of routines and globals. % routines and globals go into the SYSTEM namespace by default. Namespaces are configured in /etc/freem.conf.
    We now have a shared library which provides a C/C++ binding interface to FreeM, including full access to the database, transaction processing, and MUMPS extrinsic functions and subroutines. This library is easy to use, and supports all familiar operations, e.g., get, set, kill, lock, unlock, data, order, query.
    We have moved to GNU Autotools for our build system, which allows FreeM to be quickly and easily built and installed on most UNIX and UNIX-like operating systems.

FreeM builds and runs correctly on the following platforms:

    Debian GNU/Linux on amd64
    Ubuntu Linux on amd64
    Ubuntu Linux on IBM System/390 and Z
    Oracle Solaris 11.3 on sparc64 (sun4v)
    SCO OpenServer 5.0.7 on i386
    NetBSD 9.0 on amd64
    NetBSD 9.0 on vax
    FreeBSD 12.1 on amd64
    OpenBSD 6.6 on amd64
    Debian GNU/HURD 0.9 on i386
    macOS Mojave on amd64

In addition:

    John Best is working on a port to IBM i (OS/400) 7.x using the PASE compatibility layer
    Jim Stefanik is working on ports to IBM AIX on POWER and z/OS on System/390
    Ports to Raspbian, SGI IRIX, HP-UX, Cygwin, OpenVMS, BeOS, AmigaOS, and OS/2 are under investigation

Please feel free to check out our home page at for more information!

John Willis, Founder
Coherent Logic Development

Offline Profile  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 8 hours [ DST ]

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Theme created