Skip to content

Conversation

@meooow25
Copy link
Contributor

  • Move StrictPair to Utils.Containers.Internal.Strict next to StrictTriple
  • Remove the currently unused strict Maybe

* Remove the currently unused strict Maybe
* Move StrictPair to Utils.Containers.Internal.Strict next to
  StrictTriple


data SplitLookup a = SplitLookup !(IntMap a) !(Maybe a) !(IntMap a)
type SplitLookup a = StrictTriple (IntMap a) (Maybe a) (IntMap a)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you tried stitching to an unlifted maybe here? I don't remember if I have.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would that make a difference compared to simply being strict?

But switching to an unboxed/unpacked Maybe would avoid allocating the Justs, we could try that later.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's just one allocation, so probably not a big deal, but yeah, I think it'd be worth trying.

@meooow25 meooow25 merged commit ec6d6e4 into haskell:master Jan 1, 2026
14 checks passed
@meooow25 meooow25 deleted the strict-tuples branch January 1, 2026 17:03
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