Comunidad

Dónde ocurre kaikai

El proyecto es joven y se construye a la vista de todos. Todavía no hay foro ni chat: la conversación ocurre en los repositorios y en el blog, y te esperamos en ambos.

El código

El lenguaje, las bibliotecas y este sitio viven en la organización en GitHub. El repositorio del compilador es kaikailang-org/kaikai: ahí están el compilador autoalojado, el entorno de ejecución, la biblioteca estándar y la documentación de diseño.

Si algo no funciona, abre una incidencia en el repositorio: es la vía principal para avisar. Ayuda mucho que incluyas la salida de kai --version y el programa más pequeño que reproduzca el problema. Si el compilador acepta algo que no debería, o rechaza algo que sí, ese caso mínimo es la mitad del arreglo.

El libro

Programación efectiva con kaikai se escribe a la par del lenguaje, en español e inglés. Puedes leerlo en línea o descargarlo en PDF. Es un borrador vivo: cada versión se valida contra el compilador del momento, así que los ejemplos que trae son los que de verdad corren.

Su repositorio es kaikailang-org/kaikai-book, y las correcciones al texto también se reciben ahí, como incidencias.

El blog

Las novedades y las decisiones de diseño se cuentan en el blog de kaikai: por qué efectos algebraicos, por qué conteo de referencias en vez de recolector, qué se probó y qué se descartó. La historia anterior del proyecto está en lnds.net, el blog personal de Eduardo Díaz.

Estado del proyecto

kaikai todavía no llega a la versión 1.0 y va por la edición Hanga Roa. Dentro de una edición el lenguaje se mantiene estable, así que actualizar es simple: lees las notas de la versión, corres kai upgrade y vuelves a compilar. Los cambios incompatibles se guardan para el paso a la edición siguiente.

La versión 1.0 se posterga a propósito: llegará cuando el lenguaje esté asentado, no en una fecha fijada de antemano.

Agradecimientos

kaikai le debe su forma a lenguajes que resolvieron antes las mismas preguntas: los efectos algebraicos y su comprobación de filas vienen de la línea de Koka y Effekt; el conteo de referencias Perceus, de la investigación que Koka publicó; la inferencia de tipos, de la tradición de ML; la concurrencia estructurada, de lo que popularizó Trio; el modelo de ediciones, del manifiesto de estabilidad de Rust; y el modelo de distribución, de Go.