pandora-0.2.0: A box of patterns and paradigms

Safe HaskellSafe
LanguageHaskell2010

Pandora.Paradigm.Basis.Conclusion

Documentation

data Conclusion e a Source #

Constructors

Failure e 
Success a 
Instances
Covariant (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

(<$>) :: (a -> b) -> Conclusion e a -> Conclusion e b Source #

comap :: (a -> b) -> Conclusion e a -> Conclusion e b Source #

(<$) :: a -> Conclusion e b -> Conclusion e a Source #

($>) :: Conclusion e a -> b -> Conclusion e b Source #

void :: Conclusion e a -> Conclusion e () Source #

loeb :: Conclusion e (Conclusion e a -> a) -> Conclusion e a Source #

(<&>) :: Conclusion e a -> (a -> b) -> Conclusion e b Source #

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

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

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

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

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

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

Bindable (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

(>>=) :: Conclusion e a -> (a -> Conclusion e b) -> Conclusion e b Source #

(=<<) :: (a -> Conclusion e b) -> Conclusion e a -> Conclusion e b Source #

bind :: (a -> Conclusion e b) -> Conclusion e a -> Conclusion e b Source #

join :: ((Conclusion e :. Conclusion e) > a) -> Conclusion e a Source #

(>=>) :: (a -> Conclusion e b) -> (b -> Conclusion e c) -> a -> Conclusion e c Source #

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

Applicative (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

(<*>) :: Conclusion e (a -> b) -> Conclusion e a -> Conclusion e b Source #

apply :: Conclusion e (a -> b) -> Conclusion e a -> Conclusion e b Source #

(*>) :: Conclusion e a -> Conclusion e b -> Conclusion e b Source #

(<*) :: Conclusion e a -> Conclusion e b -> Conclusion e a Source #

forever :: Conclusion e a -> Conclusion e b Source #

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

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

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

Alternative (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

(<+>) :: Conclusion e a -> Conclusion e a -> Conclusion e a Source #

alter :: Conclusion e a -> Conclusion e a -> Conclusion e a Source #

Pointable (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

point :: a -> Conclusion e a Source #

Monad (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Traversable (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

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

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

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

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

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

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

Composition (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Associated Types

type Primary (Conclusion e) a :: Type Source #

Methods

unwrap :: Conclusion e a -> Primary (Conclusion e) a Source #

Transformer (Conclusion e) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Associated Types

type Schema (Conclusion e) u = (r :: Type -> Type) Source #

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

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

(+) :: Conclusion e a -> Conclusion e a -> Conclusion e a Source #

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

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

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

(/=) :: Conclusion e a -> Conclusion e a -> Boolean Source #

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

Defined in Pandora.Paradigm.Basis.Conclusion

Covariant u => Covariant (UT Co Co (Conclusion e) u) Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

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

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

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

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

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

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

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

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

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

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

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

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

forever :: UT Co Co (Conclusion e) u a -> UT Co Co (Conclusion e) u b Source #

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

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

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

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

Defined in Pandora.Paradigm.Basis.Conclusion

Methods

point :: a -> UT Co Co (Conclusion e) u a Source #

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

Defined in Pandora.Paradigm.Basis.Conclusion

type Primary (Conclusion e) a Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

type Primary (Conclusion e) a = Conclusion e a
type Schema (Conclusion e) u Source # 
Instance details

Defined in Pandora.Paradigm.Basis.Conclusion

type Schema (Conclusion e) u = UT Co Co (Conclusion e) u

conclusion :: (e -> r) -> (a -> r) -> Conclusion e a -> r Source #

fail :: (e -> r) -> Conclusion e a -> Conclusion r a Source #