Referencia de la biblioteca operativa
Esta página cataloga los paquetes seed ordinarios organizados por el compilador operativo LLVM de seed/compiler/llvm/libs. No trata todos los directorios del árbol de compatibilidad Grove de nivel superior como un paquete actual.
Importar y construir modelo
Los paquetes principales del repositorio utilizan importaciones simples:
use "io"
use "parse"
use "vec"
Las rutas incrementales build y run del iniciador resuelven estos nombres, crean artefactos nativos profile/target-compatible y .sdi y reutilizan las generaciones instaladas exactas. El subcomando más limitado check actualmente invoca la verificación directa de código fuente y no prepara primero un paquete básico que falta. Una compilación --static explícita selecciona dependencias estáticas seed coincidentes; La vinculación alojada ordinaria utiliza los artefactos dinámicos compatibles con el perfil de forma predeterminada.
La disponibilidad sigue estando limitada por el manifiesto de cada paquete y la matriz de capacidad de destino canónica. Un paquete que está presente en el árbol de origen no agrega servicios de ejecución a un destino que carece de ellos.
Catálogo de paquetes
| Paquete | Superficie pública principal | Rol |
|---|---|---|
box |
box_new, view, into_inner |
Dirección indirecta de propiedad única falible para valores recursivos o grandes |
byte_buffer |
byte_buffer_new, reserve, push, extend, resize, into_bytes |
Construcción de bytes inicializados conscientes de la capacidad con crecimiento falible comprobado |
fibonacci |
fibonacci_i64 |
Fibonacci iterativo comprobado sin asignación que devuelve none por entrada negativa o desbordamiento |
file |
write_text, write_stdout, write_stderr, variantes de formato |
Envoltorios de compatibilidad de salida alojados basados en descriptores |
format |
bool_text, option_bool_text |
Pequeños ayudantes de formato de texto estático |
io |
input_stream, output_buffer, read/write/all y operaciones de formato |
Mecanografiado parcial y alojado en buffer I/O con io_error |
math |
sqrt_*, abs_*, min_*, max_* |
Portátil en línea f32/f64 operaciones |
net |
open_ipv4_stream, socket |
Envoltorio de socket de flujo IPv4 de propiedad alojada mínima |
parse |
parse_i*, parse_u*, parse_*_or |
Análisis de enteros comprobado con parse_error escrito y valores predeterminados explícitos |
process |
current_id, argument_count, argument, environment, process_fork, process_exec_args, process_exec_args_with_environment, process_change_directory, process_wait |
Vistas process/environment sin asignación y primitivas de subproceso alojadas limitadas |
serialize |
encode_bool, decode_bool |
Superficie de serialización segura mínima y representativa |
mobile |
enlaces de plataforma, ciclo de vida, entrada, visualización, portapapeles | Android API 21/29/37 Ejecución del simulador ARM64 AVD y iOS 26.5 ARM64 |
path_file |
file_descriptor, open, read, write, metadata |
Descriptores de archivos de ruta propios para secuencial verificado I/O, cambio de nombre atómico y bloqueo de aviso |
slice |
slice_split_at_mut, marcha atrás, rotación, ayudantes de ventana |
Algoritmos genéricos sin asignación sobre sectores escritos de forma nativa |
sort |
funciones de clasificación escalar y sort_by_key |
Clasificación de sectores mutables in situ, incluido el envío de claves estáticas para valores de solo movimiento |
system |
envoltorios de direcciones, tablas de páginas, MMIO, atómica, asignación de relieve, pinned/DMA valores | Abstracciones de sistemas independientes auditados sobre construcciones inseguras explícitas |
task |
canales, uniones, resultados escritos, eventos, cancelaciones, grupos de espera, semáforos, barreras, bloqueos | Comunicación y sincronización estructuradas respaldadas por un programador |
text |
utf8_next, utf8_count, utf8_validate, split_ascii |
Sin asignación UTF-8 escalar validation/counting y cursores de token delimitados por ASCII |
time |
monotonic_ms, wall_time_seconds, wall_time_ms |
Valores de tiempo transcurrido alojados y de reloj de pared Unix |
vec |
vec, API de cola, conjunto, mapa y mutación falible |
Colecciones de propiedad genérica con limpieza exacta y vistas comprobadas. |
Paquetes de aplicaciones en el nivel superior. Grove árbol incluye std-uuid 0.2. Proporciona asignación gratuita UUID validación de texto, validación estricta RFC 9562 UUIDv7, determinista uuid_v7_from_partsy falible uuid_v7 generación respaldada por milisegundos de reloj de pared alojados más 74 bits del sistema operativo auditado entropy paquete. Los UUID siguen siendo identificadores más que credenciales.
Convenciones de propiedad y error
Los paquetes operativos siguen el modelo de propiedad del idioma:
- constructores que asignan retorno
result<t, alloc_error>oalloc_result<t>; - los valores propios se mueven y ejecutan su destructor exactamente una vez en salidas estructuradas;
- prestado
stry los resultados del corte se conservan receiver/input procedencia; @mutLos métodos de receptor tienen préstamos exclusivos con alcance de llamada y cambios persistentes. en la persona que llama;- los ayudantes consumidores explícitos transfieren la propiedad en lugar de ocultar clones;
- La construcción del puntero sin procesar permanece
unsafe, incluso cuando los métodos posteriores son seguros porque el contenedor conserva el invariante auditado; - El I/O recuperable y los errores de análisis utilizan ADT de paquete en lugar de centinela. valores o terminación implícita del proceso.
I/O
El nuevo código debería preferir io sobre el más estrecho file envoltorios de compatibilidad. La distinción importante es la entrada parcial:
input_stream.read(mut []u8)devuelve un recuento data/EOF escrito;stdin_read_all()está disponible cuando se desea conservar la entrada completa;- las operaciones de salida distinguen una escritura de
write_all; - f-string
format_argsse puede escribir directamente sin asignar una propiedad cuerda.
byte_buffer y io comparten el contrato de prefijo inicializado. Las personas que llaman de forma segura nunca observan capacidad sobrante no inicializada.
Grove ejecución de comando
el Grove command El paquete proporciona ejecución secundaria limitada basada en argv para aplicaciones alojadas. command_run_configured_with_stdin_file tiene el mismo directorio de trabajo, entorno, tiempo de espera y contrato de límite de captura que command_run_configuredy, además, conecta un archivo de entrada normal existente a la entrada estándar del niño. El archivo se abre sin seguir un enlace simbólico final y todo parent/child Los descriptores conservan la limpieza exacta. Esto es útil para protocolos stdio limitados, como servidores de idiomas, sin invocar un shell o retener una segunda copia en memoria de la solicitud enmarcada.
Colecciones y cortes
vec<t> es la secuencia genérica cultivable canónica. Proporciona capacidad falible y operaciones de empuje, verificadas update/pop, vistas de solo lectura y mutables, y limpieza exacta para elementos de solo movimiento. Los tipos de cola, conjunto y mapa utilizan el mismo modelo de propiedad.
Nativo []t y mut []t siguen siendo los tipos de secuencia estándar prestados. el slice el paquete agrega algoritmos; indexación comprobada, corte, fill, copy_from, y split_at_mut son operaciones centrales en lugar de una envoltura heredada de rebanadas de grasa cruda.
Tareas
task es un paquete normal, no un conjunto de lenguajes integrados. Proporciona:
- canales delimitados con propiedad dividida;
- combinaciones one-shot escritas y
result<t,e>resultados de la tarea; - eventos y cancelación;
- grupos de espera, semáforos, barreras y cerraduras.
Los puntos finales y los tickets conservan su linear/exact-cleanup contratos. directo spawn permanece estructurado léxicamente y postfijo ? no puede cruzar el límite del cuerpo generado mientras ese cuerpo ABI regresa void.
Paquete de sistemas
system Objetivos declarados perfiles exentos. Las direcciones sin procesar, los punteros MMIO, el almacenamiento atómico, los búferes anclados, los búferes DMA y el almacenamiento de respaldo del asignador se crean a través de unsafe constructores. Los métodos seguros dependen de las obligaciones de alineación, vida útil, espacio de direcciones, sincronización y propiedad de esos constructores.
La presencia de este paquete no implica que todos los destinos alojados o independientes proporcionen todos los servicios del sistema. Consulte Primitivas del sistema y la matriz de destino Gate 14.
Grove inventario de paquetes
el nivel superior grove/libs/ corpus completó la clasificación G01-G22: 218 paquetes manifestados están cubiertos exactamente una vez por el Grove arnés de puerta. Los paquetes portados exponen las interfaces actuales eliminadas del código fuente; Los paquetes archivados exponen sólo sus documentos documentados. validation/unavailability límite. Ver Grove Árbol de compatibilidad y Hoja de ruta de la biblioteca.
Ridge paquetes v0.3
La pila de base de datos local Ridge v0.3 completa se divide en paquetes Grove normales:
| Paquete | Rol |
|---|---|
ridge |
B+Tree almacenamiento, WAL, MVCC, restricciones, backup/recovery, integridad y vacío |
ridge_sql |
Varias columnas acotadas SQL transacciones, índices, planificador, derrame, JSON, análisis y observabilidad |
ridge_pgwire |
Servidor pgwire Loopback TLS/password y protocolo extendido de texto delimitado |
ridge_timeseries |
Claves de tiempo compuestas persistentes, range/bucket/rate/retention/downsampling operaciones |
ridge_fulltext |
Normalizado persistente terms/positions, boolean/prefix/phrase búsqueda, subconjunto BM25, destacados |
ridge_vector |
Se corrigieron vectores f32, top-k exacto, HNSW persistente acotado, filtros, recall/memory límites |
ridge_ops |
Archivo de límites de confirmación PITR, ejercicios de restauración, migraciones, mantenimiento, health/metrics/logs/quotas |
Estos son contratos de base de datos locales limitados, no PostgreSQL servicios de paridad o cluster. Ver Ridge Base de datos y el Ridge documento de capacidad para conocer las formas y exclusiones exactas admitidas.
fuentes de verdad
- fuente del paquete y manifiestos:
seed/compiler/llvm/libs/*/; - operaciones conocidas por el compilador: Bibliotecas básicas integradas y estándar;
- contratos de propiedad: Ownership;
- límites de implementación y objetivos: Estado actual.