Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
class Monad m => MonadZip (m :: * -> *) where #
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)