Ecosistema
Qué viene con kaikai y qué se instala aparte
El modelo de distribución sigue al de Go: el lenguaje viene
con su stdlib en una sola instalación, y todo lo demás vive
en repos separados bajo la organización, que se agregan con
kai add.
La línea que separa el núcleo de lo demás es la estabilidad de la API, no la madurez. Una biblioteca puede ser sólida y vivir fuera del núcleo porque su superficie todavía se mueve, o porque arrastra una dependencia de sistema pesada que no debe viajar en el binario base — el caso de TLS.
El lenguaje
Lo que trae la instalación por defecto: compilador, runtime y la stdlib del núcleo. Una sola descarga, sin gestor de paquetes de por medio.
- kaikai 0.111
Compilador autoalojado, runtime con scheduler cooperativo y conteo de referencias Perceus, y la stdlib del núcleo.
Plataforma
Infraestructura común a aplicaciones serias que no es primitiva del lenguaje. Si varios proyectos de arriba tendrían que reinventarla, vive aquí.
- ahu 0.2.1
Bucles de mensajes con estado, políticas de reinicio, logging estructurado y streams. Retoma lo que OTP hizo bien sin transliterar lo que Erlang necesita por su runtime.
Toolkits de dominio
Un repo por dominio, con versionado propio. Se instalan con kai add.
- kohau 0.4.0
Base de datos y persistencia. SQLite en dos capas: una superficie FFI tipada y un cliente que confina el acceso a una fibra.
- henua 0.3.1
Bloques de diseño guiado por el dominio: agregados, eventos, repositorios, contextos acotados. No es un ORM.
- rongo 0.6.0
Redes avanzadas. Habla HTTPS de ambos lados sobre OpenSSL, sin bloquear el hilo: una petición en vuelo cede la fibra.
- garo sin empezar
Criptografía avanzada: cifradores, derivación de claves y firma sobre un stack de sistema. La cripto base se queda en la stdlib.
- hopu sin empezar
Plataforma fintech: procesamiento de pagos, libros contables de doble entrada, conciliación y reportería regulatoria.
Productos cliente
Frameworks de cara al usuario final, con identidad propia.
- terevaka 0.1.2
Framework de interfaces de terminal: un árbol de UI, widgets y un runtime modelo/actualización/vista con repintado sin parpadeo.
- manutara sin empezar
Framework web con estado en el servidor y diferencias hacia el cliente. Lo que terevaka es para el terminal, manutara para la web.
Los nombres
Todos los proyectos llevan nombres en rapanui, elegidos por lo que hacen y no por sonar bien. ahu es la plataforma de piedra sobre la que se levantan los moái, y es la capa sobre la que se levanta todo lo demás. kohau es la tablilla rongorongo, el soporte que guarda los datos inscritos. henua es la tierra, el territorio: el dominio. rongo es el mensaje, el recado — una red transporta mensajes. garo es ocultar, y cifrar es ocultar. terevaka es el volcán más alto de la isla, el punto desde el que se ve todo: una interfaz de terminal es esa vista completa.
Hay más sobre el nombre del lenguaje en la página del nombre.