For the part that runs locally, efficiency might matter.
The demo was recorded with asciinema.
You can have some minimal haxe code and build tiny compilers that use it as a source of truth for generating a http client, http server stub, cli entrypoint, docs entry, integration test, openapi spec.... Agents are good at writing the macros for whatever language you want to compile to, and now you've enforced agreement between these things as part of a build, which makes for several fewer things that you ought to be diligent about.
Unlike using something like yaml as your source of truth, haxe has a type system. You can catch some problems upstream as build errors rather than waiting to catch them downstream in the generated code.
Highly recommended.
Well done, Oleksandr!
I know that Google just launched a go version a couple months ago, but I haven't really spent any time with it, because well, gemini isn't really useful to me right now.
The thing I constantly ran into with using non-platform (ie. claude code or codex) agents is that even though their tool call API seems flexible, they've finetuned these "agentic" models around their specific agents. Opus is the worst I've seen about this. It really wants to use specific bash tools and if you restrict or hide it, it'll start writing python code to call into bash to do it.
Also since hax tools are just "read", "edit", "write", "bash" and "task_wait", it would be expected that the models would use one-off scripts to achieve their goals (either shell scripts, or python scripts, etc).
[0]: https://pi.dev/
[1]: https://lucumr.pocoo.org/2026/7/4/better-models-worse-tools/
EDIT: I just looked at interrupt.c in the github repo: handles user interrupts. I trashed my Common Lisp harness because I had problems handling interrupts in a portable way. I did better with Racket. I am traveling on vacation without a computer, will try Hax when I get home.
If you think that unintended consequences can result from using C, boy do I have some news for you for "programmers" from 2026.
What is the question about:
A: Why start a 'new' software project? (instead of old, none, multiple, ...) B: Why in 'C'? (instead of Mojo, Java, D, ...) C: Why 'today'? (instead of Yesterday, Tomorrow, never, ...)
For me the beauty of this project is:
Someone tried to figure out for themselves what an end-to-end process would look like for what they wanted to do. What happens to the input? How are files written? What is sent to the LLMs?
And they used the tool they know best. No `import openai`.
What do I mean by 'easy' ?
C books can typically be about 300-500 pages give or take. Compare that with modern languages especially a Java book in the 2000's, it would be closer to 600-1000 pages.
Why? Because half the book is talking about Object Oriented Programming.
C is simpler by comparison, once you get your head around it quirks and gotchas. Afterall, every language has their own gotchas!
To me, there is a difference between good C programmers and bad or non skilled ones. Those that understand C can write some good and efficient programs that care about performance and memory.
With all the above... the truth is that you could write this towards ANY language. They all have their pros and cons.
> I don't understand why anyone would still start a new software project in nodejs today, given the long track record of mistakes developers can make in it.
> I don't understand why anyone would still start a new software project in python today, given the long track record of mistakes developers can make in it.
> I don't understand why anyone would still start a new software project in java today, given the long track record of mistakes developers can make in it.
And dare I say this one...... ???
> I don't understand why anyone would still start a new software project in rust today, given the long track record of mistakes developers can make in it.
OK. You can argue that rust is not old enough to be labelled the "..given the long track record.." - but everything else stands.
Literally every single cpu/mcu architecture from the past 40 years supports it.
There are hundreds of such architectures and CPU/MCU types. (x86 is just SINGLE type from maaaaany).