| 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 Source
Minimal complete definition
gmappend'
Instances
| 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 |
gmappend :: (Generic a, GSemigroup (Rep a)) => a -> a -> a Source
class GSemigroup f => GMonoid f Source
Minimal complete definition
gmempty'