Enable daily Pop.Standard use and exact source overloads - #25
Merged
Conversation
Inject the reserved Standard Bubble into normal CLI builds and link only target objects reloaded from verified poplib artifacts. Add exact static source overload selection so concise APIs do not need type-suffixed names.\n\nExpand Sequence with fused projection, search, and lazy composition operations, including checked documentation, reference metadata, MIR, LLVM, and architecture conformance coverage.
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.
Summary
Make the ordinary CLI path usable with the portable
Pop.Standardsurface andexpand the first daily-use sequence slice.
This change injects the reserved Standard Bubble into normal source and Package
builds, emits and reloads verified
.poplibartifacts, and links the exacttarget implementation selected from those artifacts. Portable Standard Modules
remain conventionally discovered; no compiler registry of library APIs is
introduced.
It also adds exact non-generic source function overloads. Selection uses only
arity and exact static argument types and reaches HIR/MIR as one resolved symbol;
there is no conversion ranking, result-context selection, or runtime dispatch.
Pop.SequencegainsfindOr,indexOr,sumBy,productBy,minByOr,maxByOr,append,prepend, andscan, with checked documentation, explicitcost contracts, lazy typed adapters where applicable, and MIR/LLVM execution
coverage.
Architecture traceability
architecture/22-public-standard-library-architecture.mdPop.Sequenceprototypes are addedVerification
cargo fmt --all -- --checkcargo check --workspace --all-targetscargo test --workspace --all-targetscargo clippy --workspace --all-targets -- -D warningsIf a check was not run, explain why:
All required checks ran successfully. Relative Markdown links, ADR identities,
architecture conformance, Standard baseline consistency, exact overload
reference-metadata round trips, verified artifact selection, and MIR/LLVM
Sequence execution were also checked.
Review notes
Fully source-free registry/cache consumption is not claimed here. It remains
blocked on an accepted deterministic remapping contract for session-local Bubble
identities across independently built artifacts. The implementation deliberately
does not guess identity from filenames, namespaces, aliases, or raw numeric IDs.
The experimental C backend remains outside the parity target. The new Sequence
behavior is covered by the MIR interpreter and LLVM backend.