Skip to content

instance Eq1/2 etc are only available with base-4.9 #807

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

Closed
phadej opened this issue Dec 17, 2021 · 9 comments
Closed

instance Eq1/2 etc are only available with base-4.9 #807

phadej opened this issue Dec 17, 2021 · 9 comments

Comments

@phadej
Copy link
Contributor

phadej commented Dec 17, 2021

This is not indicated in the documentation of these instances, neither in the changelog.

Therefore I was fooled into making broken hashable release.

The easiest "fix" would be to drop GHC-7 support.

I'd also welcome removal of all other conditional interfaces, even at the cost of removal of old GHC support. (especially if it's only GHC-7).

@phadej
Copy link
Contributor Author

phadej commented Dec 17, 2021

I'm inclined to make restricting base >=4.9 revisions for all containers since 0.5.9.1.

@treeowl
Copy link
Contributor

treeowl commented Dec 17, 2021

Eq1 and Eq2 don't exist in earlier versions of base, do they? Different (superior, IMO) classes by the same names existed elsewhere.

@treeowl
Copy link
Contributor

treeowl commented Dec 17, 2021

@phadej , why would you do that?

@phadej
Copy link
Contributor Author

phadej commented Dec 17, 2021

Because the conditional API makes it hard for me to support ranges of container versions. Or I'll just drop hashable GHC-7 support.

EDIT: I'll just do that. People need unordered-containers supporting GHC-8.0 support to use hashable-1.4 anyway.

@treeowl
Copy link
Contributor

treeowl commented Dec 17, 2021

I don't know how you expect containers to instantiate a class that doesn't exist.

@phadej
Copy link
Contributor Author

phadej commented Dec 17, 2021

The Eq1 exists in transformers (EDIT: with old base), and for non-boot libraries using then (Eq1 from base or transformers) interchangeably is (almost) transparent. Ditto hashable issue.

@treeowl
Copy link
Contributor

treeowl commented Dec 17, 2021

Okay, well, you're just going to have to test for both base and containers versions to use instances in containers of classes in base. That's normal.

@phadej
Copy link
Contributor Author

phadej commented Dec 17, 2021

I see this won't be fixed on containers side.

Please consider dropping old GHC support. It would make your life easier as well.

@phadej phadej closed this as completed Dec 17, 2021
@treeowl
Copy link
Contributor

treeowl commented Dec 17, 2021

I am all in favor of doing so.

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

No branches or pull requests

2 participants