Nimony v0.2: A First Look at Nim 3.0's Destructor-Based Future
Share this article
Nimony v0.2: A First Look at Nim 3.0's Destructor-Based Future
In a significant leap for systems programming, the Nim community has released Nimony v0.2—an early but functional preview of the compiler architecture destined to become Nim 3.0. Codenamed "Aufbruch" (German for 'departure'), this experimental build prioritizes destructor-based memory management (ARC), value semantics, predictable code generation, and a plugin-driven metaprogramming model. While not yet production-ready, v0.2 delivers a surprisingly capable core that compiles real-world applications, offering developers a tangible glimpse into Nim's future.
The Tic-Tac-Toe demo—built in just 250 lines of Nimony code—showcases worker thread concurrency and raylib graphics integration.
Foundations and Early Wins
Developed openly on GitHub, Nimony reimagines Nim's compiler from the ground up. As contributor "planetis" reports, v0.2 already supports:
- Core language features: Imperative programming, dynamic polymorphism via methods, and inheritance (with rapid fixes for critical bugs).
- Essential stdlib modules: Ported components include
tables,strutils,locks,math, and 15 others—enough to build practical tools. - Concurrency: The Tic-Tac-Toe demo runs AI logic in a worker thread, proving basic parallelism works.
Surprisingly, inheritance and method dispatch functioned reliably outside a single compiler crash patched within hours—a testament to the team's reactivity.
Rough Edges and Workarounds
Nimony's current hurdles reveal its alpha status:
- Type resolution ambiguities: Frequent
Error: type mismatch: got: X but wanted: Ymessages plague development, often lacking context. - Case sensitivity: Nim's trademark case-insensitive identifiers are missing, forcing camelCase AST node names like
CallstrlitS. - Template limitations: Complex constants and advanced templates fail, though the new plugin API offers an elegant alternative for metaprogramming.
Despite these quirks, planetis built a complete game without blockers—validating the compiler's foundational stability.
AI as a Co-Developer
Intriguingly, planetis leveraged LLMs like GPT-5 to accelerate testing:
"I pasted Araq's progress reports into GPT5-high and got a table of what works. I used that as context to decide what to test next."
LLMs demonstrated strong Nim comprehension when debugging, hinting at AI's emerging role in niche-language tooling. Plugins also shone as a flexible solution for bypassing current metaprogramming constraints.
The Path Forward
Nimony v0.2 is a bold technical statement—prioritizing memory safety without sacrificing Nim's signature efficiency. Its modular architecture invites collaboration:
- Test: Grab prebuilt packages (Fedora/Ubuntu) or build from source.
- Contribute: Report bugs or submit PRs; financial support is welcome via Open Collective.
As ARC and value semantics mature, Nimony could redefine low-level development—proving that systems languages needn't choose between performance and safety. For now, it stands as an open invitation: help shape the next era of Nim.