Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Data.Monoid.Extra
Contents
Description
Extra functions for working with monoids.
Synopsis
- class Semigroup a => Monoid a where
- (<>) :: Semigroup a => a -> a -> a
- newtype Any = Any {
- getAny :: Bool
- newtype All = All {
- getAll :: Bool
- newtype Alt (f :: k -> Type) (a :: k) = Alt {
- getAlt :: f a
- newtype Dual a = Dual {
- getDual :: a
- newtype Endo a = Endo {
- appEndo :: a -> a
- newtype Product a = Product {
- getProduct :: a
- newtype Sum a = Sum {
- getSum :: a
- newtype First a = First {
- getFirst :: Maybe a
- newtype Last a = Last {
- getLast :: Maybe a
- newtype Ap (f :: k -> Type) (a :: k) = Ap {
- getAp :: f a
- mwhen :: Monoid a => Bool -> a -> a
Documentation
class Semigroup a => Monoid a where #
Instances
Monoid ByteArray | |
Monoid All | |
Monoid Any | |
Monoid ByteString | |
Monoid ByteString | |
Monoid ShortByteString | |
Monoid OsString | |
Monoid PosixString | |
Monoid WindowsString | |
Monoid Ordering | |
Monoid () | |
FiniteBits a => Monoid (And a) | |
FiniteBits a => Monoid (Iff a) | |
Bits a => Monoid (Ior a) | |
Bits a => Monoid (Xor a) | |
Monoid (Comparison a) | |
Monoid (Equivalence a) | |
Monoid (Predicate a) | |
Monoid a => Monoid (Identity a) | |
Monoid (First a) | |
Monoid (Last a) | |
Monoid a => Monoid (Down a) | |
(Ord a, Bounded a) => Monoid (Max a) | |
(Ord a, Bounded a) => Monoid (Min a) | |
Monoid m => Monoid (WrappedMonoid m) | |
Monoid a => Monoid (Dual a) | |
Monoid (Endo a) | |
Num a => Monoid (Product a) | |
Num a => Monoid (Sum a) | |
Monoid a => Monoid (STM a) | |
(Generic a, Monoid (Rep a ())) => Monoid (Generically a) | |
Monoid p => Monoid (Par1 p) | |
Monoid a => Monoid (IO a) | |
Monoid a => Monoid (Q a) | |
Semigroup a => Monoid (Maybe a) | |
Monoid a => Monoid (Solo a) | |
Monoid [a] | |
Monoid a => Monoid (Op a b) | |
Monoid (Proxy s) | |
Monoid (U1 p) | |
Monoid a => Monoid (ST s a) | |
(Monoid a, Monoid b) => Monoid (a, b) | |
Monoid b => Monoid (a -> b) | |
Monoid a => Monoid (Const a b) | |
(Applicative f, Monoid a) => Monoid (Ap f a) | |
Alternative f => Monoid (Alt f a) | |
Monoid (f p) => Monoid (Rec1 f p) | |
(Monoid a, Monoid b, Monoid c) => Monoid (a, b, c) | |
(Monoid (f a), Monoid (g a)) => Monoid (Product f g a) | |
(Monoid (f p), Monoid (g p)) => Monoid ((f :*: g) p) | |
Monoid c => Monoid (K1 i c p) | |
(Monoid a, Monoid b, Monoid c, Monoid d) => Monoid (a, b, c, d) | |
Monoid (f (g a)) => Monoid (Compose f g a) | |
Monoid (f (g p)) => Monoid ((f :.: g) p) | |
Monoid (f p) => Monoid (M1 i c f p) | |
(Monoid a, Monoid b, Monoid c, Monoid d, Monoid e) => Monoid (a, b, c, d, e) | |
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 | |||||
Defined in Data.Semigroup.Internal | |||||
Generic Any | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
Read Any | |||||
Show Any | |||||
NFData Any | |||||
Defined in Control.DeepSeq | |||||
Eq Any | |||||
Ord Any | |||||
type Rep Any | |||||
Defined in Data.Semigroup.Internal type Rep Any = D1 ('MetaData "Any" "Data.Semigroup.Internal" "base" 'True) (C1 ('MetaCons "Any" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAny") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) |
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 | |||||
Defined in Data.Semigroup.Internal | |||||
Generic All | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
Read All | |||||
Show All | |||||
NFData All | |||||
Defined in Control.DeepSeq | |||||
Eq All | |||||
Ord All | |||||
type Rep All | |||||
Defined in Data.Semigroup.Internal type Rep All = D1 ('MetaData "All" "Data.Semigroup.Internal" "base" 'True) (C1 ('MetaCons "All" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAll") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) |
newtype Alt (f :: k -> Type) (a :: k) #
Instances
Generic1 (Alt f :: k -> Type) | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
MonadFix f => MonadFix (Alt f) | |||||
Defined in Control.Monad.Fix | |||||
MonadZip f => MonadZip (Alt f) | |||||
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 # minimum :: Ord a => Alt f a -> a # | |||||
Foldable1 f => Foldable1 (Alt f) | |||||
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Alt f m -> m foldMap1 :: Semigroup m => (a -> m) -> Alt f a -> m foldMap1' :: Semigroup m => (a -> m) -> Alt f a -> m toNonEmpty :: Alt f a -> NonEmpty a maximum :: Ord a => Alt f a -> a minimum :: Ord a => Alt f a -> a foldrMap1 :: (a -> b) -> (a -> b -> b) -> Alt f a -> b foldlMap1' :: (a -> b) -> (b -> a -> b) -> Alt f a -> b foldlMap1 :: (a -> b) -> (b -> a -> b) -> Alt f a -> b foldrMap1' :: (a -> b) -> (a -> b -> b) -> Alt f a -> b | |||||
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) | |||||
Defined in Data.Semigroup.Internal | |||||
Generic (Alt f a) | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
Num (f a) => Num (Alt f a) | |||||
Read (f a) => Read (Alt f a) | |||||
Show (f a) => Show (Alt f a) | |||||
Eq (f a) => Eq (Alt f a) | |||||
Ord (f a) => Ord (Alt f a) | |||||
type Rep1 (Alt f :: k -> Type) | |||||
Defined in Data.Semigroup.Internal type Rep1 (Alt f :: k -> Type) = D1 ('MetaData "Alt" "Data.Semigroup.Internal" "base" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f))) | |||||
type Rep (Alt f a) | |||||
Defined in Data.Semigroup.Internal type Rep (Alt f a) = D1 ('MetaData "Alt" "Data.Semigroup.Internal" "base" 'True) (C1 ('MetaCons "Alt" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAlt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a)))) |
Instances
MonadFix Dual | |||||
Defined in Control.Monad.Fix | |||||
MonadZip Dual | |||||
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 # | |||||
Foldable1 Dual | |||||
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Dual m -> m foldMap1 :: Semigroup m => (a -> m) -> Dual a -> m foldMap1' :: Semigroup m => (a -> m) -> Dual a -> m toNonEmpty :: Dual a -> NonEmpty a maximum :: Ord a => Dual a -> a minimum :: Ord a => Dual a -> a foldrMap1 :: (a -> b) -> (a -> b -> b) -> Dual a -> b foldlMap1' :: (a -> b) -> (b -> a -> b) -> Dual a -> b foldlMap1 :: (a -> b) -> (b -> a -> b) -> Dual a -> b foldrMap1' :: (a -> b) -> (a -> b -> b) -> Dual a -> b | |||||
Traversable Dual | |||||
Applicative Dual | |||||
Functor Dual | |||||
Monad Dual | |||||
NFData1 Dual | |||||
Defined in Control.DeepSeq | |||||
Generic1 Dual | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
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) | |||||
Defined in Data.Semigroup.Internal | |||||
Generic (Dual a) | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
Read a => Read (Dual a) | |||||
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 Rep1 Dual = D1 ('MetaData "Dual" "Data.Semigroup.Internal" "base" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |||||
type Rep (Dual a) | |||||
Defined in Data.Semigroup.Internal type Rep (Dual a) = D1 ('MetaData "Dual" "Data.Semigroup.Internal" "base" 'True) (C1 ('MetaCons "Dual" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) |
Instances
Monoid (Endo a) | |||||
Semigroup (Endo a) | |||||
Generic (Endo a) | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
type Rep (Endo a) | |||||
Defined in Data.Semigroup.Internal type Rep (Endo a) = D1 ('MetaData "Endo" "Data.Semigroup.Internal" "base" 'True) (C1 ('MetaCons "Endo" 'PrefixI 'True) (S1 ('MetaSel ('Just "appEndo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a -> a)))) |
Constructors
Product | |
Fields
|
Instances
MonadFix Product | |||||
Defined in Control.Monad.Fix | |||||
MonadZip Product | |||||
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 # | |||||
Foldable1 Product | |||||
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Product m -> m foldMap1 :: Semigroup m => (a -> m) -> Product a -> m foldMap1' :: Semigroup m => (a -> m) -> Product a -> m toNonEmpty :: Product a -> NonEmpty a maximum :: Ord a => Product a -> a minimum :: Ord a => Product a -> a foldrMap1 :: (a -> b) -> (a -> b -> b) -> Product a -> b foldlMap1' :: (a -> b) -> (b -> a -> b) -> Product a -> b foldlMap1 :: (a -> b) -> (b -> a -> b) -> Product a -> b foldrMap1' :: (a -> b) -> (a -> b -> b) -> Product a -> b | |||||
Traversable Product | |||||
Applicative Product | |||||
Functor Product | |||||
Monad Product | |||||
NFData1 Product | |||||
Defined in Control.DeepSeq | |||||
Generic1 Product | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
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) | |||||
Defined in Data.Semigroup.Internal | |||||
Generic (Product a) | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
Num a => Num (Product a) | |||||
Read a => Read (Product a) | |||||
Show a => Show (Product a) | |||||
NFData a => NFData (Product a) | |||||
Defined in Control.DeepSeq | |||||
Eq a => Eq (Product a) | |||||
Ord a => Ord (Product a) | |||||
Defined in Data.Semigroup.Internal | |||||
type Rep1 Product | |||||
Defined in Data.Semigroup.Internal type Rep1 Product = D1 ('MetaData "Product" "Data.Semigroup.Internal" "base" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |||||
type Rep (Product a) | |||||
Defined in Data.Semigroup.Internal type Rep (Product a) = D1 ('MetaData "Product" "Data.Semigroup.Internal" "base" 'True) (C1 ('MetaCons "Product" 'PrefixI 'True) (S1 ('MetaSel ('Just "getProduct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) |
Instances
MonadFix Sum | |||||
Defined in Control.Monad.Fix | |||||
MonadZip Sum | |||||
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 # | |||||
Foldable1 Sum | |||||
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Sum m -> m foldMap1 :: Semigroup m => (a -> m) -> Sum a -> m foldMap1' :: Semigroup m => (a -> m) -> Sum a -> m toNonEmpty :: Sum a -> NonEmpty a maximum :: Ord a => Sum a -> a minimum :: Ord a => Sum a -> a foldrMap1 :: (a -> b) -> (a -> b -> b) -> Sum a -> b foldlMap1' :: (a -> b) -> (b -> a -> b) -> Sum a -> b foldlMap1 :: (a -> b) -> (b -> a -> b) -> Sum a -> b foldrMap1' :: (a -> b) -> (a -> b -> b) -> Sum a -> b | |||||
Traversable Sum | |||||
Applicative Sum | |||||
Functor Sum | |||||
Monad Sum | |||||
NFData1 Sum | |||||
Defined in Control.DeepSeq | |||||
Generic1 Sum | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
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) | |||||
Defined in Data.Semigroup.Internal | |||||
Generic (Sum a) | |||||
Defined in Data.Semigroup.Internal Associated Types
| |||||
Num a => Num (Sum a) | |||||
Read a => Read (Sum a) | |||||
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 Rep1 Sum = D1 ('MetaData "Sum" "Data.Semigroup.Internal" "base" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1)) | |||||
type Rep (Sum a) | |||||
Defined in Data.Semigroup.Internal type Rep (Sum a) = D1 ('MetaData "Sum" "Data.Semigroup.Internal" "base" 'True) (C1 ('MetaCons "Sum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getSum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))) |
Instances
MonadFix First | |||||
Defined in Control.Monad.Fix | |||||
MonadZip First | |||||
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 # minimum :: Ord a => First a -> a # | |||||
Traversable First | |||||
Applicative First | |||||
Functor First | |||||
Monad First | |||||
NFData1 First | |||||
Defined in Control.DeepSeq | |||||
Generic1 First | |||||
Defined in Data.Monoid Associated Types
| |||||
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) | |||||
Defined in Data.Monoid Associated Types
| |||||
Read a => Read (First a) | |||||
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 | |||||
Defined in Data.Monoid type Rep1 First = D1 ('MetaData "First" "Data.Monoid" "base" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe))) | |||||
type Rep (First a) | |||||
Defined in Data.Monoid type Rep (First a) = D1 ('MetaData "First" "Data.Monoid" "base" 'True) (C1 ('MetaCons "First" 'PrefixI 'True) (S1 ('MetaSel ('Just "getFirst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a)))) |
Instances
MonadFix Last | |||||
Defined in Control.Monad.Fix | |||||
MonadZip Last | |||||
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 | |||||
Defined in Data.Monoid Associated Types
| |||||
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) | |||||
Defined in Data.Monoid Associated Types
| |||||
Read a => Read (Last a) | |||||
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 | |||||
Defined in Data.Monoid type Rep1 Last = D1 ('MetaData "Last" "Data.Monoid" "base" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 Maybe))) | |||||
type Rep (Last a) | |||||
Defined in Data.Monoid type Rep (Last a) = D1 ('MetaData "Last" "Data.Monoid" "base" 'True) (C1 ('MetaCons "Last" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe a)))) |
newtype Ap (f :: k -> Type) (a :: k) #
Instances
Generic1 (Ap f :: k -> Type) | |||||
Defined in Data.Monoid Associated Types
| |||||
MonadFail f => MonadFail (Ap f) | |||||
Defined in Data.Monoid | |||||
MonadFix f => MonadFix (Ap f) | |||||
Defined in Control.Monad.Fix | |||||
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 # | |||||
Foldable1 f => Foldable1 (Ap f) | |||||
Defined in Data.Foldable1 Methods fold1 :: Semigroup m => Ap f m -> m foldMap1 :: Semigroup m => (a -> m) -> Ap f a -> m foldMap1' :: Semigroup m => (a -> m) -> Ap f a -> m toNonEmpty :: Ap f a -> NonEmpty a maximum :: Ord a => Ap f a -> a minimum :: Ord a => Ap f a -> a foldrMap1 :: (a -> b) -> (a -> b -> b) -> Ap f a -> b foldlMap1' :: (a -> b) -> (b -> a -> b) -> Ap f a -> b foldlMap1 :: (a -> b) -> (b -> a -> b) -> Ap f a -> b foldrMap1' :: (a -> b) -> (a -> b -> b) -> Ap f a -> b | |||||
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) | |||||
Defined in Data.Monoid | |||||
Enum (f a) => Enum (Ap f a) | |||||
Generic (Ap f a) | |||||
Defined in Data.Monoid Associated Types
| |||||
(Applicative f, Num a) => Num (Ap f a) | |||||
Read (f a) => Read (Ap f a) | |||||
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) | |||||
Defined in Data.Monoid type Rep1 (Ap f :: k -> Type) = D1 ('MetaData "Ap" "Data.Monoid" "base" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f))) | |||||
type Rep (Ap f a) | |||||
Defined in Data.Monoid type Rep (Ap f a) = D1 ('MetaData "Ap" "Data.Monoid" "base" 'True) (C1 ('MetaCons "Ap" 'PrefixI 'True) (S1 ('MetaSel ('Just "getAp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a)))) |