Sobre o projeto
Promise é uma linguagem de programação de tipagem estática projetada para a eficiência de agentes de IA — e escrita por agentes de IA. Ela apresenta ownership explícito (inspirado em Rust), concorrência no estilo goroutine (inspirada em Go), tratamento algébrico de erros, generics e correspondência de padrões exaustiva, sem efeitos ocultos.
Principais recursos:
- Ownership e borrowing com `&` (compartilhado), `~` (mutável) e `*` (ponteiros brutos)
- Tratamento algébrico de erros via `!`, `?^`, `?!` e handlers com correspondência de padrões
- Generics com restrições de tipo
- Enums com dados e correspondência de padrões exaustiva
- Interpolação de strings e concorrência no estilo goroutine (`go expr` retorna `Task[T]`)
- Geradores com `yield` e `yield*`
- Metaanotações para metadados declarativos
- Sem macros ou compilação condicional — todo o código totalmente visível
Catálogo mono-versionado: O ecossistema é distribuído como lançamentos atômicos de "epoch" (por exemplo, `2026.0`). Sem versões por pacote ou arquivos de lock. Cada módulo é testado em conjunto como uma unidade.
Módulos da biblioteca padrão implementados: `io`, `json`, `os`, `net`, `tls`, `path`, `math`, `strings`, `time`, `http`, `gzip`, `crypto`, `encoding`. Planejados: `ai`, `auth`, `cloud`, `markdown`, `mcp`, `msgpack`, `sandbox`, `schema`, `term`, `toml`, `yaml`.
Toolchain autocontida: O compilador é um único binário (~15MB) que agrupa a biblioteca padrão, módulos do catálogo e runtime. Ele configura sua própria toolchain LLVM 22 em `~/.promise`.
Compilação LLVM nativa tem como alvos Linux, macOS, Windows e WASM.
Uso:
promise build file.pr # compila para executável
promise run file.pr # compila e executa
promise exec 'code' # execução inline
promise test file.pr # executa testes
promise check file.pr # apenas verificação de tipos
Compilação a partir do código-fonte requer Go 1.22+, Java (para ANTLR4), clang e LLVM 22+.
Promise é construída usando Bounded-Autonomy Software Engineering (BASE), uma metodologia em que humanos definem intenção durável e portões de qualidade enquanto agentes de IA cuidam da implementação. Em agosto de 2026, o projeto inclui 18.869 testes no compilador e na linguagem.
Status: Em desenvolvimento ativo, não para uso em produção. O compilador é funcional de ponta a ponta, mas espere imperfeições e falhas.
Licença: Apache-2.0 ou MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.