
On Sat, 2007-10-27 at 13:08 +0100, Ian Lynagh wrote:
On Sat, Oct 27, 2007 at 11:15:19AM +0000, Duncan Coutts wrote:
For example QuickCheck is not required to build ghc, but if we included the Arbitrary instances for ByteString in the bytestring package then ghc would depend on QuickCheck.
Perhaps one solution is to use configurations, so people can build a package with or without the QuickCheck dependency.
What would a dependency on bytestring 0.9 mean then? How would I indicate that I need the Arbitrary instance?
You're right, you couldn't.
Someone could make a ghc-bootlib-arbitrary package, containing all the Arbitrary instances for types in the bootlibs.
Yes, or the QuikCheck package might be a good place for most of those :-) The same problem goes for all libs, people are reluctant to add dependencies on QC and HUnit packages just for their tests. Perhaps the solution is that people should just not worry about adding such dependencies. Duncan