Module Control.arrow.Kleisli
Kleisli operators, Arrow and Monad instances
Imports
Table of Content
-
data Kleisli m a b
-
Constructors
-
Kleisli {run ∷ a → m b}
-
Member Functions
-
run ∷ Kleisli α γ β → γ → α β
-
access field run
-
instance Monad m ⇒ Arrow (Kleisli m)
-
Member Functions
-
&&& ∷ Monad α ⇒ Kleisli α γ δ → Kleisli α γ β → Kleisli α γ (δ, β)
infixr 3
-
-
*** ∷ Monad α ⇒ Kleisli α δ γ → Kleisli α ε β → Kleisli α (δ, ε) (γ, β)
infixr 3
-
-
arr ∷ Monad α ⇒ (γ → β) → Kleisli α γ β
-
-
first ∷ Monad α ⇒ Kleisli α γ β → Kleisli α (γ, δ) (β, δ)
-
-
id ∷ Monad α ⇒ Kleisli α β β
-
-
second ∷ Monad α ⇒ Kleisli α δ β → Kleisli α (γ, δ) (γ, β)
-
-
• ∷ Monad α ⇒ Kleisli α β δ → Kleisli α γ β → Kleisli α γ δ
infixr 16
-
-
instance Monad m ⇒ Monad (Kleisli m a)
-
Member Functions
-
*> ∷ Monad β ⇒ Kleisli β α γ → Kleisli β α δ → Kleisli β α δ
infixl 4
-
inherited from Applicative.*>
-
<* ∷ Monad β ⇒ Kleisli β α γ → Kleisli β α δ → Kleisli β α γ
infixl 4
-
inherited from Applicative.<*
-
<*> ∷ Monad β ⇒ Kleisli β α (γ→δ) → Kleisli β α γ → Kleisli β α δ
infixl 4
-
-
>> ∷ Monad β ⇒ Kleisli β α γ → Kleisli β α δ → Kleisli β α δ
infixl 3
-
inherited from Monad.>>
-
>>= ∷ Monad β ⇒ Kleisli β α γ → (γ → Kleisli β α δ) → Kleisli β α δ
infixl 3
-
-
fmap ∷ Monad β ⇒ (γ → δ) → Kleisli β α γ → Kleisli β α δ
infixl 4
-
-
join ∷ Monad β ⇒ Kleisli β α (Kleisli β α γ) → Kleisli β α γ
-
inherited from Monad.join
-
pure ∷ Monad β ⇒ γ → Kleisli β α γ
-
-
α → Bool
-
Kleisli.has$run
-
Monad α ⇒ Kleisli α β β
-
Arrow_Kleisli.id
-
(a → m b) → Kleisli m a b
-
Kleisli.Kleisli
-
Kleisli α γ β → γ → α β
-
Kleisli.run
-
Monad α ⇒ (γ → β) → Kleisli α γ β
-
Arrow_Kleisli.arr
-
Monad β ⇒ Kleisli β α (Kleisli β α γ) → Kleisli β α γ
-
Monad_Kleisli.join
-
Monad β ⇒ γ → Kleisli β α γ
-
Monad_Kleisli.pure
-
Monad α ⇒ Kleisli α β δ → Kleisli α γ β → Kleisli α γ δ
-
Arrow_Kleisli.•
-
Monad α ⇒ Kleisli α γ β → Kleisli α (γ, δ) (β, δ)
-
Arrow_Kleisli.first
-
Monad α ⇒ Kleisli α γ δ → Kleisli α γ β → Kleisli α γ (δ, β)
-
Arrow_Kleisli.&&&
-
Monad α ⇒ Kleisli α δ β → Kleisli α (γ, δ) (γ, β)
-
Arrow_Kleisli.second
-
Monad β ⇒ (γ → δ) → Kleisli β α γ → Kleisli β α δ
-
Monad_Kleisli.fmap
-
Monad β ⇒ Kleisli β α (γ→δ) → Kleisli β α γ → Kleisli β α δ
-
Monad_Kleisli.<*>
-
Monad β ⇒ Kleisli β α γ → (γ → Kleisli β α δ) → Kleisli β α δ
-
Monad_Kleisli.>>=
-
Monad β ⇒ Kleisli β α γ → Kleisli β α δ → Kleisli β α γ
-
Monad_Kleisli.<*
-
Monad β ⇒ Kleisli β α γ → Kleisli β α δ → Kleisli β α δ
-
Monad_Kleisli.>>, Monad_Kleisli.*>
-
Monad α ⇒ Kleisli α δ γ → Kleisli α ε β → Kleisli α (δ, ε) (γ, β)
-
Arrow_Kleisli.***
-
Kleisli α β γ → (-> β (α γ)→ζ→δ ε) → Kleisli δ ζ ε
-
Kleisli.chg$run
-
Kleisli α β γ → (ζ→δ ε) → Kleisli δ ζ ε
-
Kleisli.upd$run
