hgeometry-combinatorial-0.9.0.0: Data structures, and Data types.

Data.UnBounded

Synopsis

Documentation

data Top a Source #

Top a represents the type a, together with a Top element, i.e. an element that is greater than any other element. We can think of Top a being defined as:

>>> data Top a = ValT a | Top

Instances
 Source # Instance detailsDefined in Data.UnBounded Methods(>>=) :: Top a -> (a -> Top b) -> Top b #(>>) :: Top a -> Top b -> Top b #return :: a -> Top a #fail :: String -> Top a # Source # Instance detailsDefined in Data.UnBounded Methodsfmap :: (a -> b) -> Top a -> Top b #(<$) :: a -> Top b -> Top a # Source # Instance detailsDefined in Data.UnBounded Methodspure :: a -> Top a #(<*>) :: Top (a -> b) -> Top a -> Top b #liftA2 :: (a -> b -> c) -> Top a -> Top b -> Top c #(*>) :: Top a -> Top b -> Top b #(<*) :: Top a -> Top b -> Top a # Source # Instance detailsDefined in Data.UnBounded Methodsfold :: Monoid m => Top m -> m #foldMap :: Monoid m => (a -> m) -> Top a -> m #foldr :: (a -> b -> b) -> b -> Top a -> b #foldr' :: (a -> b -> b) -> b -> Top a -> b #foldl :: (b -> a -> b) -> b -> Top a -> b #foldl' :: (b -> a -> b) -> b -> Top a -> b #foldr1 :: (a -> a -> a) -> Top a -> a #foldl1 :: (a -> a -> a) -> Top a -> a #toList :: Top a -> [a] #null :: Top a -> Bool #length :: Top a -> Int #elem :: Eq a => a -> Top a -> Bool #maximum :: Ord a => Top a -> a #minimum :: Ord a => Top a -> a #sum :: Num a => Top a -> a #product :: Num a => Top a -> a # Source # Instance detailsDefined in Data.UnBounded Methodstraverse :: Applicative f => (a -> f b) -> Top a -> f (Top b) #sequenceA :: Applicative f => Top (f a) -> f (Top a) #mapM :: Monad m => (a -> m b) -> Top a -> m (Top b) #sequence :: Monad m => Top (m a) -> m (Top a) # Source # Instance detailsDefined in Data.UnBounded MethodsliftEq :: (a -> b -> Bool) -> Top a -> Top b -> Bool # Source # Instance detailsDefined in Data.UnBounded MethodsliftCompare :: (a -> b -> Ordering) -> Top a -> Top b -> Ordering # Eq a => Eq (Top a) Source # Instance detailsDefined in Data.UnBounded Methods(==) :: Top a -> Top a -> Bool #(/=) :: Top a -> Top a -> Bool # Ord a => Ord (Top a) Source # Instance detailsDefined in Data.UnBounded Methodscompare :: Top a -> Top a -> Ordering #(<) :: Top a -> Top a -> Bool #(<=) :: Top a -> Top a -> Bool #(>) :: Top a -> Top a -> Bool #(>=) :: Top a -> Top a -> Bool #max :: Top a -> Top a -> Top a #min :: Top a -> Top a -> Top a # Show a => Show (Top a) Source # Instance detailsDefined in Data.UnBounded MethodsshowsPrec :: Int -> Top a -> ShowS #show :: Top a -> String #showList :: [Top a] -> ShowS # pattern ValT :: a -> Top a Source # pattern Top :: Top a Source # data Bottom a Source # Bottom a represents the type a, together with a Bottom element, i.e. an element that is smaller than any other element. We can think of Bottom a being defined as: >>> data Bottom a = Bottom | ValB a  Instances  Source # Instance detailsDefined in Data.UnBounded Methods(>>=) :: Bottom a -> (a -> Bottom b) -> Bottom b #(>>) :: Bottom a -> Bottom b -> Bottom b #return :: a -> Bottom a #fail :: String -> Bottom a # Source # Instance detailsDefined in Data.UnBounded Methodsfmap :: (a -> b) -> Bottom a -> Bottom b #(<$) :: a -> Bottom b -> Bottom a # Source # Instance detailsDefined in Data.UnBounded Methodspure :: a -> Bottom a #(<*>) :: Bottom (a -> b) -> Bottom a -> Bottom b #liftA2 :: (a -> b -> c) -> Bottom a -> Bottom b -> Bottom c #(*>) :: Bottom a -> Bottom b -> Bottom b #(<*) :: Bottom a -> Bottom b -> Bottom a # Source # Instance detailsDefined in Data.UnBounded Methodsfold :: Monoid m => Bottom m -> m #foldMap :: Monoid m => (a -> m) -> Bottom a -> m #foldr :: (a -> b -> b) -> b -> Bottom a -> b #foldr' :: (a -> b -> b) -> b -> Bottom a -> b #foldl :: (b -> a -> b) -> b -> Bottom a -> b #foldl' :: (b -> a -> b) -> b -> Bottom a -> b #foldr1 :: (a -> a -> a) -> Bottom a -> a #foldl1 :: (a -> a -> a) -> Bottom a -> a #toList :: Bottom a -> [a] #null :: Bottom a -> Bool #length :: Bottom a -> Int #elem :: Eq a => a -> Bottom a -> Bool #maximum :: Ord a => Bottom a -> a #minimum :: Ord a => Bottom a -> a #sum :: Num a => Bottom a -> a #product :: Num a => Bottom a -> a # Source # Instance detailsDefined in Data.UnBounded Methodstraverse :: Applicative f => (a -> f b) -> Bottom a -> f (Bottom b) #sequenceA :: Applicative f => Bottom (f a) -> f (Bottom a) #mapM :: Monad m => (a -> m b) -> Bottom a -> m (Bottom b) #sequence :: Monad m => Bottom (m a) -> m (Bottom a) # Source # Instance detailsDefined in Data.UnBounded MethodsliftEq :: (a -> b -> Bool) -> Bottom a -> Bottom b -> Bool # Source # Instance detailsDefined in Data.UnBounded MethodsliftCompare :: (a -> b -> Ordering) -> Bottom a -> Bottom b -> Ordering # Eq a => Eq (Bottom a) Source # Instance detailsDefined in Data.UnBounded Methods(==) :: Bottom a -> Bottom a -> Bool #(/=) :: Bottom a -> Bottom a -> Bool # Ord a => Ord (Bottom a) Source # Instance detailsDefined in Data.UnBounded Methodscompare :: Bottom a -> Bottom a -> Ordering #(<) :: Bottom a -> Bottom a -> Bool #(<=) :: Bottom a -> Bottom a -> Bool #(>) :: Bottom a -> Bottom a -> Bool #(>=) :: Bottom a -> Bottom a -> Bool #max :: Bottom a -> Bottom a -> Bottom a #min :: Bottom a -> Bottom a -> Bottom a # Show a => Show (Bottom a) Source # Instance detailsDefined in Data.UnBounded MethodsshowsPrec :: Int -> Bottom a -> ShowS #show :: Bottom a -> String #showList :: [Bottom a] -> ShowS #

pattern Bottom :: Bottom a Source #

pattern ValB :: a -> Bottom a Source #

data UnBounded a Source #

UnBounded a represents the type a, together with an element MaxInfinity larger than any other element, and an element MinInfinity, smaller than any other element.

Constructors

 MinInfinity Val Fields_unUnBounded :: a MaxInfinity
Instances
 Source # Instance detailsDefined in Data.UnBounded Methodsfmap :: (a -> b) -> UnBounded a -> UnBounded b #(<\$) :: a -> UnBounded b -> UnBounded a # Source # Instance detailsDefined in Data.UnBounded Methodsfold :: Monoid m => UnBounded m -> m #foldMap :: Monoid m => (a -> m) -> UnBounded a -> m #foldr :: (a -> b -> b) -> b -> UnBounded a -> b #foldr' :: (a -> b -> b) -> b -> UnBounded a -> b #foldl :: (b -> a -> b) -> b -> UnBounded a -> b #foldl' :: (b -> a -> b) -> b -> UnBounded a -> b #foldr1 :: (a -> a -> a) -> UnBounded a -> a #foldl1 :: (a -> a -> a) -> UnBounded a -> a #toList :: UnBounded a -> [a] #null :: UnBounded a -> Bool #length :: UnBounded a -> Int #elem :: Eq a => a -> UnBounded a -> Bool #maximum :: Ord a => UnBounded a -> a #minimum :: Ord a => UnBounded a -> a #sum :: Num a => UnBounded a -> a #product :: Num a => UnBounded a -> a # Source # Instance detailsDefined in Data.UnBounded Methodstraverse :: Applicative f => (a -> f b) -> UnBounded a -> f (UnBounded b) #sequenceA :: Applicative f => UnBounded (f a) -> f (UnBounded a) #mapM :: Monad m => (a -> m b) -> UnBounded a -> m (UnBounded b) #sequence :: Monad m => UnBounded (m a) -> m (UnBounded a) # Eq a => Eq (UnBounded a) Source # Instance detailsDefined in Data.UnBounded Methods(==) :: UnBounded a -> UnBounded a -> Bool #(/=) :: UnBounded a -> UnBounded a -> Bool # Source # Instance detailsDefined in Data.UnBounded Methods(/) :: UnBounded a -> UnBounded a -> UnBounded a #recip :: UnBounded a -> UnBounded a # Num a => Num (UnBounded a) Source # Instance detailsDefined in Data.UnBounded Methods(+) :: UnBounded a -> UnBounded a -> UnBounded a #(-) :: UnBounded a -> UnBounded a -> UnBounded a #(*) :: UnBounded a -> UnBounded a -> UnBounded a #negate :: UnBounded a -> UnBounded a #abs :: UnBounded a -> UnBounded a #signum :: UnBounded a -> UnBounded a # Ord a => Ord (UnBounded a) Source # Instance detailsDefined in Data.UnBounded Methodscompare :: UnBounded a -> UnBounded a -> Ordering #(<) :: UnBounded a -> UnBounded a -> Bool #(<=) :: UnBounded a -> UnBounded a -> Bool #(>) :: UnBounded a -> UnBounded a -> Bool #(>=) :: UnBounded a -> UnBounded a -> Bool #max :: UnBounded a -> UnBounded a -> UnBounded a #min :: UnBounded a -> UnBounded a -> UnBounded a # Show a => Show (UnBounded a) Source # Instance detailsDefined in Data.UnBounded MethodsshowsPrec :: Int -> UnBounded a -> ShowS #show :: UnBounded a -> String #showList :: [UnBounded a] -> ShowS #

unUnBounded :: forall a a. Traversal (UnBounded a) (UnBounded a) a a Source #