I built a native compiler in 2.5 years.
It produces real Linux x86_64 ELF binaries, integrates directly with the System V AMD64 ABI, and calls C code with zero overhead — no wrappers, no runtime.
And I said nothing about it.
This is the first time I am making it public.
I need to tell you something I have been keeping quiet for over two years.
In late 2023, I created an empty directory and started building a compiler. Not a toy. Not a transpiler. A compiler that takes source code and produces real, native Linux x86_64 ELF binaries — with DWARF v5 debug information, full System V AMD64 ABI compliance, and zero-overhead C interoperability. Written in Go, from scratch, with no external dependencies.
I am not a student. I am a software engineer with more than thirty years of experience, working a full-time job while building this on the side. I am over sixty. This is the project of my life.
The compiler is called Mica. It has a 9-phase compilation pipeline, its own intermediate language named Spectra, 17 peephole optimization passes, and 538 automated test cases. You can set a breakpoint in a C function, call a Mica function from it, and GDB steps across the boundary into Mica source. The compiler itself is 75,545 lines of Go.
Why now?
Because something happened this week. I read back what I have built, I read the technical portrait I wrote, and I could no longer justify staying quiet. The work is real. The documentation is honest. The roadmap is credible. There is no better moment than this one.
And because I owe a public acknowledgment to the man whose work made this possible.
Niklaus Wirth — creator of Pascal, Modula-2, Oberon — died on January 1st, 2024. Quietly. Without much notice from the world. A few weeks after I had started this project.
Mica is, in part, my answer to that.
What Mica is trying to do
Most new languages ask you to wait while an ecosystem is built from scratch. Mica takes the opposite position: the ecosystem already exists. Every C library on your system, every POSIX API, every Linux kernel interface — Mica is designed to reach all of it directly, with full compile-time type checking and no wrapper layer. A Mica binary and a C binary are the same kind of object. They link together under the same ABI with no performance cost at the boundary.
The goal is not to replace C or any other language. The goal is to make the platform you already have easier to use from structured, readable source code.
What I am asking for
Nothing, yet. Just your attention for long enough to decide whether this matters to you.
If you want the full story — the breakthroughs, the December when I nearly stopped, the nine months of fighting with AI, the tribute to Wirth — read The Mica Story.
If you want the technical depth — the compiler pipeline, the type system, the intermediate language, the platform vision — read the Technical Portrait.
If you want to know where this is going — read the Roadmap.
And if this is your kind of project — compiler construction, structured language design, honest engineering writing, Wirth’s tradition carried forward — I would genuinely like to know you exist.
Where to start
The tutorials repository is the quickest way to get a feel for Mica as a language: gitlab.com/mica-lang/mica-tutorials
It will be updated as the language grows. For now it serves as a working entry point — real programs, real output, real compiler.
A candid note
I am one person. I cannot respond to a large volume of messages, and I am not asking you to flood me with feedback.
But if you are seriously interested — as an individual, a university, or a company — what I am looking for is not criticism of what is missing. I know what is missing. What I need, and what would shape the future of this project most, is people who see the direction and want to help carry it forward. Technically, academically, or otherwise.
If that is you, write to me:
The silence ends here.