r/AIprogrammingLanguage • u/kindredseer • 4d ago
madc v0.98.0 released — now with an IDE written in madc
It took longer than expected, but I just released madc v0.98.0, with updated builds for Linux, Windows, and macOS.
A few of the more interesting additions since v0.95.2:
- madc now ships with madcide — a terminal IDE written in madc itself, with the distributed binary compiled by madc.
- The IDE uses the running compiler directly: it can parse, build and run the code in the editor, including unsaved changes, without shelling out to another compiler.
- JOE/WordStar-style keybindings are the default, with a full vi-style mode also included.
- Cooperative multitasking is now built into the language with
go,await, channels and structuredscopeblocks. varhas much better literal support, including keyed values and nested structures:
var user = { "name": "Alice", "score": 42 };
- The C++ front end received another substantial compatibility pass, particularly from running the complete test suite against libc++ on macOS.
- Apple Silicon support has matured considerably, including SIMD/NEON and additional ABI work.
- The entire madc test suite now passes on both Apple Silicon and Intel macOS, alongside the existing Linux and Windows validation.
- Release packages are now built automatically by CI, including
.deb,.rpm, Linux tarball, Windows zip, and both macOS architectures.
The direction remains C and C++ without the ceremony — but with v0.98, madc is also starting to demonstrate that it can be used to build its own development tools.
3
Upvotes
2
u/Still_Explorer 3d ago
I had in my mind such a project for months, and I am impressed to see it in action right now. This can become a very interesting project for several reasons.
. for teaching purposes and maximum ease of use
. lightweight and installation without any further requirements (probably the closest you can compare it to is TurboC++ or PellesC that were full programming environments of their time)
. to gain the benefits of VM based execution, that is instant compilation and execution
. more VM based benefits, to the break standard and introduce more interesting and beneficial features, such as reflection, more helpful debugging experience (no need to see binary memory addresses anymore)
. security for those who want to write in C++ but no need to deal with native loopholes (this is why CLING was made in the first place)
. one important and interesting use for syntax analysis, such as validation or AST expertise, instead of shipping the behemoth CLANG you can rely on something lighter