semilattices-0.0.0.2: Semilattices

Safe HaskellNone
LanguageHaskell2010

Data.Semilattice.Upper

Description

Upper bounds, related to Bounded, Join, Meet, and Ord.

Synopsis

Documentation

class Upper s where Source #

The least upper bound of s.

Laws:

If s is Bounded, we require upperBound and maxBound to agree:

upperBound = maxBound

If s is a Meet semilattice, upperBound must be the identity of /\:

upperBound /\ a = a

If s is a Join semilattice, upperBound must be the absorbing element of \/:

upperBound \/ a = upperBound

If s is Ordered, upperBound must be at least as large as every terminating value:

compare upperBound a /= LT
Instances
Upper Bool Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Char Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Int Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Int8 Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Int16 Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Int32 Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Int64 Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Ordering Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Word8 Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Word16 Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Word32 Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Word64 Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper () Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: () Source #

Upper CDev Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CIno Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CMode Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper COff Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CPid Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CSsize Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CGid Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CNlink Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CUid Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CTcflag Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CRLim Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CBlkSize Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CBlkCnt Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CClockId Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CFsBlkCnt Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CFsFilCnt Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CId Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CKey Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Fd Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: Fd Source #

Upper All Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Any Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper Associativity Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper SourceUnpackedness Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper SourceStrictness Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper DecidedStrictness Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CChar Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CSChar Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CUChar Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CShort Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CUShort Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CInt Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CUInt Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CLong Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CULong Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CLLong Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CULLong Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CBool Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CPtrdiff Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CSize Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CWchar Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CSigAtomic Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CIntPtr Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CUIntPtr Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CIntMax Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper CUIntMax Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper WordPtr Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper IntPtr Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper GeneralCategory Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper a => Upper (Min a) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: Min a Source #

Upper a => Upper (Max a) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: Max a Source #

Upper a => Upper (First a) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: First a Source #

Upper a => Upper (Last a) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: Last a Source #

Upper a => Upper (WrappedMonoid a) Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper a => Upper (Identity a) Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper a => Upper (Dual a) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: Dual a Source #

Upper a => Upper (Sum a) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: Sum a Source #

Upper a => Upper (Product a) Source # 
Instance details

Defined in Data.Semilattice.Upper

Upper a => Upper (Meeting a) Source # 
Instance details

Defined in Data.Semilattice.Meet

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

Defined in Data.Semilattice.Tumble

Upper a => Upper (Order a) Source # 
Instance details

Defined in Data.Semilattice.Order

Methods

upperBound :: Order a Source #

Bounded a => Upper (Bound a) Source # 
Instance details

Defined in Data.Semilattice.Bound

Methods

upperBound :: Bound a Source #

Upper b => Upper (a -> b) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: a -> b Source #

(Upper a, Upper b) => Upper (a, b) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b) Source #

Upper (Proxy a) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: Proxy a Source #

(Upper a, Upper b, Upper c) => Upper (a, b, c) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c) Source #

Upper a => Upper (Const a b) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: Const a b Source #

Coercible a b => Upper (Coercion a b) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: Coercion a b Source #

a ~ b => Upper (a :~: b) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: a :~: b Source #

(Upper a, Upper b, Upper c, Upper d) => Upper (a, b, c, d) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d) Source #

a ~~ b => Upper (a :~~: b) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: a :~~: b Source #

(Upper a, Upper b, Upper c, Upper d, Upper e) => Upper (a, b, c, d, e) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d, e) Source #

(Upper a, Upper b, Upper c, Upper d, Upper e, Upper f) => Upper (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d, e, f) Source #

(Upper a, Upper b, Upper c, Upper d, Upper e, Upper f, Upper g) => Upper (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d, e, f, g) Source #

(Upper a, Upper b, Upper c, Upper d, Upper e, Upper f, Upper g, Upper h) => Upper (a, b, c, d, e, f, g, h) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d, e, f, g, h) Source #

(Upper a, Upper b, Upper c, Upper d, Upper e, Upper f, Upper g, Upper h, Upper i) => Upper (a, b, c, d, e, f, g, h, i) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d, e, f, g, h, i) Source #

(Upper a, Upper b, Upper c, Upper d, Upper e, Upper f, Upper g, Upper h, Upper i, Upper j) => Upper (a, b, c, d, e, f, g, h, i, j) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d, e, f, g, h, i, j) Source #

(Upper a, Upper b, Upper c, Upper d, Upper e, Upper f, Upper g, Upper h, Upper i, Upper j, Upper k) => Upper (a, b, c, d, e, f, g, h, i, j, k) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d, e, f, g, h, i, j, k) Source #

(Upper a, Upper b, Upper c, Upper d, Upper e, Upper f, Upper g, Upper h, Upper i, Upper j, Upper k, Upper l) => Upper (a, b, c, d, e, f, g, h, i, j, k, l) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d, e, f, g, h, i, j, k, l) Source #

(Upper a, Upper b, Upper c, Upper d, Upper e, Upper f, Upper g, Upper h, Upper i, Upper j, Upper k, Upper l, Upper m) => Upper (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

(Upper a, Upper b, Upper c, Upper d, Upper e, Upper f, Upper g, Upper h, Upper i, Upper j, Upper k, Upper l, Upper m, Upper n) => Upper (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

(Upper a, Upper b, Upper c, Upper d, Upper e, Upper f, Upper g, Upper h, Upper i, Upper j, Upper k, Upper l, Upper m, Upper n, Upper o) => Upper (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # 
Instance details

Defined in Data.Semilattice.Upper

Methods

upperBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #

Bounded:

upperBound == (maxBound :: Bool)

Identity of /\:

upperBound /\ a == (a :: Bool)

Absorbing element of \/:

upperBound \/ a == (upperBound :: Bool)

Ord:

compare upperBound (a :: Bool) /= LT
>>> import Data.Semilattice.Join
>>> import Data.Semilattice.Meet
>>> import Test.QuickCheck (Arbitrary(..))
>>> import Test.QuickCheck.Function