semilattices-0.0.0.4: Semilattices
Safe HaskellNone
LanguageHaskell2010

Data.Semilattice.Tumble

Description

Inverting a Join semilattice gives rise to a Meet semilattice, and vice versa.

Synopsis

Documentation

newtype Tumble a Source #

Tumble gives a Join semilattice for any Meet semilattice and vice versa, Lower bounds for Upper bounds and vice versa, and swaps the bounds of Bounded instances.

Constructors

Tumble 

Fields

Instances

Instances details
Functor Tumble Source # 
Instance details

Defined in Data.Semilattice.Tumble

Methods

fmap :: (a -> b) -> Tumble a -> Tumble b #

(<$) :: a -> Tumble b -> Tumble a #

Foldable Tumble Source # 
Instance details

Defined in Data.Semilattice.Tumble

Methods

fold :: Monoid m => Tumble m -> m #

foldMap :: Monoid m => (a -> m) -> Tumble a -> m #

foldMap' :: Monoid m => (a -> m) -> Tumble a -> m #

foldr :: (a -> b -> b) -> b -> Tumble a -> b #

foldr' :: (a -> b -> b) -> b -> Tumble a -> b #

foldl :: (b -> a -> b) -> b -> Tumble a -> b #

foldl' :: (b -> a -> b) -> b -> Tumble a -> b #

foldr1 :: (a -> a -> a) -> Tumble a -> a #

foldl1 :: (a -> a -> a) -> Tumble a -> a #

toList :: Tumble a -> [a] #

null :: Tumble a -> Bool #

length :: Tumble a -> Int #

elem :: Eq a => a -> Tumble a -> Bool #

maximum :: Ord a => Tumble a -> a #

minimum :: Ord a => Tumble a -> a #

sum :: Num a => Tumble a -> a #

product :: Num a => Tumble a -> a #

Traversable Tumble Source # 
Instance details

Defined in Data.Semilattice.Tumble

Methods

traverse :: Applicative f => (a -> f b) -> Tumble a -> f (Tumble b) #

sequenceA :: Applicative f => Tumble (f a) -> f (Tumble a) #

mapM :: Monad m => (a -> m b) -> Tumble a -> m (Tumble b) #

sequence :: Monad m => Tumble (m a) -> m (Tumble a) #

Bounded a => Bounded (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Methods

minBound :: Tumble a #

maxBound :: Tumble a #

Enum a => Enum (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Methods

succ :: Tumble a -> Tumble a #

pred :: Tumble a -> Tumble a #

toEnum :: Int -> Tumble a #

fromEnum :: Tumble a -> Int #

enumFrom :: Tumble a -> [Tumble a] #

enumFromThen :: Tumble a -> Tumble a -> [Tumble a] #

enumFromTo :: Tumble a -> Tumble a -> [Tumble a] #

enumFromThenTo :: Tumble a -> Tumble a -> Tumble a -> [Tumble a] #

Eq a => Eq (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Methods

(==) :: Tumble a -> Tumble a -> Bool #

(/=) :: Tumble a -> Tumble a -> Bool #

Num a => Num (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Methods

(+) :: Tumble a -> Tumble a -> Tumble a #

(-) :: Tumble a -> Tumble a -> Tumble a #

(*) :: Tumble a -> Tumble a -> Tumble a #

negate :: Tumble a -> Tumble a #

abs :: Tumble a -> Tumble a #

signum :: Tumble a -> Tumble a #

fromInteger :: Integer -> Tumble a #

Ord a => Ord (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Methods

compare :: Tumble a -> Tumble a -> Ordering #

(<) :: Tumble a -> Tumble a -> Bool #

(<=) :: Tumble a -> Tumble a -> Bool #

(>) :: Tumble a -> Tumble a -> Bool #

(>=) :: Tumble a -> Tumble a -> Bool #

max :: Tumble a -> Tumble a -> Tumble a #

min :: Tumble a -> Tumble a -> Tumble a #

Read a => Read (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Show a => Show (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Methods

showsPrec :: Int -> Tumble a -> ShowS #

show :: Tumble a -> String #

showList :: [Tumble a] -> ShowS #

Upper a => Lower (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Meet a => Join (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Methods

(\/) :: Tumble a -> Tumble a -> Tumble a Source #

Lower a => Upper (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Join a => Meet (Tumble a) Source # 
Instance details

Defined in Data.Semilattice.Tumble

Methods

(/\) :: Tumble a -> Tumble a -> Tumble a Source #