Repository navigation
docs(t27o): RFC for heap-free collections, owned strings and inlined closures (Closes #11177) - #11180
Merged
Merged
Conversation
…closures -- the measured demand, six options, one experiment, and the recommendation to build none yet (Closes #11177) A document only: no compiler, spec, ledger, seal or Rust is changed. Demand. The Rust sweep (1,388 files, 19,392 fns, 16,057 first refusals) read back by family and repository, the headline 38.5% reproduced with its denominator stated (6,180 refused items over 16,057 fns; 30.8% counting fns alone), the Vec split (#11135), the iterator funnel (#11145), the golden prize (#11149, #11159) and the Python census (#11168), including the 5.0% ceiling split into the 6,004 lines blocked by heap values alone and the rest. Options. (a) Buf(T), (b) Vec(T, N), (c) arena, (d) closures inlined at their single call site, (e) owned strings as buffer plus count, (f) none; each with its t27 source, what Zig, Rust, C and Verilog emit, what it unlocks and what it costs, set against two measured precedents (#10812: 49 files; #9135: 290 files) and the hand-line budget. Experiment X1, no compiler change: four census functions written by hand in the forms, 9 tests pass under t27c test-report (0 vacuous) and t27b test, 9 of 9 mutants killed, generated Rust agrees with the Python and Rust originals, generated C (12 errors) and Verilog (20 errors) do not compile; seven back-end defects found, none fixed. Exit criteria and a sized pilot X2 are stated; the recommendation is option (f) plus three steps that change no language. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
… the reader reproduces exactly and which differ by two (Closes #11177) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
PR DashboardGenerated at: 2026-10-19 23:57:14 UTC
Summary
Seal Status
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #11177
What
One document,
docs/now/2026-10-20-heap-free-collections-rfc.md(981 lines, ASCII). No compiler, spec, ledger, seal or Rust is changed.Result
typeshare is 6,180 refused items over 16,057 fns (30.8% counting fns alone), and the saved sweep has 854 tuple first refusals, not 650.Buf(T), (b)Vec(T, N), (c) arena, (d) closures inlined at their single call site, (e) owned strings as buffer plus count, (f) none. Each has its t27 source, what Zig, Rust, C and Verilog emit, what it unlocks and its cost, set against two measured precedents of a back-end change (lexer: \xNN in a string lowers to one byte, and every backend writes the byte back #10812: 49 files, 42 seals; gen-rust: eight constructs that passed test-report now compile under rustc (Closes #8891) #9135: 290 files, 286 seals) and the hand-line budget.t27c test-report9/9 with 0 vacuous passes,t27b test9/9, 9 of 9 mutants killed, generated Rust agrees with the Python and Rust originals; generated C (12 errors) and Verilog (20 errors) do not compile. Exit criteria E1-E6 and a sized pilot X2 (15 of 100) are stated.Not run
No
cargo build(the sharedt27c0.5.2 andt27bbinaries were used);tri t27o-sweepwas run on this checkout only, the five-repository numbers are lane A4's saved outputs read back with a reader that reproduces the published counts; the Python heap decomposition could not be split by repository (lane A9's scratch was removed meanwhile); X2 and the second half of X1 are sized, not run. The commit-time gates that need atribinary did not run locally.Checks run locally
python3 -I tools/check_devhome_paths.pyOK; the document has no non-ASCII byte and no home-directory path.🤖 Generated with Claude Code