pandora-0.2.4: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Pattern.Object.Semilattice

Synopsis

Documentation

class Infimum a where Source #

When providing a new instance, you should ensure it satisfies the three laws:
* Associativity: x /\ (y /\ z) ≡ (x /\ y) /\ z
* Commutativity: x /\ y ≡ y /\ x
* Idempotency: x /\ x ≡ x

Methods

(/\) :: a -> a -> a Source #

Instances
Infimum a => Infimum (Maybe a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(/\) :: Maybe a -> Maybe a -> Maybe a Source #

Infimum a => Infimum (Identity a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Identity

Methods

(/\) :: Identity a -> Identity a -> Identity a Source #

(Infimum a, Infimum b) => Infimum (Product a b) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Product

Methods

(/\) :: Product a b -> Product a b -> Product a b Source #

Infimum a => Infimum (Tagged tag a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Tagged

Methods

(/\) :: Tagged tag a -> Tagged tag a -> Tagged tag a Source #

Infimum a => Infimum (Constant a b) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Constant

Methods

(/\) :: Constant a b -> Constant a b -> Constant a b Source #

class Supremum a where Source #

When providing a new instance, you should ensure it satisfies the three laws:
* Associativity: x \/ (y \/ z) ≡ (x \/ y) \/ z
* Commutativity: x \/ y ≡ y \/ x
* Idempotency: x \/ x ≡ x

Methods

(\/) :: a -> a -> a Source #

Instances
Supremum a => Supremum (Maybe a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(\/) :: Maybe a -> Maybe a -> Maybe a Source #

Supremum a => Supremum (Identity a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Identity

Methods

(\/) :: Identity a -> Identity a -> Identity a Source #

(Supremum a, Supremum b) => Supremum (Product a b) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Product

Methods

(\/) :: Product a b -> Product a b -> Product a b Source #

Supremum a => Supremum (Tagged tag a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Tagged

Methods

(\/) :: Tagged tag a -> Tagged tag a -> Tagged tag a Source #

Supremum a => Supremum (Constant a b) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Constant

Methods

(\/) :: Constant a b -> Constant a b -> Constant a b Source #

type family Semilattice constraint where ... Source #

Equations

Semilattice Infimum = () 
Semilattice Supremum = ()