pandora-0.1.8: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Basis.Maybe

Documentation

data Maybe a Source #

Constructors

Nothing 
Just a 
Instances
Composition Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Associated Types

type Outline Maybe a :: Type Source #

Covariant Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(<$>) :: (a -> b) -> Maybe a -> Maybe b Source #

comap :: (a -> b) -> Maybe a -> Maybe b Source #

(<$) :: a -> Maybe b -> Maybe a Source #

($>) :: Maybe a -> b -> Maybe b Source #

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

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

(<&>) :: Maybe a -> (a -> b) -> Maybe b Source #

(<$$>) :: Covariant u => (a -> b) -> ((Maybe :.: u) >< a) -> (Maybe :.: u) >< b Source #

(<$$$>) :: (Covariant u, Covariant v) => (a -> b) -> ((Maybe :.: (u :.: v)) >< a) -> (Maybe :.: (u :.: v)) >< b Source #

(<$$$$>) :: (Covariant u, Covariant v, Covariant w) => (a -> b) -> ((Maybe :.: (u :.: (v :.: w))) >< a) -> (Maybe :.: (u :.: (v :.: w))) >< b Source #

(<&&>) :: Covariant u => ((Maybe :.: u) >< a) -> (a -> b) -> (Maybe :.: u) >< b Source #

(<&&&>) :: (Covariant u, Covariant v) => ((Maybe :.: (u :.: v)) >< a) -> (a -> b) -> (Maybe :.: (u :.: v)) >< b Source #

(<&&&&>) :: (Covariant u, Covariant v, Covariant w) => ((Maybe :.: (u :.: (v :.: w))) >< a) -> (a -> b) -> (Maybe :.: (u :.: (v :.: w))) >< b Source #

Bindable Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

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

bind :: (a -> Maybe b) -> Maybe a -> Maybe b Source #

join :: (Maybe :.: Maybe) a -> Maybe a Source #

(>=>) :: (a -> Maybe b) -> (b -> Maybe c) -> a -> Maybe c Source #

(<=<) :: (b -> Maybe c) -> (a -> Maybe b) -> a -> Maybe c Source #

Applicative Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b Source #

apply :: Maybe (a -> b) -> Maybe a -> Maybe b Source #

(*>) :: Maybe a -> Maybe b -> Maybe b Source #

(<*) :: Maybe a -> Maybe b -> Maybe a Source #

forever :: Maybe a -> Maybe b Source #

(<**>) :: Applicative u => (Maybe :.: u) (a -> b) -> (Maybe :.: u) a -> (Maybe :.: u) b Source #

(<***>) :: (Applicative u, Applicative v) => (Maybe :.: (u :.: v)) (a -> b) -> (Maybe :.: (u :.: v)) a -> (Maybe :.: (u :.: v)) b Source #

(<****>) :: (Applicative u, Applicative v, Applicative w) => (Maybe :.: (u :.: (v :.: w))) (a -> b) -> (Maybe :.: (u :.: (v :.: w))) a -> (Maybe :.: (u :.: (v :.: w))) b Source #

Alternative Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

alter :: Maybe a -> Maybe a -> Maybe a Source #

Avoidable Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

idle :: Maybe a Source #

Pointable Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

point :: a -> Maybe a Source #

Monad Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Transformer Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Associated Types

type Layout Maybe u a = (r :: Type) Source #

Methods

lay :: Covariant u => u a -> Layout Maybe u a Source #

equip :: Pointable u => Maybe a -> Layout Maybe u a Source #

Traversable Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(->>) :: (Pointable u, Applicative u) => Maybe a -> (a -> u b) -> (u :.: Maybe) b Source #

traverse :: (Pointable u, Applicative u) => (a -> u b) -> Maybe a -> (u :.: Maybe) b Source #

sequence :: (Pointable u, Applicative u) => (Maybe :.: u) a -> (u :.: Maybe) a Source #

(->>>) :: (Pointable u, Applicative u, Traversable v) => (v :.: Maybe) a -> (a -> u b) -> (u :.: (v :.: Maybe)) b Source #

(->>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w) => (w :.: (v :.: Maybe)) a -> (a -> u b) -> (u :.: (w :.: (v :.: Maybe))) b Source #

(->>>>>) :: (Pointable u, Applicative u, Traversable v, Traversable w, Traversable j) => (j :.: (w :.: (v :.: Maybe))) a -> (a -> u b) -> (u :.: (j :.: (w :.: (v :.: Maybe)))) b Source #

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

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

Semigroup a => Monoid (Maybe a) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

zero :: Maybe a Source #

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

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

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

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

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

Defined in Pandora.Paradigm.Basis.Maybe

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

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

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

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 #

Covariant u => Covariant (UT Maybe () Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(<$>) :: (a -> b) -> UT Maybe () Maybe u a -> UT Maybe () Maybe u b Source #

comap :: (a -> b) -> UT Maybe () Maybe u a -> UT Maybe () Maybe u b Source #

(<$) :: a -> UT Maybe () Maybe u b -> UT Maybe () Maybe u a Source #

($>) :: UT Maybe () Maybe u a -> b -> UT Maybe () Maybe u b Source #

void :: UT Maybe () Maybe u a -> UT Maybe () Maybe u () Source #

loeb :: UT Maybe () Maybe u (UT Maybe () Maybe u a -> a) -> UT Maybe () Maybe u a Source #

(<&>) :: UT Maybe () Maybe u a -> (a -> b) -> UT Maybe () Maybe u b Source #

(<$$>) :: Covariant u0 => (a -> b) -> ((UT Maybe () Maybe u :.: u0) >< a) -> (UT Maybe () Maybe u :.: u0) >< b Source #

(<$$$>) :: (Covariant u0, Covariant v) => (a -> b) -> ((UT Maybe () Maybe u :.: (u0 :.: v)) >< a) -> (UT Maybe () Maybe u :.: (u0 :.: v)) >< b Source #

(<$$$$>) :: (Covariant u0, Covariant v, Covariant w) => (a -> b) -> ((UT Maybe () Maybe u :.: (u0 :.: (v :.: w))) >< a) -> (UT Maybe () Maybe u :.: (u0 :.: (v :.: w))) >< b Source #

(<&&>) :: Covariant u0 => ((UT Maybe () Maybe u :.: u0) >< a) -> (a -> b) -> (UT Maybe () Maybe u :.: u0) >< b Source #

(<&&&>) :: (Covariant u0, Covariant v) => ((UT Maybe () Maybe u :.: (u0 :.: v)) >< a) -> (a -> b) -> (UT Maybe () Maybe u :.: (u0 :.: v)) >< b Source #

(<&&&&>) :: (Covariant u0, Covariant v, Covariant w) => ((UT Maybe () Maybe u :.: (u0 :.: (v :.: w))) >< a) -> (a -> b) -> (UT Maybe () Maybe u :.: (u0 :.: (v :.: w))) >< b Source #

(Pointable u, Bindable u) => Bindable (UT Maybe () Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(>>=) :: UT Maybe () Maybe u a -> (a -> UT Maybe () Maybe u b) -> UT Maybe () Maybe u b Source #

(=<<) :: (a -> UT Maybe () Maybe u b) -> UT Maybe () Maybe u a -> UT Maybe () Maybe u b Source #

bind :: (a -> UT Maybe () Maybe u b) -> UT Maybe () Maybe u a -> UT Maybe () Maybe u b Source #

join :: (UT Maybe () Maybe u :.: UT Maybe () Maybe u) a -> UT Maybe () Maybe u a Source #

(>=>) :: (a -> UT Maybe () Maybe u b) -> (b -> UT Maybe () Maybe u c) -> a -> UT Maybe () Maybe u c Source #

(<=<) :: (b -> UT Maybe () Maybe u c) -> (a -> UT Maybe () Maybe u b) -> a -> UT Maybe () Maybe u c Source #

Applicative u => Applicative (UT Maybe () Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

(<*>) :: UT Maybe () Maybe u (a -> b) -> UT Maybe () Maybe u a -> UT Maybe () Maybe u b Source #

apply :: UT Maybe () Maybe u (a -> b) -> UT Maybe () Maybe u a -> UT Maybe () Maybe u b Source #

(*>) :: UT Maybe () Maybe u a -> UT Maybe () Maybe u b -> UT Maybe () Maybe u b Source #

(<*) :: UT Maybe () Maybe u a -> UT Maybe () Maybe u b -> UT Maybe () Maybe u a Source #

forever :: UT Maybe () Maybe u a -> UT Maybe () Maybe u b Source #

(<**>) :: Applicative u0 => (UT Maybe () Maybe u :.: u0) (a -> b) -> (UT Maybe () Maybe u :.: u0) a -> (UT Maybe () Maybe u :.: u0) b Source #

(<***>) :: (Applicative u0, Applicative v) => (UT Maybe () Maybe u :.: (u0 :.: v)) (a -> b) -> (UT Maybe () Maybe u :.: (u0 :.: v)) a -> (UT Maybe () Maybe u :.: (u0 :.: v)) b Source #

(<****>) :: (Applicative u0, Applicative v, Applicative w) => (UT Maybe () Maybe u :.: (u0 :.: (v :.: w))) (a -> b) -> (UT Maybe () Maybe u :.: (u0 :.: (v :.: w))) a -> (UT Maybe () Maybe u :.: (u0 :.: (v :.: w))) b Source #

Pointable u => Pointable (UT Maybe () Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

point :: a -> UT Maybe () Maybe u a Source #

Monad u => Monad (UT Maybe () Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

type Outline Maybe a Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

type Outline Maybe a = Maybe a
type Layout Maybe u a Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

type Layout Maybe u a = UT Maybe () Maybe u a

maybe :: b -> (a -> b) -> Maybe a -> b Source #