Data.Functor.Product (original) (raw)

Generic1 (Product f g :: k -> Type) Source #

Instance details

Defined in Data.Functor.Product

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

It would be enough for either half of a product to be [Foldable1](Data-Foldable1.html#t:Foldable1 "Data.Foldable1"). Other could be [Foldable](Data-Foldable.html#t:Foldable "Data.Foldable").

Instance details

Defined in Data.Foldable1

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Instance details

Defined in Data.Functor.Contravariant

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

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

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

(Monoid (f a), Monoid (g a)) => Monoid (Product f g a) Source #

Since: base-4.16.0.0

Instance details

Defined in Data.Functor.Product

(Semigroup (f a), Semigroup (g a)) => Semigroup (Product f g a) Source #

Since: base-4.16.0.0

Instance details

Defined in Data.Functor.Product

(Typeable a, Typeable f, Typeable g, Typeable k, Data (f a), Data (g a)) => Data (Product f g a) Source #

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

Generic (Product f g a) Source #

Instance details

Defined in Data.Functor.Product

(Read (f a), Read (g a)) => Read (Product f g a) Source #

Since: base-4.18.0.0

Instance details

Defined in Data.Functor.Product

(Show (f a), Show (g a)) => Show (Product f g a) Source #

Since: base-4.18.0.0

Instance details

Defined in Data.Functor.Product

(Eq (f a), Eq (g a)) => Eq (Product f g a) Source #

Since: base-4.18.0.0

Instance details

Defined in Data.Functor.Product

(Ord (f a), Ord (g a)) => Ord (Product f g a) Source #

Since: base-4.18.0.0

Instance details

Defined in Data.Functor.Product

type Rep1 (Product f g :: k -> Type) Source #

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product

type Rep (Product f g a) Source #

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Product