Repolode
kulics

kulics/koral

Un lenguaje de programación compilado experimental, diseñado para código generado por IA que revisan personas, con sintaxis explícita, sin recolector de basura y con compilación a C.

Estrellas
418
Forks
27
Issues abiertos
0
Último commit
hace 17 horas

¿Qué es?

Koral es un lenguaje de programación compilado, creado en torno a la idea de que ahora gran parte del código lo producen agentes de IA y, aun así, las personas tienen que leerlo. Su sintaxis ofrece pocas posibilidades de cometer errores: cada instrucción termina con un punto y coma explícito, la mutabilidad se declara una sola vez en el tipo, cada nombre a nivel de módulo tiene un único propietario y el manejo de errores se escribe en línea dentro de las expresiones, en lugar de usar throw, try o catch.

La gestión de memoria no usa recolector de basura ni requiere liberar memoria manualmente. Los tipos nominales se declaran de una de dos formas: un `type` inmutable o un `type mutable` compartido; la gestión de memoria se deriva de esa elección. El compilador genera C, que el proyecto describe como una opción orientada a ofrecer amplia compatibilidad con plataformas. El lenguaje incluye tipos de datos algebraicos, pattern matching exhaustivo, genéricos con restricciones de traits, objetos trait, una FFI de C y `defer`.

El proyecto se considera experimental y todavía no está listo para producción. Su compilador es self-hosting: está escrito en Koral y se construye inicialmente a partir de un compilador de referencia en Swift, congelado.

Funciones clave

  • 01Las instrucciones terminan con puntos y coma explícitos y las importaciones usan una única forma, `using`.
  • 02La memoria se gestiona sin recolector de basura ni liberación manual, según se use `type` o `type mutable`.
  • 03El flujo de control, como `if`, `when`, `while` y `for`, se basa en expresiones y admite pattern matching exhaustivo.
  • 04Los errores se gestionan en línea con `or else`, `and then` y `or return`.
  • 05Compila a C y ofrece una FFI de C con punteros sin procesar y `defer`.

Casos de uso

  • Explorar un lenguaje diseñado para facilitar la revisión de código generado por IA.
  • Estudiar el diseño de compiladores, incluido un compilador self-hosting y un backend de C.
  • Experimentar con la gestión de memoria sin recolector de basura.

Inicio rápido

  1. 1

    Clona el repositorio

    git clone https://github.com/kulics/koral.git
  2. 2

    Compila el compilador de referencia de Swift congelado (requiere un toolchain de Swift)

    swift build -c release --package-path compiler-reference
  3. 3

    Compila el compilador autocontenido con el compilador de referencia

    compiler-reference/.build/release/koralc build --package-config compiler/koral.json --target-module koralc -o bin/compiler

Antes de usarlo

  • Es experimental y todavía no está listo para producción.
  • Para compilarlo se necesita un toolchain de Swift, clang y Git.
  • Compila mediante C, por lo que se necesita un toolchain de C para generar binarios.

En colecciones

Temas

Preguntas frecuentes

¿Qué es koral?
Un lenguaje de programación compilado experimental, diseñado para código generado por IA que revisan personas, con sintaxis explícita, sin recolector de basura y con compilación a C. Koral es un lenguaje de programación compilado, creado en torno a la idea de que ahora gran parte del código lo producen agentes de IA y, aun así, las personas tienen que leerlo. Su sintaxis ofrece pocas posibilidades de cometer errores: cada instrucción termina con un punto y coma explícito, la mutabilidad se declara una sola vez en el tipo, cada nombre a nivel de módulo tiene un único propietario y el manejo de errores se escribe en línea dentro de las expresiones, en lugar de usar throw, try o catch.
¿koral es gratuito? ¿Qué licencia tiene?
koral es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿koral sigue mantenido?
Mantenimiento activo. El último commit de koral fue el 6 nov 2026.
¿Para qué puedo usar koral?
Explorar un lenguaje diseñado para facilitar la revisión de código generado por IA. Estudiar el diseño de compiladores, incluido un compilador self-hosting y un backend de C. Experimentar con la gestión de memoria sin recolector de basura.
¿Cómo se instala koral?
Clona el repositorio: git clone https://github.com/kulics/koral.git Compila el compilador de referencia de Swift congelado (requiere un toolchain de Swift): swift build -c release --package-path compiler-reference Compila el compilador autocontenido con el compilador de referencia: compiler-reference/.build/release/koralc build --package-config compiler/koral.json --target-module koralc -o bin/compiler
¿Dónde consigo koral?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/kulics/koral

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados