FreeM Logo

 

Sophisticated. Simple. Extensible.

Get FreeM here!

FreeM is an implementation of the M programming language, began by the efforts of the mysterious Shalom ha-Ashkenaz. In response to InterSystems' spree of buying up all competing M implementations, Shalom gifted FreeM to MUG Deutschland in 1998, in hopes that the M community would turn it into a viable, freely available, and fully-featured M implementation.

After years of dormancy, the FreeM project has been resurrected, and under the stewardship of Coherent Logic Development and a small core team of contributors, work is proceeding towards completing the original FreeM team's goals, and much more.

FreeM has a number of advantages as compared to other implementations of the M programming language:

  • The code is relatively small and understandable enough to be grasped and successfully modified by a competent C programmer
  • It is highly portable, being a machine-independent interpreter, and will run on a wide variety of UNIX and UNIX-like operating systems
  • It is extensible, allowing M developers to implement new commands, functions, and intrinsic system variables directly in M, without resorting to modifying or even reading any C code at all
  • The new mlib shared library interface allows easy access to M globals and routines from any C program

We are not yet production-grade, and for production use, we would recommend Reference Standard M. A number of serious issues still exist in FreeM that preclude its use in production environments.

Credits

  • Astr0 Baby: For writing many articles on emulating older UNIX systems, and providing uncompensated support for said articles, thus allowing FreeM to be so widely ported.
  • Grant Taylor: For help with virtualization, especially around networking oddities, and also listening to me ramble on about FreeM and the M language at great length.
  • Jim Stefanik: For doing the initial build of FreeM on Linux on Z.
  • Joel Martinez: For many, many contributions of hardware to our data center.
  • L.D. "Gus" Landis: For transferring maintainership of FreeM to me in 2014, and inspiring and mentoring me in my M programming journey.
  • David Whitten: For sponsoring many hardware upgrades in our little data center.
  • David Wicksell: For countless hours of testing, building, debugging, fixing bugs, adding support for MERGE, as well as much in the way of moral support. And for patience in listening to me ramble on about obsolete operating systems.