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
#135 slice 8 — bring the remaining core stdlib under the ADR-011 module
model so `use prelude::{…}` actually resolves:
- prelude.affine: its public API is now `pub` (types Option/Result +
the 14 list/numeric utilities). Previously non-`pub`, so importing
modules hit `Resolve.VisibilityError` on `Result`/etc.
- result.affine / option.affine: extend `use prelude::{…}` with `map`
(both call prelude's `map`); was `UndefinedVariable map`.
- collections.affine: add `module collections;` + `use prelude::{Option,
Some, None, filter, map, range, any}` (had no module/use — pre-#133
flat-namespace assumption).
- result.affine `try_map`: `map(f, list)` -> `map(list, f)` — genuine
stdlib bug (prelude `map` is `map(arr, f)`; arg order was swapped,
surfaced as a function-vs-`[T]` type error once imports resolved).
Result: **prelude.affine compiles end-to-end**; result/option/
collections clear ALL import-resolution (VisibilityError/ImportError
gone). result now reaches typecheck; collections reaches a *distinct*
pre-existing defect — the resolver has no forward-reference support
between top-level fns (`binary_search` → `binary_search_helper`),
reproducible even without `module`; that is a new resolver slice, not
slice 8. io still needs cross-module `split` (in string.affine) — slice
8 tail. Full suite green (230); no regression.
Advances #135. Refs #128, #135.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments