Copyright | Copyright (C) 2005 Uwe Schmidt |
---|---|
License | MIT |
Maintainer | Uwe Schmidt (uwe\@fh-wedel.de) |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Control.Arrow.ListArrows
Description
Module for importing all list arrows
Documentation
class Category a => Arrow (a :: Type -> Type -> Type) where #
Methods
first :: a b c -> a (b, d) (c, d) #
second :: a b c -> a (d, b) (d, c) #
class Arrow a => ArrowChoice (a :: Type -> Type -> Type) where #
Methods
left :: a b c -> a (Either b d) (Either c d) #
right :: a b c -> a (Either d b) (Either d c) #
(+++) :: a b c -> a b' c' -> a (Either b b') (Either c c') #
Instances
ArrowChoice IOLA Source # | |
ArrowChoice LA Source # | |
Monad m => ArrowChoice (Kleisli m) | |
Defined in Control.Arrow | |
ArrowChoice (IOSLA s) Source # | |
Defined in Control.Arrow.IOStateListArrow | |
ArrowChoice (SLA s) Source # | |
ArrowChoice (->) | |
class ArrowZero a => ArrowPlus (a :: Type -> Type -> Type) where #
newtype Kleisli (m :: Type -> Type) a b #
Constructors
Kleisli | |
Fields
|
Instances
Monad m => Category (Kleisli m :: Type -> Type -> Type) | |||||
Generic1 (Kleisli m a :: Type -> Type) | |||||
Defined in Control.Arrow Associated Types
| |||||
Monad m => Arrow (Kleisli m) | |||||
Defined in Control.Arrow | |||||
Monad m => ArrowApply (Kleisli m) | |||||
Defined in Control.Arrow | |||||
Monad m => ArrowChoice (Kleisli m) | |||||
Defined in Control.Arrow | |||||
MonadFix m => ArrowLoop (Kleisli m) | |||||
Defined in Control.Arrow | |||||
MonadPlus m => ArrowPlus (Kleisli m) | |||||
MonadPlus m => ArrowZero (Kleisli m) | |||||
Defined in Control.Arrow | |||||
Alternative m => Alternative (Kleisli m a) | |||||
Applicative m => Applicative (Kleisli m a) | |||||
Defined in Control.Arrow | |||||
Functor m => Functor (Kleisli m a) | |||||
Monad m => Monad (Kleisli m a) | |||||
MonadPlus m => MonadPlus (Kleisli m a) | |||||
Generic (Kleisli m a b) | |||||
Defined in Control.Arrow Associated Types
| |||||
type Rep1 (Kleisli m a :: Type -> Type) | |||||
Defined in Control.Arrow type Rep1 (Kleisli m a :: Type -> Type) = D1 ('MetaData "Kleisli" "Control.Arrow" "base" 'True) (C1 ('MetaCons "Kleisli" 'PrefixI 'True) (S1 ('MetaSel ('Just "runKleisli") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) ((FUN 'Many a :: Type -> Type) :.: Rec1 m))) | |||||
type Rep (Kleisli m a b) | |||||
Defined in Control.Arrow type Rep (Kleisli m a b) = D1 ('MetaData "Kleisli" "Control.Arrow" "base" 'True) (C1 ('MetaCons "Kleisli" 'PrefixI 'True) (S1 ('MetaSel ('Just "runKleisli") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a -> m b)))) |
class Arrow a => ArrowApply (a :: Type -> Type -> Type) where #
Instances
ArrowApply IOLA Source # | |
Defined in Control.Arrow.IOListArrow | |
ArrowApply LA Source # | |
Defined in Control.Arrow.ListArrow | |
Monad m => ArrowApply (Kleisli m) | |
Defined in Control.Arrow | |
ArrowApply (IOSLA s) Source # | |
Defined in Control.Arrow.IOStateListArrow | |
ArrowApply (SLA s) Source # | |
Defined in Control.Arrow.StateListArrow | |
ArrowApply (->) | |
Defined in Control.Arrow |
class Arrow a => ArrowZero (a :: Type -> Type -> Type) where #
Instances
ArrowZero IOLA Source # | |
Defined in Control.Arrow.IOListArrow | |
ArrowZero LA Source # | |
Defined in Control.Arrow.ListArrow | |
MonadPlus m => ArrowZero (Kleisli m) | |
Defined in Control.Arrow | |
ArrowZero (IOSLA s) Source # | |
Defined in Control.Arrow.IOStateListArrow | |
ArrowZero (SLA s) Source # | |
Defined in Control.Arrow.StateListArrow |
newtype ArrowMonad (a :: Type -> Type -> Type) b #
Constructors
ArrowMonad (a () b) |
Instances
leftApp :: ArrowApply a => a b c -> a (Either b d) (Either c d) #
module Control.Arrow.ArrowExc
module Control.Arrow.ArrowIf
module Control.Arrow.ArrowIO
module Control.Arrow.ArrowList
module Control.Arrow.ArrowNF
module Control.Arrow.ArrowState
module Control.Arrow.ArrowTree
module Control.Arrow.ListArrow
module Control.Arrow.StateListArrow
module Control.Arrow.IOListArrow
module Control.Arrow.NTreeEdit