pandora-0.2.0: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Basis.Maybe

Documentation

data Maybe a Source #

Constructors

Nothing 
Just a 
Instances
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

empty :: 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

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 #

Composition Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Associated Types

type Primary Maybe a :: Type Source #

Methods

unwrap :: Maybe a -> Primary Maybe a Source #

Transformer Maybe Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Associated Types

type Schema Maybe u = (r :: Type -> Type) 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 Co Co Maybe u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Basis.Maybe

Methods

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

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

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

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

forever :: UT Co Co Maybe u a -> UT Co Co Maybe u b Source #

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

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

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

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

Defined in Pandora.Paradigm.Basis.Maybe

Methods

point :: a -> UT Co Co Maybe u a Source #

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

Defined in Pandora.Paradigm.Basis.Maybe

type Primary Maybe a Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

type Primary Maybe a = Maybe a
type Schema Maybe u Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Maybe

type Schema Maybe u = UT Co Co Maybe u

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