move QuickCheck.All to separate package (because of TemplateHaskell)
Henning Thielemann
lemming at henning-thielemann.de
Fri Apr 27 12:31:14 BST 2012
Hi,
I had trouble compiling QuickCheck on a snapshot of GHC-7.5, because of
its Template Haskell dependency. I found that there is a Cabal switch in
order to disable Template Haskell. Unfortunately Hackage does not
list Cabal flags. However when this flag is disabled the module
QuickCheck.All is gone. How can a package that imports QuickCheck can
assert that QuickCheck.All is present if it is needed?
I think the only clean solution is to move QuickCheck.All to a separate
package, say QuickCheckTH. This has many advantages: It makes clear for
everyone that there is some QuickCheck stuff that depends on Template
Haskell. It allows packages to explicitly depend on QuickCheck.All. It
frees all packages from a Template Haskell dependency that import plain
QuickCheck.
Best,
Henning
More information about the QuickCheck
mailing list