-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Use QuickCheck generators in Hedgehog and vice versa.
--   
--   Use QuickCheck generators in Hedgehog and vice versa.
--   
--   Hedgehog is a modern property-based testing system, in the spirit of
--   QuickCheck. Hedgehog uses integrated shrinking, so shrinks obey the
--   invariants of generated values by construction.
--   
--   To get started quickly, see the examples:
--   &lt;<a>https://github.com/hedgehogqa/haskell-hedgehog/tree/master/hedgehog-</a>
@package hedgehog-quickcheck
@version 0.1.1


-- | Use QuickCheck generators and <a>Arbitrary</a> instances with
--   Hedgehog.
module Hedgehog.Gen.QuickCheck

-- | Create a Hedgehog <a>Gen</a> from a QuickCheck <a>Arbitrary</a>
--   instance.
--   
--   The Arbitrary's <a>shrink</a> function is used to provide shrinking
--   for the Hedgehog <a>Gen</a>.
arbitrary :: (Arbitrary a, MonadGen m) => m a

-- | Create a Hedgehog <a>Gen</a> from a QuickCheck <a>Gen</a>.
--   
--   By default the <a>Gen</a> created will not have any shrinking, you can
--   use <tt>Gen.</tt><a>shrink</a> if you have a shrink function which you
--   would like to apply.
quickcheck :: MonadGen m => Gen a -> m a


-- | Use Hedgehog generators with QuickCheck.
module Test.QuickCheck.Hedgehog

-- | Create a QuickCheck <a>Gen</a> from a Hedgehog <a>Gen</a>.
--   
--   <i>Note that this conversion does not preserve shrinking. There is
--   currently</i> <i>no way to use Hedgehog's shrinking capability inside
--   QuickCheck.</i>
hedgehog :: Gen a -> Gen a
