Skip to content

Making DependentProductZipperG behave as a compliant ProductZipper - #56

Open
luketpeterson wants to merge 1 commit into
masterfrom
dependent_zipper_factor_fixes
Open

Making DependentProductZipperG behave as a compliant ProductZipper#56
luketpeterson wants to merge 1 commit into
masterfrom
dependent_zipper_factor_fixes

Conversation

@luketpeterson

Copy link
Copy Markdown
Collaborator

Applying ProductZipper tests to DependentProductZipperG
Expanding ProductZipper tests
Fixing test failures in DependentProductZipperG

Expanding ProductZipper tests
Fixing test failures in DependentProductZipperG
@luketpeterson

Copy link
Copy Markdown
Collaborator Author

@Adam-Vandervorst There were some issues where DependentProductZipperG appeared to be broken. But I don't understand all the situations in which you use it, so I didn't want to make changes that could potentially break behavior without giving you a chance to weigh in.

@Adam-Vandervorst

Copy link
Copy Markdown
Owner

The implementation was copy-pasted from the product zipper, so probably just an out-of-sync problem with a fix that wasn't applied to both. I'll run the MORK tests, it's used quite a bit.

@luketpeterson

luketpeterson commented Jul 28, 2026 via email

Copy link
Copy Markdown
Collaborator Author

@Adam-Vandervorst

Copy link
Copy Markdown
Owner

Do you have a plain text description of the change?

@luketpeterson

luketpeterson commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator Author

Do you have a plain text description of the change?

The implementation without the change accumulates (accretes) child zippers in the secondary vec as the zipper moves, because factors that are ascended out of aren't removed during an ascend_until or reset. Ordinary ascend was already fine.

Also the factor_count method is effectively meaningless so I got rid of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants