accelerate-1.2.0.1: An embedded language for accelerated array processing

Copyright[2016..2017] Trevor L. McDonell
LicenseBSD3
MaintainerTrevor L. McDonell <tmcdonell@cse.unsw.edu.au>
Stabilityexperimental
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Data.Array.Accelerate.Data.Monoid

Contents

Description

Monoid instances for Accelerate

Since: 1.2.0.0

Synopsis

Documentation

class Semigroup a => Monoid a where #

The class of monoids (types with an associative binary operation that has an identity). Instances should satisfy the following laws:

The method names refer to the monoid of lists under concatenation, but there are many other instances.

Some types can be viewed as a monoid in more than one way, e.g. both addition and multiplication on numbers. In such cases we often define newtypes and make those instances of Monoid, e.g. Sum and Product.

NOTE: Semigroup is a superclass of Monoid since base-4.11.0.0.

Minimal complete definition

mempty

Methods

mempty :: a #

Identity of mappend

mappend :: a -> a -> a #

An associative operation

NOTE: This method is redundant and has the default implementation mappend = '(<>)' since base-4.11.0.0.

mconcat :: [a] -> a #

Fold a list using the monoid.

For most types, the default definition for mconcat will be used, but the function is included in the class definition so that an optimized version can be provided for specific types.

Instances
Monoid Ordering

Since: base-2.1

Instance details

Defined in GHC.Base

Monoid ()

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: () #

mappend :: () -> () -> () #

mconcat :: [()] -> () #

Monoid Doc 
Instance details

Defined in Text.PrettyPrint.ANSI.Leijen.Internal

Methods

mempty :: Doc #

mappend :: Doc -> Doc -> Doc #

mconcat :: [Doc] -> Doc #

Monoid All

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

mempty :: All #

mappend :: All -> All -> All #

mconcat :: [All] -> All #

Monoid Any

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

mempty :: Any #

mappend :: Any -> Any -> Any #

mconcat :: [Any] -> Any #

Monoid String 
Instance details

Defined in Basement.UTF8.Base

Monoid ShortByteString 
Instance details

Defined in Data.ByteString.Short.Internal

Monoid ByteString 
Instance details

Defined in Data.ByteString.Lazy.Internal

Monoid ByteString 
Instance details

Defined in Data.ByteString.Internal

Monoid Builder 
Instance details

Defined in Data.ByteString.Builder.Internal

Monoid IntSet 
Instance details

Defined in Data.IntSet.Internal

Monoid ParseError 
Instance details

Defined in Options.Applicative.Types

Monoid Completer 
Instance details

Defined in Options.Applicative.Types

Monoid Doc 
Instance details

Defined in Text.PrettyPrint.HughesPJ

Methods

mempty :: Doc #

mappend :: Doc -> Doc -> Doc #

mconcat :: [Doc] -> Doc #

Monoid ByteArray 
Instance details

Defined in Data.Primitive.ByteArray

Monoid OptionSet

Later options override earlier ones

Instance details

Defined in Test.Tasty.Options

Monoid Slot 
Instance details

Defined in Data.HashTable.ST.Basic

Methods

mempty :: Slot #

mappend :: Slot -> Slot -> Slot #

mconcat :: [Slot] -> Slot #

a :=> (Monoid (Dict a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: a :- Monoid (Dict a) #

() :=> (Monoid [a]) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Monoid [a] #

() :=> (Monoid Ordering) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Monoid Ordering #

() :=> (Monoid ()) 
Instance details

Defined in Data.Constraint

Methods

ins :: () :- Monoid () #

Monoid [a]

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: [a] #

mappend :: [a] -> [a] -> [a] #

mconcat :: [[a]] -> [a] #

Semigroup a => Monoid (Maybe a)

Lift a semigroup into Maybe forming a Monoid according to http://en.wikipedia.org/wiki/Monoid: "Any semigroup S may be turned into a monoid simply by adjoining an element e not in S and defining e*e = e and e*s = s = s*e for all s ∈ S."

Since 4.11.0: constraint on inner a value generalised from Monoid to Semigroup.

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: Maybe a #

mappend :: Maybe a -> Maybe a -> Maybe a #

mconcat :: [Maybe a] -> Maybe a #

Monoid a => Monoid (IO a)

Since: base-4.9.0.0

Instance details

Defined in GHC.Base

Methods

mempty :: IO a #

mappend :: IO a -> IO a -> IO a #

mconcat :: [IO a] -> IO a #

Monoid p => Monoid (Par1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: Par1 p #

mappend :: Par1 p -> Par1 p -> Par1 p #

mconcat :: [Par1 p] -> Par1 p #

Monoid (Predicate a) 
Instance details

Defined in Data.Functor.Contravariant

Monoid (Comparison a) 
Instance details

Defined in Data.Functor.Contravariant

Monoid (Equivalence a) 
Instance details

Defined in Data.Functor.Contravariant

(Ord a, Bounded a) => Monoid (Min a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

mempty :: Min a #

mappend :: Min a -> Min a -> Min a #

mconcat :: [Min a] -> Min a #

(Ord a, Bounded a) => Monoid (Max a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

mempty :: Max a #

mappend :: Max a -> Max a -> Max a #

mconcat :: [Max a] -> Max a #

Monoid m => Monoid (WrappedMonoid m)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Semigroup a => Monoid (Option a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup

Methods

mempty :: Option a #

mappend :: Option a -> Option a -> Option a #

mconcat :: [Option a] -> Option a #

Monoid a => Monoid (Identity a)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Identity

Methods

mempty :: Identity a #

mappend :: Identity a -> Identity a -> Identity a #

mconcat :: [Identity a] -> Identity a #

Monoid (First a)

Since: base-2.1

Instance details

Defined in Data.Monoid

Methods

mempty :: First a #

mappend :: First a -> First a -> First a #

mconcat :: [First a] -> First a #

Monoid (Last a)

Since: base-2.1

Instance details

Defined in Data.Monoid

Methods

mempty :: Last a #

mappend :: Last a -> Last a -> Last a #

mconcat :: [Last a] -> Last a #

Monoid a => Monoid (Dual a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

mempty :: Dual a #

mappend :: Dual a -> Dual a -> Dual a #

mconcat :: [Dual a] -> Dual a #

Monoid (Endo a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

mempty :: Endo a #

mappend :: Endo a -> Endo a -> Endo a #

mconcat :: [Endo a] -> Endo a #

Num a => Monoid (Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

mempty :: Sum a #

mappend :: Sum a -> Sum a -> Sum a #

mconcat :: [Sum a] -> Sum a #

Num a => Monoid (Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

mempty :: Product a #

mappend :: Product a -> Product a -> Product a #

mconcat :: [Product a] -> Product a #

Monoid a => Monoid (Down a)

Since: base-4.11.0.0

Instance details

Defined in Data.Ord

Methods

mempty :: Down a #

mappend :: Down a -> Down a -> Down a #

mconcat :: [Down a] -> Down a #

PrimType ty => Monoid (UArray ty) 
Instance details

Defined in Basement.UArray.Base

Methods

mempty :: UArray ty #

mappend :: UArray ty -> UArray ty -> UArray ty #

mconcat :: [UArray ty] -> UArray ty #

PrimType ty => Monoid (Block ty) 
Instance details

Defined in Basement.Block.Base

Methods

mempty :: Block ty #

mappend :: Block ty -> Block ty -> Block ty #

mconcat :: [Block ty] -> Block ty #

Monoid (CountOf ty) 
Instance details

Defined in Basement.Types.OffsetSize

Methods

mempty :: CountOf ty #

mappend :: CountOf ty -> CountOf ty -> CountOf ty #

mconcat :: [CountOf ty] -> CountOf ty #

Num a => Monoid (Colour a) 
Instance details

Defined in Data.Colour.Internal

Methods

mempty :: Colour a #

mappend :: Colour a -> Colour a -> Colour a #

mconcat :: [Colour a] -> Colour a #

Num a => Monoid (AlphaColour a) 
Instance details

Defined in Data.Colour.Internal

a => Monoid (Dict a) 
Instance details

Defined in Data.Constraint

Methods

mempty :: Dict a #

mappend :: Dict a -> Dict a -> Dict a #

mconcat :: [Dict a] -> Dict a #

Monoid (IntMap a) 
Instance details

Defined in Data.IntMap.Internal

Methods

mempty :: IntMap a #

mappend :: IntMap a -> IntMap a -> IntMap a #

mconcat :: [IntMap a] -> IntMap a #

Monoid (Seq a) 
Instance details

Defined in Data.Sequence.Internal

Methods

mempty :: Seq a #

mappend :: Seq a -> Seq a -> Seq a #

mconcat :: [Seq a] -> Seq a #

Ord a => Monoid (Set a) 
Instance details

Defined in Data.Set.Internal

Methods

mempty :: Set a #

mappend :: Set a -> Set a -> Set a #

mconcat :: [Set a] -> Set a #

Prim a => Monoid (Vector a) 
Instance details

Defined in Data.Vector.Primitive

Methods

mempty :: Vector a #

mappend :: Vector a -> Vector a -> Vector a #

mconcat :: [Vector a] -> Vector a #

Storable a => Monoid (Vector a) 
Instance details

Defined in Data.Vector.Storable

Methods

mempty :: Vector a #

mappend :: Vector a -> Vector a -> Vector a #

mconcat :: [Vector a] -> Vector a #

(Hashable a, Eq a) => Monoid (HashSet a) 
Instance details

Defined in Data.HashSet

Methods

mempty :: HashSet a #

mappend :: HashSet a -> HashSet a -> HashSet a #

mconcat :: [HashSet a] -> HashSet a #

Monoid (Vector a) 
Instance details

Defined in Data.Vector

Methods

mempty :: Vector a #

mappend :: Vector a -> Vector a -> Vector a #

mconcat :: [Vector a] -> Vector a #

Ord a => Monoid (Min a) 
Instance details

Defined in Control.Lens.Internal.Fold

Methods

mempty :: Min a #

mappend :: Min a -> Min a -> Min a #

mconcat :: [Min a] -> Min a #

Ord a => Monoid (Max a) 
Instance details

Defined in Control.Lens.Internal.Fold

Methods

mempty :: Max a #

mappend :: Max a -> Max a -> Max a #

mconcat :: [Max a] -> Max a #

Monoid (Leftmost a) 
Instance details

Defined in Control.Lens.Internal.Fold

Methods

mempty :: Leftmost a #

mappend :: Leftmost a -> Leftmost a -> Leftmost a #

mconcat :: [Leftmost a] -> Leftmost a #

Monoid (Rightmost a) 
Instance details

Defined in Control.Lens.Internal.Fold

Monoid (Doc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.HughesPJ

Methods

mempty :: Doc a #

mappend :: Doc a -> Doc a -> Doc a #

mconcat :: [Doc a] -> Doc a #

PrimUnlifted a => Monoid (UnliftedArray a)

Since: primitive-0.6.4.0

Instance details

Defined in Data.Primitive.UnliftedArray

Monoid (PrimArray a)

Since: primitive-0.6.4.0

Instance details

Defined in Data.Primitive.PrimArray

Monoid (SmallArray a) 
Instance details

Defined in Data.Primitive.SmallArray

Monoid (Array a) 
Instance details

Defined in Data.Primitive.Array

Methods

mempty :: Array a #

mappend :: Array a -> Array a -> Array a #

mconcat :: [Array a] -> Array a #

Monoid (Doc a) 
Instance details

Defined in Text.PrettyPrint.Annotated.WL

Methods

mempty :: Doc a #

mappend :: Doc a -> Doc a -> Doc a #

mconcat :: [Doc a] -> Doc a #

Monoid (MergeSet a) 
Instance details

Defined in Data.Set.Internal

Methods

mempty :: MergeSet a #

mappend :: MergeSet a -> MergeSet a -> MergeSet a #

mconcat :: [MergeSet a] -> MergeSet a #

(Monoid (Exp a), Elt a) => Monoid (Exp (Maybe a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Maybe

Methods

mempty :: Exp (Maybe a) #

mappend :: Exp (Maybe a) -> Exp (Maybe a) -> Exp (Maybe a) #

mconcat :: [Exp (Maybe a)] -> Exp (Maybe a) #

Monoid (Exp ()) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

mempty :: Exp () #

mappend :: Exp () -> Exp () -> Exp () #

mconcat :: [Exp ()] -> Exp () #

(Elt a, Elt b, Monoid (Exp a), Monoid (Exp b)) => Monoid (Exp (a, b)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

mempty :: Exp (a, b) #

mappend :: Exp (a, b) -> Exp (a, b) -> Exp (a, b) #

mconcat :: [Exp (a, b)] -> Exp (a, b) #

(Elt a, Elt b, Elt c, Monoid (Exp a), Monoid (Exp b), Monoid (Exp c)) => Monoid (Exp (a, b, c)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

mempty :: Exp (a, b, c) #

mappend :: Exp (a, b, c) -> Exp (a, b, c) -> Exp (a, b, c) #

mconcat :: [Exp (a, b, c)] -> Exp (a, b, c) #

(Elt a, Elt b, Elt c, Elt d, Monoid (Exp a), Monoid (Exp b), Monoid (Exp c), Monoid (Exp d)) => Monoid (Exp (a, b, c, d)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

mempty :: Exp (a, b, c, d) #

mappend :: Exp (a, b, c, d) -> Exp (a, b, c, d) -> Exp (a, b, c, d) #

mconcat :: [Exp (a, b, c, d)] -> Exp (a, b, c, d) #

(Elt a, Elt b, Elt c, Elt d, Elt e, Monoid (Exp a), Monoid (Exp b), Monoid (Exp c), Monoid (Exp d), Monoid (Exp e)) => Monoid (Exp (a, b, c, d, e)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

mempty :: Exp (a, b, c, d, e) #

mappend :: Exp (a, b, c, d, e) -> Exp (a, b, c, d, e) -> Exp (a, b, c, d, e) #

mconcat :: [Exp (a, b, c, d, e)] -> Exp (a, b, c, d, e) #

(Ord a, Bounded a) => Monoid (Exp (Min a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

mempty :: Exp (Min a) #

mappend :: Exp (Min a) -> Exp (Min a) -> Exp (Min a) #

mconcat :: [Exp (Min a)] -> Exp (Min a) #

(Ord a, Bounded a) => Monoid (Exp (Max a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Semigroup

Methods

mempty :: Exp (Max a) #

mappend :: Exp (Max a) -> Exp (Max a) -> Exp (Max a) #

mconcat :: [Exp (Max a)] -> Exp (Max a) #

Num a => Monoid (Exp (Sum a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

mempty :: Exp (Sum a) #

mappend :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

mconcat :: [Exp (Sum a)] -> Exp (Sum a) #

Num a => Monoid (Exp (Product a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

mempty :: Exp (Product a) #

mappend :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

mconcat :: [Exp (Product a)] -> Exp (Product a) #

Class (Semigroup a) (Monoid a) 
Instance details

Defined in Data.Constraint

Methods

cls :: Monoid a :- Semigroup a #

(Monoid a) :=> (Monoid (Maybe a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: Monoid a :- Monoid (Maybe a) #

(Monoid a) :=> (Monoid (Const a b)) 
Instance details

Defined in Data.Constraint

Methods

ins :: Monoid a :- Monoid (Const a b) #

(Monoid a) :=> (Monoid (Identity a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: Monoid a :- Monoid (Identity a) #

(Monoid a) :=> (Monoid (IO a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: Monoid a :- Monoid (IO a) #

(Monoid a) :=> (Applicative ((,) a)) 
Instance details

Defined in Data.Constraint

Methods

ins :: Monoid a :- Applicative ((,) a) #

(Monoid a) :=> (Applicative (Const a :: Type -> Type)) 
Instance details

Defined in Data.Constraint

Methods

ins :: Monoid a :- Applicative (Const a) #

Monoid b => Monoid (a -> b)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: a -> b #

mappend :: (a -> b) -> (a -> b) -> a -> b #

mconcat :: [a -> b] -> a -> b #

Monoid (U1 p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: U1 p #

mappend :: U1 p -> U1 p -> U1 p #

mconcat :: [U1 p] -> U1 p #

(Monoid a, Monoid b) => Monoid (a, b)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: (a, b) #

mappend :: (a, b) -> (a, b) -> (a, b) #

mconcat :: [(a, b)] -> (a, b) #

Monoid a => Monoid (Op a b) 
Instance details

Defined in Data.Functor.Contravariant

Methods

mempty :: Op a b #

mappend :: Op a b -> Op a b -> Op a b #

mconcat :: [Op a b] -> Op a b #

Monoid (Proxy s)

Since: base-4.7.0.0

Instance details

Defined in Data.Proxy

Methods

mempty :: Proxy s #

mappend :: Proxy s -> Proxy s -> Proxy s #

mconcat :: [Proxy s] -> Proxy s #

Ord k => Monoid (Map k v) 
Instance details

Defined in Data.Map.Internal

Methods

mempty :: Map k v #

mappend :: Map k v -> Map k v -> Map k v #

mconcat :: [Map k v] -> Map k v #

(Monad m, Monoid a) => Monoid (GenT m a) 
Instance details

Defined in Hedgehog.Internal.Gen

Methods

mempty :: GenT m a #

mappend :: GenT m a -> GenT m a -> GenT m a #

mconcat :: [GenT m a] -> GenT m a #

(Eq k, Hashable k) => Monoid (HashMap k v) 
Instance details

Defined in Data.HashMap.Base

Methods

mempty :: HashMap k v #

mappend :: HashMap k v -> HashMap k v -> HashMap k v #

mconcat :: [HashMap k v] -> HashMap k v #

Monoid (ReifiedFold s a) 
Instance details

Defined in Control.Lens.Reified

Methods

mempty :: ReifiedFold s a #

mappend :: ReifiedFold s a -> ReifiedFold s a -> ReifiedFold s a #

mconcat :: [ReifiedFold s a] -> ReifiedFold s a #

Monoid (Deepening i a)

This is an illegal Monoid.

Instance details

Defined in Control.Lens.Internal.Level

Methods

mempty :: Deepening i a #

mappend :: Deepening i a -> Deepening i a -> Deepening i a #

mconcat :: [Deepening i a] -> Deepening i a #

Monoid (f a) => Monoid (Indexing f a)
>>> "cat" ^@.. (folded <> folded)
[(0,'c'),(1,'a'),(2,'t'),(0,'c'),(1,'a'),(2,'t')]
>>> "cat" ^@.. indexing (folded <> folded)
[(0,'c'),(1,'a'),(2,'t'),(3,'c'),(4,'a'),(5,'t')]
Instance details

Defined in Control.Lens.Internal.Indexed

Methods

mempty :: Indexing f a #

mappend :: Indexing f a -> Indexing f a -> Indexing f a #

mconcat :: [Indexing f a] -> Indexing f a #

(Contravariant f, Applicative f) => Monoid (Folding f a) 
Instance details

Defined in Control.Lens.Internal.Fold

Methods

mempty :: Folding f a #

mappend :: Folding f a -> Folding f a -> Folding f a #

mconcat :: [Folding f a] -> Folding f a #

Applicative f => Monoid (Traversed a f) 
Instance details

Defined in Control.Lens.Internal.Fold

Methods

mempty :: Traversed a f #

mappend :: Traversed a f -> Traversed a f -> Traversed a f #

mconcat :: [Traversed a f] -> Traversed a f #

(Apply f, Applicative f) => Monoid (TraversedF a f) 
Instance details

Defined in Control.Lens.Internal.Fold

Methods

mempty :: TraversedF a f #

mappend :: TraversedF a f -> TraversedF a f -> TraversedF a f #

mconcat :: [TraversedF a f] -> TraversedF a f #

Monad m => Monoid (Sequenced a m) 
Instance details

Defined in Control.Lens.Internal.Fold

Methods

mempty :: Sequenced a m #

mappend :: Sequenced a m -> Sequenced a m -> Sequenced a m #

mconcat :: [Sequenced a m] -> Sequenced a m #

(Monoid a, Monoid b) :=> (Monoid (a, b)) 
Instance details

Defined in Data.Constraint

Methods

ins :: (Monoid a, Monoid b) :- Monoid (a, b) #

Monoid (f p) => Monoid (Rec1 f p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: Rec1 f p #

mappend :: Rec1 f p -> Rec1 f p -> Rec1 f p #

mconcat :: [Rec1 f p] -> Rec1 f p #

(Monoid a, Monoid b, Monoid c) => Monoid (a, b, c)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: (a, b, c) #

mappend :: (a, b, c) -> (a, b, c) -> (a, b, c) #

mconcat :: [(a, b, c)] -> (a, b, c) #

Monoid a => Monoid (Const a b)

Since: base-4.9.0.0

Instance details

Defined in Data.Functor.Const

Methods

mempty :: Const a b #

mappend :: Const a b -> Const a b -> Const a b #

mconcat :: [Const a b] -> Const a b #

(Applicative f, Monoid a) => Monoid (Ap f a)

Since: base-4.12.0.0

Instance details

Defined in Data.Monoid

Methods

mempty :: Ap f a #

mappend :: Ap f a -> Ap f a -> Ap f a #

mconcat :: [Ap f a] -> Ap f a #

Alternative f => Monoid (Alt f a)

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

mempty :: Alt f a #

mappend :: Alt f a -> Alt f a -> Alt f a #

mconcat :: [Alt f a] -> Alt f a #

Monoid (ReifiedIndexedFold i s a) 
Instance details

Defined in Control.Lens.Reified

Reifies s (ReifiedMonoid a) => Monoid (ReflectedMonoid a s) 
Instance details

Defined in Data.Reflection

(Semigroup a, Monoid a) => Monoid (Tagged s a) 
Instance details

Defined in Data.Tagged

Methods

mempty :: Tagged s a #

mappend :: Tagged s a -> Tagged s a -> Tagged s a #

mconcat :: [Tagged s a] -> Tagged s a #

Monoid c => Monoid (K1 i c p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: K1 i c p #

mappend :: K1 i c p -> K1 i c p -> K1 i c p #

mconcat :: [K1 i c p] -> K1 i c p #

(Monoid (f p), Monoid (g p)) => Monoid ((f :*: g) p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: (f :*: g) p #

mappend :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p #

mconcat :: [(f :*: g) p] -> (f :*: g) p #

(Monoid a, Monoid b, Monoid c, Monoid d) => Monoid (a, b, c, d)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: (a, b, c, d) #

mappend :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) #

mconcat :: [(a, b, c, d)] -> (a, b, c, d) #

Monoid (f p) => Monoid (M1 i c f p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: M1 i c f p #

mappend :: M1 i c f p -> M1 i c f p -> M1 i c f p #

mconcat :: [M1 i c f p] -> M1 i c f p #

Monoid (f (g p)) => Monoid ((f :.: g) p)

Since: base-4.12.0.0

Instance details

Defined in GHC.Generics

Methods

mempty :: (f :.: g) p #

mappend :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p #

mconcat :: [(f :.: g) p] -> (f :.: g) p #

(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e) => Monoid (a, b, c, d, e)

Since: base-2.1

Instance details

Defined in GHC.Base

Methods

mempty :: (a, b, c, d, e) #

mappend :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) #

mconcat :: [(a, b, c, d, e)] -> (a, b, c, d, e) #

Contravariant g => Monoid (BazaarT p g a b t) 
Instance details

Defined in Control.Lens.Internal.Bazaar

Methods

mempty :: BazaarT p g a b t #

mappend :: BazaarT p g a b t -> BazaarT p g a b t -> BazaarT p g a b t #

mconcat :: [BazaarT p g a b t] -> BazaarT p g a b t #

(<>) :: Semigroup a => a -> a -> a infixr 6 #

An associative operation.

newtype Sum a #

Monoid under addition.

>>> getSum (Sum 1 <> Sum 2 <> mempty)
3

Constructors

Sum 

Fields

Instances
Monad Sum

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(>>=) :: Sum a -> (a -> Sum b) -> Sum b #

(>>) :: Sum a -> Sum b -> Sum b #

return :: a -> Sum a #

fail :: String -> Sum a #

Functor Sum

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

fmap :: (a -> b) -> Sum a -> Sum b #

(<$) :: a -> Sum b -> Sum a #

MonadFix Sum

Since: base-4.8.0.0

Instance details

Defined in Control.Monad.Fix

Methods

mfix :: (a -> Sum a) -> Sum a #

Applicative Sum

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

pure :: a -> Sum a #

(<*>) :: Sum (a -> b) -> Sum a -> Sum b #

liftA2 :: (a -> b -> c) -> Sum a -> Sum b -> Sum c #

(*>) :: Sum a -> Sum b -> Sum b #

(<*) :: Sum a -> Sum b -> Sum a #

Foldable Sum

Since: base-4.8.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => Sum m -> m #

foldMap :: Monoid m => (a -> m) -> Sum a -> m #

foldr :: (a -> b -> b) -> b -> Sum a -> b #

foldr' :: (a -> b -> b) -> b -> Sum a -> b #

foldl :: (b -> a -> b) -> b -> Sum a -> b #

foldl' :: (b -> a -> b) -> b -> Sum a -> b #

foldr1 :: (a -> a -> a) -> Sum a -> a #

foldl1 :: (a -> a -> a) -> Sum a -> a #

toList :: Sum a -> [a] #

null :: Sum a -> Bool #

length :: Sum a -> Int #

elem :: Eq a => a -> Sum a -> Bool #

maximum :: Ord a => Sum a -> a #

minimum :: Ord a => Sum a -> a #

sum :: Num a => Sum a -> a #

product :: Num a => Sum a -> a #

Traversable Sum

Since: base-4.8.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> Sum a -> f (Sum b) #

sequenceA :: Applicative f => Sum (f a) -> f (Sum a) #

mapM :: Monad m => (a -> m b) -> Sum a -> m (Sum b) #

sequence :: Monad m => Sum (m a) -> m (Sum a) #

Representable Sum 
Instance details

Defined in Data.Functor.Rep

Associated Types

type Rep Sum :: Type #

Methods

tabulate :: (Rep Sum -> a) -> Sum a #

index :: Sum a -> Rep Sum -> a #

NFData1 Sum

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

liftRnf :: (a -> ()) -> Sum a -> () #

Traversable1 Sum 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

traverse1 :: Apply f => (a -> f b) -> Sum a -> f (Sum b) #

sequence1 :: Apply f => Sum (f b) -> f (Sum b) #

Functor Sum # 
Instance details

Defined in Data.Array.Accelerate.Data.Functor

Methods

fmap :: (Elt a, Elt b, Elt (Sum a), Elt (Sum b)) => (Exp a -> Exp b) -> Exp (Sum a) -> Exp (Sum b) #

(<$) :: (Elt a, Elt b, Elt (Sum a), Elt (Sum b)) => Exp a -> Exp (Sum b) -> Exp (Sum a) #

Elt a => Unlift Exp (Sum (Exp a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

unlift :: Exp (Plain (Sum (Exp a))) -> Sum (Exp a) #

(Lift Exp a, Elt (Plain a)) => Lift Exp (Sum a) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Associated Types

type Plain (Sum a) :: Type #

Methods

lift :: Sum a -> Exp (Plain (Sum a)) #

Bounded a => Bounded (Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

minBound :: Sum a #

maxBound :: Sum a #

Bounded a => Bounded (Exp (Sum a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

minBound :: Exp (Sum a) #

maxBound :: Exp (Sum a) #

Eq a => Eq (Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

(==) :: Sum a -> Sum a -> Bool #

(/=) :: Sum a -> Sum a -> Bool #

Num a => Num (Sum a)

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(+) :: Sum a -> Sum a -> Sum a #

(-) :: Sum a -> Sum a -> Sum a #

(*) :: Sum a -> Sum a -> Sum a #

negate :: Sum a -> Sum a #

abs :: Sum a -> Sum a #

signum :: Sum a -> Sum a #

fromInteger :: Integer -> Sum a #

Num a => Num (Exp (Sum a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

(+) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

(-) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

(*) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

negate :: Exp (Sum a) -> Exp (Sum a) #

abs :: Exp (Sum a) -> Exp (Sum a) #

signum :: Exp (Sum a) -> Exp (Sum a) #

fromInteger :: Integer -> Exp (Sum a) #

Ord a => Ord (Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

compare :: Sum a -> Sum a -> Ordering #

(<) :: Sum a -> Sum a -> Bool #

(<=) :: Sum a -> Sum a -> Bool #

(>) :: Sum a -> Sum a -> Bool #

(>=) :: Sum a -> Sum a -> Bool #

max :: Sum a -> Sum a -> Sum a #

min :: Sum a -> Sum a -> Sum a #

Read a => Read (Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Show a => Show (Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

showsPrec :: Int -> Sum a -> ShowS #

show :: Sum a -> String #

showList :: [Sum a] -> ShowS #

Generic (Sum a) 
Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep (Sum a) :: Type -> Type #

Methods

from :: Sum a -> Rep (Sum a) x #

to :: Rep (Sum a) x -> Sum a #

Num a => Semigroup (Sum a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(<>) :: Sum a -> Sum a -> Sum a #

sconcat :: NonEmpty (Sum a) -> Sum a #

stimes :: Integral b => b -> Sum a -> Sum a #

Num a => Semigroup (Exp (Sum a)) #

Since: 1.2.0.0

Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

(<>) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

sconcat :: NonEmpty (Exp (Sum a)) -> Exp (Sum a) #

stimes :: Integral b => b -> Exp (Sum a) -> Exp (Sum a) #

Num a => Monoid (Sum a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

mempty :: Sum a #

mappend :: Sum a -> Sum a -> Sum a #

mconcat :: [Sum a] -> Sum a #

Num a => Monoid (Exp (Sum a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

mempty :: Exp (Sum a) #

mappend :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

mconcat :: [Exp (Sum a)] -> Exp (Sum a) #

NFData a => NFData (Sum a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnf :: Sum a -> () #

Wrapped (Sum a) 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Sum a) :: Type #

Methods

_Wrapped' :: Iso' (Sum a) (Unwrapped (Sum a)) #

(Eq a, Num a) => AsEmpty (Sum a) 
Instance details

Defined in Control.Lens.Empty

Methods

_Empty :: Prism' (Sum a) () #

Elt a => Elt (Sum a) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

eltType :: Sum a -> TupleType (EltRepr (Sum a))

fromElt :: Sum a -> EltRepr (Sum a)

toElt :: EltRepr (Sum a) -> Sum a

Eq a => Eq (Sum a) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

(==) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

(/=) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

Ord a => Ord (Sum a) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

(<) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

(>) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

(<=) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

(>=) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

min :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

max :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

compare :: Exp (Sum a) -> Exp (Sum a) -> Exp Ordering #

Generic1 Sum 
Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep1 Sum :: k -> Type #

Methods

from1 :: Sum a -> Rep1 Sum a #

to1 :: Rep1 Sum a -> Sum a #

t ~ Sum b => Rewrapped (Sum a) t 
Instance details

Defined in Control.Lens.Wrapped

type Rep Sum 
Instance details

Defined in Data.Functor.Rep

type Rep Sum = ()
type Rep (Sum a)

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

type Rep (Sum a) = D1 (MetaData "Sum" "Data.Semigroup.Internal" "base" True) (C1 (MetaCons "Sum" PrefixI True) (S1 (MetaSel (Just "getSum") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
type Unwrapped (Sum a) 
Instance details

Defined in Control.Lens.Wrapped

type Unwrapped (Sum a) = a
type Plain (Sum a) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

type Plain (Sum a) = Sum (Plain a)
type Rep1 Sum

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

type Rep1 Sum = D1 (MetaData "Sum" "Data.Semigroup.Internal" "base" True) (C1 (MetaCons "Sum" PrefixI True) (S1 (MetaSel (Just "getSum") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))

newtype Product a #

Monoid under multiplication.

>>> getProduct (Product 3 <> Product 4 <> mempty)
12

Constructors

Product 

Fields

Instances
Monad Product

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(>>=) :: Product a -> (a -> Product b) -> Product b #

(>>) :: Product a -> Product b -> Product b #

return :: a -> Product a #

fail :: String -> Product a #

Functor Product

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

fmap :: (a -> b) -> Product a -> Product b #

(<$) :: a -> Product b -> Product a #

MonadFix Product

Since: base-4.8.0.0

Instance details

Defined in Control.Monad.Fix

Methods

mfix :: (a -> Product a) -> Product a #

Applicative Product

Since: base-4.8.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

pure :: a -> Product a #

(<*>) :: Product (a -> b) -> Product a -> Product b #

liftA2 :: (a -> b -> c) -> Product a -> Product b -> Product c #

(*>) :: Product a -> Product b -> Product b #

(<*) :: Product a -> Product b -> Product a #

Foldable Product

Since: base-4.8.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => Product m -> m #

foldMap :: Monoid m => (a -> m) -> Product a -> m #

foldr :: (a -> b -> b) -> b -> Product a -> b #

foldr' :: (a -> b -> b) -> b -> Product a -> b #

foldl :: (b -> a -> b) -> b -> Product a -> b #

foldl' :: (b -> a -> b) -> b -> Product a -> b #

foldr1 :: (a -> a -> a) -> Product a -> a #

foldl1 :: (a -> a -> a) -> Product a -> a #

toList :: Product a -> [a] #

null :: Product a -> Bool #

length :: Product a -> Int #

elem :: Eq a => a -> Product a -> Bool #

maximum :: Ord a => Product a -> a #

minimum :: Ord a => Product a -> a #

sum :: Num a => Product a -> a #

product :: Num a => Product a -> a #

Traversable Product

Since: base-4.8.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> Product a -> f (Product b) #

sequenceA :: Applicative f => Product (f a) -> f (Product a) #

mapM :: Monad m => (a -> m b) -> Product a -> m (Product b) #

sequence :: Monad m => Product (m a) -> m (Product a) #

Representable Product 
Instance details

Defined in Data.Functor.Rep

Associated Types

type Rep Product :: Type #

Methods

tabulate :: (Rep Product -> a) -> Product a #

index :: Product a -> Rep Product -> a #

NFData1 Product

Since: deepseq-1.4.3.0

Instance details

Defined in Control.DeepSeq

Methods

liftRnf :: (a -> ()) -> Product a -> () #

Traversable1 Product 
Instance details

Defined in Data.Semigroup.Traversable.Class

Methods

traverse1 :: Apply f => (a -> f b) -> Product a -> f (Product b) #

sequence1 :: Apply f => Product (f b) -> f (Product b) #

Functor Product # 
Instance details

Defined in Data.Array.Accelerate.Data.Functor

Methods

fmap :: (Elt a, Elt b, Elt (Product a), Elt (Product b)) => (Exp a -> Exp b) -> Exp (Product a) -> Exp (Product b) #

(<$) :: (Elt a, Elt b, Elt (Product a), Elt (Product b)) => Exp a -> Exp (Product b) -> Exp (Product a) #

Elt a => Unlift Exp (Product (Exp a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

unlift :: Exp (Plain (Product (Exp a))) -> Product (Exp a) #

(Lift Exp a, Elt (Plain a)) => Lift Exp (Product a) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Associated Types

type Plain (Product a) :: Type #

Methods

lift :: Product a -> Exp (Plain (Product a)) #

Bounded a => Bounded (Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Bounded a => Bounded (Exp (Product a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

minBound :: Exp (Product a) #

maxBound :: Exp (Product a) #

Eq a => Eq (Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

(==) :: Product a -> Product a -> Bool #

(/=) :: Product a -> Product a -> Bool #

Num a => Num (Product a)

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(+) :: Product a -> Product a -> Product a #

(-) :: Product a -> Product a -> Product a #

(*) :: Product a -> Product a -> Product a #

negate :: Product a -> Product a #

abs :: Product a -> Product a #

signum :: Product a -> Product a #

fromInteger :: Integer -> Product a #

Num a => Num (Exp (Product a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

(+) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

(-) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

(*) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

negate :: Exp (Product a) -> Exp (Product a) #

abs :: Exp (Product a) -> Exp (Product a) #

signum :: Exp (Product a) -> Exp (Product a) #

fromInteger :: Integer -> Exp (Product a) #

Ord a => Ord (Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

compare :: Product a -> Product a -> Ordering #

(<) :: Product a -> Product a -> Bool #

(<=) :: Product a -> Product a -> Bool #

(>) :: Product a -> Product a -> Bool #

(>=) :: Product a -> Product a -> Bool #

max :: Product a -> Product a -> Product a #

min :: Product a -> Product a -> Product a #

Read a => Read (Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Show a => Show (Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

showsPrec :: Int -> Product a -> ShowS #

show :: Product a -> String #

showList :: [Product a] -> ShowS #

Generic (Product a) 
Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep (Product a) :: Type -> Type #

Methods

from :: Product a -> Rep (Product a) x #

to :: Rep (Product a) x -> Product a #

Num a => Semigroup (Product a)

Since: base-4.9.0.0

Instance details

Defined in Data.Semigroup.Internal

Methods

(<>) :: Product a -> Product a -> Product a #

sconcat :: NonEmpty (Product a) -> Product a #

stimes :: Integral b => b -> Product a -> Product a #

Num a => Semigroup (Exp (Product a)) #

Since: 1.2.0.0

Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

(<>) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

sconcat :: NonEmpty (Exp (Product a)) -> Exp (Product a) #

stimes :: Integral b => b -> Exp (Product a) -> Exp (Product a) #

Num a => Monoid (Product a)

Since: base-2.1

Instance details

Defined in Data.Semigroup.Internal

Methods

mempty :: Product a #

mappend :: Product a -> Product a -> Product a #

mconcat :: [Product a] -> Product a #

Num a => Monoid (Exp (Product a)) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

mempty :: Exp (Product a) #

mappend :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

mconcat :: [Exp (Product a)] -> Exp (Product a) #

NFData a => NFData (Product a)

Since: deepseq-1.4.0.0

Instance details

Defined in Control.DeepSeq

Methods

rnf :: Product a -> () #

Wrapped (Product a) 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Product a) :: Type #

Methods

_Wrapped' :: Iso' (Product a) (Unwrapped (Product a)) #

(Eq a, Num a) => AsEmpty (Product a) 
Instance details

Defined in Control.Lens.Empty

Methods

_Empty :: Prism' (Product a) () #

Elt a => Elt (Product a) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

eltType :: Product a -> TupleType (EltRepr (Product a))

fromElt :: Product a -> EltRepr (Product a)

toElt :: EltRepr (Product a) -> Product a

Eq a => Eq (Product a) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

(==) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

(/=) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

Ord a => Ord (Product a) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

Methods

(<) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

(>) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

(<=) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

(>=) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

min :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

max :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

compare :: Exp (Product a) -> Exp (Product a) -> Exp Ordering #

Generic1 Product 
Instance details

Defined in Data.Semigroup.Internal

Associated Types

type Rep1 Product :: k -> Type #

Methods

from1 :: Product a -> Rep1 Product a #

to1 :: Rep1 Product a -> Product a #

t ~ Product b => Rewrapped (Product a) t 
Instance details

Defined in Control.Lens.Wrapped

type Rep Product 
Instance details

Defined in Data.Functor.Rep

type Rep Product = ()
type Rep (Product a)

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

type Rep (Product a) = D1 (MetaData "Product" "Data.Semigroup.Internal" "base" True) (C1 (MetaCons "Product" PrefixI True) (S1 (MetaSel (Just "getProduct") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
type Unwrapped (Product a) 
Instance details

Defined in Control.Lens.Wrapped

type Unwrapped (Product a) = a
type Plain (Product a) # 
Instance details

Defined in Data.Array.Accelerate.Data.Monoid

type Plain (Product a) = Product (Plain a)
type Rep1 Product

Since: base-4.7.0.0

Instance details

Defined in Data.Semigroup.Internal

type Rep1 Product = D1 (MetaData "Product" "Data.Semigroup.Internal" "base" True) (C1 (MetaCons "Product" PrefixI True) (S1 (MetaSel (Just "getProduct") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))

Orphan instances

Elt a => Unlift Exp (Sum (Exp a)) # 
Instance details

Methods

unlift :: Exp (Plain (Sum (Exp a))) -> Sum (Exp a) #

Elt a => Unlift Exp (Product (Exp a)) # 
Instance details

Methods

unlift :: Exp (Plain (Product (Exp a))) -> Product (Exp a) #

(Lift Exp a, Elt (Plain a)) => Lift Exp (Sum a) # 
Instance details

Associated Types

type Plain (Sum a) :: Type #

Methods

lift :: Sum a -> Exp (Plain (Sum a)) #

(Lift Exp a, Elt (Plain a)) => Lift Exp (Product a) # 
Instance details

Associated Types

type Plain (Product a) :: Type #

Methods

lift :: Product a -> Exp (Plain (Product a)) #

Bounded a => Bounded (Exp (Sum a)) # 
Instance details

Methods

minBound :: Exp (Sum a) #

maxBound :: Exp (Sum a) #

Bounded a => Bounded (Exp (Product a)) # 
Instance details

Methods

minBound :: Exp (Product a) #

maxBound :: Exp (Product a) #

Num a => Num (Exp (Sum a)) # 
Instance details

Methods

(+) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

(-) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

(*) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

negate :: Exp (Sum a) -> Exp (Sum a) #

abs :: Exp (Sum a) -> Exp (Sum a) #

signum :: Exp (Sum a) -> Exp (Sum a) #

fromInteger :: Integer -> Exp (Sum a) #

Num a => Num (Exp (Product a)) # 
Instance details

Methods

(+) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

(-) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

(*) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

negate :: Exp (Product a) -> Exp (Product a) #

abs :: Exp (Product a) -> Exp (Product a) #

signum :: Exp (Product a) -> Exp (Product a) #

fromInteger :: Integer -> Exp (Product a) #

Num a => Semigroup (Exp (Sum a)) #

Since: 1.2.0.0

Instance details

Methods

(<>) :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

sconcat :: NonEmpty (Exp (Sum a)) -> Exp (Sum a) #

stimes :: Integral b => b -> Exp (Sum a) -> Exp (Sum a) #

Num a => Semigroup (Exp (Product a)) #

Since: 1.2.0.0

Instance details

Methods

(<>) :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

sconcat :: NonEmpty (Exp (Product a)) -> Exp (Product a) #

stimes :: Integral b => b -> Exp (Product a) -> Exp (Product a) #

Monoid (Exp ()) # 
Instance details

Methods

mempty :: Exp () #

mappend :: Exp () -> Exp () -> Exp () #

mconcat :: [Exp ()] -> Exp () #

(Elt a, Elt b, Monoid (Exp a), Monoid (Exp b)) => Monoid (Exp (a, b)) # 
Instance details

Methods

mempty :: Exp (a, b) #

mappend :: Exp (a, b) -> Exp (a, b) -> Exp (a, b) #

mconcat :: [Exp (a, b)] -> Exp (a, b) #

(Elt a, Elt b, Elt c, Monoid (Exp a), Monoid (Exp b), Monoid (Exp c)) => Monoid (Exp (a, b, c)) # 
Instance details

Methods

mempty :: Exp (a, b, c) #

mappend :: Exp (a, b, c) -> Exp (a, b, c) -> Exp (a, b, c) #

mconcat :: [Exp (a, b, c)] -> Exp (a, b, c) #

(Elt a, Elt b, Elt c, Elt d, Monoid (Exp a), Monoid (Exp b), Monoid (Exp c), Monoid (Exp d)) => Monoid (Exp (a, b, c, d)) # 
Instance details

Methods

mempty :: Exp (a, b, c, d) #

mappend :: Exp (a, b, c, d) -> Exp (a, b, c, d) -> Exp (a, b, c, d) #

mconcat :: [Exp (a, b, c, d)] -> Exp (a, b, c, d) #

(Elt a, Elt b, Elt c, Elt d, Elt e, Monoid (Exp a), Monoid (Exp b), Monoid (Exp c), Monoid (Exp d), Monoid (Exp e)) => Monoid (Exp (a, b, c, d, e)) # 
Instance details

Methods

mempty :: Exp (a, b, c, d, e) #

mappend :: Exp (a, b, c, d, e) -> Exp (a, b, c, d, e) -> Exp (a, b, c, d, e) #

mconcat :: [Exp (a, b, c, d, e)] -> Exp (a, b, c, d, e) #

Num a => Monoid (Exp (Sum a)) # 
Instance details

Methods

mempty :: Exp (Sum a) #

mappend :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

mconcat :: [Exp (Sum a)] -> Exp (Sum a) #

Num a => Monoid (Exp (Product a)) # 
Instance details

Methods

mempty :: Exp (Product a) #

mappend :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

mconcat :: [Exp (Product a)] -> Exp (Product a) #

Elt a => Elt (Sum a) # 
Instance details

Methods

eltType :: Sum a -> TupleType (EltRepr (Sum a))

fromElt :: Sum a -> EltRepr (Sum a)

toElt :: EltRepr (Sum a) -> Sum a

Elt a => Elt (Product a) # 
Instance details

Methods

eltType :: Product a -> TupleType (EltRepr (Product a))

fromElt :: Product a -> EltRepr (Product a)

toElt :: EltRepr (Product a) -> Product a

Eq a => Eq (Sum a) # 
Instance details

Methods

(==) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

(/=) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

Eq a => Eq (Product a) # 
Instance details

Methods

(==) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

(/=) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

Ord a => Ord (Sum a) # 
Instance details

Methods

(<) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

(>) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

(<=) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

(>=) :: Exp (Sum a) -> Exp (Sum a) -> Exp Bool #

min :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

max :: Exp (Sum a) -> Exp (Sum a) -> Exp (Sum a) #

compare :: Exp (Sum a) -> Exp (Sum a) -> Exp Ordering #

Ord a => Ord (Product a) # 
Instance details

Methods

(<) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

(>) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

(<=) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

(>=) :: Exp (Product a) -> Exp (Product a) -> Exp Bool #

min :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

max :: Exp (Product a) -> Exp (Product a) -> Exp (Product a) #

compare :: Exp (Product a) -> Exp (Product a) -> Exp Ordering #