Hoogle Search
Within LTS Haskell 24.25 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f cghc-lib GHC.HsToCore.Monad Lift a binary function to actions. Some functors support an implementation of liftA2 that is more efficient than the default one. In particular, if fmap is an expensive operation, it is likely better to use liftA2 than to fmap over the structure and then use <*>. This became a typeclass method in 4.10.0.0. Prior to that, it was a function defined in terms of <*> and fmap.
Example
>>> liftA2 (,) (Just 3) (Just 5) Just (3,5)
>>> liftA2 (+) [1, 2, 3] [4, 5, 6] [5,6,7,6,7,8,7,8,9]
liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f cverset Verset Lift a binary function to actions. Some functors support an implementation of liftA2 that is more efficient than the default one. In particular, if fmap is an expensive operation, it is likely better to use liftA2 than to fmap over the structure and then use <*>. This became a typeclass method in 4.10.0.0. Prior to that, it was a function defined in terms of <*> and fmap.
Example
>>> liftA2 (,) (Just 3) (Just 5) Just (3,5)
>>> liftA2 (+) [1, 2, 3] [4, 5, 6] [5,6,7,6,7,8,7,8,9]
liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f cxmonad-contrib XMonad.Config.Prime Lift a binary function to actions. Some functors support an implementation of liftA2 that is more efficient than the default one. In particular, if fmap is an expensive operation, it is likely better to use liftA2 than to fmap over the structure and then use <*>. This became a typeclass method in 4.10.0.0. Prior to that, it was a function defined in terms of <*> and fmap.
Example
>>> liftA2 (,) (Just 3) (Just 5) Just (3,5)
>>> liftA2 (+) [1, 2, 3] [4, 5, 6] [5,6,7,6,7,8,7,8,9]
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m rbase Control.Monad Promote a function to a monad, scanning the monadic arguments from left to right.
Examples
>>> liftM2 (+) [0,1] [0,2] [0,2,1,3]
>>> liftM2 (+) (Just 1) Nothing Nothing
>>> liftM2 (+) (+ 3) (* 2) 5 18
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m rbase GHC.Base Promote a function to a monad, scanning the monadic arguments from left to right.
Examples
>>> liftM2 (+) [0,1] [0,2] [0,2,1,3]
>>> liftM2 (+) (Just 1) Nothing Nothing
>>> liftM2 (+) (+ 3) (* 2) 5 18
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m rrio RIO.Prelude Promote a function to a monad, scanning the monadic arguments from left to right.
Examples
>>> liftM2 (+) [0,1] [0,2] [0,2,1,3]
>>> liftM2 (+) (Just 1) Nothing Nothing
>>> liftM2 (+) (+ 3) (* 2) 5 18
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m rCabal-syntax Distribution.Compat.Prelude No documentation available.
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m rstreaming Streaming Promote a function to a monad, scanning the monadic arguments from left to right.
Examples
>>> liftM2 (+) [0,1] [0,2] [0,2,1,3]
>>> liftM2 (+) (Just 1) Nothing Nothing
>>> liftM2 (+) (+ 3) (* 2) 5 18
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m rbase-compat-batteries Control.Monad.Compat Promote a function to a monad, scanning the monadic arguments from left to right.
Examples
>>> liftM2 (+) [0,1] [0,2] [0,2,1,3]
>>> liftM2 (+) (Just 1) Nothing Nothing
>>> liftM2 (+) (+ 3) (* 2) 5 18
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m rghc-internal GHC.Internal.Base Promote a function to a monad, scanning the monadic arguments from left to right.
Examples
>>> liftM2 (+) [0,1] [0,2] [0,2,1,3]
>>> liftM2 (+) (Just 1) Nothing Nothing
>>> liftM2 (+) (+ 3) (* 2) 5 18