This commit is contained in:
2026-09-12 18:12:13 +02:00
parent 18306bdc8c
commit 57ae671f88
27 changed files with 2060 additions and 623 deletions

View File

@@ -2,7 +2,7 @@
## 1.1 V1 — V1 REQUIS — FIGÉ
La V1 constitue le premier environnement réellement utilisable de Saselang.
V1 constitue la première implémentation cohérente et réellement utilisable de Saselang, mais reste avant tout une **base/POC d'implémentation et de validation**. Elle n'est pas la baseline publique de compatibilité durable.
Objectifs :
@@ -15,7 +15,7 @@ analyse sémantique
HIR
Sase IR
interpréteur
a backend LLVM
backend LLVM
Core V1
SDK initial
manifests et workspaces
@@ -29,6 +29,8 @@ LLVM est le premier backend compilé de V1.
La conception de Saselang ne doit cependant pas faire de LLVM une dépendance sémantique du frontend.
V1 doit être suffisamment complète pour révéler les erreurs de conception réelles du langage. Des corrections incompatibles restent possibles avant la baseline publique V3 lorsqu'elles sont motivées, documentées et répercutées de façon cohérente dans la Bible, le Core et la toolchain.
## 1.2 Couverture LLVM — V1 REQUIS — FIGÉ EN PRINCIPE
Le backend natif V1 doit rester suffisamment générique pour exploiter les architectures, formats objet et capacités que LLVM peut représenter.
@@ -42,12 +44,11 @@ représentable par le backend
mais non officiellement supportée par la toolchain Saselang
```
## 1.3 V2 — SELF-HOSTING
## 1.3 V2 — SELF-HOSTING / SECOND POC
La V2 reste également une génération interne. Elle a pour objectif principal la réécriture/self-hosting du compilateur, de l'interpréteur et des outils en Saselang. Des corrections architecturales incompatibles avec V1 restent acceptables si elles sont nécessaires et documentées.
V2 est principalement la génération de self-hosting et le second POC structurel du langage.
La V2 a pour objectif principal de réécrire progressivement en Saselang les composants réalisés en V1 :
Elle a pour objectif de réécrire progressivement en Saselang les composants réalisés en V1 :
```text
compiler frontend
@@ -59,14 +60,32 @@ package/build tooling
Core/SDK lorsque pertinent
```
La V2 est d'abord une étape de validation du langage par lui-même, pas une excuse pour redéfinir arbitrairement la sémantique V1.
Le self-hosting doit révéler les contraintes réelles d'un grand programme Saselang écrit en Saselang lui-même.
## 1.4 V3+ — FUTUR V3+
Des corrections architecturales incompatibles avec V1 restent acceptables lorsqu'un besoin concret les justifie. V2 n'est cependant pas une excuse pour ajouter des mécanismes spéculatifs ou redéfinir arbitrairement la sémantique.
La première distribution générale du compilateur et de l'écosystème Saselang est envisagée à partir de V3 ou d'une génération ultérieure. C'est à partir de cette baseline publique que la compatibilité source, binaire et de tooling devra être protégée beaucoup plus strictement.
Une fonctionnalité future peut être réservée avant son implémentation uniquement lorsqu'un besoin réel est déjà identifié et qu'il est utile de protéger son espace syntaxique ou sémantique. Saselang ne réserve pas des mécanismes purement hypothétiques « au cas où ».
## 1.4 V3+ — BASELINE PUBLIQUE
À partir de V3+, les efforts pourront se concentrer sur les autres environnements et backends :
V3 est envisagée comme la première génération réellement déterminante pour la stabilité publique du langage et de son écosystème.
À partir de cette baseline, la compatibilité :
```text
source
Core
tooling
packages
artifacts
et, lorsque défini, ABI/binaire
```
doit être protégée beaucoup plus strictement.
Les changements incompatibles deviennent alors des décisions exceptionnelles, versionnées et explicitement justifiées.
À partir de V3+, les efforts pourront également se concentrer sur les autres environnements et backends :
```text
browser runtime / extension