{-# language Unsafe #-} module NatOptics.Positive.Unsafe where import Data.Eq ( Eq ) import Data.Ord ( Ord ) import Text.Show ( Show ) newtype Positive number = PositiveUnsafe{ Positive number -> number number :: number } deriving newtype (Positive number -> Positive number -> Bool (Positive number -> Positive number -> Bool) -> (Positive number -> Positive number -> Bool) -> Eq (Positive number) forall number. Eq number => Positive number -> Positive number -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Positive number -> Positive number -> Bool $c/= :: forall number. Eq number => Positive number -> Positive number -> Bool == :: Positive number -> Positive number -> Bool $c== :: forall number. Eq number => Positive number -> Positive number -> Bool Eq, Eq (Positive number) Eq (Positive number) -> (Positive number -> Positive number -> Ordering) -> (Positive number -> Positive number -> Bool) -> (Positive number -> Positive number -> Bool) -> (Positive number -> Positive number -> Bool) -> (Positive number -> Positive number -> Bool) -> (Positive number -> Positive number -> Positive number) -> (Positive number -> Positive number -> Positive number) -> Ord (Positive number) Positive number -> Positive number -> Bool Positive number -> Positive number -> Ordering Positive number -> Positive number -> Positive number forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a forall number. Ord number => Eq (Positive number) forall number. Ord number => Positive number -> Positive number -> Bool forall number. Ord number => Positive number -> Positive number -> Ordering forall number. Ord number => Positive number -> Positive number -> Positive number min :: Positive number -> Positive number -> Positive number $cmin :: forall number. Ord number => Positive number -> Positive number -> Positive number max :: Positive number -> Positive number -> Positive number $cmax :: forall number. Ord number => Positive number -> Positive number -> Positive number >= :: Positive number -> Positive number -> Bool $c>= :: forall number. Ord number => Positive number -> Positive number -> Bool > :: Positive number -> Positive number -> Bool $c> :: forall number. Ord number => Positive number -> Positive number -> Bool <= :: Positive number -> Positive number -> Bool $c<= :: forall number. Ord number => Positive number -> Positive number -> Bool < :: Positive number -> Positive number -> Bool $c< :: forall number. Ord number => Positive number -> Positive number -> Bool compare :: Positive number -> Positive number -> Ordering $ccompare :: forall number. Ord number => Positive number -> Positive number -> Ordering $cp1Ord :: forall number. Ord number => Eq (Positive number) Ord, Int -> Positive number -> ShowS [Positive number] -> ShowS Positive number -> String (Int -> Positive number -> ShowS) -> (Positive number -> String) -> ([Positive number] -> ShowS) -> Show (Positive number) forall number. Show number => Int -> Positive number -> ShowS forall number. Show number => [Positive number] -> ShowS forall number. Show number => Positive number -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Positive number] -> ShowS $cshowList :: forall number. Show number => [Positive number] -> ShowS show :: Positive number -> String $cshow :: forall number. Show number => Positive number -> String showsPrec :: Int -> Positive number -> ShowS $cshowsPrec :: forall number. Show number => Int -> Positive number -> ShowS Show)