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.