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