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
-**Control flow**: `if`/`while` (bool conditions), `for x in expr` over `Vec<T>`, `[T; N]`, or `String` (bytes as `u8`), `match` with guards, `defer`
20
+
-**Control flow**: `if`/`while` (bool conditions), `loop { }`, `for x in expr` over `Vec<T>`, `[T; N]`, or `String` (bytes as `u8`), `match` with guards, `defer`
21
21
-**Concurrency**: `channel<T>()` returns `(Sender<T>, Receiver<T>)`; `send(&tx, v)` and `recv(&mut rx)`; `spawn { ... }` with structural `Send`
22
22
-**FFI**: `extern "C"` blocks, raw pointers `*T`, calls require `unsafe`
23
23
-**Stdlib**: `stdlib/io.ion`, `stdlib/fmt.ion`, `stdlib/fs.ion`, and `stdlib/result.ion`
@@ -127,7 +127,7 @@ The integration harness (`tests/test_runner.sh`) calls `ion-compiler` and `gcc`
127
127
128
128
### Project manifests (`ion.toml`)
129
129
130
-
`ion-build` discovers `ion.toml` by walking up from the current directory. Required fields: `name`, `main`, `output`. Common optional fields: `mode` (`single` or `multi`), `out_dir` (default `target`), `cflags`, `ldflags`, `stdlib_paths`.
130
+
`ion-build` discovers `ion.toml` by walking up from the current directory. Required fields: `name`, `main`, `output`. Common optional fields: `mode` (`single` or `multi`), `out_dir` (default `target`), `cflags`, `ldflags`, `stdlib_paths`, `emit_in_source`.
131
131
132
132
Root [ion.toml](ion.toml) builds [examples/hello_world_safe.ion](examples/hello_world_safe.ion). Per-example manifests live under [examples/](examples/) (for example `spawn_channel.toml`, `http_server.toml`, `examples/data_lib/ion.toml`). Use `--manifest path` when the file is not named `ion.toml`:
133
133
@@ -200,15 +200,19 @@ On Linux or macOS, use `./target/release/ion-build` and drop `.exe`. Windows cha
200
200
```
201
201
.
202
202
├── src/
203
+
│ ├── bin/ # ion-build, ion-lsp
203
204
│ ├── lexer/ # Tokenizer
204
205
│ ├── parser/ # AST construction
205
206
│ ├── ast/ # AST node definitions
206
207
│ ├── compiler/ # Module resolution, import paths
207
208
│ ├── build/ # ion.toml, ion-build driver, C toolchain
208
209
│ ├── tc/ # Type checker (safety, visibility, qualified names)
0 commit comments