semirings-0.6: two monoids as one, in holy haskimony
Safe HaskellSafe-Inferred
LanguageHaskell98

Data.Star

Description

A class for *-semirings (pron. "star-semirings").

Synopsis

Documentation

class Semiring a => Star a where #

A Star semiring adds one operation, star to a Semiring, such that it follows the law:

star x = one + x * star x = one + star x * x

Another operation, aplus, can be defined in terms of star:

aplus x = x * star x

Minimal complete definition

star | aplus

Methods

star :: a -> a #

aplus :: a -> a #

Instances

Instances details
Star Mod2 # 
Instance details

Defined in Data.Star

Methods

star :: Mod2 -> Mod2 #

aplus :: Mod2 -> Mod2 #

Star () # 
Instance details

Defined in Data.Star

Methods

star :: () -> () #

aplus :: () -> () #

Star Bool # 
Instance details

Defined in Data.Star

Methods

star :: Bool -> Bool #

aplus :: Bool -> Bool #

Star (Proxy a) # 
Instance details

Defined in Data.Star

Methods

star :: Proxy a -> Proxy a #

aplus :: Proxy a -> Proxy a #

(Ord a, Monoid a, Extremum e) => Star (Tropical e a) # 
Instance details

Defined in Data.Semiring.Tropical

Methods

star :: Tropical e a -> Tropical e a #

aplus :: Tropical e a -> Tropical e a #

Star b => Star (a -> b) # 
Instance details

Defined in Data.Star

Methods

star :: (a -> b) -> a -> b #

aplus :: (a -> b) -> a -> b #