Copyright | (C) 2014-2015 Edward Kmett Eric Mertens |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell98 |
This module provides generic deriving tools for monoids and semigroups for product-like structures.
- class GSemigroup f
- gmappend :: (Generic a, GSemigroup (Rep a)) => a -> a -> a
- class GSemigroup f => GMonoid f
- gmempty :: (Generic a, GMonoid (Rep a)) => a
Documentation
class GSemigroup f Source #
gmappend'
GSemigroup (V1 *) Source # | |
GSemigroup (U1 *) Source # | |
Semigroup a => GSemigroup (K1 * i a) Source # | |
(GSemigroup f, GSemigroup g) => GSemigroup ((:*:) * f g) Source # | |
GSemigroup f => GSemigroup (M1 * i c f) Source # | |
class GSemigroup f => GMonoid f Source #
gmempty'