feat: try/unwrap payload types, LSP format, macro paste, freestanding runtime
ci / build (ubuntu) (push) Has been cancelled
ci / unit + fmt (push) Has been cancelled
ci / examples (push) Has been cancelled
ci / goldens + tools (push) Has been cancelled
ci / apps (push) Has been cancelled
ci / selfhost smoke (push) Has been cancelled
ci / macos smoke (push) Has been cancelled
ci / windows smoke (push) Has been cancelled
ci / CI gate (push) Has been cancelled
selfhost-loop / bootstrap determinism (push) Has been cancelled

- Type `?`/`!` as Result/Option Ok payload (not always int); fix unwrap C types
- LSP 0.18 document formatting (bux fmt) + VS Code format-on-save
- Macro `:type` generics (Array_New<$t>) and operators-only tt paste
- Ship runtime_freestanding.c + BUX_RUNTIME=freestanding + smokes/examples
This commit is contained in:
2026-07-28 16:56:35 +03:00
parent db7ba1dff2
commit ec5984762b
22 changed files with 1332 additions and 68 deletions
+14 -2
View File
@@ -1472,10 +1472,22 @@ bootstrap + **buxc2** `macro_tt_raw` (incl. slice) PASS.
5. Tag `v1.0.0` after `make test` gate
**Post-1.0 backlog (MINOR, not freeze blockers):**
- Generics in `:type` (`Array<int>`); operators-only tt paste
- `runtime_freestanding.c` + Cortex-M research
- ~~Generics in `:type` (`Array<int>`); operators-only tt paste~~ ✅ session 5
- ~~`runtime_freestanding.c`~~ ✅ session 5 (Cortex-M / board BSP still research)
- LSP / IDE versioning independent of language MAJOR
### Follow-up (2026-07-28)
1. **`?` / `!` payload types** — bootstrap no longer hardcodes `int`; Ok/Some type
from `Result<T,E>` / enum fields (`bootstrap/sema.nim`, `hir_lower.nim`).
2. **Example** `try_generic` — String Result propagation.
3. **LSP 0.18** — `textDocument/formatting` (+ range) via `formatSource` / `bux fmt`;
VS Code format-on-save default; `tools/smoke_lsp_formatting.sh`.
4. **Macros:** generic `:type` + `Array_New<$t>`; operators-only `$op($a,$b)` /
juxta binary split (`examples/macro_type_generic`, `macro_op_paste`).
5. **Freestanding:** `rt/runtime_freestanding.c`, `BUX_RUNTIME=freestanding`,
`make test-freestanding`.
### Изрично **не** правим
- Повече Windows examples / Win OpenSSL / Win sockets