-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Some common point-free combinators. -- -- Some common point-free combinators. @package pointless-fun @version 1.1.0 -- | Pointless fun :) module Data.Function.Pointless -- | Lift a function for multicomposition. This is like the :: of -- a type signature. ($::) :: (a -> b) -> ((a -> b) -> (c -> d)) -> (c -> d) -- | Multicompose a function on the appropriate argument. This is like the -- -> arrows in a type signature. (~>) :: (a -> b) -> (c -> d) -> ((b -> c) -> (a -> d)) -- | Multicompose a function on the appropriate argument, calling the left -- function eagerly. That is, the resulting function will be strict in -- a if the left argument is strict in a (assuming the -- final function of the multicomposition, the one applied to the return -- value, is also strict). (!~>) :: (a -> b) -> (c -> d) -> ((b -> c) -> (a -> d)) -- | Binary composition: pass two args to the right argument before -- composing. -- --
--   (f .: g) x y = f (g x y)
--   
-- -- or, -- --
--   f .: g = curry (f . uncurry g)
--   
-- -- This is the same as the common idiom (f .) . g but more -- easily extended to multiple uses, due to the fixity declaration. (.:) :: (c -> d) -> (a -> b -> c) -> (a -> b -> d) -- | Secondary composition: compose the right argument on the second arg of -- the left argument. -- --
--   (f .^ g) x y = f x (g y)
--   
(.^) :: (a -> c -> d) -> (b -> c) -> (a -> b -> d) -- | Function composition which calls the right-hand function eagerly; -- i.e., making the left-hand function strict in its first argument. -- --
--   (f .! g) x = f $! g x
--   
-- -- This defines the composition for the sub-category of strict Haskell -- functions. If the Functor class were parameterized by the -- domain and codomain categories (e.g., a regular Functor f -- would be CFunctor (->) (->) f instead) then this would -- allow us to define functors CFunctor (->) (!->) f where -- fmap f . fmap g = fmap (f .! g). (.!) :: (b -> c) -> (a -> b) -> a -> c