pandora-0.1.6: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Pattern.Object.Chain

Synopsis

Documentation

data Ordering Source #

Constructors

Less 
Equal 
Greater 

order :: a -> a -> a -> Ordering -> a Source #

class Setoid a => Chain a where Source #

When providing a new instance, you should ensure it satisfies the three laws:
* Reflexivity: x <= x ≡ True
* Transitivity: x <= y && y <= z ≡ True ===> x <= z ≡ True
* Antisymmetry: x <= y && y <= x ≡ True ===> x == y ≡ True

Minimal complete definition

(<=>)

Methods

(<=>) :: a -> a -> Ordering Source #

(<) :: a -> a -> Boolean Source #

(<=) :: a -> a -> Boolean Source #

(>) :: a -> a -> Boolean Source #

(>=) :: a -> a -> Boolean Source #

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

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(<=>) :: Maybe a -> Maybe a -> Ordering Source #

(<) :: Maybe a -> Maybe a -> Boolean Source #

(<=) :: Maybe a -> Maybe a -> Boolean Source #

(>) :: Maybe a -> Maybe a -> Boolean Source #

(>=) :: Maybe a -> Maybe a -> Boolean Source #

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

Defined in Pandora.Paradigm.Basis.Identity

(Chain a, Chain (t a)) => Chain (Jack t a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Jack

Methods

(<=>) :: Jack t a -> Jack t a -> Ordering Source #

(<) :: Jack t a -> Jack t a -> Boolean Source #

(<=) :: Jack t a -> Jack t a -> Boolean Source #

(>) :: Jack t a -> Jack t a -> Boolean Source #

(>=) :: Jack t a -> Jack t a -> Boolean Source #

(Chain e, Chain a) => Chain (Conclusion e a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

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

Defined in Pandora.Paradigm.Basis.Tagged

Methods

(<=>) :: Tagged tag a -> Tagged tag a -> Ordering Source #

(<) :: Tagged tag a -> Tagged tag a -> Boolean Source #

(<=) :: Tagged tag a -> Tagged tag a -> Boolean Source #

(>) :: Tagged tag a -> Tagged tag a -> Boolean Source #

(>=) :: Tagged tag a -> Tagged tag a -> Boolean Source #

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

Defined in Pandora.Paradigm.Basis.Constant

Methods

(<=>) :: Constant a b -> Constant a b -> Ordering Source #

(<) :: Constant a b -> Constant a b -> Boolean Source #

(<=) :: Constant a b -> Constant a b -> Boolean Source #

(>) :: Constant a b -> Constant a b -> Boolean Source #

(>=) :: Constant a b -> Constant a b -> Boolean Source #

(forall (u' :: k2 -> Type). Chain ((u' :.: t u') a)) => Chain (Y t u a) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Transformer

Methods

(<=>) :: Y t u a -> Y t u a -> Ordering Source #

(<) :: Y t u a -> Y t u a -> Boolean Source #

(<=) :: Y t u a -> Y t u a -> Boolean Source #

(>) :: Y t u a -> Y t u a -> Boolean Source #

(>=) :: Y t u a -> Y t u a -> Boolean Source #

Chain ((u :.: t) a) => Chain (T t u a) Source # 
Instance details

Defined in Pandora.Paradigm.Junction.Transformer

Methods

(<=>) :: T t u a -> T t u a -> Ordering Source #

(<) :: T t u a -> T t u a -> Boolean Source #

(<=) :: T t u a -> T t u a -> Boolean Source #

(>) :: T t u a -> T t u a -> Boolean Source #

(>=) :: T t u a -> T t u a -> Boolean Source #