Copyright | (c) 2016 Stephen Diehl (c) 2016-2018 Serokell (c) 2018-2023 Kowainik |
---|---|
License | MIT |
Maintainer | Kowainik <xrom.xkov@gmail.com> |
Stability | Stable |
Portability | Portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Relude.Monoid
Contents
Description
Reexports functions to work with monoids plus adds extra useful functions.
Synopsis
- class Semigroup a => Monoid a where
- newtype Alt (f :: k -> Type) (a :: k) = Alt {
- getAlt :: f a
- newtype Ap (f :: k -> Type) (a :: k) = Ap {
- getAp :: f a
- newtype All = All {}
- newtype Any = Any {}
- newtype Dual a = Dual {
- getDual :: a
- newtype Endo a = Endo {
- appEndo :: a -> a
- newtype First a = First {}
- newtype Last a = Last {}
- newtype Product a = Product {
- getProduct :: a
- newtype Sum a = Sum {
- getSum :: a
- class Semigroup a where
- data WrappedMonoid m
- cycle1 :: Semigroup m => m -> m
- mtimesDefault :: (Integral b, Monoid a) => b -> a -> a
- stimesIdempotent :: Integral b => b -> a -> a
- stimesIdempotentMonoid :: (Integral b, Monoid a) => b -> a -> a
- stimesMonoid :: (Integral b, Monoid a) => b -> a -> a
- newtype Ap (f :: k -> Type) (a :: k) = Ap {
- getAp :: f a
- maybeToMonoid :: Monoid m => Maybe m -> m
- memptyIfFalse :: Monoid m => Bool -> m -> m
- memptyIfTrue :: Monoid m => Bool -> m -> m
Reexports
class Semigroup a => Monoid a where #
Instances
newtype Alt (f :: k -> Type) (a :: k) #
Instances
Generic1 (Alt f :: k -> Type) | |
Foldable f => Foldable (Alt f) | |
Defined in Data.Foldable Methods fold :: Monoid m => Alt f m -> m # foldMap :: Monoid m => (a -> m) -> Alt f a -> m # foldMap' :: Monoid m => (a -> m) -> Alt f a -> m # foldr :: (a -> b -> b) -> b -> Alt f a -> b # foldr' :: (a -> b -> b) -> b -> Alt f a -> b foldl :: (b -> a -> b) -> b -> Alt f a -> b foldl' :: (b -> a -> b) -> b -> Alt f a -> b # foldr1 :: (a -> a -> a) -> Alt f a -> a foldl1 :: (a -> a -> a) -> Alt f a -> a elem :: Eq a => a -> Alt f a -> Bool maximum :: Ord a => Alt f a -> a | |
Contravariant f => Contravariant (Alt f) | |
Traversable f => Traversable (Alt f) | |
Alternative f => Alternative (Alt f) | |
Applicative f => Applicative (Alt f) | |
Functor f => Functor (Alt f) | |
Monad f => Monad (Alt f) | |
MonadPlus f => MonadPlus (Alt f) | |
(Data (f a), Data a, Typeable f) => Data (Alt f a) | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Alt f a -> c (Alt f a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Alt f a) dataTypeOf :: Alt f a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Alt f a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Alt f a)) gmapT :: (forall b. Data b => b -> b) -> Alt f a -> Alt f a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Alt f a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Alt f a -> r gmapQ :: (forall d. Data d => d -> u) -> Alt f a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Alt f a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Alt f a -> m (Alt f a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Alt f a -> m (Alt f a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Alt f a -> m (Alt f a) | |
Alternative f => Monoid (Alt f a) | |
Alternative f => Semigroup (Alt f a) | |
Enum (f a) => Enum (Alt f a) | |
Generic (Alt f a) | |
Num (f a) => Num (Alt f a) | |
Read (f a) => Read (Alt f a) | |
Defined in Data.Semigroup.Internal | |
Show (f a) => Show (Alt f a) | |
Eq (f a) => Eq (Alt f a) | |
Ord (f a) => Ord (Alt f a) | |
Defined in Data.Semigroup.Internal | |
type Rep1 (Alt f :: k -> Type) | |
type Rep (Alt f a) | |
Defined in Data.Semigroup.Internal |
newtype Ap (f :: k -> Type) (a :: k) #
Instances
Generic1 (Ap f :: k -> Type) | |
MonadFail f => MonadFail (Ap f) | |
Defined in Data.Monoid | |
Foldable f => Foldable (Ap f) | |
Defined in Data.Foldable Methods fold :: Monoid m => Ap f m -> m # foldMap :: Monoid m => (a -> m) -> Ap f a -> m # foldMap' :: Monoid m => (a -> m) -> Ap f a -> m # foldr :: (a -> b -> b) -> b -> Ap f a -> b # foldr' :: (a -> b -> b) -> b -> Ap f a -> b foldl :: (b -> a -> b) -> b -> Ap f a -> b foldl' :: (b -> a -> b) -> b -> Ap f a -> b # foldr1 :: (a -> a -> a) -> Ap f a -> a foldl1 :: (a -> a -> a) -> Ap f a -> a elem :: Eq a => a -> Ap f a -> Bool maximum :: Ord a => Ap f a -> a | |
Traversable f => Traversable (Ap f) | |
Alternative f => Alternative (Ap f) | |
Applicative f => Applicative (Ap f) | |
Functor f => Functor (Ap f) | |
Monad f => Monad (Ap f) | |
MonadPlus f => MonadPlus (Ap f) | |
(Data (f a), Data a, Typeable f) => Data (Ap f a) | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ap f a -> c (Ap f a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ap f a) dataTypeOf :: Ap f a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ap f a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ap f a)) gmapT :: (forall b. Data b => b -> b) -> Ap f a -> Ap f a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ap f a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ap f a -> r gmapQ :: (forall d. Data d => d -> u) -> Ap f a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Ap f a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) | |
(Applicative f, Monoid a) => Monoid (Ap f a) | |
(Applicative f, Semigroup a) => Semigroup (Ap f a) | |
(Applicative f, Bounded a) => Bounded (Ap f a) | |
Enum (f a) => Enum (Ap f a) | |
Defined in Data.Monoid | |
Generic (Ap f a) | |
(Applicative f, Num a) => Num (Ap f a) | |
Read (f a) => Read (Ap f a) | |
Defined in Data.Monoid | |
Show (f a) => Show (Ap f a) | |
Eq (f a) => Eq (Ap f a) | |
Ord (f a) => Ord (Ap f a) | |
type Rep1 (Ap f :: k -> Type) | |
type Rep (Ap f a) | |
Defined in Data.Monoid |
Instances
Data All | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> All -> c All gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c All dataTypeOf :: All -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c All) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c All) gmapT :: (forall b. Data b => b -> b) -> All -> All gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> All -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> All -> r gmapQ :: (forall d. Data d => d -> u) -> All -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> All -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> All -> m All gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> All -> m All gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> All -> m All | |
Monoid All | |
Semigroup All | |
Bounded All | |
Generic All | |
Read All | |
Defined in Data.Semigroup.Internal | |
Show All | |
NFData All | |
Defined in Control.DeepSeq | |
Eq All | |
Ord All | |
type Rep All | |
Instances
Data Any | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Any -> c Any gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Any dataTypeOf :: Any -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Any) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Any) gmapT :: (forall b. Data b => b -> b) -> Any -> Any gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Any -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Any -> r gmapQ :: (forall d. Data d => d -> u) -> Any -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Any -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Any -> m Any gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Any -> m Any gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Any -> m Any | |
Monoid Any | |
Semigroup Any | |
Bounded Any | |
Generic Any | |
Read Any | |
Defined in Data.Semigroup.Internal | |
Show Any | |
NFData Any | |
Defined in Control.DeepSeq | |
Eq Any | |
Ord Any | |
type Rep Any | |
Instances
Foldable Dual | |
Defined in Data.Foldable Methods fold :: Monoid m => Dual m -> m # foldMap :: Monoid m => (a -> m) -> Dual a -> m # foldMap' :: Monoid m => (a -> m) -> Dual a -> m # foldr :: (a -> b -> b) -> b -> Dual a -> b # foldr' :: (a -> b -> b) -> b -> Dual a -> b foldl :: (b -> a -> b) -> b -> Dual a -> b foldl' :: (b -> a -> b) -> b -> Dual a -> b # foldr1 :: (a -> a -> a) -> Dual a -> a foldl1 :: (a -> a -> a) -> Dual a -> a elem :: Eq a => a -> Dual a -> Bool maximum :: Ord a => Dual a -> a | |
Traversable Dual | |
Applicative Dual | |
Functor Dual | |
Monad Dual | |
NFData1 Dual | |
Defined in Control.DeepSeq | |
Generic1 Dual | |
Data a => Data (Dual a) | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Dual a -> c (Dual a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Dual a) dataTypeOf :: Dual a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Dual a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Dual a)) gmapT :: (forall b. Data b => b -> b) -> Dual a -> Dual a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Dual a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Dual a -> r gmapQ :: (forall d. Data d => d -> u) -> Dual a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Dual a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Dual a -> m (Dual a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Dual a -> m (Dual a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Dual a -> m (Dual a) | |
Monoid a => Monoid (Dual a) | |
Semigroup a => Semigroup (Dual a) | |
Bounded a => Bounded (Dual a) | |
Generic (Dual a) | |
Read a => Read (Dual a) | |
Defined in Data.Semigroup.Internal | |
Show a => Show (Dual a) | |
NFData a => NFData (Dual a) | |
Defined in Control.DeepSeq | |
Eq a => Eq (Dual a) | |
Ord a => Ord (Dual a) | |
type Rep1 Dual | |
Defined in Data.Semigroup.Internal | |
type Rep (Dual a) | |
Defined in Data.Semigroup.Internal |
Instances
Foldable First | |
Defined in Data.Foldable Methods fold :: Monoid m => First m -> m # foldMap :: Monoid m => (a -> m) -> First a -> m # foldMap' :: Monoid m => (a -> m) -> First a -> m # foldr :: (a -> b -> b) -> b -> First a -> b # foldr' :: (a -> b -> b) -> b -> First a -> b foldl :: (b -> a -> b) -> b -> First a -> b foldl' :: (b -> a -> b) -> b -> First a -> b # foldr1 :: (a -> a -> a) -> First a -> a foldl1 :: (a -> a -> a) -> First a -> a elem :: Eq a => a -> First a -> Bool maximum :: Ord a => First a -> a | |
Traversable First | |
Applicative First | |
Functor First | |
Monad First | |
NFData1 First | |
Defined in Control.DeepSeq | |
Generic1 First | |
Data a => Data (First a) | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> First a -> c (First a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (First a) dataTypeOf :: First a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (First a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (First a)) gmapT :: (forall b. Data b => b -> b) -> First a -> First a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> First a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> First a -> r gmapQ :: (forall d. Data d => d -> u) -> First a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> First a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> First a -> m (First a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> First a -> m (First a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> First a -> m (First a) | |
Monoid (First a) | |
Semigroup (First a) | |
Generic (First a) | |
Read a => Read (First a) | |
Defined in Data.Monoid | |
Show a => Show (First a) | |
NFData a => NFData (First a) | |
Defined in Control.DeepSeq | |
Eq a => Eq (First a) | |
Ord a => Ord (First a) | |
type Rep1 First | |
type Rep (First a) | |
Instances
Foldable Last | |
Defined in Data.Foldable Methods fold :: Monoid m => Last m -> m # foldMap :: Monoid m => (a -> m) -> Last a -> m # foldMap' :: Monoid m => (a -> m) -> Last a -> m # foldr :: (a -> b -> b) -> b -> Last a -> b # foldr' :: (a -> b -> b) -> b -> Last a -> b foldl :: (b -> a -> b) -> b -> Last a -> b foldl' :: (b -> a -> b) -> b -> Last a -> b # foldr1 :: (a -> a -> a) -> Last a -> a foldl1 :: (a -> a -> a) -> Last a -> a elem :: Eq a => a -> Last a -> Bool maximum :: Ord a => Last a -> a | |
Traversable Last | |
Applicative Last | |
Functor Last | |
Monad Last | |
NFData1 Last | |
Defined in Control.DeepSeq | |
Generic1 Last | |
Data a => Data (Last a) | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Last a -> c (Last a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Last a) dataTypeOf :: Last a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Last a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Last a)) gmapT :: (forall b. Data b => b -> b) -> Last a -> Last a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Last a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Last a -> r gmapQ :: (forall d. Data d => d -> u) -> Last a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Last a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Last a -> m (Last a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Last a -> m (Last a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Last a -> m (Last a) | |
Monoid (Last a) | |
Semigroup (Last a) | |
Generic (Last a) | |
Read a => Read (Last a) | |
Defined in Data.Monoid | |
Show a => Show (Last a) | |
NFData a => NFData (Last a) | |
Defined in Control.DeepSeq | |
Eq a => Eq (Last a) | |
Ord a => Ord (Last a) | |
type Rep1 Last | |
type Rep (Last a) | |
Constructors
Product | |
Fields
|
Instances
Foldable Product | |
Defined in Data.Foldable Methods fold :: Monoid m => Product m -> m # foldMap :: Monoid m => (a -> m) -> Product a -> m # foldMap' :: Monoid m => (a -> m) -> Product a -> m # foldr :: (a -> b -> b) -> b -> Product a -> b # foldr' :: (a -> b -> b) -> b -> Product a -> b foldl :: (b -> a -> b) -> b -> Product a -> b foldl' :: (b -> a -> b) -> b -> Product a -> b # foldr1 :: (a -> a -> a) -> Product a -> a foldl1 :: (a -> a -> a) -> Product a -> a elem :: Eq a => a -> Product a -> Bool maximum :: Ord a => Product a -> a minimum :: Ord a => Product a -> a | |
Traversable Product | |
Applicative Product | |
Functor Product | |
Monad Product | |
NFData1 Product | |
Defined in Control.DeepSeq | |
Generic1 Product | |
Data a => Data (Product a) | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Product a -> c (Product a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Product a) toConstr :: Product a -> Constr dataTypeOf :: Product a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Product a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Product a)) gmapT :: (forall b. Data b => b -> b) -> Product a -> Product a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Product a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Product a -> r gmapQ :: (forall d. Data d => d -> u) -> Product a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Product a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Product a -> m (Product a) | |
Num a => Monoid (Product a) | |
Num a => Semigroup (Product a) | |
Bounded a => Bounded (Product a) | |
Generic (Product a) | |
Num a => Num (Product a) | |
Defined in Data.Semigroup.Internal | |
Read a => Read (Product a) | |
Defined in Data.Semigroup.Internal | |
Show a => Show (Product a) | |
NFData a => NFData (Product a) | |
Defined in Control.DeepSeq | |
Eq a => Eq (Product a) | |
Ord a => Ord (Product a) | |
type Rep1 Product | |
Defined in Data.Semigroup.Internal | |
type Rep (Product a) | |
Defined in Data.Semigroup.Internal |
Instances
Foldable Sum | |
Defined in Data.Foldable Methods fold :: Monoid m => Sum m -> m # foldMap :: Monoid m => (a -> m) -> Sum a -> m # foldMap' :: Monoid m => (a -> m) -> Sum a -> m # foldr :: (a -> b -> b) -> b -> Sum a -> b # foldr' :: (a -> b -> b) -> b -> Sum a -> b foldl :: (b -> a -> b) -> b -> Sum a -> b foldl' :: (b -> a -> b) -> b -> Sum a -> b # foldr1 :: (a -> a -> a) -> Sum a -> a foldl1 :: (a -> a -> a) -> Sum a -> a elem :: Eq a => a -> Sum a -> Bool maximum :: Ord a => Sum a -> a | |
Traversable Sum | |
Applicative Sum | |
Functor Sum | |
Monad Sum | |
NFData1 Sum | |
Defined in Control.DeepSeq | |
Generic1 Sum | |
Data a => Data (Sum a) | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sum a -> c (Sum a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Sum a) dataTypeOf :: Sum a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Sum a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Sum a)) gmapT :: (forall b. Data b => b -> b) -> Sum a -> Sum a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sum a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sum a -> r gmapQ :: (forall d. Data d => d -> u) -> Sum a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Sum a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sum a -> m (Sum a) | |
Num a => Monoid (Sum a) | |
Num a => Semigroup (Sum a) | |
Bounded a => Bounded (Sum a) | |
Generic (Sum a) | |
Num a => Num (Sum a) | |
Read a => Read (Sum a) | |
Defined in Data.Semigroup.Internal | |
Show a => Show (Sum a) | |
NFData a => NFData (Sum a) | |
Defined in Control.DeepSeq | |
Eq a => Eq (Sum a) | |
Ord a => Ord (Sum a) | |
type Rep1 Sum | |
Defined in Data.Semigroup.Internal | |
type Rep (Sum a) | |
Defined in Data.Semigroup.Internal |
Instances
data WrappedMonoid m #
Instances
NFData1 WrappedMonoid | |
Defined in Control.DeepSeq Methods liftRnf :: (a -> ()) -> WrappedMonoid a -> () | |
Generic1 WrappedMonoid | |
Defined in Data.Semigroup Associated Types type Rep1 WrappedMonoid :: k -> Type Methods from1 :: forall (a :: k). WrappedMonoid a -> Rep1 WrappedMonoid a to1 :: forall (a :: k). Rep1 WrappedMonoid a -> WrappedMonoid a | |
Data m => Data (WrappedMonoid m) | |
Defined in Data.Semigroup Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WrappedMonoid m -> c (WrappedMonoid m) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (WrappedMonoid m) toConstr :: WrappedMonoid m -> Constr dataTypeOf :: WrappedMonoid m -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (WrappedMonoid m)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (WrappedMonoid m)) gmapT :: (forall b. Data b => b -> b) -> WrappedMonoid m -> WrappedMonoid m gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WrappedMonoid m -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WrappedMonoid m -> r gmapQ :: (forall d. Data d => d -> u) -> WrappedMonoid m -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> WrappedMonoid m -> u gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> WrappedMonoid m -> m0 (WrappedMonoid m) gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> WrappedMonoid m -> m0 (WrappedMonoid m) gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> WrappedMonoid m -> m0 (WrappedMonoid m) | |
Monoid m => Monoid (WrappedMonoid m) | |
Defined in Data.Semigroup Methods mempty :: WrappedMonoid m # mappend :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # mconcat :: [WrappedMonoid m] -> WrappedMonoid m # | |
Monoid m => Semigroup (WrappedMonoid m) | |
Defined in Data.Semigroup Methods (<>) :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # sconcat :: NonEmpty (WrappedMonoid m) -> WrappedMonoid m # stimes :: Integral b => b -> WrappedMonoid m -> WrappedMonoid m # | |
Bounded m => Bounded (WrappedMonoid m) | |
Defined in Data.Semigroup | |
Enum a => Enum (WrappedMonoid a) | |
Defined in Data.Semigroup Methods succ :: WrappedMonoid a -> WrappedMonoid a # pred :: WrappedMonoid a -> WrappedMonoid a # toEnum :: Int -> WrappedMonoid a # fromEnum :: WrappedMonoid a -> Int # enumFrom :: WrappedMonoid a -> [WrappedMonoid a] # enumFromThen :: WrappedMonoid a -> WrappedMonoid a -> [WrappedMonoid a] # enumFromTo :: WrappedMonoid a -> WrappedMonoid a -> [WrappedMonoid a] # enumFromThenTo :: WrappedMonoid a -> WrappedMonoid a -> WrappedMonoid a -> [WrappedMonoid a] # | |
Generic (WrappedMonoid m) | |
Defined in Data.Semigroup Associated Types type Rep (WrappedMonoid m) :: Type -> Type Methods from :: WrappedMonoid m -> Rep (WrappedMonoid m) x to :: Rep (WrappedMonoid m) x -> WrappedMonoid m | |
Read m => Read (WrappedMonoid m) | |
Defined in Data.Semigroup Methods readsPrec :: Int -> ReadS (WrappedMonoid m) readList :: ReadS [WrappedMonoid m] readPrec :: ReadPrec (WrappedMonoid m) readListPrec :: ReadPrec [WrappedMonoid m] | |
Show m => Show (WrappedMonoid m) | |
Defined in Data.Semigroup Methods showsPrec :: Int -> WrappedMonoid m -> ShowS show :: WrappedMonoid m -> String showList :: [WrappedMonoid m] -> ShowS | |
NFData m => NFData (WrappedMonoid m) | |
Defined in Control.DeepSeq Methods rnf :: WrappedMonoid m -> () # | |
Eq m => Eq (WrappedMonoid m) | |
Defined in Data.Semigroup Methods (==) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (/=) :: WrappedMonoid m -> WrappedMonoid m -> Bool # | |
Ord m => Ord (WrappedMonoid m) | |
Defined in Data.Semigroup Methods compare :: WrappedMonoid m -> WrappedMonoid m -> Ordering # (<) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (<=) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (>) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (>=) :: WrappedMonoid m -> WrappedMonoid m -> Bool # max :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # min :: WrappedMonoid m -> WrappedMonoid m -> WrappedMonoid m # | |
Hashable a => Hashable (WrappedMonoid a) | |
Defined in Data.Hashable.Class | |
type Rep1 WrappedMonoid | |
Defined in Data.Semigroup type Rep1 WrappedMonoid = D1 ('MetaData "WrappedMonoid" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "WrapMonoid" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonoid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |
type Rep (WrappedMonoid m) | |
Defined in Data.Semigroup type Rep (WrappedMonoid m) = D1 ('MetaData "WrappedMonoid" "Data.Semigroup" "base" 'True) (C1 ('MetaCons "WrapMonoid" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonoid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 m))) |
mtimesDefault :: (Integral b, Monoid a) => b -> a -> a #
stimesIdempotent :: Integral b => b -> a -> a #
stimesIdempotentMonoid :: (Integral b, Monoid a) => b -> a -> a #
stimesMonoid :: (Integral b, Monoid a) => b -> a -> a #
newtype Ap (f :: k -> Type) (a :: k) #
Instances
Generic1 (Ap f :: k -> Type) | |
MonadFail f => MonadFail (Ap f) | |
Defined in Data.Monoid | |
Foldable f => Foldable (Ap f) | |
Defined in Data.Foldable Methods fold :: Monoid m => Ap f m -> m # foldMap :: Monoid m => (a -> m) -> Ap f a -> m # foldMap' :: Monoid m => (a -> m) -> Ap f a -> m # foldr :: (a -> b -> b) -> b -> Ap f a -> b # foldr' :: (a -> b -> b) -> b -> Ap f a -> b foldl :: (b -> a -> b) -> b -> Ap f a -> b foldl' :: (b -> a -> b) -> b -> Ap f a -> b # foldr1 :: (a -> a -> a) -> Ap f a -> a foldl1 :: (a -> a -> a) -> Ap f a -> a elem :: Eq a => a -> Ap f a -> Bool maximum :: Ord a => Ap f a -> a | |
Traversable f => Traversable (Ap f) | |
Alternative f => Alternative (Ap f) | |
Applicative f => Applicative (Ap f) | |
Functor f => Functor (Ap f) | |
Monad f => Monad (Ap f) | |
MonadPlus f => MonadPlus (Ap f) | |
(Data (f a), Data a, Typeable f) => Data (Ap f a) | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ap f a -> c (Ap f a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ap f a) dataTypeOf :: Ap f a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ap f a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ap f a)) gmapT :: (forall b. Data b => b -> b) -> Ap f a -> Ap f a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ap f a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ap f a -> r gmapQ :: (forall d. Data d => d -> u) -> Ap f a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Ap f a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ap f a -> m (Ap f a) | |
(Applicative f, Monoid a) => Monoid (Ap f a) | |
(Applicative f, Semigroup a) => Semigroup (Ap f a) | |
(Applicative f, Bounded a) => Bounded (Ap f a) | |
Enum (f a) => Enum (Ap f a) | |
Defined in Data.Monoid | |
Generic (Ap f a) | |
(Applicative f, Num a) => Num (Ap f a) | |
Read (f a) => Read (Ap f a) | |
Defined in Data.Monoid | |
Show (f a) => Show (Ap f a) | |
Eq (f a) => Eq (Ap f a) | |
Ord (f a) => Ord (Ap f a) | |
type Rep1 (Ap f :: k -> Type) | |
type Rep (Ap f a) | |
Defined in Data.Monoid |
Combinators
maybeToMonoid :: Monoid m => Maybe m -> m Source #
memptyIfFalse :: Monoid m => Bool -> m -> m Source #