Movatterモバイル変換


[0]ホーム

URL:


base-4.12.0.0: Basic libraries

Copyright(c) Nils Schweinsberg 2011
(c) George Giorgidze 2011
(c) University Tuebingen 2011
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Control.Monad.Zip

Description

Monadic zipping (used for monad comprehensions)

Synopsis

Documentation

classMonad m =>MonadZip mwhereSource#

MonadZip type class. Minimal definition:mzip ormzipWith

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)

Minimal complete definition

mzip |mzipWith

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
MonadZip []Source#

Since: 4.3.1.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip :: [a] -> [b] -> [(a, b)]Source#

mzipWith :: (a -> b -> c) -> [a] -> [b] -> [c]Source#

munzip :: [(a, b)] -> ([a], [b])Source#

MonadZipMaybeSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Maybe a ->Maybe b ->Maybe (a, b)Source#

mzipWith :: (a -> b -> c) ->Maybe a ->Maybe b ->Maybe cSource#

munzip ::Maybe (a, b) -> (Maybe a,Maybe b)Source#

MonadZipPar1Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Par1 a ->Par1 b ->Par1 (a, b)Source#

mzipWith :: (a -> b -> c) ->Par1 a ->Par1 b ->Par1 cSource#

munzip ::Par1 (a, b) -> (Par1 a,Par1 b)Source#

MonadZipNonEmptySource#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::NonEmpty a ->NonEmpty b ->NonEmpty (a, b)Source#

mzipWith :: (a -> b -> c) ->NonEmpty a ->NonEmpty b ->NonEmpty cSource#

munzip ::NonEmpty (a, b) -> (NonEmpty a,NonEmpty b)Source#

MonadZipDownSource#

Since: 4.12.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Down a ->Down b ->Down (a, b)Source#

mzipWith :: (a -> b -> c) ->Down a ->Down b ->Down cSource#

munzip ::Down (a, b) -> (Down a,Down b)Source#

MonadZipProductSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Product a ->Product b ->Product (a, b)Source#

mzipWith :: (a -> b -> c) ->Product a ->Product b ->Product cSource#

munzip ::Product (a, b) -> (Product a,Product b)Source#

MonadZipSumSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Sum a ->Sum b ->Sum (a, b)Source#

mzipWith :: (a -> b -> c) ->Sum a ->Sum b ->Sum cSource#

munzip ::Sum (a, b) -> (Sum a,Sum b)Source#

MonadZipDualSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Dual a ->Dual b ->Dual (a, b)Source#

mzipWith :: (a -> b -> c) ->Dual a ->Dual b ->Dual cSource#

munzip ::Dual (a, b) -> (Dual a,Dual b)Source#

MonadZipLastSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Last a ->Last b ->Last (a, b)Source#

mzipWith :: (a -> b -> c) ->Last a ->Last b ->Last cSource#

munzip ::Last (a, b) -> (Last a,Last b)Source#

MonadZipFirstSource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::First a ->First b ->First (a, b)Source#

mzipWith :: (a -> b -> c) ->First a ->First b ->First cSource#

munzip ::First (a, b) -> (First a,First b)Source#

MonadZipIdentitySource#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Identity a ->Identity b ->Identity (a, b)Source#

mzipWith :: (a -> b -> c) ->Identity a ->Identity b ->Identity cSource#

munzip ::Identity (a, b) -> (Identity a,Identity b)Source#

MonadZip (U1 ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::U1 a ->U1 b ->U1 (a, b)Source#

mzipWith :: (a -> b -> c) ->U1 a ->U1 b ->U1 cSource#

munzip ::U1 (a, b) -> (U1 a,U1 b)Source#

MonadZip (Proxy ::Type ->Type)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Proxy a ->Proxy b ->Proxy (a, b)Source#

mzipWith :: (a -> b -> c) ->Proxy a ->Proxy b ->Proxy cSource#

munzip ::Proxy (a, b) -> (Proxy a,Proxy b)Source#

MonadZip f =>MonadZip (Rec1 f)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Rec1 f a ->Rec1 f b ->Rec1 f (a, b)Source#

mzipWith :: (a -> b -> c) ->Rec1 f a ->Rec1 f b ->Rec1 f cSource#

munzip ::Rec1 f (a, b) -> (Rec1 f a,Rec1 f b)Source#

MonadZip f =>MonadZip (Alt f)Source#

Since: 4.8.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::Alt f a ->Alt f b ->Alt f (a, b)Source#

mzipWith :: (a -> b -> c) ->Alt f a ->Alt f b ->Alt f cSource#

munzip ::Alt f (a, b) -> (Alt f a,Alt f b)Source#

(MonadZip f,MonadZip g) =>MonadZip (f:*: g)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip :: (f:*: g) a -> (f:*: g) b -> (f:*: g) (a, b)Source#

mzipWith :: (a -> b -> c) -> (f:*: g) a -> (f:*: g) b -> (f:*: g) cSource#

munzip :: (f:*: g) (a, b) -> ((f:*: g) a, (f:*: g) b)Source#

(MonadZip f,MonadZip g) =>MonadZip (Product f g)Source#

Since: 4.9.0.0

Instance details

Defined inData.Functor.Product

Methods

mzip ::Product f g a ->Product f g b ->Product f g (a, b)Source#

mzipWith :: (a -> b -> c) ->Product f g a ->Product f g b ->Product f g cSource#

munzip ::Product f g (a, b) -> (Product f g a,Product f g b)Source#

MonadZip f =>MonadZip (M1 i c f)Source#

Since: 4.9.0.0

Instance details

Defined inControl.Monad.Zip

Methods

mzip ::M1 i c f a ->M1 i c f b ->M1 i c f (a, b)Source#

mzipWith :: (a -> b -> c0) ->M1 i c f a ->M1 i c f b ->M1 i c f c0Source#

munzip ::M1 i c f (a, b) -> (M1 i c f a,M1 i c f b)Source#

Produced byHaddock version 2.20.0


[8]ページ先頭

©2009-2025 Movatter.jp