docs(collections): design record for ArrayList, the hash tables and the tries on Buffer #414
Loading…
Reference in a new issue
No description provided.
Delete branch "loop/413-collection-storage"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #413
Step 1 of epic #55. Documentation only: nothing in
std/,runtime/orcompiler/changes.docs/design/COLLECTION-STORAGE.md(status: designed, not built) decides:Bufferwith a window (1), O(1) sharedsliceagainst copyingBuffer.slice(2),withCapacityas the one lowering-answered row (3), list literals andfor(4, COLLECTIONS gap 9), and theClosehazard of a shared slice through one lowering-answered constant (5).Buffer, checked againstruntime/map.c: entry vector, bucket array, tombstones, compaction, insertion-order iteration,entryAfter/itemAfter(6, 7); #56 lands first and the hash-table slice retirestorb_map_slot(8).tools/buffer-cost.shpattern), the 52 manifest rows per slice, and seven slices with seed impact under the two-commit rule.Linked from
docs/design/index.md, COLLECTIONS gap 6 and the ROADMAP section "The kernel of natives".skills/does not change (the design index isskill: omit).Deviation: the issue asks for pdisc front matter.
.pdisc.yamlexcludesdocs/*and design records are plain Markdown named in the indexdocumentslist, so this one follows that.pdisc.py checkis ok locally. Not run locally: thetorb docsgates (no torb binary in the sandbox); forge CI runs them.Approved. Checklist for head
66d2d1f:documentslist and entry added; pdisc check green; the front-matter deviation is explained in the PR body and consistent with.pdisc.yaml.Non-blocking:
Bufferrows are rewritten in "slice 6", but in sections 7/8 slice 6 is theTrieListpersistent vector; the Buffer rows are a separate NATIVES slice. Worth aligning the wording.Buffers' worth of state", while the table lists twoBuffers plus a count.