-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Monad-style combinators for functors. -- @package functor-monadic @version 0.1.0.2 -- | Helper functions for functors. -- -- These operators are designed to make the interoperation between -- monadic and pure computations more convenient by allowing them to be -- chained together without peppering the program with superflouos return -- statements. -- -- Each function is a pure analogue of a monadic one. The correspondences -- are as follows: -- -- -- -- In addition, |> and .> are the left-to-right -- versions of $ and ., respectively. module Data.Functor.Monadic -- | Flipped fmap for chaining plain functions after a functor in -- the following way: -- --
--   readFile '1.txt' >$> lines >$> map length >>= print
--   
-- -- lines and map length are non-monadic functions, but -- peppering them with returns, as pure >>= necessitates, is -- quite tedious. -- -- In general: -- --
--   m >>= return . f   is the same as   m >$> f
--   
(>$>) :: Functor f => f a -> (a -> b) -> f b -- | Left-associatiative, flipped $>. Corresponds to -- >> ($>) :: Functor f => f b -> a -> f a -- | Right-associative infix synonym for fmap. (<$<) :: Functor f => (a -> b) -> f a -> f b -- | Application of >$> to Kleisli composition -- >=> Use is analogous to that of >$>, e.g. -- --
--   f :: FilePath -> IO ()
--   f = (readFile >=$> lines >=$> map length >=> print)
--   
--   
-- -- In general: -- --
--   m >=$> f   is the same as   m >=> return . f
--   
--   
(>=$>) :: Functor f => (a -> f b) -> (b -> c) -> a -> f c -- | Flipped version of >=$>. (<$=<) :: Functor f => (b -> c) -> (a -> f b) -> a -> f c -- | Flipped version of $. (|>) :: a -> (a -> b) -> b -- | Flipped version .. (.>) :: (a -> b) -> (b -> c) -> (a -> c)