monoid-subclasses-0.4.4: Subclasses of Monoid

Safe HaskellTrustworthy
LanguageHaskell2010

Data.Monoid.Null

Description

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

Synopsis

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

null

Methods

null :: m -> Bool Source #

Instances

MonoidNull Ordering Source # 

Methods

null :: Ordering -> Bool Source #

MonoidNull () Source # 

Methods

null :: () -> Bool Source #

MonoidNull All Source # 

Methods

null :: All -> Bool Source #

MonoidNull Any Source # 

Methods

null :: Any -> Bool Source #

MonoidNull ByteString Source # 

Methods

null :: ByteString -> Bool Source #

MonoidNull ByteString Source # 

Methods

null :: ByteString -> Bool Source #

MonoidNull IntSet Source # 

Methods

null :: IntSet -> Bool Source #

MonoidNull Text Source # 

Methods

null :: Text -> Bool Source #

MonoidNull Text Source # 

Methods

null :: Text -> Bool Source #

MonoidNull ByteStringUTF8 Source # 
MonoidNull [x] Source # 

Methods

null :: [x] -> Bool Source #

Monoid a => MonoidNull (Maybe a) Source # 

Methods

null :: Maybe a -> Bool Source #

MonoidNull a => MonoidNull (Dual a) Source # 

Methods

null :: Dual a -> Bool Source #

(Num a, Eq a) => MonoidNull (Sum a) Source # 

Methods

null :: Sum a -> Bool Source #

(Num a, Eq a) => MonoidNull (Product a) Source # 

Methods

null :: Product a -> Bool Source #

MonoidNull (First a) Source # 

Methods

null :: First a -> Bool Source #

MonoidNull (Last a) Source # 

Methods

null :: Last a -> Bool Source #

MonoidNull (IntMap v) Source # 

Methods

null :: IntMap v -> Bool Source #

MonoidNull (Seq a) Source # 

Methods

null :: Seq a -> Bool Source #

Ord a => MonoidNull (Set a) Source # 

Methods

null :: Set a -> Bool Source #

MonoidNull (Vector a) Source # 

Methods

null :: Vector a -> Bool Source #

PositiveMonoid a => MonoidNull (Concat a) Source # 

Methods

null :: Concat a -> Bool Source #

StableFactorialMonoid a => MonoidNull (Measured a) Source # 

Methods

null :: Measured a -> Bool Source #

(StableFactorialMonoid m, TextualMonoid m, MonoidNull m) => MonoidNull (LinePositioned m) Source # 
(StableFactorialMonoid m, MonoidNull m) => MonoidNull (OffsetPositioned m) Source # 
(MonoidNull a, MonoidNull b) => MonoidNull (a, b) Source # 

Methods

null :: (a, b) -> Bool Source #

Ord k => MonoidNull (Map k v) Source # 

Methods

null :: Map k v -> Bool Source #

(MonoidNull a, MonoidNull b) => MonoidNull (Stateful a b) Source # 

Methods

null :: Stateful a b -> Bool Source #

(MonoidNull a, MonoidNull b, MonoidNull c) => MonoidNull (a, b, c) Source # 

Methods

null :: (a, b, c) -> Bool Source #

(MonoidNull a, MonoidNull b, MonoidNull c, MonoidNull d) => MonoidNull (a, b, c, d) Source # 

Methods

null :: (a, b, c, d) -> Bool Source #