rings-0.0.2.4: Ring-like objects.

Safe HaskellSafe
LanguageHaskell2010

Data.Dioid

Synopsis

Documentation

class (Prd r, Semiring r) => Dioid r where Source #

Right pre-dioids and dioids.

A right-dioid is a semiring with a right-canonical pre-order relation relative to <>: a <~ b iff b ≡ a <> c for some c.

In other words we have that:

a <~ (a <> b) ≡ True

Consequently <~ is both reflexive and transitive:

a <~ a ≡ True
a <~ b && b <~ c ==> a <~ c ≡ True

Finally <~ is an order relation:

(a =~ b) == (a == b)

See Property

Methods

fromNatural :: Natural -> r Source #

A dioid homomorphism from the naturals to r.

Instances
Dioid Bool Source # 
Instance details

Defined in Data.Dioid

Dioid Natural Source # 
Instance details

Defined in Data.Dioid

Dioid Word8 Source # 
Instance details

Defined in Data.Dioid

Dioid Word16 Source # 
Instance details

Defined in Data.Dioid

Dioid Word32 Source # 
Instance details

Defined in Data.Dioid

Dioid Word64 Source # 
Instance details

Defined in Data.Dioid

Dioid () Source # 
Instance details

Defined in Data.Dioid

Methods

fromNatural :: Natural -> () Source #

Dioid Positive Source # 
Instance details

Defined in Data.Dioid

(Monoid a, Dioid a) => Dioid (V2 a) Source # 
Instance details

Defined in Data.Semiring.V2

Methods

fromNatural :: Natural -> V2 a Source #

(Monoid a, Dioid a) => Dioid (V3 a) Source # 
Instance details

Defined in Data.Semiring.V3

Methods

fromNatural :: Natural -> V3 a Source #

(Monoid a, Dioid a) => Dioid (V4 a) Source # 
Instance details

Defined in Data.Semiring.V4

Methods

fromNatural :: Natural -> V4 a Source #

(Monoid a, Monoid b, Dioid a, Dioid b) => Dioid (a, b) Source # 
Instance details

Defined in Data.Dioid

Methods

fromNatural :: Natural -> (a, b) Source #

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

Defined in Data.Dioid

Methods

fromNatural :: Natural -> (a, b, c) Source #