Data.Functor.Product
| Авторские права | (c) Ross Paterson 2010 |
|---|---|
| Лицензия | BSD-style (см. файл LICENSE) |
| Сопровождающий | libraries@haskell.org |
| Стабильность | стабильный |
| Переносимость | переносимый |
| Безопасный Haskell | Safe |
| Язык | Haskell2010 |
Описание
Произведения, поднятые до функторов.
Начиная с: base-4.9.0.0
data Product (f :: k -> Type) (g :: k -> Type) (a :: k) Source
Поднятое произведение функторов.
Примеры
>>> fmap (+1) (Pair [1, 2, 3] (Just 0)) Pair [2,3,4] (Just 1)
>>> Pair "Hello, " (Left 'x') <> Pair "World" (Right 'y') Pair "Hello, World" (Right 'y')
Конструкторы
| Pair (f a) (g a) |
Экземпляры
| (MonadFix f, MonadFix g) => MonadFix (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыmfix :: (a -> Product f g a) -> Product f g a Исходный код | |
| (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) Исходный код | |
| (Foldable f, Foldable g) => Foldable (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыfold :: Monoid m => Product f g m -> m Исходный код foldMap :: Monoid m => (a -> m) -> Product f g a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> Product f g a -> m Исходный код foldr :: (a -> b -> b) -> b -> Product f g a -> b Исходный код foldr' :: (a -> b -> b) -> b -> Product f g a -> b Исходный код foldl :: (b -> a -> b) -> b -> Product f g a -> b Исходный код foldl' :: (b -> a -> b) -> b -> Product f g a -> b Исходный код foldr1 :: (a -> a -> a) -> Product f g a -> a Исходный код foldl1 :: (a -> a -> a) -> Product f g a -> a Исходный код toList :: Product f g a -> [a] Исходный код null :: Product f g a -> Bool Исходный код length :: Product f g a -> Int Исходный код elem :: Eq a => a -> Product f g a -> Bool Исходный код maximum :: Ord a => Product f g a -> a Исходный код minimum :: Ord a => Product f g a -> a Исходный код sum :: Num a => Product f g a -> a Исходный код product :: Num a => Product f g a -> a Исходный код | |
| (Traversable f, Traversable g) => Traversable (Product f g) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыtraverse :: Applicative f0 => (a -> f0 b) -> Product f g a -> f0 (Product f g b) Исходный код sequenceA :: Applicative f0 => Product f g (f0 a) -> f0 (Product f g a) Исходный код mapM :: Monad m => (a -> m b) -> Product f g a -> m (Product f g b) Исходный код sequence :: Monad m => Product f g (m a) -> m (Product f g a) Исходный код | |
| (Monoid (f a), Monoid (g a)) => Monoid (Product f g a) Исходный код | Начиная с: base-4.16.0.0 |
Определено в Data.Functor.Product Методыmempty :: Product f g a Исходный код mappend :: Product f g a -> Product f g a -> Product f g a Исходный код mconcat :: [Product f g a] -> Product f g a Исходный код | |
| (Semigroup (f a), Semigroup (g a)) => Semigroup (Product f g a) Исходный код | Начиная с: base-4.16.0.0 |
Определено в Data.Functor.Product Методы(<>) :: Product f g a -> Product f g a -> Product f g a Исходный код sconcat :: NonEmpty (Product f g a) -> Product f g a Исходный код stimes :: Integral b => b -> Product f g a -> Product f g a Исходный код | |
| (Eq (f a), Eq (g a)) => Eq (Product f g a) Исходный код | Начиная с: base-4.18.0.0 |
Определено в Data.Functor.Product Методы(==) :: Product f g a -> Product f g a -> Bool Исходный код (/=) :: Product f g a -> Product f g a -> Bool Исходный код | |
| (Ord (f a), Ord (g a)) => Ord (Product f g a) Исходный код | Начиная с: base-4.18.0.0 |
Определено в Data.Functor.Product Методыcompare :: Product f g a -> Product f g a -> Ordering Исходный код (<) :: Product f g a -> Product f g a -> Bool Исходный код (<=) :: Product f g a -> Product f g a -> Bool Исходный код (>) :: Product f g a -> Product f g a -> Bool Исходный код (>=) :: Product f g a -> Product f g a -> Bool Исходный код max :: Product f g a -> Product f g a -> Product f g a Исходный код min :: Product f g a -> Product f g a -> Product f g a Исходный код | |
| (Typeable a, Typeable f, Typeable g, Typeable k, Data (f a), Data (g a)) => Data (Product f g a) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Functor.Product Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g0. g0 -> c g0) -> Product f g a -> c (Product f g a) Источник gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Product f g a) Источник toConstr :: Product f g a -> Constr Источник dataTypeOf :: Product f g a -> DataType Источник dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Product f g a)) Источник dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Product f g a)) Источник gmapT :: (forall b. Data b => b -> b) -> Product f g a -> Product f g a Источник gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Product f g a -> r Источник gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Product f g a -> r Источник gmapQ :: (forall d. Data d => d -> u) -> Product f g a -> [u] Источник gmapQi :: Int -> (forall d. Data d => d -> u) -> Product f g a -> u Источник gmapM :: Monad m => (forall d. Data d => d -> m d) -> Product f g a -> m (Product f g a) Источник gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Product f g a -> m (Product f g a) Источник gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Product f g a -> m (Product f g a) Источник | |||||
| Generic (Product f g a) Источник | |||||
Определено в Data.Functor.Product Связанные типы
| |||||
| (Read (f a), Read (g a)) => Read (Product f g a) Источник | Начиная с: base-4.18.0.0 |
||||
| (Show (f a), Show (g a)) => Show (Product f g a) Источник | Начиная с: base-4.18.0.0 |
||||
| type Rep1 (Product f g :: k -> Type) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в Data.Functor.Product type Rep1 (Product f g :: k -> Type) = D1 ('MetaData "Product" "Data.Functor.Product" "base-4.22.0.0-66f8" 'False) (C1 ('MetaCons "Pair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 g))) | |||||
| type Rep (Product f g a) Источник | Начиная с: base-4.9.0.0 |
||||
Определено в Data.Functor.Product type Rep (Product f g a) = D1 ('MetaData "Product" "Data.Functor.Product" "base-4.22.0.0-66f8" 'False) (C1 ('MetaCons "Pair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (g a)))) | |||||
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/Data-Functor-Product.html