CurryInfo: base-3.4.0 / Prelude.liftM2

definition: Info
 
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r
liftM2 f m1 m2 = do
  x1 <- m1
  x2 <- m2
  return (f x1 x2)
demand: Info
 argument 1
deterministic: Info
 deterministic operation
documentation: Info
 
Promotes a binary function to a monad.
The function arguments are scanned from left to right.
For instance, `liftM2 (+) [1,2] [3,4]` evaluates to `[4,5,5,6]`, and
`liftM2 (,) [1,2] [3,4]` evaluates to `[(1,3),(1,4),(2,3),(2,4)]`.
failfree: Info
 (_, _, _, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_,_,_) |-> _}
name: Info
 liftM2
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 Monad d => (a -> b -> c) -> d a -> d b -> d c
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 yes
totally-defined: Info
 reducible on all ground data terms