arrow-list-0.7: List arrows for Haskell.

Safe HaskellNone
LanguageHaskell98

Control.Arrow.List

Contents

Synopsis

ListT arrow.

newtype ListTArrow m a b #

Constructors

ListTArrow 

Fields

Instances

Monad m => ArrowKleisli m (ListTArrow m) # 

Methods

arrM :: (a -> m b) -> ListTArrow m a b #

Monad m => ArrowListLike [] (ListTArrow m) # 

Methods

embed :: ListTArrow m [a] a #

observe :: ListTArrow m a b -> ListTArrow m a [b] #

Monad m => Arrow (ListTArrow m) # 

Methods

arr :: (b -> c) -> ListTArrow m b c #

first :: ListTArrow m b c -> ListTArrow m (b, d) (c, d) #

second :: ListTArrow m b c -> ListTArrow m (d, b) (d, c) #

(***) :: ListTArrow m b c -> ListTArrow m b' c' -> ListTArrow m (b, b') (c, c') #

(&&&) :: ListTArrow m b c -> ListTArrow m b c' -> ListTArrow m b (c, c') #

Monad m => ArrowZero (ListTArrow m) # 

Methods

zeroArrow :: ListTArrow m b c #

Monad m => ArrowPlus (ListTArrow m) # 

Methods

(<+>) :: ListTArrow m b c -> ListTArrow m b c -> ListTArrow m b c #

Monad m => ArrowChoice (ListTArrow m) # 

Methods

left :: ListTArrow m b c -> ListTArrow m (Either b d) (Either c d) #

right :: ListTArrow m b c -> ListTArrow m (Either d b) (Either d c) #

(+++) :: ListTArrow m b c -> ListTArrow m b' c' -> ListTArrow m (Either b b') (Either c c') #

(|||) :: ListTArrow m b d -> ListTArrow m c d -> ListTArrow m (Either b c) d #

Monad m => ArrowApply (ListTArrow m) # 

Methods

app :: ListTArrow m (ListTArrow m b c, b) c #

Monad m => ArrowList (ListTArrow m) # 

Methods

arrL :: (a -> [b]) -> ListTArrow m a b #

mapL :: ([b] -> [c]) -> ListTArrow m a b -> ListTArrow m a c #

Monad m => Category * (ListTArrow m) # 

Methods

id :: cat a a #

(.) :: cat b c -> cat a b -> cat a c #

runListTArrow :: ListTArrow m a b -> a -> m [b] #

List arrow.

runListArrow :: ListArrow a b -> a -> [b] #

Embed a monadic function returning lists.

arrML :: (ArrowList arr, ArrowKleisli m arr) => (a -> m [b]) -> a `arr` b #