Repolode
kulics

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. 1

    Clone o repositório

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

    Compile o compilador de referência congelado do Swift (requer um toolchain do Swift)

    swift build -c release --package-path compiler-reference
  3. 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