deepcontrol-0.5.4.3: A library that provides deep-level programming style and(or) notation on Applicative and Monad

Copyright(c) Ross Paterson 2002, (c) 2015 KONISHI Yohsuke
LicenseBSD-style (see the LICENSE file in the distribution)
Maintainerocean0yohsuke@gmail.com
Stabilityexperimental
Portability---
Safe HaskellSafe
LanguageHaskell2010

DeepControl.Arrow

Description

 

Documentation

newtype Kleisli2 m1 m2 a b Source

Constructors

Kleisli2 

Fields

runKleisli2 :: a -> m1 (m2 b)
 

Instances

(Monad m1, Monad m2, Traversable m2) => Category * (Kleisli2 m1 m2) Source 
(Monad m1, Monad m2, Traversable m2) => Arrow (Kleisli2 m1 m2) Source 

newtype Kleisli3 m1 m2 m3 a b Source

Constructors

Kleisli3 

Fields

runKleisli3 :: a -> m1 (m2 (m3 b))
 

Instances

(Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3) => Category * (Kleisli3 m1 m2 m3) Source 
(Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3) => Arrow (Kleisli3 m1 m2 m3) Source 

newtype Kleisli4 m1 m2 m3 m4 a b Source

Constructors

Kleisli4 

Fields

runKleisli4 :: a -> m1 (m2 (m3 (m4 b)))
 

Instances

(Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3, Monad m4, Traversable m4) => Category * (Kleisli4 m1 m2 m3 m4) Source 
(Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3, Monad m4, Traversable m4) => Arrow (Kleisli4 m1 m2 m3 m4) Source 

newtype Kleisli5 m1 m2 m3 m4 m5 a b Source

Constructors

Kleisli5 

Fields

runKleisli5 :: a -> m1 (m2 (m3 (m4 (m5 b))))
 

Instances

(Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3, Monad m4, Traversable m4, Monad m5, Traversable m5) => Category * (Kleisli5 m1 m2 m3 m4 m5) Source 
(Monad m1, Monad m2, Traversable m2, Monad m3, Traversable m3, Monad m4, Traversable m4, Monad m5, Traversable m5) => Arrow (Kleisli5 m1 m2 m3 m4 m5) Source