quantification-0.3: Rage against the quantification

Safe HaskellSafe
LanguageHaskell2010

Data.Monoid.Lifted

Synopsis

Documentation

class Semigroup1 f where Source #

Laws for this typeclass:

  • liftAppend f a (liftAppend f b c) = liftAppend f (liftAppend f a b) c

Minimal complete definition

liftAppend

Methods

liftAppend :: (a -> a -> a) -> f a -> f a -> f a Source #

Instances

Semigroup1 [] Source # 

Methods

liftAppend :: (a -> a -> a) -> [a] -> [a] -> [a] Source #

Semigroup1 Maybe Source # 

Methods

liftAppend :: (a -> a -> a) -> Maybe a -> Maybe a -> Maybe a Source #

Semigroup1 IO Source # 

Methods

liftAppend :: (a -> a -> a) -> IO a -> IO a -> IO a Source #

Semigroup1 Identity Source # 

Methods

liftAppend :: (a -> a -> a) -> Identity a -> Identity a -> Identity a Source #

Semigroup1 Dual Source # 

Methods

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

Semigroup1 ((->) a) Source # 

Methods

liftAppend :: (a -> a -> a) -> (a -> a) -> (a -> a) -> a -> a Source #

Semigroup a => Semigroup1 ((,) a) Source # 

Methods

liftAppend :: (a -> a -> a) -> (a, a) -> (a, a) -> (a, a) Source #

(Hashable k, Eq k) => Semigroup1 (HashMap k) Source #

Disagrees with Semigroup instance for HashMap

Methods

liftAppend :: (a -> a -> a) -> HashMap k a -> HashMap k a -> HashMap k a Source #

Ord k => Semigroup1 (Map k) Source #

Disagrees with Semigroup instance for Map

Methods

liftAppend :: (a -> a -> a) -> Map k a -> Map k a -> Map k a Source #

Semigroup1 (Proxy *) Source # 

Methods

liftAppend :: (a -> a -> a) -> Proxy * a -> Proxy * a -> Proxy * a Source #

(Semigroup1 f, Semigroup1 g) => Semigroup1 (Product * f g) Source # 

Methods

liftAppend :: (a -> a -> a) -> Product * f g a -> Product * f g a -> Product * f g a Source #

(Semigroup1 f, Semigroup1 g) => Semigroup1 (Compose * * f g) Source # 

Methods

liftAppend :: (a -> a -> a) -> Compose * * f g a -> Compose * * f g a -> Compose * * f g a Source #

class Semigroup1 f => Monoid1 f where Source #

Laws for this typeclass:

  • liftAppend f a (liftEmpty mempty) = a

Minimal complete definition

liftEmpty

Methods

liftEmpty :: a -> f a Source #

Instances

Monoid1 [] Source # 

Methods

liftEmpty :: a -> [a] Source #

Monoid1 IO Source # 

Methods

liftEmpty :: a -> IO a Source #

Monoid1 Identity Source # 

Methods

liftEmpty :: a -> Identity a Source #

Monoid1 Dual Source # 

Methods

liftEmpty :: a -> Dual a Source #

Monoid1 ((->) a) Source # 

Methods

liftEmpty :: a -> a -> a Source #

(Semigroup a, Monoid a) => Monoid1 ((,) a) Source # 

Methods

liftEmpty :: a -> (a, a) Source #

(Hashable k, Eq k) => Monoid1 (HashMap k) Source # 

Methods

liftEmpty :: a -> HashMap k a Source #

Monoid1 (Proxy *) Source # 

Methods

liftEmpty :: a -> Proxy * a Source #

(Monoid1 f, Monoid1 g) => Monoid1 (Product * f g) Source # 

Methods

liftEmpty :: a -> Product * f g a Source #

(Monoid1 f, Monoid1 g) => Monoid1 (Compose * * f g) Source # 

Methods

liftEmpty :: a -> Compose * * f g a Source #

append1 :: (Semigroup1 f, Semigroup a) => f a -> f a -> f a Source #

empty1 :: (Monoid1 f, Monoid a) => f a Source #