Made for good
Software that fails less hurts fewer people. Programs that do more with less hardware use less energy. And a language anyone can read lets more people build.
What that means for the language, and how the project is run.
Built in the open
A language that asks you to trust it should show how it was made.
What Nikaia checks. Every design decision is a public ADR with the evidence that settled it. Every change has one entry in the changelog. The compiler is moving into Nikaia: the analyses for sharing, pausing, what a function throws and which statements may overlap are already Nikaia code.
The limit. The figures below are dated. The changelog and the repository are the current record.
Each decision is argued in an ADR and accepted by a human. The compiler is being rewritten, part by part, in the language it compiles.
Pre-alpha: what to expect
A new language is easy to promise and hard to use. You should know where it stands before you start.
What Nikaia checks. The compiler builds real programs today: a calculator, a JSON parser, a log analyser, a small HTTP server, the One Billion Row Challenge. There is no package registry, formatter or language server yet. The roadmap lists what works, the walls you will hit, and where a bug report helps most.
The limit. Pre-alpha means walls: things that do not work yet, and rules that will still change. The roadmap lists them.
A calculator, a JSON parser, a log analyser, a small HTTP server and the One Billion Row Challenge build today.
Why Nikaia exists
Good and fast are not opposites. Nikaia is named for Nika, and nik means good.
“Good wins.” Not over anyone: it denies that good and fast are opposites, and that being decent to the person writing the code has to be paid for at runtime.