pandora-0.1.0: 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 (Identity a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Identity

Methods

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

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

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(/\) :: Maybe a -> Maybe a -> Maybe a 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 (Identity a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Identity

Methods

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

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

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

type family Semilattice constraint where ... Source #

Equations

Semilattice Infimum = () 
Semilattice Supremum = ()