deepcontrol-0.2.0.0: Enable more deeper level style of programming than the usual Control.xxx modules express

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

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

newtype Kleisli3 m1 m2 m3 a b Source

Constructors

Kleisli3 

Fields

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

Instances

(Applicative m1, Monad m1, Monad2 m2, Monad3 m3) => Category * (Kleisli3 m1 m2 m3) Source 
(Applicative m1, Monad m1, Monad2 m2, Monad3 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

(Applicative m1, Monad m1, Monad2 m2, Monad3 m3, Monad4 m4) => Category * (Kleisli4 m1 m2 m3 m4) Source 
(Applicative m1, Monad m1, Monad2 m2, Monad3 m3, Monad4 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

(Applicative m1, Monad m1, Monad2 m2, Monad3 m3, Monad4 m4, Monad5 m5) => Category * (Kleisli5 m1 m2 m3 m4 m5) Source 
(Applicative m1, Monad m1, Monad2 m2, Monad3 m3, Monad4 m4, Monad5 m5) => Arrow (Kleisli5 m1 m2 m3 m4 m5) Source