Especificação da NovaLang 0.2.0-alpha
Esta referência versionada descreve o comportamento que existe no repositório, e não uma linguagem futura idealizada. Em caso de divergência, os testes e a implementação da versão distribuída são a fonte operacional; a divergência deve ser registrada como bug.
Estabilidade: alpha. Sintaxe, semântica, bytecode e APIs podem mudar antes da 1.0. A sintaxe atual será preservada durante a primeira alpha, salvo correções necessárias por segurança ou correção.
Estados usados
- Suportado: analisado e executável no caminho indicado.
- Parcial: existe, mas possui limitações relevantes.
- Somente front-end: lexer/parser/AST aceitam, mas a execução não.
- Reservado: palavra reservada sem construção utilizável na alpha.
Documentos
Escopo
fonte .nova → lexer → parser → módulos → semântica → tipos
→ interpretador
ou IR → otimizador → bytecode → VM
A VM é o backend padrão de nova run e nova test. O interpretador é
selecionado com --backend interp. Eles ainda não têm paridade total. Um
programa executável normalmente declara fn main().
Esta versão não promete ABI, formato estável de .novabc, estabilidade da AST
Rust, compatibilidade de pacotes entre versões, sandbox de código não confiável
ou equivalência completa entre VM e interpretador.