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


-- | Common LeanCheck instances
--   
--   Listable instances for types provided by the Haskell Platform.
--   
--   The current objective is to include all types supported by
--   quickcheck-instances:
--   <a>https://hackage.haskell.org/package/quickcheck-instances</a>
@package leancheck-instances
@version 0.0.3


-- | Declares <a>Listable</a> <a>Array</a>
--   
--   This <a>Listable</a> instance imposes a <a>Num</a> restriction on the
--   index.
module Test.LeanCheck.Instances.Array
instance (GHC.Num.Num i, GHC.Arr.Ix i, Test.LeanCheck.Core.Listable i, Test.LeanCheck.Core.Listable a) => Test.LeanCheck.Core.Listable (GHC.Arr.Array i a)


-- | Instances of <a>Listable</a> for <a>ByteString</a>.
module Test.LeanCheck.Instances.ByteString
instance Test.LeanCheck.Core.Listable Data.ByteString.Lazy.Internal.ByteString
instance Test.LeanCheck.Core.Listable Data.ByteString.Internal.ByteString


-- | <a>Listable</a> containers.
module Test.LeanCheck.Instances.Containers
instance (GHC.Classes.Ord a, Test.LeanCheck.Core.Listable a) => Test.LeanCheck.Core.Listable (Data.Set.Internal.Set a)
instance (GHC.Classes.Ord a, GHC.Classes.Ord b, Test.LeanCheck.Core.Listable a, Test.LeanCheck.Core.Listable b) => Test.LeanCheck.Core.Listable (Data.Map.Internal.Map a b)
instance (GHC.Classes.Ord a, Test.LeanCheck.Core.Listable a) => Test.LeanCheck.Core.Listable (Data.Sequence.Internal.Seq a)
instance (GHC.Classes.Ord a, Test.LeanCheck.Core.Listable a) => Test.LeanCheck.Core.Listable (Data.IntMap.Internal.IntMap a)
instance Test.LeanCheck.Core.Listable Data.IntSet.Internal.IntSet


-- | Declares a <a>Listable</a> <a>Natural</a> instance.
module Test.LeanCheck.Instances.Natural
instance Test.LeanCheck.Core.Listable GHC.Natural.Natural


-- | Declares <a>Listable</a> <a>Text</a> instances.
module Test.LeanCheck.Instances.Text
instance Test.LeanCheck.Core.Listable Data.Text.Internal.Text
instance Test.LeanCheck.Core.Listable Data.Text.Internal.Lazy.Text


-- | Declares <a>Listable</a> time datatype instances.
--   
--   Admitedly, these <a>Listable</a> enumerations are defined somewhat
--   arbitrarily...
module Test.LeanCheck.Instances.Time
instance Test.LeanCheck.Core.Listable Data.Time.Calendar.Days.Day
instance Test.LeanCheck.Core.Listable Data.Time.Clock.Internal.DiffTime.DiffTime
instance Test.LeanCheck.Core.Listable Data.Time.Clock.Internal.UTCTime.UTCTime


-- | This module provides <a>Test.LeanCheck</a> <a>Listable</a> instances
--   for types provided by the Haskell Platform. More specifically, for
--   types of the following packages:
--   
--   <ul>
--   <li><a>bytestring</a></li>
--   <li><a>containers</a></li>
--   <li><a>nats</a></li>
--   <li><a>text</a></li>
--   <li><a>time</a></li>
--   <li><a>array</a></li>
--   </ul>
--   
--   These instances are not defined in the <a>main leancheck package</a>
--   to not introduce needless dependencies to LeanCheck.
--   
--   These instances are defined in the following submodules:
--   
--   <ul>
--   <li><a>Test.LeanCheck.Instances.Text</a></li>
--   <li><a>Test.LeanCheck.Instances.Natural</a></li>
--   <li><a>Test.LeanCheck.Instances.ByteString</a></li>
--   <li><a>Test.LeanCheck.Instances.Containers</a></li>
--   <li><a>Test.LeanCheck.Instances.Time</a></li>
--   <li><a>Test.LeanCheck.Instances.Array</a></li>
--   </ul>
--   
--   Check the Haddock documentation of each module listed above for the
--   full list of supported types.
module Test.LeanCheck.Instances


-- | <a>Test.LeanCheck</a> with additional <a>Listable</a> instances from
--   <a>Test.LeanCheck.Instances</a>.
--   
--   Importhing this is the same as:
--   
--   <pre>
--   import Test.LeanCheck
--   import Test.LeanCheck.Instances
--   </pre>
module Test.LeanCheck.WithInstances
