Skip to content

Commit 67129e6

Browse files
Update documentation
1 parent 9514d1a commit 67129e6

File tree

4 files changed

+99
-21
lines changed

4 files changed

+99
-21
lines changed

docs/content/en/reference/builtins.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ title: Built-in Aliases
55
path_segments:
66
- reference
77
- builtins
8-
source_hash: 3b6205ba8915
8+
source_hash: 2cea4d177e8d
99
status: source
1010
permalink: /en/docs/reference/builtins/
1111
---
1212

13-
multilingual provides localized aliases for 41 commonly used Python built-in functions. Universal English names are **always available** in all languages — aliases are additive.
13+
multilingual provides localized aliases for 75 Python built-in functions. Universal English names are **always available** in all languages — aliases are additive.
1414

1515
---
1616

@@ -111,6 +111,8 @@ print(range(5)) # Universal still works
111111
| `next` | suivant | siguiente | naechster || التالي | अगला | 下一个 |
112112
| `any` | quelconque | cualquiera | irgendein | どれか | أي | कोई | 任意 |
113113
| `all` | tous | todos | alle | すべて | كل | सब | 所有 |
114+
| `aiter` | iterasync | iterasync | asynciter | 非同期イテレータ | مكرر\_غير\_متزامن | असिंकइटर | 异步迭代器 |
115+
| `anext` | prochainasync | siguienteasync | asyncnaechstes | 非同期次 | التالي\_غير\_المتزامن | असिंकअगला | 异步下一个 |
114116

115117
### String/Encoding
116118

@@ -120,6 +122,35 @@ print(range(5)) # Universal still works
120122
| `ord` | ord | ord | ord | 文字コード | رمز\_حرف | कोड | 编码 |
121123
| `format` | formater | formatear | formatieren | フォーマット | تنسيق | प्रारूप | 格式化 |
122124

125+
### Execution
126+
127+
| Builtin | fr | es | de | ja | ar | hi | zh |
128+
|---------|----|----|----|----|----|----|-----|
129+
| `eval` | evaluer | evaluar | auswerten | 評価 | تقييم | मूल्यांकन | 评估 |
130+
| `exec` | executer | ejecutar | ausfuehren | 実行 | تنفيذ | निष्पादन | 执行 |
131+
| `compile` | compiler | compilar | kompilieren | コンパイル | تجميع | संकलन | 编译 |
132+
133+
### Scope Inspection
134+
135+
| Builtin | fr | es | de | ja | ar | hi | zh |
136+
|---------|----|----|----|----|----|----|-----|
137+
| `globals` | globaux | globales | globale | グローバル変数 | عالمي | वैश्विक | 全局变量 |
138+
| `locals` | locaux | locales | lokale | ローカル変数 | محلي | स्थानीय | 局部变量 |
139+
| `vars` | variables | variables | variablen | 変数 | متغيرات | चर | 变量 |
140+
141+
### Debug & REPL
142+
143+
| Builtin | fr | es | de | ja | ar | hi | zh |
144+
|---------|----|----|----|----|----|----|-----|
145+
| `help` | aide | ayuda | hilfe | ヘルプ | مساعدة | सहायता | 帮助 |
146+
| `breakpoint` | pointdarret | puntodeparada | haltepunkt | ブレークポイント | نقطة\_توقف | विरामबिंदु | 断点 |
147+
| `memoryview` | vuememoire | vistamemoria | speicheransicht | メモリビュー | عرض\_الذاكرة | मेमोरीदृश्य | 内存视图 |
148+
| `exit` | quitter | salir | beenden | 終了 | خروج | बाहर | 退出 |
149+
| `quit` | fermer | terminar | abbrechen | 終わり | انهاء | समाप्त | 停止 |
150+
| `copyright` | droitsauteur | derechosautor | urheberrecht | 著作権 | حقوق\_النشر | कॉपीराइट | 版权 |
151+
| `credits` | remerciements | creditos | danksagungen | クレジット | اعتمادات | श्रेय | 致谢 |
152+
| `license` | licence | licencia | lizenz | ライセンス | رخصة | लाइसेंस | 许可证 |
153+
123154
---
124155

125156
## Checking Available Aliases

docs/content/en/reference/compatibility.md

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ title: Compatibility Matrix
55
path_segments:
66
- reference
77
- compatibility
8-
source_hash: 5200c7a76a88
8+
source_hash: 2cea4d177e8d
99
status: source
1010
permalink: /en/docs/reference/compatibility/
1111
---
1212

1313
This matrix defines the current compatibility baseline for `multilingual`. The source of truth is:
1414

1515
- `examples/complete_features_en.ml` and equivalents in all 17 languages
16-
- `tests/` (~1,797 tests across 58 test files)
16+
- `tests/` (~1,924 tests across 63 test files)
1717

1818
**Target runtime**: CPython 3.12.x
1919

@@ -76,6 +76,9 @@ This matrix defines the current compatibility baseline for `multilingual`. The s
7676
| Tuples || literals, unpacking |
7777
| Strings || single/double/triple quotes, f-strings |
7878
| F-string format specs || `f"{x:.2f}"`, `f"{x!r}"`, `f"{x!s}"`, `f"{x!a}"` |
79+
| Bytes literals || `b"..."`, `B"..."`, triple-quoted `b"""..."""` |
80+
| Raw strings || `r"..."`, `R"..."`, triple-quoted `r"""..."""` — no escape processing |
81+
| Raw bytes || `rb"..."`, `br"..."` and all case variants |
7982
| Hex/octal/binary literals || `0xFF`, `0o77`, `0b1010` |
8083
| Scientific notation || `1.5e10` |
8184

@@ -168,7 +171,7 @@ This matrix defines the current compatibility baseline for `multilingual`. The s
168171
| Universal built-in functions | ✅ 70+ available | `len`, `range`, `abs`, `pow`, `divmod`, `complex`, `format`, `ascii`, `compile`, `eval`, `exec`, `globals`, `locals`, `issubclass`, `delattr`, `slice`, `aiter`, `anext`, and more |
169172
| Exception types | ✅ 45+ | `BaseException`, `ValueError`, `TypeError`, `KeyError`, `ModuleNotFoundError`, `ExceptionGroup`, `BaseExceptionGroup`, all warnings, and more |
170173
| Special values || `True`, `False`, `None`, `Ellipsis`, `NotImplemented` |
171-
| Localized built-in aliases |41 concepts | 41 builtins with aliases in all 16 non-English languages |
174+
| Localized built-in aliases |75 concepts | 75 builtins with aliases in all 16 non-English languages |
172175
| Canonical Python built-in names || Always usable in all languages |
173176

174177
---
@@ -188,7 +191,7 @@ SOV and RTL languages can use natural word order. The surface normalizer rewrite
188191

189192
## Test Coverage
190193

191-
~1,797 tests across 58 test files (~19,848 lines of test code):
194+
~1,924 tests across 63 test files:
192195

193196
| Test area | Files | Description |
194197
|-----------|-------|-------------|
@@ -214,19 +217,24 @@ The following are **not** claimed as universally compatible:
214217
- Full behavioral parity with all CPython edge cases
215218
- Full third-party package/runtime ecosystem compatibility
216219
- Every advanced metaprogramming/introspection scenario
217-
- Complete localization aliases for all CPython built-in functions (41 of 70+ have aliases)
218-
- Starred unpacking in deeply nested expression contexts
219-
- Complex decorator chains with arguments
220+
- WAT `@property` setter/deleter protocol (getter fully supported; `@prop.setter` not yet lowered)
221+
- WAT `print` `file=` keyword argument (stdout is the only target in WAT)
220222

221223
---
222224

223-
## Known Fixes (v0.5.x)
225+
## Known Fixes
224226

225227
| Version | Fix |
226228
|---------|-----|
229+
| v0.6.0 | **100% Python 3.12 core syntax**: bytes literals (`b"..."`), raw strings (`r"..."`), raw bytes (`rb"..."`) fully supported in lexer, parser, and both code generators |
230+
| v0.6.0 | Localized aliases expanded from 41 → 75: `eval`, `exec`, `compile`, `globals`, `locals`, `vars`, `help`, `memoryview`, `breakpoint`, `aiter`, `anext`, `exit`, `quit`, `copyright`, `credits`, `license` added across all 16 non-English languages |
231+
| v0.6.0 | WAT `@property` getter: `obj.attr` now emits a WAT function call to the getter instead of a raw `f64.load` |
232+
| v0.6.0 | WAT `@staticmethod` / `@classmethod`: detected via decorator; call sites no longer push an implicit `self` |
233+
| v0.6.0 | WAT `print` `sep=` / `end=`: custom separator and terminator interned in the data section and printed via `$print_str`; `sep=""` / `end=""` suppress output |
234+
| v0.6.0 | WAT dynamic dispatch: type tag (class ID) stored 8 bytes before each stateful object; `$__dispatch_method` switch function generated for every overridden method; function parameters of unknown type now dispatch polymorphically at runtime |
227235
| v0.5.1 | Documentation updates |
228236
| v0.5.0 | WAT/WASM OOP object model: class lowering with linear-memory bump allocator, inheritance with C3 MRO, `super()` resolution, WAT execution tests |
229-
| v0.5.0 | SemanticAnalyzer: plain assignments (`x = 5`) now correctly define the variable in scope rather than triggering a false `UNDEFINED_NAME` error (was a false-positive in some languages, e.g., French) |
237+
| v0.5.0 | SemanticAnalyzer: plain assignments (`x = 5`) now correctly define the variable in scope |
230238
| v0.5.0 | Augmented assignment (`x += 1`) now correctly reports `UNDEFINED_NAME` when the target variable has not been previously defined |
231239

232240
---

docs/content/fr/references/compatibilite.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ title: Compatibilité
55
path_segments:
66
- references
77
- compatibilite
8-
source_hash: 5200c7a76a88
8+
source_hash: 2cea4d177e8d
99
status: translated
1010
permalink: /fr/docs/references/compatibilite/
1111
---
1212

1313
Cette matrice décrit l'état actuel de compatibilité de `multilingual`. La source de vérité repose sur :
1414

1515
- `examples/complete_features_en.ml` et ses équivalents dans les 17 langues
16-
- `tests/` (environ 1 797 tests répartis sur 58 fichiers de test)
16+
- `tests/` (environ 1 924 tests répartis sur 63 fichiers de test)
1717

1818
**Runtime cible** : CPython 3.12.x
1919

@@ -76,6 +76,9 @@ Cette matrice décrit l'état actuel de compatibilité de `multilingual`. La sou
7676
| Tuples || littéraux, dépaquetage |
7777
| Chaînes || guillemets simples, doubles, triples, f-strings |
7878
| Spécificateurs de format f-string || `f"{x:.2f}"`, `f"{x!r}"`, `f"{x!s}"`, `f"{x!a}"` |
79+
| Littéraux d'octets || `b"..."`, `B"..."`, `b"""..."""` |
80+
| Chaînes brutes || `r"..."`, `R"..."`, `r"""..."""` — sans traitement des séquences d'échappement |
81+
| Octets bruts || `rb"..."`, `br"..."` et toutes les variantes de casse |
7982
| Littéraux hexadécimaux, octaux et binaires || `0xFF`, `0o77`, `0b1010` |
8083
| Notation scientifique || `1.5e10` |
8184

@@ -168,7 +171,7 @@ Cette matrice décrit l'état actuel de compatibilité de `multilingual`. La sou
168171
| Fonctions built-in universelles | ✅ 70+ disponibles | `len`, `range`, `abs`, `pow`, `divmod`, `complex`, `format`, `ascii`, `compile`, `eval`, `exec`, `globals`, `locals`, `issubclass`, `delattr`, `slice`, `aiter`, `anext`, etc. |
169172
| Types d'exceptions | ✅ 45+ | `BaseException`, `ValueError`, `TypeError`, `KeyError`, `ModuleNotFoundError`, `ExceptionGroup`, `BaseExceptionGroup`, tous les warnings, etc. |
170173
| Valeurs spéciales || `True`, `False`, `None`, `Ellipsis`, `NotImplemented` |
171-
| Alias built-in localisés |41 concepts | 41 builtins avec alias dans les 16 langues non anglaises |
174+
| Alias built-in localisés |75 concepts | 75 builtins avec alias dans les 16 langues non anglaises |
172175
| Noms built-in Python canoniques || Toujours utilisables dans toutes les langues |
173176

174177
---
@@ -188,7 +191,7 @@ Les langues SOV et RTL peuvent utiliser un ordre de mots naturel. Le normaliseur
188191

189192
## Couverture de tests
190193

191-
Environ 1 797 tests répartis sur 58 fichiers de test :
194+
Environ 1 924 tests répartis sur 63 fichiers de test :
192195

193196
| Domaine | Fichiers | Description |
194197
|-----------|-------|-------------|
@@ -214,16 +217,21 @@ Les points suivants **ne sont pas** annoncés comme universellement compatibles
214217
- Une parité comportementale complète avec tous les cas limites de CPython
215218
- Une compatibilité complète avec tous les écosystèmes tiers
216219
- Tous les scénarios avancés de métaprogrammation / introspection
217-
- Des alias localisés pour l'intégralité des builtins CPython
218-
- Le dépaquetage étoilé dans certains contextes d'expressions très imbriqués
219-
- Certaines chaînes complexes de décorateurs avec arguments
220+
- Le protocole setter/deleter de `@property` en WAT (le getter est entièrement pris en charge ; `@prop.setter` n'est pas encore abaissé)
221+
- L'argument nommé `file=` de `print` en WAT (seul stdout est disponible en WAT)
220222

221223
---
222224

223-
## Correctifs connus (v0.5.x)
225+
## Correctifs connus
224226

225227
| Version | Correctif |
226228
|---------|-----|
229+
| v0.6.0 | **Compatibilité Python 3.12 à 100 %** : littéraux d'octets (`b"..."`), chaînes brutes (`r"..."`), octets bruts (`rb"..."`) entièrement pris en charge dans le lexer, le parser et les deux générateurs de code |
230+
| v0.6.0 | Alias localisés élargis de 41 → 75 : `eval`, `exec`, `compile`, `globals`, `locals`, `vars`, `help`, `memoryview`, `breakpoint`, `aiter`, `anext`, `exit`, `quit`, `copyright`, `credits`, `license` ajoutés dans les 16 langues non anglaises |
231+
| v0.6.0 | WAT `@property` getter : `obj.attr` émet désormais un appel de fonction WAT vers le getter au lieu d'un `f64.load` brut |
232+
| v0.6.0 | WAT `@staticmethod` / `@classmethod` : détectés via décorateur ; les sites d'appel ne poussent plus de `self` implicite |
233+
| v0.6.0 | WAT `print` `sep=` / `end=` : séparateur et terminateur personnalisés internés dans la section de données et imprimés via `$print_str` ; `sep=""` / `end=""` supprime la sortie |
234+
| v0.6.0 | WAT dispatch dynamique : balise de type (ID de classe) stockée 8 octets avant chaque objet stateful ; fonction de commutation `$__dispatch_method` générée pour chaque méthode surchargée ; paramètres de fonction de type inconnu dispatchés polymorphiquement à l'exécution |
227235
| v0.5.1 | Mises à jour de documentation |
228236
| v0.5.0 | Modèle objet POO WAT / WASM : abaissement des classes avec allocateur linéaire, héritage avec MRO C3, résolution de `super()`, tests d'exécution WAT |
229237
| v0.5.0 | `SemanticAnalyzer` gère correctement les affectations simples (`x = 5`) dans la portée |

docs/content/fr/references/fonctions-integrees.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ title: Fonctions intégrées
55
path_segments:
66
- references
77
- fonctions-integrees
8-
source_hash: 3b6205ba8915
8+
source_hash: 2cea4d177e8d
99
status: translated
1010
permalink: /fr/docs/references/fonctions-integrees/
1111
---
1212

13-
multilingual fournit des alias localisés pour 41 fonctions intégrées Python courantes. Les noms anglais universels restent **toujours disponibles** dans toutes les langues ; les alias sont simplement ajoutés en complément.
13+
multilingual fournit des alias localisés pour 75 fonctions intégrées Python. Les noms anglais universels restent **toujours disponibles** dans toutes les langues ; les alias sont simplement ajoutés en complément.
1414

1515
---
1616

@@ -111,6 +111,8 @@ print(range(5))
111111
| `next` | suivant | siguiente | naechster || التالي | अगला | 下一个 |
112112
| `any` | quelconque | cualquiera | irgendein | どれか | أي | कोई | 任意 |
113113
| `all` | tous | todos | alle | すべて | كل | सब | 所有 |
114+
| `aiter` | iterasync | iterasync | asynciter | 非同期イテレータ | مكرر\_غير\_متزامن | असिंकइटर | 异步迭代器 |
115+
| `anext` | prochainasync | siguienteasync | asyncnaechstes | 非同期次 | التالي\_غير\_المتزامن | असिंकअगला | 异步下一个 |
114116

115117
### Chaînes et encodage
116118

@@ -120,6 +122,35 @@ print(range(5))
120122
| `ord` | ord | ord | ord | 文字コード | رمز_حرف | कोड | 编码 |
121123
| `format` | formater | formatear | formatieren | フォーマット | تنسيق | प्रारूप | 格式化 |
122124

125+
### Exécution de code
126+
127+
| Builtin | fr | es | de | ja | ar | hi | zh |
128+
|---------|----|----|----|----|----|----|-----|
129+
| `eval` | evaluer | evaluar | auswerten | 評価 | تقييم | मूल्यांकन | 评估 |
130+
| `exec` | executer | ejecutar | ausfuehren | 実行 | تنفيذ | निष्पादन | 执行 |
131+
| `compile` | compiler | compilar | kompilieren | コンパイル | تجميع | संकलन | 编译 |
132+
133+
### Inspection de portée
134+
135+
| Builtin | fr | es | de | ja | ar | hi | zh |
136+
|---------|----|----|----|----|----|----|-----|
137+
| `globals` | globaux | globales | globale | グローバル変数 | عالمي | वैश्विक | 全局变量 |
138+
| `locals` | locaux | locales | lokale | ローカル変数 | محلي | स्थानीय | 局部变量 |
139+
| `vars` | variables | variables | variablen | 変数 | متغيرات | चर | 变量 |
140+
141+
### Débogage et REPL
142+
143+
| Builtin | fr | es | de | ja | ar | hi | zh |
144+
|---------|----|----|----|----|----|----|-----|
145+
| `help` | aide | ayuda | hilfe | ヘルプ | مساعدة | सहायता | 帮助 |
146+
| `breakpoint` | pointdarret | puntodeparada | haltepunkt | ブレークポイント | نقطة\_توقف | विरामबिंदु | 断点 |
147+
| `memoryview` | vuememoire | vistamemoria | speicheransicht | メモリビュー | عرض\_الذاكرة | मेमोरीदृश्य | 内存视图 |
148+
| `exit` | quitter | salir | beenden | 終了 | خروج | बाहर | 退出 |
149+
| `quit` | fermer | terminar | abbrechen | 終わり | انهاء | समाप्त | 停止 |
150+
| `copyright` | droitsauteur | derechosautor | urheberrecht | 著作権 | حقوق\_النشر | कॉपीराइट | 版权 |
151+
| `credits` | remerciements | creditos | danksagungen | クレジット | اعتمادات | श्रेय | 致谢 |
152+
| `license` | licence | licencia | lizenz | ライセンス | رخصة | लाइसेंस | 许可证 |
153+
123154
---
124155

125156
## Vérification des alias disponibles

0 commit comments

Comments
 (0)