connections-0.1.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 # 
Instance details

Defined in Data.Connection.Class

Connection k Double (Extended Int16) Source # 
Instance details

Defined in Data.Connection.Class

Connection k Double (Extended Int8) Source # 
Instance details

Defined in Data.Connection.Class

Connection k Float (Extended Int16) Source # 
Instance details

Defined in Data.Connection.Class

Connection k Float (Extended Int8) Source # 
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

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 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

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

Defined in Data.Lattice

Methods

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

Connection L (a, a) a => Connection L (Extended a, Extended a) (Extended a) Source # 
Instance details

Defined in Data.Connection.Class

Methods

conn :: Conn L (Extended a, Extended a) (Extended a) Source #

Connection R (a, a) a => Connection R (Extended a, Extended a) (Extended a) Source # 
Instance details

Defined in Data.Connection.Class

Methods

conn :: Conn R (Extended a, Extended a) (Extended a) Source #

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.1.0-8QuouSWroWDDSGspNwL92Q" 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.1.0-8QuouSWroWDDSGspNwL92Q" 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 #