Ecosistema

Qué viene con kaikai y qué se instala aparte

kaikai sigue el modelo de distribución de Go: el lenguaje llega con su biblioteca estándar en una sola instalación, y todo lo demás vive en repositorios aparte, que agregas 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, como pasa con TLS.

El lenguaje

Lo que recibes al instalar: el compilador, el entorno de ejecución y la biblioteca estándar del núcleo. Una sola descarga, sin gestor de paquetes de por medio.

  • kaikai 0.177.1

    Compilador autoalojado, entorno de ejecución con planificador cooperativo y conteo de referencias Perceus, y la biblioteca estándar del núcleo.

Plataforma

La infraestructura que toda aplicación seria termina necesitando y que no es parte del lenguaje. Si varios proyectos tendrían que reinventarla, vive aquí.

  • ahu 0.2.1

    Bucles de mensajes con estado, políticas de reinicio, registro estructurado y flujos de datos. Recoge lo que OTP hizo bien, sin copiar lo que Erlang necesita solo por su entorno de ejecución.

Bibliotecas de dominio

Un repositorio por dominio, cada uno con sus propias versiones. Se instalan con kai add.

  • kohau 0.4.0

    Bases de datos y persistencia. Dos controladores, SQLite y PostgreSQL, cada uno en dos capas: una interfaz tipada con la biblioteca en C y un cliente que limita el acceso a una sola fibra.

  • henua 0.3.1

    Piezas para el diseño guiado por el dominio: agregados, eventos, repositorios y contextos acotados. No es un ORM.

  • rongo 0.8.0

    Redes avanzadas. Habla HTTPS como cliente y como servidor sobre OpenSSL, sin bloquear el hilo: mientras una petición espera, la fibra cede el paso.

  • garo sin empezar

    Criptografía avanzada: cifrado, derivación de claves y firma, apoyada en las bibliotecas del sistema. La criptografía básica se queda en la biblioteca estándar.

  • hopu sin empezar

    Plataforma financiera: procesamiento de pagos, contabilidad de doble entrada, conciliación e informes regulatorios.

Productos

Bibliotecas de cara al usuario final, cada una con identidad propia.

  • Interfaces de terminal: un árbol de componentes y un ciclo de modelo, actualización y vista que repinta sin parpadeo.

  • manutara sin empezar

    Aplicaciones web con el estado en el servidor, que envía al navegador solo las diferencias. Lo que terevaka es para el terminal, manutara lo es 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.