You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/content/en/reference/builtins.md
+33-2Lines changed: 33 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,12 +5,12 @@ title: Built-in Aliases
5
5
path_segments:
6
6
- reference
7
7
- builtins
8
-
source_hash: 3b6205ba8915
8
+
source_hash: 2cea4d177e8d
9
9
status: source
10
10
permalink: /en/docs/reference/builtins/
11
11
---
12
12
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.
14
14
15
15
---
16
16
@@ -111,6 +111,8 @@ print(range(5)) # Universal still works
@@ -168,7 +171,7 @@ This matrix defines the current compatibility baseline for `multilingual`. The s
168
171
| 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 |
169
172
| Exception types | ✅ 45+ |`BaseException`, `ValueError`, `TypeError`, `KeyError`, `ModuleNotFoundError`, `ExceptionGroup`, `BaseExceptionGroup`, all warnings, and more |
170
173
| 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 |
172
175
| Canonical Python built-in names | ✅ | Always usable in all languages |
173
176
174
177
---
@@ -188,7 +191,7 @@ SOV and RTL languages can use natural word order. The surface normalizer rewrite
188
191
189
192
## Test Coverage
190
193
191
-
~1,797 tests across 58 test files (~19,848 lines of test code):
194
+
~1,924 tests across 63 test files:
192
195
193
196
| Test area | Files | Description |
194
197
|-----------|-------|-------------|
@@ -214,19 +217,24 @@ The following are **not** claimed as universally compatible:
214
217
- Full behavioral parity with all CPython edge cases
215
218
- Full third-party package/runtime ecosystem compatibility
216
219
- 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)
220
222
221
223
---
222
224
223
-
## Known Fixes (v0.5.x)
225
+
## Known Fixes
224
226
225
227
| Version | Fix |
226
228
|---------|-----|
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 |
227
235
| v0.5.1 | Documentation updates |
228
236
| 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 |
230
238
| v0.5.0 | Augmented assignment (`x += 1`) now correctly reports `UNDEFINED_NAME` when the target variable has not been previously defined |
| 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 |
172
175
| Noms built-in Python canoniques | ✅ | Toujours utilisables dans toutes les langues |
173
176
174
177
---
@@ -188,7 +191,7 @@ Les langues SOV et RTL peuvent utiliser un ordre de mots naturel. Le normaliseur
188
191
189
192
## Couverture de tests
190
193
191
-
Environ 1 797 tests répartis sur 58 fichiers de test :
194
+
Environ 1 924 tests répartis sur 63 fichiers de test :
192
195
193
196
| Domaine | Fichiers | Description |
194
197
|-----------|-------|-------------|
@@ -214,16 +217,21 @@ Les points suivants **ne sont pas** annoncés comme universellement compatibles
214
217
- Une parité comportementale complète avec tous les cas limites de CPython
215
218
- Une compatibilité complète avec tous les écosystèmes tiers
216
219
- 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)
220
222
221
223
---
222
224
223
-
## Correctifs connus (v0.5.x)
225
+
## Correctifs connus
224
226
225
227
| Version | Correctif |
226
228
|---------|-----|
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 |
227
235
| v0.5.1 | Mises à jour de documentation |
228
236
| 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 |
229
237
| v0.5.0 |`SemanticAnalyzer` gère correctement les affectations simples (`x = 5`) dans la portée |
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.
0 commit comments