Sophisticated. Simple. Extensible.
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 YottaDB, Reference Standard M, or M21. A number of serious issues still exist in FreeM that preclude its use in production environments.