Visitar URL original
Comparing master...merge-226 · haskell-unordered-containers/unordered-containers · GitHub
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: haskell-unordered-containers/unordered-containers
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: haskell-unordered-containers/unordered-containers
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: merge-226
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 5 files changed
  • 1 contributor

Commits on Jul 2, 2026

  1. Add general merge API (#226)

    Add a Data.Map.Merge-style merge function with WhenMissing/WhenMatched
    tactics, exposed via the new module Data.HashMap.Merge.Lazy.
    
    The implementation follows the structure of unionWithKey, extended to
    handle shrinking: since missing and matched tactics may drop entries,
    subtree results can collapse to leaves or vanish entirely, so child
    arrays are rebuilt in the style of intersectionArrayBy. A leaf or
    collision node merged with a branch node is treated as a pseudo-branch
    with a single child, so that the branch's remaining children flow
    through the appropriate missing tactic.
    
    The tactics types are parameterized over an Applicative so that mergeA
    can be added later without breaking changes. Only the Identity-based
    simple tactics are exposed for now; a strict variant of merge is also
    left for future work.
    
    Tested against the containers implementation, exercising each tactic
    constructor on each side, plus invariant validation.
    
    Assisted-by: Claude Fable 5
    sjakobi committed Jul 2, 2026
    Configuration menu
    Copy the full SHA
    e2b0794 View commit details
    Browse the repository at this point in the history
Loading