-- 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