pandora-0.4.6: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Paradigm.Primary.Algebraic

Documentation

type Applicative_ t = (Covariant (->) (->) t, Semimonoidal (->) (:*:) (:*:) t, Monoidal (->) (->) (:*:) (:*:) t) Source #

type Alternative_ t = (Covariant (->) (->) t, Semimonoidal (->) (:*:) (:+:) t, Monoidal (->) (->) (:*:) (:+:) t) Source #

($>-) :: Covariant (->) (->) t => t a -> b -> t b Source #

($$>-) :: (Covariant (->) (->) t, Covariant (->) (->) u) => t (u a) -> b -> t (u b) Source #

($$$>-) :: (Covariant (->) (->) t, Covariant (->) (->) u, Covariant (->) (->) v) => t (u (v a)) -> b -> t (u (v b)) Source #

(-<*>-) :: (Covariant (->) (->) t, Semimonoidal (->) (:*:) (:*:) t) => t (a -> b) -> t a -> t b infixl 4 Source #

(*>-) :: (Covariant (->) (->) t, Semimonoidal (->) (:*:) (:*:) t) => t a -> t b -> t b Source #

forever_ :: (Covariant (->) (->) t, Semimonoidal (->) (:*:) (:*:) t) => t a -> t b Source #

(-+-) :: (Covariant (->) (->) t, Semimonoidal (->) (:*:) (:+:) t) => t a -> t b -> ((a :+: b) -> r) -> t r Source #

void :: Covariant (->) (->) t => t a -> t () Source #

empty :: Monoidal (->) (->) (:*:) (:+:) t => t a Source #

point :: Monoidal (->) (->) (:*:) (:*:) t => a -> t a Source #

extract :: Extractable_ t => t a -> a Source #

Orphan instances

Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) ((:*:) s) Source # 
Instance details

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) <-- (s :*: a) Source #

Monoidal (<--) ((->) :: Type -> Type -> Type) (:*:) (:*:) (Flip (:*:) a) Source # 
Instance details

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a0) <-- Flip (:*:) a a0 Source #

Semimonoidal (<--) (:*:) (:*:) ((:*:) s :: Type -> Type) Source # 
Instance details

Methods

multiply :: forall (a :: k) (b :: k). ((s :*: a) :*: (s :*: b)) <-- (s :*: (a :*: b)) Source #

Semimonoidal (<--) (:*:) (:*:) (Flip (:*:) a :: Type -> Type) Source # 
Instance details

Methods

multiply :: forall (a0 :: k) (b :: k). (Flip (:*:) a a0 :*: Flip (:*:) a b) <-- Flip (:*:) a (a0 :*: b) Source #

Semimonoidal (<--) (:*:) (:*:) ((->) e :: Type -> Type) Source # 
Instance details

Methods

multiply :: forall (a :: k) (b :: k). ((e -> a) :*: (e -> b)) <-- (e -> (a :*: b)) Source #

Comonad ((:*:) s) ((->) :: Type -> Type -> Type) Source # 
Instance details

Semimonoidal ((->) :: Type -> Type -> Type) (:*:) (:+:) ((:+:) e :: Type -> Type) Source # 
Instance details

Methods

multiply :: forall (a :: k) (b :: k). ((e :+: a) :*: (e :+: b)) -> (e :+: (a :+: b)) Source #

Semimonoidal ((->) :: Type -> Type -> Type) (:*:) (:*:) ((:+:) e :: Type -> Type) Source # 
Instance details

Methods

multiply :: forall (a :: k) (b :: k). ((e :+: a) :*: (e :+: b)) -> (e :+: (a :*: b)) Source #

Semimonoidal ((->) :: Type -> Type -> Type) (:*:) (:*:) ((->) e :: Type -> Type) Source # 
Instance details

Methods

multiply :: forall (a :: k) (b :: k). ((e -> a) :*: (e -> b)) -> (e -> (a :*: b)) Source #

Monoidal ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) (:*:) (:*:) ((:+:) e) Source # 
Instance details

Methods

unit :: Proxy (:*:) -> (Unit (:*:) -> a) -> (e :+: a) Source #

Traversable ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((:*:) s) Source # 
Instance details

Methods

(<<-) :: (Covariant (->) (->) u, Monoidal (->) (->) (:*:) (:*:) u) => (a -> u b) -> (s :*: a) -> u (s :*: b) Source #

Adjoint ((->) :: Type -> Type -> Type) ((->) :: Type -> Type -> Type) ((:*:) s) ((->) s :: Type -> Type) Source # 
Instance details

Methods

(-|) :: ((s :*: a) -> b) -> a -> (s -> b) Source #

(|-) :: (a -> (s -> b)) -> (s :*: a) -> b Source #