Lenguaje con tipos robustos de la familia ML que compila a JavaScript rápido y legible, genera tipos de TypeScript y facilita la interoperabilidad con JavaScript.
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
Clona el repositorio
git clone https://github.com/kulics/koral.git - 2
Compila el compilador de referencia de Swift congelado (requiere un toolchain de Swift)
swift build -c release --package-path compiler-reference - 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
Go, un lenguaje de programación de código abierto para crear software sencillo, confiable y eficiente.
Repositorio principal del lenguaje de programación Rust, con el compilador, la biblioteca estándar y la documentación.
Sway es un lenguaje de programación inspirado en Rust para escribir smart contracts en la blockchain Fuel.
Lenguaje de programación compilado, sencillo y rápido, para crear software fácil de mantener, sin dependencias de bibliotecas y con traducción automática de C a V.
Odin es un lenguaje de programación de sistemas, de propósito general y orientado a datos, que se presenta como alternativa a C y cuenta con una biblioteca estándar integrada.