Spec-Zone.ru › Haskell 8

Control.Monad.Zip

Авторские права (c) Nils Schweinsberg 2011
(c) George Giorgidze 2011
(c) Университет Тюбингена 2011
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Поддержка libraries@haskell.org
Стабильность экспериментальная
Переносимость переносимая
Безопасный Haskell Безопасный
Язык Haskell2010

Описание

Монадное сжатие (используется для монадных включений)

class Monad m => MonadZip m where Исходный код

Примеры должны удовлетворять законам:

Естественность
liftM (f *** g) (mzip ma mb)
    = mzip (liftM f ma) (liftM g mb)
Сохранение информации

liftM (const ()) ma = liftM (const ()) mb подразумевает munzip (mzip ma mb) = (ma, mb)

Минимальное полное определение

mzip | mzipWith

Методы

mzip :: m a -> m b -> m (a, b) Исходный код

mzipWith :: (a -> b -> c) -> m a -> m b -> m c Исходный код

munzip :: m (a, b) -> (m a, m b) Исходный код

Примеры
Подробности примеров
MonadZip []

Since: base-4.3.1.0

Информация об экземпляре

Определено в Control.Monad.Zip

Методы

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

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

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

MonadZip Maybe

Since: base-4.8.0.0

Информация об экземпляре

Определено в Control.Monad.Zip

Методы

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

mzipWith :: (a -> b -> c) -> Maybe a -> Maybe b -> Maybe c Source

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

MonadZip Par1

Since: base-4.9.0.0

Информация об экземпляре

Определено в Control.Monad.Zip

Методы

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

mzipWith :: (a -> b -> c) -> Par1 a -> Par1 b -> Par1 c Source

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

MonadZip NonEmpty

Since: base-4.9.0.0

Информация об экземпляре

Определено в Control.Monad.Zip

Методы

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

mzipWith :: (a -> b -> c) -> NonEmpty a -> NonEmpty b -> NonEmpty c Source

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

MonadZip Down

Since: base-4.12.0.0

Информация об экземпляре

Определено в Control.Monad.Zip

Методы

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

mzipWith :: (a -> b -> c) -> Down a -> Down b -> Down c Source

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

MonadZip Product

Since: base-4.8.0.0

Информация об экземпляре

Определено в Control.Monad.Zip

Методы

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

mzipWith :: (a -> b -> c) -> Product a -> Product b -> Product c Source

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

MonadZip Sum

Since: base-4.8.0.0

Информация об экземпляре

Определено в Control.Monad.Zip

Методы

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

mzipWith :: (a -> b -> c) -> Sum a -> Sum b -> Sum c Source

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

MonadZip Dual

Since: base-4.8.0.0

Instance details

Defined in Control.Monad.Zip

Methods

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

mzipWith :: (a -> b -> c) -> Dual a -> Dual b -> Dual c Source

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

MonadZip Last

Since: base-4.8.0.0

Instance details

Defined in Control.Monad.Zip

Methods

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

mzipWith :: (a -> b -> c) -> Last a -> Last b -> Last c Source

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

MonadZip First

Since: base-4.8.0.0

Instance details

Defined in Control.Monad.Zip

Methods

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

mzipWith :: (a -> b -> c) -> First a -> First b -> First c Source

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

MonadZip Identity

Since: base-4.8.0.0

Instance details

Defined in Control.Monad.Zip

Methods

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

mzipWith :: (a -> b -> c) -> Identity a -> Identity b -> Identity c Source

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

MonadZip (U1 :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Control.Monad.Zip

Methods

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

mzipWith :: (a -> b -> c) -> U1 a -> U1 b -> U1 c Source

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

MonadZip (Proxy :: Type -> Type)

Since: base-4.9.0.0

Instance details

Defined in Control.Monad.Zip

Methods

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

mzipWith :: (a -> b -> c) -> Proxy a -> Proxy b -> Proxy c Source

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

MonadZip f => MonadZip (Rec1 f)

Since: base-4.9.0.0

Подробности экземпляра

Определено в Control.Monad.Zip

Методы

mzip :: Rec1 f a -> Rec1 f b -> Rec1 f (a, b) Исходный код

mzipWith :: (a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c Исходный код

munzip :: Rec1 f (a, b) -> (Rec1 f a, Rec1 f b) Исходный код

MonadZip f => MonadZip (Alt f)

С момента: base-4.8.0.0

Подробности экземпляра

Определено в Control.Monad.Zip

Методы

mzip :: Alt f a -> Alt f b -> Alt f (a, b) Исходный код

mzipWith :: (a -> b -> c) -> Alt f a -> Alt f b -> Alt f c Исходный код

munzip :: Alt f (a, b) -> (Alt f a, Alt f b) Исходный код

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

С момента: base-4.9.0.0

Подробности экземпляра

Определено в Control.Monad.Zip

Методы

mzip :: (f :*: g) a -> (f :*: g) b -> (f :*: g) (a, b) Исходный код

mzipWith :: (a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c Исходный код

munzip :: (f :*: g) (a, b) -> ((f :*: g) a, (f :*: g) b) Исходный код

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

С момента: base-4.9.0.0

Подробности экземпляра

Определено в Data.Functor.Product

Методы

mzip :: Product f g a -> Product f g b -> Product f g (a, b) Исходный код

mzipWith :: (a -> b -> c) -> Product f g a -> Product f g b -> Product f g c Исходный код

munzip :: Product f g (a, b) -> (Product f g a, Product f g b) Исходный код

MonadZip f => MonadZip (M1 i c f)

С момента: base-4.9.0.0

Подробности экземпляра

Определено в Control.Monad.Zip

Методы

mzip :: M1 i c f a -> M1 i c f b -> M1 i c f (a, b) Исходный код

mzipWith :: (a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 Исходный код

munzip :: M1 i c f (a, b) -> (M1 i c f a, M1 i c f b) Исходный код

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/Control-Monad-Zip.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API