-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A data type for representing numeric values, except zero. -- -- -- A data type for representing numeric values, except zero. This might -- be useful in working with process exit codes. @package notzero @version 0.0.7 module Data.NotZero data NotZero a getNotZero :: NotZero a -> a notZero :: (Eq a, Num a) => Prism' a (NotZero a) notZeroElse :: (Eq a, Num a) => NotZero a -> a -> NotZero a notZero1 :: (Eq a, Num a) => NotZero a instance GHC.Show.Show a => GHC.Show.Show (Data.NotZero.NotZero a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.NotZero.NotZero a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.NotZero.NotZero a) instance GHC.Num.Num a => Data.Semigroup.Semigroup (Data.NotZero.NotZero a) instance GHC.Num.Num a => GHC.Base.Monoid (Data.NotZero.NotZero a) module Data.NotZeroOr data NotZeroOr a x IsNotZero :: (NotZero a) -> NotZeroOr a x OrNotZero :: x -> NotZeroOr a x _IsNotZero :: Prism (NotZeroOr a x) (NotZeroOr b x) (NotZero a) (NotZero b) _OrNotZero :: Prism (NotZeroOr a x) (NotZeroOr a y) x y isoNotZeroOr :: Iso (NotZeroOr a x) (NotZeroOr a x) (Either (NotZero a) x) (Either (NotZero a) x) type Number a = NotZeroOr a () getNumber :: Num a => Number a -> a isoNumber :: (Eq a, Num a) => Iso (Number a) (Number a) a a newtype NotZeroOrT a f x NotZeroOrT :: (f (NotZeroOr a x)) -> NotZeroOrT a f x isoNotZeroOrT :: Iso (NotZeroOr a x) (NotZeroOr b y) (NotZeroOrT a Identity x) (NotZeroOrT b Identity y) instance (GHC.Show.Show a, GHC.Show.Show x) => GHC.Show.Show (Data.NotZeroOr.NotZeroOr a x) instance (GHC.Classes.Ord a, GHC.Classes.Ord x) => GHC.Classes.Ord (Data.NotZeroOr.NotZeroOr a x) instance (GHC.Classes.Eq a, GHC.Classes.Eq x) => GHC.Classes.Eq (Data.NotZeroOr.NotZeroOr a x) instance Data.Semigroup.Semigroup (Data.NotZeroOr.NotZeroOr a x) instance GHC.Base.Monoid x => GHC.Base.Monoid (Data.NotZeroOr.NotZeroOr a x) instance GHC.Base.Functor (Data.NotZeroOr.NotZeroOr a) instance Data.Functor.Bind.Class.Apply (Data.NotZeroOr.NotZeroOr a) instance GHC.Base.Applicative (Data.NotZeroOr.NotZeroOr a) instance Data.Functor.Bind.Class.Bind (Data.NotZeroOr.NotZeroOr a) instance GHC.Base.Monad (Data.NotZeroOr.NotZeroOr a) instance GHC.Base.Functor f => GHC.Base.Functor (Data.NotZeroOr.NotZeroOrT a f) instance Data.Functor.Bind.Class.Apply f => Data.Functor.Bind.Class.Apply (Data.NotZeroOr.NotZeroOrT a f) instance GHC.Base.Applicative f => GHC.Base.Applicative (Data.NotZeroOr.NotZeroOrT a f) instance (Data.Functor.Bind.Class.Apply f, GHC.Base.Monad f) => Data.Functor.Bind.Class.Bind (Data.NotZeroOr.NotZeroOrT a f) instance GHC.Base.Monad f => GHC.Base.Monad (Data.NotZeroOr.NotZeroOrT a f) instance Data.Functor.Bind.Trans.BindTrans (Data.NotZeroOr.NotZeroOrT a) instance Control.Monad.Trans.Class.MonadTrans (Data.NotZeroOr.NotZeroOrT a) module Data.AccNotZeroOr data AccNotZeroOr f a x IsAccNotZero :: (f (NotZero a)) -> AccNotZeroOr f a x OrAccNotZero :: x -> AccNotZeroOr f a x _IsAccNotZero :: Prism (AccNotZeroOr f a x) (AccNotZeroOr f b x) (f (NotZero a)) (f (NotZero b)) _OrAccNotZero :: Prism (AccNotZeroOr f a x) (AccNotZeroOr f a y) x y isoAccNotZeroOr :: Iso (AccNotZeroOr f a x) (AccNotZeroOr g a x) (Either (f (NotZero a)) x) (Either (g (NotZero a)) x) type OneNotZeroOr a x = AccNotZeroOr Identity a x isoOneNotZeroOr :: Iso (OneNotZeroOr a x) (OneNotZeroOr b y) (NotZeroOr a x) (NotZeroOr b y) isoOneNotZeroOrNumber :: (Eq a, Num a) => Iso (OneNotZeroOr a ()) (OneNotZeroOr a ()) a a isoOneNotZeroOrT :: Iso (OneNotZeroOr a x) (OneNotZeroOr b y) (NotZeroOrT a Identity x) (NotZeroOrT b Identity y) instance Data.Semigroup.Semigroup (Data.AccNotZeroOr.AccNotZeroOr f a x) instance GHC.Base.Monoid x => GHC.Base.Monoid (Data.AccNotZeroOr.AccNotZeroOr f a x) instance GHC.Base.Functor f => GHC.Base.Functor (Data.AccNotZeroOr.AccNotZeroOr f a) instance Data.Functor.Alt.Alt f => Data.Functor.Bind.Class.Apply (Data.AccNotZeroOr.AccNotZeroOr f a) instance Data.Functor.Alt.Alt f => GHC.Base.Applicative (Data.AccNotZeroOr.AccNotZeroOr f a)