Módulos y compilación separada

use "path" importa un módulo de origen o una interfaz .sdi eliminada del origen. Las declaraciones son privadas a menos que estén marcadas como pub.

use "math_library"

pub struct measurement {
    pub value: i64
}

pub fn double(value: i64) -> i64 {
    value * 2
}

El compilador limpio resuelve problemas relativos. source/interfaces, manifiesto local path dependencias e instaladas target/ABI-qualified paquetes. .sdi conserva los tipos públicos, genéricos templates/common instancias, efectos, propiedad, procedencia, destructor/clone contratos, hashes de dependencia, destino y ABI identidad. Los cambios de implementación privados pueden dejar estable la identidad del consumidor; publico semantic/ABI los cambios lo invalidan.

Diseño del paquete

package/
├── seed.toml
├── src/main.sd
├── src/lib.sd
└── tests/*.sd

El iniciador del repositorio admite new, check, format, incremental build, run, test, doc, lint, comandos de paquete, LSP y publish --check. Las bibliotecas compiladas locales se pueden instalar utilizando el compilador directo. --install-library, --install-interface, y --package opciones. Dinámico seed las dependencias son las predeterminadas alojadas; --static selecciona los archivos estáticos instalados.

seed pkg resolve/add/update/prune proporciona selección determinista de versión semántica, seed.lock, Objetos inmutables SHA-256, HTTPS/file registros, path/git anulaciones, reutilización fuera de línea, publicación atómica y extracción defensiva de archivos. Las fuentes resueltas se exponen bajo .seed/deps; Los artefactos compilados permanecen. target/ABI-qualified en la tienda de la biblioteca del compilador. La publicación remota real está deliberadamente separada; seed publish --check valida un paquete localmente sin ejecutar scripts de compilación sin restricciones.

No trate los nombres Grove heredados ni los elementos integrados llvm-v1 como visibles automáticamente. Una biblioteca normal API existe solo cuando la fuente importada/.sdi la declara.