connections-0.2.0: Orders, Galois connections, and lattices.
Safe HaskellSafe
LanguageHaskell2010

Data.Order.Extended

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

Instances details
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 Int08 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 Int08 values are exactly representable in a Float.

Instance details

Defined in Data.Connection.Class

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

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 :: forall (a :: k). Extended a -> Rep1 Extended a #

to1 :: forall (a :: k). 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.2.0-DeRRGdWJkv66Qly2VHCKTZ" '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.2.0-DeRRGdWJkv66Qly2VHCKTZ" '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 #