Ecosystem

What ships with kaikai, and what installs separately

The distribution model follows Go's: the language comes with its stdlib in a single install, and everything else lives in separate repos under the organisation, added with kai add.

The line between core and the rest is API stability, not maturity. A library can be solid and still live outside core because its surface is still moving, or because it carries a heavy system dependency that must not ride in the base binary — the TLS case.

The language

What the default install ships: compiler, runtime and the core stdlib. One download, no package manager in between.

  • kaikai 0.111

    Self-hosted compiler, a runtime with a cooperative scheduler and Perceus reference counting, and the core stdlib.

Platform

Infrastructure common to serious applications that is not a language primitive. If several projects above would otherwise reinvent it, it lives here.

  • ahu 0.2.1

    Stateful message loops, restart policies, structured logging and streams. It takes up what OTP got right without transliterating what Erlang needs because of its runtime.

Domain toolkits

One repo per domain, versioned separately. Installed with kai add.

  • kohau 0.4.0

    Database and persistence. SQLite in two layers: a typed FFI surface, and a client that confines access to a single fiber.

  • henua 0.3.1

    Domain-driven design building blocks: aggregates, events, repositories, bounded contexts. It is not an ORM.

  • rongo 0.6.0

    Advanced networking. Speaks HTTPS on both sides over OpenSSL without blocking the thread: a request in flight yields the fiber.

  • garo not started

    Advanced cryptography: ciphers, key derivation and signing over a system stack. Base crypto stays in the stdlib.

  • hopu not started

    Fintech platform: payment processing, double-entry ledgers, reconciliation and regulatory reporting.

Client products

End-user frameworks, with an identity of their own.

  • A terminal UI framework: a UI tree, widgets, and a model/update/view runtime with flicker-free repainting.

  • manutara not started

    A web framework with server-side state and client-side diffing. What terevaka is for the terminal, manutara is for the web.

The names

Every project carries a Rapa Nui name, chosen for what it does rather than for how it sounds. ahu is the stone platform the moai stand on, and it is the layer everything else stands on. kohau is the rongorongo tablet, the surface that holds inscribed data. henua is the land, the territory: the domain. rongo is the message, the errand — a network carries messages. garo is to conceal, and encrypting is concealing. terevaka is the island's highest volcano, the point from which you see everything: a terminal UI is that whole view.

There is more about the language's own name on the name page.