base-4.7.0.0: Basic libraries

Copyright(c) Nils Schweinsberg 2011, (c) George Giorgidze 2011 (c) University Tuebingen 2011
License(c) Nils Schweinsberg 2011, (c) George Giorgidze 2011 (c) University Tuebingen 2011
Maintainerlibraries@haskell.org
Stabilityexperimental
Portabilityportable
Safe HaskellSafe

Control.Monad.Zip

Description

Monadic zipping (used for monad comprehensions)

Synopsis

Documentation

class Monad m => MonadZip m whereSource

MonadZip type class. Minimal definition: mzip or mzipWith

Instances should satisfy the laws:

  • Naturality :
 liftM (f *** g) (mzip ma mb) = mzip (liftM f ma) (liftM g mb)
  • Information Preservation:
 liftM (const ()) ma = liftM (const ()) mb
 ==>
 munzip (mzip ma mb) = (ma, mb)

Methods

mzip :: m a -> m b -> m (a, b)Source

mzipWith :: (a -> b -> c) -> m a -> m b -> m cSource

munzip :: m (a, b) -> (m a, m b)Source

Instances