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: Y messages 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:

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.