Référence de la bibliothèque opérationnelle

Cette page répertorie les packages seed ordinaires mis en scène par le compilateur opérationnel LLVM de seed/compiler/llvm/libs. Il ne traite pas chaque répertoire de l'arborescence de compatibilité Grove de niveau supérieur comme un package actuel.

Importer et créer un modèle

Les packages de base du référentiel utilisent des importations nues :

use "io"
use "parse"
use "vec"

L'incrément du lanceur build et run les chemins résolvent ces noms, construisent profile/target-compatible natif et .sdi artefacts et réutiliser les générations installées exactes. Le plus étroit check La sous-commande appelle actuellement la vérification directe de la source et ne prépare pas en premier un package nu manquant. Un explicite --static build sélectionne la correspondance statique seed dépendances; la liaison hébergée ordinaire utilise par défaut les artefacts dynamiques compatibles avec le profil.

La disponibilité reste limitée par le manifeste de chaque package et la matrice de capacités cibles canoniques. Un package présent dans l’arborescence source n’ajoute pas de services d’exécution à une cible qui en manque.

Catalogue de packages

Forfait Surface publique principale Rôle
box box_new, view, into_inner Indirection unique faillible pour les valeurs récursives ou grandes
byte_buffer byte_buffer_new, reserve, push, extend, resize, into_bytes Construction d'octets initialisée en fonction de la capacité avec croissance faillible vérifiée
fibonacci fibonacci_i64 Fibonacci itératif vérifié sans allocation renvoyant none pour une entrée négative ou un débordement
file write_text, write_stdout, write_stderr, variantes de format Wrappers de compatibilité de sortie hébergés basés sur des descripteurs
format bool_text, option_bool_text Petits assistants de format texte statique
io input_stream, output_buffer, read/write/all et opérations de formatage Typé partiel et hébergé en mémoire tampon I/O avec io_error
math sqrt_*, abs_*, min_*, max_* Portable en ligne f32/f64 opérations
net open_ipv4_stream, socket Wrapper de socket de flux IPv4 hébergé minimal
parse parse_i*, parse_u*, parse_*_or Analyse d'entiers vérifiée avec parse_error typé et valeurs par défaut explicites
process current_id, argument_count, argument, environment, process_fork, process_exec_args, process_exec_args_with_environment, process_change_directory, process_wait Vues process/environment sans allocation et primitives de sous-processus hébergés limités
serialize encode_bool, decode_bool Surface de sérialisation sûre et représentative minimale
mobile liaisons de plateforme, cycle de vie, saisie, affichage, presse-papiers Android API 21/29/37 ARM64 AVD et iOS 26.5 Exécution du simulateur ARM64
path_file file_descriptor, open, read, write, metadata Descripteurs de chemin d'accès détenus pour la séquence vérifiée I/O, renommage atomique et verrouillage consultatif
slice slice_split_at_mut, marche arrière, rotation, aides aux fenêtres Algorithmes génériques sans allocation sur des tranches typées natives
sort fonctions de tri scalaire et sort_by_key Tri par tranches mutables sur place, y compris l'envoi de clés statiques pour les valeurs de déplacement uniquement
system wrappers d'adresses, tables de pages, MMIO, atomiques, allocation de bosses, pinned/DMA valeurs Abstractions de systèmes autonomes auditées concernant des constructions explicitement dangereuses
task canaux, jointures, résultats saisis, événements, annulations, groupes d'attente, sémaphores, barrières, verrous Communication et synchronisation structurées basées sur un planificateur
text utf8_next, utf8_count, utf8_validate, split_ascii Curseurs scalaires UTF-8 validation/counting sans allocation et jeton délimité par ASCII
time monotonic_ms, wall_time_seconds, wall_time_ms Valeurs hébergées du temps écoulé et de l'horloge murale Unix
vec vec, API de file d'attente, d'ensemble, de mappage et de mutation faillible Collections génériques avec nettoyage exact et vues vérifiées

Packages d'application au niveau supérieur Grove l'arbre comprend std-uuid 0,2. Il fournit sans allocation UUID validation de texte, validation stricte RFC 9562 UUIDv7, déterministe uuid_v7_from_parts, et faillible uuid_v7 génération soutenue par des millisecondes d'horloge murale hébergées plus 74 bits du système d'exploitation audité entropy paquet. Les UUID restent des identifiants plutôt que des informations d'identification.

Conventions de propriété et d’erreur

Les packages opérationnels suivent le modèle de propriété du langage :

I/O

Le nouveau code devrait préférer io aux wrappers de compatibilité file plus étroits. La distinction importante est la saisie partielle :

byte_buffer et io partagent le contrat de préfixe initialisé. Les appelants sûrs n’observent jamais la capacité disponible non initialisée.

Grove exécution de la commande

Le package Grove command fournit une exécution enfant basée sur argv limitée pour les applications hébergées. command_run_configured_with_stdin_file a le même contrat de répertoire de travail, d'environnement, de délai d'attente et de limite de capture que command_run_configured, et connecte en outre un fichier d'entrée standard existant à l'entrée standard de l'enfant. Le fichier est ouvert sans suivre un lien symbolique final et tous les descripteurs parent/child conservent un nettoyage exact. Ceci est utile pour les protocoles stdio limités tels que les serveurs de langage sans appeler de shell ni conserver une deuxième copie en mémoire de la requête encadrée.

Collections et tranches

vec<t> est la séquence générique canonique cultivable. Il fournit une capacité faillible et des opérations de poussée, vérifié update/pop, des vues en lecture seule et mutables et un nettoyage exact pour les éléments à déplacement uniquement. Les types de file d’attente, d’ensemble et de mappe utilisent le même modèle de propriété.

Natif []t et mut []t restent les types de séquence empruntés standard. Le slice le package ajoute des algorithmes ; indexation vérifiée, découpage, fill, copy_from, et split_at_mut sont des opérations de base plutôt qu'un ancien emballage de tranches de graisse brute.

Tâches

task est un package ordinaire, pas un ensemble de langages intégrés. Il fournit :

Les points de terminaison et les tickets conservent leur linear/exact-cleanup contrats. Direct spawn reste structuré lexicalement, et postfix ? ne peut pas franchir la limite du corps engendré tant que ce corps ABI retours void.

Paquet de systèmes

system cibles déclarées profils autoportants. Les adresses brutes, les pointeurs MMIO, le stockage atomique, les tampons épinglés, les tampons DMA et le stockage de sauvegarde de l'allocateur sont créés via unsafe constructeurs. Les méthodes sûres reposent sur les obligations d’alignement, de durée de vie, d’espace d’adressage, de synchronisation et de propriété de ces constructeurs.

La présence de ce package n'implique pas que toutes les cibles hébergées ou autonomes fournissent tous les services système. Consultez System Primitives et la matrice cible Gate 14.

Grove inventaire des colis

Le plus haut niveau grove/libs/ corpus complété classification G01–G22 : 218 paquets manifestés sont couverts une seule fois par le Grove harnais de portail. Les packages portés exposent les interfaces actuelles élidées par les sources ; les paquets archivés exposent uniquement leurs éléments documentés validation/unavailability frontière. Voir Grove Arbre de compatibilité et Feuille de route de la bibliothèque.

Ridge Paquets v0.3

La pile de base de données locale Ridge v0.3 terminée est divisée en packages Grove ordinaires :

Forfait Rôle
ridge B+Tree stockage, WAL, MVCC, contraintes, backup/recovery, l'intégrité et le vide
ridge_sql Multicolonne délimitée SQL, transactions, index, planificateur, déversement, JSON, analyses et observabilité
ridge_pgwire Serveur pgwire Loopback TLS/password et protocole étendu de texte délimité
ridge_timeseries Clés temporelles composites persistantes, range/bucket/rate/retention/downsampling opérations
ridge_fulltext Persistant normalisé terms/positions, boolean/prefix/phrase recherche, sous-ensemble BM25, faits saillants
ridge_vector Correction des vecteurs f32, top-k exact, HNSW persistant délimité, filtres, recall/memory limites
ridge_ops Archive de limite de validation PITR, exercices de restauration, migrations, maintenance, health/metrics/logs/quotas

Il s'agit de contrats limités de base de données locale, et non PostgreSQL services de parité ou de cluster. Voir Ridge Base de données et le Ridge document de capacité pour les formes et exclusions exactes prises en charge.

Sources de vérité