generic-deriving-1.14.6: Generic programming library for generalised deriving.

Safe Haskell | Safe
Language | Haskell2010

Generics.Deriving.Monoid

Contents

- Orphan instances

Synopsis

- newtype Any = Any {
  - getAny :: Bool
  }
- newtype Last a = Last {
  - getLast :: Maybe a
  }
- newtype First a = First {
  - getFirst :: Maybe a
  }
- (<>) :: Semigroup a => a -> a -> a
- class Semigroup a => Monoid a where
  - mempty :: a
  - mappend :: a -> a -> a
  - mconcat :: [a] -> a
- newtype Alt (f :: k -> Type) (a :: k) = Alt {
  - getAlt :: f a
  }
- newtype Product a = Product {
  - getProduct :: a
  }
- newtype Sum a = Sum {
  - getSum :: a
  }
- newtype All = All {
  - getAll :: Bool
  }
- newtype Endo a = Endo {
  - appEndo :: a -> a
  }
- newtype Dual a = Dual {
  - getDual :: a
  }
- newtype Ap (f :: k -> Type) (a :: k) = Ap {
  - getAp :: f a
  }
- class GSemigroup a => GMonoid a where
  - gmempty :: a
  - gmappend :: a -> a -> a
  - gmconcat :: [a] -> a
- gmemptydefault :: (Generic a, GMonoid' (Rep a)) => a
- gmappenddefault :: (Generic a, GMonoid' (Rep a)) => a -> a -> a
- class GSemigroup' f => GMonoid' (f :: k -> Type) where
  - gmempty' :: forall (x :: k). f x
  - gmappend' :: forall (x :: k). f x -> f x -> f x
- memptydefault :: (Generic a, Monoid' (Rep a)) => a
- mappenddefault :: (Generic a, Monoid' (Rep a)) => a -> a -> a
- class Monoid' (f :: k -> Type) where
  - mempty' :: forall (x :: k). f x
  - mappend' :: forall (x :: k). f x -> f x -> f x

# Documentation

newtype Any Source #

Boolean monoid under disjunction `(||)`.

    Any x <> Any y = Any (x || y)

#### Examples

Expand

    >>> Any True <> mempty <> Any False
    Any {getAny = True}

    >>> mconcat (map (\x -> Any (even x)) [2,4,6,7,8])
    Any {getAny = True}

    >>> Any False <> mempty
    Any {getAny = False}

Constructors

Any |

Fields

- getAny :: Bool

#### Instances

Instances details

GEnum Any Source # |
Instance details Defined in Generics.Deriving.Enum Methods genum :: [Any] Source #
GIx Any Source # |
Instance details Defined in Generics.Deriving.Enum Methods range :: (Any, Any) -> [Any] Source # index :: (Any, Any) -> Any -> Int Source # inRange :: (Any, Any) -> Any -> Bool Source #
GEq Any Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Any -> Any -> Bool Source #
GMonoid Any Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Any Source # gmappend :: Any -> Any -> Any Source # gmconcat :: [Any] -> Any Source #
GSemigroup Any Source # |
Instance details Defined in Generics.Deriving.Semigroup.Internal Methods gsappend :: Any -> Any -> Any Source # gstimes :: Integral b => b -> Any -> Any Source # gsconcat :: NonEmpty Any -> Any Source #
GShow Any Source # |
Instance details Defined in Generics.Deriving.Show Methods gshowsPrec :: Int -> Any -> ShowS Source # gshows :: Any -> ShowS Source # gshow :: Any -> String Source # gshowList :: [Any] -> ShowS Source #
Monoid Any | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Any Source # mappend :: Any -> Any -> Any Source # mconcat :: [Any] -> Any Source #
Semigroup Any | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (<>) :: Any -> Any -> Any Source # sconcat :: NonEmpty Any -> Any Source # stimes :: Integral b => b -> Any -> Any Source #
Bounded Any | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods minBound :: Any Source # maxBound :: Any Source #
Generic Any |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep Any | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep Any = D1 ('MetaData "Any" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Any" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAny") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: Any -> Rep Any x Source #

to :: Rep Any x -> Any Source #

Read Any | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods readsPrec :: Int -> ReadS Any Source # readList :: ReadS [Any] Source # readPrec :: ReadPrec Any Source # readListPrec :: ReadPrec [Any] Source #
Show Any | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods showsPrec :: Int -> Any -> ShowS Source # show :: Any -> String Source # showList :: [Any] -> ShowS Source #
Eq Any | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (==) :: Any -> Any -> Bool Source # (/=) :: Any -> Any -> Bool Source #
Ord Any | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods compare :: Any -> Any -> Ordering Source # (<) :: Any -> Any -> Bool Source # (<=) :: Any -> Any -> Bool Source # (>) :: Any -> Any -> Bool Source # (>=) :: Any -> Any -> Bool Source # max :: Any -> Any -> Any Source # min :: Any -> Any -> Any Source #
type Rep Any | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep Any = D1 ('MetaData "Any" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Any" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAny") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

newtype Last a Source #

Maybe monoid returning the rightmost non-`Nothing` value.

``Last` a` is isomorphic to ``Dual` (`First` a)`, and thus to ``Dual` (`Alt` `Maybe` a)`

`Data.Semigroup.``Last`. The former returns the last non-`Nothing`, so `x <> Data.Monoid.Last Nothing = x`. The latter simply returns the last value, thus `x <> Data.Semigroup.Last Nothing = Data.Semigroup.Last Nothing`.

#### Examples

Expand

    >>> Last (Just "hello") <> Last Nothing <> Last (Just "world")
    Last {getLast = Just "world"}

    >>> Last Nothing <> mempty
    Last {getLast = Nothing}

Constructors

Last |

Fields

- getLast :: Maybe a

#### Instances

Instances details

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 #
GFoldable Last Source # |

Instance details

Defined in Generics.Deriving.Foldable

Methods

gfoldMap :: Monoid m => (a -> m) -> Last a -> m Source #

gfold :: Monoid m => Last m -> m Source #

gfoldr :: (a -> b -> b) -> b -> Last a -> b Source #

gfoldr' :: (a -> b -> b) -> b -> Last a -> b Source #

gfoldl :: (a -> b -> a) -> a -> Last b -> a Source #

gfoldl' :: (a -> b -> a) -> a -> Last b -> a Source #

gfoldr1 :: (a -> a -> a) -> Last a -> a Source #

gfoldl1 :: (a -> a -> a) -> Last a -> a Source #

GFunctor Last Source # |
Instance details Defined in Generics.Deriving.Functor Methods gmap :: (a -> b) -> Last a -> Last b Source #
GTraversable Last Source # |
Instance details Defined in Generics.Deriving.Traversable Methods gtraverse :: Applicative f => (a -> f b) -> Last a -> f (Last b) Source # gsequenceA :: Applicative f => Last (f a) -> f (Last a) Source # gmapM :: Monad m => (a -> m b) -> Last a -> m (Last b) Source # gsequence :: Monad m => Last (m a) -> m (Last a) Source #
Applicative Last | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods pure :: a -> Last a Source # (<*>) :: Last (a -> b) -> Last a -> Last b Source # liftA2 :: (a -> b -> c) -> Last a -> Last b -> Last c Source # (*>) :: Last a -> Last b -> Last b Source # (<*) :: Last a -> Last b -> Last a Source #
Functor Last | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods fmap :: (a -> b) -> Last a -> Last b Source # (<$) :: a -> Last b -> Last a Source #
Monad Last | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods (>>=) :: Last a -> (a -> Last b) -> Last b Source # (>>) :: Last a -> Last b -> Last b Source # return :: a -> Last a Source #
Foldable Last | Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Foldable

Methods

fold :: Monoid m => Last m -> m Source #

foldMap :: Monoid m => (a -> m) -> Last a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Last a -> m Source #

foldr :: (a -> b -> b) -> b -> Last a -> b Source #

foldr' :: (a -> b -> b) -> b -> Last a -> b Source #

foldl :: (b -> a -> b) -> b -> Last a -> b Source #

foldl' :: (b -> a -> b) -> b -> Last a -> b Source #

foldr1 :: (a -> a -> a) -> Last a -> a Source #

foldl1 :: (a -> a -> a) -> Last a -> a Source #

toList :: Last a -> [a] Source #

null :: Last a -> Bool Source #

length :: Last a -> Int Source #

elem :: Eq a => a -> Last a -> Bool Source #

maximum :: Ord a => Last a -> a Source #

minimum :: Ord a => Last a -> a Source #

sum :: Num a => Last a -> a Source #

product :: Num a => Last a -> a Source #

Traversable Last | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> Last a -> f (Last b) Source # sequenceA :: Applicative f => Last (f a) -> f (Last a) Source # mapM :: Monad m => (a -> m b) -> Last a -> m (Last b) Source # sequence :: Monad m => Last (m a) -> m (Last a) Source #
Generic1 Last |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep1 Last | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep1 Last = D1 ('MetaData "Last" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe)))

Methods

from1 :: Last a -> Rep1 Last a Source #

to1 :: Rep1 Last a -> Last a Source #

GEnum a => GEnum (Last a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods genum :: [Last a] Source #
(GEq a, GEnum a, GIx a) => GIx (Last a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods range :: (Last a, Last a) -> [Last a] Source # index :: (Last a, Last a) -> Last a -> Int Source # inRange :: (Last a, Last a) -> Last a -> Bool Source #
GEq a => GEq (Last a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Last a -> Last a -> Bool Source #
GMonoid (Last a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Last a Source # gmappend :: Last a -> Last a -> Last a Source # gmconcat :: [Last a] -> Last a Source #
GSemigroup (Last a) Source # |
Instance details Defined in Generics.Deriving.Semigroup.Internal Methods gsappend :: Last a -> Last a -> Last a Source # gstimes :: Integral b => b -> Last a -> Last a Source # gsconcat :: NonEmpty (Last a) -> Last a Source #
GShow a => GShow (Last a) Source # |
Instance details Defined in Generics.Deriving.Show Methods gshowsPrec :: Int -> Last a -> ShowS Source # gshows :: Last a -> ShowS Source # gshow :: Last a -> String Source # gshowList :: [Last a] -> ShowS Source #
Monoid (Last a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods mempty :: Last a Source # mappend :: Last a -> Last a -> Last a Source # mconcat :: [Last a] -> Last a Source #
Semigroup (Last a) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods (<>) :: Last a -> Last a -> Last a Source # sconcat :: NonEmpty (Last a) -> Last a Source # stimes :: Integral b => b -> Last a -> Last a Source #
Generic (Last a) |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep (Last a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep (Last a) = D1 ('MetaData "Last" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

Methods

from :: Last a -> Rep (Last a) x Source #

to :: Rep (Last a) x -> Last a Source #

Read a => Read (Last a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods readsPrec :: Int -> ReadS (Last a) Source # readList :: ReadS [Last a] Source # readPrec :: ReadPrec (Last a) Source # readListPrec :: ReadPrec [Last a] Source #
Show a => Show (Last a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods showsPrec :: Int -> Last a -> ShowS Source # show :: Last a -> String Source # showList :: [Last a] -> ShowS Source #
Eq a => Eq (Last a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods (==) :: Last a -> Last a -> Bool Source # (/=) :: Last a -> Last a -> Bool Source #
Ord a => Ord (Last a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods compare :: Last a -> Last a -> Ordering Source # (<) :: Last a -> Last a -> Bool Source # (<=) :: Last a -> Last a -> Bool Source # (>) :: Last a -> Last a -> Bool Source # (>=) :: Last a -> Last a -> Bool Source # max :: Last a -> Last a -> Last a Source # min :: Last a -> Last a -> Last a Source #
type Rep1 Last | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep1 Last = D1 ('MetaData "Last" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe)))
type Rep (Last a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep (Last a) = D1 ('MetaData "Last" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

newtype First a Source #

Maybe monoid returning the leftmost non-`Nothing` value.

``First` a` is isomorphic to ``Alt` `Maybe` a`, but precedes it historically.

Beware that `Data.Monoid.``First` is different from `Data.Semigroup.``First`. The former returns the first non-`Nothing`, so `Data.Monoid.First Nothing <> x = x`. The latter simply returns the first value, thus `Data.Semigroup.First Nothing <> x = Data.Semigroup.First Nothing`.

#### Examples

Expand

    >>> First (Just "hello") <> First Nothing <> First (Just "world")
    First {getFirst = Just "hello"}

    >>> First Nothing <> mempty
    First {getFirst = Nothing}

Constructors

First |

Fields

- getFirst :: Maybe a

#### Instances

Instances details

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 #
GFoldable First Source # |

Instance details

Defined in Generics.Deriving.Foldable

Methods

gfoldMap :: Monoid m => (a -> m) -> First a -> m Source #

gfold :: Monoid m => First m -> m Source #

gfoldr :: (a -> b -> b) -> b -> First a -> b Source #

gfoldr' :: (a -> b -> b) -> b -> First a -> b Source #

gfoldl :: (a -> b -> a) -> a -> First b -> a Source #

gfoldl' :: (a -> b -> a) -> a -> First b -> a Source #

gfoldr1 :: (a -> a -> a) -> First a -> a Source #

gfoldl1 :: (a -> a -> a) -> First a -> a Source #

GFunctor First Source # |
Instance details Defined in Generics.Deriving.Functor Methods gmap :: (a -> b) -> First a -> First b Source #
GTraversable First Source # |
Instance details Defined in Generics.Deriving.Traversable Methods gtraverse :: Applicative f => (a -> f b) -> First a -> f (First b) Source # gsequenceA :: Applicative f => First (f a) -> f (First a) Source # gmapM :: Monad m => (a -> m b) -> First a -> m (First b) Source # gsequence :: Monad m => First (m a) -> m (First a) Source #
Applicative First | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods pure :: a -> First a Source # (<*>) :: First (a -> b) -> First a -> First b Source # liftA2 :: (a -> b -> c) -> First a -> First b -> First c Source # (*>) :: First a -> First b -> First b Source # (<*) :: First a -> First b -> First a Source #
Functor First | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods fmap :: (a -> b) -> First a -> First b Source # (<$) :: a -> First b -> First a Source #
Monad First | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods (>>=) :: First a -> (a -> First b) -> First b Source # (>>) :: First a -> First b -> First b Source # return :: a -> First a Source #
Foldable First | Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Foldable

Methods

fold :: Monoid m => First m -> m Source #

foldMap :: Monoid m => (a -> m) -> First a -> m Source #

foldMap' :: Monoid m => (a -> m) -> First a -> m Source #

foldr :: (a -> b -> b) -> b -> First a -> b Source #

foldr' :: (a -> b -> b) -> b -> First a -> b Source #

foldl :: (b -> a -> b) -> b -> First a -> b Source #

foldl' :: (b -> a -> b) -> b -> First a -> b Source #

foldr1 :: (a -> a -> a) -> First a -> a Source #

foldl1 :: (a -> a -> a) -> First a -> a Source #

toList :: First a -> [a] Source #

null :: First a -> Bool Source #

length :: First a -> Int Source #

elem :: Eq a => a -> First a -> Bool Source #

maximum :: Ord a => First a -> a Source #

minimum :: Ord a => First a -> a Source #

sum :: Num a => First a -> a Source #

product :: Num a => First a -> a Source #

Traversable First | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> First a -> f (First b) Source # sequenceA :: Applicative f => First (f a) -> f (First a) Source # mapM :: Monad m => (a -> m b) -> First a -> m (First b) Source # sequence :: Monad m => First (m a) -> m (First a) Source #
Generic1 First |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep1 First | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep1 First = D1 ('MetaData "First" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe)))

Methods

from1 :: First a -> Rep1 First a Source #

to1 :: Rep1 First a -> First a Source #

GEnum a => GEnum (First a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods genum :: [First a] Source #
(GEq a, GEnum a, GIx a) => GIx (First a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods range :: (First a, First a) -> [First a] Source # index :: (First a, First a) -> First a -> Int Source # inRange :: (First a, First a) -> First a -> Bool Source #
GEq a => GEq (First a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: First a -> First a -> Bool Source #
GMonoid (First a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: First a Source # gmappend :: First a -> First a -> First a Source # gmconcat :: [First a] -> First a Source #
GSemigroup (First a) Source # |
Instance details Defined in Generics.Deriving.Semigroup.Internal Methods gsappend :: First a -> First a -> First a Source # gstimes :: Integral b => b -> First a -> First a Source # gsconcat :: NonEmpty (First a) -> First a Source #
GShow a => GShow (First a) Source # |
Instance details Defined in Generics.Deriving.Show Methods gshowsPrec :: Int -> First a -> ShowS Source # gshows :: First a -> ShowS Source # gshow :: First a -> String Source # gshowList :: [First a] -> ShowS Source #
Monoid (First a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods mempty :: First a Source # mappend :: First a -> First a -> First a Source # mconcat :: [First a] -> First a Source #
Semigroup (First a) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods (<>) :: First a -> First a -> First a Source # sconcat :: NonEmpty (First a) -> First a Source # stimes :: Integral b => b -> First a -> First a Source #
Generic (First a) |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep (First a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep (First a) = D1 ('MetaData "First" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

Methods

from :: First a -> Rep (First a) x Source #

to :: Rep (First a) x -> First a Source #

Read a => Read (First a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods readsPrec :: Int -> ReadS (First a) Source # readList :: ReadS [First a] Source # readPrec :: ReadPrec (First a) Source # readListPrec :: ReadPrec [First a] Source #
Show a => Show (First a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods showsPrec :: Int -> First a -> ShowS Source # show :: First a -> String Source # showList :: [First a] -> ShowS Source #
Eq a => Eq (First a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods (==) :: First a -> First a -> Bool Source # (/=) :: First a -> First a -> Bool Source #
Ord a => Ord (First a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods compare :: First a -> First a -> Ordering Source # (<) :: First a -> First a -> Bool Source # (<=) :: First a -> First a -> Bool Source # (>) :: First a -> First a -> Bool Source # (>=) :: First a -> First a -> Bool Source # max :: First a -> First a -> First a Source # min :: First a -> First a -> First a Source #
type Rep1 First | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep1 First = D1 ('MetaData "First" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe)))
type Rep (First a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep (First a) = D1 ('MetaData "First" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a))))

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

An associative operation.

#### Examples

Expand

    >>> [1,2,3] <> [4,5,6]
    [1,2,3,4,5,6]

    >>> Just [1, 2, 3] <> Just [4, 5, 6]
    Just [1,2,3,4,5,6]

    >>> putStr "Hello, " <> putStrLn "World!"
    Hello, World!

class Semigroup a => Monoid a where Source #

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

Right identity
  `x `<>` `mempty` = x`
Left identity
  ``mempty` `<>` x = x`
Associativity
  `x `<>` (y `<>` z) = (x `<>` y) `<>` z` (`Semigroup` law)
Concatenation
  ``mconcat` = `foldr` (`<>`) `mempty``

You can alternatively define `mconcat` instead of `mempty`, in which case the laws are:

Unit
  ``mconcat` (`pure` x) = x`
Multiplication
  ``mconcat` (`join` xss) = `mconcat` (`fmap` `mconcat` xss)`
Subclass
  ``mconcat` (`toList` xs) = `sconcat` xs`

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 `newtype`s 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 | mconcat

Methods

mempty :: a Source #

Identity of `mappend`

#### Examples

Expand

    >>> "Hello world" <> mempty
    "Hello world"

    >>> mempty <> [1, 2, 3]
    [1,2,3]

mappend :: a -> a -> a Source #

An associative operation

NOTE: This method is redundant and has the default implementation ``mappend` = (`<>`)` since base-4.11.0.0. Should it be implemented manually, since `mappend` is a synonym for (`<>`), it is expected that the two functions are defined the same way. In a future GHC release `mappend` will be removed from `Monoid`.

mconcat :: [a] -> a Source #

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.

    >>> mconcat ["Hello", " ", "Haskell", "!"]
    "Hello Haskell!"

#### Instances

Instances details

Monoid ByteArray | Since: base-4.17.0.0
Instance details Defined in Data.Array.Byte Methods mempty :: ByteArray Source # mappend :: ByteArray -> ByteArray -> ByteArray Source # mconcat :: [ByteArray] -> ByteArray Source #
Monoid IntSet |
Instance details Defined in Data.IntSet.Internal Methods mempty :: IntSet Source # mappend :: IntSet -> IntSet -> IntSet Source # mconcat :: [IntSet] -> IntSet Source #
Monoid All | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: All Source # mappend :: All -> All -> All Source # mconcat :: [All] -> All Source #
Monoid Any | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Any Source # mappend :: Any -> Any -> Any Source # mconcat :: [Any] -> Any Source #
Monoid ExceptionContext |
Instance details Defined in GHC.Internal.Exception.Context Methods mempty :: ExceptionContext Source # mappend :: ExceptionContext -> ExceptionContext -> ExceptionContext Source # mconcat :: [ExceptionContext] -> ExceptionContext Source #
Monoid Ordering | Since: base-2.1
Instance details Defined in GHC.Internal.Base Methods mempty :: Ordering Source # mappend :: Ordering -> Ordering -> Ordering Source # mconcat :: [Ordering] -> Ordering Source #
Monoid () | Since: base-2.1
Instance details Defined in GHC.Internal.Base Methods mempty :: () Source # mappend :: () -> () -> () Source # mconcat :: [()] -> () Source #

Monoid (Comparison a)

``mempty`` on comparisons always returns `EQ`. Without newtypes this equals ``pure` (`pure` EQ)`.

    mempty :: Comparison a
    mempty = Comparison _ _ -> EQ

Instance details Defined in Data.Functor.Contravariant Methods mempty :: Comparison a Source # mappend :: Comparison a -> Comparison a -> Comparison a Source # mconcat :: [Comparison a] -> Comparison a Source #

Monoid (Equivalence a)

``mempty`` on equivalences always returns `True`. Without newtypes this equals ``pure` (`pure` True)`.

    mempty :: Equivalence a
    mempty = Equivalence _ _ -> True

Instance details Defined in Data.Functor.Contravariant Methods mempty :: Equivalence a Source # mappend :: Equivalence a -> Equivalence a -> Equivalence a Source # mconcat :: [Equivalence a] -> Equivalence a Source #

Monoid (Predicate a)

``mempty`` on predicates always returns `True`. Without newtypes this equals ``pure` True`.

    mempty :: Predicate a
    mempty = _ -> True

Instance details Defined in Data.Functor.Contravariant Methods mempty :: Predicate a Source # mappend :: Predicate a -> Predicate a -> Predicate a Source # mconcat :: [Predicate a] -> Predicate a Source #
(Ord a, Bounded a) => Monoid (Max a) | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup Methods mempty :: Max a Source # mappend :: Max a -> Max a -> Max a Source # mconcat :: [Max a] -> Max a Source #
(Ord a, Bounded a) => Monoid (Min a) | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup Methods mempty :: Min a Source # mappend :: Min a -> Min a -> Min a Source # mconcat :: [Min a] -> Min a Source #
Monoid m => Monoid (WrappedMonoid m) | Since: base-4.9.0.0
Instance details Defined in Data.Semigroup Methods mempty :: WrappedMonoid m Source # mappend :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m Source # mconcat :: [WrappedMonoid m] -> WrappedMonoid m Source #
Monoid (IntMap a) |
Instance details Defined in Data.IntMap.Internal Methods mempty :: IntMap a Source # mappend :: IntMap a -> IntMap a -> IntMap a Source # mconcat :: [IntMap a] -> IntMap a Source #
Monoid (Seq a) |
Instance details Defined in Data.Sequence.Internal Methods mempty :: Seq a Source # mappend :: Seq a -> Seq a -> Seq a Source # mconcat :: [Seq a] -> Seq a Source #
Monoid (MergeSet a) |
Instance details Defined in Data.Set.Internal Methods mempty :: MergeSet a Source # mappend :: MergeSet a -> MergeSet a -> MergeSet a Source # mconcat :: [MergeSet a] -> MergeSet a Source #
Ord a => Monoid (Set a) |
Instance details Defined in Data.Set.Internal Methods mempty :: Set a Source # mappend :: Set a -> Set a -> Set a Source # mconcat :: [Set a] -> Set a Source #
Monoid a => Monoid (Identity a) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Functor.Identity Methods mempty :: Identity a Source # mappend :: Identity a -> Identity a -> Identity a Source # mconcat :: [Identity a] -> Identity a Source #
Monoid (First a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods mempty :: First a Source # mappend :: First a -> First a -> First a Source # mconcat :: [First a] -> First a Source #
Monoid (Last a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Monoid Methods mempty :: Last a Source # mappend :: Last a -> Last a -> Last a Source # mconcat :: [Last a] -> Last a Source #
Monoid a => Monoid (Down a) | Since: base-4.11.0.0
Instance details Defined in GHC.Internal.Data.Ord Methods mempty :: Down a Source # mappend :: Down a -> Down a -> Down a Source # mconcat :: [Down a] -> Down a Source #
Monoid a => Monoid (Dual a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Dual a Source # mappend :: Dual a -> Dual a -> Dual a Source # mconcat :: [Dual a] -> Dual a Source #
Monoid (Endo a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Endo a Source # mappend :: Endo a -> Endo a -> Endo a Source # mconcat :: [Endo a] -> Endo a Source #
Num a => Monoid (Product a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Product a Source # mappend :: Product a -> Product a -> Product a Source # mconcat :: [Product a] -> Product a Source #
Num a => Monoid (Sum a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Sum a Source # mappend :: Sum a -> Sum a -> Sum a Source # mconcat :: [Sum a] -> Sum a Source #
(Generic a, Monoid (Rep a ())) => Monoid (Generically a) | Since: base-4.17.0.0
Instance details Defined in GHC.Internal.Generics Methods mempty :: Generically a Source # mappend :: Generically a -> Generically a -> Generically a Source # mconcat :: [Generically a] -> Generically a Source #
Monoid p => Monoid (Par1 p) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Generics Methods mempty :: Par1 p Source # mappend :: Par1 p -> Par1 p -> Par1 p Source # mconcat :: [Par1 p] -> Par1 p Source #
Monoid a => Monoid (IO a) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Base Methods mempty :: IO a Source # mappend :: IO a -> IO a -> IO a Source # mconcat :: [IO a] -> IO a Source #
Monoid a => Monoid (Q a) | Since: template-haskell-2.17.0.0
Instance details Defined in Language.Haskell.TH.Syntax Methods mempty :: Q a Source # mappend :: Q a -> Q a -> Q a Source # mconcat :: [Q a] -> Q a Source #
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.Internal.Base Methods mempty :: Maybe a Source # mappend :: Maybe a -> Maybe a -> Maybe a Source # mconcat :: [Maybe a] -> Maybe a Source #
Monoid a => Monoid (Solo a) | Since: base-4.15
Instance details Defined in GHC.Internal.Base Methods mempty :: Solo a Source # mappend :: Solo a -> Solo a -> Solo a Source # mconcat :: [Solo a] -> Solo a Source #
Monoid [a] | Since: base-2.1
Instance details Defined in GHC.Internal.Base Methods mempty :: [a] Source # mappend :: [a] -> [a] -> [a] Source # mconcat :: [[a]] -> [a] Source #

Monoid a => Monoid (Op a b)

``mempty` @(Op a b)` without newtypes is `mempty @(b->a)` = `_ -> mempty`.

    mempty :: Op a b
    mempty = Op _ -> mempty

Instance details Defined in Data.Functor.Contravariant Methods mempty :: Op a b Source # mappend :: Op a b -> Op a b -> Op a b Source # mconcat :: [Op a b] -> Op a b Source #
Ord k => Monoid (Map k v) |
Instance details Defined in Data.Map.Internal Methods mempty :: Map k v Source # mappend :: Map k v -> Map k v -> Map k v Source # mconcat :: [Map k v] -> Map k v Source #
Monoid (Proxy s) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Proxy Methods mempty :: Proxy s Source # mappend :: Proxy s -> Proxy s -> Proxy s Source # mconcat :: [Proxy s] -> Proxy s Source #
Monoid (U1 p) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Generics Methods mempty :: U1 p Source # mappend :: U1 p -> U1 p -> U1 p Source # mconcat :: [U1 p] -> U1 p Source #
(Monoid a, Monoid b) => Monoid (a, b) | Since: base-2.1
Instance details Defined in GHC.Internal.Base Methods mempty :: (a, b) Source # mappend :: (a, b) -> (a, b) -> (a, b) Source # mconcat :: [(a, b)] -> (a, b) Source #
Monoid b => Monoid (a -> b) | Since: base-2.1
Instance details Defined in GHC.Internal.Base Methods mempty :: a -> b Source # mappend :: (a -> b) -> (a -> b) -> a -> b Source # mconcat :: [a -> b] -> a -> b Source #
Monoid a => Monoid (Const a b) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Functor.Const Methods mempty :: Const a b Source # mappend :: Const a b -> Const a b -> Const a b Source # mconcat :: [Const a b] -> Const a b Source #
(Applicative f, Monoid a) => Monoid (Ap f a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods mempty :: Ap f a Source # mappend :: Ap f a -> Ap f a -> Ap f a Source # mconcat :: [Ap f a] -> Ap f a Source #
Alternative f => Monoid (Alt f a) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Alt f a Source # mappend :: Alt f a -> Alt f a -> Alt f a Source # mconcat :: [Alt f a] -> Alt f a Source #
Monoid (f p) => Monoid (Rec1 f p) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Generics Methods mempty :: Rec1 f p Source # mappend :: Rec1 f p -> Rec1 f p -> Rec1 f p Source # mconcat :: [Rec1 f p] -> Rec1 f p Source #
(Monoid a, Monoid b, Monoid c) => Monoid (a, b, c) | Since: base-2.1
Instance details Defined in GHC.Internal.Base Methods mempty :: (a, b, c) Source # mappend :: (a, b, c) -> (a, b, c) -> (a, b, c) Source # mconcat :: [(a, b, c)] -> (a, b, c) Source #
(Monoid (f a), Monoid (g a)) => Monoid (Product f g a) | Since: base-4.16.0.0
Instance details Defined in Data.Functor.Product Methods mempty :: Product f g a Source # mappend :: Product f g a -> Product f g a -> Product f g a Source # mconcat :: [Product f g a] -> Product f g a Source #
(Monoid (f p), Monoid (g p)) => Monoid ((f :*: g) p) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Generics Methods mempty :: (f :*: g) p Source # mappend :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p Source # mconcat :: [(f :*: g) p] -> (f :*: g) p Source #
Monoid c => Monoid (K1 i c p) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Generics Methods mempty :: K1 i c p Source # mappend :: K1 i c p -> K1 i c p -> K1 i c p Source # mconcat :: [K1 i c p] -> K1 i c p Source #
(Monoid a, Monoid b, Monoid c, Monoid d) => Monoid (a, b, c, d) | Since: base-2.1
Instance details Defined in GHC.Internal.Base Methods mempty :: (a, b, c, d) Source # mappend :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) Source # mconcat :: [(a, b, c, d)] -> (a, b, c, d) Source #
Monoid (f (g a)) => Monoid (Compose f g a) | Since: base-4.16.0.0
Instance details Defined in Data.Functor.Compose Methods mempty :: Compose f g a Source # mappend :: Compose f g a -> Compose f g a -> Compose f g a Source # mconcat :: [Compose f g a] -> Compose f g a Source #
Monoid (f (g p)) => Monoid ((f :.: g) p) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Generics Methods mempty :: (f :.: g) p Source # mappend :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p Source # mconcat :: [(f :.: g) p] -> (f :.: g) p Source #
Monoid (f p) => Monoid (M1 i c f p) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Generics Methods mempty :: M1 i c f p Source # mappend :: M1 i c f p -> M1 i c f p -> M1 i c f p Source # mconcat :: [M1 i c f p] -> M1 i c f p Source #
(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.Internal.Base Methods mempty :: (a, b, c, d, e) Source # mappend :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) Source # mconcat :: [(a, b, c, d, e)] -> (a, b, c, d, e) Source #

newtype Alt (f :: k -> Type) (a :: k) Source #

Monoid under `<|>`.

    Alt l <> Alt r == Alt (l <|> r)

#### Examples

Expand

    >>> Alt (Just 12) <> Alt (Just 24)
    Alt {getAlt = Just 12}

    >>> Alt Nothing <> Alt (Just 24)
    Alt {getAlt = Just 24}

Since: base-4.8.0.0

Constructors

Alt |

Fields

- getAlt :: f a

#### Instances

Instances details

Generic1 (Alt f :: k -> Type) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep1 (Alt f :: k -> Type) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 (Alt f :: k -> Type) = D1 ('MetaData "Alt" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). Alt f a -> Rep1 (Alt f) a Source #

to1 :: forall (a :: k). Rep1 (Alt f) a -> Alt f a Source #

MonadZip f => MonadZip (Alt f) | Since: base-4.8.0.0
Instance details Defined in Control.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 c Source # munzip :: Alt f (a, b) -> (Alt f a, Alt f b) Source #
Foldable1 f => Foldable1 (Alt f) | Since: base-4.18.0.0

Instance details

Defined in Data.Foldable1

Methods

fold1 :: Semigroup m => Alt f m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Alt f a -> m Source #

foldMap1' :: Semigroup m => (a -> m) -> Alt f a -> m Source #

toNonEmpty :: Alt f a -> NonEmpty a Source #

maximum :: Ord a => Alt f a -> a Source #

minimum :: Ord a => Alt f a -> a Source #

head :: Alt f a -> a Source #

last :: Alt f a -> a Source #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> Alt f a -> b Source #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Alt f a -> b Source #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> Alt f a -> b Source #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Alt f a -> b Source #

Contravariant f => Contravariant (Alt f) |
Instance details Defined in Data.Functor.Contravariant Methods contramap :: (a' -> a) -> Alt f a -> Alt f a' Source # (>$) :: b -> Alt f b -> Alt f a Source #
GCopoint f => GCopoint (Alt f) Source # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Alt f a -> a Source #
GFunctor f => GFunctor (Alt f) Source # |
Instance details Defined in Generics.Deriving.Functor Methods gmap :: (a -> b) -> Alt f a -> Alt f b Source #
Alternative f => Alternative (Alt f) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods empty :: Alt f a Source # (<|>) :: Alt f a -> Alt f a -> Alt f a Source # some :: Alt f a -> Alt f [a] Source # many :: Alt f a -> Alt f [a] Source #
Applicative f => Applicative (Alt f) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods pure :: a -> Alt f a Source # (<*>) :: Alt f (a -> b) -> Alt f a -> Alt f b Source # liftA2 :: (a -> b -> c) -> Alt f a -> Alt f b -> Alt f c Source # (*>) :: Alt f a -> Alt f b -> Alt f b Source # (<*) :: Alt f a -> Alt f b -> Alt f a Source #
Functor f => Functor (Alt f) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods fmap :: (a -> b) -> Alt f a -> Alt f b Source # (<$) :: a -> Alt f b -> Alt f a Source #
Monad f => Monad (Alt f) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (>>=) :: Alt f a -> (a -> Alt f b) -> Alt f b Source # (>>) :: Alt f a -> Alt f b -> Alt f b Source # return :: a -> Alt f a Source #
MonadPlus f => MonadPlus (Alt f) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mzero :: Alt f a Source # mplus :: Alt f a -> Alt f a -> Alt f a Source #
Foldable f => Foldable (Alt f) | Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Data.Foldable

Methods

fold :: Monoid m => Alt f m -> m Source #

foldMap :: Monoid m => (a -> m) -> Alt f a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Alt f a -> m Source #

foldr :: (a -> b -> b) -> b -> Alt f a -> b Source #

foldr' :: (a -> b -> b) -> b -> Alt f a -> b Source #

foldl :: (b -> a -> b) -> b -> Alt f a -> b Source #

foldl' :: (b -> a -> b) -> b -> Alt f a -> b Source #

foldr1 :: (a -> a -> a) -> Alt f a -> a Source #

foldl1 :: (a -> a -> a) -> Alt f a -> a Source #

toList :: Alt f a -> [a] Source #

null :: Alt f a -> Bool Source #

length :: Alt f a -> Int Source #

elem :: Eq a => a -> Alt f a -> Bool Source #

maximum :: Ord a => Alt f a -> a Source #

minimum :: Ord a => Alt f a -> a Source #

sum :: Num a => Alt f a -> a Source #

product :: Num a => Alt f a -> a Source #

Traversable f => Traversable (Alt f) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Traversable Methods traverse :: Applicative f0 => (a -> f0 b) -> Alt f a -> f0 (Alt f b) Source # sequenceA :: Applicative f0 => Alt f (f0 a) -> f0 (Alt f a) Source # mapM :: Monad m => (a -> m b) -> Alt f a -> m (Alt f b) Source # sequence :: Monad m => Alt f (m a) -> m (Alt f a) Source #
GEnum (f a) => GEnum (Alt f a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods genum :: [Alt f a] Source #
(GEq (f a), GEnum (f a), GIx (f a)) => GIx (Alt f a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods range :: (Alt f a, Alt f a) -> [Alt f a] Source # index :: (Alt f a, Alt f a) -> Alt f a -> Int Source # inRange :: (Alt f a, Alt f a) -> Alt f a -> Bool Source #
GEq (f a) => GEq (Alt f a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Alt f a -> Alt f a -> Bool Source #
Alternative f => GMonoid (Alt f a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Alt f a Source # gmappend :: Alt f a -> Alt f a -> Alt f a Source # gmconcat :: [Alt f a] -> Alt f a Source #
Alternative f => GSemigroup (Alt f a) Source # |
Instance details Defined in Generics.Deriving.Semigroup.Internal Methods gsappend :: Alt f a -> Alt f a -> Alt f a Source # gstimes :: Integral b => b -> Alt f a -> Alt f a Source # gsconcat :: NonEmpty (Alt f a) -> Alt f a Source #
GShow (f a) => GShow (Alt f a) Source # |
Instance details Defined in Generics.Deriving.Show Methods gshowsPrec :: Int -> Alt f a -> ShowS Source # gshows :: Alt f a -> ShowS Source # gshow :: Alt f a -> String Source # gshowList :: [Alt f a] -> ShowS Source #
Alternative f => Monoid (Alt f a) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Alt f a Source # mappend :: Alt f a -> Alt f a -> Alt f a Source # mconcat :: [Alt f a] -> Alt f a Source #
Alternative f => Semigroup (Alt f a) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (<>) :: Alt f a -> Alt f a -> Alt f a Source # sconcat :: NonEmpty (Alt f a) -> Alt f a Source # stimes :: Integral b => b -> Alt f a -> Alt f a Source #
Enum (f a) => Enum (Alt f a) | Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

succ :: Alt f a -> Alt f a Source #

pred :: Alt f a -> Alt f a Source #

toEnum :: Int -> Alt f a Source #

fromEnum :: Alt f a -> Int Source #

enumFrom :: Alt f a -> [Alt f a] Source #

enumFromThen :: Alt f a -> Alt f a -> [Alt f a] Source #

enumFromTo :: Alt f a -> Alt f a -> [Alt f a] Source #

enumFromThenTo :: Alt f a -> Alt f a -> Alt f a -> [Alt f a] Source #

Generic (Alt f a) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep (Alt f a) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Alt f a) = D1 ('MetaData "Alt" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: Alt f a -> Rep (Alt f a) x Source #

to :: Rep (Alt f a) x -> Alt f a Source #

Num (f a) => Num (Alt f a) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (+) :: Alt f a -> Alt f a -> Alt f a Source # (-) :: Alt f a -> Alt f a -> Alt f a Source # (*) :: Alt f a -> Alt f a -> Alt f a Source # negate :: Alt f a -> Alt f a Source # abs :: Alt f a -> Alt f a Source # signum :: Alt f a -> Alt f a Source # fromInteger :: Integer -> Alt f a Source #
Read (f a) => Read (Alt f a) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods readsPrec :: Int -> ReadS (Alt f a) Source # readList :: ReadS [Alt f a] Source # readPrec :: ReadPrec (Alt f a) Source # readListPrec :: ReadPrec [Alt f a] Source #
Show (f a) => Show (Alt f a) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods showsPrec :: Int -> Alt f a -> ShowS Source # show :: Alt f a -> String Source # showList :: [Alt f a] -> ShowS Source #
Eq (f a) => Eq (Alt f a) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (==) :: Alt f a -> Alt f a -> Bool Source # (/=) :: Alt f a -> Alt f a -> Bool Source #
Ord (f a) => Ord (Alt f a) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods compare :: Alt f a -> Alt f a -> Ordering Source # (<) :: Alt f a -> Alt f a -> Bool Source # (<=) :: Alt f a -> Alt f a -> Bool Source # (>) :: Alt f a -> Alt f a -> Bool Source # (>=) :: Alt f a -> Alt f a -> Bool Source # max :: Alt f a -> Alt f a -> Alt f a Source # min :: Alt f a -> Alt f a -> Alt f a Source #
type Rep1 (Alt f :: k -> Type) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 (Alt f :: k -> Type) = D1 ('MetaData "Alt" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep (Alt f a) | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Alt f a) = D1 ('MetaData "Alt" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

newtype Product a Source #

Monoid under multiplication.

    Product x <> Product y == Product (x * y)

#### Examples

Expand

    >>> Product 3 <> Product 4 <> mempty
    Product {getProduct = 12}

    >>> mconcat [ Product n | n <- [2 .. 10]]
    Product {getProduct = 3628800}

Constructors

Product |

Fields

- getProduct :: a

#### Instances

Instances details

MonadZip Product | Since: base-4.8.0.0
Instance details Defined in Control.Monad.Zip Methods 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 #
Foldable1 Product | Since: base-4.18.0.0

Instance details

Defined in Data.Foldable1

Methods

fold1 :: Semigroup m => Product m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Product a -> m Source #

foldMap1' :: Semigroup m => (a -> m) -> Product a -> m Source #

toNonEmpty :: Product a -> NonEmpty a Source #

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

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

head :: Product a -> a Source #

last :: Product a -> a Source #

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

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Product a -> b Source #

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

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Product a -> b Source #

GFoldable Product Source # |

Instance details

Defined in Generics.Deriving.Foldable

Methods

gfoldMap :: Monoid m => (a -> m) -> Product a -> m Source #

gfold :: Monoid m => Product m -> m Source #

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

gfoldr' :: (a -> b -> b) -> b -> Product a -> b Source #

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

gfoldl' :: (a -> b -> a) -> a -> Product b -> a Source #

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

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

GFunctor Product Source # |
Instance details Defined in Generics.Deriving.Functor Methods gmap :: (a -> b) -> Product a -> Product b Source #
GTraversable Product Source # |
Instance details Defined in Generics.Deriving.Traversable Methods gtraverse :: Applicative f => (a -> f b) -> Product a -> f (Product b) Source # gsequenceA :: Applicative f => Product (f a) -> f (Product a) Source # gmapM :: Monad m => (a -> m b) -> Product a -> m (Product b) Source # gsequence :: Monad m => Product (m a) -> m (Product a) Source #
Applicative Product | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods pure :: a -> Product a Source # (<*>) :: Product (a -> b) -> Product a -> Product b Source # liftA2 :: (a -> b -> c) -> Product a -> Product b -> Product c Source # (*>) :: Product a -> Product b -> Product b Source # (<*) :: Product a -> Product b -> Product a Source #
Functor Product | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods fmap :: (a -> b) -> Product a -> Product b Source # (<$) :: a -> Product b -> Product a Source #
Monad Product | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (>>=) :: Product a -> (a -> Product b) -> Product b Source # (>>) :: Product a -> Product b -> Product b Source # return :: a -> Product a Source #
Foldable Product | Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Foldable

Methods

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

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

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

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

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

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

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

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

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

toList :: Product a -> [a] Source #

null :: Product a -> Bool Source #

length :: Product a -> Int Source #

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

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

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

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

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

Traversable Product | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> Product a -> f (Product b) Source # sequenceA :: Applicative f => Product (f a) -> f (Product a) Source # mapM :: Monad m => (a -> m b) -> Product a -> m (Product b) Source # sequence :: Monad m => Product (m a) -> m (Product a) Source #
Generic1 Product |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep1 Product | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 Product = D1 ('MetaData "Product" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Product a -> Rep1 Product a Source #

to1 :: Rep1 Product a -> Product a Source #

GEnum a => GEnum (Product a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods genum :: [Product a] Source #
(GEq a, GEnum a, GIx a) => GIx (Product a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods range :: (Product a, Product a) -> [Product a] Source # index :: (Product a, Product a) -> Product a -> Int Source # inRange :: (Product a, Product a) -> Product a -> Bool Source #
GEq a => GEq (Product a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Product a -> Product a -> Bool Source #
Num a => GMonoid (Product a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Product a Source # gmappend :: Product a -> Product a -> Product a Source # gmconcat :: [Product a] -> Product a Source #
Num a => GSemigroup (Product a) Source # |
Instance details Defined in Generics.Deriving.Semigroup.Internal Methods gsappend :: Product a -> Product a -> Product a Source # gstimes :: Integral b => b -> Product a -> Product a Source # gsconcat :: NonEmpty (Product a) -> Product a Source #
GShow a => GShow (Product a) Source # |
Instance details Defined in Generics.Deriving.Show Methods gshowsPrec :: Int -> Product a -> ShowS Source # gshows :: Product a -> ShowS Source # gshow :: Product a -> String Source # gshowList :: [Product a] -> ShowS Source #
Num a => Monoid (Product a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Product a Source # mappend :: Product a -> Product a -> Product a Source # mconcat :: [Product a] -> Product a Source #
Num a => Semigroup (Product a) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (<>) :: Product a -> Product a -> Product a Source # sconcat :: NonEmpty (Product a) -> Product a Source # stimes :: Integral b => b -> Product a -> Product a Source #
Bounded a => Bounded (Product a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods minBound :: Product a Source # maxBound :: Product a Source #
Generic (Product a) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep (Product a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Product a) = D1 ('MetaData "Product" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

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

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

Num a => Num (Product a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (+) :: Product a -> Product a -> Product a Source # (-) :: Product a -> Product a -> Product a Source # (*) :: Product a -> Product a -> Product a Source # negate :: Product a -> Product a Source # abs :: Product a -> Product a Source # signum :: Product a -> Product a Source # fromInteger :: Integer -> Product a Source #
Read a => Read (Product a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods readsPrec :: Int -> ReadS (Product a) Source # readList :: ReadS [Product a] Source # readPrec :: ReadPrec (Product a) Source # readListPrec :: ReadPrec [Product a] Source #
Show a => Show (Product a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods showsPrec :: Int -> Product a -> ShowS Source # show :: Product a -> String Source # showList :: [Product a] -> ShowS Source #
Eq a => Eq (Product a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (==) :: Product a -> Product a -> Bool Source # (/=) :: Product a -> Product a -> Bool Source #
Ord a => Ord (Product a) | Since: base-2.1

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Methods

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

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

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

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

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

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

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

type Rep1 Product | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 Product = D1 ('MetaData "Product" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
type Rep (Product a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Product a) = D1 ('MetaData "Product" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

newtype Sum a Source #

Monoid under addition.

    Sum a <> Sum b = Sum (a + b)

#### Examples

Expand

    >>> Sum 1 <> Sum 2 <> mempty
    Sum {getSum = 3}

    >>> mconcat [ Sum n | n <- [3 .. 9]]
    Sum {getSum = 42}

Constructors

Sum |

Fields

- getSum :: a

#### Instances

Instances details

MonadZip Sum | Since: base-4.8.0.0
Instance details Defined in Control.Monad.Zip Methods 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 #
Foldable1 Sum | Since: base-4.18.0.0

Instance details

Defined in Data.Foldable1

Methods

fold1 :: Semigroup m => Sum m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Sum a -> m Source #

foldMap1' :: Semigroup m => (a -> m) -> Sum a -> m Source #

toNonEmpty :: Sum a -> NonEmpty a Source #

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

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

head :: Sum a -> a Source #

last :: Sum a -> a Source #

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

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Sum a -> b Source #

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

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Sum a -> b Source #

GCopoint Sum Source # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Sum a -> a Source #
GFoldable Sum Source # |

Instance details

Defined in Generics.Deriving.Foldable

Methods

gfoldMap :: Monoid m => (a -> m) -> Sum a -> m Source #

gfold :: Monoid m => Sum m -> m Source #

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

gfoldr' :: (a -> b -> b) -> b -> Sum a -> b Source #

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

gfoldl' :: (a -> b -> a) -> a -> Sum b -> a Source #

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

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

GFunctor Sum Source # |
Instance details Defined in Generics.Deriving.Functor Methods gmap :: (a -> b) -> Sum a -> Sum b Source #
GTraversable Sum Source # |
Instance details Defined in Generics.Deriving.Traversable Methods gtraverse :: Applicative f => (a -> f b) -> Sum a -> f (Sum b) Source # gsequenceA :: Applicative f => Sum (f a) -> f (Sum a) Source # gmapM :: Monad m => (a -> m b) -> Sum a -> m (Sum b) Source # gsequence :: Monad m => Sum (m a) -> m (Sum a) Source #
Applicative Sum | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods pure :: a -> Sum a Source # (<*>) :: Sum (a -> b) -> Sum a -> Sum b Source # liftA2 :: (a -> b -> c) -> Sum a -> Sum b -> Sum c Source # (*>) :: Sum a -> Sum b -> Sum b Source # (<*) :: Sum a -> Sum b -> Sum a Source #
Functor Sum | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods fmap :: (a -> b) -> Sum a -> Sum b Source # (<$) :: a -> Sum b -> Sum a Source #
Monad Sum | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (>>=) :: Sum a -> (a -> Sum b) -> Sum b Source # (>>) :: Sum a -> Sum b -> Sum b Source # return :: a -> Sum a Source #
Foldable Sum | Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Foldable

Methods

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

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

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

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

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

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

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

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

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

toList :: Sum a -> [a] Source #

null :: Sum a -> Bool Source #

length :: Sum a -> Int Source #

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

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

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

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

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

Traversable Sum | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> Sum a -> f (Sum b) Source # sequenceA :: Applicative f => Sum (f a) -> f (Sum a) Source # mapM :: Monad m => (a -> m b) -> Sum a -> m (Sum b) Source # sequence :: Monad m => Sum (m a) -> m (Sum a) Source #
Generic1 Sum |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep1 Sum | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 Sum = D1 ('MetaData "Sum" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Sum a -> Rep1 Sum a Source #

to1 :: Rep1 Sum a -> Sum a Source #

GEnum a => GEnum (Sum a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods genum :: [Sum a] Source #
(GEq a, GEnum a, GIx a) => GIx (Sum a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods range :: (Sum a, Sum a) -> [Sum a] Source # index :: (Sum a, Sum a) -> Sum a -> Int Source # inRange :: (Sum a, Sum a) -> Sum a -> Bool Source #
GEq a => GEq (Sum a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Sum a -> Sum a -> Bool Source #
Num a => GMonoid (Sum a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Sum a Source # gmappend :: Sum a -> Sum a -> Sum a Source # gmconcat :: [Sum a] -> Sum a Source #
Num a => GSemigroup (Sum a) Source # |
Instance details Defined in Generics.Deriving.Semigroup.Internal Methods gsappend :: Sum a -> Sum a -> Sum a Source # gstimes :: Integral b => b -> Sum a -> Sum a Source # gsconcat :: NonEmpty (Sum a) -> Sum a Source #
GShow a => GShow (Sum a) Source # |
Instance details Defined in Generics.Deriving.Show Methods gshowsPrec :: Int -> Sum a -> ShowS Source # gshows :: Sum a -> ShowS Source # gshow :: Sum a -> String Source # gshowList :: [Sum a] -> ShowS Source #
Num a => Monoid (Sum a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Sum a Source # mappend :: Sum a -> Sum a -> Sum a Source # mconcat :: [Sum a] -> Sum a Source #
Num a => Semigroup (Sum a) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (<>) :: Sum a -> Sum a -> Sum a Source # sconcat :: NonEmpty (Sum a) -> Sum a Source # stimes :: Integral b => b -> Sum a -> Sum a Source #
Bounded a => Bounded (Sum a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods minBound :: Sum a Source # maxBound :: Sum a Source #
Generic (Sum a) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep (Sum a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Sum a) = D1 ('MetaData "Sum" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

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

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

Num a => Num (Sum a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (+) :: Sum a -> Sum a -> Sum a Source # (-) :: Sum a -> Sum a -> Sum a Source # (*) :: Sum a -> Sum a -> Sum a Source # negate :: Sum a -> Sum a Source # abs :: Sum a -> Sum a Source # signum :: Sum a -> Sum a Source # fromInteger :: Integer -> Sum a Source #
Read a => Read (Sum a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods readsPrec :: Int -> ReadS (Sum a) Source # readList :: ReadS [Sum a] Source # readPrec :: ReadPrec (Sum a) Source # readListPrec :: ReadPrec [Sum a] Source #
Show a => Show (Sum a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods showsPrec :: Int -> Sum a -> ShowS Source # show :: Sum a -> String Source # showList :: [Sum a] -> ShowS Source #
Eq a => Eq (Sum a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (==) :: Sum a -> Sum a -> Bool Source # (/=) :: Sum a -> Sum a -> Bool Source #
Ord a => Ord (Sum a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods compare :: Sum a -> Sum a -> Ordering Source # (<) :: Sum a -> Sum a -> Bool Source # (<=) :: Sum a -> Sum a -> Bool Source # (>) :: Sum a -> Sum a -> Bool Source # (>=) :: Sum a -> Sum a -> Bool Source # max :: Sum a -> Sum a -> Sum a Source # min :: Sum a -> Sum a -> Sum a Source #
type Rep1 Sum | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 Sum = D1 ('MetaData "Sum" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
type Rep (Sum a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Sum a) = D1 ('MetaData "Sum" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

newtype All Source #

Boolean monoid under conjunction `(&&)`.

    All x <> All y = All (x && y)

#### Examples

Expand

    >>> All True <> mempty <> All False)
    All {getAll = False}

    >>> mconcat (map (\x -> All (even x)) [2,4,6,7,8])
    All {getAll = False}

    >>> All True <> mempty
    All {getAll = True}

Constructors

All |

Fields

- getAll :: Bool

#### Instances

Instances details

GEnum All Source # |
Instance details Defined in Generics.Deriving.Enum Methods genum :: [All] Source #
GIx All Source # |
Instance details Defined in Generics.Deriving.Enum Methods range :: (All, All) -> [All] Source # index :: (All, All) -> All -> Int Source # inRange :: (All, All) -> All -> Bool Source #
GEq All Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: All -> All -> Bool Source #
GMonoid All Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: All Source # gmappend :: All -> All -> All Source # gmconcat :: [All] -> All Source #
GSemigroup All Source # |
Instance details Defined in Generics.Deriving.Semigroup.Internal Methods gsappend :: All -> All -> All Source # gstimes :: Integral b => b -> All -> All Source # gsconcat :: NonEmpty All -> All Source #
GShow All Source # |
Instance details Defined in Generics.Deriving.Show Methods gshowsPrec :: Int -> All -> ShowS Source # gshows :: All -> ShowS Source # gshow :: All -> String Source # gshowList :: [All] -> ShowS Source #
Monoid All | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: All Source # mappend :: All -> All -> All Source # mconcat :: [All] -> All Source #
Semigroup All | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (<>) :: All -> All -> All Source # sconcat :: NonEmpty All -> All Source # stimes :: Integral b => b -> All -> All Source #
Bounded All | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods minBound :: All Source # maxBound :: All Source #
Generic All |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep All | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep All = D1 ('MetaData "All" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "All" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAll") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

Methods

from :: All -> Rep All x Source #

to :: Rep All x -> All Source #

Read All | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods readsPrec :: Int -> ReadS All Source # readList :: ReadS [All] Source # readPrec :: ReadPrec All Source # readListPrec :: ReadPrec [All] Source #
Show All | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods showsPrec :: Int -> All -> ShowS Source # show :: All -> String Source # showList :: [All] -> ShowS Source #
Eq All | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (==) :: All -> All -> Bool Source # (/=) :: All -> All -> Bool Source #
Ord All | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods compare :: All -> All -> Ordering Source # (<) :: All -> All -> Bool Source # (<=) :: All -> All -> Bool Source # (>) :: All -> All -> Bool Source # (>=) :: All -> All -> Bool Source # max :: All -> All -> All Source # min :: All -> All -> All Source #
type Rep All | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep All = D1 ('MetaData "All" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "All" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAll") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

newtype Endo a Source #

The monoid of endomorphisms under composition.

    Endo f <> Endo g == Endo (f . g)

#### Examples

Expand

    >>> let computation = Endo ("Hello, " ++) <> Endo (++ "!")
    >>> appEndo computation "Haskell"
    "Hello, Haskell!"

    >>> let computation = Endo (*3) <> Endo (+1)
    >>> appEndo computation 1
    6

Constructors

Endo |

Fields

- appEndo :: a -> a

#### Instances

Instances details

GMonoid (Endo a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Endo a Source # gmappend :: Endo a -> Endo a -> Endo a Source # gmconcat :: [Endo a] -> Endo a Source #
GSemigroup (Endo a) Source # |
Instance details Defined in Generics.Deriving.Semigroup.Internal Methods gsappend :: Endo a -> Endo a -> Endo a Source # gstimes :: Integral b => b -> Endo a -> Endo a Source # gsconcat :: NonEmpty (Endo a) -> Endo a Source #
Monoid (Endo a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Endo a Source # mappend :: Endo a -> Endo a -> Endo a Source # mconcat :: [Endo a] -> Endo a Source #
Semigroup (Endo a) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (<>) :: Endo a -> Endo a -> Endo a Source # sconcat :: NonEmpty (Endo a) -> Endo a Source # stimes :: Integral b => b -> Endo a -> Endo a Source #
Generic (Endo a) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep (Endo a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Endo a) = D1 ('MetaData "Endo" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Endo" 'PrefixI 'True) (S1 ('MetaSel ('Just "appEndo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a -> a))))

Methods

from :: Endo a -> Rep (Endo a) x Source #

to :: Rep (Endo a) x -> Endo a Source #

type Rep (Endo a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Endo a) = D1 ('MetaData "Endo" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Endo" 'PrefixI 'True) (S1 ('MetaSel ('Just "appEndo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a -> a))))

newtype Dual a Source #

The dual of a `Monoid`, obtained by swapping the arguments of `(<>)`.

    Dual a <> Dual b == Dual (b <> a)

#### Examples

Expand

    >>> Dual "Hello" <> Dual "World"
    Dual {getDual = "WorldHello"}

    >>> Dual (Dual "Hello") <> Dual (Dual "World")
    Dual {getDual = Dual {getDual = "HelloWorld"}}

Constructors

Dual |

Fields

- getDual :: a

#### Instances

Instances details

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 #
Foldable1 Dual | Since: base-4.18.0.0

Instance details

Defined in Data.Foldable1

Methods

fold1 :: Semigroup m => Dual m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Dual a -> m Source #

foldMap1' :: Semigroup m => (a -> m) -> Dual a -> m Source #

toNonEmpty :: Dual a -> NonEmpty a Source #

maximum :: Ord a => Dual a -> a Source #

minimum :: Ord a => Dual a -> a Source #

head :: Dual a -> a Source #

last :: Dual a -> a Source #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> Dual a -> b Source #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Dual a -> b Source #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> Dual a -> b Source #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Dual a -> b Source #

GCopoint Dual Source # |
Instance details Defined in Generics.Deriving.Copoint Methods gcopoint :: Dual a -> a Source #
GFoldable Dual Source # |

Instance details

Defined in Generics.Deriving.Foldable

Methods

gfoldMap :: Monoid m => (a -> m) -> Dual a -> m Source #

gfold :: Monoid m => Dual m -> m Source #

gfoldr :: (a -> b -> b) -> b -> Dual a -> b Source #

gfoldr' :: (a -> b -> b) -> b -> Dual a -> b Source #

gfoldl :: (a -> b -> a) -> a -> Dual b -> a Source #

gfoldl' :: (a -> b -> a) -> a -> Dual b -> a Source #

gfoldr1 :: (a -> a -> a) -> Dual a -> a Source #

gfoldl1 :: (a -> a -> a) -> Dual a -> a Source #

GFunctor Dual Source # |
Instance details Defined in Generics.Deriving.Functor Methods gmap :: (a -> b) -> Dual a -> Dual b Source #
GTraversable Dual Source # |
Instance details Defined in Generics.Deriving.Traversable Methods gtraverse :: Applicative f => (a -> f b) -> Dual a -> f (Dual b) Source # gsequenceA :: Applicative f => Dual (f a) -> f (Dual a) Source # gmapM :: Monad m => (a -> m b) -> Dual a -> m (Dual b) Source # gsequence :: Monad m => Dual (m a) -> m (Dual a) Source #
Applicative Dual | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods pure :: a -> Dual a Source # (<*>) :: Dual (a -> b) -> Dual a -> Dual b Source # liftA2 :: (a -> b -> c) -> Dual a -> Dual b -> Dual c Source # (*>) :: Dual a -> Dual b -> Dual b Source # (<*) :: Dual a -> Dual b -> Dual a Source #
Functor Dual | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods fmap :: (a -> b) -> Dual a -> Dual b Source # (<$) :: a -> Dual b -> Dual a Source #
Monad Dual | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (>>=) :: Dual a -> (a -> Dual b) -> Dual b Source # (>>) :: Dual a -> Dual b -> Dual b Source # return :: a -> Dual a Source #
Foldable Dual | Since: base-4.8.0.0

Instance details

Defined in GHC.Internal.Data.Foldable

Methods

fold :: Monoid m => Dual m -> m Source #

foldMap :: Monoid m => (a -> m) -> Dual a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Dual a -> m Source #

foldr :: (a -> b -> b) -> b -> Dual a -> b Source #

foldr' :: (a -> b -> b) -> b -> Dual a -> b Source #

foldl :: (b -> a -> b) -> b -> Dual a -> b Source #

foldl' :: (b -> a -> b) -> b -> Dual a -> b Source #

foldr1 :: (a -> a -> a) -> Dual a -> a Source #

foldl1 :: (a -> a -> a) -> Dual a -> a Source #

toList :: Dual a -> [a] Source #

null :: Dual a -> Bool Source #

length :: Dual a -> Int Source #

elem :: Eq a => a -> Dual a -> Bool Source #

maximum :: Ord a => Dual a -> a Source #

minimum :: Ord a => Dual a -> a Source #

sum :: Num a => Dual a -> a Source #

product :: Num a => Dual a -> a Source #

Traversable Dual | Since: base-4.8.0.0
Instance details Defined in GHC.Internal.Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> Dual a -> f (Dual b) Source # sequenceA :: Applicative f => Dual (f a) -> f (Dual a) Source # mapM :: Monad m => (a -> m b) -> Dual a -> m (Dual b) Source # sequence :: Monad m => Dual (m a) -> m (Dual a) Source #
Generic1 Dual |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep1 Dual | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 Dual = D1 ('MetaData "Dual" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: Dual a -> Rep1 Dual a Source #

to1 :: Rep1 Dual a -> Dual a Source #

GEnum a => GEnum (Dual a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods genum :: [Dual a] Source #
(GEq a, GEnum a, GIx a) => GIx (Dual a) Source # |
Instance details Defined in Generics.Deriving.Enum Methods range :: (Dual a, Dual a) -> [Dual a] Source # index :: (Dual a, Dual a) -> Dual a -> Int Source # inRange :: (Dual a, Dual a) -> Dual a -> Bool Source #
GEq a => GEq (Dual a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Dual a -> Dual a -> Bool Source #
GMonoid a => GMonoid (Dual a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Dual a Source # gmappend :: Dual a -> Dual a -> Dual a Source # gmconcat :: [Dual a] -> Dual a Source #
GSemigroup a => GSemigroup (Dual a) Source # |
Instance details Defined in Generics.Deriving.Semigroup.Internal Methods gsappend :: Dual a -> Dual a -> Dual a Source # gstimes :: Integral b => b -> Dual a -> Dual a Source # gsconcat :: NonEmpty (Dual a) -> Dual a Source #
GShow a => GShow (Dual a) Source # |
Instance details Defined in Generics.Deriving.Show Methods gshowsPrec :: Int -> Dual a -> ShowS Source # gshows :: Dual a -> ShowS Source # gshow :: Dual a -> String Source # gshowList :: [Dual a] -> ShowS Source #
Monoid a => Monoid (Dual a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods mempty :: Dual a Source # mappend :: Dual a -> Dual a -> Dual a Source # mconcat :: [Dual a] -> Dual a Source #
Semigroup a => Semigroup (Dual a) | Since: base-4.9.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (<>) :: Dual a -> Dual a -> Dual a Source # sconcat :: NonEmpty (Dual a) -> Dual a Source # stimes :: Integral b => b -> Dual a -> Dual a Source #
Bounded a => Bounded (Dual a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods minBound :: Dual a Source # maxBound :: Dual a Source #
Generic (Dual a) |

Instance details

Defined in GHC.Internal.Data.Semigroup.Internal

Associated Types

type Rep (Dual a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Dual a) = D1 ('MetaData "Dual" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Dual a -> Rep (Dual a) x Source #

to :: Rep (Dual a) x -> Dual a Source #

Read a => Read (Dual a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods readsPrec :: Int -> ReadS (Dual a) Source # readList :: ReadS [Dual a] Source # readPrec :: ReadPrec (Dual a) Source # readListPrec :: ReadPrec [Dual a] Source #
Show a => Show (Dual a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods showsPrec :: Int -> Dual a -> ShowS Source # show :: Dual a -> String Source # showList :: [Dual a] -> ShowS Source #
Eq a => Eq (Dual a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods (==) :: Dual a -> Dual a -> Bool Source # (/=) :: Dual a -> Dual a -> Bool Source #
Ord a => Ord (Dual a) | Since: base-2.1
Instance details Defined in GHC.Internal.Data.Semigroup.Internal Methods compare :: Dual a -> Dual a -> Ordering Source # (<) :: Dual a -> Dual a -> Bool Source # (<=) :: Dual a -> Dual a -> Bool Source # (>) :: Dual a -> Dual a -> Bool Source # (>=) :: Dual a -> Dual a -> Bool Source # max :: Dual a -> Dual a -> Dual a Source # min :: Dual a -> Dual a -> Dual a Source #
type Rep1 Dual | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep1 Dual = D1 ('MetaData "Dual" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
type Rep (Dual a) | Since: base-4.7.0.0
Instance details Defined in GHC.Internal.Data.Semigroup.Internal type Rep (Dual a) = D1 ('MetaData "Dual" "GHC.Internal.Data.Semigroup.Internal" "ghc-internal" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

newtype Ap (f :: k -> Type) (a :: k) Source #

This data type witnesses the lifting of a `Monoid` into an `Applicative` pointwise.

#### Examples

Expand

    >>> Ap (Just [1, 2, 3]) <> Ap Nothing
    Ap {getAp = Nothing}

    >>> Ap [Sum 10, Sum 20] <> Ap [Sum 1, Sum 2]
    Ap {getAp = [Sum {getSum = 11},Sum {getSum = 12},Sum {getSum = 21},Sum {getSum = 22}]}

Since: base-4.12.0.0

Constructors

Ap |

Fields

- getAp :: f a

#### Instances

Instances details

Generic1 (Ap f :: k -> Type) |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep1 (Ap f :: k -> Type) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep1 (Ap f :: k -> Type) = D1 ('MetaData "Ap" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: forall (a :: k). Ap f a -> Rep1 (Ap f) a Source #

to1 :: forall (a :: k). Rep1 (Ap f) a -> Ap f a Source #

Foldable1 f => Foldable1 (Ap f) | Since: base-4.18.0.0

Instance details

Defined in Data.Foldable1

Methods

fold1 :: Semigroup m => Ap f m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> Ap f a -> m Source #

foldMap1' :: Semigroup m => (a -> m) -> Ap f a -> m Source #

toNonEmpty :: Ap f a -> NonEmpty a Source #

maximum :: Ord a => Ap f a -> a Source #

minimum :: Ord a => Ap f a -> a Source #

head :: Ap f a -> a Source #

last :: Ap f a -> a Source #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> Ap f a -> b Source #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Ap f a -> b Source #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> Ap f a -> b Source #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Ap f a -> b Source #

Alternative f => Alternative (Ap f) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods empty :: Ap f a Source # (<|>) :: Ap f a -> Ap f a -> Ap f a Source # some :: Ap f a -> Ap f [a] Source # many :: Ap f a -> Ap f [a] Source #
Applicative f => Applicative (Ap f) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods pure :: a -> Ap f a Source # (<*>) :: Ap f (a -> b) -> Ap f a -> Ap f b Source # liftA2 :: (a -> b -> c) -> Ap f a -> Ap f b -> Ap f c Source # (*>) :: Ap f a -> Ap f b -> Ap f b Source # (<*) :: Ap f a -> Ap f b -> Ap f a Source #
Functor f => Functor (Ap f) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods fmap :: (a -> b) -> Ap f a -> Ap f b Source # (<$) :: a -> Ap f b -> Ap f a Source #
Monad f => Monad (Ap f) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods (>>=) :: Ap f a -> (a -> Ap f b) -> Ap f b Source # (>>) :: Ap f a -> Ap f b -> Ap f b Source # return :: a -> Ap f a Source #
MonadPlus f => MonadPlus (Ap f) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods mzero :: Ap f a Source # mplus :: Ap f a -> Ap f a -> Ap f a Source #
MonadFail f => MonadFail (Ap f) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods fail :: String -> Ap f a Source #
Foldable f => Foldable (Ap f) | Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Data.Foldable

Methods

fold :: Monoid m => Ap f m -> m Source #

foldMap :: Monoid m => (a -> m) -> Ap f a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Ap f a -> m Source #

foldr :: (a -> b -> b) -> b -> Ap f a -> b Source #

foldr' :: (a -> b -> b) -> b -> Ap f a -> b Source #

foldl :: (b -> a -> b) -> b -> Ap f a -> b Source #

foldl' :: (b -> a -> b) -> b -> Ap f a -> b Source #

foldr1 :: (a -> a -> a) -> Ap f a -> a Source #

foldl1 :: (a -> a -> a) -> Ap f a -> a Source #

toList :: Ap f a -> [a] Source #

null :: Ap f a -> Bool Source #

length :: Ap f a -> Int Source #

elem :: Eq a => a -> Ap f a -> Bool Source #

maximum :: Ord a => Ap f a -> a Source #

minimum :: Ord a => Ap f a -> a Source #

sum :: Num a => Ap f a -> a Source #

product :: Num a => Ap f a -> a Source #

Traversable f => Traversable (Ap f) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Traversable Methods traverse :: Applicative f0 => (a -> f0 b) -> Ap f a -> f0 (Ap f b) Source # sequenceA :: Applicative f0 => Ap f (f0 a) -> f0 (Ap f a) Source # mapM :: Monad m => (a -> m b) -> Ap f a -> m (Ap f b) Source # sequence :: Monad m => Ap f (m a) -> m (Ap f a) Source #
(Applicative f, Monoid a) => Monoid (Ap f a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods mempty :: Ap f a Source # mappend :: Ap f a -> Ap f a -> Ap f a Source # mconcat :: [Ap f a] -> Ap f a Source #
(Applicative f, Semigroup a) => Semigroup (Ap f a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods (<>) :: Ap f a -> Ap f a -> Ap f a Source # sconcat :: NonEmpty (Ap f a) -> Ap f a Source # stimes :: Integral b => b -> Ap f a -> Ap f a Source #
(Applicative f, Bounded a) => Bounded (Ap f a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods minBound :: Ap f a Source # maxBound :: Ap f a Source #
Enum (f a) => Enum (Ap f a) | Since: base-4.12.0.0

Instance details

Defined in GHC.Internal.Data.Monoid

Methods

succ :: Ap f a -> Ap f a Source #

pred :: Ap f a -> Ap f a Source #

toEnum :: Int -> Ap f a Source #

fromEnum :: Ap f a -> Int Source #

enumFrom :: Ap f a -> [Ap f a] Source #

enumFromThen :: Ap f a -> Ap f a -> [Ap f a] Source #

enumFromTo :: Ap f a -> Ap f a -> [Ap f a] Source #

enumFromThenTo :: Ap f a -> Ap f a -> Ap f a -> [Ap f a] Source #

Generic (Ap f a) |

Instance details

Defined in GHC.Internal.Data.Monoid

Associated Types

type Rep (Ap f a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep (Ap f a) = D1 ('MetaData "Ap" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: Ap f a -> Rep (Ap f a) x Source #

to :: Rep (Ap f a) x -> Ap f a Source #

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

Note that even if the underlying `Num` and `Applicative` instances are lawful, for most `Applicative`s, this instance will not be lawful. If you use this instance with the list `Applicative`, the following customary laws will not hold:

Commutativity:

    >>> Ap [10,20] + Ap [1,2]
    Ap {getAp = [11,12,21,22]}
    >>> Ap [1,2] + Ap [10,20]
    Ap {getAp = [11,21,12,22]}

Additive inverse:

    >>> Ap [] + negate (Ap [])
    Ap {getAp = []}
    >>> fromInteger 0 :: Ap [] Int
    Ap {getAp = [0]}

Distributivity:

    >>> Ap [1,2] * (3 + 4)
    Ap {getAp = [7,14]}
    >>> (Ap [1,2] * 3) + (Ap [1,2] * 4)
    Ap {getAp = [7,11,10,14]}

Since: base-4.12.0.0

Instance details Defined in GHC.Internal.Data.Monoid Methods (+) :: Ap f a -> Ap f a -> Ap f a Source # (-) :: Ap f a -> Ap f a -> Ap f a Source # (*) :: Ap f a -> Ap f a -> Ap f a Source # negate :: Ap f a -> Ap f a Source # abs :: Ap f a -> Ap f a Source # signum :: Ap f a -> Ap f a Source # fromInteger :: Integer -> Ap f a Source #
Read (f a) => Read (Ap f a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods readsPrec :: Int -> ReadS (Ap f a) Source # readList :: ReadS [Ap f a] Source # readPrec :: ReadPrec (Ap f a) Source # readListPrec :: ReadPrec [Ap f a] Source #
Show (f a) => Show (Ap f a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods showsPrec :: Int -> Ap f a -> ShowS Source # show :: Ap f a -> String Source # showList :: [Ap f a] -> ShowS Source #
Eq (f a) => Eq (Ap f a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods (==) :: Ap f a -> Ap f a -> Bool Source # (/=) :: Ap f a -> Ap f a -> Bool Source #
Ord (f a) => Ord (Ap f a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid Methods compare :: Ap f a -> Ap f a -> Ordering Source # (<) :: Ap f a -> Ap f a -> Bool Source # (<=) :: Ap f a -> Ap f a -> Bool Source # (>) :: Ap f a -> Ap f a -> Bool Source # (>=) :: Ap f a -> Ap f a -> Bool Source # max :: Ap f a -> Ap f a -> Ap f a Source # min :: Ap f a -> Ap f a -> Ap f a Source #
type Rep1 (Ap f :: k -> Type) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep1 (Ap f :: k -> Type) = D1 ('MetaData "Ap" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
type Rep (Ap f a) | Since: base-4.12.0.0
Instance details Defined in GHC.Internal.Data.Monoid type Rep (Ap f a) = D1 ('MetaData "Ap" "GHC.Internal.Data.Monoid" "ghc-internal" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

class GSemigroup a => GMonoid a where Source #

Minimal complete definition

Nothing

Methods

gmempty :: a Source #

Generic `mempty`

default gmempty :: (Generic a, GMonoid' (Rep a)) => a Source #

gmappend :: a -> a -> a Source #

Generic `mappend`

default gmappend :: (Generic a, GMonoid' (Rep a)) => a -> a -> a Source #

gmconcat :: [a] -> a Source #

Generic `mconcat`

#### Instances

Instances details

GMonoid All Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: All Source # gmappend :: All -> All -> All Source # gmconcat :: [All] -> All Source #
GMonoid Any Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Any Source # gmappend :: Any -> Any -> Any Source # gmconcat :: [Any] -> Any Source #
GMonoid Ordering Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Ordering Source # gmappend :: Ordering -> Ordering -> Ordering Source # gmconcat :: [Ordering] -> Ordering Source #
GMonoid () Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: () Source # gmappend :: () -> () -> () Source # gmconcat :: [()] -> () Source #
GMonoid m => GMonoid (WrappedMonoid m) Source # |
Instance details Defined in Generics.Deriving.Monoid Methods gmempty :: WrappedMonoid m Source # gmappend :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m Source # gmconcat :: [WrappedMonoid m] -> WrappedMonoid m Source #
(Generic a, GMonoid' (Rep a)) => GMonoid (Default a) Source # |
Instance details Defined in Generics.Deriving.Default Methods gmempty :: Default a Source # gmappend :: Default a -> Default a -> Default a Source # gmconcat :: [Default a] -> Default a Source #
GMonoid a => GMonoid (Identity a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Identity a Source # gmappend :: Identity a -> Identity a -> Identity a Source # gmconcat :: [Identity a] -> Identity a Source #
GMonoid (First a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: First a Source # gmappend :: First a -> First a -> First a Source # gmconcat :: [First a] -> First a Source #
GMonoid (Last a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Last a Source # gmappend :: Last a -> Last a -> Last a Source # gmconcat :: [Last a] -> Last a Source #
GMonoid a => GMonoid (Down a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Down a Source # gmappend :: Down a -> Down a -> Down a Source # gmconcat :: [Down a] -> Down a Source #
GMonoid a => GMonoid (Dual a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Dual a Source # gmappend :: Dual a -> Dual a -> Dual a Source # gmconcat :: [Dual a] -> Dual a Source #
GMonoid (Endo a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Endo a Source # gmappend :: Endo a -> Endo a -> Endo a Source # gmconcat :: [Endo a] -> Endo a Source #
Num a => GMonoid (Product a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Product a Source # gmappend :: Product a -> Product a -> Product a Source # gmconcat :: [Product a] -> Product a Source #
Num a => GMonoid (Sum a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Sum a Source # gmappend :: Sum a -> Sum a -> Sum a Source # gmconcat :: [Sum a] -> Sum a Source #
GSemigroup a => GMonoid (Maybe a) Source # |
Instance details Defined in Generics.Deriving.Monoid Methods gmempty :: Maybe a Source # gmappend :: Maybe a -> Maybe a -> Maybe a Source # gmconcat :: [Maybe a] -> Maybe a Source #
GMonoid [a] Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: [a] Source # gmappend :: [a] -> [a] -> [a] Source # gmconcat :: [[a]] -> [a] Source #
GMonoid (Proxy s) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Proxy s Source # gmappend :: Proxy s -> Proxy s -> Proxy s Source # gmconcat :: [Proxy s] -> Proxy s Source #
(GMonoid a, GMonoid b) => GMonoid (a, b) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: (a, b) Source # gmappend :: (a, b) -> (a, b) -> (a, b) Source # gmconcat :: [(a, b)] -> (a, b) Source #
GMonoid b => GMonoid (a -> b) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: a -> b Source # gmappend :: (a -> b) -> (a -> b) -> a -> b Source # gmconcat :: [a -> b] -> a -> b Source #
GMonoid a => GMonoid (Const a b) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Const a b Source # gmappend :: Const a b -> Const a b -> Const a b Source # gmconcat :: [Const a b] -> Const a b Source #
Alternative f => GMonoid (Alt f a) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: Alt f a Source # gmappend :: Alt f a -> Alt f a -> Alt f a Source # gmconcat :: [Alt f a] -> Alt f a Source #
(GMonoid a, GMonoid b, GMonoid c) => GMonoid (a, b, c) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: (a, b, c) Source # gmappend :: (a, b, c) -> (a, b, c) -> (a, b, c) Source # gmconcat :: [(a, b, c)] -> (a, b, c) Source #
(GMonoid a, GMonoid b, GMonoid c, GMonoid d) => GMonoid (a, b, c, d) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: (a, b, c, d) Source # gmappend :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) Source # gmconcat :: [(a, b, c, d)] -> (a, b, c, d) Source #
(GMonoid a, GMonoid b, GMonoid c, GMonoid d, GMonoid e) => GMonoid (a, b, c, d, e) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: (a, b, c, d, e) Source # gmappend :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) Source # gmconcat :: [(a, b, c, d, e)] -> (a, b, c, d, e) Source #
(GMonoid a, GMonoid b, GMonoid c, GMonoid d, GMonoid e, GMonoid f) => GMonoid (a, b, c, d, e, f) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: (a, b, c, d, e, f) Source # gmappend :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) Source # gmconcat :: [(a, b, c, d, e, f)] -> (a, b, c, d, e, f) Source #
(GMonoid a, GMonoid b, GMonoid c, GMonoid d, GMonoid e, GMonoid f, GMonoid g) => GMonoid (a, b, c, d, e, f, g) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: (a, b, c, d, e, f, g) Source # gmappend :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) Source # gmconcat :: [(a, b, c, d, e, f, g)] -> (a, b, c, d, e, f, g) Source #
(GMonoid a, GMonoid b, GMonoid c, GMonoid d, GMonoid e, GMonoid f, GMonoid g, GMonoid h) => GMonoid (a, b, c, d, e, f, g, h) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty :: (a, b, c, d, e, f, g, h) Source # gmappend :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) Source # gmconcat :: [(a, b, c, d, e, f, g, h)] -> (a, b, c, d, e, f, g, h) Source #

gmemptydefault :: (Generic a, GMonoid' (Rep a)) => a Source #

gmappenddefault :: (Generic a, GMonoid' (Rep a)) => a -> a -> a Source #

class GSemigroup' f => GMonoid' (f :: k -> Type) where Source #

Methods

gmempty' :: forall (x :: k). f x Source #

gmappend' :: forall (x :: k). f x -> f x -> f x Source #

#### Instances

Instances details

GMonoid' (U1 :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty' :: forall (x :: k). U1 x Source # gmappend' :: forall (x :: k). U1 x -> U1 x -> U1 x Source #
(GMonoid' f, GMonoid' h) => GMonoid' (f :*: h :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty' :: forall (x :: k). (f :*: h) x Source # gmappend' :: forall (x :: k). (f :*: h) x -> (f :*: h) x -> (f :*: h) x Source #
GMonoid a => GMonoid' (K1 i a :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty' :: forall (x :: k). K1 i a x Source # gmappend' :: forall (x :: k). K1 i a x -> K1 i a x -> K1 i a x Source #
GMonoid' f => GMonoid' (M1 i c f :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods gmempty' :: forall (x :: k). M1 i c f x Source # gmappend' :: forall (x :: k). M1 i c f x -> M1 i c f x -> M1 i c f x Source #

memptydefault :: (Generic a, Monoid' (Rep a)) => a Source #

mappenddefault :: (Generic a, Monoid' (Rep a)) => a -> a -> a Source #

class Monoid' (f :: k -> Type) where Source #

Methods

mempty' :: forall (x :: k). f x Source #

mappend' :: forall (x :: k). f x -> f x -> f x Source #

#### Instances

Instances details

Monoid' (U1 :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods mempty' :: forall (x :: k). U1 x Source # mappend' :: forall (x :: k). U1 x -> U1 x -> U1 x Source #
(Monoid' f, Monoid' h) => Monoid' (f :*: h :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods mempty' :: forall (x :: k). (f :*: h) x Source # mappend' :: forall (x :: k). (f :*: h) x -> (f :*: h) x -> (f :*: h) x Source #
Monoid a => Monoid' (K1 i a :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods mempty' :: forall (x :: k). K1 i a x Source # mappend' :: forall (x :: k). K1 i a x -> K1 i a x -> K1 i a x Source #
Monoid' f => Monoid' (M1 i c f :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Monoid.Internal Methods mempty' :: forall (x :: k). M1 i c f x Source # mappend' :: forall (x :: k). M1 i c f x -> M1 i c f x -> M1 i c f x Source #

# Orphan instances

GMonoid m => GMonoid (WrappedMonoid m) Source # |
Instance details Methods gmempty :: WrappedMonoid m Source # gmappend :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m Source # gmconcat :: [WrappedMonoid m] -> WrappedMonoid m Source #
GSemigroup a => GMonoid (Maybe a) Source # |
Instance details Methods gmempty :: Maybe a Source # gmappend :: Maybe a -> Maybe a -> Maybe a Source # gmconcat :: [Maybe a] -> Maybe a Source #