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

RFC: Put Arbitrary instances for Cabal types in their own package. #5682

Open
wants to merge 6 commits into
base: master
from

Conversation

Projects
None yet
4 participants
@quasicomputational
Copy link
Collaborator

quasicomputational commented Nov 12, 2018

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:

  • Patches conform to the coding conventions.
  • Any changes that could be relevant to users have been recorded in the changelog.
  • The documentation has been updated, if necessary.
  • If the change is docs-only, [ci skip] is used to avoid triggering the build bots.

Please also shortly describe how you tested your change. Bonus points for added tests!

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 12, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "ca2ea6bd20d859e43dcd201d0345372b298f1873",
"tag":"linux-7.6.3"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 12, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "ca2ea6bd20d859e43dcd201d0345372b298f1873",
"tag":"linux-7.8.4"
}
@hvr

This comment has been minimized.

Copy link
Member

hvr commented Nov 12, 2018

So this is strictly a local/internal package NOT intended to be released to Hackage, right?

@quasicomputational

This comment has been minimized.

Copy link
Collaborator Author

quasicomputational commented Nov 13, 2018

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.

@phadej

This comment has been minimized.

Copy link
Collaborator

phadej commented Nov 13, 2018

There are tests in Cabal which depends on this instances. Before we have per-component solving, I see this as blocked.

The tests should be inside Cabal package. cabal-install test-suite is too "far"; and developer experience: increases feedback loop too much.

👎


Having a package which shares the sources with Cabal (a bit like aeson and attoparsec-iso8601 could work).

@23Skidoo

This comment has been minimized.

Copy link
Member

23Skidoo commented Nov 13, 2018

IMO the existence of cabal.project makes the argument for moving all test suites to a single separate package more convincing.

@phadej

This comment has been minimized.

Copy link
Collaborator

phadej commented Nov 13, 2018

FWIW, there is Version: 3.3 2018-10-24 of SPDX license list. Try out how not nice it is to update now, when tests are mile away from Cabal.

@quasicomputational quasicomputational force-pushed the quasicomputational:cabal-quickcheck-instances branch from ca2ea6b to f9535d7 Nov 16, 2018

@quasicomputational

This comment has been minimized.

Copy link
Collaborator Author

quasicomputational commented Nov 16, 2018

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...)

Put Arbitrary instances for Cabal types in their own package.
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, the modules for the new package are shared with Cabal's
test-suite. This is less than ideal, but it's a workable hack.

@quasicomputational quasicomputational force-pushed the quasicomputational:cabal-quickcheck-instances branch from f9535d7 to 8ac04b7 Nov 17, 2018

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "552490a265d415e1086b8b90525e5ab57bee8ef9",
"tag":"linux-7.10.3"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "552490a265d415e1086b8b90525e5ab57bee8ef9",
"tag":"linux-8.2.2"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "552490a265d415e1086b8b90525e5ab57bee8ef9",
"tag":"linux-8.0.2"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "552490a265d415e1086b8b90525e5ab57bee8ef9",
"tag":"linux-8.4.4"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "552490a265d415e1086b8b90525e5ab57bee8ef9",
"tag":"linux-8.6.2"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "552490a265d415e1086b8b90525e5ab57bee8ef9",
"tag":"linux-8.4.4-fdebug-expensive-assertions"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "552490a265d415e1086b8b90525e5ab57bee8ef9",
"tag":"osx-8.0.2"
}

quasicomputational added some commits Nov 17, 2018

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193",
"tag":"linux-7.10.3"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193",
"tag":"linux-8.0.2"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193",
"tag":"linux-8.2.2"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193",
"tag":"linux-8.4.4"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193",
"tag":"linux-8.6.2"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193",
"tag":"linux-8.4.4-fdebug-expensive-assertions"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193",
"tag":"osx-7.10.3"
}

haskell-pushbot pushed a commit to haskell-pushbot/cabal-binaries that referenced this pull request Nov 17, 2018

{"origin":"haskell/cabal/pull/5682",
"url":"pull/5682",
"account":"haskell",
"repo":"cabal",
"commit": "85716cc87aefe0ea8eb4d5364bd94d801a0a7193",
"tag":"osx-8.0.2"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.