Conversation
Bring examples/pkg_resolver/rust/ to the P3 resolver. The shim now round-trips deb/3 versions, alternatives groups, provides 3/4-ary, catalog/10, and the providers/alternatives blocked shapes. Runtime: predsort/3 (A3 captured before the comparator; regs saved around each less-func) and maplist/2-5 accept the atom [] via deref_list_arg. Call/Execute already fall back to the whole builtin table and UW_WAM_WARN_UNKNOWN is unchanged. Real bug: a nested run() from the predsort comparator Deallocated the caller's Env frame, so sort_versions_desc failed after a successful predsort (reverse ran, clause Deallocate found no Env). v/3 never hit this because it uses sort/2. call_goal_once now restores the stack snapshot; probe mp06. Rebuilt uw_resolve_wam from current resolver.pl. Corpus 51/51 vs SWI (B1 42 ms). Differential and the rest of the gate list follow. Co-authored-by: johns243a <johns243a@gmail.com>
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.
Bring the Rust WAM uw-resolve lane to the same P3 bar as wamjs / Go / ClojureScript (corpus 51/51, differential 2600/0), mirroring the D61 Go playbook against the current resolver (includes D69 H4/H1).
What changed
Owned files only:
examples/pkg_resolver/rust/(shim + rebuiltuw_resolve_wam/),src/unifyweaver/targets/wam_rust_target.pl, additivetests/test_wam_rust_maplist_predsort.pl.resolver.pland every other lane frozen.Shim
Round-trips the full P3 JSON both directions:
{"deb":[Epoch,[[order,num],…],[…]]}↔deb/3+s(Codes,N)segmentsdependsthird arg{"alternatives":[{dep,constraint},…]}↔alternatives([dep/2|_])catalog/10when provides are presentproviders([...])/alternatives([alt(N,Reason)|…])lte/gtRuntime
predsort/3(A3 captured before the comparator; A/X regs saved around each less-func; leftover CPs truncated)maplist/2-5accepts the atom[]viaderef_list_argfunctor/3,arg/3,=../2,memberchkalready classified).UW_WAM_WARN_UNKNOWNunchanged.Runtime bug beyond the P3 gap
A nested
run()from the predsort comparator (cmp_ver→version_lt) Deallocated the caller’s Env frame.sort_versions_descthen failed after a successful predsort:reverse/2ran, clause Deallocate found no Env. The v/3 world never hit this (sort/2).call_goal_oncenow restores a stack snapshot. Probemp06.Gates
run_corpus_rust.shrun_differential_rust.shdocs/WAM_RUST_STATUS.mdand the rust README will be updated with the remaining numbers.