Show HN: Nimic – Pure Python as a systems language with AOT compilation

Python fans are hyped, skeptics are yelling, and everyone wants to know if this is genius or cosplay

TLDR: Nimic claims you can write a stricter form of Python and turn it into much faster compiled code. Commenters were split between “cool idea” and “this only works because you stop using a lot of normal Python freedom,” while one perfectly summed up the chaos by asking what AOT even means.

A new project called Nimic just strutted onto Hacker News with a bold promise: write in regular-looking Python, then turn it into super-fast compiled code without abandoning the language people already know. On paper, it sounds like the dream—keep Python’s familiar vibe, add some extra rules, and suddenly you’re in “systems language” territory, where code is closer to the machine and usually much faster. The creator pitched it as valid Python that still runs in normal Python, which instantly lit the comments section on fire.

That’s where the real show began. One camp was intrigued, calling it a clever bridge between easy-to-write Python and serious performance. Another camp immediately hit the brakes, basically saying, hold on, this only works if you give up a lot of the chaotic, magical stuff that makes Python feel like Python in the first place. The sharpest pushback came from commenters arguing that the speed boost isn’t some miracle trick—it comes from forcing your code to be more rigid and predictable. In other words: less “wild west scripting,” more “behave yourself and maybe you get speed.”

And then, in classic comment-thread fashion, someone swooped in with the eternal crowd-check question: “What is AOT?” For the uninitiated, that means “ahead of time,” or compiled before the program runs. Nothing humbles a flashy launch like the internet immediately asking for the acronym to be translated. Between comparisons to older projects like Shedskin and the debate over whether this is breakthrough or just another constrained Python experiment, the mood was equal parts curiosity, skepticism, and nerdy side-eye.

Key Points

  • Nimic is a pure Python module that uses a subset of Python as a DSL for ahead-of-time compilation to Nim.
  • The project is designed so Nimic code is valid Python that can run natively and also transpile to equivalent Nim code.
  • Its architecture includes a public API layer, a ctypes-based type system, an AST-based Python-to-Nim transpiler, and template inlining support.
  • The type system covers memory buffers, fixed-width scalars, objects, enums, variants, containers, multi-dispatch, type modifiers, and a Nim-compatible string type.
  • The article defines Python syntax conventions that map directly to Nim semantics, including scoped declarations, mutable parameters, templates, compile-time evaluation, and export blocks.

Hottest takes

"valid Python that runs unmodified in CPython" — dima-quant
"Similar idea as Shedskin" — actionfromafar
"What is \"AOT\"?" — frumiousirc
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.