Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hide internal util modules? #1096

Closed
meooow25 opened this issue Jan 19, 2025 · 1 comment · Fixed by #1101
Closed

Hide internal util modules? #1096

meooow25 opened this issue Jan 19, 2025 · 1 comment · Fixed by #1101

Comments

@meooow25
Copy link
Contributor

meooow25 commented Jan 19, 2025

We currently expose three such modules:

Utils.Containers.Internal.BitUtil
Utils.Containers.Internal.BitQueue
Utils.Containers.Internal.StrictPair

I don't think we have enough reason to expose these. They are not containers internals and are not required to use containers internals. They are used purely internally. Two of these, BitUtil and StrictPair, contain only trivial definitions.

Should we move them to other-modules?

@meooow25
Copy link
Contributor Author

Digging through the history,

  • 9fc8b45 exposed all internals "per Ed Kmett's request"
  • 576fe49 hid internal utils except for BitUtil and BitQueue. treeowl wrote that these might be useful for users (Refactor internal modules #324 (comment)). According to Hackage search (https://hackage-search.serokell.io/), nobody is using StrictPair or BitQueue. There are two uses of BitUtil: arithmoi uses highestBitMask and enummapset uses bitcount, both of these are gone on HEAD.
  • 2eb64f5 exposed StrictPair, reason unclear.

So, we wouldn't be breaking anyone on Hackage, and I am in favor of hiding these to reduce clutter for regular users.

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 a pull request may close this issue.

1 participant