Repository navigation
Parity with jRegTab 0.7.1: CONCAT/JOIN product, named keys, diagnostics, provider index, zero-width subrows; CLI runner; 0.7.1 - #10
Merged
Conversation
…cs, provider index, zero-width subrows; CLI runner; release 0.7.1
Port of the upstream plans 0.5.2-0.7.1:
- JOIN(K) is the record product (cross product for K = {}, equi-join on K),
the folding operation is CONCAT(K) without dedup and with checked
preconditions; rec is multi-valued, joined-away (J) and concatenated-away
(C) anchors; Diagnostic + TableInterpreter.with_strict_preconditions()
- RecordKey: key positions and/or attribute names, CONCAT(0, 1, 'A', 'B'),
JOIN('k'), canonical form in the serializer
- "anchor has no record - REC missing?" diagnostics for explicit actions
(ActionInst.inherited)
- zero-width subrows/subtables match the empty sequence, {0}/{1} accepted,
out-of-range integer literals are compile errors with a position
- spatial ItemIndex + CandidateScope: providers scan the anchor's row, column,
cell, row range or subtable instead of the whole item set (linear in the
number of cells); randomized equivalence test against the full-scan
reference; FxHash working state
- python -m pyregtab.runner: drop-in counterpart of the regtab-runner jar of
regtab-eval-on-atbench (byte-identical output.csv on all 244 solutions)
- conformance corpus and grammar re-pinned to v0.7.1; docs and README updated
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.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.
Summary
JOIN(K)becomes the record product, the former folding operation isCONCAT(K)(no dedup, checked preconditions); multi-valuedrec, sets J/C;Diagnostic,TableInterpreter.with_strict_preconditions()/.diagnostics()RecordKey: key positions and/or attribute names (CONCAT(0, 1, 'A', 'B'),JOIN('k')), canonical serializer formCONCAT/JOIN(ActionInst.inherited){0}/{1}acceptedItemIndex+CandidateScopefor cell-derived providers (linear in the number of cells), pinned by a randomized equivalence test against the full-scan referencepython -m pyregtab.runner— drop-in counterpart of theregtab-runnerjar of regtab-eval-on-atbenchPlan:
plans/JREGTAB_0_7_1_PARITY.md.Test plan
cargo test(both feature configurations) — 45 passed; clippy-D warningscleanpytest tests— 1981 passed (task corpus, conformance positive/negative/semantic, DSL parity, newtests/test_join_concat.py)mkdocs build --strict,tools/check_grammar_sync.pypython -m pyregtab.runner🤖 Generated with Claude Code