Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- class Semigroup1 f where
- class Semigroup1 f => Monoid1 f where
- append1 :: (Semigroup1 f, Semigroup a) => f a -> f a -> f a
- empty1 :: (Monoid1 f, Monoid a) => f a
Documentation
class Semigroup1 f where Source #
Laws for this typeclass:
liftAppend f a (liftAppend f b c) = liftAppend f (liftAppend f a b) c
liftAppend :: (a -> a -> a) -> f a -> f a -> f a Source #
Semigroup1 [] Source # | |
Semigroup1 Maybe Source # | |
Semigroup1 IO Source # | |
Semigroup1 Identity Source # | |
Semigroup1 Dual Source # | |
Semigroup1 ((->) a) Source # | |
Semigroup a => Semigroup1 ((,) a) Source # | |
(Hashable k, Eq k) => Semigroup1 (HashMap k) Source # | |
Ord k => Semigroup1 (Map k) Source # | |
Semigroup1 (Proxy *) Source # | |
(Semigroup1 f, Semigroup1 g) => Semigroup1 (Product * f g) Source # | |
(Semigroup1 f, Semigroup1 g) => Semigroup1 (Compose * * f g) Source # | |
class Semigroup1 f => Monoid1 f where Source #
Laws for this typeclass:
liftAppend f a (liftEmpty mempty) = a
Monoid1 [] Source # | |
Monoid1 IO Source # | |
Monoid1 Identity Source # | |
Monoid1 Dual Source # | |
Monoid1 ((->) a) Source # | |
(Semigroup a, Monoid a) => Monoid1 ((,) a) Source # | |
(Hashable k, Eq k) => Monoid1 (HashMap k) Source # | |
Monoid1 (Proxy *) Source # | |
(Monoid1 f, Monoid1 g) => Monoid1 (Product * f g) Source # | |
(Monoid1 f, Monoid1 g) => Monoid1 (Compose * * f g) Source # | |
append1 :: (Semigroup1 f, Semigroup a) => f a -> f a -> f a Source #