yap-examples-0.1: examples of the algebraic classes in the yap package
Copyright(c) Ross Paterson 2022
LicenseBSD-style (see the file LICENSE)
Maintainer[email protected]
Stabilityprovisional
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Data.YAP.Tropical

Description

An example instance of the algebraic classes: tropical semirings.

Synopsis

Documentation

data Tropical a Source #

Tropical semiring

Constructors

Tropical a 
Infinity 

Instances

Instances details
Bounded a => Bounded (Tropical a) Source # 
Instance details

Defined in Data.YAP.Tropical

Read a => Read (Tropical a) Source # 
Instance details

Defined in Data.YAP.Tropical

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

Defined in Data.YAP.Tropical

Methods

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

show :: Tropical a -> String #

showList :: [Tropical a] -> ShowS #

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

Defined in Data.YAP.Tropical

Methods

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

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

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

Defined in Data.YAP.Tropical

Methods

compare :: Tropical a -> Tropical a -> Ordering #

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

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

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

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

max :: Tropical a -> Tropical a -> Tropical a #

min :: Tropical a -> Tropical a -> Tropical a #

Ord a => AdditiveMonoid (Tropical a) Source # 
Instance details

Defined in Data.YAP.Tropical

Methods

(+) :: Tropical a -> Tropical a -> Tropical a #

zero :: Tropical a #

atimes :: ToInteger b => b -> Tropical a -> Tropical a #

(Ord a, AbelianGroup a) => DivisionSemiring (Tropical a) Source # 
Instance details

Defined in Data.YAP.Tropical

Methods

recip :: Tropical a -> Tropical a #

(Ord a, AbelianGroup a) => Semifield (Tropical a) Source # 
Instance details

Defined in Data.YAP.Tropical

Methods

(/) :: Tropical a -> Tropical a -> Tropical a #

(Ord a, AdditiveMonoid a) => Semiring (Tropical a) Source # 
Instance details

Defined in Data.YAP.Tropical

data Schedule a Source #

Schedule algebra or arctic semiring (dual of Tropical)

Constructors

MinusInfinity 
Schedule a 

Instances

Instances details
Bounded a => Bounded (Schedule a) Source # 
Instance details

Defined in Data.YAP.Tropical

Read a => Read (Schedule a) Source # 
Instance details

Defined in Data.YAP.Tropical

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

Defined in Data.YAP.Tropical

Methods

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

show :: Schedule a -> String #

showList :: [Schedule a] -> ShowS #

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

Defined in Data.YAP.Tropical

Methods

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

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

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

Defined in Data.YAP.Tropical

Methods

compare :: Schedule a -> Schedule a -> Ordering #

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

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

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

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

max :: Schedule a -> Schedule a -> Schedule a #

min :: Schedule a -> Schedule a -> Schedule a #

Ord a => AdditiveMonoid (Schedule a) Source # 
Instance details

Defined in Data.YAP.Tropical

Methods

(+) :: Schedule a -> Schedule a -> Schedule a #

zero :: Schedule a #

atimes :: ToInteger b => b -> Schedule a -> Schedule a #

(Ord a, AbelianGroup a) => DivisionSemiring (Schedule a) Source # 
Instance details

Defined in Data.YAP.Tropical

Methods

recip :: Schedule a -> Schedule a #

(Ord a, AbelianGroup a) => Semifield (Schedule a) Source # 
Instance details

Defined in Data.YAP.Tropical

Methods

(/) :: Schedule a -> Schedule a -> Schedule a #

(Ord a, AdditiveMonoid a) => Semiring (Schedule a) Source # 
Instance details

Defined in Data.YAP.Tropical