-
Notifications
You must be signed in to change notification settings - Fork 710
RFC: Put Arbitrary instances for Cabal types in their own package. #5682
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
RFC: Put Arbitrary instances for Cabal types in their own package. #5682
Conversation
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "ca2ea6bd20d859e43dcd201d0345372b298f1873", "tag":"linux-7.6.3" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "ca2ea6bd20d859e43dcd201d0345372b298f1873", "tag":"linux-7.8.4" }
So this is strictly a local/internal package NOT intended to be released to Hackage, right? |
No, this is with the intention of it being on Hackage, since others (me, for one) would like to have these instances and, if there are going to be orphans, a blessed package for them is the least worst option. If we don't publish the package, this probably isn't worth the fuss of doing. |
There are tests in The tests should be inside 👎 Having a package which shares the sources with |
IMO the existence of |
FWIW, there is |
ca2ea6b
to
f9535d7
Compare
OK, I have pushed a v2 that shares its source between the new package and Cabal's test suite. (It also has the side benefit on actually working; I thought I'd tested the previous version, but travis disagreed...) |
This is with the intention of the new package, cabal-quickcheck-instances, being the blessed location for these orphans, as QuickCheck acquiring a Cabal dependency or vice-versa would be unsuitable. This reduces some duplication (some presumably deliberate, and some apparently accidental) and then some drift between the versions of these instances. Due to haskell#1575, the modules for the new package are shared with Cabal's test-suite. This is less than ideal, but it's a workable hack.
f9535d7
to
8ac04b7
Compare
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "552490a265d415e1086b8b90525e5ab57bee8ef9", "tag":"linux-7.10.3" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "552490a265d415e1086b8b90525e5ab57bee8ef9", "tag":"linux-8.2.2" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "552490a265d415e1086b8b90525e5ab57bee8ef9", "tag":"linux-8.0.2" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "552490a265d415e1086b8b90525e5ab57bee8ef9", "tag":"linux-8.4.4" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "552490a265d415e1086b8b90525e5ab57bee8ef9", "tag":"linux-8.6.2" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "552490a265d415e1086b8b90525e5ab57bee8ef9", "tag":"linux-8.4.4-fdebug-expensive-assertions" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "552490a265d415e1086b8b90525e5ab57bee8ef9", "tag":"osx-8.0.2" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193", "tag":"linux-7.10.3" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193", "tag":"linux-8.0.2" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193", "tag":"linux-8.2.2" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193", "tag":"linux-8.4.4" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193", "tag":"linux-8.6.2" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193", "tag":"linux-8.4.4-fdebug-expensive-assertions" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193", "tag":"osx-7.10.3" }
"url":"pull/5682", "account":"haskell", "repo":"cabal", "commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193", "tag":"osx-8.0.2" }
I'm trying to resurrect this in #6557 with a small first step. |
The goal is achieved. There is |
This is with the intention of the new package,
cabal-quickcheck-instances, being the blessed location for these
orphans, as QuickCheck acquiring a Cabal dependency or vice-versa
would be unsuitable.
This reduces some duplication (some presumably deliberate, and some
apparently accidental) and then some drift between the versions of
these instances.
Due to #1575, some tests have had to move from the Cabal package to
cabal-install.
Please include the following checklist in your PR:
[ci skip]
is used to avoid triggering the build bots.Please also shortly describe how you tested your change. Bonus points for added tests!