Portability | portable |
---|---|

Stability | experimental |

Maintainer | libraries@haskell.org |

Safe Haskell | Safe |

Monadic zipping (used for monad comprehensions)

# 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)

MonadZip [] |