Uma linguagem robustamente tipada da família ML que compila para JavaScript rápido e legível, com geração de tipos para TypeScript e integração fácil com JavaScript.
kulics/koral
Uma linguagem de programação compilada experimental, pensada para código gerado por IA e revisado por pessoas, com sintaxe explícita, sem garbage collector e compilação para C.
- Estrelas
- 418
- Forks
- 27
- Issues abertas
- 0
- Último commit
- há 5 horas
O que é?
Koral é uma linguagem de programação compilada criada com a ideia de que boa parte do código hoje é produzida por agentes de IA e ainda precisa ser lida por pessoas. Sua sintaxe privilegia formas de reduzir erros: toda instrução termina com ponto e vírgula explícito, a mutabilidade é declarada uma vez no tipo, cada nome no escopo do módulo tem um único proprietário, e o tratamento de erros é escrito inline nas expressões, em vez de usar throw, try ou catch.
O gerenciamento de memória não usa garbage collector nem exige chamadas manuais a free. Tipos nominais são declarados de uma de duas formas: um `type` imutável ou um `type mutable` compartilhado; o gerenciamento de memória decorre dessa escolha. O compilador gera C, o que, segundo o projeto, tem como objetivo oferecer ampla compatibilidade entre plataformas. A linguagem inclui tipos de dados algébricos, pattern matching exaustivo, generics com restrições de trait, trait objects, uma C FFI e `defer`.
O projeto é marcado como experimental e ainda não está pronto para produção. Seu compilador é self-hosting: foi escrito na própria Koral e inicializado a partir de um compilador de referência em Swift, cuja versão foi congelada.
Recursos principais
- 01As instruções terminam com ponto e vírgula explícito, e as importações usam uma única forma: `using`.
- 02A memória é gerenciada sem garbage collector nem chamadas manuais a free, com base em `type` e `type mutable`.
- 03O fluxo de controle, como `if`, `when`, `while` e `for`, é baseado em expressões e inclui pattern matching exaustivo.
- 04Os erros são tratados inline com `or else`, `and then` e `or return`.
- 05Compila para C e oferece uma C FFI com ponteiros raw e `defer`.
Casos de uso
- Explorar uma linguagem projetada para facilitar a revisão de código gerado por IA.
- Estudar design de compiladores, incluindo um compilador self-hosting e um backend para C.
- Experimentar o gerenciamento de memória sem garbage collector.
Início rápido
- 1
Clone o repositório
git clone https://github.com/kulics/koral.git - 2
Compile o compilador de referência congelado do Swift (requer um toolchain do Swift)
swift build -c release --package-path compiler-reference - 3
Compile o compilador autossuficiente usando o compilador de referência
compiler-reference/.build/release/koralc build --package-config compiler/koral.json --target-module koralc -o bin/compiler
Antes de usar
- É experimental e ainda não está pronto para produção.
- A compilação requer um toolchain do Swift, clang e Git.
- A compilação é feita por meio de C, então é necessário um toolchain de C para gerar binários.
Em coleções
Tópicos
Perguntas frequentes
- O que é koral?
- Uma linguagem de programação compilada experimental, pensada para código gerado por IA e revisado por pessoas, com sintaxe explícita, sem garbage collector e compilação para C. Koral é uma linguagem de programação compilada criada com a ideia de que boa parte do código hoje é produzida por agentes de IA e ainda precisa ser lida por pessoas. Sua sintaxe privilegia formas de reduzir erros: toda instrução termina com ponto e vírgula explícito, a mutabilidade é declarada uma vez no tipo, cada nome no escopo do módulo tem um único proprietário, e o tratamento de erros é escrito inline nas expressões, em vez de usar throw, try ou catch.
- koral é gratuito? Qual é a licença?
- koral é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- koral ainda é mantido?
- Manutenção ativa. O último commit de koral foi em 6 de nov. de 2026.
- Para que posso usar koral?
- Explorar uma linguagem projetada para facilitar a revisão de código gerado por IA. Estudar design de compiladores, incluindo um compilador self-hosting e um backend para C. Experimentar o gerenciamento de memória sem garbage collector.
- Como instalar koral?
- Clone o repositório: git clone https://github.com/kulics/koral.git Compile o compilador de referência congelado do Swift (requer um toolchain do Swift): swift build -c release --package-path compiler-reference Compile o compilador autossuficiente usando o compilador de referência: compiler-reference/.build/release/koralc build --package-config compiler/koral.json --target-module koralc -o bin/compiler
- Onde consigo koral?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/kulics/koral
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
A linguagem de programação Go, open source e criada para desenvolver software simples, confiável e eficiente.
O repositório principal do código-fonte da linguagem Rust, com o compilador, a biblioteca padrão e a documentação.
Sway é uma linguagem de programação inspirada em Rust para escrever smart contracts na blockchain Fuel.
Uma linguagem de programação compilada, simples e rápida, para criar software fácil de manter, sem dependências de bibliotecas e com tradução automática de C para V.
Odin é uma linguagem de programação de sistemas, de propósito geral e orientada a dados, apresentada como alternativa ao C e com uma biblioteca padrão integrada.