HORIZON HASKELLDocslts/ghc-10.0.xfc4e5982026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11

Modulesemigroups-0.20.1Haskell98

Data.Semigroup.Generic

This module provides generic deriving tools for monoids and semigroups for product-like structures.

  • 1 type
  • 2 classes
  • 2 values

Generic method implementations

2 declarations

Adapter newtype

1 declaration
newtypenewtype GenericSemigroupMonoid a
#

An adapter newtype, suitable for DerivingVia. Its Semigroup and Monoid instances leverage the Generic-based defaults defined by gmappend and gmempty. Here is an example of how to use it:

{-# LANGUAGE DerivingVia #-}
import Data.Semigroup.Generic

data Pair a = MkPair a a
  deriving (Semigroup, Monoid) via (GenericSemigroupMonoid (Pair a))
Instances2Semigroup, Monoid

Internal classes

2 declarations