connections-0.0.3: Partial orders, Galois connections, and lattices.

Safe HaskellSafe
LanguageHaskell2010

Data.Semigroup.Join

Contents

Synopsis

Documentation

(∨) :: (Join - Semigroup) a => a -> a -> a infixr 5 Source #

Join operation on a semilattice.

>>> (> (0::Int)) ∧ ((< 10) ∨ (== 15)) $ 10
False
>>> IntSet.fromList [1..5] ∧ IntSet.fromList [2..5]
fromList [2,3,4,5]

bottom :: (Join - Monoid) a => a Source #

joinLeq :: Eq a => (Join - Semigroup) a => a -> a -> Bool Source #

The partial ordering induced by the join-semilattice structure.

Normally when a implements Prd we should have: joinLeq x y ≡ x Prd y

joinGeq :: Eq a => (Join - Semigroup) a => a -> a -> Bool Source #

The partial ordering induced by the join-semilattice structure.

Normally when a implements Prd we should have: joinGeq x y ≡ x Prd y

pcompareJoin :: Eq a => (Join - Semigroup) a => a -> a -> Maybe Ordering Source #

Partial version of compare.

Normally when a implements Prd we should have: pcompareJoin x y ≡ pcompare x y

newtype Join a Source #

A commutative Semigroup under .

Constructors

Join 

Fields

Instances
Functor Join Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

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

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

Applicative Join Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

pure :: a -> Join a #

(<*>) :: Join (a -> b) -> Join a -> Join b #

liftA2 :: (a -> b -> c) -> Join a -> Join b -> Join c #

(*>) :: Join a -> Join b -> Join b #

(<*) :: Join a -> Join b -> Join a #

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

Defined in Data.Semigroup.Join

Methods

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

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

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

Defined in Data.Semigroup.Join

Methods

compare :: Join a -> Join a -> Ordering #

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

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

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

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

max :: Join a -> Join a -> Join a #

min :: Join a -> Join a -> Join a #

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

Defined in Data.Semigroup.Join

Methods

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

show :: Join a -> String #

showList :: [Join a] -> ShowS #

Generic (Join a) Source # 
Instance details

Defined in Data.Semigroup.Join

Associated Types

type Rep (Join a) :: Type -> Type #

Methods

from :: Join a -> Rep (Join a) x #

to :: Rep (Join a) x -> Join a #

Semigroup (Join Bool) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Int) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

(<>) :: Join Int -> Join Int -> Join Int #

sconcat :: NonEmpty (Join Int) -> Join Int #

stimes :: Integral b => b -> Join Int -> Join Int #

Semigroup (Join Int8) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Int16) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Int32) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Int64) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Integer) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Natural) Source # 
Instance details

Defined in Data.Semigroup.Join

(Join - Semigroup) a => Semigroup (Join (Maybe a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

(<>) :: Join (Maybe a) -> Join (Maybe a) -> Join (Maybe a) #

sconcat :: NonEmpty (Join (Maybe a)) -> Join (Maybe a) #

stimes :: Integral b => b -> Join (Maybe a) -> Join (Maybe a) #

Semigroup (Join Word) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Word8) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Word16) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Word32) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Word64) Source # 
Instance details

Defined in Data.Semigroup.Join

((Join - Semigroup) a, (Join - Semigroup) b) => Semigroup (Join (Either a b)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

(<>) :: Join (Either a b) -> Join (Either a b) -> Join (Either a b) #

sconcat :: NonEmpty (Join (Either a b)) -> Join (Either a b) #

stimes :: Integral b0 => b0 -> Join (Either a b) -> Join (Either a b) #

Semigroup (Join ()) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

(<>) :: Join () -> Join () -> Join () #

sconcat :: NonEmpty (Join ()) -> Join () #

stimes :: Integral b => b -> Join () -> Join () #

((Join - Semigroup) a, (Join - Semigroup) b) => Semigroup (Join (a, b)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

(<>) :: Join (a, b) -> Join (a, b) -> Join (a, b) #

sconcat :: NonEmpty (Join (a, b)) -> Join (a, b) #

stimes :: Integral b0 => b0 -> Join (a, b) -> Join (a, b) #

Semigroup (Join Uni) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

(<>) :: Join Uni -> Join Uni -> Join Uni #

sconcat :: NonEmpty (Join Uni) -> Join Uni #

stimes :: Integral b => b -> Join Uni -> Join Uni #

Semigroup (Join Deci) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Centi) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Milli) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Micro) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Nano) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Join Pico) Source # 
Instance details

Defined in Data.Semigroup.Join

Semigroup (Max a) => Semigroup (Join (Max a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

(<>) :: Join (Max a) -> Join (Max a) -> Join (Max a) #

sconcat :: NonEmpty (Join (Max a)) -> Join (Max a) #

stimes :: Integral b => b -> Join (Max a) -> Join (Max a) #

(Meet - Semigroup) a => Semigroup (Join (Down a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

(<>) :: Join (Down a) -> Join (Down a) -> Join (Down a) #

sconcat :: NonEmpty (Join (Down a)) -> Join (Down a) #

stimes :: Integral b => b -> Join (Down a) -> Join (Down a) #

(Join - Semigroup) a => Semigroup (Join (IntMap a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

(<>) :: Join (IntMap a) -> Join (IntMap a) -> Join (IntMap a) #

sconcat :: NonEmpty (Join (IntMap a)) -> Join (IntMap a) #

stimes :: Integral b => b -> Join (IntMap a) -> Join (IntMap a) #

Semigroup (Join IntSet) Source # 
Instance details

Defined in Data.Semigroup.Join

(Ord k, (Join - Semigroup) a) => Semigroup (Join (Map k a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

(<>) :: Join (Map k a) -> Join (Map k a) -> Join (Map k a) #

sconcat :: NonEmpty (Join (Map k a)) -> Join (Map k a) #

stimes :: Integral b => b -> Join (Map k a) -> Join (Map k a) #

Ord a => Semigroup (Join (Set a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

(<>) :: Join (Set a) -> Join (Set a) -> Join (Set a) #

sconcat :: NonEmpty (Join (Set a)) -> Join (Set a) #

stimes :: Integral b => b -> Join (Set a) -> Join (Set a) #

Semigroup (Join Ulp32) Source # 
Instance details

Defined in Data.Float

Ord a => Semigroup (Join (MaxMin a)) Source # 
Instance details

Defined in Data.Semilattice.MaxMin

Methods

(<>) :: Join (MaxMin a) -> Join (MaxMin a) -> Join (MaxMin a) #

sconcat :: NonEmpty (Join (MaxMin a)) -> Join (MaxMin a) #

stimes :: Integral b => b -> Join (MaxMin a) -> Join (MaxMin a) #

(Minimal a, Semifield a) => Semigroup (Join (N5 a)) Source # 
Instance details

Defined in Data.Semilattice.N5

Methods

(<>) :: Join (N5 a) -> Join (N5 a) -> Join (N5 a) #

sconcat :: NonEmpty (Join (N5 a)) -> Join (N5 a) #

stimes :: Integral b => b -> Join (N5 a) -> Join (N5 a) #

(Join - Semigroup) a => Semigroup (Join (Top a)) Source # 
Instance details

Defined in Data.Semilattice.Top

Methods

(<>) :: Join (Top a) -> Join (Top a) -> Join (Top a) #

sconcat :: NonEmpty (Join (Top a)) -> Join (Top a) #

stimes :: Integral b => b -> Join (Top a) -> Join (Top a) #

Monoid (Join Bool) Source # 
Instance details

Defined in Data.Semigroup.Join

Monoid (Join Int) Source # 
Instance details

Defined in Data.Semigroup.Join

Monoid (Join Int8) Source # 
Instance details

Defined in Data.Semigroup.Join

Monoid (Join Int16) Source # 
Instance details

Defined in Data.Semigroup.Join

Monoid (Join Int32) Source # 
Instance details

Defined in Data.Semigroup.Join

Monoid (Join Int64) Source # 
Instance details

Defined in Data.Semigroup.Join

Monoid (Join Natural) Source # 
Instance details

Defined in Data.Semigroup.Join

(Join - Semigroup) a => Monoid (Join (Maybe a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

mempty :: Join (Maybe a) #

mappend :: Join (Maybe a) -> Join (Maybe a) -> Join (Maybe a) #

mconcat :: [Join (Maybe a)] -> Join (Maybe a) #

Monoid (Join Word) Source # 
Instance details

Defined in Data.Semigroup.Join

Monoid (Join Word8) Source # 
Instance details

Defined in Data.Semigroup.Join

Monoid (Join Word16) Source # 
Instance details

Defined in Data.Semigroup.Join

Monoid (Join Word32) Source # 
Instance details

Defined in Data.Semigroup.Join

Monoid (Join Word64) Source # 
Instance details

Defined in Data.Semigroup.Join

Monoid (Join ()) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

mempty :: Join () #

mappend :: Join () -> Join () -> Join () #

mconcat :: [Join ()] -> Join () #

(Minimal a, Semigroup (Max a)) => Monoid (Join (Max a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

mempty :: Join (Max a) #

mappend :: Join (Max a) -> Join (Max a) -> Join (Max a) #

mconcat :: [Join (Max a)] -> Join (Max a) #

(Meet - Monoid) a => Monoid (Join (Down a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

mempty :: Join (Down a) #

mappend :: Join (Down a) -> Join (Down a) -> Join (Down a) #

mconcat :: [Join (Down a)] -> Join (Down a) #

(Join - Semigroup) a => Monoid (Join (IntMap a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

mempty :: Join (IntMap a) #

mappend :: Join (IntMap a) -> Join (IntMap a) -> Join (IntMap a) #

mconcat :: [Join (IntMap a)] -> Join (IntMap a) #

Monoid (Join IntSet) Source # 
Instance details

Defined in Data.Semigroup.Join

(Ord k, (Join - Semigroup) a) => Monoid (Join (Map k a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

mempty :: Join (Map k a) #

mappend :: Join (Map k a) -> Join (Map k a) -> Join (Map k a) #

mconcat :: [Join (Map k a)] -> Join (Map k a) #

Ord a => Monoid (Join (Set a)) Source # 
Instance details

Defined in Data.Semigroup.Join

Methods

mempty :: Join (Set a) #

mappend :: Join (Set a) -> Join (Set a) -> Join (Set a) #

mconcat :: [Join (Set a)] -> Join (Set a) #

(Ord a, Minimal a) => Monoid (Join (MaxMin a)) Source # 
Instance details

Defined in Data.Semilattice.MaxMin

Methods

mempty :: Join (MaxMin a) #

mappend :: Join (MaxMin a) -> Join (MaxMin a) -> Join (MaxMin a) #

mconcat :: [Join (MaxMin a)] -> Join (MaxMin a) #

(Minimal a, Semifield a) => Monoid (Join (N5 a)) Source # 
Instance details

Defined in Data.Semilattice.N5

Methods

mempty :: Join (N5 a) #

mappend :: Join (N5 a) -> Join (N5 a) -> Join (N5 a) #

mconcat :: [Join (N5 a)] -> Join (N5 a) #

(Join - Monoid) a => Monoid (Join (Top a)) Source # 
Instance details

Defined in Data.Semilattice.Top

Methods

mempty :: Join (Top a) #

mappend :: Join (Top a) -> Join (Top a) -> Join (Top a) #

mconcat :: [Join (Top a)] -> Join (Top a) #

type Rep (Join a) Source # 
Instance details

Defined in Data.Semigroup.Join

type Rep (Join a) = D1 (MetaData "Join" "Data.Semigroup.Join" "connections-0.0.3-DlJXNVSUPF02JVkbDQVocy" True) (C1 (MetaCons "Join" PrefixI True) (S1 (MetaSel (Just "unJoin") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))

Orphan instances

(Join - Semigroup) (Max a) => Semigroup (Additive (Max a)) Source # 
Instance details

Methods

(<>) :: Additive (Max a) -> Additive (Max a) -> Additive (Max a) #

sconcat :: NonEmpty (Additive (Max a)) -> Additive (Max a) #

stimes :: Integral b => b -> Additive (Max a) -> Additive (Max a) #

(Join - Semigroup) a => Semigroup (Meet (Down a)) Source # 
Instance details

Methods

(<>) :: Meet (Down a) -> Meet (Down a) -> Meet (Down a) #

sconcat :: NonEmpty (Meet (Down a)) -> Meet (Down a) #

stimes :: Integral b => b -> Meet (Down a) -> Meet (Down a) #

(Join - Monoid) (Max a) => Monoid (Additive (Max a)) Source # 
Instance details

Methods

mempty :: Additive (Max a) #

mappend :: Additive (Max a) -> Additive (Max a) -> Additive (Max a) #

mconcat :: [Additive (Max a)] -> Additive (Max a) #

(Join - Monoid) a => Monoid (Meet (Down a)) Source # 
Instance details

Methods

mempty :: Meet (Down a) #

mappend :: Meet (Down a) -> Meet (Down a) -> Meet (Down a) #

mconcat :: [Meet (Down a)] -> Meet (Down a) #