CurryInfo: base-3.4.0 / Control.Monad.mapAndUnzipM

definition: Info
 
mapAndUnzipM :: (Applicative m) => (a -> m (b,c)) -> [a] -> m ([b], [c])
mapAndUnzipM f xs =  unzip <$> sequenceA (map f xs)
demand: Info
 argument 1
deterministic: Info
 deterministic operation
documentation: Info
 
The 'mapAndUnzipM' function maps its first argument over a list, returning
the result as a pair of lists. This function is mainly used with complicated
data structures or a state-transforming monad.
failfree: Info
 (_, _, _)
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {(_,_,_) |-> _}
name: Info
 mapAndUnzipM
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 Prelude.Applicative b => (a -> b (c, d)) -> [a] -> b ([c], [d])
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 yes
totally-defined: Info
 reducible on all ground data terms