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

GHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 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