v0.2.12
This commit is contained in:
112
chapters/048-inventaire-des-points-v1-encore-ouverts.md
Normal file
112
chapters/048-inventaire-des-points-v1-encore-ouverts.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# 48. Inventaire des points V1 encore OUVERTS
|
||||
|
||||
Cette section constitue la checklist principale avant de considérer la Bible V1 comme suffisamment normative pour une implémentation complète.
|
||||
|
||||
## 48.1 Lexical / grammaire
|
||||
|
||||
Points désormais largement figés : UTF-8 source, code ASCII hors contenu textuel, whitespace non sémantique, identifiants ASCII, commentaires, Saseldoc, littéraux numériques, `char`, String normales/raw/multilignes, escapes, séparateurs numériques, règles de fichiers source, statements/blocs/`;`, absence de trailing comma, `if`/`elseif`/`else`, boucles de base, `match`, `emit` et noyau des patterns structurels.
|
||||
|
||||
Restent à fermer :
|
||||
|
||||
- liste exhaustive finale des mots-clés actifs, futurs et `reserved-foreign` après audit de toute la Bible ;
|
||||
- choix canonique `{expr}` vs `${expr}` à l'intérieur de `i"..."` ;
|
||||
- matrice finale des préfixes de littéraux combinables (`i`, `r`, `b`, `c`, `u8/u16/u32`, `t`, etc.) et leur disponibilité V1/V2 ;
|
||||
- limite normative éventuelle du nombre de `#` des raw strings ;
|
||||
- grammaire syntaxique complète au-delà des blocs/statements déjà figés ;
|
||||
- syntaxe exacte des generics et contraintes ;
|
||||
- syntaxe exacte des annotations/métadonnées de code lorsqu'elles seront retenues.
|
||||
|
||||
## 48.2 Types
|
||||
|
||||
- domaine exact des types admissibles à `Nullable<T>` avec le modèle mémoire/FFI ;
|
||||
- finalisation de la matrice exhaustive des conversions numériques Core et de ses noms composés ;
|
||||
- règles de sous-typage interface/class ;
|
||||
- generics complets ;
|
||||
- const generics ;
|
||||
- callable/function types ;
|
||||
- lambdas/closures ;
|
||||
- variadiques (un seul variadique prévu) ;
|
||||
- String/index Unicode ;
|
||||
- exact float semantics.
|
||||
|
||||
## 48.3 Mémoire
|
||||
|
||||
- value/reference model ;
|
||||
- object allocation ;
|
||||
- ownership/move/copy/clone ;
|
||||
- references/borrowing visibles ou internes ;
|
||||
- allocator ;
|
||||
- cycles ;
|
||||
- destruction partielle ;
|
||||
- thread safety ;
|
||||
- raw pointers ;
|
||||
- unsafe operation inventory.
|
||||
|
||||
## 48.4 Erreurs
|
||||
|
||||
Points désormais largement figés : hiérarchie `Error` / `ResultError` / `Exception`, `Result::Ok` / `Result::Err`, contraintes de `Result<T,E>`, absence de `unwrap` et `?` V1, `throw` / `throws`, contrats d'override/interface, sélection ordonnée des `catch`, `finally` non-escaping, causes, i18n, code de `ResultError`, stack trace d'`Exception` liée au `throw`, et sémantique LIFO/non-escaping de `defer`.
|
||||
|
||||
Restent à fermer :
|
||||
|
||||
- faute runtime/panic/fatal error ;
|
||||
- constructors faillibles et construction partielle ;
|
||||
- interaction exacte cleanup/destruction pendant fault ;
|
||||
- ordre exact `defer` / destructeurs automatiques avec le modèle mémoire ;
|
||||
- représentation Core/runtime exacte de `I18nMessage`, `ResultErrorCode`, `StackTrace` et `StackFrame` ;
|
||||
- éventuels helpers Core futurs `expectOk` / `expectErr` seulement si un besoin réel est démontré.
|
||||
|
||||
## 48.5 Contrôle de flux
|
||||
|
||||
- harmonisation finale des literal/named-constant patterns avec les règles générales des constantes et des types ;
|
||||
- détails d'implémentation/Core des capacités Range et organisation de leurs namespaces ;
|
||||
- generators/yield décision V1 ;
|
||||
- lambdas ;
|
||||
- async/concurrency.
|
||||
|
||||
## 48.6 Opérateurs
|
||||
|
||||
- signatures exactes des membres des interfaces `Op...` ;
|
||||
- relation précise PartialEqual/Equal et PartialCompare/Compare ;
|
||||
- règles de comparaison hétérogène et reverse implementation ;
|
||||
- index assignability formelle ;
|
||||
- bitcast safe/unsafe table ;
|
||||
|
||||
## 48.7 Object model
|
||||
|
||||
- `protected` via autres instances ;
|
||||
- clsmethod inheritance exact ;
|
||||
- associated constants interface ;
|
||||
- conflict resolution syntax when choosing among defaults ;
|
||||
- visibility/default visibility if omitted (préférence actuelle : explicite) ;
|
||||
- precise constructor synthesis grammar.
|
||||
|
||||
## 48.8 Packages/tooling
|
||||
|
||||
- grammaire finale des imports `from "vendor/package@requirement"` ;
|
||||
- format TOML sérialisé exact de `saselang.lock` ;
|
||||
- détails FFI/linker des composants physiques des variants natifs, après fixation complète de la FFI ;
|
||||
- syntaxe TOML finale des features et groupes de features ;
|
||||
- syntaxe exacte des directives `module.saselmod` ;
|
||||
- syntaxe exacte de `compile if` et de ses éventuels `else` ;
|
||||
- API Core/compiler exacte de l'environnement de compilation ;
|
||||
- choix final `enum` vs identifiant extensible pour quelques domaines Core lors de l'implémentation, sans changer le modèle conceptuel ;
|
||||
- liste des targets LLVM officiellement validés par la première toolchain V1 ;
|
||||
- ordre final des entrées `.saselib` après le manifest interne et niveau Zstandard canonique, après benchmark ;
|
||||
- sémantique détaillée du mode `standalone` face aux bibliothèques non redistribuables/dynamiques ;
|
||||
- grammaire CLI finale des options et sélecteurs de projet ;
|
||||
- liste finale des options backend LLVM au-delà de `lto`, uniquement si elles sont nécessaires ;
|
||||
- détails de `saseldoc` après fixation du format documentaire et des tests.
|
||||
|
||||
## 48.9 Core/SDK
|
||||
|
||||
- frontière Core/SDK définitive ;
|
||||
- collections V1 ;
|
||||
- String encodings ;
|
||||
- regex ;
|
||||
- filesystem/network/process ;
|
||||
- math/algebra ;
|
||||
- logging/tracing ;
|
||||
- testing APIs ;
|
||||
- reflection/TypeInfo.
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user