This manual is for FreeM, (version 0.65.1-rc1), which is a free software implementation of the M programming language.
Print-optimized versions of this book are typeset in Computer Modern by the author using the GNU Texinfo tools.
Copyright © 2014-2025 Coherent Logic Development LLC
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover texts, and with no Back-Cover Texts.
| [ < ] | [ > ] | [Contents] | [Index] | [ ? ] |
This is the official manual for the FreeM programming language.
| Introduction | About the FreeM Project, its history, and its goals. | |
| 1 Document Conventions | Conventions used in this manual. | |
| 2 A Note on Standards | FreeM positioning regarding the M Development Committee. | |
| 3 FreeM Invocation | How to invoke FreeM from the command line. | |
| 4 The FreeM Environment Daemon | Managing shared resources in the FreeM environment. | |
| 5 The FreeM Direct-Mode Environment | Executing M programs interactively. | |
| 6 Debugging | The program development cycle of FreeM. | |
| 7 Program Development Cycle | How to create, edit, test, and run FreeM programs. | |
| 8 Directives | Per-Routine Language Directives. | |
| 9 Intrinsic Special Variables | ||
| 10 Intrinsic Functions | ||
| 11 OBJECT Methods | Methods for OBJECT variables. | |
| 12 STRING Methods | Methods for STRING variables. | |
| 13 Commands | ||
| 14 Structured System Variables | ||
| 15 Operators | FreeM Operators. | |
| 16 Routines | The units of M code in FreeM. | |
| 17 Types | FreeM data types. | |
| 18 Globals | FreeM persistent sparse arrays. | |
| 19 Concurrency Control | LOCKing and transaction processing.
| |
| 20 Local Variables | In-memory variables. | |
| 21 Scoping | Scoping in FreeM. | |
| 22 Decision Constructs | IF, THEN, ELSE, $SELECT, and postconditionals.
| |
| 23 Branch Constructs | Labels, GOTO, DO, and JOB.
| |
| 24 Loop Constructs | The FOR loop.
| |
| 25 Modular Programming | Extrinsic functions and subroutines. | |
| 26 Object-Oriented Programming | Classes and objects in FreeM. | |
| 27 Libraries | System and user libraries. | |
| 28 Sequential I/O | Processing sequential files in FreeM. | |
| 29 Network I/O | Handling network sockets in FreeM. | |
| 30 Extended Global References | Accessing globals in non-default namespaces. | |
| 31 Global Aliasing | Defining alternate names for globals. | |
| 32 Global Mappings | Mapping global names to non-default namespaces. | |
| 33 Asynchronous Event Handling | Handling asynchronous events in FreeM. | |
| 34 Global Triggers | Responding to global accesses in M code. | |
| 35 Synchronous Event Handling | Synchronous events in FreeM. | |
| 36 GUI Programming with MWAPI | Creating graphical interfaces in FreeM. | |
| 37 User-Defined Z Commands | Adding your own Z commands to FreeM. | |
| 38 User-Defined Z Functions | Adding your own Z functions to FreeM. | |
| 39 User-Defined SSVNs | Adding your own SSVNs to FreeM. | |
| 40 Language Dialects | Controlling FreeM standards compliance. | |
| 41 System Library Routines | FreeM built-in library of M routines. | |
| 42 Interrupt Handling | How FreeM handles interrupts. | |
| 43 Error Processing | How to handle errors in M program code. | |
| 44 FreeM Error Codes | Explanations of each FreeM error code. | |
| 45 System Configuration | Configuring your FreeM installation. | |
| 46 Accessing FreeM from C Programs | How to use the mlib interface. | |
| Appendix A FreeM Administrator | The fmadm system manager tool. | |
| Appendix B FreeM VIEW Commands and Functions | Getting and setting info about FreeM internals. | |
| Appendix C Implementation Limits | FreeM limitations. | |
| Appendix D US-ASCII Character Set | The US-ASCII character set. | |
| Appendix E FreeM Project Coding Standards | How to write code for submission to the FreeM project. | |
| Index | Complete index. |
| [ < ] | [ > ] | [Contents] | [Index] | [ ? ] |
This document was generated on May 19, 2025 using texi2html 5.0.