-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Data type modifiers for property based testing
--
@package testing-type-modifiers
@version 0.1.0.1
-- | Type modifiers for writing properties that quantify over commonly used
-- subsets of standard types. | | Currently there are only a few
-- modifiers, more will be added.
module Data.Modifiers
-- | A type of non empty lists such that nonEmpty xs /= [] .
newtype NonEmpty a
NonEmpty :: [a] -> NonEmpty a
nonEmpty :: NonEmpty a -> [a]
mkNonEmpty :: a -> [a] -> NonEmpty a
-- | A type of natural numbers such that nat a >= 0 .
newtype Nat a
Nat :: a -> Nat a
nat :: Nat a -> a
-- | A type of non-zero integers such that nonZero a /= 0 .
newtype NonZero a
NonZero :: a -> NonZero a
nonZero :: NonZero a -> a
-- | Any unicode character. Should contain all values of the Char type.
newtype Unicode
Unicode :: Char -> Unicode
unicode :: Unicode -> Char
-- | Access function for unicode strings.
unicodes :: [Unicode] -> String
-- | Printable ASCII characters.
newtype Printable
Printable :: Char -> Printable
printable :: Printable -> Char
-- | Access function for printable ASCII strings
printables :: [Printable] -> String
instance Typeable Nat
instance Typeable NonZero
instance Typeable NonEmpty
instance Typeable Unicode
instance Typeable Printable
instance Show a => Show (Nat a)
instance Eq a => Eq (Nat a)
instance Ord a => Ord (Nat a)
instance Show a => Show (NonZero a)
instance Eq a => Eq (NonZero a)
instance Ord a => Ord (NonZero a)
instance Show a => Show (NonEmpty a)
instance Show Unicode
instance Eq Unicode
instance Ord Unicode
instance Show Printable