Módulos, projetos e pacotes
mod nome { ... } cria módulo inline. pub marca visibilidade; sem ele, a
visibilidade registrada é privada, mas sua aplicação entre módulos é parcial.
import math
import math::sum
import math::*
import math::sum as add
A resolução procura, em termos gerais:
.nova/deps/<nome>comnova.toml;<diretório-da-entrada>/<nome>.nova;- diretório irmão com manifesto,
<nome>.nova,lib.novaoumain.nova; - pacote de mesmo nome sob a raiz do projeto.
Imports circulares são diagnosticados. O linker atual clona/combina declarações,
sem HIR com identidades globais e namespaces completos. Portanto, visibilidade,
colisões, aliases e imports transitivos têm cobertura limitada. use está
reservado, não implementado.
Projetos usam nova.toml; por convenção a entrada é src/main.nova ou a
declarada no manifesto. Dependências locais ficam em .nova/deps e nova.lock
registra a resolução.
O sistema de pacotes é local e experimental: não promete resolução SemVer transitiva completa, checksums obrigatórios, versões imutáveis, registro remoto ou instalação transacional.
nova init <nome>
nova package [caminho]
nova install [caminho]
nova deps [caminho]
nova publish [caminho]
nova search [consulta]
nova clean [caminho] [--deps]
publish/search usam o registro local, não um serviço público.