pandora-0.1.0: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Pattern.Functor.Exclusive

Synopsis

Documentation

class Alternative t => Exclusive t where Source #

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

Methods

exclusive :: t a Source #

Instances
Exclusive Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

exclusive :: Maybe a Source #

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

Defined in Pandora.Paradigm.Basis.Yoneda

Methods

exclusive :: Yoneda t a Source #

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

Defined in Pandora.Paradigm.Basis.Jack

Methods

exclusive :: Jack t a Source #

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

Defined in Pandora.Paradigm.Basis.Free

Methods

exclusive :: Free t a Source #

(Covariant (t u), Exclusive u) => Exclusive (Y t u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Junction.Transformer

Methods

exclusive :: Y t u a Source #

(Covariant t, Exclusive u) => Exclusive (T t u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Junction.Transformer

Methods

exclusive :: T t u a Source #

(Exclusive t, Covariant u) => Exclusive (U Co Co t u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Junction.Composition

Methods

exclusive :: U Co Co t u a Source #

(Exclusive t, Covariant u, Covariant v) => Exclusive (UU Co Co Co t u v) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Junction.Composition

Methods

exclusive :: UU Co Co Co t u v a Source #

(Exclusive t, Covariant u, Covariant v, Covariant w) => Exclusive (UUU Co Co Co Co t u v w) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Junction.Composition

Methods

exclusive :: UUU Co Co Co Co t u v w a Source #