| 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 | 
Data.Semigroup.Generic
Description
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
Minimal complete definition
gmappend'
Instances
| GSemigroup V1 | |
| GSemigroup U1 | |
| Semigroup a => GSemigroup (K1 i a) | |
| (GSemigroup f, GSemigroup g) => GSemigroup ((:*:) f g) | |
| GSemigroup f => GSemigroup (M1 i c f) | 
gmappend :: (Generic a, GSemigroup (Rep a)) => a -> a -> a
class GSemigroup f => GMonoid f
Minimal complete definition
gmempty'