NovaLang0.2 alpha

Compatibilidade da 0.2.0-alpha

Matriz

RecursoFront-endVMInterpretadorEstado
Literais, variáveis, funções/chamadassimsimsimsuportado
Aritmética e comparaçõessimsimsimsuportado
if, while, loopsimsimsimsuportado
Arrays, índice e atribuiçãosimsimsimsuportado com limites
Structs/membrossimsimsimparcial
for, ranges e matchsimparcialparcialexperimental
Tuplas/objetossimincompletoparcialexperimental
Interpolaçãosimincompletosimdependente do backend
&&/``simsem curto-circuito
Ternário ?:simrejeitadosimsomente interpretador
Cast as/issimparcialparcialexperimental
Enums, traits, interfaces, impl, genéricossimincompletoincompletofront-end/parcial
Lambdas, async/awaitsimincompletorejeitadofront-end
extern/FFIsimsem ABIsem ABIexperimental
switch, try/catch/throw, defer, yieldsimrejeitadorejeitadofront-end
ref/dereferênciasimincompletorejeitadofront-end
macros/unsafepalavranãonãoreservado

CLI e backends

run, check, build, test, fmt, lint, repl, tokens, ast, ir, bytecode, lsp, init, package, install, deps, publish, search e clean compõem a CLI. Use nova <comando> --help para as flags da build.

A VM é padrão. Teste portabilidade explicitamente:

nova run app.nova --backend vm
nova run app.nova --backend interp

Bytecode, cache e lockfile podem mudar entre alphas.

Política alpha

  1. A primeira 0.2.0-alpha preserva a sintaxe existente quando possível.
  2. Correções de comportamento acidental não são quebra.
  3. Recursos experimentais/front-end/reservados podem mudar ou ser rejeitados mais cedo sem depreciação.
  4. Quebras intencionais em recursos suportados exigem changelog e migração.
  5. Bytecode, cache, AST Rust e APIs das crates não são estáveis.
  6. Antes da 1.0 não há compatibilidade garantida entre minors.
  7. Mudança futura de sintaxe exige RFC; esta alpha não renomeia fn, let, pub ou construções atuais.

A CI mira Windows, Linux e macOS, ainda sem garantia formal de Tier 1.

Relatos devem incluir nova version, SO, backend, exemplo mínimo, comando e resultados. Segurança segue SECURITY.md.