pandora-0.1.9: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Pattern.Functor.Avoidable

Synopsis

Documentation

class Alternative t => Avoidable t where Source #

When providing a new instance, you should ensure it satisfies the two laws:
* Left absorption: x <+> empty ≡ x
* Right absorption: empty <+> x ≡ x

Methods

empty :: t a Source #

Instances
Avoidable Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

empty :: Maybe a Source #

Avoidable Stack Source # 
Instance details

Defined in Pandora.Paradigm.Structure.Stack

Methods

empty :: Stack a Source #

Avoidable t => Avoidable (Yoneda t) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Yoneda

Methods

empty :: Yoneda t a Source #

Avoidable t => Avoidable (Free t) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Free

Methods

empty :: Free t a Source #

Avoidable t => Avoidable (Jack t) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Jack

Methods

empty :: Jack t a Source #

(Avoidable t, Covariant u) => Avoidable (TU Co Co t u) Source # 
Instance details

Defined in Pandora.Pattern.Junction.Schemes.TU

Methods

empty :: TU Co Co t u a Source #

(Covariant (t u), Avoidable u) => Avoidable (UTU Co Co t u) Source # 
Instance details

Defined in Pandora.Pattern.Junction.Schemes.UTU

Methods

empty :: UTU Co Co t u a Source #

(Covariant t, Avoidable u) => Avoidable (UT Co Co t u) Source # 
Instance details

Defined in Pandora.Pattern.Junction.Schemes.UT

Methods

empty :: UT Co Co t u a Source #

(Avoidable t, Covariant u, Covariant v) => Avoidable (TUV Co Co Co t u v) Source # 
Instance details

Defined in Pandora.Pattern.Junction.Schemes.TUV

Methods

empty :: TUV Co Co Co t u v a Source #

(Avoidable t, Covariant u, Covariant v, Covariant w) => Avoidable (TUVW Co Co Co Co t u v w) Source # 
Instance details

Defined in Pandora.Pattern.Junction.Schemes.TUVW

Methods

empty :: TUVW Co Co Co Co t u v w a Source #