Skip to content

Generic three-way zipper merge#34

Open
marcin-rzeznicki wants to merge 4 commits intozipper_joinfrom
zipper_join3
Open

Generic three-way zipper merge#34
marcin-rzeznicki wants to merge 4 commits intozipper_joinfrom
zipper_join3

Conversation

@marcin-rzeznicki
Copy link
Copy Markdown
Collaborator

This PR introduces a generic three-way zipper merge:

zipper_merge3::<P>(lhs, mid, rhs, out)

It also introduces policy-driven semantics: fully generic over MergePolicy (structure) and ValuePolicy (values); supports Join, Meet, and Subtract with no special-casing in the engine.

In short: this lifts the zipper merge from binary to ternary without sacrificing performance, while keeping algebraic semantics cleanly encapsulated in policies.

Note to the reviewers

Please review #33 first, in case you haven't done it yet

@marcin-rzeznicki marcin-rzeznicki self-assigned this Apr 7, 2026
@marcin-rzeznicki marcin-rzeznicki changed the title Zipper join3 Generic three-way zipper merge Apr 7, 2026
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.

1 participant