NovaLang0.2 alpha

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.