v0.2.14
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user