Riferimento alla libreria operativa
Questa pagina cataloga i pacchetti seed ordinari gestiti dal compilatore operativo LLVM da seed/compiler/llvm/libs. Non tratta ogni directory nell'albero di compatibilità Grove di livello superiore come un pacchetto corrente.
Importa e crea modello
I pacchetti core del repository utilizzano importazioni semplici:
use "io"
use "parse"
use "vec"
I percorsi incrementali build e run del programma di avvio risolvono questi nomi, creano artefatti profile/target-compatible nativi e .sdi e riutilizzano le esatte generazioni installate. Il sottocomando più ristretto check attualmente invoca il controllo diretto del codice sorgente e non mette prima in scena un pacchetto nudo mancante. Una build --static esplicita seleziona le dipendenze statiche seed corrispondenti; il collegamento ospitato ordinario utilizza gli artefatti dinamici compatibili con il profilo per impostazione predefinita.
La disponibilità rimane vincolata dal manifest di ciascun pacchetto e dalla matrice di capacità di destinazione canonica. Un pacchetto presente nell'albero di origine non aggiunge servizi runtime a una destinazione che ne è priva.
Catalogo dei pacchetti
| Pacchetto | Superficie pubblica principale | Ruolo |
|---|---|---|
box |
box_new, view, into_inner |
Indiretto di proprietà univoca fallibile per valori ricorsivi o di grandi dimensioni |
byte_buffer |
byte_buffer_new, reserve, push, extend, resize, into_bytes |
Costruzione di byte inizializzati in grado di riconoscere la capacità con crescita fallibile controllata |
fibonacci |
fibonacci_i64 |
Fibonacci iterativo controllato senza allocazione che restituisce None per input negativo o overflow |
file |
write_text, write_stdout, write_stderr, varianti formato |
Wrapper di compatibilità dell'output ospitato basati su descrittore |
format |
bool_text, option_bool_text |
Piccoli helper statici in formato testo |
hkdf |
hkdf_extract, hkdf_expand |
Funzioni pseudo-casuali RFC 5869 HKDF-SHA256 (estrazione + espansione) su hmac_sha256 primitivo |
io |
input_stream, output_buffer, read/write/all e operazioni di formato |
Parziale digitato e ospitato nel buffer I/O con io_error |
math |
sqrt_*, abs_*, min_*, max_* |
In linea portatile f32/f64 operazioni |
net |
open_ipv4_stream, socket |
Wrapper stream-socket IPv4 di proprietà minima ospitata |
parse |
parse_i*, parse_u*, parse_*_or |
Analisi degli interi controllata con parse_error digitato e valori predefiniti espliciti |
process |
current_id, argument_count, argument, environment, process_fork, process_exec_args, process_exec_args_with_environment, process_change_directory, process_wait |
Viste process/environment senza allocazione e primitive di sottoprocessi ospitate limitate |
serialize |
encode_bool, decode_bool |
Superficie di serializzazione sicura rappresentativa minima |
mobile |
collegamenti alla piattaforma, ciclo di vita, input, visualizzazione, appunti | Android API 21/29/37 ARM64 AVD e iOS 26.5 Esecuzione simulatore ARM64 |
path_file |
file_descriptor, open, read, write, metadata |
Descrittori di file di percorso posseduti per la sequenziale controllata I/O, ridenominazione atomica e blocco consultivo |
slice |
slice_split_at_mut, inversione, rotazione, aiutanti per finestre |
Algoritmi generici senza allocazione su sezioni tipizzate native |
sort |
funzioni di ordinamento scalare e sort_by_key |
Ordinamento di sezioni modificabili sul posto, incluso l'invio di chiavi statiche per valori di solo spostamento |
system |
wrapper di indirizzi, tabelle di pagina, MMIO, elementi atomici, allocazione bump, pinned/DMA valori | Astrazioni di sistemi indipendenti verificate rispetto alla costruzione esplicita non sicura |
task |
canali, join, risultati digitati, eventi, cancellazioni, gruppi di attesa, semafori, barriere, blocchi | Comunicazione e sincronizzazione strutturate supportate da scheduler |
text |
utf8_next, utf8_count, utf8_validate, split_ascii |
Senza assegnazione UTF-8 scalare validation/counting e cursori token delimitati da ASCII |
time |
monotonic_ms, wall_time_seconds, wall_time_ms |
Valori del tempo trascorso e dell'orologio da parete Unix ospitati |
tls13 |
tls13_core_seal/open, tls13_chacha_seal/open, tls13_record_pack/unpack, tls13_hkdf_expand_label, tls13_derive_secret, traffico secret/key/iv derivazione |
Puro-seed TLS 1.3 ChaCha20-Poly1305 AEAD, record protect/unprotect e pianificazione chiave RFC 8446 §7; no handshake/X.509 ancora |
vec |
vec, API di coda, set, mappa e mutazione fallibile |
Raccolte di proprietà generiche con pulizia esatta e visualizzazioni controllate |
Pacchetti applicativi di primo livello Grove l'albero include std-uuid 0,2. Fornisce senza allocazione UUID convalida del testo, convalida rigorosa UUIDv7 RFC 9562, deterministica uuid_v7_from_parts, e fallibile uuid_v7 generazione supportata dai millisecondi dell'orologio da parete ospitato più 74 bit dal sistema operativo controllato entropy pacchetto. Gli UUID rimangono identificatori anziché credenziali.
Proprietà e convenzioni di errore
I pacchetti operativi seguono il modello di proprietà della lingua:
- costruttori che allocano restituiscono
Result<T, alloc_error>oAllocResult<T>; - i valori posseduti si muovono ed eseguono il loro distruttore esattamente una volta su uscite strutturate;
- preso in prestito
stre i risultati delle sezioni vengono preservati receiver/input provenienza; @muti metodi riceventi detengono prestiti esclusivi nell'ambito della chiamata e mantengono le modifiche nel chiamante;- gli aiutanti espliciti al consumo trasferiscono la proprietà anziché nascondere i cloni;
- la costruzione del puntatore grezzo rimane
unsafe, anche quando i metodi successivi sono sicuri perché il wrapper preserva l'invariante controllato; - recuperabile I/O e gli errori di analisi utilizzano gli ADT del pacchetto anziché la sentinella valori o terminazione implicita del processo.
I/O
Il nuovo codice dovrebbe preferire io rispetto ai wrapper di compatibilità file più stretti. La distinzione importante è l’input parziale:
input_stream.read(mut []u8)restituisce un conteggio data/EOF digitato;stdin_read_all()è disponibile quando si desidera conservare l'input completo;- le operazioni di output distinguono una scrittura da
write_all; - La stringa f
format_argspuò essere scritta direttamente senza allocare un valore di proprietà stringa.
byte_buffer e io condividono il contratto con prefisso inizializzato. I chiamanti sicuri non rispettano mai la capacità di riserva non inizializzata.
Grove esecuzione del comando
Il Grove command Il pacchetto fornisce un'esecuzione figlio limitata basata su argv per le applicazioni ospitate. command_run_configured_with_stdin_file ha lo stesso contratto di directory di lavoro, ambiente, timeout e limite di acquisizione di command_run_configurede inoltre collega un file di input regolare esistente all'input standard del bambino. Il file viene aperto senza seguire un collegamento simbolico finale e tutto parent/child i descrittori mantengono la pulizia esatta. Ciò è utile per i protocolli stdio limitati come i server linguistici senza invocare una shell o conservare una seconda copia in memoria della richiesta con frame.
Collezioni e fette
vec<t> è la sequenza generica coltivabile canonica. Fornisce capacità fallibile e operazioni push, controllate update/pop, visualizzazioni di sola lettura e modificabili e pulizia esatta per gli elementi di solo spostamento. I tipi di coda, set e mappa utilizzano lo stesso modello di proprietà.
Nativo []t e mut []t rimangono i tipi di sequenze presi in prestito standard. Il slice il pacchetto aggiunge algoritmi; controllato l'indicizzazione, l'affettatura, fill, copy_from, e split_at_mut sono operazioni fondamentali piuttosto che un involucro legacy di fette di grasso grezzo.
Compiti
task è un pacchetto ordinario, non un insieme di linguaggi integrati. Fornisce:
- canali delimitati dalla suddivisione della proprietà;
- digitato one-shot join e
Result<T, E>risultati del compito; - eventi e cancellazioni;
- gruppi di attesa, semafori, barriere e serrature.
Gli endpoint e i ticket mantengono la loro linear/exact-cleanup contratti. Diretto spawn rimane lessicalmente strutturato e suffisso ? non può attraversare il confine del corpo generato mentre quel corpo ABI ritorna void.
Pacchetto sistemi
system obiettivi dichiarati profili indipendenti. Gli indirizzi grezzi, i puntatori MMIO, l'archiviazione atomica, i buffer bloccati, i buffer DMA e l'archiviazione di supporto dell'allocatore vengono creati tramite unsafe costruttori. I metodi sicuri si basano sull'allineamento, sulla durata, sullo spazio degli indirizzi, sulla sincronizzazione e sugli obblighi di proprietà di tali costruttori.
La presenza di questo pacchetto non implica che tutte le destinazioni ospitate o indipendenti forniscano tutti i servizi di sistema. Consultare System Primitives e la matrice target Gate 14.
Grove inventario dei pacchi
Il livello più alto grove/libs/ corpus completato classificazione G01–G22: 218 pacchetti manifestati sono coperti esattamente una volta dal Grove cablaggio del cancello. I pacchetti portati espongono le attuali interfacce elise dal codice sorgente; i pacchetti archiviati espongono solo i loro file documentati validation/unavailability confine. Vedi Grove Albero di compatibilità e Roadmap della biblioteca.
Pacchetti client di rete operativi
| Pacchetto | Ruolo | Confine attuale |
|---|---|---|
std-url |
Assoluto limitato senza allocazione URL parser | Intervalli di componenti presi in prestito, IPv6 tra parentesi, porte controllate; no IDNA/relative risoluzione |
tls |
Di proprietà OpenSSL 3 server/client contesti e connessioni | TLS 1,2 minimo; certificato client e verifica hostname/IP più timeout dell'handshake digitato; macOS Esecuzione ARM64 e Linux AArch64 cross-build |
http-client |
Puro-seed HTTP/1.1 cliente (n OpenSSL): GET su TCP grezzo o su tls13 trasporto |
Limiti digitati (connect/io timeout, head/header/body maiuscoli), Autorizzazione facoltativa, Content-Length/chunked/close-delimited inquadratura, di proprietà delimitata Location/Retry-After, bloccando read() cursore e un bridge di sorgente audio per la sorgente di callback del codec condiviso; DNS tramite il puro seed dns pacchetto con IPv4 letterale e localhost percorsi veloci; nessun cookie, reindirizzamenti, decompressione o pooling |
http-client-tls |
Puro e sottile seed involucro preservando il TLS-contesto API (system/open/enabled, get_host_authority_authorized) finito http-client + tls13 |
Stesso stack TLS 1.3 verificato dell'e2e verificato dal server; verifica del nome host del CertificatoVerifica prova del possesso della chiave; la distribuzione del root store del sistema rimane una lacuna documentata |
http-fetch |
Reindirizzamento limitato assoluto HTTP/HTTPS URL composizione rispetto al puro-seed clienti | Risoluzione IPv4 del sistema, autorità esplicita, gestione dei riferimenti relativi e dei segmenti di punto, eliminazione dei frammenti, limite di reindirizzamento, rifiuto del downgrade HTTPS, autorizzazione solo HTTPS limitata ai reindirizzamenti della stessa origine ed esponenziale limitato limitato al chiamante retry/backoff per errori GET temporanei; nessuna cancellazione del risolutore, cache o hook di policy |
audio-network-source |
Adattatore di proprietà esatta da un corpo HTTP/HTTPS all'origine di richiamata del codec condiviso | HTTP getter conveniente più trasferimento corpo generico; La politica retry/cache/live-stream rimane al di sopra di essa; collegamento delle applicazioni http_client_source.c per il bridge di callback |
I limiti completi e le evidenze target sono registrati nel documento G12 e G14 linee di base.
Pacchetti di aggiornamento remoto dell'interfaccia utente adattiva operativa
| Pacchetto | Ruolo | Confine attuale |
|---|---|---|
grove-ui-plugin-update |
Selezione del catalogo autenticato e aggiornamento degli artefatti del plug-in transazionale | Nuovo tentativo temporaneo con tre tentativi, autorizzazione HTTPS della stessa origine, signed/fresh/monotonic cataloghi, rilegatura esatta della versione del pacchetto, trust/permission verifica preliminare, cronologia della generazione e precisione facoltativa URL ripiego della cache |
grove-ui-plugin-remote-cache |
Cache opaca limitata per i payload dei plugin remoti | Radice esistente selezionata dal chiamante, SHA-256 esatto-URL chiavi, file di parti private, blocchi del sistema operativo per voce, sincronizzazione, sostituzione atomica, errori di digitazione e limite di 64 MiB; tutti gli hit rimangono non attendibili e richiedono la riconvalida del chiamante |
grove-ui-plugin-trust-distribution |
Consegna HTTPS verificata di buste di policy di fiducia firmate | La verifica con blocco root rimane visibile all'applicazione; il fallback memorizzato nella cache è solo temporaneo e vengono archiviate solo le buste già verificate |
La cache non implementa il condizionale HTTP validatori, scadenza, eliminazione, quota condivisa, crittografia o manutenzione in background. Nativo macOS ARM64, Linux x86-64, e Windows x86-64/Wine debug/release le prove sono congelate dal update e distribuzione della fiducia linee di base.
Ridge pacchetti v0.3
Lo stack del database locale Ridge v0.3 completato è suddiviso in pacchetti Grove ordinari:
| Pacchetto | Ruolo |
|---|---|
ridge |
B+Tree stoccaggio, WAL, MVCC, vincoli, backup/recovery, integrità e vuoto |
ridge_sql |
Più colonne delimitate SQL transazioni, indici, pianificatore, fuoriuscita, JSON, analisi e osservabilità |
ridge_pgwire |
Server pgwire loopback TLS/password e protocollo esteso di testo delimitato |
ridge_timeseries |
Chiavi temporali composite persistenti, range/bucket/rate/retention/downsampling operazioni |
ridge_fulltext |
Normalizzato persistente terms/positions, boolean/prefix/phrase ricerca, sottoinsieme BM25, evidenziazioni |
ridge_vector |
Risolti i vettori f32, top-k esatto, HNSW persistente limitato, filtri, recall/memory limiti |
ridge_ops |
Archivio PITR dei limiti di commit, esercitazioni di ripristino, migrazioni, manutenzione, health/metrics/logs/quotas |
Si tratta di contratti di database locale vincolati, non di parità PostgreSQL o di servizi cluster. Consulta il Ridge Database e il documento sulle funzionalità Ridge per le forme e le esclusioni esatte supportate.
Fonti di verità
- origine e manifest del pacchetto:
seed/compiler/llvm/libs/*/; - operazioni note al compilatore: Core Built-in e librerie standard;
- contratti di proprietà: Proprietà;
- limiti di implementazione e target: Stato attuale.