connections-0.3.0: Orders, Galois connections, and lattices.

Safe HaskellSafe
LanguageHaskell2010

Data.Order.Extended

Contents

Synopsis

Lattice extensions

type Lifted = Either () Source #

type Lowered a = Either a () Source #

data Extended a Source #

Add a bottom and top to a lattice.

The top is the absorbing element for the join, and the bottom is the absorbing element for the meet.

Constructors

Bottom 
Extended a 
Top 
Instances
Functor Extended Source # 
Instance details

Defined in Data.Order.Extended

Methods

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

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

Preorder a => Connection k () (Extended a) Source # 
Instance details

Defined in Data.Connection.Class

Methods

conn :: Conn k () (Extended a) Source #

Connection k Double (Extended Int32) Source #

All Int32 values are exactly representable in a Double.

Instance details

Defined in Data.Connection.Class

Connection k Double (Extended Int16) Source #

All Int16 values are exactly representable in a Double.

Instance details

Defined in Data.Connection.Class

Connection k Double (Extended Int8) Source #

All Int8 values are exactly representable in a Double.

Instance details

Defined in Data.Connection.Class

Connection k Float (Extended Int16) Source #

All Int16 values are exactly representable in a Float.

Instance details

Defined in Data.Connection.Class

Connection k Float (Extended Int8) Source #

All Int8 values are exactly representable in a Float.

Instance details

Defined in Data.Connection.Class

HasResolution prec => Connection k Rational (Extended (Fixed prec)) Source # 
Instance details

Defined in Data.Connection.Class

Methods

conn :: Conn k Rational (Extended (Fixed prec)) Source #

Connection k Rational (Extended Integer) Source # 
Instance details

Defined in Data.Connection.Class

Connection k Rational (Extended Int) Source # 
Instance details

Defined in Data.Connection.Class

Connection k Rational (Extended Int64) Source # 
Instance details

Defined in Data.Connection.Class

Connection k Rational (Extended Int32) Source # 
Instance details

Defined in Data.Connection.Class

Connection k Rational (Extended Int16) Source # 
Instance details

Defined in Data.Connection.Class

Connection k Rational (Extended Int8) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Double (Extended Int) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Double (Extended Int64) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Double (Extended Integer) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Double (Extended Natural) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Double (Extended Word) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Double (Extended Word8) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Double (Extended Word16) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Double (Extended Word32) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Double (Extended Word64) Source # 
Instance details

Defined in Data.Connection.Class

HasResolution res => Connection L Double (Extended (Fixed res)) Source # 
Instance details

Defined in Data.Connection.Class

Methods

conn :: Conn L Double (Extended (Fixed res)) Source #

Connection L Float (Extended Int) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Float (Extended Int32) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Float (Extended Int64) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Float (Extended Integer) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Float (Extended Natural) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Float (Extended Word) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Float (Extended Word8) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Float (Extended Word16) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Float (Extended Word32) Source # 
Instance details

Defined in Data.Connection.Class

Connection L Float (Extended Word64) Source # 
Instance details

Defined in Data.Connection.Class

HasResolution res => Connection L Float (Extended (Fixed res)) Source # 
Instance details

Defined in Data.Connection.Class

Methods

conn :: Conn L Float (Extended (Fixed res)) Source #

Heyting a => Algebra R (Extended a) Source # 
Instance details

Defined in Data.Lattice

Methods

algebra :: Extended a -> Conn R (Extended a) (Extended a) Source #

Join a => Semilattice L (Extended a) Source # 
Instance details

Defined in Data.Lattice

Meet a => Semilattice R (Extended a) Source # 
Instance details

Defined in Data.Lattice

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

Defined in Data.Order.Extended

Methods

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

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

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

Defined in Data.Order.Extended

Methods

compare :: Extended a -> Extended a -> Ordering #

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

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

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

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

max :: Extended a -> Extended a -> Extended a #

min :: Extended a -> Extended a -> Extended a #

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

Defined in Data.Order.Extended

Methods

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

show :: Extended a -> String #

showList :: [Extended a] -> ShowS #

Generic (Extended a) Source # 
Instance details

Defined in Data.Order.Extended

Associated Types

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

Methods

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

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

Preorder a => Preorder (Extended a) Source # 
Instance details

Defined in Data.Order.Extended

Generic1 Extended Source # 
Instance details

Defined in Data.Order.Extended

Associated Types

type Rep1 Extended :: k -> Type #

Methods

from1 :: Extended a -> Rep1 Extended a #

to1 :: Rep1 Extended a -> Extended a #

type Rep (Extended a) Source # 
Instance details

Defined in Data.Order.Extended

type Rep (Extended a) = D1 (MetaData "Extended" "Data.Order.Extended" "connections-0.3.0-5hc3AsDPSlgLdQXx9bRK5s" False) (C1 (MetaCons "Bottom" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Extended" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)) :+: C1 (MetaCons "Top" PrefixI False) (U1 :: Type -> Type)))
type Rep1 Extended Source # 
Instance details

Defined in Data.Order.Extended

type Rep1 Extended = D1 (MetaData "Extended" "Data.Order.Extended" "connections-0.3.0-5hc3AsDPSlgLdQXx9bRK5s" False) (C1 (MetaCons "Bottom" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Extended" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1) :+: C1 (MetaCons "Top" PrefixI False) (U1 :: Type -> Type)))

extended :: b -> b -> (a -> b) -> Extended a -> b Source #

Eliminate an Extended.

Lattice Extensions

liftMaybe :: (a -> Bool) -> (a -> b) -> a -> Maybe b Source #

liftEitherL :: (a -> Bool) -> (a -> b) -> a -> Lifted b Source #

liftEitherR :: (a -> Bool) -> (a -> b) -> a -> Lowered b Source #

liftExtended :: (a -> Bool) -> (a -> Bool) -> (a -> b) -> a -> Extended b Source #