The name

kai kai

In Rapa Nui, kai kai is the game of figures made with a string loop between the fingers. Each figure has its own chant, the pata'u ta'u, recited while the hands form it. Verse and form travel together: neither stands without the other.

Why that name

The language takes that image as an analogy for typing. Types are the figure; code is the verse. Writing a program is reciting and forming at once, and the compiler is there to check that the two still agree.

The analogy has a practical consequence that runs through the design: if figure and verse are inseparable, a type is not a comment about the code but part of what the code says. That is why effects appear in the signature, why units live in the type, and why contracts are written next to the function rather than in a file of their own.

Rapa Nui throughout the project

The name is not an isolated gesture. The ecosystem libraries carry Rapa Nui names chosen for what they do —ahu, the stone platform; kohau, the rongorongo tablet; henua, the land— and are described on the ecosystem page.

The language's editions carry geographic names from the island. An edition is the stability mechanism: within one edition the language surface does not break, and incompatible changes happen only when crossing into the next one, always as an explicit opt-in.

  • Tongariki The earlier phase. Fast iteration on internals while the user-facing surface settled.
  • Hanga Roa current edition The first public-target edition. It is what you get when you install the language today.
  • Orongo The stabilisation edition, not yet cut.

How it is written

The language is written kaikai — one word, lowercase, even at the start of a sentence. The Rapa Nui game it comes from is written kai kai, in two. The command-line tool is kai, and files end in .kai.

Who makes it

kaikai is developed by Eduardo Díaz. The code lives on GitHub, and the design process is written up on the blog. There is more on the community page.