Cmajor 0.9.0 💾

Cmajor is an experimental programming language. It mixes concepts and language syntax from C++ and C# for semantics. It runs on a virtual machine (cmx) after compilation (cmc), and comes with a debugger (cmxdump). It's itself implemented in C++98 using soul2cpp, provides 64bit integer types using boost, comes with filesystem, shared pointers and threading interfaces. It's cross-platform, provides a custom IDE, and comes with an extensive manual.

minor feature: o Faster recompiles. If the interface of a source file (function names, parameter or return types, etc.) has not changed since previous build, recompiles only modified source file(s). If the interface has changed, must recompile also source files that depend on the modified file(s). o Threading library (System.Threading) implemented using POSIX threads. Thread, Mutex, RecursiveMutex, ConditionVariable and LockGuard classes. o Sockets library (System.Net.Sockets). TcpSocket class. o JSON data interchange format library (System.Text.Json). o 128-bit unsigned integer arithmetics implemented using 64-bit operations. uhuge class. o Nanosecond resolution time library. Duration and TimePoint classes. Now() function. o Documentation revised. o Fixed a bug not allowing multiple static class members having a non-trivial destructor in same compilation unit. o Fixed a bug in IDE not allowing project file paths that contain spaces. o Fixed a bug in compiler generated move constructors and move assignment operators. Compiler did not generate call to base class move constructor or move assignment.

GNU GPLv3 c++ c cmajor compiler virtual-machine debugger programmers command-line ide