Skip to content

Commit b42f901

Browse files
fix(docs): Resolve contradictions across docs and broken anchors.
1 parent ac91219 commit b42f901

7 files changed

Lines changed: 12 additions & 21 deletions

File tree

docs/pages/getting-started/what-it-is.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Multi-paradigm sandboxed compiler:
4343

4444
- **Small binary**, compiler + VM in one WebAssembly release.
4545
- **Faster interpreter**, no method-resolution overhead; hot opcodes promote to type-specialised fast paths via IC.
46-
- **Aggressive memoisation**, pure functions auto-cached after two hits ([Functions](/language/functions#generators)); most functional code is pure by construction.
46+
- **Aggressive memoisation**, pure functions auto-cached after two hits ([Functions](/language/functions#recursion)); most functional code is pure by construction.
4747
- **Easier sandboxing**, no protocol dispatch, no stdlib; attack surface is the fixed built-in set.
4848

4949
## Sandbox guarantees

docs/pages/language/async.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Cooperative concurrency via `async def` coroutines and `await` / `yield`. No pre
88
No `asyncio` module. Primitives: `run`, `sleep`, `frame`, `gather`, `with_timeout`, `cancel`, `receive` — are top-level builtins.
99

1010
```python
11-
import asyncio # ModuleNotFoundError: It was decided not to use asyncio and introduce the asynchrony within the virtual machine.
11+
import asyncio # compile-time error: module 'asyncio' not found — concurrency lives in the VM, not a module.
1212
```
1313

1414
```python

docs/pages/language/syntax.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ hello world
125125

126126
### Escape sequences
127127

128-
Supported: `\n`, `\t`, `\r`, `\\`, `\'`, `\"`, `\0`, `\xHH`, `\uHHHH`, `\UHHHHHHHH`, `\NNN` (1–3 octal digits). Named-char escapes (`\N{GREEK SMALL LETTER ALPHA}`) not supported — use `\u`.
128+
Supported: `\n`, `\t`, `\r`, `\a`, `\b`, `\f`, `\v`, `\\`, `\'`, `\"`, `\0`, `\xHH`, `\uHHHH`, `\UHHHHHHHH`, `\NNN` (1–3 octal digits). Named-char escapes (`\N{GREEK SMALL LETTER ALPHA}`) not supported — use `\u`.
129129

130130
```python
131131
print('\n line break')

docs/pages/reference/builtins.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,7 @@ False
610610

611611
### callable
612612

613-
True for user functions, lambdas, bound methods, type objects, native builtins. False for everything else, including instances, no `__call__` dispatch.
613+
True for user functions, lambdas, bound methods, type objects, native builtins, and instances whose class defines `__call__` (see [Callable](/language/dunders#callable)). False for everything else.
614614

615615
```python
616616
print(callable(print))

docs/pages/reference/cli.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,17 +134,17 @@ Point a package at a custom URL with `edge add foo=https://example.com/foo.wasm`
134134

135135
## `edge build` — portable bundle
136136

137-
Bundles your app into a self-contained `dist/` for offline use or self-hosting: the runtime, the `compiler.wasm`, your scripts, and every package vendored locally so nothing is fetched at runtime.
137+
Bundles your app into a self-contained `dist/` for offline use or self-hosting: the runtime, the `compiler_lib.wasm`, your scripts, and every package vendored locally so nothing is fetched at runtime.
138138

139139
```text
140140
$ edge build
141141
(successful) vendored runtime
142-
(successful) fetched compiler.wasm
142+
(successful) fetched compiler_lib.wasm
143143
(successful) vendored packages
144144
145145
bundled to dist/
146146
147-
13 runtime files + compiler.wasm
147+
13 runtime files + compiler_lib.wasm
148148
2 packages
149149
3 scripts
150150

docs/pages/reference/limits-and-errors.md

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ description: "Sandbox limits, error types, and runtime guarantees."
55

66
## Sandbox limits
77

8-
Two profiles via `VM::with_limits`: the same `compiler.wasm` runs unsandboxed in trusted contexts, clamped in untrusted.
8+
Two profiles via `VM::with_limits`: the same `compiler_lib.wasm` runs unsandboxed in trusted contexts, clamped in untrusted.
99

1010
| Limit | `none()` (default) | `sandbox()` | What hitting it raises |
1111
|----------------|--------------------|---------------|------------------------|
1212
| Max call depth | 1,000 | 256 | `RecursionError` |
1313
| Max operations | unbounded | 100,000,000 | `RuntimeError` |
14-
| Max heap bytes | 10,000,000 | 100,000 | `MemoryError` |
14+
| Max live objects | 10,000,000 | 100,000 | `MemoryError` |
1515

1616
## Integer width
1717

@@ -223,18 +223,9 @@ Failures surfaced before the source reaches the compiler: no line/column preview
223223

224224
Handle at the embedder layer (path validation, encoding, size check) before invoking the compiler.
225225

226-
## Unsupported features at runtime
226+
## Unavailable modules
227227

228-
Parse but raise `RuntimeError` when executed:
229-
230-
```python
231-
try:
232-
import os
233-
except RuntimeError as e:
234-
print("import:", e)
235-
```
236-
237-
Exist for syntactic compatibility. For code reuse, use higher-order functions.
228+
Unavailable modules (`os`, `sys`, `asyncio`, …) parse for syntactic compatibility but have no resolver entry, so they are rejected at **compile time** before any code runs — a parse-time diagnostic, not a catchable runtime exception. See [Imports, Errors](/reference/imports#errors). For code reuse, use higher-order functions.
238229

239230
## Determinism
240231

docs/pages/reference/packages.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ Unlike the other standard packages, `test` ships as **pure Edge Python source**
9292

9393
## Host libraries
9494

95-
Plain-JS capabilities that run on the browser's main thread, registered declaratively via the `host` field of [`packages.json`](/reference/imports#packages-json) (with the `<edge-python>` element), programmatically via `createWorker({ hostModules })`, or resolved by default with no config at all (see [Defaults](#defaults)). No `.wasm`, no Rust, no build step. Each call defers to the main thread over `postMessage` (around 0.1 to 0.4 ms); Python sees a synchronous call. The ESM loads lazily, the first time a run imports it.
95+
Plain-JS capabilities that run on the browser's main thread, registered declaratively via the `host` field of [`packages.json`](/reference/imports#packagesjson) (with the `<edge-python>` element), programmatically via `createWorker({ hostModules })`, or resolved by default with no config at all (see [Defaults](#defaults)). No `.wasm`, no Rust, no build step. Each call defers to the main thread over `postMessage` (around 0.1 to 0.4 ms); Python sees a synchronous call. The ESM loads lazily, the first time a run imports it.
9696

9797
### `dom`
9898

0 commit comments

Comments
 (0)