Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
This modules defines the composition of an applicative functor and an arrow, which is always an arrow.
Documentation
newtype AppArrow app arr a b Source #
AppArrow | |
|
Instances
(Applicative app, ArrowError ex (AppArrow app (arr eff ex)), ArrowFlow eff ex (arr eff ex)) => ArrowFlow eff ex (AppArrow app (arr eff ex)) Source # | |
Defined in Control.Funflow.Class step' :: Properties a b -> (a -> b) -> AppArrow app (arr eff ex) a b Source # stepIO' :: Properties a b -> (a -> IO b) -> AppArrow app (arr eff ex) a b Source # external :: (a -> ExternalTask) -> AppArrow app (arr eff ex) a Item Source # external' :: ExternalProperties a -> (a -> ExternalTask) -> AppArrow app (arr eff ex) a Item Source # wrap' :: Properties a b -> eff a b -> AppArrow app (arr eff ex) a b Source # putInStore :: ContentHashable IO a => (Path Abs Dir -> a -> IO ()) -> AppArrow app (arr eff ex) a Item Source # getFromStore :: (Path Abs t -> IO a) -> AppArrow app (arr eff ex) (Content t) a Source # internalManipulateStore :: (ContentStore -> a -> IO b) -> AppArrow app (arr eff ex) a b Source # | |
(ArrowError ex arr, Monoid w) => ArrowError ex (AppArrow (Writer w) arr :: Type -> Type -> Type) Source # | |
(ArrowError ex arr, Monoid w) => ArrowError ex (AppArrow (Writer w) arr :: Type -> Type -> Type) Source # | |
ArrowError ex arr => ArrowError ex (AppArrow (Reader r) arr :: Type -> Type -> Type) Source # | |
(Applicative app, Category cat) => Category (AppArrow app cat :: Type -> Type -> Type) Source # | |
(Applicative app, Arrow arr) => Arrow (AppArrow app arr) Source # | |
Defined in Control.Arrow.AppArrow arr :: (b -> c) -> AppArrow app arr b c # first :: AppArrow app arr b c -> AppArrow app arr (b, d) (c, d) # second :: AppArrow app arr b c -> AppArrow app arr (d, b) (d, c) # (***) :: AppArrow app arr b c -> AppArrow app arr b' c' -> AppArrow app arr (b, b') (c, c') # (&&&) :: AppArrow app arr b c -> AppArrow app arr b c' -> AppArrow app arr b (c, c') # | |
(Applicative app, ArrowChoice arr) => ArrowChoice (AppArrow app arr) Source # | |
Defined in Control.Arrow.AppArrow left :: AppArrow app arr b c -> AppArrow app arr (Either b d) (Either c d) # right :: AppArrow app arr b c -> AppArrow app arr (Either d b) (Either d c) # (+++) :: AppArrow app arr b c -> AppArrow app arr b' c' -> AppArrow app arr (Either b b') (Either c c') # (|||) :: AppArrow app arr b d -> AppArrow app arr c d -> AppArrow app arr (Either b c) d # | |
(Applicative f, Arrow arr) => Functor (AppArrow f arr t) Source # | |
(Applicative app, Arrow arr) => Applicative (AppArrow app arr t) Source # | |
Defined in Control.Arrow.AppArrow pure :: a -> AppArrow app arr t a # (<*>) :: AppArrow app arr t (a -> b) -> AppArrow app arr t a -> AppArrow app arr t b # liftA2 :: (a -> b -> c) -> AppArrow app arr t a -> AppArrow app arr t b -> AppArrow app arr t c # (*>) :: AppArrow app arr t a -> AppArrow app arr t b -> AppArrow app arr t b # (<*) :: AppArrow app arr t a -> AppArrow app arr t b -> AppArrow app arr t a # |
appArrow :: Applicative app => arr a b -> AppArrow app arr a b Source #