Bibliothèques core et JSON
Les bibliothèques du dépôt montrent les APIs Vitte disponibles en source et leurs contrats connus. Leur présence ne garantit pas encore leur compilation native complète.
modules/core/README.md · modules/core/API.md · modules/json/DOCUMENTATION.mdBibliothèque fondamentale core
core rassemble les primitives et algorithmes fondamentaux ; les conteneurs propriétaires et alloués appartiennent au paquet alloc. Le README organise les modules de core ainsi :
| Familles | Contenu |
|---|---|
types, traits, marker, ops | Types fondamentaux, contrats, marqueurs et opérations. |
primitive, cmp, convert, num | Types primitifs, comparaisons, conversions et arithmétique. |
array, slice, iter, str | Algorithmes sur tableaux, tranches, itérateurs et texte empruntés. |
mem, ptr, intrinsics | Mémoire, pointeurs et opérations dépendantes du compilateur. |
fmt, hash, error, sync, cell | Formatage, hachage, erreurs, synchronisation et cellules. |
Exemple d’import direct :
use core::types::option::{Option, option_some, option_is_some};
use core::slice::search::{slice_find_index};
Index des APIs exportées · Contrats et limites de core.
L’index API est généré depuis les déclarations exportées ; le README précise qu’il s’agit d’un contrat source, pas d’une garantie d’ABI stable. Il signale également des éléments génériques et des traits qui restent à relier au compilateur natif.
Module json
Le module JSON propose une chaîne de traitement texte → tokens → valeurs → texte JSON. La documentation du module JSON présente les entrées du parser, le modèle JsonValue, l’encodeur, les erreurs, Unicode, les nombres et les limites documentées.
use json::parser::parser::*;
use json::encode::encoder::*;
Le paquet s’appuie sur un manifeste package.toml et peut être découvert via VITTE_MODULE_PATH. Le guide détaillé se trouve dans modules/json/DOCUMENTATION.md ; le répertoire du module contient aussi les sources et les tests.
Avant d’utiliser une API
- Vérifie le module et le chemin complet de l’import.
- Lis le commentaire et le contrat de la procédure, surtout pour les erreurs et les buffers.
- Regarde si elle utilise des intrinsics ou des formes génériques dont le backend dépend.
- Compile un exemple minimal avec la version et la cible de ton projet.