monoid-subclasses-1.2.6: Subclasses of Monoid

Safe Haskell | Trustworthy
Language | Haskell2010

Data.Monoid.Null

Description

This module defines the MonoidNull class and some of its instances.

Synopsis

- class Monoid m => MonoidNull m where
  - null :: m -> Bool
- class MonoidNull m => PositiveMonoid m

# Documentation

class Monoid m => MonoidNull m where Source #

Extension of `Monoid` that allows testing a value for equality with `mempty`. The following law must hold:

    null x == (x == mempty)

Furthermore, the performance of this method should be constant, i.e., independent of the length of its argument.

Minimal complete definition

Nothing

Methods

null :: m -> Bool Source #

default null :: Eq m => m -> Bool Source #

#### Instances

Instances details

MonoidNull ByteString Source # |
Instance details Defined in Data.Monoid.Null Methods null :: ByteString -> Bool Source #
MonoidNull ByteString Source # |
Instance details Defined in Data.Monoid.Null Methods null :: ByteString -> Bool Source #
MonoidNull IntSet Source # |
Instance details Defined in Data.Monoid.Null Methods null :: IntSet -> Bool Source #
MonoidNull All Source # |
Instance details Defined in Data.Monoid.Null Methods null :: All -> Bool Source #
MonoidNull Any Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Any -> Bool Source #
MonoidNull Ordering Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Ordering -> Bool Source #
MonoidNull ByteStringUTF8 Source # | O(1)
Instance details Defined in Data.Monoid.Instances.ByteString.UTF8 Methods null :: ByteStringUTF8 -> Bool Source #
MonoidNull Text Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Text -> Bool Source #
MonoidNull Text Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Text -> Bool Source #
MonoidNull () Source # |
Instance details Defined in Data.Monoid.Null Methods null :: () -> Bool Source #
(Ord a, Bounded a) => MonoidNull (Max a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: Max a -> Bool Source #
(Ord a, Bounded a) => MonoidNull (Min a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: Min a -> Bool Source #
MonoidNull a => MonoidNull (WrappedMonoid a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: WrappedMonoid a -> Bool Source #
MonoidNull (IntMap v) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: IntMap v -> Bool Source #
MonoidNull (Seq a) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Seq a -> Bool Source #
Ord a => MonoidNull (Set a) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Set a -> Bool Source #
MonoidNull a => MonoidNull (Identity a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: Identity a -> Bool Source #
MonoidNull (First a) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: First a -> Bool Source #
MonoidNull (Last a) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Last a -> Bool Source #
MonoidNull a => MonoidNull (Down a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: Down a -> Bool Source #
MonoidNull a => MonoidNull (Dual a) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Dual a -> Bool Source #
(Num a, Eq a) => MonoidNull (Product a) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Product a -> Bool Source #
(Num a, Eq a) => MonoidNull (Sum a) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Sum a -> Bool Source #
MonoidNull p => MonoidNull (Par1 p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: Par1 p -> Bool Source #
PositiveMonoid a => MonoidNull (Concat a) Source # |
Instance details Defined in Data.Monoid.Instances.Concat Methods null :: Concat a -> Bool Source #
(StableFactorial a, Monoid a) => MonoidNull (Measured a) Source # |
Instance details Defined in Data.Monoid.Instances.Measured Methods null :: Measured a -> Bool Source #
(StableFactorial m, TextualMonoid m, MonoidNull m) => MonoidNull (LinePositioned m) Source # |
Instance details Defined in Data.Monoid.Instances.Positioned Methods null :: LinePositioned m -> Bool Source #
(StableFactorial m, FactorialMonoid m) => MonoidNull (OffsetPositioned m) Source # |
Instance details Defined in Data.Monoid.Instances.Positioned Methods null :: OffsetPositioned m -> Bool Source #
(MonoidNull m, StableFactorial m) => MonoidNull (Shadowed m) Source # |
Instance details Defined in Data.Monoid.Instances.PrefixMemory Methods null :: Shadowed m -> Bool Source #
MonoidNull (Vector a) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Vector a -> Bool Source #
Monoid a => MonoidNull (Maybe a) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Maybe a -> Bool Source #
MonoidNull [x] Source # |
Instance details Defined in Data.Monoid.Null Methods null :: [x] -> Bool Source #
Ord k => MonoidNull (Map k v) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: Map k v -> Bool Source #
MonoidNull (Proxy a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: Proxy a -> Bool Source #
MonoidNull (U1 p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: U1 p -> Bool Source #
(Semigroup a, Semigroup b, MonoidNull a, MonoidNull b) => MonoidNull (Stateful a b) Source # |
Instance details Defined in Data.Monoid.Instances.Stateful Methods null :: Stateful a b -> Bool Source #
(MonoidNull a, MonoidNull b) => MonoidNull (a, b) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: (a, b) -> Bool Source #
MonoidNull a => MonoidNull (Const a b) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: Const a b -> Bool Source #
MonoidNull (f p) => MonoidNull (Rec1 f p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: Rec1 f p -> Bool Source #
(MonoidNull a, MonoidNull b, MonoidNull c) => MonoidNull (a, b, c) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: (a, b, c) -> Bool Source #
(MonoidNull (f a), MonoidNull (g a)) => MonoidNull (Product f g a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: Product f g a -> Bool Source #
(MonoidNull (f p), MonoidNull (g p)) => MonoidNull ((f :*: g) p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: (f :*: g) p -> Bool Source #
MonoidNull c => MonoidNull (K1 i c p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: K1 i c p -> Bool Source #
(MonoidNull a, MonoidNull b, MonoidNull c, MonoidNull d) => MonoidNull (a, b, c, d) Source # |
Instance details Defined in Data.Monoid.Null Methods null :: (a, b, c, d) -> Bool Source #
MonoidNull (f (g a)) => MonoidNull (Compose f g a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: Compose f g a -> Bool Source #
MonoidNull (f (g p)) => MonoidNull ((f :.: g) p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: (f :.: g) p -> Bool Source #
MonoidNull (f p) => MonoidNull (M1 i c f p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: M1 i c f p -> Bool Source #
(MonoidNull a, MonoidNull b, MonoidNull c, MonoidNull d, MonoidNull e) => MonoidNull (a, b, c, d, e) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null Methods null :: (a, b, c, d, e) -> Bool Source #

class MonoidNull m => PositiveMonoid m Source #

Subclass of `Monoid` for types whose values have no inverse, with the exception of `mempty`. More formally, the class instances must satisfy the following law:

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

#### Instances

Instances details

PositiveMonoid ByteString Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid ByteString Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid IntSet Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid All Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid Any Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid Ordering Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid ByteStringUTF8 Source # |
Instance details Defined in Data.Monoid.Instances.ByteString.UTF8
PositiveMonoid Text Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid Text Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid () Source # |
Instance details Defined in Data.Monoid.Null
(Ord a, Bounded a) => PositiveMonoid (Max a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
(Ord a, Bounded a) => PositiveMonoid (Min a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
PositiveMonoid a => PositiveMonoid (WrappedMonoid a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
PositiveMonoid (IntMap v) Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid (Seq a) Source # |
Instance details Defined in Data.Monoid.Null
Ord a => PositiveMonoid (Set a) Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid a => PositiveMonoid (Identity a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
PositiveMonoid (First a) Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid (Last a) Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid a => PositiveMonoid (Down a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
PositiveMonoid a => PositiveMonoid (Dual a) Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid (Product Natural) Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid (Sum Natural) Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid p => PositiveMonoid (Par1 p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
PositiveMonoid a => PositiveMonoid (Concat a) Source # |
Instance details Defined in Data.Monoid.Instances.Concat
(StableFactorial a, Monoid a) => PositiveMonoid (Measured a) Source # |
Instance details Defined in Data.Monoid.Instances.Measured
(StableFactorial m, TextualMonoid m) => PositiveMonoid (LinePositioned m) Source # |
Instance details Defined in Data.Monoid.Instances.Positioned
(StableFactorial m, FactorialMonoid m) => PositiveMonoid (OffsetPositioned m) Source # |
Instance details Defined in Data.Monoid.Instances.Positioned
(PositiveMonoid m, StableFactorial m) => PositiveMonoid (Shadowed m) Source # |
Instance details Defined in Data.Monoid.Instances.PrefixMemory
PositiveMonoid (Vector a) Source # |
Instance details Defined in Data.Monoid.Null
Monoid a => PositiveMonoid (Maybe a) Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid [x] Source # |
Instance details Defined in Data.Monoid.Null
Ord k => PositiveMonoid (Map k v) Source # |
Instance details Defined in Data.Monoid.Null
PositiveMonoid (Proxy a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
PositiveMonoid (U1 p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
(Semigroup a, Semigroup b, PositiveMonoid a, PositiveMonoid b) => PositiveMonoid (Stateful a b) Source # |
Instance details Defined in Data.Monoid.Instances.Stateful
PositiveMonoid r => PositiveMonoid (Const r a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
PositiveMonoid (f p) => PositiveMonoid (Rec1 f p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
PositiveMonoid c => PositiveMonoid (K1 i c p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
PositiveMonoid (f (g a)) => PositiveMonoid (Compose f g a) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
PositiveMonoid (f (g p)) => PositiveMonoid ((f :.: g) p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null
PositiveMonoid (f p) => PositiveMonoid (M1 i c f p) Source # | Since: 1.2.5.0
Instance details Defined in Data.Monoid.Null